From eb45f26f8a8c4f7d3f819e3ef4d3b6f4507db6a2 Mon Sep 17 00:00:00 2001 From: dhoko Date: Tue, 19 Mar 2019 16:20:36 +0100 Subject: [PATCH 1/8] Fix missing exports --- index.js | 255 +++++++++++++++++++++++++++++++++++++-------------- package.json | 1 + 2 files changed, 185 insertions(+), 71 deletions(-) diff --git a/index.js b/index.js index cd3ccd12e..4ef974860 100644 --- a/index.js +++ b/index.js @@ -1,90 +1,203 @@ -export { default as AddressesSection } from './containers/addresses/AddressesSection'; -export { default as AddressVerificationSection } from './containers/security/AddressVerificationSection'; +export { default as Table } from './components/table/Table'; +export { default as TableRowBusy } from './components/table/TableRowBusy'; +export { default as TableBody } from './components/table/TableBody'; +export { default as TableRow } from './components/table/TableRow'; +export { default as TableHeader } from './components/table/TableHeader'; +export { default as TableCell } from './components/table/TableCell'; +export { default as TableFooter } from './components/table/TableFooter'; +export { default as TableCellBusy } from './components/table/TableCellBusy'; +export { default as Select } from './components/select/Select'; +export { default as Breadcrumb } from './components/breadcrumb/Breadcrumb'; export { default as Alert } from './components/alert/Alert'; -export { default as AskPasswordModal } from './containers/password/AskPasswordModal'; +export { default as Icon } from './components/icon/Icon'; +export { default as Icons } from './components/icon/Icons'; +export { default as useToggle } from './components/toggle/useToggle'; +export { default as Toggle } from './components/toggle/Toggle'; export { default as Badge } from './components/badge/Badge'; -export { default as Block } from './components/container/Block'; export { default as Bordered } from './components/container/Bordered'; -export { default as Breadcrumb } from './components/breadcrumb/Breadcrumb'; +export { default as Block } from './components/container/Block'; +export { default as Row } from './components/container/Row'; +export { default as Information } from './components/container/Information'; +export { default as Tooltip } from './components/tooltip/Tooltip'; +export { default as PrimaryButton } from './components/button/PrimaryButton'; +export { default as SmallButton } from './components/button/SmallButton'; +export { default as Copy } from './components/button/Copy'; +export { default as ResetButton } from './components/button/ResetButton'; export { default as Button } from './components/button/Button'; +export { default as LargeButton } from './components/button/LargeButton'; +export { default as LinkButton } from './components/button/LinkButton'; export { default as ButtonGroup } from './components/button/ButtonGroup'; -export { default as Checkbox } from './components/input/Checkbox'; -export { default as ConfirmModal } from './components/modal/Confirm'; -export { default as ContentModal } from './components/modal/Content'; -export { default as Copy } from './components/button/Copy'; -export { default as DomainsSection } from './containers/domains/DomainsSection'; -export { default as Dropdown } from './components/dropdown/Dropdown'; -export { default as DropdownMenu } from './components/dropdown/DropdownMenu'; -export { default as EditCardModal } from './containers/payments/EditCardModal'; -export { default as ExternalPGPSettingsSection } from './containers/security/ExternalPGPSettingsSection'; -export { default as FooterModal } from './components/modal/Footer'; export { default as Group } from './components/button/Group'; -export { default as HeaderModal } from './components/modal/Header'; -export { default as Href } from './components/link/Href'; -export { default as Icon } from './components/icon/Icon'; -export { default as Icons } from './components/icon/Icons'; export { default as Info } from './components/link/Info'; -export { default as Input } from './components/input/Input'; -export { default as InputModal } from './components/modal/Input'; -export { default as InvoicesSection } from './containers/invoices/InvoicesSection'; -export { default as AddressKeysSection } from './containers/keys/AddressKeysSection'; -export { default as LoginContainer } from './containers/login/LoginContainer'; -export { default as Label } from './components/label/Label'; -export { default as LargeButton } from './components/button/LargeButton'; +export { default as Href } from './components/link/Href'; export { default as LearnMore } from './components/link/LearnMore'; +export { default as Time } from './components/time/Time'; +export { default as DropdownItem } from './components/dropdown/DropdownItem'; +export { default as DropdownMenu } from './components/dropdown/DropdownMenu'; +export { default as Dropdown } from './components/dropdown/Dropdown'; +export { default as RichTextEditor } from './components/input/RichTextEditor'; +export { default as Checkbox } from './components/input/Checkbox'; +export { default as useInput } from './components/input/useInput'; +export { default as Search } from './components/input/Search'; +export { default as TextArea } from './components/input/TextArea'; +export { default as Input } from './components/input/Input'; +export { default as RadioCard } from './components/input/RadioCard'; +export { default as useDebounceInput } from './components/input/useDebounceInput'; +export { default as Password } from './components/input/Password'; +export { default as Radio } from './components/input/Radio'; +export { default as SubTitle } from './components/title/SubTitle'; +export { default as Title } from './components/title/Title'; +export { default as useLoader } from './components/loader/useLoader'; +export { default as useLoading } from './components/loader/useLoading'; export { default as Loader } from './components/loader/Loader'; -export { default as LogsSection } from './containers/logs/LogsSection'; -export { default as MembersSection } from './containers/members/MembersSection'; -export { default as Modal } from './components/modal/Modal'; -export { default as NotificationSection } from './containers/notification/NotificationSection'; -export { default as OrganizationSection } from './containers/organization/OrganizationSection'; -export { default as Pagination } from './components/pagination/Pagination'; export { default as Paragraph } from './components/paragraph/Paragraph'; -export { default as Password } from './components/input/Password'; -export { default as PaymentMethodsSection } from './containers/paymentMethods/PaymentMethodsSection'; +export { default as ModalWithPortalModal } from './components/modal/ModalWithPortal'; +export { default as ContentModal } from './components/modal/Content'; +export { default as InputModal } from './components/modal/Input'; +export { default as HeaderModal } from './components/modal/Header'; +export { default as useModal } from './components/modal/useModal'; +export { default as ConfirmModal } from './components/modal/Confirm'; +export { default as Modal } from './components/modal/Modal'; +export { default as FooterModal } from './components/modal/Footer'; export { default as Price } from './components/price/Price'; -export { default as PrimaryButton } from './components/button/PrimaryButton'; export { default as Progress } from './components/progress/Progress'; -export { default as Radio } from './components/input/Radio'; -export { default as RadioCard } from './components/input/RadioCard'; -export { default as LinkButton } from './components/button/LinkButton'; -export { default as ResetButton } from './components/button/ResetButton'; -export { default as RichTextEditor } from './components/input/RichTextEditor'; -export { default as Row } from './components/container/Row'; -export { default as Search } from './components/input/Search'; -export { default as Select } from './components/select/Select'; -export { default as SessionsSection } from './containers/sessions/SessionsSection'; -export { default as Sidebar } from './components/sidebar/Sidebar'; -export { default as SmallButton } from './components/button/SmallButton'; -export { default as SubTitle } from './components/title/SubTitle'; -export { default as Table } from './components/table/Table'; -export { default as TableBody } from './components/table/TableBody'; -export { default as TableCell } from './components/table/TableCell'; -export { default as TableCellBusy } from './components/table/TableCellBusy'; -export { default as TableFooter } from './components/table/TableFooter'; -export { default as TableHeader } from './components/table/TableHeader'; -export { default as TableRow } from './components/table/TableRow'; -export { default as TableRowBusy } from './components/table/TableRowBusy'; export { default as Text } from './components/text/Text'; -export { default as TextArea } from './components/input/TextArea'; -export { default as Time } from './components/time/Time'; -export { default as Title } from './components/title/Title'; -export { default as Toggle } from './components/toggle/Toggle'; -export { default as Tooltip } from './components/tooltip/Tooltip'; -export { default as AuthenticationStoreContext } from './context/authenticationStore'; -export { default as ApiContext } from './context/api'; +export { default as usePaginationAsync } from './components/pagination/usePaginationAsync'; +export { default as usePagination } from './components/pagination/usePagination'; +export { default as Pagination } from './components/pagination/Pagination'; +export { default as Label } from './components/label/Label'; +export { default as NavMenu } from './components/sidebar/NavMenu'; +export { default as NavItem } from './components/sidebar/NavItem'; +export { default as Sidebar } from './components/sidebar/Sidebar'; +export { default as LoginContainer } from './containers/login/LoginContainer'; +export { default as TOTPForm } from './containers/login/TOTPForm'; +export { default as useLogin } from './containers/login/useLogin'; +export { default as UnlockForm } from './containers/login/UnlockForm'; +export { default as LoginForm } from './containers/login/LoginForm'; +export { default as ThemesSection } from './containers/appearance/ThemesSection'; +export { default as ProtonMailClients } from './containers/products/ProtonMailClients'; +export { default as ProtonVPNClients } from './containers/products/ProtonVPNClients'; +export { default as DownloadsSection } from './containers/products/DownloadsSection'; +export { default as DKIMSection } from './containers/domains/DKIMSection'; +export { default as DomainStatus } from './containers/domains/DomainStatus'; +export { default as DomainsTable } from './containers/domains/DomainsTable'; +export { default as SPFSection } from './containers/domains/SPFSection'; +export { default as VerifySection } from './containers/domains/VerifySection'; +export { default as DomainActions } from './containers/domains/DomainActions'; +export { default as AddressCatchAll } from './containers/domains/AddressCatchAll'; +export { default as MXSection } from './containers/domains/MXSection'; +export { default as DMARCSection } from './containers/domains/DMARCSection'; +export { default as CatchAllModal } from './containers/domains/CatchAllModal'; +export { default as DomainName } from './containers/domains/DomainName'; +export { default as DomainModal } from './containers/domains/DomainModal'; +export { default as DomainsSection } from './containers/domains/DomainsSection'; +export { default as AddressesTable } from './containers/domains/AddressesTable'; +export { default as DomainSection } from './containers/domains/DomainSection'; +export { default as AmountButton } from './containers/payments/AmountButton'; +export { default as Bitcoin } from './containers/payments/Bitcoin'; +export { default as CurrencySelector } from './containers/payments/CurrencySelector'; +export { default as Cash } from './containers/payments/Cash'; +export { default as Card } from './containers/payments/Card'; +export { default as BitcoinQRCode } from './containers/payments/BitcoinQRCode'; +export { default as toDetails } from './containers/payments/toDetails'; +export { default as Payment } from './containers/payments/Payment'; +export { default as useCard } from './containers/payments/useCard'; +export { default as BitcoinDetails } from './containers/payments/BitcoinDetails'; +export { default as Method } from './containers/payments/Method'; +export { default as PaymentSelector } from './containers/payments/PaymentSelector'; +export { default as TopUpModal } from './containers/payments/TopUpModal'; +export { default as EditCardModal } from './containers/payments/EditCardModal'; +export { default as usePayment } from './containers/payments/usePayment'; +export { default as getDefaultCard } from './containers/payments/getDefaultCard'; +export { default as DonateModal } from './containers/payments/DonateModal'; +export { default as PayPal } from './containers/payments/PayPal'; +export { default as AskPasswordModal } from './containers/password/AskPasswordModal'; +export { default as NotificationsContainer } from './containers/notifications/Container'; export { default as NotificationsProvider } from './containers/notifications/Provider'; +export { default as SessionsSection } from './containers/sessions/SessionsSection'; +export { default as SessionAction } from './containers/sessions/SessionAction'; +export { default as PromptsContainer } from './containers/prompts/Container'; export { default as PromptsProvider } from './containers/prompts/Provider'; -export { default as useAuthenticationStore } from './hooks/useAuthenticationStore'; -export { default as useApi } from './hooks/useApi'; -export { default as useApiResult } from './hooks/useApiResult'; +export { default as DesktopNotificationPanel } from './containers/notification/DesktopNotificationPanel'; +export { default as NewsCheckboxes } from './containers/notification/NewsCheckboxes'; +export { default as RecoveryEmailButton } from './containers/notification/RecoveryEmailButton'; +export { default as PasswordResetToggle } from './containers/notification/PasswordResetToggle'; +export { default as DailyNotificationsToggle } from './containers/notification/DailyNotificationsToggle'; +export { default as NotificationSection } from './containers/notification/NotificationSection'; +export { default as KeysActions } from './containers/keys/KeysActions'; +export { default as AddressKeysTable } from './containers/keys/AddressKeysTable'; +export { default as KeysRow } from './containers/keys/KeysRow'; +export { default as ContactKeysHeader } from './containers/keys/ContactKeysHeader'; +export { default as KeysTable } from './containers/keys/KeysTable'; +export { default as KeysStatus } from './containers/keys/KeysStatus'; +export { default as AddressKeysSection } from './containers/keys/AddressKeysSection'; +export { default as AddressKeysRow } from './containers/keys/AddressKeysRow'; +export { default as AddressKeysHeader } from './containers/keys/AddressKeysHeader'; +export { default as PaymentMethodState } from './containers/paymentMethods/PaymentMethodState'; +export { default as PaymentMethodActions } from './containers/paymentMethods/PaymentMethodActions'; +export { default as PaymentMethodDetails } from './containers/paymentMethods/PaymentMethodDetails'; +export { default as PaymentMethodsTable } from './containers/paymentMethods/PaymentMethodsTable'; +export { default as PaymentMethodsSection } from './containers/paymentMethods/PaymentMethodsSection'; +export { default as usePaymentMethodsSelect } from './containers/paymentMethods/usePaymentMethodsSelect'; +export { default as PaymentMethodsSelect } from './containers/paymentMethods/PaymentMethodsSelect'; +export { default as SignToggle } from './containers/security/SignToggle'; +export { default as ExternalPGPSettingsSection } from './containers/security/ExternalPGPSettingsSection'; +export { default as AttachPublicKeyToggle } from './containers/security/AttachPublicKeyToggle'; +export { default as AddressVerificationSection } from './containers/security/AddressVerificationSection'; +export { default as PGPSchemeSelect } from './containers/security/PGPSchemeSelect'; +export { default as useAddressModal } from './containers/addresses/useAddressModal'; +export { default as AddressActions } from './containers/addresses/AddressActions'; +export { default as DomainsSelect } from './containers/addresses/DomainsSelect'; +export { default as AddressesToolbar } from './containers/addresses/AddressesToolbar'; +export { default as EditAddressModal } from './containers/addresses/EditAddressModal'; +export { default as AddressModal } from './containers/addresses/AddressModal'; +export { default as AddressesSection } from './containers/addresses/AddressesSection'; +export { default as WipeLogsButton } from './containers/logs/WipeLogsButton'; +export { default as LogsSection } from './containers/logs/LogsSection'; +export { default as LogsTable } from './containers/logs/LogsTable'; +export { default as PayInvoiceModal } from './containers/invoices/PayInvoiceModal'; +export { default as InvoiceState } from './containers/invoices/InvoiceState'; +export { default as InvoiceType } from './containers/invoices/InvoiceType'; +export { default as DownloadInvoiceButton } from './containers/invoices/DownloadInvoiceButton'; +export { default as InvoiceAmount } from './containers/invoices/InvoiceAmount'; +export { default as InvoiceTextModal } from './containers/invoices/InvoiceTextModal'; +export { default as InvoicesSection } from './containers/invoices/InvoicesSection'; +export { default as InvoiceActions } from './containers/invoices/InvoiceActions'; +export { default as PayButton } from './containers/invoices/PayButton'; +export { default as AddMemberButton } from './containers/members/AddMemberButton'; +export { default as MembersSection } from './containers/members/MembersSection'; +export { default as MemberPrivate } from './containers/members/MemberPrivate'; +export { default as EditMemberModal } from './containers/members/EditMemberModal'; +export { default as useMemberModal } from './containers/members/useMemberModal'; +export { default as MemberRole } from './containers/members/MemberRole'; +export { default as MemberStorageSelector } from './containers/members/MemberStorageSelector'; +export { default as MemberOptions } from './containers/members/MemberOptions'; +export { default as MemberActions } from './containers/members/MemberActions'; +export { default as MemberVPNSelector } from './containers/members/MemberVPNSelector'; +export { default as MemberModal } from './containers/members/MemberModal'; +export { default as MemberAddresses } from './containers/members/MemberAddresses'; +export { default as DraftTypeSelect } from './containers/layouts/DraftTypeSelect'; +export { default as TextDirectionSelect } from './containers/layouts/TextDirectionSelect'; +export { default as ShowMovedSelect } from './containers/layouts/ShowMovedSelect'; +export { default as ViewModeRadios } from './containers/layouts/ViewModeRadios'; +export { default as LayoutsSection } from './containers/layouts/LayoutsSection'; +export { default as ViewLayoutRadios } from './containers/layouts/ViewLayoutRadios'; +export { default as ComposerModeRadios } from './containers/layouts/ComposerModeRadios'; +export { default as OrganizationSection } from './containers/organization/OrganizationSection'; +export { default as RemoteToggle } from './containers/messages/RemoteToggle'; +export { default as EmbeddedToggle } from './containers/messages/EmbeddedToggle'; +export { default as MessageContentSection } from './containers/messages/MessageContentSection'; +export { default as NotificationsContext } from './context/notifications'; +export { default as AuthenticationStoreContext } from './context/authenticationStore'; +export { default as ApiContext } from './context/api'; +export { default as PromptsContext } from './context/prompts'; +export { default as useStep } from './helpers/useStep'; export { default as useApiWithoutResult } from './hooks/useApiWithoutResult'; export { default as useEventManager } from './hooks/useEventManager'; export { default as useNotifications } from './hooks/useNotifications'; -export { default as useLoader } from './components/loader/useLoader'; -export { default as useLoading } from './components/loader/useLoading'; -export { default as useModal } from './components/modal/useModal'; export { default as usePrompts } from './hooks/usePrompts'; -export { default as usePagination } from './components/pagination/usePagination'; -export { default as usePaginationAsync } from './components/pagination/usePaginationAsync'; -export { default as useStep } from './helpers/useStep'; +export { default as useIsMounted } from './hooks/useIsMounted'; +export { default as useApi } from './hooks/useApi'; +export { default as useApiResult } from './hooks/useApiResult'; +export { default as useAuthenticationStore } from './hooks/useAuthenticationStore'; +export { default as useAsync } from './hooks/useAsync'; diff --git a/package.json b/package.json index aa51d4954..3b1cc44d3 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "eslint-plugin-import": "^2.16.0", "eslint-plugin-react": "^7.12.4", "eslint-plugin-react-hooks": "^1.3.0", + "execa": "^1.0.0", "husky": "^1.3.1", "lint-staged": "^8.1.4", "mocha": "^5.2.0", From fa4351ade1b8592459bd5082bb2f95d99638df12 Mon Sep 17 00:00:00 2001 From: dhoko Date: Tue, 19 Mar 2019 16:39:50 +0100 Subject: [PATCH 2/8] Add command to make export --- makeExport | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 89 insertions(+) create mode 100755 makeExport diff --git a/makeExport b/makeExport new file mode 100755 index 000000000..5871bfbcc --- /dev/null +++ b/makeExport @@ -0,0 +1,88 @@ +#!/usr/bin/env node + +const fs = require('fs'); +const path = require('path'); +const execa = require('execa'); +const bash = (cli) => execa.shell(cli, { shell: '/bin/bash' }); + +const ucFirst = (input) => { + return input.charAt(0).toUpperCase() + input.slice(1); +}; + +const NO_EXPORT_FILES = [ + 'manager', 'index', 'reducer', 'actions', + 'AddressStatus', 'countries', 'cardValidator' +]; + +async function main() { + const { stdout } = await bash("find {components,containers,context,helpers,hooks} -type f -name '*.js'"); + + const getExport = ({ fileName, dir, filePath }) => { + if (/context$/.test(dir)) { + return `${ucFirst(fileName)}Context`; + } + + // Do not change the userX or Main module + if (/modal$/.test(dir) && !fileName.startsWith('use') && fileName !== 'Modal') { + return `${ucFirst(fileName)}Modal`; + } + + if (fileName === 'Provider' || fileName === 'Container') { + console.log(`⚠ Broken name for ${filePath} you need to change it`); + const type = path.basename(dir); + return `${ucFirst(type)}${fileName}`; + } + return fileName; + }; + + const getConfig = (file) => { + const fileName = path.basename(file, '.js'); + const dir = path.dirname(file); + const filePath = path.join(dir, fileName); + return { fileName, filePath, dir }; + }; + + const isExportable = ({ fileName, filePath, dir }) => { + + if (fileName === 'AddressesSection') { + const type = path.basename(dir); + const test = type !== 'addresses'; + + if (test) { + console.log(`⚠ Broken name for ${filePath} you need to change it`); + return false; + } + } + + // export only useX + if (/helpers$/.test(dir)) { + return fileName.startsWith('use'); + } + + const isExportable = !NO_EXPORT_FILES.includes(fileName); + + // Do not export Models are they are private or tests + return isExportable && !/(\.test|Model)$/.test(fileName) + }; + + const makeExport = (config) => { + return `export { default as ${getExport(config)} } from './${config.filePath}';`; + }; + + const content = stdout + .split('\n') + .reduce((acc, file) => { + const config = getConfig(file); + + if (isExportable(config)) { + acc.push(makeExport(config)); + } + return acc; + }, []) + .join('\n'); + + fs.writeFileSync('index.js', content); + console.log('✓ Export all the things.') +} + +main(); diff --git a/package.json b/package.json index 3b1cc44d3..436acdc36 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "main": "index.js", "scripts": { "test": "mocha -r esm 'test/**/*.spec.js'", + "export": "./makeExport", "lint": "eslint containers components --ext .js --quiet --cache", "pretty": "prettier --write $(find lib -type f -name '*.js')" }, From ba239c2772195c3a813568ea5efa5a1a72b75de9 Mon Sep 17 00:00:00 2001 From: dhoko Date: Tue, 19 Mar 2019 18:35:39 +0100 Subject: [PATCH 3/8] Name exports - 1 --- .../Alert.js => Components/alert/index.js | 0 .../Badge.js => Components/badge/index.js | 2 +- .../breadcrumb/index.js | 0 .../Copy.js => Components/button/copy.js | 0 .../button/group.js | 8 +- .../Button.js => Components/button/index.js | 0 .../button/large.js | 8 +- .../button/link.js | 0 .../button/primary.js | 8 +- .../button/reset.js | 8 +- .../button/small.js | 8 +- {components => Components}/container/Block.js | 2 +- .../container/Bordered.js | 2 +- .../button => Components/container}/Group.js | 2 +- .../icon => Components/container}/Icons.js | 0 .../container/Information.js | 0 {components => Components}/container/Row.js | 8 +- .../dropdown/Dropdown.test.js | 9 +- .../dropdown/index.js | 0 .../dropdown/item.js | 0 .../dropdown/menu.js | 4 +- .../icon/Icon.js => Components/icon/index.js | 0 {components => Components}/input/Checkbox.js | 0 {components => Components}/input/Password.js | 6 +- {components => Components}/input/Radio.js | 0 {components => Components}/input/RadioCard.js | 0 .../input/RichTextEditor.js | 0 {components => Components}/input/Search.js | 0 {components => Components}/input/TextArea.js | 4 +- .../Input.js => Components/input/index.js | 0 .../input/useDebounceInput.js | 0 {components => Components}/input/useInput.js | 0 .../Label.js => Components/label/index.js | 8 +- {components => Components}/link/Info.js | 0 {components => Components}/link/LearnMore.js | 0 .../link/Href.js => Components/link/index.js | 8 +- .../Loader.js => Components/loader/index.js | 2 +- .../loader/useLoader.js | 0 .../loader/useLoading.js | 2 +- {components => Components}/modal/Confirm.js | 0 {components => Components}/modal/Content.js | 0 {components => Components}/modal/Footer.js | 0 {components => Components}/modal/Header.js | 12 +- {components => Components}/modal/Input.js | 0 .../modal/ModalWithPortal.js | 6 +- .../Modal.js => Components/modal/index.js | 0 {components => Components}/modal/useModal.js | 2 +- .../pagination/index.js | 0 .../pagination/usePagination.js | 2 +- .../pagination/usePaginationAsync.js | 2 +- .../paragraph/index.js | 0 .../Price.js => Components/price/index.js | 0 .../progress/index.js | 8 +- .../Select.js => Components/select/index.js | 0 {components => Components}/sidebar/NavItem.js | 0 {components => Components}/sidebar/NavMenu.js | 6 +- .../Sidebar.js => Components/sidebar/index.js | 2 +- .../TableBody.js => Components/table/body.js | 0 .../TableCell.js => Components/table/cell.js | 13 +- .../table/cellBusy.js | 2 +- .../table/footer.js | 6 +- .../table/header.js | 8 +- .../Table.js => Components/table/index.js | 6 +- .../TableRow.js => Components/table/row.js | 6 +- .../table/rowBusy.js | 0 .../text/Text.js => Components/text/index.js | 2 +- .../time/Time.js => Components/time/index.js | 2 +- {components => Components}/title/SubTitle.js | 2 +- .../Title.js => Components/title/index.js | 2 +- .../Toggle.js => Components/toggle/index.js | 0 .../toggle/useToggle.js | 0 .../Tooltip.js => Components/tooltip/index.js | 0 .../addresses/actions.js | 2 +- .../addresses/domainsSelect.js | 0 .../addresses/modal/edit.js | 0 .../addresses/modal/index.js | 4 +- .../addresses/modal/use.js | 0 .../addresses/section.js | 6 +- .../addresses/status.js | 0 .../addresses/toolbar.js | 2 +- .../appearance/ThemesSection.js | 0 .../domain}/DKIMSection.js | 0 .../domain}/DMARCSection.js | 0 .../domain}/MXSection.js | 0 .../domain}/SPFSection.js | 0 .../domain/actions.js | 0 .../domain/modal/catchAll.js | 0 .../domain/modal/index.js | 0 .../domain/name.js | 0 .../domain/section.js | 0 .../domain/status.js | 0 .../domain/verifySection.js | 0 .../domains/AddressCatchAll.js | 0 .../domains/AddressStatus.js | 0 .../domains/AddressesSection.js | 0 .../domains/AddressesTable.js | 0 .../domains/section.js | 0 .../domains/table.js | 0 .../invoices/actions.js | 0 .../invoices/amount.js | 0 .../invoices/downloadButton.js | 0 .../invoices/modal/pay.js | 0 .../invoices/modal/text.js | 0 .../invoices/payButton.js | 0 .../invoices/section.js | 0 .../invoices/state.js | 0 .../invoices/type.js | 2 +- .../keys/AddressKeysHeader.js | 0 .../keys/AddressKeysRow.js | 0 .../keys/AddressKeysSection.js | 0 .../keys/AddressKeysSectionModel.js | 0 .../keys/AddressKeysTable.js | 0 .../keys/ContactKeysHeader.js | 0 .../keys/KeysActions.js | 0 {containers => Containers}/keys/KeysRow.js | 0 {containers => Containers}/keys/KeysStatus.js | 0 {containers => Containers}/keys/KeysTable.js | 0 .../layouts/ComposerModeRadios.js | 0 .../layouts/DraftTypeSelect.js | 0 .../layouts/LayoutsSection.js | 0 .../layouts/ShowMovedSelect.js | 0 .../layouts/TextDirectionSelect.js | 0 .../layouts/ViewLayoutRadios.js | 0 .../layouts/ViewModeRadios.js | 0 .../login/LoginContainer.js | 0 {containers => Containers}/login/LoginForm.js | 0 {containers => Containers}/login/TOTPForm.js | 0 .../login/UnlockForm.js | 0 {containers => Containers}/login/useLogin.js | 0 .../logs/LogsSection.js | 0 {containers => Containers}/logs/LogsTable.js | 0 .../logs/WipeLogsButton.js | 0 .../members/AddMemberButton.js | 0 .../members/EditMemberModal.js | 0 .../members/MemberActions.js | 0 .../members/MemberAddresses.js | 0 .../members/MemberModal.js | 0 .../members/MemberOptions.js | 0 .../members/MemberPrivate.js | 0 .../members/MemberRole.js | 0 .../members/MemberStorageSelector.js | 0 .../members/MemberVPNSelector.js | 0 .../members/MembersSection.js | 0 .../members/useMemberModal.js | 0 .../messages/EmbeddedToggle.js | 0 .../messages/MessageContentSection.js | 0 .../messages/RemoteToggle.js | 0 .../notification/DailyNotificationsToggle.js | 0 .../notification/DesktopNotificationPanel.js | 0 .../notification/NewsCheckboxes.js | 0 .../notification/NotificationSection.js | 0 .../notification/PasswordResetToggle.js | 0 .../notification/RecoveryEmailButton.js | 0 .../notifications/Container.js | 0 .../notifications/Provider.js | 0 .../notifications/actions.js | 0 .../notifications/manager.js | 0 .../notifications/reducer.js | 0 .../organization/OrganizationSection.js | 0 .../password/AskPasswordModal.js | 0 .../paymentMethods/PaymentMethodActions.js | 0 .../paymentMethods/PaymentMethodDetails.js | 0 .../paymentMethods/PaymentMethodState.js | 0 .../paymentMethods/PaymentMethodsSection.js | 0 .../paymentMethods/PaymentMethodsSelect.js | 0 .../paymentMethods/PaymentMethodsTable.js | 0 .../paymentMethods/usePaymentMethodsSelect.js | 0 .../payments/AmountButton.js | 0 .../payments/Bitcoin.js | 0 .../payments/BitcoinDetails.js | 0 .../payments/BitcoinQRCode.js | 0 {containers => Containers}/payments/Card.js | 0 {containers => Containers}/payments/Cash.js | 0 .../payments/CurrencySelector.js | 0 .../payments/DonateModal.js | 0 .../payments/EditCardModal.js | 0 {containers => Containers}/payments/Method.js | 0 {containers => Containers}/payments/PayPal.js | 0 .../payments/Payment.js | 0 .../payments/PaymentSelector.js | 0 .../payments/TopUpModal.js | 0 .../payments/cardValidator.js | 2 +- .../payments/getDefaultCard.js | 2 +- .../payments/toDetails.js | 12 +- .../payments/useCard.js | 2 +- .../payments/usePayment.js | 0 .../products/DownloadsSection.js | 0 .../products/ProtonMailClients.js | 0 .../products/ProtonVPNClients.js | 0 .../prompts/Container.js | 0 .../prompts/Provider.js | 0 {containers => Containers}/prompts/actions.js | 0 {containers => Containers}/prompts/manager.js | 0 {containers => Containers}/prompts/reducer.js | 0 .../security/AddressVerificationSection.js | 0 .../security/AttachPublicKeyToggle.js | 0 .../security/ExternalPGPSettingsSection.js | 0 .../security/PGPSchemeSelect.js | 0 .../security/SignToggle.js | 0 .../sessions/SessionAction.js | 2 +- .../sessions/SessionsSection.js | 0 README.md | 69 ++++ components/button/index.js | 9 - components/dropdown/index.js | 2 - components/modal/index.js | 6 - components/table/index.js | 7 - index.js | 384 +++++++++--------- makeExport | 77 +++- 208 files changed, 465 insertions(+), 313 deletions(-) rename components/alert/Alert.js => Components/alert/index.js (100%) rename components/badge/Badge.js => Components/badge/index.js (95%) rename components/breadcrumb/Breadcrumb.js => Components/breadcrumb/index.js (100%) rename components/button/Copy.js => Components/button/copy.js (100%) rename components/button/ButtonGroup.js => Components/button/group.js (54%) rename components/button/Button.js => Components/button/index.js (100%) rename components/button/LargeButton.js => Components/button/large.js (66%) rename components/button/LinkButton.js => Components/button/link.js (100%) rename components/button/PrimaryButton.js => Components/button/primary.js (63%) rename components/button/ResetButton.js => Components/button/reset.js (52%) rename components/button/SmallButton.js => Components/button/small.js (66%) rename {components => Components}/container/Block.js (93%) rename {components => Components}/container/Bordered.js (93%) rename {components/button => Components/container}/Group.js (91%) rename {components/icon => Components/container}/Icons.js (100%) rename {components => Components}/container/Information.js (100%) rename {components => Components}/container/Row.js (59%) rename {components => Components}/dropdown/Dropdown.test.js (88%) rename components/dropdown/Dropdown.js => Components/dropdown/index.js (100%) rename components/dropdown/DropdownItem.js => Components/dropdown/item.js (100%) rename components/dropdown/DropdownMenu.js => Components/dropdown/menu.js (73%) rename components/icon/Icon.js => Components/icon/index.js (100%) rename {components => Components}/input/Checkbox.js (100%) rename {components => Components}/input/Password.js (72%) rename {components => Components}/input/Radio.js (100%) rename {components => Components}/input/RadioCard.js (100%) rename {components => Components}/input/RichTextEditor.js (100%) rename {components => Components}/input/Search.js (100%) rename {components => Components}/input/TextArea.js (97%) rename components/input/Input.js => Components/input/index.js (100%) rename {components => Components}/input/useDebounceInput.js (100%) rename {components => Components}/input/useInput.js (100%) rename components/label/Label.js => Components/label/index.js (64%) rename {components => Components}/link/Info.js (100%) rename {components => Components}/link/LearnMore.js (100%) rename components/link/Href.js => Components/link/index.js (62%) rename components/loader/Loader.js => Components/loader/index.js (89%) rename {components => Components}/loader/useLoader.js (100%) rename {components => Components}/loader/useLoading.js (91%) rename {components => Components}/modal/Confirm.js (100%) rename {components => Components}/modal/Content.js (100%) rename {components => Components}/modal/Footer.js (100%) rename {components => Components}/modal/Header.js (68%) rename {components => Components}/modal/Input.js (100%) rename {components => Components}/modal/ModalWithPortal.js (94%) rename components/modal/Modal.js => Components/modal/index.js (100%) rename {components => Components}/modal/useModal.js (93%) rename components/pagination/Pagination.js => Components/pagination/index.js (100%) rename {components => Components}/pagination/usePagination.js (94%) rename {components => Components}/pagination/usePaginationAsync.js (91%) rename components/paragraph/Paragraph.js => Components/paragraph/index.js (100%) rename components/price/Price.js => Components/price/index.js (100%) rename components/progress/Progress.js => Components/progress/index.js (57%) rename components/select/Select.js => Components/select/index.js (100%) rename {components => Components}/sidebar/NavItem.js (100%) rename {components => Components}/sidebar/NavMenu.js (69%) rename components/sidebar/Sidebar.js => Components/sidebar/index.js (94%) rename components/table/TableBody.js => Components/table/body.js (100%) rename components/table/TableCell.js => Components/table/cell.js (60%) rename components/table/TableCellBusy.js => Components/table/cellBusy.js (73%) rename components/table/TableFooter.js => Components/table/footer.js (69%) rename components/table/TableHeader.js => Components/table/header.js (62%) rename components/table/Table.js => Components/table/index.js (70%) rename components/table/TableRow.js => Components/table/row.js (67%) rename components/table/TableRowBusy.js => Components/table/rowBusy.js (100%) rename components/text/Text.js => Components/text/index.js (92%) rename components/time/Time.js => Components/time/index.js (94%) rename {components => Components}/title/SubTitle.js (89%) rename components/title/Title.js => Components/title/index.js (90%) rename components/toggle/Toggle.js => Components/toggle/index.js (100%) rename {components => Components}/toggle/useToggle.js (100%) rename components/tooltip/Tooltip.js => Components/tooltip/index.js (100%) rename containers/addresses/AddressActions.js => Containers/addresses/actions.js (98%) rename containers/addresses/DomainsSelect.js => Containers/addresses/domainsSelect.js (100%) rename containers/addresses/EditAddressModal.js => Containers/addresses/modal/edit.js (100%) rename containers/addresses/AddressModal.js => Containers/addresses/modal/index.js (97%) rename containers/addresses/useAddressModal.js => Containers/addresses/modal/use.js (100%) rename containers/addresses/AddressesSection.js => Containers/addresses/section.js (95%) rename containers/addresses/AddressStatus.js => Containers/addresses/status.js (100%) rename containers/addresses/AddressesToolbar.js => Containers/addresses/toolbar.js (97%) rename {containers => Containers}/appearance/ThemesSection.js (100%) rename {containers/domains => Containers/domain}/DKIMSection.js (100%) rename {containers/domains => Containers/domain}/DMARCSection.js (100%) rename {containers/domains => Containers/domain}/MXSection.js (100%) rename {containers/domains => Containers/domain}/SPFSection.js (100%) rename containers/domains/DomainActions.js => Containers/domain/actions.js (100%) rename containers/domains/CatchAllModal.js => Containers/domain/modal/catchAll.js (100%) rename containers/domains/DomainModal.js => Containers/domain/modal/index.js (100%) rename containers/domains/DomainName.js => Containers/domain/name.js (100%) rename containers/domains/DomainSection.js => Containers/domain/section.js (100%) rename containers/domains/DomainStatus.js => Containers/domain/status.js (100%) rename containers/domains/VerifySection.js => Containers/domain/verifySection.js (100%) rename {containers => Containers}/domains/AddressCatchAll.js (100%) rename {containers => Containers}/domains/AddressStatus.js (100%) rename {containers => Containers}/domains/AddressesSection.js (100%) rename {containers => Containers}/domains/AddressesTable.js (100%) rename containers/domains/DomainsSection.js => Containers/domains/section.js (100%) rename containers/domains/DomainsTable.js => Containers/domains/table.js (100%) rename containers/invoices/InvoiceActions.js => Containers/invoices/actions.js (100%) rename containers/invoices/InvoiceAmount.js => Containers/invoices/amount.js (100%) rename containers/invoices/DownloadInvoiceButton.js => Containers/invoices/downloadButton.js (100%) rename containers/invoices/PayInvoiceModal.js => Containers/invoices/modal/pay.js (100%) rename containers/invoices/InvoiceTextModal.js => Containers/invoices/modal/text.js (100%) rename containers/invoices/PayButton.js => Containers/invoices/payButton.js (100%) rename containers/invoices/InvoicesSection.js => Containers/invoices/section.js (100%) rename containers/invoices/InvoiceState.js => Containers/invoices/state.js (100%) rename containers/invoices/InvoiceType.js => Containers/invoices/type.js (96%) rename {containers => Containers}/keys/AddressKeysHeader.js (100%) rename {containers => Containers}/keys/AddressKeysRow.js (100%) rename {containers => Containers}/keys/AddressKeysSection.js (100%) rename {containers => Containers}/keys/AddressKeysSectionModel.js (100%) rename {containers => Containers}/keys/AddressKeysTable.js (100%) rename {containers => Containers}/keys/ContactKeysHeader.js (100%) rename {containers => Containers}/keys/KeysActions.js (100%) rename {containers => Containers}/keys/KeysRow.js (100%) rename {containers => Containers}/keys/KeysStatus.js (100%) rename {containers => Containers}/keys/KeysTable.js (100%) rename {containers => Containers}/layouts/ComposerModeRadios.js (100%) rename {containers => Containers}/layouts/DraftTypeSelect.js (100%) rename {containers => Containers}/layouts/LayoutsSection.js (100%) rename {containers => Containers}/layouts/ShowMovedSelect.js (100%) rename {containers => Containers}/layouts/TextDirectionSelect.js (100%) rename {containers => Containers}/layouts/ViewLayoutRadios.js (100%) rename {containers => Containers}/layouts/ViewModeRadios.js (100%) rename {containers => Containers}/login/LoginContainer.js (100%) rename {containers => Containers}/login/LoginForm.js (100%) rename {containers => Containers}/login/TOTPForm.js (100%) rename {containers => Containers}/login/UnlockForm.js (100%) rename {containers => Containers}/login/useLogin.js (100%) rename {containers => Containers}/logs/LogsSection.js (100%) rename {containers => Containers}/logs/LogsTable.js (100%) rename {containers => Containers}/logs/WipeLogsButton.js (100%) rename {containers => Containers}/members/AddMemberButton.js (100%) rename {containers => Containers}/members/EditMemberModal.js (100%) rename {containers => Containers}/members/MemberActions.js (100%) rename {containers => Containers}/members/MemberAddresses.js (100%) rename {containers => Containers}/members/MemberModal.js (100%) rename {containers => Containers}/members/MemberOptions.js (100%) rename {containers => Containers}/members/MemberPrivate.js (100%) rename {containers => Containers}/members/MemberRole.js (100%) rename {containers => Containers}/members/MemberStorageSelector.js (100%) rename {containers => Containers}/members/MemberVPNSelector.js (100%) rename {containers => Containers}/members/MembersSection.js (100%) rename {containers => Containers}/members/useMemberModal.js (100%) rename {containers => Containers}/messages/EmbeddedToggle.js (100%) rename {containers => Containers}/messages/MessageContentSection.js (100%) rename {containers => Containers}/messages/RemoteToggle.js (100%) rename {containers => Containers}/notification/DailyNotificationsToggle.js (100%) rename {containers => Containers}/notification/DesktopNotificationPanel.js (100%) rename {containers => Containers}/notification/NewsCheckboxes.js (100%) rename {containers => Containers}/notification/NotificationSection.js (100%) rename {containers => Containers}/notification/PasswordResetToggle.js (100%) rename {containers => Containers}/notification/RecoveryEmailButton.js (100%) rename {containers => Containers}/notifications/Container.js (100%) rename {containers => Containers}/notifications/Provider.js (100%) rename {containers => Containers}/notifications/actions.js (100%) rename {containers => Containers}/notifications/manager.js (100%) rename {containers => Containers}/notifications/reducer.js (100%) rename {containers => Containers}/organization/OrganizationSection.js (100%) rename {containers => Containers}/password/AskPasswordModal.js (100%) rename {containers => Containers}/paymentMethods/PaymentMethodActions.js (100%) rename {containers => Containers}/paymentMethods/PaymentMethodDetails.js (100%) rename {containers => Containers}/paymentMethods/PaymentMethodState.js (100%) rename {containers => Containers}/paymentMethods/PaymentMethodsSection.js (100%) rename {containers => Containers}/paymentMethods/PaymentMethodsSelect.js (100%) rename {containers => Containers}/paymentMethods/PaymentMethodsTable.js (100%) rename {containers => Containers}/paymentMethods/usePaymentMethodsSelect.js (100%) rename {containers => Containers}/payments/AmountButton.js (100%) rename {containers => Containers}/payments/Bitcoin.js (100%) rename {containers => Containers}/payments/BitcoinDetails.js (100%) rename {containers => Containers}/payments/BitcoinQRCode.js (100%) rename {containers => Containers}/payments/Card.js (100%) rename {containers => Containers}/payments/Cash.js (100%) rename {containers => Containers}/payments/CurrencySelector.js (100%) rename {containers => Containers}/payments/DonateModal.js (100%) rename {containers => Containers}/payments/EditCardModal.js (100%) rename {containers => Containers}/payments/Method.js (100%) rename {containers => Containers}/payments/PayPal.js (100%) rename {containers => Containers}/payments/Payment.js (100%) rename {containers => Containers}/payments/PaymentSelector.js (100%) rename {containers => Containers}/payments/TopUpModal.js (100%) rename {containers => Containers}/payments/cardValidator.js (99%) rename {containers => Containers}/payments/getDefaultCard.js (94%) rename {containers => Containers}/payments/toDetails.js (58%) rename {containers => Containers}/payments/useCard.js (95%) rename {containers => Containers}/payments/usePayment.js (100%) rename {containers => Containers}/products/DownloadsSection.js (100%) rename {containers => Containers}/products/ProtonMailClients.js (100%) rename {containers => Containers}/products/ProtonVPNClients.js (100%) rename {containers => Containers}/prompts/Container.js (100%) rename {containers => Containers}/prompts/Provider.js (100%) rename {containers => Containers}/prompts/actions.js (100%) rename {containers => Containers}/prompts/manager.js (100%) rename {containers => Containers}/prompts/reducer.js (100%) rename {containers => Containers}/security/AddressVerificationSection.js (100%) rename {containers => Containers}/security/AttachPublicKeyToggle.js (100%) rename {containers => Containers}/security/ExternalPGPSettingsSection.js (100%) rename {containers => Containers}/security/PGPSchemeSelect.js (100%) rename {containers => Containers}/security/SignToggle.js (100%) rename {containers => Containers}/sessions/SessionAction.js (95%) rename {containers => Containers}/sessions/SessionsSection.js (100%) delete mode 100644 components/button/index.js delete mode 100644 components/dropdown/index.js delete mode 100644 components/modal/index.js delete mode 100644 components/table/index.js diff --git a/components/alert/Alert.js b/Components/alert/index.js similarity index 100% rename from components/alert/Alert.js rename to Components/alert/index.js diff --git a/components/badge/Badge.js b/Components/badge/index.js similarity index 95% rename from components/badge/Badge.js rename to Components/badge/index.js index 8ac78f890..d1869356a 100644 --- a/components/badge/Badge.js +++ b/Components/badge/index.js @@ -20,4 +20,4 @@ Badge.defaultProps = { type: 'default' }; -export default Badge; \ No newline at end of file +export default Badge; diff --git a/components/breadcrumb/Breadcrumb.js b/Components/breadcrumb/index.js similarity index 100% rename from components/breadcrumb/Breadcrumb.js rename to Components/breadcrumb/index.js diff --git a/components/button/Copy.js b/Components/button/copy.js similarity index 100% rename from components/button/Copy.js rename to Components/button/copy.js diff --git a/components/button/ButtonGroup.js b/Components/button/group.js similarity index 54% rename from components/button/ButtonGroup.js rename to Components/button/group.js index 44191d7f7..5a89571af 100644 --- a/components/button/ButtonGroup.js +++ b/Components/button/group.js @@ -4,11 +4,15 @@ import PropTypes from 'prop-types'; import Button from './Button'; import { getClasses } from '../../helpers/component'; -const ButtonGroup = ({ children, className, ...rest }) => ; +const ButtonGroup = ({ children, className, ...rest }) => ( + +); ButtonGroup.propTypes = { children: PropTypes.node.isRequired, className: PropTypes.string }; -export default ButtonGroup; \ No newline at end of file +export default ButtonGroup; diff --git a/components/button/Button.js b/Components/button/index.js similarity index 100% rename from components/button/Button.js rename to Components/button/index.js diff --git a/components/button/LargeButton.js b/Components/button/large.js similarity index 66% rename from components/button/LargeButton.js rename to Components/button/large.js index d91e5a310..c854cc009 100644 --- a/components/button/LargeButton.js +++ b/Components/button/large.js @@ -5,7 +5,11 @@ import { getClasses } from '../../helpers/component'; import Button from './Button'; const LargeButton = ({ children, className, ...rest }) => { - return + return ( + + ); }; LargeButton.propTypes = { @@ -17,4 +21,4 @@ LargeButton.defaultProps = { className: '' }; -export default LargeButton; \ No newline at end of file +export default LargeButton; diff --git a/components/button/LinkButton.js b/Components/button/link.js similarity index 100% rename from components/button/LinkButton.js rename to Components/button/link.js diff --git a/components/button/PrimaryButton.js b/Components/button/primary.js similarity index 63% rename from components/button/PrimaryButton.js rename to Components/button/primary.js index 536c4e1a1..3d3b9fadc 100644 --- a/components/button/PrimaryButton.js +++ b/Components/button/primary.js @@ -5,7 +5,11 @@ import Button from './Button'; import { getClasses } from '../../helpers/component'; const PrimaryButton = ({ children, className, ...rest }) => { - return (); + return ( + + ); }; PrimaryButton.propTypes = { @@ -13,4 +17,4 @@ PrimaryButton.propTypes = { className: PropTypes.string }; -export default PrimaryButton; \ No newline at end of file +export default PrimaryButton; diff --git a/components/button/ResetButton.js b/Components/button/reset.js similarity index 52% rename from components/button/ResetButton.js rename to Components/button/reset.js index 46b8808e0..6d28dfa64 100644 --- a/components/button/ResetButton.js +++ b/Components/button/reset.js @@ -2,10 +2,14 @@ import React from 'react'; import PropTypes from 'prop-types'; import Button from './Button'; -const ResetButton = ({ children, ...rest }) => ; +const ResetButton = ({ children, ...rest }) => ( + +); ResetButton.propTypes = { children: PropTypes.node.isRequired }; -export default ResetButton; \ No newline at end of file +export default ResetButton; diff --git a/components/button/SmallButton.js b/Components/button/small.js similarity index 66% rename from components/button/SmallButton.js rename to Components/button/small.js index 1b6659123..57e6bd993 100644 --- a/components/button/SmallButton.js +++ b/Components/button/small.js @@ -5,7 +5,11 @@ import { getClasses } from '../../helpers/component'; import Button from './Button'; const SmallButton = ({ children, className, ...rest }) => { - return + return ( + + ); }; SmallButton.propTypes = { @@ -17,4 +21,4 @@ SmallButton.defaultProps = { className: '' }; -export default SmallButton; \ No newline at end of file +export default SmallButton; diff --git a/components/container/Block.js b/Components/container/Block.js similarity index 93% rename from components/container/Block.js rename to Components/container/Block.js index 56b651c78..c11b89170 100644 --- a/components/container/Block.js +++ b/Components/container/Block.js @@ -11,4 +11,4 @@ Block.propTypes = { className: PropTypes.string }; -export default Block; \ No newline at end of file +export default Block; diff --git a/components/container/Bordered.js b/Components/container/Bordered.js similarity index 93% rename from components/container/Bordered.js rename to Components/container/Bordered.js index fccb06f9c..f4d049521 100644 --- a/components/container/Bordered.js +++ b/Components/container/Bordered.js @@ -11,4 +11,4 @@ Bordered.propTypes = { className: PropTypes.string }; -export default Bordered; \ No newline at end of file +export default Bordered; diff --git a/components/button/Group.js b/Components/container/Group.js similarity index 91% rename from components/button/Group.js rename to Components/container/Group.js index 7487512b4..a69d84b3c 100644 --- a/components/button/Group.js +++ b/Components/container/Group.js @@ -7,4 +7,4 @@ Group.propTypes = { children: PropTypes.node.isRequired }; -export default Group; \ No newline at end of file +export default Group; diff --git a/components/icon/Icons.js b/Components/container/Icons.js similarity index 100% rename from components/icon/Icons.js rename to Components/container/Icons.js diff --git a/components/container/Information.js b/Components/container/Information.js similarity index 100% rename from components/container/Information.js rename to Components/container/Information.js diff --git a/components/container/Row.js b/Components/container/Row.js similarity index 59% rename from components/container/Row.js rename to Components/container/Row.js index c9fda6bf9..a39f27464 100644 --- a/components/container/Row.js +++ b/Components/container/Row.js @@ -3,7 +3,11 @@ import PropTypes from 'prop-types'; import { getClasses } from '../../helpers/component'; const Row = ({ children, className, ...rest }) => { - return
{children}
; + return ( +
+ {children} +
+ ); }; Row.propTypes = { @@ -11,4 +15,4 @@ Row.propTypes = { className: PropTypes.string }; -export default Row; \ No newline at end of file +export default Row; diff --git a/components/dropdown/Dropdown.test.js b/Components/dropdown/Dropdown.test.js similarity index 88% rename from components/dropdown/Dropdown.test.js rename to Components/dropdown/Dropdown.test.js index df34b61ba..483ea0ae1 100644 --- a/components/dropdown/Dropdown.test.js +++ b/Components/dropdown/Dropdown.test.js @@ -20,7 +20,12 @@ describe('Dropdown', () => { const wrapper = shallow(myDropdown()); it('renders without crashing', () => { - expect(wrapper.find(Button).shallow().text()).toBe('Profile'); + expect( + wrapper + .find(Button) + .shallow() + .text() + ).toBe('Profile'); expect(wrapper.find('input').exists()).toBe(false); }); @@ -40,4 +45,4 @@ describe('Dropdown', () => { expect(tree).toMatchSnapshot(); }); -}); \ No newline at end of file +}); diff --git a/components/dropdown/Dropdown.js b/Components/dropdown/index.js similarity index 100% rename from components/dropdown/Dropdown.js rename to Components/dropdown/index.js diff --git a/components/dropdown/DropdownItem.js b/Components/dropdown/item.js similarity index 100% rename from components/dropdown/DropdownItem.js rename to Components/dropdown/item.js diff --git a/components/dropdown/DropdownMenu.js b/Components/dropdown/menu.js similarity index 73% rename from components/dropdown/DropdownMenu.js rename to Components/dropdown/menu.js index 8aec0b8d2..5655db7ae 100644 --- a/components/dropdown/DropdownMenu.js +++ b/Components/dropdown/menu.js @@ -5,7 +5,9 @@ import DropdownItem from './DropdownItem'; const DropdownMenu = ({ list }) => { return (
    - {list.map((item, index) => )} + {list.map((item, index) => ( + + ))}
); }; diff --git a/components/icon/Icon.js b/Components/icon/index.js similarity index 100% rename from components/icon/Icon.js rename to Components/icon/index.js diff --git a/components/input/Checkbox.js b/Components/input/Checkbox.js similarity index 100% rename from components/input/Checkbox.js rename to Components/input/Checkbox.js diff --git a/components/input/Password.js b/Components/input/Password.js similarity index 72% rename from components/input/Password.js rename to Components/input/Password.js index 89c15d2b8..5d12a3d77 100644 --- a/components/input/Password.js +++ b/Components/input/Password.js @@ -9,9 +9,11 @@ const Password = ({ ...rest }) => { return ( <> - + ); }; -export default Password; \ No newline at end of file +export default Password; diff --git a/components/input/Radio.js b/Components/input/Radio.js similarity index 100% rename from components/input/Radio.js rename to Components/input/Radio.js diff --git a/components/input/RadioCard.js b/Components/input/RadioCard.js similarity index 100% rename from components/input/RadioCard.js rename to Components/input/RadioCard.js diff --git a/components/input/RichTextEditor.js b/Components/input/RichTextEditor.js similarity index 100% rename from components/input/RichTextEditor.js rename to Components/input/RichTextEditor.js diff --git a/components/input/Search.js b/Components/input/Search.js similarity index 100% rename from components/input/Search.js rename to Components/input/Search.js diff --git a/components/input/TextArea.js b/Components/input/TextArea.js similarity index 97% rename from components/input/TextArea.js rename to Components/input/TextArea.js index 90ca41bac..119d958ce 100644 --- a/components/input/TextArea.js +++ b/Components/input/TextArea.js @@ -55,7 +55,7 @@ const TextArea = ({ className, disabled, onPressEnter, onKeyDown, onChange, onFo onFocus={handleFocus} onKeyDown={handleKeyDown} {...rest} - /> + /> ); }; @@ -78,4 +78,4 @@ TextArea.defaultProps = { rows: 5 }; -export default TextArea; \ No newline at end of file +export default TextArea; diff --git a/components/input/Input.js b/Components/input/index.js similarity index 100% rename from components/input/Input.js rename to Components/input/index.js diff --git a/components/input/useDebounceInput.js b/Components/input/useDebounceInput.js similarity index 100% rename from components/input/useDebounceInput.js rename to Components/input/useDebounceInput.js diff --git a/components/input/useInput.js b/Components/input/useInput.js similarity index 100% rename from components/input/useInput.js rename to Components/input/useInput.js diff --git a/components/label/Label.js b/Components/label/index.js similarity index 64% rename from components/label/Label.js rename to Components/label/index.js index e49bc44a4..a90c53953 100644 --- a/components/label/Label.js +++ b/Components/label/index.js @@ -3,7 +3,11 @@ import PropTypes from 'prop-types'; import { getClasses } from '../../helpers/component'; const Label = ({ htmlFor, className, children, ...rest }) => { - return ; + return ( + + ); }; Label.propTypes = { @@ -12,4 +16,4 @@ Label.propTypes = { htmlFor: PropTypes.string }; -export default Label; \ No newline at end of file +export default Label; diff --git a/components/link/Info.js b/Components/link/Info.js similarity index 100% rename from components/link/Info.js rename to Components/link/Info.js diff --git a/components/link/LearnMore.js b/Components/link/LearnMore.js similarity index 100% rename from components/link/LearnMore.js rename to Components/link/LearnMore.js diff --git a/components/link/Href.js b/Components/link/index.js similarity index 62% rename from components/link/Href.js rename to Components/link/index.js index 21a678ffc..f8a55277c 100644 --- a/components/link/Href.js +++ b/Components/link/index.js @@ -2,7 +2,11 @@ import React from 'react'; import PropTypes from 'prop-types'; const Href = ({ url, children }) => { - return {children}; + return ( + + {children} + + ); }; Href.propTypes = { @@ -14,4 +18,4 @@ Href.defaultProps = { url: '#' }; -export default Href; \ No newline at end of file +export default Href; diff --git a/components/loader/Loader.js b/Components/loader/index.js similarity index 89% rename from components/loader/Loader.js rename to Components/loader/index.js index 33c04cf66..6ddbe97b4 100644 --- a/components/loader/Loader.js +++ b/Components/loader/index.js @@ -7,4 +7,4 @@ Loader.propTypes = { className: PropTypes.string }; -export default Loader; \ No newline at end of file +export default Loader; diff --git a/components/loader/useLoader.js b/Components/loader/useLoader.js similarity index 100% rename from components/loader/useLoader.js rename to Components/loader/useLoader.js diff --git a/components/loader/useLoading.js b/Components/loader/useLoading.js similarity index 91% rename from components/loader/useLoading.js rename to Components/loader/useLoading.js index f2fbe323e..4a7278d09 100644 --- a/components/loader/useLoading.js +++ b/Components/loader/useLoading.js @@ -12,4 +12,4 @@ const useLoading = (initialState = true) => { }; }; -export default useLoading; \ No newline at end of file +export default useLoading; diff --git a/components/modal/Confirm.js b/Components/modal/Confirm.js similarity index 100% rename from components/modal/Confirm.js rename to Components/modal/Confirm.js diff --git a/components/modal/Content.js b/Components/modal/Content.js similarity index 100% rename from components/modal/Content.js rename to Components/modal/Content.js diff --git a/components/modal/Footer.js b/Components/modal/Footer.js similarity index 100% rename from components/modal/Footer.js rename to Components/modal/Footer.js diff --git a/components/modal/Header.js b/Components/modal/Header.js similarity index 68% rename from components/modal/Header.js rename to Components/modal/Header.js index 4bdcf0e1d..3ea1a2d92 100644 --- a/components/modal/Header.js +++ b/Components/modal/Header.js @@ -8,8 +8,14 @@ import { getClasses } from '../../helpers/component'; const Header = ({ children, modalTitleID, className, hasClose, onClose, ...rest }) => { return (
- {hasClose ? : null} -

{children}

+ {hasClose ? ( + + ) : null} +

+ {children} +

); }; @@ -27,4 +33,4 @@ Header.defaultProps = { modalTitleID: 'modalTitle' }; -export default Header; \ No newline at end of file +export default Header; diff --git a/components/modal/Input.js b/Components/modal/Input.js similarity index 100% rename from components/modal/Input.js rename to Components/modal/Input.js diff --git a/components/modal/ModalWithPortal.js b/Components/modal/ModalWithPortal.js similarity index 94% rename from components/modal/ModalWithPortal.js rename to Components/modal/ModalWithPortal.js index 5f6a52395..e32bb0b32 100644 --- a/components/modal/ModalWithPortal.js +++ b/Components/modal/ModalWithPortal.js @@ -10,10 +10,10 @@ const ModalWithPortal = ({ children }) => { modalRoot.appendChild(el); return () => { modalRoot.removeChild(el); - } - }, []) + }; + }, []); return ReactDOM.createPortal(children, el); -} +}; export default ModalWithPortal; diff --git a/components/modal/Modal.js b/Components/modal/index.js similarity index 100% rename from components/modal/Modal.js rename to Components/modal/index.js diff --git a/components/modal/useModal.js b/Components/modal/useModal.js similarity index 93% rename from components/modal/useModal.js rename to Components/modal/useModal.js index 7db2fc11b..b8237823c 100644 --- a/components/modal/useModal.js +++ b/Components/modal/useModal.js @@ -14,4 +14,4 @@ const useModal = (initialState = false) => { }; }; -export default useModal; \ No newline at end of file +export default useModal; diff --git a/components/pagination/Pagination.js b/Components/pagination/index.js similarity index 100% rename from components/pagination/Pagination.js rename to Components/pagination/index.js diff --git a/components/pagination/usePagination.js b/Components/pagination/usePagination.js similarity index 94% rename from components/pagination/usePagination.js rename to Components/pagination/usePagination.js index 43941f070..7fceaffb4 100644 --- a/components/pagination/usePagination.js +++ b/Components/pagination/usePagination.js @@ -16,4 +16,4 @@ const usePagination = (initialList = [], initialPage = 1, limit = 10) => { }; }; -export default usePagination; \ No newline at end of file +export default usePagination; diff --git a/components/pagination/usePaginationAsync.js b/Components/pagination/usePaginationAsync.js similarity index 91% rename from components/pagination/usePaginationAsync.js rename to Components/pagination/usePaginationAsync.js index b4a61660d..d1832f8bb 100644 --- a/components/pagination/usePaginationAsync.js +++ b/Components/pagination/usePaginationAsync.js @@ -14,4 +14,4 @@ const usePaginationAsync = (initialPage = 1) => { }; }; -export default usePaginationAsync; \ No newline at end of file +export default usePaginationAsync; diff --git a/components/paragraph/Paragraph.js b/Components/paragraph/index.js similarity index 100% rename from components/paragraph/Paragraph.js rename to Components/paragraph/index.js diff --git a/components/price/Price.js b/Components/price/index.js similarity index 100% rename from components/price/Price.js rename to Components/price/index.js diff --git a/components/progress/Progress.js b/Components/progress/index.js similarity index 57% rename from components/progress/Progress.js rename to Components/progress/index.js index a7dd31a96..cdd6eba39 100644 --- a/components/progress/Progress.js +++ b/Components/progress/index.js @@ -1,7 +1,11 @@ import React from 'react'; import PropTypes from 'prop-types'; -const Progress = ({ value, max, ...rest }) => {value}; +const Progress = ({ value, max, ...rest }) => ( + + {value} + +); Progress.propTypes = { value: PropTypes.number.isRequired, @@ -13,4 +17,4 @@ Progress.defaultProps = { max: 100 }; -export default Progress; \ No newline at end of file +export default Progress; diff --git a/components/select/Select.js b/Components/select/index.js similarity index 100% rename from components/select/Select.js rename to Components/select/index.js diff --git a/components/sidebar/NavItem.js b/Components/sidebar/NavItem.js similarity index 100% rename from components/sidebar/NavItem.js rename to Components/sidebar/NavItem.js diff --git a/components/sidebar/NavMenu.js b/Components/sidebar/NavMenu.js similarity index 69% rename from components/sidebar/NavMenu.js rename to Components/sidebar/NavMenu.js index bc64df751..8e747f4b8 100644 --- a/components/sidebar/NavMenu.js +++ b/Components/sidebar/NavMenu.js @@ -6,7 +6,9 @@ import NavItem from './NavItem'; const NavMenu = ({ list }) => { return (
    - {list.map((item, index) => )} + {list.map((item, index) => ( + + ))}
); }; @@ -19,4 +21,4 @@ NavMenu.defaultProps = { list: [] }; -export default NavMenu; \ No newline at end of file +export default NavMenu; diff --git a/components/sidebar/Sidebar.js b/Components/sidebar/index.js similarity index 94% rename from components/sidebar/Sidebar.js rename to Components/sidebar/index.js index 56908f186..f4ced4d75 100644 --- a/components/sidebar/Sidebar.js +++ b/Components/sidebar/index.js @@ -21,4 +21,4 @@ Sidebar.defaultProps = { list: [] }; -export default Sidebar; \ No newline at end of file +export default Sidebar; diff --git a/components/table/TableBody.js b/Components/table/body.js similarity index 100% rename from components/table/TableBody.js rename to Components/table/body.js diff --git a/components/table/TableCell.js b/Components/table/cell.js similarity index 60% rename from components/table/TableCell.js rename to Components/table/cell.js index dd8c36995..667b0cc48 100644 --- a/components/table/TableCell.js +++ b/Components/table/cell.js @@ -3,17 +3,18 @@ import PropTypes from 'prop-types'; const TableCell = ({ children, type, ...rest }) => { if (type === 'header' || type === 'footer') { - return {children}; + return ( + + {children} + + ); } return {children}; }; TableCell.propTypes = { - children: PropTypes.oneOfType([ - PropTypes.string, - PropTypes.node - ]), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), type: PropTypes.string }; @@ -21,4 +22,4 @@ TableCell.defaultProps = { type: 'body' }; -export default TableCell; \ No newline at end of file +export default TableCell; diff --git a/components/table/TableCellBusy.js b/Components/table/cellBusy.js similarity index 73% rename from components/table/TableCellBusy.js rename to Components/table/cellBusy.js index bc64eb4af..67b32c2db 100644 --- a/components/table/TableCellBusy.js +++ b/Components/table/cellBusy.js @@ -2,4 +2,4 @@ import React from 'react'; const TableCellBusy = () => ; -export default TableCellBusy; \ No newline at end of file +export default TableCellBusy; diff --git a/components/table/TableFooter.js b/Components/table/footer.js similarity index 69% rename from components/table/TableFooter.js rename to Components/table/footer.js index 832f2616d..b856cdfb2 100644 --- a/components/table/TableFooter.js +++ b/Components/table/footer.js @@ -7,7 +7,9 @@ const TableFooter = ({ cells, ...rest }) => { return ( - {cells.map((cell, index) => {cell})} + {cells.map((cell, index) => ( + {cell} + ))} ); @@ -21,4 +23,4 @@ TableFooter.defaultProps = { cells: [] }; -export default TableFooter; \ No newline at end of file +export default TableFooter; diff --git a/components/table/TableHeader.js b/Components/table/header.js similarity index 62% rename from components/table/TableHeader.js rename to Components/table/header.js index 70f16dc43..47ea5e530 100644 --- a/components/table/TableHeader.js +++ b/Components/table/header.js @@ -7,7 +7,11 @@ const TableHeader = ({ cells, ...rest }) => { return ( - {cells.map((cell, index) => {cell})} + {cells.map((cell, index) => ( + + {cell} + + ))} ); @@ -21,4 +25,4 @@ TableHeader.defaultProps = { cells: [] }; -export default TableHeader; \ No newline at end of file +export default TableHeader; diff --git a/components/table/Table.js b/Components/table/index.js similarity index 70% rename from components/table/Table.js rename to Components/table/index.js index b0a424c33..a86166f45 100644 --- a/components/table/Table.js +++ b/Components/table/index.js @@ -4,9 +4,7 @@ import PropTypes from 'prop-types'; import { getClasses } from '../../helpers/component'; const Table = ({ children, className }) => { - return ( - {children}
- ); + return {children}
; }; Table.propTypes = { @@ -18,4 +16,4 @@ Table.defaultProps = { children: [] }; -export default Table; \ No newline at end of file +export default Table; diff --git a/components/table/TableRow.js b/Components/table/row.js similarity index 67% rename from components/table/TableRow.js rename to Components/table/row.js index 49a339073..9a7a58b6d 100644 --- a/components/table/TableRow.js +++ b/Components/table/row.js @@ -6,7 +6,9 @@ import TableCell from './TableCell'; const TableRow = ({ cells, ...rest }) => { return ( - {cells.map((cell, index) => {cell})} + {cells.map((cell, index) => ( + {cell} + ))} ); }; @@ -19,4 +21,4 @@ TableRow.defaultProps = { cells: [] }; -export default TableRow; \ No newline at end of file +export default TableRow; diff --git a/components/table/TableRowBusy.js b/Components/table/rowBusy.js similarity index 100% rename from components/table/TableRowBusy.js rename to Components/table/rowBusy.js diff --git a/components/text/Text.js b/Components/text/index.js similarity index 92% rename from components/text/Text.js rename to Components/text/index.js index 730a2b32a..a00298e00 100644 --- a/components/text/Text.js +++ b/Components/text/index.js @@ -8,4 +8,4 @@ Text.propTypes = { className: PropTypes.string }; -export default Text; \ No newline at end of file +export default Text; diff --git a/components/time/Time.js b/Components/time/index.js similarity index 94% rename from components/time/Time.js rename to Components/time/index.js index 8c921f4a4..3c8909b5e 100644 --- a/components/time/Time.js +++ b/Components/time/index.js @@ -14,4 +14,4 @@ Time.defaultProps = { format: 'LL' }; -export default Time; \ No newline at end of file +export default Time; diff --git a/components/title/SubTitle.js b/Components/title/SubTitle.js similarity index 89% rename from components/title/SubTitle.js rename to Components/title/SubTitle.js index de0cb6239..6ba5c575e 100644 --- a/components/title/SubTitle.js +++ b/Components/title/SubTitle.js @@ -7,4 +7,4 @@ SubTitle.propTypes = { children: PropTypes.node.isRequired }; -export default SubTitle; \ No newline at end of file +export default SubTitle; diff --git a/components/title/Title.js b/Components/title/index.js similarity index 90% rename from components/title/Title.js rename to Components/title/index.js index 712ce5e94..2defe1f32 100644 --- a/components/title/Title.js +++ b/Components/title/index.js @@ -7,4 +7,4 @@ Title.propTypes = { children: PropTypes.node.isRequired }; -export default Title; \ No newline at end of file +export default Title; diff --git a/components/toggle/Toggle.js b/Components/toggle/index.js similarity index 100% rename from components/toggle/Toggle.js rename to Components/toggle/index.js diff --git a/components/toggle/useToggle.js b/Components/toggle/useToggle.js similarity index 100% rename from components/toggle/useToggle.js rename to Components/toggle/useToggle.js diff --git a/components/tooltip/Tooltip.js b/Components/tooltip/index.js similarity index 100% rename from components/tooltip/Tooltip.js rename to Components/tooltip/index.js diff --git a/containers/addresses/AddressActions.js b/Containers/addresses/actions.js similarity index 98% rename from containers/addresses/AddressActions.js rename to Containers/addresses/actions.js index 73e95ff4a..f267a5d01 100644 --- a/containers/addresses/AddressActions.js +++ b/Containers/addresses/actions.js @@ -13,7 +13,7 @@ import { import { ADDRESS_TYPE, ADDRESS_STATUS, MEMBER_PRIVATE } from 'proton-shared/lib/constants'; import { deleteAddress, enableAddress, disableAddress } from 'proton-shared/lib/api/addresses'; -import EditAddressModal from './EditAddressModal'; +import EditAddressModal from './modal/edit'; const { TYPE_ORIGINAL, TYPE_CUSTOM_DOMAIN, TYPE_PREMIUM } = ADDRESS_TYPE; const { STATUS_DISABLED, STATUS_ENABLED } = ADDRESS_STATUS; diff --git a/containers/addresses/DomainsSelect.js b/Containers/addresses/domainsSelect.js similarity index 100% rename from containers/addresses/DomainsSelect.js rename to Containers/addresses/domainsSelect.js diff --git a/containers/addresses/EditAddressModal.js b/Containers/addresses/modal/edit.js similarity index 100% rename from containers/addresses/EditAddressModal.js rename to Containers/addresses/modal/edit.js diff --git a/containers/addresses/AddressModal.js b/Containers/addresses/modal/index.js similarity index 97% rename from containers/addresses/AddressModal.js rename to Containers/addresses/modal/index.js index e95f1b56e..ac363b7a7 100644 --- a/containers/addresses/AddressModal.js +++ b/Containers/addresses/modal/index.js @@ -19,8 +19,8 @@ import { useEventManager } from 'react-components'; -import useAddressModal from './useAddressModal'; -import DomainsSelect from './DomainsSelect'; +import useAddressModal from './use'; +import DomainsSelect from '../domainsSelect'; const AddressModal = ({ show, onClose, member }) => { const { call } = useEventManager(); diff --git a/containers/addresses/useAddressModal.js b/Containers/addresses/modal/use.js similarity index 100% rename from containers/addresses/useAddressModal.js rename to Containers/addresses/modal/use.js diff --git a/containers/addresses/AddressesSection.js b/Containers/addresses/section.js similarity index 95% rename from containers/addresses/AddressesSection.js rename to Containers/addresses/section.js index eb4aab7bf..240744b4e 100644 --- a/containers/addresses/AddressesSection.js +++ b/Containers/addresses/section.js @@ -6,9 +6,9 @@ import { SubTitle, Table, TableHeader, TableRow, TableBody, useApiWithoutResult import { queryAddresses } from 'proton-shared/lib/api/members'; import { fetchMembers } from 'proton-shared/lib/state/members/actions'; -import AddressActions from './AddressActions'; -import AddressStatus from './AddressStatus'; -import AddressesToolbar from './AddressesToolbar'; +import AddressActions from './actions'; +import AddressStatus from './status'; +import AddressesToolbar from './toolbar'; const AddressesSection = ({ addresses, fetchMembers, members }) => { const { request, loading } = useApiWithoutResult(queryAddresses); diff --git a/containers/addresses/AddressStatus.js b/Containers/addresses/status.js similarity index 100% rename from containers/addresses/AddressStatus.js rename to Containers/addresses/status.js diff --git a/containers/addresses/AddressesToolbar.js b/Containers/addresses/toolbar.js similarity index 97% rename from containers/addresses/AddressesToolbar.js rename to Containers/addresses/toolbar.js index a80df9a01..43a38480c 100644 --- a/containers/addresses/AddressesToolbar.js +++ b/Containers/addresses/toolbar.js @@ -3,7 +3,7 @@ import { c } from 'ttag'; import PropTypes from 'prop-types'; import { Row, Label, Select, PrimaryButton, useModal } from 'react-components'; -import AddressModal from './AddressModal'; +import AddressModal from './modal/index'; const AddressesToolbar = ({ onChangeMember, member, members, loading }) => { const { isOpen, open, close } = useModal(); diff --git a/containers/appearance/ThemesSection.js b/Containers/appearance/ThemesSection.js similarity index 100% rename from containers/appearance/ThemesSection.js rename to Containers/appearance/ThemesSection.js diff --git a/containers/domains/DKIMSection.js b/Containers/domain/DKIMSection.js similarity index 100% rename from containers/domains/DKIMSection.js rename to Containers/domain/DKIMSection.js diff --git a/containers/domains/DMARCSection.js b/Containers/domain/DMARCSection.js similarity index 100% rename from containers/domains/DMARCSection.js rename to Containers/domain/DMARCSection.js diff --git a/containers/domains/MXSection.js b/Containers/domain/MXSection.js similarity index 100% rename from containers/domains/MXSection.js rename to Containers/domain/MXSection.js diff --git a/containers/domains/SPFSection.js b/Containers/domain/SPFSection.js similarity index 100% rename from containers/domains/SPFSection.js rename to Containers/domain/SPFSection.js diff --git a/containers/domains/DomainActions.js b/Containers/domain/actions.js similarity index 100% rename from containers/domains/DomainActions.js rename to Containers/domain/actions.js diff --git a/containers/domains/CatchAllModal.js b/Containers/domain/modal/catchAll.js similarity index 100% rename from containers/domains/CatchAllModal.js rename to Containers/domain/modal/catchAll.js diff --git a/containers/domains/DomainModal.js b/Containers/domain/modal/index.js similarity index 100% rename from containers/domains/DomainModal.js rename to Containers/domain/modal/index.js diff --git a/containers/domains/DomainName.js b/Containers/domain/name.js similarity index 100% rename from containers/domains/DomainName.js rename to Containers/domain/name.js diff --git a/containers/domains/DomainSection.js b/Containers/domain/section.js similarity index 100% rename from containers/domains/DomainSection.js rename to Containers/domain/section.js diff --git a/containers/domains/DomainStatus.js b/Containers/domain/status.js similarity index 100% rename from containers/domains/DomainStatus.js rename to Containers/domain/status.js diff --git a/containers/domains/VerifySection.js b/Containers/domain/verifySection.js similarity index 100% rename from containers/domains/VerifySection.js rename to Containers/domain/verifySection.js diff --git a/containers/domains/AddressCatchAll.js b/Containers/domains/AddressCatchAll.js similarity index 100% rename from containers/domains/AddressCatchAll.js rename to Containers/domains/AddressCatchAll.js diff --git a/containers/domains/AddressStatus.js b/Containers/domains/AddressStatus.js similarity index 100% rename from containers/domains/AddressStatus.js rename to Containers/domains/AddressStatus.js diff --git a/containers/domains/AddressesSection.js b/Containers/domains/AddressesSection.js similarity index 100% rename from containers/domains/AddressesSection.js rename to Containers/domains/AddressesSection.js diff --git a/containers/domains/AddressesTable.js b/Containers/domains/AddressesTable.js similarity index 100% rename from containers/domains/AddressesTable.js rename to Containers/domains/AddressesTable.js diff --git a/containers/domains/DomainsSection.js b/Containers/domains/section.js similarity index 100% rename from containers/domains/DomainsSection.js rename to Containers/domains/section.js diff --git a/containers/domains/DomainsTable.js b/Containers/domains/table.js similarity index 100% rename from containers/domains/DomainsTable.js rename to Containers/domains/table.js diff --git a/containers/invoices/InvoiceActions.js b/Containers/invoices/actions.js similarity index 100% rename from containers/invoices/InvoiceActions.js rename to Containers/invoices/actions.js diff --git a/containers/invoices/InvoiceAmount.js b/Containers/invoices/amount.js similarity index 100% rename from containers/invoices/InvoiceAmount.js rename to Containers/invoices/amount.js diff --git a/containers/invoices/DownloadInvoiceButton.js b/Containers/invoices/downloadButton.js similarity index 100% rename from containers/invoices/DownloadInvoiceButton.js rename to Containers/invoices/downloadButton.js diff --git a/containers/invoices/PayInvoiceModal.js b/Containers/invoices/modal/pay.js similarity index 100% rename from containers/invoices/PayInvoiceModal.js rename to Containers/invoices/modal/pay.js diff --git a/containers/invoices/InvoiceTextModal.js b/Containers/invoices/modal/text.js similarity index 100% rename from containers/invoices/InvoiceTextModal.js rename to Containers/invoices/modal/text.js diff --git a/containers/invoices/PayButton.js b/Containers/invoices/payButton.js similarity index 100% rename from containers/invoices/PayButton.js rename to Containers/invoices/payButton.js diff --git a/containers/invoices/InvoicesSection.js b/Containers/invoices/section.js similarity index 100% rename from containers/invoices/InvoicesSection.js rename to Containers/invoices/section.js diff --git a/containers/invoices/InvoiceState.js b/Containers/invoices/state.js similarity index 100% rename from containers/invoices/InvoiceState.js rename to Containers/invoices/state.js diff --git a/containers/invoices/InvoiceType.js b/Containers/invoices/type.js similarity index 96% rename from containers/invoices/InvoiceType.js rename to Containers/invoices/type.js index 081b32114..c215f51de 100644 --- a/containers/invoices/InvoiceType.js +++ b/Containers/invoices/type.js @@ -20,4 +20,4 @@ InvoiceType.propTypes = { invoice: PropTypes.object.isRequired }; -export default InvoiceType; \ No newline at end of file +export default InvoiceType; diff --git a/containers/keys/AddressKeysHeader.js b/Containers/keys/AddressKeysHeader.js similarity index 100% rename from containers/keys/AddressKeysHeader.js rename to Containers/keys/AddressKeysHeader.js diff --git a/containers/keys/AddressKeysRow.js b/Containers/keys/AddressKeysRow.js similarity index 100% rename from containers/keys/AddressKeysRow.js rename to Containers/keys/AddressKeysRow.js diff --git a/containers/keys/AddressKeysSection.js b/Containers/keys/AddressKeysSection.js similarity index 100% rename from containers/keys/AddressKeysSection.js rename to Containers/keys/AddressKeysSection.js diff --git a/containers/keys/AddressKeysSectionModel.js b/Containers/keys/AddressKeysSectionModel.js similarity index 100% rename from containers/keys/AddressKeysSectionModel.js rename to Containers/keys/AddressKeysSectionModel.js diff --git a/containers/keys/AddressKeysTable.js b/Containers/keys/AddressKeysTable.js similarity index 100% rename from containers/keys/AddressKeysTable.js rename to Containers/keys/AddressKeysTable.js diff --git a/containers/keys/ContactKeysHeader.js b/Containers/keys/ContactKeysHeader.js similarity index 100% rename from containers/keys/ContactKeysHeader.js rename to Containers/keys/ContactKeysHeader.js diff --git a/containers/keys/KeysActions.js b/Containers/keys/KeysActions.js similarity index 100% rename from containers/keys/KeysActions.js rename to Containers/keys/KeysActions.js diff --git a/containers/keys/KeysRow.js b/Containers/keys/KeysRow.js similarity index 100% rename from containers/keys/KeysRow.js rename to Containers/keys/KeysRow.js diff --git a/containers/keys/KeysStatus.js b/Containers/keys/KeysStatus.js similarity index 100% rename from containers/keys/KeysStatus.js rename to Containers/keys/KeysStatus.js diff --git a/containers/keys/KeysTable.js b/Containers/keys/KeysTable.js similarity index 100% rename from containers/keys/KeysTable.js rename to Containers/keys/KeysTable.js diff --git a/containers/layouts/ComposerModeRadios.js b/Containers/layouts/ComposerModeRadios.js similarity index 100% rename from containers/layouts/ComposerModeRadios.js rename to Containers/layouts/ComposerModeRadios.js diff --git a/containers/layouts/DraftTypeSelect.js b/Containers/layouts/DraftTypeSelect.js similarity index 100% rename from containers/layouts/DraftTypeSelect.js rename to Containers/layouts/DraftTypeSelect.js diff --git a/containers/layouts/LayoutsSection.js b/Containers/layouts/LayoutsSection.js similarity index 100% rename from containers/layouts/LayoutsSection.js rename to Containers/layouts/LayoutsSection.js diff --git a/containers/layouts/ShowMovedSelect.js b/Containers/layouts/ShowMovedSelect.js similarity index 100% rename from containers/layouts/ShowMovedSelect.js rename to Containers/layouts/ShowMovedSelect.js diff --git a/containers/layouts/TextDirectionSelect.js b/Containers/layouts/TextDirectionSelect.js similarity index 100% rename from containers/layouts/TextDirectionSelect.js rename to Containers/layouts/TextDirectionSelect.js diff --git a/containers/layouts/ViewLayoutRadios.js b/Containers/layouts/ViewLayoutRadios.js similarity index 100% rename from containers/layouts/ViewLayoutRadios.js rename to Containers/layouts/ViewLayoutRadios.js diff --git a/containers/layouts/ViewModeRadios.js b/Containers/layouts/ViewModeRadios.js similarity index 100% rename from containers/layouts/ViewModeRadios.js rename to Containers/layouts/ViewModeRadios.js diff --git a/containers/login/LoginContainer.js b/Containers/login/LoginContainer.js similarity index 100% rename from containers/login/LoginContainer.js rename to Containers/login/LoginContainer.js diff --git a/containers/login/LoginForm.js b/Containers/login/LoginForm.js similarity index 100% rename from containers/login/LoginForm.js rename to Containers/login/LoginForm.js diff --git a/containers/login/TOTPForm.js b/Containers/login/TOTPForm.js similarity index 100% rename from containers/login/TOTPForm.js rename to Containers/login/TOTPForm.js diff --git a/containers/login/UnlockForm.js b/Containers/login/UnlockForm.js similarity index 100% rename from containers/login/UnlockForm.js rename to Containers/login/UnlockForm.js diff --git a/containers/login/useLogin.js b/Containers/login/useLogin.js similarity index 100% rename from containers/login/useLogin.js rename to Containers/login/useLogin.js diff --git a/containers/logs/LogsSection.js b/Containers/logs/LogsSection.js similarity index 100% rename from containers/logs/LogsSection.js rename to Containers/logs/LogsSection.js diff --git a/containers/logs/LogsTable.js b/Containers/logs/LogsTable.js similarity index 100% rename from containers/logs/LogsTable.js rename to Containers/logs/LogsTable.js diff --git a/containers/logs/WipeLogsButton.js b/Containers/logs/WipeLogsButton.js similarity index 100% rename from containers/logs/WipeLogsButton.js rename to Containers/logs/WipeLogsButton.js diff --git a/containers/members/AddMemberButton.js b/Containers/members/AddMemberButton.js similarity index 100% rename from containers/members/AddMemberButton.js rename to Containers/members/AddMemberButton.js diff --git a/containers/members/EditMemberModal.js b/Containers/members/EditMemberModal.js similarity index 100% rename from containers/members/EditMemberModal.js rename to Containers/members/EditMemberModal.js diff --git a/containers/members/MemberActions.js b/Containers/members/MemberActions.js similarity index 100% rename from containers/members/MemberActions.js rename to Containers/members/MemberActions.js diff --git a/containers/members/MemberAddresses.js b/Containers/members/MemberAddresses.js similarity index 100% rename from containers/members/MemberAddresses.js rename to Containers/members/MemberAddresses.js diff --git a/containers/members/MemberModal.js b/Containers/members/MemberModal.js similarity index 100% rename from containers/members/MemberModal.js rename to Containers/members/MemberModal.js diff --git a/containers/members/MemberOptions.js b/Containers/members/MemberOptions.js similarity index 100% rename from containers/members/MemberOptions.js rename to Containers/members/MemberOptions.js diff --git a/containers/members/MemberPrivate.js b/Containers/members/MemberPrivate.js similarity index 100% rename from containers/members/MemberPrivate.js rename to Containers/members/MemberPrivate.js diff --git a/containers/members/MemberRole.js b/Containers/members/MemberRole.js similarity index 100% rename from containers/members/MemberRole.js rename to Containers/members/MemberRole.js diff --git a/containers/members/MemberStorageSelector.js b/Containers/members/MemberStorageSelector.js similarity index 100% rename from containers/members/MemberStorageSelector.js rename to Containers/members/MemberStorageSelector.js diff --git a/containers/members/MemberVPNSelector.js b/Containers/members/MemberVPNSelector.js similarity index 100% rename from containers/members/MemberVPNSelector.js rename to Containers/members/MemberVPNSelector.js diff --git a/containers/members/MembersSection.js b/Containers/members/MembersSection.js similarity index 100% rename from containers/members/MembersSection.js rename to Containers/members/MembersSection.js diff --git a/containers/members/useMemberModal.js b/Containers/members/useMemberModal.js similarity index 100% rename from containers/members/useMemberModal.js rename to Containers/members/useMemberModal.js diff --git a/containers/messages/EmbeddedToggle.js b/Containers/messages/EmbeddedToggle.js similarity index 100% rename from containers/messages/EmbeddedToggle.js rename to Containers/messages/EmbeddedToggle.js diff --git a/containers/messages/MessageContentSection.js b/Containers/messages/MessageContentSection.js similarity index 100% rename from containers/messages/MessageContentSection.js rename to Containers/messages/MessageContentSection.js diff --git a/containers/messages/RemoteToggle.js b/Containers/messages/RemoteToggle.js similarity index 100% rename from containers/messages/RemoteToggle.js rename to Containers/messages/RemoteToggle.js diff --git a/containers/notification/DailyNotificationsToggle.js b/Containers/notification/DailyNotificationsToggle.js similarity index 100% rename from containers/notification/DailyNotificationsToggle.js rename to Containers/notification/DailyNotificationsToggle.js diff --git a/containers/notification/DesktopNotificationPanel.js b/Containers/notification/DesktopNotificationPanel.js similarity index 100% rename from containers/notification/DesktopNotificationPanel.js rename to Containers/notification/DesktopNotificationPanel.js diff --git a/containers/notification/NewsCheckboxes.js b/Containers/notification/NewsCheckboxes.js similarity index 100% rename from containers/notification/NewsCheckboxes.js rename to Containers/notification/NewsCheckboxes.js diff --git a/containers/notification/NotificationSection.js b/Containers/notification/NotificationSection.js similarity index 100% rename from containers/notification/NotificationSection.js rename to Containers/notification/NotificationSection.js diff --git a/containers/notification/PasswordResetToggle.js b/Containers/notification/PasswordResetToggle.js similarity index 100% rename from containers/notification/PasswordResetToggle.js rename to Containers/notification/PasswordResetToggle.js diff --git a/containers/notification/RecoveryEmailButton.js b/Containers/notification/RecoveryEmailButton.js similarity index 100% rename from containers/notification/RecoveryEmailButton.js rename to Containers/notification/RecoveryEmailButton.js diff --git a/containers/notifications/Container.js b/Containers/notifications/Container.js similarity index 100% rename from containers/notifications/Container.js rename to Containers/notifications/Container.js diff --git a/containers/notifications/Provider.js b/Containers/notifications/Provider.js similarity index 100% rename from containers/notifications/Provider.js rename to Containers/notifications/Provider.js diff --git a/containers/notifications/actions.js b/Containers/notifications/actions.js similarity index 100% rename from containers/notifications/actions.js rename to Containers/notifications/actions.js diff --git a/containers/notifications/manager.js b/Containers/notifications/manager.js similarity index 100% rename from containers/notifications/manager.js rename to Containers/notifications/manager.js diff --git a/containers/notifications/reducer.js b/Containers/notifications/reducer.js similarity index 100% rename from containers/notifications/reducer.js rename to Containers/notifications/reducer.js diff --git a/containers/organization/OrganizationSection.js b/Containers/organization/OrganizationSection.js similarity index 100% rename from containers/organization/OrganizationSection.js rename to Containers/organization/OrganizationSection.js diff --git a/containers/password/AskPasswordModal.js b/Containers/password/AskPasswordModal.js similarity index 100% rename from containers/password/AskPasswordModal.js rename to Containers/password/AskPasswordModal.js diff --git a/containers/paymentMethods/PaymentMethodActions.js b/Containers/paymentMethods/PaymentMethodActions.js similarity index 100% rename from containers/paymentMethods/PaymentMethodActions.js rename to Containers/paymentMethods/PaymentMethodActions.js diff --git a/containers/paymentMethods/PaymentMethodDetails.js b/Containers/paymentMethods/PaymentMethodDetails.js similarity index 100% rename from containers/paymentMethods/PaymentMethodDetails.js rename to Containers/paymentMethods/PaymentMethodDetails.js diff --git a/containers/paymentMethods/PaymentMethodState.js b/Containers/paymentMethods/PaymentMethodState.js similarity index 100% rename from containers/paymentMethods/PaymentMethodState.js rename to Containers/paymentMethods/PaymentMethodState.js diff --git a/containers/paymentMethods/PaymentMethodsSection.js b/Containers/paymentMethods/PaymentMethodsSection.js similarity index 100% rename from containers/paymentMethods/PaymentMethodsSection.js rename to Containers/paymentMethods/PaymentMethodsSection.js diff --git a/containers/paymentMethods/PaymentMethodsSelect.js b/Containers/paymentMethods/PaymentMethodsSelect.js similarity index 100% rename from containers/paymentMethods/PaymentMethodsSelect.js rename to Containers/paymentMethods/PaymentMethodsSelect.js diff --git a/containers/paymentMethods/PaymentMethodsTable.js b/Containers/paymentMethods/PaymentMethodsTable.js similarity index 100% rename from containers/paymentMethods/PaymentMethodsTable.js rename to Containers/paymentMethods/PaymentMethodsTable.js diff --git a/containers/paymentMethods/usePaymentMethodsSelect.js b/Containers/paymentMethods/usePaymentMethodsSelect.js similarity index 100% rename from containers/paymentMethods/usePaymentMethodsSelect.js rename to Containers/paymentMethods/usePaymentMethodsSelect.js diff --git a/containers/payments/AmountButton.js b/Containers/payments/AmountButton.js similarity index 100% rename from containers/payments/AmountButton.js rename to Containers/payments/AmountButton.js diff --git a/containers/payments/Bitcoin.js b/Containers/payments/Bitcoin.js similarity index 100% rename from containers/payments/Bitcoin.js rename to Containers/payments/Bitcoin.js diff --git a/containers/payments/BitcoinDetails.js b/Containers/payments/BitcoinDetails.js similarity index 100% rename from containers/payments/BitcoinDetails.js rename to Containers/payments/BitcoinDetails.js diff --git a/containers/payments/BitcoinQRCode.js b/Containers/payments/BitcoinQRCode.js similarity index 100% rename from containers/payments/BitcoinQRCode.js rename to Containers/payments/BitcoinQRCode.js diff --git a/containers/payments/Card.js b/Containers/payments/Card.js similarity index 100% rename from containers/payments/Card.js rename to Containers/payments/Card.js diff --git a/containers/payments/Cash.js b/Containers/payments/Cash.js similarity index 100% rename from containers/payments/Cash.js rename to Containers/payments/Cash.js diff --git a/containers/payments/CurrencySelector.js b/Containers/payments/CurrencySelector.js similarity index 100% rename from containers/payments/CurrencySelector.js rename to Containers/payments/CurrencySelector.js diff --git a/containers/payments/DonateModal.js b/Containers/payments/DonateModal.js similarity index 100% rename from containers/payments/DonateModal.js rename to Containers/payments/DonateModal.js diff --git a/containers/payments/EditCardModal.js b/Containers/payments/EditCardModal.js similarity index 100% rename from containers/payments/EditCardModal.js rename to Containers/payments/EditCardModal.js diff --git a/containers/payments/Method.js b/Containers/payments/Method.js similarity index 100% rename from containers/payments/Method.js rename to Containers/payments/Method.js diff --git a/containers/payments/PayPal.js b/Containers/payments/PayPal.js similarity index 100% rename from containers/payments/PayPal.js rename to Containers/payments/PayPal.js diff --git a/containers/payments/Payment.js b/Containers/payments/Payment.js similarity index 100% rename from containers/payments/Payment.js rename to Containers/payments/Payment.js diff --git a/containers/payments/PaymentSelector.js b/Containers/payments/PaymentSelector.js similarity index 100% rename from containers/payments/PaymentSelector.js rename to Containers/payments/PaymentSelector.js diff --git a/containers/payments/TopUpModal.js b/Containers/payments/TopUpModal.js similarity index 100% rename from containers/payments/TopUpModal.js rename to Containers/payments/TopUpModal.js diff --git a/containers/payments/cardValidator.js b/Containers/payments/cardValidator.js similarity index 99% rename from containers/payments/cardValidator.js rename to Containers/payments/cardValidator.js index 38ed483ff..b1e54febe 100644 --- a/containers/payments/cardValidator.js +++ b/Containers/payments/cardValidator.js @@ -49,4 +49,4 @@ export const getErrors = (card) => { } return acc; }, Object.create(null)); -}; \ No newline at end of file +}; diff --git a/containers/payments/getDefaultCard.js b/Containers/payments/getDefaultCard.js similarity index 94% rename from containers/payments/getDefaultCard.js rename to Containers/payments/getDefaultCard.js index 208432741..f9ed7ba2e 100644 --- a/containers/payments/getDefaultCard.js +++ b/Containers/payments/getDefaultCard.js @@ -17,4 +17,4 @@ const getDefault = () => { }; }; -export default getDefault; \ No newline at end of file +export default getDefault; diff --git a/containers/payments/toDetails.js b/Containers/payments/toDetails.js similarity index 58% rename from containers/payments/toDetails.js rename to Containers/payments/toDetails.js index 72d1900de..b708f6403 100644 --- a/containers/payments/toDetails.js +++ b/Containers/payments/toDetails.js @@ -7,10 +7,14 @@ const formatYear = (year) => { const toDetails = ({ number, month: Month, year, cvc: CVC, fullname, zip: ZIP, country: Country }) => { return { - Name: clean(fullname), Number: clean(number), - Month, Year: formatYear(year), CVC, // Don't clean ZIP, space is allowed - ZIP, Country + Name: clean(fullname), + Number: clean(number), + Month, + Year: formatYear(year), + CVC, // Don't clean ZIP, space is allowed + ZIP, + Country }; }; -export default toDetails; \ No newline at end of file +export default toDetails; diff --git a/containers/payments/useCard.js b/Containers/payments/useCard.js similarity index 95% rename from containers/payments/useCard.js rename to Containers/payments/useCard.js index 412702961..e1fb72b59 100644 --- a/containers/payments/useCard.js +++ b/Containers/payments/useCard.js @@ -17,4 +17,4 @@ const useCard = (initialCard = getDefaultCard()) => { }; }; -export default useCard; \ No newline at end of file +export default useCard; diff --git a/containers/payments/usePayment.js b/Containers/payments/usePayment.js similarity index 100% rename from containers/payments/usePayment.js rename to Containers/payments/usePayment.js diff --git a/containers/products/DownloadsSection.js b/Containers/products/DownloadsSection.js similarity index 100% rename from containers/products/DownloadsSection.js rename to Containers/products/DownloadsSection.js diff --git a/containers/products/ProtonMailClients.js b/Containers/products/ProtonMailClients.js similarity index 100% rename from containers/products/ProtonMailClients.js rename to Containers/products/ProtonMailClients.js diff --git a/containers/products/ProtonVPNClients.js b/Containers/products/ProtonVPNClients.js similarity index 100% rename from containers/products/ProtonVPNClients.js rename to Containers/products/ProtonVPNClients.js diff --git a/containers/prompts/Container.js b/Containers/prompts/Container.js similarity index 100% rename from containers/prompts/Container.js rename to Containers/prompts/Container.js diff --git a/containers/prompts/Provider.js b/Containers/prompts/Provider.js similarity index 100% rename from containers/prompts/Provider.js rename to Containers/prompts/Provider.js diff --git a/containers/prompts/actions.js b/Containers/prompts/actions.js similarity index 100% rename from containers/prompts/actions.js rename to Containers/prompts/actions.js diff --git a/containers/prompts/manager.js b/Containers/prompts/manager.js similarity index 100% rename from containers/prompts/manager.js rename to Containers/prompts/manager.js diff --git a/containers/prompts/reducer.js b/Containers/prompts/reducer.js similarity index 100% rename from containers/prompts/reducer.js rename to Containers/prompts/reducer.js diff --git a/containers/security/AddressVerificationSection.js b/Containers/security/AddressVerificationSection.js similarity index 100% rename from containers/security/AddressVerificationSection.js rename to Containers/security/AddressVerificationSection.js diff --git a/containers/security/AttachPublicKeyToggle.js b/Containers/security/AttachPublicKeyToggle.js similarity index 100% rename from containers/security/AttachPublicKeyToggle.js rename to Containers/security/AttachPublicKeyToggle.js diff --git a/containers/security/ExternalPGPSettingsSection.js b/Containers/security/ExternalPGPSettingsSection.js similarity index 100% rename from containers/security/ExternalPGPSettingsSection.js rename to Containers/security/ExternalPGPSettingsSection.js diff --git a/containers/security/PGPSchemeSelect.js b/Containers/security/PGPSchemeSelect.js similarity index 100% rename from containers/security/PGPSchemeSelect.js rename to Containers/security/PGPSchemeSelect.js diff --git a/containers/security/SignToggle.js b/Containers/security/SignToggle.js similarity index 100% rename from containers/security/SignToggle.js rename to Containers/security/SignToggle.js diff --git a/containers/sessions/SessionAction.js b/Containers/sessions/SessionAction.js similarity index 95% rename from containers/sessions/SessionAction.js rename to Containers/sessions/SessionAction.js index 4ac936948..cd9ec93b5 100644 --- a/containers/sessions/SessionAction.js +++ b/Containers/sessions/SessionAction.js @@ -17,4 +17,4 @@ SessionAction.propTypes = { currentUID: PropTypes.string.isRequired }; -export default SessionAction; \ No newline at end of file +export default SessionAction; diff --git a/containers/sessions/SessionsSection.js b/Containers/sessions/SessionsSection.js similarity index 100% rename from containers/sessions/SessionsSection.js rename to Containers/sessions/SessionsSection.js diff --git a/README.md b/README.md index fffb38a7e..ea762a768 100644 --- a/README.md +++ b/README.md @@ -102,3 +102,72 @@ const handleClick = () => { }; ``` + + +## How to write components ? + +### A new component + +Let's create the component **fire**, with 3 flavors, we will have +- Fire +- RedFire +- BlueFire +- GreenFire + +1. Let's create the dir `./components/fire` +2. Create the main component `index.js` (_it will be exported as_ `Fire`) +3. Create flavors, `{green,red,blue}.js` +4. :tada: + +Now when we will export them, it will create 4 exports: +- Fire -> index.js as it's the main component +- RedFire -> red.js as it's a flavor +- BlueFire -> blue.js as it's a flavor +- GreenFire -> greem.js as it's a flavor + +ex: +`import { RedFire } from 'react-components';` + +### A new component + +### Fresh one + +Let's create the component **fire** +- Fire + +1. Let's create the dir `./components/fire` +2. Create the main component `index.js` (_it will be exported as_ `Fire`) +3. :tada: + +Now when we will export them, it will create 1 export: +- Fire -> index.js as it's the main component + +ex: +`import { Fire } from 'react-components';` + + +### From an existing one + +Let's add a new flavor of an existing component, **button** + +1. Let's open the dir `./components/button` +2. Create the main component `success.js` +3. :tada: + + +Now when we will export them, it will create 1 more export: +- SuccessButton -> success.js as it's a flavor + +ex: +`import { SuccessButton } from 'react-components';` + + +### TL;DR + +`/index.js` => `export { default as ComponentName }` +`/.js` => `export { default as FlavorComponentName }` + +ex: + +`button/index.js` => `export { default as Button }` +`button/small.js` => `export { default as SmallButton }` diff --git a/components/button/index.js b/components/button/index.js deleted file mode 100644 index 66872484d..000000000 --- a/components/button/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export { default as Button } from './Button'; -export { default as SmallButton } from './SmallButton'; -export { default as LargeButton } from './LargeButton'; -export { default as PrimaryButton } from './PrimaryButton'; -export { default as ButtonGroup } from './ButtonGroup'; -export { default as Group } from './Group'; -export { default as Copy } from './Copy'; -export { default as LinkButton } from './LinkButton'; -export { default as ResetButton } from './ResetButton'; diff --git a/components/dropdown/index.js b/components/dropdown/index.js deleted file mode 100644 index ea645df7f..000000000 --- a/components/dropdown/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { default as Dropdown } from './Dropdown'; -export { default as DropdownMenu } from './DropdownMenu'; \ No newline at end of file diff --git a/components/modal/index.js b/components/modal/index.js deleted file mode 100644 index c7f155f37..000000000 --- a/components/modal/index.js +++ /dev/null @@ -1,6 +0,0 @@ -export { default as Confirm } from './Confirm'; -export { default as Footer } from './Footer'; -export { default as Header } from './Header'; -export { default as Modal } from './Modal'; -export { default as Content } from './Content'; -export { default as Input } from './Input'; \ No newline at end of file diff --git a/components/table/index.js b/components/table/index.js deleted file mode 100644 index d1f6dce9f..000000000 --- a/components/table/index.js +++ /dev/null @@ -1,7 +0,0 @@ -export { default as Table } from './Table'; -export { default as TableCell } from './TableCell'; -export { default as TableHeader } from './TableHeader'; -export { default as TableFooter } from './TableFooter'; -export { default as TableRow } from './TableRow'; -export { default as TableBody } from './TableBody'; - diff --git a/index.js b/index.js index 4ef974860..c7db7341b 100644 --- a/index.js +++ b/index.js @@ -1,196 +1,194 @@ -export { default as Table } from './components/table/Table'; -export { default as TableRowBusy } from './components/table/TableRowBusy'; -export { default as TableBody } from './components/table/TableBody'; -export { default as TableRow } from './components/table/TableRow'; -export { default as TableHeader } from './components/table/TableHeader'; -export { default as TableCell } from './components/table/TableCell'; -export { default as TableFooter } from './components/table/TableFooter'; -export { default as TableCellBusy } from './components/table/TableCellBusy'; -export { default as Select } from './components/select/Select'; -export { default as Breadcrumb } from './components/breadcrumb/Breadcrumb'; -export { default as Alert } from './components/alert/Alert'; -export { default as Icon } from './components/icon/Icon'; -export { default as Icons } from './components/icon/Icons'; -export { default as useToggle } from './components/toggle/useToggle'; -export { default as Toggle } from './components/toggle/Toggle'; -export { default as Badge } from './components/badge/Badge'; -export { default as Bordered } from './components/container/Bordered'; -export { default as Block } from './components/container/Block'; -export { default as Row } from './components/container/Row'; -export { default as Information } from './components/container/Information'; -export { default as Tooltip } from './components/tooltip/Tooltip'; -export { default as PrimaryButton } from './components/button/PrimaryButton'; -export { default as SmallButton } from './components/button/SmallButton'; -export { default as Copy } from './components/button/Copy'; -export { default as ResetButton } from './components/button/ResetButton'; -export { default as Button } from './components/button/Button'; -export { default as LargeButton } from './components/button/LargeButton'; -export { default as LinkButton } from './components/button/LinkButton'; -export { default as ButtonGroup } from './components/button/ButtonGroup'; -export { default as Group } from './components/button/Group'; -export { default as Info } from './components/link/Info'; -export { default as Href } from './components/link/Href'; -export { default as LearnMore } from './components/link/LearnMore'; -export { default as Time } from './components/time/Time'; -export { default as DropdownItem } from './components/dropdown/DropdownItem'; -export { default as DropdownMenu } from './components/dropdown/DropdownMenu'; -export { default as Dropdown } from './components/dropdown/Dropdown'; -export { default as RichTextEditor } from './components/input/RichTextEditor'; -export { default as Checkbox } from './components/input/Checkbox'; -export { default as useInput } from './components/input/useInput'; -export { default as Search } from './components/input/Search'; -export { default as TextArea } from './components/input/TextArea'; -export { default as Input } from './components/input/Input'; -export { default as RadioCard } from './components/input/RadioCard'; -export { default as useDebounceInput } from './components/input/useDebounceInput'; -export { default as Password } from './components/input/Password'; -export { default as Radio } from './components/input/Radio'; -export { default as SubTitle } from './components/title/SubTitle'; -export { default as Title } from './components/title/Title'; -export { default as useLoader } from './components/loader/useLoader'; -export { default as useLoading } from './components/loader/useLoading'; -export { default as Loader } from './components/loader/Loader'; -export { default as Paragraph } from './components/paragraph/Paragraph'; -export { default as ModalWithPortalModal } from './components/modal/ModalWithPortal'; -export { default as ContentModal } from './components/modal/Content'; -export { default as InputModal } from './components/modal/Input'; -export { default as HeaderModal } from './components/modal/Header'; -export { default as useModal } from './components/modal/useModal'; -export { default as ConfirmModal } from './components/modal/Confirm'; -export { default as Modal } from './components/modal/Modal'; -export { default as FooterModal } from './components/modal/Footer'; -export { default as Price } from './components/price/Price'; -export { default as Progress } from './components/progress/Progress'; -export { default as Text } from './components/text/Text'; -export { default as usePaginationAsync } from './components/pagination/usePaginationAsync'; -export { default as usePagination } from './components/pagination/usePagination'; -export { default as Pagination } from './components/pagination/Pagination'; -export { default as Label } from './components/label/Label'; -export { default as NavMenu } from './components/sidebar/NavMenu'; -export { default as NavItem } from './components/sidebar/NavItem'; -export { default as Sidebar } from './components/sidebar/Sidebar'; -export { default as LoginContainer } from './containers/login/LoginContainer'; -export { default as TOTPForm } from './containers/login/TOTPForm'; -export { default as useLogin } from './containers/login/useLogin'; -export { default as UnlockForm } from './containers/login/UnlockForm'; -export { default as LoginForm } from './containers/login/LoginForm'; -export { default as ThemesSection } from './containers/appearance/ThemesSection'; -export { default as ProtonMailClients } from './containers/products/ProtonMailClients'; -export { default as ProtonVPNClients } from './containers/products/ProtonVPNClients'; -export { default as DownloadsSection } from './containers/products/DownloadsSection'; -export { default as DKIMSection } from './containers/domains/DKIMSection'; -export { default as DomainStatus } from './containers/domains/DomainStatus'; -export { default as DomainsTable } from './containers/domains/DomainsTable'; -export { default as SPFSection } from './containers/domains/SPFSection'; -export { default as VerifySection } from './containers/domains/VerifySection'; -export { default as DomainActions } from './containers/domains/DomainActions'; -export { default as AddressCatchAll } from './containers/domains/AddressCatchAll'; -export { default as MXSection } from './containers/domains/MXSection'; -export { default as DMARCSection } from './containers/domains/DMARCSection'; -export { default as CatchAllModal } from './containers/domains/CatchAllModal'; -export { default as DomainName } from './containers/domains/DomainName'; -export { default as DomainModal } from './containers/domains/DomainModal'; -export { default as DomainsSection } from './containers/domains/DomainsSection'; -export { default as AddressesTable } from './containers/domains/AddressesTable'; -export { default as DomainSection } from './containers/domains/DomainSection'; -export { default as AmountButton } from './containers/payments/AmountButton'; -export { default as Bitcoin } from './containers/payments/Bitcoin'; -export { default as CurrencySelector } from './containers/payments/CurrencySelector'; -export { default as Cash } from './containers/payments/Cash'; -export { default as Card } from './containers/payments/Card'; -export { default as BitcoinQRCode } from './containers/payments/BitcoinQRCode'; -export { default as toDetails } from './containers/payments/toDetails'; -export { default as Payment } from './containers/payments/Payment'; -export { default as useCard } from './containers/payments/useCard'; -export { default as BitcoinDetails } from './containers/payments/BitcoinDetails'; -export { default as Method } from './containers/payments/Method'; -export { default as PaymentSelector } from './containers/payments/PaymentSelector'; -export { default as TopUpModal } from './containers/payments/TopUpModal'; -export { default as EditCardModal } from './containers/payments/EditCardModal'; -export { default as usePayment } from './containers/payments/usePayment'; -export { default as getDefaultCard } from './containers/payments/getDefaultCard'; -export { default as DonateModal } from './containers/payments/DonateModal'; -export { default as PayPal } from './containers/payments/PayPal'; -export { default as AskPasswordModal } from './containers/password/AskPasswordModal'; -export { default as NotificationsContainer } from './containers/notifications/Container'; -export { default as NotificationsProvider } from './containers/notifications/Provider'; -export { default as SessionsSection } from './containers/sessions/SessionsSection'; -export { default as SessionAction } from './containers/sessions/SessionAction'; -export { default as PromptsContainer } from './containers/prompts/Container'; -export { default as PromptsProvider } from './containers/prompts/Provider'; -export { default as DesktopNotificationPanel } from './containers/notification/DesktopNotificationPanel'; -export { default as NewsCheckboxes } from './containers/notification/NewsCheckboxes'; -export { default as RecoveryEmailButton } from './containers/notification/RecoveryEmailButton'; -export { default as PasswordResetToggle } from './containers/notification/PasswordResetToggle'; -export { default as DailyNotificationsToggle } from './containers/notification/DailyNotificationsToggle'; -export { default as NotificationSection } from './containers/notification/NotificationSection'; -export { default as KeysActions } from './containers/keys/KeysActions'; -export { default as AddressKeysTable } from './containers/keys/AddressKeysTable'; -export { default as KeysRow } from './containers/keys/KeysRow'; -export { default as ContactKeysHeader } from './containers/keys/ContactKeysHeader'; -export { default as KeysTable } from './containers/keys/KeysTable'; -export { default as KeysStatus } from './containers/keys/KeysStatus'; -export { default as AddressKeysSection } from './containers/keys/AddressKeysSection'; -export { default as AddressKeysRow } from './containers/keys/AddressKeysRow'; -export { default as AddressKeysHeader } from './containers/keys/AddressKeysHeader'; -export { default as PaymentMethodState } from './containers/paymentMethods/PaymentMethodState'; -export { default as PaymentMethodActions } from './containers/paymentMethods/PaymentMethodActions'; -export { default as PaymentMethodDetails } from './containers/paymentMethods/PaymentMethodDetails'; -export { default as PaymentMethodsTable } from './containers/paymentMethods/PaymentMethodsTable'; -export { default as PaymentMethodsSection } from './containers/paymentMethods/PaymentMethodsSection'; -export { default as usePaymentMethodsSelect } from './containers/paymentMethods/usePaymentMethodsSelect'; -export { default as PaymentMethodsSelect } from './containers/paymentMethods/PaymentMethodsSelect'; -export { default as SignToggle } from './containers/security/SignToggle'; -export { default as ExternalPGPSettingsSection } from './containers/security/ExternalPGPSettingsSection'; -export { default as AttachPublicKeyToggle } from './containers/security/AttachPublicKeyToggle'; -export { default as AddressVerificationSection } from './containers/security/AddressVerificationSection'; -export { default as PGPSchemeSelect } from './containers/security/PGPSchemeSelect'; -export { default as useAddressModal } from './containers/addresses/useAddressModal'; -export { default as AddressActions } from './containers/addresses/AddressActions'; -export { default as DomainsSelect } from './containers/addresses/DomainsSelect'; -export { default as AddressesToolbar } from './containers/addresses/AddressesToolbar'; -export { default as EditAddressModal } from './containers/addresses/EditAddressModal'; -export { default as AddressModal } from './containers/addresses/AddressModal'; -export { default as AddressesSection } from './containers/addresses/AddressesSection'; -export { default as WipeLogsButton } from './containers/logs/WipeLogsButton'; -export { default as LogsSection } from './containers/logs/LogsSection'; -export { default as LogsTable } from './containers/logs/LogsTable'; -export { default as PayInvoiceModal } from './containers/invoices/PayInvoiceModal'; -export { default as InvoiceState } from './containers/invoices/InvoiceState'; -export { default as InvoiceType } from './containers/invoices/InvoiceType'; -export { default as DownloadInvoiceButton } from './containers/invoices/DownloadInvoiceButton'; -export { default as InvoiceAmount } from './containers/invoices/InvoiceAmount'; -export { default as InvoiceTextModal } from './containers/invoices/InvoiceTextModal'; -export { default as InvoicesSection } from './containers/invoices/InvoicesSection'; -export { default as InvoiceActions } from './containers/invoices/InvoiceActions'; -export { default as PayButton } from './containers/invoices/PayButton'; -export { default as AddMemberButton } from './containers/members/AddMemberButton'; -export { default as MembersSection } from './containers/members/MembersSection'; -export { default as MemberPrivate } from './containers/members/MemberPrivate'; -export { default as EditMemberModal } from './containers/members/EditMemberModal'; -export { default as useMemberModal } from './containers/members/useMemberModal'; -export { default as MemberRole } from './containers/members/MemberRole'; -export { default as MemberStorageSelector } from './containers/members/MemberStorageSelector'; -export { default as MemberOptions } from './containers/members/MemberOptions'; -export { default as MemberActions } from './containers/members/MemberActions'; -export { default as MemberVPNSelector } from './containers/members/MemberVPNSelector'; -export { default as MemberModal } from './containers/members/MemberModal'; -export { default as MemberAddresses } from './containers/members/MemberAddresses'; -export { default as DraftTypeSelect } from './containers/layouts/DraftTypeSelect'; -export { default as TextDirectionSelect } from './containers/layouts/TextDirectionSelect'; -export { default as ShowMovedSelect } from './containers/layouts/ShowMovedSelect'; -export { default as ViewModeRadios } from './containers/layouts/ViewModeRadios'; -export { default as LayoutsSection } from './containers/layouts/LayoutsSection'; -export { default as ViewLayoutRadios } from './containers/layouts/ViewLayoutRadios'; -export { default as ComposerModeRadios } from './containers/layouts/ComposerModeRadios'; -export { default as OrganizationSection } from './containers/organization/OrganizationSection'; -export { default as RemoteToggle } from './containers/messages/RemoteToggle'; -export { default as EmbeddedToggle } from './containers/messages/EmbeddedToggle'; -export { default as MessageContentSection } from './containers/messages/MessageContentSection'; -export { default as NotificationsContext } from './context/notifications'; -export { default as AuthenticationStoreContext } from './context/authenticationStore'; -export { default as ApiContext } from './context/api'; -export { default as PromptsContext } from './context/prompts'; +export { default as TableBody } from './Components/table/body'; +export { default as TableCellBusy } from './Components/table/cellBusy'; +export { default as TableHeader } from './Components/table/header'; +export { default as TableRowBusy } from './Components/table/rowBusy'; +export { default as TableFooter } from './Components/table/footer'; +export { default as TableCell } from './Components/table/cell'; +export { default as Table } from './Components/table/index'; +export { default as TableRow } from './Components/table/row'; +export { default as Select } from './Components/select/index'; +export { default as Breadcrumb } from './Components/breadcrumb/index'; +export { default as Alert } from './Components/alert/index'; +export { default as Icon } from './Components/icon/index'; +export { default as Toggle } from './Components/toggle/index'; +export { default as useToggle } from './Components/toggle/useToggle'; +export { default as Badge } from './Components/badge/index'; +export { default as Bordered } from './Components/container/Bordered'; +export { default as Block } from './Components/container/Block'; +export { default as Row } from './Components/container/Row'; +export { default as Group } from './Components/container/Group'; +export { default as Icons } from './Components/container/Icons'; +export { default as Information } from './Components/container/Information'; +export { default as Tooltip } from './Components/tooltip/index'; +export { default as ButtonReset } from './Components/button/reset'; +export { default as ButtonCopy } from './Components/button/copy'; +export { default as ButtonGroup } from './Components/button/group'; +export { default as Button } from './Components/button/index'; +export { default as ButtonLink } from './Components/button/link'; +export { default as ButtonPrimary } from './Components/button/primary'; +export { default as ButtonLarge } from './Components/button/large'; +export { default as ButtonSmall } from './Components/button/small'; +export { default as LinkInfo } from './Components/link/Info'; +export { default as LinkLearnMore } from './Components/link/LearnMore'; +export { default as Link } from './Components/link/index'; +export { default as Time } from './Components/time/index'; +export { default as DropdownMenu } from './Components/dropdown/menu'; +export { default as Dropdown } from './Components/dropdown/index'; +export { default as DropdownItem } from './Components/dropdown/item'; +export { default as InputRichTextEditor } from './Components/input/RichTextEditor'; +export { default as InputCheckbox } from './Components/input/Checkbox'; +export { default as useInput } from './Components/input/useInput'; +export { default as InputSearch } from './Components/input/Search'; +export { default as InputTextArea } from './Components/input/TextArea'; +export { default as InputRadioCard } from './Components/input/RadioCard'; +export { default as Input } from './Components/input/index'; +export { default as useDebounceInput } from './Components/input/useDebounceInput'; +export { default as InputPassword } from './Components/input/Password'; +export { default as InputRadio } from './Components/input/Radio'; +export { default as SubTitle } from './Components/title/SubTitle'; +export { default as Title } from './Components/title/index'; +export { default as useLoader } from './Components/loader/useLoader'; +export { default as Loader } from './Components/loader/index'; +export { default as useLoading } from './Components/loader/useLoading'; +export { default as Paragraph } from './Components/paragraph/index'; +export { default as ModalModalWithPortal } from './Components/modal/ModalWithPortal'; +export { default as ModalContent } from './Components/modal/Content'; +export { default as ModalInput } from './Components/modal/Input'; +export { default as Modal } from './Components/modal/index'; +export { default as ModalHeader } from './Components/modal/Header'; +export { default as useModal } from './Components/modal/useModal'; +export { default as ModalConfirm } from './Components/modal/Confirm'; +export { default as ModalFooter } from './Components/modal/Footer'; +export { default as Price } from './Components/price/index'; +export { default as Progress } from './Components/progress/index'; +export { default as Text } from './Components/text/index'; +export { default as usePaginationAsync } from './Components/pagination/usePaginationAsync'; +export { default as usePagination } from './Components/pagination/usePagination'; +export { default as Pagination } from './Components/pagination/index'; +export { default as Label } from './Components/label/index'; +export { default as SidebarNavMenu } from './Components/sidebar/NavMenu'; +export { default as SidebarNavItem } from './Components/sidebar/NavItem'; +export { default as Sidebar } from './Components/sidebar/index'; +export { default as LoginLoginContainer } from './Containers/login/LoginContainer'; +export { default as LoginTOTPForm } from './Containers/login/TOTPForm'; +export { default as useLogin } from './Containers/login/useLogin'; +export { default as LoginUnlockForm } from './Containers/login/UnlockForm'; +export { default as LoginLoginForm } from './Containers/login/LoginForm'; +export { default as AppearanceThemesSection } from './Containers/appearance/ThemesSection'; +export { default as ProductsProtonMailClients } from './Containers/products/ProtonMailClients'; +export { default as ProductsProtonVPNClients } from './Containers/products/ProtonVPNClients'; +export { default as ProductsDownloadsSection } from './Containers/products/DownloadsSection'; +export { default as DomainsTable } from './Containers/domains/table'; +export { default as DomainsAddressCatchAll } from './Containers/domains/AddressCatchAll'; +export { default as DomainsAddressesTable } from './Containers/domains/AddressesTable'; +export { default as DomainsSection } from './Containers/domains/section'; +export { default as PaymentsAmountButton } from './Containers/payments/AmountButton'; +export { default as PaymentsBitcoin } from './Containers/payments/Bitcoin'; +export { default as PaymentsCurrencySelector } from './Containers/payments/CurrencySelector'; +export { default as PaymentsCash } from './Containers/payments/Cash'; +export { default as PaymentsCard } from './Containers/payments/Card'; +export { default as PaymentsBitcoinQRCode } from './Containers/payments/BitcoinQRCode'; +export { default as PaymentsToDetails } from './Containers/payments/toDetails'; +export { default as PaymentsPayment } from './Containers/payments/Payment'; +export { default as useCard } from './Containers/payments/useCard'; +export { default as PaymentsBitcoinDetails } from './Containers/payments/BitcoinDetails'; +export { default as PaymentsMethod } from './Containers/payments/Method'; +export { default as PaymentsPaymentSelector } from './Containers/payments/PaymentSelector'; +export { default as PaymentsTopUpModal } from './Containers/payments/TopUpModal'; +export { default as PaymentsEditCardModal } from './Containers/payments/EditCardModal'; +export { default as usePayment } from './Containers/payments/usePayment'; +export { default as PaymentsGetDefaultCard } from './Containers/payments/getDefaultCard'; +export { default as PaymentsDonateModal } from './Containers/payments/DonateModal'; +export { default as PaymentsPayPal } from './Containers/payments/PayPal'; +export { default as PasswordAskPasswordModal } from './Containers/password/AskPasswordModal'; +export { default as NotificationsContainer } from './Containers/notifications/Container'; +export { default as NotificationsProvider } from './Containers/notifications/Provider'; +export { default as SessionsSessionsSection } from './Containers/sessions/SessionsSection'; +export { default as SessionsSessionAction } from './Containers/sessions/SessionAction'; +export { default as PromptsContainer } from './Containers/prompts/Container'; +export { default as PromptsProvider } from './Containers/prompts/Provider'; +export { default as NotificationDesktopNotificationPanel } from './Containers/notification/DesktopNotificationPanel'; +export { default as NotificationNewsCheckboxes } from './Containers/notification/NewsCheckboxes'; +export { default as NotificationRecoveryEmailButton } from './Containers/notification/RecoveryEmailButton'; +export { default as NotificationPasswordResetToggle } from './Containers/notification/PasswordResetToggle'; +export { default as NotificationDailyNotificationsToggle } from './Containers/notification/DailyNotificationsToggle'; +export { default as NotificationNotificationSection } from './Containers/notification/NotificationSection'; +export { default as KeysKeysActions } from './Containers/keys/KeysActions'; +export { default as KeysAddressKeysTable } from './Containers/keys/AddressKeysTable'; +export { default as KeysKeysRow } from './Containers/keys/KeysRow'; +export { default as KeysContactKeysHeader } from './Containers/keys/ContactKeysHeader'; +export { default as KeysKeysTable } from './Containers/keys/KeysTable'; +export { default as KeysKeysStatus } from './Containers/keys/KeysStatus'; +export { default as KeysAddressKeysSection } from './Containers/keys/AddressKeysSection'; +export { default as KeysAddressKeysRow } from './Containers/keys/AddressKeysRow'; +export { default as KeysAddressKeysHeader } from './Containers/keys/AddressKeysHeader'; +export { default as DomainDKIMSection } from './Containers/domain/DKIMSection'; +export { default as DomainName } from './Containers/domain/name'; +export { default as DomainStatus } from './Containers/domain/status'; +export { default as DomainSPFSection } from './Containers/domain/SPFSection'; +export { default as DomainMXSection } from './Containers/domain/MXSection'; +export { default as DomainVerifySection } from './Containers/domain/verifySection'; +export { default as DomainDMARCSection } from './Containers/domain/DMARCSection'; +export { default as DomainModal } from './Containers/domain/modal/index'; +export { default as DomainCatchAllModal } from './Containers/domain/modal/catchAll'; +export { default as DomainSection } from './Containers/domain/section'; +export { default as PaymentMethodsPaymentMethodState } from './Containers/paymentMethods/PaymentMethodState'; +export { default as PaymentMethodsPaymentMethodActions } from './Containers/paymentMethods/PaymentMethodActions'; +export { default as PaymentMethodsPaymentMethodDetails } from './Containers/paymentMethods/PaymentMethodDetails'; +export { default as PaymentMethodsPaymentMethodsTable } from './Containers/paymentMethods/PaymentMethodsTable'; +export { default as PaymentMethodsPaymentMethodsSection } from './Containers/paymentMethods/PaymentMethodsSection'; +export { default as usePaymentMethodsSelect } from './Containers/paymentMethods/usePaymentMethodsSelect'; +export { default as PaymentMethodsPaymentMethodsSelect } from './Containers/paymentMethods/PaymentMethodsSelect'; +export { default as SecuritySignToggle } from './Containers/security/SignToggle'; +export { default as SecurityExternalPGPSettingsSection } from './Containers/security/ExternalPGPSettingsSection'; +export { default as SecurityAttachPublicKeyToggle } from './Containers/security/AttachPublicKeyToggle'; +export { default as SecurityAddressVerificationSection } from './Containers/security/AddressVerificationSection'; +export { default as SecurityPGPSchemeSelect } from './Containers/security/PGPSchemeSelect'; +export { default as AddressesStatus } from './Containers/addresses/status'; +export { default as AddressesDomainsSelect } from './Containers/addresses/domainsSelect'; +export { default as AddressesUseModal } from './Containers/addresses/modal/use'; +export { default as AddressesModal } from './Containers/addresses/modal/index'; +export { default as AddressesEditModal } from './Containers/addresses/modal/edit'; +export { default as AddressesSection } from './Containers/addresses/section'; +export { default as AddressesToolbar } from './Containers/addresses/toolbar'; +export { default as LogsWipeLogsButton } from './Containers/logs/WipeLogsButton'; +export { default as LogsLogsSection } from './Containers/logs/LogsSection'; +export { default as LogsLogsTable } from './Containers/logs/LogsTable'; +export { default as InvoicesPayButton } from './Containers/invoices/payButton'; +export { default as InvoicesAmount } from './Containers/invoices/amount'; +export { default as InvoicesDownloadButton } from './Containers/invoices/downloadButton'; +export { default as InvoicesPayModal } from './Containers/invoices/modal/pay'; +export { default as InvoicesTextModal } from './Containers/invoices/modal/text'; +export { default as InvoicesType } from './Containers/invoices/type'; +export { default as InvoicesState } from './Containers/invoices/state'; +export { default as InvoicesSection } from './Containers/invoices/section'; +export { default as MembersAddMemberButton } from './Containers/members/AddMemberButton'; +export { default as MembersMembersSection } from './Containers/members/MembersSection'; +export { default as MembersMemberPrivate } from './Containers/members/MemberPrivate'; +export { default as MembersEditMemberModal } from './Containers/members/EditMemberModal'; +export { default as useMemberModal } from './Containers/members/useMemberModal'; +export { default as MembersMemberRole } from './Containers/members/MemberRole'; +export { default as MembersMemberStorageSelector } from './Containers/members/MemberStorageSelector'; +export { default as MembersMemberOptions } from './Containers/members/MemberOptions'; +export { default as MembersMemberActions } from './Containers/members/MemberActions'; +export { default as MembersMemberVPNSelector } from './Containers/members/MemberVPNSelector'; +export { default as MembersMemberModal } from './Containers/members/MemberModal'; +export { default as MembersMemberAddresses } from './Containers/members/MemberAddresses'; +export { default as LayoutsDraftTypeSelect } from './Containers/layouts/DraftTypeSelect'; +export { default as LayoutsTextDirectionSelect } from './Containers/layouts/TextDirectionSelect'; +export { default as LayoutsShowMovedSelect } from './Containers/layouts/ShowMovedSelect'; +export { default as LayoutsViewModeRadios } from './Containers/layouts/ViewModeRadios'; +export { default as LayoutsLayoutsSection } from './Containers/layouts/LayoutsSection'; +export { default as LayoutsViewLayoutRadios } from './Containers/layouts/ViewLayoutRadios'; +export { default as LayoutsComposerModeRadios } from './Containers/layouts/ComposerModeRadios'; +export { default as OrganizationOrganizationSection } from './Containers/organization/OrganizationSection'; +export { default as MessagesRemoteToggle } from './Containers/messages/RemoteToggle'; +export { default as MessagesEmbeddedToggle } from './Containers/messages/EmbeddedToggle'; +export { default as MessagesMessageContentSection } from './Containers/messages/MessageContentSection'; +export { default as ContextNotifications } from './context/notifications'; +export { default as ContextAuthenticationStore } from './context/authenticationStore'; +export { default as ContextApi } from './context/api'; +export { default as ContextPrompts } from './context/prompts'; export { default as useStep } from './helpers/useStep'; export { default as useApiWithoutResult } from './hooks/useApiWithoutResult'; export { default as useEventManager } from './hooks/useEventManager'; diff --git a/makeExport b/makeExport index 5871bfbcc..01bf0c2bc 100755 --- a/makeExport +++ b/makeExport @@ -10,29 +10,72 @@ const ucFirst = (input) => { }; const NO_EXPORT_FILES = [ - 'manager', 'index', 'reducer', 'actions', + 'manager', 'reducer', 'actions', 'AddressStatus', 'countries', 'cardValidator' ]; +const list = [ + { + name: 'Dropdown', + newName: 'From DropdownX to XDropdown' + }, + { + name: 'Href', + newName: 'Link' + }, + { + name: 'AddressModal - EditAddressModal - UseAddressModal', + newName: 'AddressesModal - EditAddressesModal - UseAddressesModal' + }, + { + name: 'AddressActions - AddressStatus - AddressesDomainsSelect', + newName: 'AddressesActions - AddressesStatus - AddressesDomainsSelect' + }, + { + name: '* domains and * domain', + newName: '----' + }, + { + name: '* invoices modals', + newName: '----' + } +]; + +console.log('Renamed', JSON.stringify(list, null, 2)) + async function main() { - const { stdout } = await bash("find {components,containers,context,helpers,hooks} -type f -name '*.js'"); + const { stdout } = await bash("find {Components,Containers,context,helpers,hooks} -type f -name '*.js'"); + + const getExport = ({ fileName, dir, filePath }, mode) => { + + const type = path.basename(dir); + + + if (mode === 'containers' && type === 'modal') { + const component = path.basename(path.resolve(dir, '..')); - const getExport = ({ fileName, dir, filePath }) => { - if (/context$/.test(dir)) { - return `${ucFirst(fileName)}Context`; + if (fileName === 'index') { + return `${ucFirst(component)}Modal`; + } + + return `${ucFirst(component)}${ucFirst(fileName)}Modal`; } - // Do not change the userX or Main module - if (/modal$/.test(dir) && !fileName.startsWith('use') && fileName !== 'Modal') { - return `${ucFirst(fileName)}Modal`; + // Custom Case + if (fileName === 'SubTitle' || type === 'container') { + return ucFirst(fileName); } - if (fileName === 'Provider' || fileName === 'Container') { - console.log(`⚠ Broken name for ${filePath} you need to change it`); - const type = path.basename(dir); - return `${ucFirst(type)}${fileName}`; + // index === main module + if (fileName === 'index' ) { + return ucFirst(type); } - return fileName; + + if (fileName.startsWith('use')) { + return fileName; + } + + return `${ucFirst(type)}${ucFirst(fileName)}`; }; const getConfig = (file) => { @@ -65,17 +108,19 @@ async function main() { return isExportable && !/(\.test|Model)$/.test(fileName) }; - const makeExport = (config) => { - return `export { default as ${getExport(config)} } from './${config.filePath}';`; + const makeExport = (config, mode) => { + return `export { default as ${getExport(config, mode)} } from './${config.filePath}';`; }; const content = stdout .split('\n') .reduce((acc, file) => { + + const [type = ''] = file.split(path.sep) const config = getConfig(file); if (isExportable(config)) { - acc.push(makeExport(config)); + acc.push(makeExport(config, type.toLowerCase())); } return acc; }, []) From bccda9234a30a03cc3c7371e86d806d2739df1bc Mon Sep 17 00:00:00 2001 From: dhoko Date: Wed, 20 Mar 2019 11:00:11 +0100 Subject: [PATCH 4/8] step 3 --- .../keys/{KeysActions.js => actions.js} | 0 ...{AddressKeysHeader.js => addressHeader.js} | 0 .../keys/{AddressKeysRow.js => addressRow.js} | 0 ...ddressKeysSection.js => addressSection.js} | 0 .../{AddressKeysTable.js => addressTable.js} | 0 ...{ContactKeysHeader.js => contactHeader.js} | 0 Containers/keys/{KeysRow.js => row.js} | 0 Containers/keys/{KeysStatus.js => status.js} | 0 Containers/keys/{KeysTable.js => table.js} | 0 .../login/{LoginContainer.js => container.js} | 0 Containers/login/{LoginForm.js => form.js} | 0 .../logs/{LogsSection.js => section.js} | 0 Containers/logs/{LogsTable.js => table.js} | 0 .../logs/{WipeLogsButton.js => wipeButton.js} | 0 .../{MemberVPNSelector.js => VPNSelector.js} | 0 .../members/{MemberActions.js => action.js} | 0 .../{AddMemberButton.js => addButton.js} | 0 .../{MemberAddresses.js => addresses.js} | 0 .../{EditMemberModal.js => modal/edit.js} | 0 .../{MemberModal.js => modal/index.js} | 0 .../members/{MemberOptions.js => options.js} | 0 .../members/{MemberPrivate.js => private.js} | 0 Containers/members/{MemberRole.js => role.js} | 0 .../members/{MembersSection.js => section.js} | 0 .../{MemberStorageSelector.js => selector.js} | 0 ...ageContentSection.js => contentSection.js} | 0 .../{NotificationSection.js => section.js} | 0 .../{OrganizationSection.js => section.js} | 0 .../{AskPasswordModal.js => askModal.js} | 0 .../{PaymentMethodActions.js => actions.js} | 0 .../{PaymentMethodDetails.js => details.js} | 0 .../{PaymentMethodsSection.js => section.js} | 0 .../{PaymentMethodsSelect.js => select.js} | 0 .../{PaymentMethodState.js => state.js} | 0 .../{PaymentMethodsTable.js => table.js} | 0 Containers/payments/{Payment.js => index.js} | 0 .../{DonateModal.js => modal/donate.js} | 0 .../{EditCardModal.js => modal/editCard.js} | 0 .../{TopUpModal.js => modal/topUp.js} | 0 .../{PaymentSelector.js => selector.js} | 0 .../sessions/{SessionAction.js => action.js} | 0 .../{SessionsSection.js => section.js} | 0 index.js | 82 +++++++++---------- makeExport | 8 ++ package.json | 2 +- 45 files changed, 49 insertions(+), 43 deletions(-) rename Containers/keys/{KeysActions.js => actions.js} (100%) rename Containers/keys/{AddressKeysHeader.js => addressHeader.js} (100%) rename Containers/keys/{AddressKeysRow.js => addressRow.js} (100%) rename Containers/keys/{AddressKeysSection.js => addressSection.js} (100%) rename Containers/keys/{AddressKeysTable.js => addressTable.js} (100%) rename Containers/keys/{ContactKeysHeader.js => contactHeader.js} (100%) rename Containers/keys/{KeysRow.js => row.js} (100%) rename Containers/keys/{KeysStatus.js => status.js} (100%) rename Containers/keys/{KeysTable.js => table.js} (100%) rename Containers/login/{LoginContainer.js => container.js} (100%) rename Containers/login/{LoginForm.js => form.js} (100%) rename Containers/logs/{LogsSection.js => section.js} (100%) rename Containers/logs/{LogsTable.js => table.js} (100%) rename Containers/logs/{WipeLogsButton.js => wipeButton.js} (100%) rename Containers/members/{MemberVPNSelector.js => VPNSelector.js} (100%) rename Containers/members/{MemberActions.js => action.js} (100%) rename Containers/members/{AddMemberButton.js => addButton.js} (100%) rename Containers/members/{MemberAddresses.js => addresses.js} (100%) rename Containers/members/{EditMemberModal.js => modal/edit.js} (100%) rename Containers/members/{MemberModal.js => modal/index.js} (100%) rename Containers/members/{MemberOptions.js => options.js} (100%) rename Containers/members/{MemberPrivate.js => private.js} (100%) rename Containers/members/{MemberRole.js => role.js} (100%) rename Containers/members/{MembersSection.js => section.js} (100%) rename Containers/members/{MemberStorageSelector.js => selector.js} (100%) rename Containers/messages/{MessageContentSection.js => contentSection.js} (100%) rename Containers/notification/{NotificationSection.js => section.js} (100%) rename Containers/organization/{OrganizationSection.js => section.js} (100%) rename Containers/password/{AskPasswordModal.js => askModal.js} (100%) rename Containers/paymentMethods/{PaymentMethodActions.js => actions.js} (100%) rename Containers/paymentMethods/{PaymentMethodDetails.js => details.js} (100%) rename Containers/paymentMethods/{PaymentMethodsSection.js => section.js} (100%) rename Containers/paymentMethods/{PaymentMethodsSelect.js => select.js} (100%) rename Containers/paymentMethods/{PaymentMethodState.js => state.js} (100%) rename Containers/paymentMethods/{PaymentMethodsTable.js => table.js} (100%) rename Containers/payments/{Payment.js => index.js} (100%) rename Containers/payments/{DonateModal.js => modal/donate.js} (100%) rename Containers/payments/{EditCardModal.js => modal/editCard.js} (100%) rename Containers/payments/{TopUpModal.js => modal/topUp.js} (100%) rename Containers/payments/{PaymentSelector.js => selector.js} (100%) rename Containers/sessions/{SessionAction.js => action.js} (100%) rename Containers/sessions/{SessionsSection.js => section.js} (100%) diff --git a/Containers/keys/KeysActions.js b/Containers/keys/actions.js similarity index 100% rename from Containers/keys/KeysActions.js rename to Containers/keys/actions.js diff --git a/Containers/keys/AddressKeysHeader.js b/Containers/keys/addressHeader.js similarity index 100% rename from Containers/keys/AddressKeysHeader.js rename to Containers/keys/addressHeader.js diff --git a/Containers/keys/AddressKeysRow.js b/Containers/keys/addressRow.js similarity index 100% rename from Containers/keys/AddressKeysRow.js rename to Containers/keys/addressRow.js diff --git a/Containers/keys/AddressKeysSection.js b/Containers/keys/addressSection.js similarity index 100% rename from Containers/keys/AddressKeysSection.js rename to Containers/keys/addressSection.js diff --git a/Containers/keys/AddressKeysTable.js b/Containers/keys/addressTable.js similarity index 100% rename from Containers/keys/AddressKeysTable.js rename to Containers/keys/addressTable.js diff --git a/Containers/keys/ContactKeysHeader.js b/Containers/keys/contactHeader.js similarity index 100% rename from Containers/keys/ContactKeysHeader.js rename to Containers/keys/contactHeader.js diff --git a/Containers/keys/KeysRow.js b/Containers/keys/row.js similarity index 100% rename from Containers/keys/KeysRow.js rename to Containers/keys/row.js diff --git a/Containers/keys/KeysStatus.js b/Containers/keys/status.js similarity index 100% rename from Containers/keys/KeysStatus.js rename to Containers/keys/status.js diff --git a/Containers/keys/KeysTable.js b/Containers/keys/table.js similarity index 100% rename from Containers/keys/KeysTable.js rename to Containers/keys/table.js diff --git a/Containers/login/LoginContainer.js b/Containers/login/container.js similarity index 100% rename from Containers/login/LoginContainer.js rename to Containers/login/container.js diff --git a/Containers/login/LoginForm.js b/Containers/login/form.js similarity index 100% rename from Containers/login/LoginForm.js rename to Containers/login/form.js diff --git a/Containers/logs/LogsSection.js b/Containers/logs/section.js similarity index 100% rename from Containers/logs/LogsSection.js rename to Containers/logs/section.js diff --git a/Containers/logs/LogsTable.js b/Containers/logs/table.js similarity index 100% rename from Containers/logs/LogsTable.js rename to Containers/logs/table.js diff --git a/Containers/logs/WipeLogsButton.js b/Containers/logs/wipeButton.js similarity index 100% rename from Containers/logs/WipeLogsButton.js rename to Containers/logs/wipeButton.js diff --git a/Containers/members/MemberVPNSelector.js b/Containers/members/VPNSelector.js similarity index 100% rename from Containers/members/MemberVPNSelector.js rename to Containers/members/VPNSelector.js diff --git a/Containers/members/MemberActions.js b/Containers/members/action.js similarity index 100% rename from Containers/members/MemberActions.js rename to Containers/members/action.js diff --git a/Containers/members/AddMemberButton.js b/Containers/members/addButton.js similarity index 100% rename from Containers/members/AddMemberButton.js rename to Containers/members/addButton.js diff --git a/Containers/members/MemberAddresses.js b/Containers/members/addresses.js similarity index 100% rename from Containers/members/MemberAddresses.js rename to Containers/members/addresses.js diff --git a/Containers/members/EditMemberModal.js b/Containers/members/modal/edit.js similarity index 100% rename from Containers/members/EditMemberModal.js rename to Containers/members/modal/edit.js diff --git a/Containers/members/MemberModal.js b/Containers/members/modal/index.js similarity index 100% rename from Containers/members/MemberModal.js rename to Containers/members/modal/index.js diff --git a/Containers/members/MemberOptions.js b/Containers/members/options.js similarity index 100% rename from Containers/members/MemberOptions.js rename to Containers/members/options.js diff --git a/Containers/members/MemberPrivate.js b/Containers/members/private.js similarity index 100% rename from Containers/members/MemberPrivate.js rename to Containers/members/private.js diff --git a/Containers/members/MemberRole.js b/Containers/members/role.js similarity index 100% rename from Containers/members/MemberRole.js rename to Containers/members/role.js diff --git a/Containers/members/MembersSection.js b/Containers/members/section.js similarity index 100% rename from Containers/members/MembersSection.js rename to Containers/members/section.js diff --git a/Containers/members/MemberStorageSelector.js b/Containers/members/selector.js similarity index 100% rename from Containers/members/MemberStorageSelector.js rename to Containers/members/selector.js diff --git a/Containers/messages/MessageContentSection.js b/Containers/messages/contentSection.js similarity index 100% rename from Containers/messages/MessageContentSection.js rename to Containers/messages/contentSection.js diff --git a/Containers/notification/NotificationSection.js b/Containers/notification/section.js similarity index 100% rename from Containers/notification/NotificationSection.js rename to Containers/notification/section.js diff --git a/Containers/organization/OrganizationSection.js b/Containers/organization/section.js similarity index 100% rename from Containers/organization/OrganizationSection.js rename to Containers/organization/section.js diff --git a/Containers/password/AskPasswordModal.js b/Containers/password/askModal.js similarity index 100% rename from Containers/password/AskPasswordModal.js rename to Containers/password/askModal.js diff --git a/Containers/paymentMethods/PaymentMethodActions.js b/Containers/paymentMethods/actions.js similarity index 100% rename from Containers/paymentMethods/PaymentMethodActions.js rename to Containers/paymentMethods/actions.js diff --git a/Containers/paymentMethods/PaymentMethodDetails.js b/Containers/paymentMethods/details.js similarity index 100% rename from Containers/paymentMethods/PaymentMethodDetails.js rename to Containers/paymentMethods/details.js diff --git a/Containers/paymentMethods/PaymentMethodsSection.js b/Containers/paymentMethods/section.js similarity index 100% rename from Containers/paymentMethods/PaymentMethodsSection.js rename to Containers/paymentMethods/section.js diff --git a/Containers/paymentMethods/PaymentMethodsSelect.js b/Containers/paymentMethods/select.js similarity index 100% rename from Containers/paymentMethods/PaymentMethodsSelect.js rename to Containers/paymentMethods/select.js diff --git a/Containers/paymentMethods/PaymentMethodState.js b/Containers/paymentMethods/state.js similarity index 100% rename from Containers/paymentMethods/PaymentMethodState.js rename to Containers/paymentMethods/state.js diff --git a/Containers/paymentMethods/PaymentMethodsTable.js b/Containers/paymentMethods/table.js similarity index 100% rename from Containers/paymentMethods/PaymentMethodsTable.js rename to Containers/paymentMethods/table.js diff --git a/Containers/payments/Payment.js b/Containers/payments/index.js similarity index 100% rename from Containers/payments/Payment.js rename to Containers/payments/index.js diff --git a/Containers/payments/DonateModal.js b/Containers/payments/modal/donate.js similarity index 100% rename from Containers/payments/DonateModal.js rename to Containers/payments/modal/donate.js diff --git a/Containers/payments/EditCardModal.js b/Containers/payments/modal/editCard.js similarity index 100% rename from Containers/payments/EditCardModal.js rename to Containers/payments/modal/editCard.js diff --git a/Containers/payments/TopUpModal.js b/Containers/payments/modal/topUp.js similarity index 100% rename from Containers/payments/TopUpModal.js rename to Containers/payments/modal/topUp.js diff --git a/Containers/payments/PaymentSelector.js b/Containers/payments/selector.js similarity index 100% rename from Containers/payments/PaymentSelector.js rename to Containers/payments/selector.js diff --git a/Containers/sessions/SessionAction.js b/Containers/sessions/action.js similarity index 100% rename from Containers/sessions/SessionAction.js rename to Containers/sessions/action.js diff --git a/Containers/sessions/SessionsSection.js b/Containers/sessions/section.js similarity index 100% rename from Containers/sessions/SessionsSection.js rename to Containers/sessions/section.js diff --git a/index.js b/index.js index c7db7341b..9cf1143ad 100644 --- a/index.js +++ b/index.js @@ -69,11 +69,11 @@ export { default as Label } from './Components/label/index'; export { default as SidebarNavMenu } from './Components/sidebar/NavMenu'; export { default as SidebarNavItem } from './Components/sidebar/NavItem'; export { default as Sidebar } from './Components/sidebar/index'; -export { default as LoginLoginContainer } from './Containers/login/LoginContainer'; +export { default as LoginForm } from './Containers/login/form'; export { default as LoginTOTPForm } from './Containers/login/TOTPForm'; export { default as useLogin } from './Containers/login/useLogin'; export { default as LoginUnlockForm } from './Containers/login/UnlockForm'; -export { default as LoginLoginForm } from './Containers/login/LoginForm'; +export { default as LoginContainer } from './Containers/login/container'; export { default as AppearanceThemesSection } from './Containers/appearance/ThemesSection'; export { default as ProductsProtonMailClients } from './Containers/products/ProtonMailClients'; export { default as ProductsProtonVPNClients } from './Containers/products/ProtonVPNClients'; @@ -83,28 +83,28 @@ export { default as DomainsAddressCatchAll } from './Containers/domains/AddressC export { default as DomainsAddressesTable } from './Containers/domains/AddressesTable'; export { default as DomainsSection } from './Containers/domains/section'; export { default as PaymentsAmountButton } from './Containers/payments/AmountButton'; +export { default as PaymentsSelector } from './Containers/payments/selector'; export { default as PaymentsBitcoin } from './Containers/payments/Bitcoin'; export { default as PaymentsCurrencySelector } from './Containers/payments/CurrencySelector'; export { default as PaymentsCash } from './Containers/payments/Cash'; export { default as PaymentsCard } from './Containers/payments/Card'; export { default as PaymentsBitcoinQRCode } from './Containers/payments/BitcoinQRCode'; export { default as PaymentsToDetails } from './Containers/payments/toDetails'; -export { default as PaymentsPayment } from './Containers/payments/Payment'; export { default as useCard } from './Containers/payments/useCard'; export { default as PaymentsBitcoinDetails } from './Containers/payments/BitcoinDetails'; export { default as PaymentsMethod } from './Containers/payments/Method'; -export { default as PaymentsPaymentSelector } from './Containers/payments/PaymentSelector'; -export { default as PaymentsTopUpModal } from './Containers/payments/TopUpModal'; -export { default as PaymentsEditCardModal } from './Containers/payments/EditCardModal'; +export { default as Payments } from './Containers/payments/index'; +export { default as PaymentsEditCardModal } from './Containers/payments/modal/editCard'; +export { default as PaymentsDonateModal } from './Containers/payments/modal/donate'; +export { default as PaymentsTopUpModal } from './Containers/payments/modal/topUp'; export { default as usePayment } from './Containers/payments/usePayment'; export { default as PaymentsGetDefaultCard } from './Containers/payments/getDefaultCard'; -export { default as PaymentsDonateModal } from './Containers/payments/DonateModal'; export { default as PaymentsPayPal } from './Containers/payments/PayPal'; -export { default as PasswordAskPasswordModal } from './Containers/password/AskPasswordModal'; +export { default as PasswordAskModal } from './Containers/password/askModal'; export { default as NotificationsContainer } from './Containers/notifications/Container'; export { default as NotificationsProvider } from './Containers/notifications/Provider'; -export { default as SessionsSessionsSection } from './Containers/sessions/SessionsSection'; -export { default as SessionsSessionAction } from './Containers/sessions/SessionAction'; +export { default as SessionsAction } from './Containers/sessions/action'; +export { default as SessionsSection } from './Containers/sessions/section'; export { default as PromptsContainer } from './Containers/prompts/Container'; export { default as PromptsProvider } from './Containers/prompts/Provider'; export { default as NotificationDesktopNotificationPanel } from './Containers/notification/DesktopNotificationPanel'; @@ -112,16 +112,15 @@ export { default as NotificationNewsCheckboxes } from './Containers/notification export { default as NotificationRecoveryEmailButton } from './Containers/notification/RecoveryEmailButton'; export { default as NotificationPasswordResetToggle } from './Containers/notification/PasswordResetToggle'; export { default as NotificationDailyNotificationsToggle } from './Containers/notification/DailyNotificationsToggle'; -export { default as NotificationNotificationSection } from './Containers/notification/NotificationSection'; -export { default as KeysKeysActions } from './Containers/keys/KeysActions'; -export { default as KeysAddressKeysTable } from './Containers/keys/AddressKeysTable'; -export { default as KeysKeysRow } from './Containers/keys/KeysRow'; -export { default as KeysContactKeysHeader } from './Containers/keys/ContactKeysHeader'; -export { default as KeysKeysTable } from './Containers/keys/KeysTable'; -export { default as KeysKeysStatus } from './Containers/keys/KeysStatus'; -export { default as KeysAddressKeysSection } from './Containers/keys/AddressKeysSection'; -export { default as KeysAddressKeysRow } from './Containers/keys/AddressKeysRow'; -export { default as KeysAddressKeysHeader } from './Containers/keys/AddressKeysHeader'; +export { default as NotificationSection } from './Containers/notification/section'; +export { default as KeysAddressTable } from './Containers/keys/addressTable'; +export { default as KeysStatus } from './Containers/keys/status'; +export { default as KeysContactHeader } from './Containers/keys/contactHeader'; +export { default as KeysAddressRow } from './Containers/keys/addressRow'; +export { default as KeysAddressHeader } from './Containers/keys/addressHeader'; +export { default as KeysTable } from './Containers/keys/table'; +export { default as KeysAddressSection } from './Containers/keys/addressSection'; +export { default as KeysRow } from './Containers/keys/row'; export { default as DomainDKIMSection } from './Containers/domain/DKIMSection'; export { default as DomainName } from './Containers/domain/name'; export { default as DomainStatus } from './Containers/domain/status'; @@ -132,13 +131,12 @@ export { default as DomainDMARCSection } from './Containers/domain/DMARCSection' export { default as DomainModal } from './Containers/domain/modal/index'; export { default as DomainCatchAllModal } from './Containers/domain/modal/catchAll'; export { default as DomainSection } from './Containers/domain/section'; -export { default as PaymentMethodsPaymentMethodState } from './Containers/paymentMethods/PaymentMethodState'; -export { default as PaymentMethodsPaymentMethodActions } from './Containers/paymentMethods/PaymentMethodActions'; -export { default as PaymentMethodsPaymentMethodDetails } from './Containers/paymentMethods/PaymentMethodDetails'; -export { default as PaymentMethodsPaymentMethodsTable } from './Containers/paymentMethods/PaymentMethodsTable'; -export { default as PaymentMethodsPaymentMethodsSection } from './Containers/paymentMethods/PaymentMethodsSection'; +export { default as PaymentMethodsDetails } from './Containers/paymentMethods/details'; +export { default as PaymentMethodsTable } from './Containers/paymentMethods/table'; +export { default as PaymentMethodsSelect } from './Containers/paymentMethods/select'; export { default as usePaymentMethodsSelect } from './Containers/paymentMethods/usePaymentMethodsSelect'; -export { default as PaymentMethodsPaymentMethodsSelect } from './Containers/paymentMethods/PaymentMethodsSelect'; +export { default as PaymentMethodsState } from './Containers/paymentMethods/state'; +export { default as PaymentMethodsSection } from './Containers/paymentMethods/section'; export { default as SecuritySignToggle } from './Containers/security/SignToggle'; export { default as SecurityExternalPGPSettingsSection } from './Containers/security/ExternalPGPSettingsSection'; export { default as SecurityAttachPublicKeyToggle } from './Containers/security/AttachPublicKeyToggle'; @@ -151,9 +149,9 @@ export { default as AddressesModal } from './Containers/addresses/modal/index'; export { default as AddressesEditModal } from './Containers/addresses/modal/edit'; export { default as AddressesSection } from './Containers/addresses/section'; export { default as AddressesToolbar } from './Containers/addresses/toolbar'; -export { default as LogsWipeLogsButton } from './Containers/logs/WipeLogsButton'; -export { default as LogsLogsSection } from './Containers/logs/LogsSection'; -export { default as LogsLogsTable } from './Containers/logs/LogsTable'; +export { default as LogsTable } from './Containers/logs/table'; +export { default as LogsWipeButton } from './Containers/logs/wipeButton'; +export { default as LogsSection } from './Containers/logs/section'; export { default as InvoicesPayButton } from './Containers/invoices/payButton'; export { default as InvoicesAmount } from './Containers/invoices/amount'; export { default as InvoicesDownloadButton } from './Containers/invoices/downloadButton'; @@ -162,18 +160,18 @@ export { default as InvoicesTextModal } from './Containers/invoices/modal/text'; export { default as InvoicesType } from './Containers/invoices/type'; export { default as InvoicesState } from './Containers/invoices/state'; export { default as InvoicesSection } from './Containers/invoices/section'; -export { default as MembersAddMemberButton } from './Containers/members/AddMemberButton'; -export { default as MembersMembersSection } from './Containers/members/MembersSection'; -export { default as MembersMemberPrivate } from './Containers/members/MemberPrivate'; -export { default as MembersEditMemberModal } from './Containers/members/EditMemberModal'; +export { default as MembersSelector } from './Containers/members/selector'; +export { default as MembersAddButton } from './Containers/members/addButton'; +export { default as MembersPrivate } from './Containers/members/private'; +export { default as MembersRole } from './Containers/members/role'; export { default as useMemberModal } from './Containers/members/useMemberModal'; -export { default as MembersMemberRole } from './Containers/members/MemberRole'; -export { default as MembersMemberStorageSelector } from './Containers/members/MemberStorageSelector'; -export { default as MembersMemberOptions } from './Containers/members/MemberOptions'; -export { default as MembersMemberActions } from './Containers/members/MemberActions'; -export { default as MembersMemberVPNSelector } from './Containers/members/MemberVPNSelector'; -export { default as MembersMemberModal } from './Containers/members/MemberModal'; -export { default as MembersMemberAddresses } from './Containers/members/MemberAddresses'; +export { default as MembersAction } from './Containers/members/action'; +export { default as MembersVPNSelector } from './Containers/members/VPNSelector'; +export { default as MembersModal } from './Containers/members/modal/index'; +export { default as MembersEditModal } from './Containers/members/modal/edit'; +export { default as MembersSection } from './Containers/members/section'; +export { default as MembersOptions } from './Containers/members/options'; +export { default as MembersAddresses } from './Containers/members/addresses'; export { default as LayoutsDraftTypeSelect } from './Containers/layouts/DraftTypeSelect'; export { default as LayoutsTextDirectionSelect } from './Containers/layouts/TextDirectionSelect'; export { default as LayoutsShowMovedSelect } from './Containers/layouts/ShowMovedSelect'; @@ -181,10 +179,10 @@ export { default as LayoutsViewModeRadios } from './Containers/layouts/ViewModeR export { default as LayoutsLayoutsSection } from './Containers/layouts/LayoutsSection'; export { default as LayoutsViewLayoutRadios } from './Containers/layouts/ViewLayoutRadios'; export { default as LayoutsComposerModeRadios } from './Containers/layouts/ComposerModeRadios'; -export { default as OrganizationOrganizationSection } from './Containers/organization/OrganizationSection'; +export { default as OrganizationSection } from './Containers/organization/section'; +export { default as MessagesContentSection } from './Containers/messages/contentSection'; export { default as MessagesRemoteToggle } from './Containers/messages/RemoteToggle'; export { default as MessagesEmbeddedToggle } from './Containers/messages/EmbeddedToggle'; -export { default as MessagesMessageContentSection } from './Containers/messages/MessageContentSection'; export { default as ContextNotifications } from './context/notifications'; export { default as ContextAuthenticationStore } from './context/authenticationStore'; export { default as ContextApi } from './context/api'; diff --git a/makeExport b/makeExport index 01bf0c2bc..22a25fc9c 100755 --- a/makeExport +++ b/makeExport @@ -38,6 +38,10 @@ const list = [ { name: '* invoices modals', newName: '----' + }, + { + name: 'SessionAction', + newName: 'SessionsAction' } ]; @@ -97,6 +101,10 @@ async function main() { } } + if(['layouts'].includes(dir)) { + return false; + } + // export only useX if (/helpers$/.test(dir)) { return fileName.startsWith('use'); diff --git a/package.json b/package.json index 436acdc36..62bcce783 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "test": "mocha -r esm 'test/**/*.spec.js'", "export": "./makeExport", - "lint": "eslint containers components --ext .js --quiet --cache", + "lint": "eslint Containers Components --ext .js --quiet --cache && eslint index.js --quiet --cache", "pretty": "prettier --write $(find lib -type f -name '*.js')" }, "repository": { From 2e6ebff1953eb04b5e5fac39947c7b1358f7bb6f Mon Sep 17 00:00:00 2001 From: dhoko Date: Wed, 20 Mar 2019 11:37:09 +0100 Subject: [PATCH 5/8] Fix eslint config to check imports --- .eslintrc.json | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index dcbf48291..784e85740 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,7 +1,8 @@ { "plugins": [ "react", - "react-hooks" + "react-hooks", + "import" ], "parserOptions": { "ecmaVersion": 2018, @@ -20,7 +21,18 @@ "settings": { "react": { "version": "detect" - } + }, + "import/core-modules": [ + "ttag", + "react-components", + "react-router-dom", + "react-redux", + "react-test-renderer", + "enzyme", + "enzyme-adapter-react-16", + "proton-shared", + "proton-shared/*" + ] }, "extends": [ "eslint:recommended", @@ -29,6 +41,11 @@ "rules": { "react/display-name": "off", "react/prop-types": "warn", - "react-hooks/rules-of-hooks": "error" + "react-hooks/rules-of-hooks": "error", + "import/no-unresolved": [2, {"commonjs": true, "amd": true, "ignore": ["proton-shared"]}], + "import/named": 2, + "import/namespace": 2, + "import/default": 2, + "import/export": 2 } } From 89454ed73e9b7136a2cc415fc9f0e2a70936f7d8 Mon Sep 17 00:00:00 2001 From: dhoko Date: Wed, 20 Mar 2019 11:39:15 +0100 Subject: [PATCH 6/8] Setp 2 --- Components/button/copy.js | 4 ++-- Components/button/group.js | 2 +- Components/button/large.js | 2 +- Components/button/link.js | 2 +- Components/button/primary.js | 2 +- Components/button/reset.js | 2 +- Components/button/small.js | 2 +- Components/dropdown/Dropdown.test.js | 4 ++-- Components/dropdown/index.js | 2 +- Components/dropdown/item.js | 4 ++-- Components/dropdown/menu.js | 2 +- Components/input/Checkbox.js | 2 +- Components/input/Password.js | 2 +- Components/input/Radio.js | 2 +- Components/input/Search.js | 2 +- Components/link/Info.js | 6 +++--- Components/link/LearnMore.js | 4 ++-- Components/link/{index.js => href.js} | 0 Components/modal/Confirm.js | 5 +++-- Components/modal/Content.js | 2 +- Components/modal/Header.js | 2 +- Components/modal/Input.js | 2 +- Components/pagination/index.js | 8 +++++--- Components/sidebar/NavItem.js | 4 ++-- Components/table/body.js | 2 +- Components/table/footer.js | 2 +- Components/table/header.js | 2 +- Components/table/row.js | 2 +- Components/toggle/index.js | 2 +- Containers/payments/Method.js | 2 +- Containers/payments/modal/donate.js | 6 +++--- Containers/payments/modal/editCard.js | 6 +++--- Containers/sessions/section.js | 2 +- 33 files changed, 49 insertions(+), 46 deletions(-) rename Components/link/{index.js => href.js} (100%) diff --git a/Components/button/copy.js b/Components/button/copy.js index edb39de52..a90646296 100644 --- a/Components/button/copy.js +++ b/Components/button/copy.js @@ -3,8 +3,8 @@ import PropTypes from 'prop-types'; import { c } from 'ttag'; import { textToClipboard } from 'proton-shared/lib/helpers/browser'; -import Button from './Button'; -import Icon from '../icon/Icon'; +import Button from './index'; +import Icon from '../icon'; import { getClasses } from '../../helpers/component'; const Copy = ({ className }) => { diff --git a/Components/button/group.js b/Components/button/group.js index 5a89571af..9405a075f 100644 --- a/Components/button/group.js +++ b/Components/button/group.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import Button from './Button'; +import Button from './index'; import { getClasses } from '../../helpers/component'; const ButtonGroup = ({ children, className, ...rest }) => ( diff --git a/Components/button/large.js b/Components/button/large.js index c854cc009..cb8502443 100644 --- a/Components/button/large.js +++ b/Components/button/large.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { getClasses } from '../../helpers/component'; -import Button from './Button'; +import Button from './index'; const LargeButton = ({ children, className, ...rest }) => { return ( diff --git a/Components/button/link.js b/Components/button/link.js index 7164fa827..1fb7b19ba 100644 --- a/Components/button/link.js +++ b/Components/button/link.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import Button from './Button'; +import Button from './index'; const LinkButton = ({ children, className, ...rest }) => { return ( diff --git a/Components/button/primary.js b/Components/button/primary.js index 3d3b9fadc..e04f68740 100644 --- a/Components/button/primary.js +++ b/Components/button/primary.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import Button from './Button'; +import Button from './index'; import { getClasses } from '../../helpers/component'; const PrimaryButton = ({ children, className, ...rest }) => { diff --git a/Components/button/reset.js b/Components/button/reset.js index 6d28dfa64..379b3e817 100644 --- a/Components/button/reset.js +++ b/Components/button/reset.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import Button from './Button'; +import Button from './index'; const ResetButton = ({ children, ...rest }) => (