├── .env ├── .eslintrc ├── .gitignore ├── .prettierrc ├── README.md ├── ReadMe ├── jsconfig.json ├── package-lock.json ├── package.json ├── public ├── _redirects ├── favicon │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ └── favicon.ico ├── fonts │ ├── CircularStd-Bold.otf │ ├── CircularStd-Book.otf │ ├── CircularStd-Medium.otf │ ├── Font for H1 Header, Headline, Footer.ttf │ ├── Font for H2 Main Slogans.ttf │ ├── Font for normal Text on Website.ttf │ ├── Roboto-Bold.ttf │ ├── Roboto-Regular.ttf │ └── index.css ├── index.html ├── manifest.json ├── robots.txt └── static │ ├── about │ ├── avatar-1.jpg │ ├── avatar-2.jpg │ ├── avatar-3.jpg │ ├── avatar-4.jpg │ ├── avatar-5.jpg │ ├── avatar-6.jpg │ ├── hero.jpg │ ├── logo_amazon.svg │ ├── logo_hbo.svg │ ├── logo_ibm.svg │ ├── logo_lya.svg │ ├── logo_netflix.svg │ ├── logo_spotify.svg │ ├── testimonials.jpg │ ├── vision.jpg │ ├── what-1.jpg │ └── what-2.jpg │ ├── auth │ ├── ic_auth0.png │ ├── ic_cognito.png │ ├── ic_firebase.png │ └── ic_jwt.png │ ├── bg_card.png │ ├── brand │ ├── logo_full.jpg │ ├── logo_full.svg │ └── logo_single.svg │ ├── components │ ├── accordion.png │ ├── alert.png │ ├── animate.png │ ├── autocomplete.png │ ├── avatar.png │ ├── badge.png │ ├── breadcrumbs.png │ ├── buttons.png │ ├── carousel.png │ ├── chart.png │ ├── checkbox.png │ ├── chip.png │ ├── color.png │ ├── copy-to-clipboard.png │ ├── data-grid.png │ ├── dialog.png │ ├── editor.png │ ├── form-validation.png │ ├── grid.png │ ├── icons.png │ ├── label.png │ ├── list.png │ ├── map.png │ ├── mega-menu.png │ ├── menu.png │ ├── multi-language.png │ ├── pagination.png │ ├── pickers.png │ ├── popover.png │ ├── progress.png │ ├── radio-button.png │ ├── rating.png │ ├── shadows.png │ ├── slider.png │ ├── snackbar.png │ ├── stepper.png │ ├── switch.png │ ├── table.png │ ├── tabs.png │ ├── text-field.png │ ├── textfield.png │ ├── timeline.png │ ├── tooltip.png │ ├── transfer-list.png │ ├── tree-view.png │ ├── typography.png │ └── upload.png │ ├── contact │ └── hero.jpg │ ├── faqs │ ├── hero.jpg │ ├── ic_account.svg │ ├── ic_assurances.svg │ ├── ic_delivery.svg │ ├── ic_package.svg │ ├── ic_payment.svg │ └── ic_refund.svg │ ├── home │ ├── clean-1.png │ ├── clean-10.png │ ├── clean-2.png │ ├── clean-3.png │ ├── clean-4.png │ ├── clean-5.png │ ├── clean-6.png │ ├── clean-7.png │ ├── clean-8.png │ ├── clean-9.png │ ├── darkmode.png │ ├── hero.png │ ├── ic_figma.svg │ ├── ic_js.svg │ ├── ic_material.svg │ ├── ic_react.svg │ ├── ic_sketch.svg │ ├── ic_sketch_small.svg │ ├── ic_ts.svg │ ├── lightmode.png │ ├── rocket.png │ ├── screen_dark_1.png │ ├── screen_dark_2.png │ ├── screen_dark_3.png │ ├── screen_light_1.png │ ├── screen_light_2.png │ ├── screen_light_3.png │ ├── shape.svg │ └── theme-color │ │ ├── block1-blue.png │ │ ├── block1-cyan.png │ │ ├── block1-default.png │ │ ├── block1-orange.png │ │ ├── block1-purple.png │ │ ├── block1-red.png │ │ ├── block2-blue.png │ │ ├── block2-cyan.png │ │ ├── block2-default.png │ │ ├── block2-orange.png │ │ ├── block2-purple.png │ │ ├── block2-red.png │ │ ├── grid.png │ │ ├── screen-blue.png │ │ ├── screen-cyan.png │ │ ├── screen-default.png │ │ ├── screen-orange.png │ │ ├── screen-purple.png │ │ ├── screen-red.png │ │ ├── sidebar-blue.png │ │ ├── sidebar-cyan.png │ │ ├── sidebar-default.png │ │ ├── sidebar-orange.png │ │ ├── sidebar-purple.png │ │ └── sidebar-red.png │ ├── icons │ ├── browser-edge.svg │ ├── controls │ │ ├── arrow-ios-back.svg │ │ ├── arrow-ios-forward.svg │ │ ├── close.svg │ │ ├── maximize-outline.svg │ │ └── minimize-outline.svg │ ├── editor │ │ ├── align_center.svg │ │ ├── align_justify.svg │ │ ├── align_left.svg │ │ ├── align_right.svg │ │ ├── colorpicker.svg │ │ ├── embedded.svg │ │ ├── emoji.svg │ │ ├── history_redo.svg │ │ ├── history_undo.svg │ │ ├── image.svg │ │ ├── inline_bold.svg │ │ ├── inline_italic.svg │ │ ├── inline_strikethrough.svg │ │ ├── inline_underline.svg │ │ ├── link.svg │ │ ├── list_indent.svg │ │ ├── list_ordered.svg │ │ ├── list_outdent.svg │ │ ├── list_unordered.svg │ │ ├── monospace.svg │ │ ├── remove.svg │ │ ├── subscript.svg │ │ ├── superscript.svg │ │ └── unlink.svg │ ├── elephant.svg │ ├── file │ │ ├── file_type_ai.svg │ │ ├── file_type_excel.svg │ │ ├── file_type_pdf.svg │ │ ├── file_type_photoshop.svg │ │ ├── file_type_powerpoint.svg │ │ ├── file_type_video.svg │ │ └── file_type_word.svg │ ├── ic_chrome.svg │ ├── ic_code.svg │ ├── ic_design.svg │ ├── ic_drive.svg │ ├── ic_dropbox.svg │ ├── ic_evernote.svg │ ├── ic_flag_de.svg │ ├── ic_flag_en.svg │ ├── ic_flag_fr.svg │ ├── ic_flag_kr.svg │ ├── ic_flag_us.svg │ ├── ic_github.svg │ ├── ic_mastercard.svg │ ├── ic_notification_chat.svg │ ├── ic_notification_mail.svg │ ├── ic_notification_package.svg │ ├── ic_notification_shipping.svg │ ├── ic_paypal.svg │ ├── ic_visa.svg │ ├── json-logo.svg │ ├── love-camera.svg │ ├── navbar │ │ ├── ic_analytics.svg │ │ ├── ic_banking.svg │ │ ├── ic_blog.svg │ │ ├── ic_booking.svg │ │ ├── ic_calendar.svg │ │ ├── ic_cart.svg │ │ ├── ic_chat.svg │ │ ├── ic_dashboard.svg │ │ ├── ic_ecommerce.svg │ │ ├── ic_kanban.svg │ │ ├── ic_mail.svg │ │ └── ic_user.svg │ ├── shape-avatar.svg │ └── shield.svg │ ├── illustrations │ ├── illustration_components.png │ ├── illustration_dashboard.png │ ├── illustration_empty_cart.svg │ ├── illustration_empty_content.svg │ ├── illustration_empty_mail.svg │ ├── illustration_invite.png │ ├── illustration_login.png │ └── illustration_register.png │ ├── mock-images │ ├── avatars │ │ ├── avatar_1.jpg │ │ ├── avatar_10.jpg │ │ ├── avatar_11.jpg │ │ ├── avatar_12.jpg │ │ ├── avatar_13.jpg │ │ ├── avatar_14.jpg │ │ ├── avatar_15.jpg │ │ ├── avatar_16.jpg │ │ ├── avatar_17.jpg │ │ ├── avatar_18.jpg │ │ ├── avatar_19.jpg │ │ ├── avatar_2.jpg │ │ ├── avatar_20.jpg │ │ ├── avatar_21.jpg │ │ ├── avatar_22.jpg │ │ ├── avatar_23.jpg │ │ ├── avatar_24.jpg │ │ ├── avatar_3.jpg │ │ ├── avatar_4.jpg │ │ ├── avatar_5.jpg │ │ ├── avatar_6.jpg │ │ ├── avatar_7.jpg │ │ ├── avatar_8.jpg │ │ ├── avatar_9.jpg │ │ └── avatar_default.jpg │ ├── covers │ │ ├── cover_1.jpg │ │ ├── cover_10.jpg │ │ ├── cover_11.jpg │ │ ├── cover_12.jpg │ │ ├── cover_13.jpg │ │ ├── cover_14.jpg │ │ ├── cover_15.jpg │ │ ├── cover_16.jpg │ │ ├── cover_17.jpg │ │ ├── cover_18.jpg │ │ ├── cover_19.jpg │ │ ├── cover_2.jpg │ │ ├── cover_20.jpg │ │ ├── cover_21.jpg │ │ ├── cover_22.jpg │ │ ├── cover_23.jpg │ │ ├── cover_24.jpg │ │ ├── cover_3.jpg │ │ ├── cover_4.jpg │ │ ├── cover_5.jpg │ │ ├── cover_6.jpg │ │ ├── cover_7.jpg │ │ ├── cover_8.jpg │ │ └── cover_9.jpg │ ├── feeds │ │ ├── feed_1.jpg │ │ ├── feed_10.jpg │ │ ├── feed_11.jpg │ │ ├── feed_12.jpg │ │ ├── feed_2.jpg │ │ ├── feed_3.jpg │ │ ├── feed_4.jpg │ │ ├── feed_5.jpg │ │ ├── feed_6.jpg │ │ ├── feed_7.jpg │ │ ├── feed_8.jpg │ │ └── feed_9.jpg │ ├── products │ │ ├── product_1.jpg │ │ ├── product_10.jpg │ │ ├── product_11.jpg │ │ ├── product_12.jpg │ │ ├── product_13.jpg │ │ ├── product_14.jpg │ │ ├── product_15.jpg │ │ ├── product_16.jpg │ │ ├── product_17.jpg │ │ ├── product_18.jpg │ │ ├── product_19.jpg │ │ ├── product_2.jpg │ │ ├── product_20.jpg │ │ ├── product_21.jpg │ │ ├── product_22.jpg │ │ ├── product_23.jpg │ │ ├── product_24.jpg │ │ ├── product_3.jpg │ │ ├── product_4.jpg │ │ ├── product_5.jpg │ │ ├── product_6.jpg │ │ ├── product_7.jpg │ │ ├── product_8.jpg │ │ └── product_9.jpg │ └── rooms │ │ ├── room-1.jpg │ │ ├── room-2.jpg │ │ ├── room-3.jpg │ │ ├── room-4.jpg │ │ └── room-5.jpg │ ├── overlay.svg │ └── placeholder.svg ├── src ├── App.js ├── _apis_ │ ├── account.js │ ├── blog.js │ ├── calendar.js │ ├── chat.js │ ├── index.js │ ├── kanban.js │ ├── mail.js │ ├── mock.js │ ├── products.js │ └── user.js ├── apis │ └── payment.js ├── assets │ ├── icon_plan_free.js │ ├── icon_plan_premium.js │ ├── icon_plan_starter.js │ ├── icon_sent.js │ ├── illustration_404.js │ ├── illustration_500.js │ ├── illustration_booking.js │ ├── illustration_checkin.js │ ├── illustration_checkout.js │ ├── illustration_coming_soon.js │ ├── illustration_doc.js │ ├── illustration_maintenance.js │ ├── illustration_motivation.js │ ├── illustration_order_complete.js │ ├── illustration_seo.js │ ├── illustration_upload.js │ └── index.js ├── aws-exports.js ├── components │ ├── @material-extend │ │ ├── MAvatar.js │ │ ├── MBreadcrumbs.js │ │ ├── MFab.js │ │ ├── MHidden.js │ │ ├── MIconButton.js │ │ └── index.js │ ├── BadgeStatus.js │ ├── CodeSnippets.js │ ├── ColorManyPicker.js │ ├── ColorPreview.js │ ├── ColorSinglePicker.js │ ├── CopyClipboard.js │ ├── CustomAccordion.js │ ├── DatePicker.js │ ├── EmojiPicker.js │ ├── EmptyContent.js │ ├── GoogleAnalytics.js │ ├── HeaderBreadcrumbs.js │ ├── Label.js │ ├── LazySize.js │ ├── LightboxModal.js │ ├── LoadingScreen.js │ ├── Logo.js │ ├── Markdown.js │ ├── MenuPopover.js │ ├── MyAvatar.js │ ├── NavSection.js │ ├── NotistackProvider.js │ ├── Page.js │ ├── RtlLayout.js │ ├── ScrollToTop.js │ ├── Scrollbar.js │ ├── SearchInput.js │ ├── SearchNotFound.js │ ├── SvgIconStyle.js │ ├── ThemeLocalization.js │ ├── ThemePrimaryColor.js │ ├── _dashboard │ │ ├── blog │ │ │ ├── BlogNewPostForm.js │ │ │ ├── BlogNewPostPreview.js │ │ │ ├── BlogPostCard.js │ │ │ ├── BlogPostCommentForm.js │ │ │ ├── BlogPostCommentItem.js │ │ │ ├── BlogPostCommentList.js │ │ │ ├── BlogPostHero.js │ │ │ ├── BlogPostRecent.js │ │ │ ├── BlogPostTags.js │ │ │ ├── BlogPostsSearch.js │ │ │ ├── BlogPostsSort.js │ │ │ └── index.js │ │ ├── calendar │ │ │ ├── CalendarForm.js │ │ │ ├── CalendarStyle.js │ │ │ ├── CalendarToolbar.js │ │ │ └── index.js │ │ ├── chat │ │ │ ├── ChatAccount.js │ │ │ ├── ChatContactSearch.js │ │ │ ├── ChatConversationItem.js │ │ │ ├── ChatConversationList.js │ │ │ ├── ChatHeaderCompose.js │ │ │ ├── ChatHeaderDetail.js │ │ │ ├── ChatMessageInput.js │ │ │ ├── ChatMessageItem.js │ │ │ ├── ChatMessageList.js │ │ │ ├── ChatRoom.js │ │ │ ├── ChatRoomAttachment.js │ │ │ ├── ChatRoomGroupParticipant.js │ │ │ ├── ChatRoomOneParticipant.js │ │ │ ├── ChatRoomPopup.js │ │ │ ├── ChatSearchResults.js │ │ │ ├── ChatSidebar.js │ │ │ ├── ChatWindow.js │ │ │ └── index.js │ │ ├── e-commerce │ │ │ ├── CartWidget.js │ │ │ ├── ProductNewForm.js │ │ │ ├── checkout │ │ │ │ ├── CheckoutBillingAddress.js │ │ │ │ ├── CheckoutBillingInfo.js │ │ │ │ ├── CheckoutCart.js │ │ │ │ ├── CheckoutDelivery.js │ │ │ │ ├── CheckoutNewAddressForm.js │ │ │ │ ├── CheckoutOrderComplete.js │ │ │ │ ├── CheckoutPayment.js │ │ │ │ ├── CheckoutPaymentMethods.js │ │ │ │ ├── CheckoutProductList.js │ │ │ │ ├── CheckoutSummary.js │ │ │ │ ├── countries.js │ │ │ │ └── index.js │ │ │ ├── invoice │ │ │ │ ├── InvoicePDF.js │ │ │ │ ├── InvoiceToolbar.js │ │ │ │ └── index.js │ │ │ ├── product-details │ │ │ │ ├── ProductDetailsCarousel.js │ │ │ │ ├── ProductDetailsReview.js │ │ │ │ ├── ProductDetailsReviewForm.js │ │ │ │ ├── ProductDetailsReviewList.js │ │ │ │ ├── ProductDetailsReviewOverview.js │ │ │ │ ├── ProductDetailsSumary.js │ │ │ │ └── index.js │ │ │ ├── product-list │ │ │ │ ├── ProductListHead.js │ │ │ │ ├── ProductListToolbar.js │ │ │ │ ├── ProductMoreMenu.js │ │ │ │ └── index.js │ │ │ └── shop │ │ │ │ ├── ShopFilterSidebar.js │ │ │ │ ├── ShopProductCard.js │ │ │ │ ├── ShopProductList.js │ │ │ │ ├── ShopProductSort.js │ │ │ │ ├── ShopTagFiltered.js │ │ │ │ └── index.js │ │ ├── general-analytics │ │ │ ├── AnalyticsBugReports.js │ │ │ ├── AnalyticsConversionRates.js │ │ │ ├── AnalyticsCurrentSubject.js │ │ │ ├── AnalyticsCurrentVisits.js │ │ │ ├── AnalyticsItemOrders.js │ │ │ ├── AnalyticsNewUsers.js │ │ │ ├── AnalyticsNewsUpdate.js │ │ │ ├── AnalyticsOrderTimeline.js │ │ │ ├── AnalyticsTasks.js │ │ │ ├── AnalyticsTrafficBySite.js │ │ │ ├── AnalyticsWebsiteVisits.js │ │ │ ├── AnalyticsWeeklySales.js │ │ │ └── index.js │ │ ├── general-app │ │ │ ├── AppAreaInstalled.js │ │ │ ├── AppCurrentDownload.js │ │ │ ├── AppFeatured.js │ │ │ ├── AppNewInvoice.js │ │ │ ├── AppTopAuthors.js │ │ │ ├── AppTopInstalledCountries.js │ │ │ ├── AppTopRelated.js │ │ │ ├── AppTotalActiveUsers.js │ │ │ ├── AppTotalDownloads.js │ │ │ ├── AppTotalInstalled.js │ │ │ ├── AppWelcome.js │ │ │ ├── AppWidgets1.js │ │ │ ├── AppWidgets2.js │ │ │ └── index.js │ │ ├── general-banking │ │ │ ├── BankingBalanceStatistics.js │ │ │ ├── BankingContacts.js │ │ │ ├── BankingCurrentBalance.js │ │ │ ├── BankingExpenses.js │ │ │ ├── BankingExpensesCategories.js │ │ │ ├── BankingIncome.js │ │ │ ├── BankingInviteFriends.js │ │ │ ├── BankingQuickTransfer.js │ │ │ ├── BankingRecentTransitions.js │ │ │ └── index.js │ │ ├── general-booking │ │ │ ├── BookingBookedRoom.js │ │ │ ├── BookingCheckIn.js │ │ │ ├── BookingCheckInWidgets.js │ │ │ ├── BookingCheckOut.js │ │ │ ├── BookingCustomerReviews.js │ │ │ ├── BookingDetails.js │ │ │ ├── BookingNewestBooking.js │ │ │ ├── BookingReservationStats.js │ │ │ ├── BookingRoomAvailable.js │ │ │ ├── BookingTotal.js │ │ │ ├── BookingTotalIncomes.js │ │ │ └── index.js │ │ ├── general-ecommerce │ │ │ ├── EcommerceBestSalesman.js │ │ │ ├── EcommerceCurrentBalance.js │ │ │ ├── EcommerceLatestProducts.js │ │ │ ├── EcommerceNewProducts.js │ │ │ ├── EcommerceProductSold.js │ │ │ ├── EcommerceSaleByGender.js │ │ │ ├── EcommerceSalesOverview.js │ │ │ ├── EcommerceSalesProfit.js │ │ │ ├── EcommerceTotalBalance.js │ │ │ ├── EcommerceWelcome.js │ │ │ ├── EcommerceYearlySales.js │ │ │ └── index.js │ │ ├── home │ │ │ ├── CollapseList.js │ │ │ ├── ElementsList.js │ │ │ ├── Workflow.js │ │ │ ├── WorkflowDetails.js │ │ │ ├── WorkflowHeader.js │ │ │ ├── WorkflowPreviewAndLogs.js │ │ │ └── index.js │ │ ├── kanban │ │ │ ├── KanbanColumn.js │ │ │ ├── KanbanColumnAdd.js │ │ │ ├── KanbanColumnToolBar.js │ │ │ ├── KanbanTaskAdd.js │ │ │ ├── KanbanTaskAttachments.js │ │ │ ├── KanbanTaskCard.js │ │ │ ├── KanbanTaskCommentInput.js │ │ │ ├── KanbanTaskCommentList.js │ │ │ ├── KanbanTaskDetails.js │ │ │ └── index.js │ │ ├── mail │ │ │ ├── MailCompose.js │ │ │ ├── MailDetails.js │ │ │ ├── MailDetailsAttachments.js │ │ │ ├── MailDetailsReplyInput.js │ │ │ ├── MailDetailsToolbar.js │ │ │ ├── MailItem.js │ │ │ ├── MailItemAction.js │ │ │ ├── MailList.js │ │ │ ├── MailSidebar.js │ │ │ ├── MailSidebarItem.js │ │ │ ├── MailToolbar.js │ │ │ └── index.js │ │ ├── projects │ │ │ ├── ProjectsFilter.js │ │ │ ├── ProjectsView.js │ │ │ ├── SortingTableHead.js │ │ │ └── index.js │ │ ├── user │ │ │ ├── UserNewForm.js │ │ │ ├── account │ │ │ │ ├── AccountBilling.js │ │ │ │ ├── AccountBillingAddressBook.js │ │ │ │ ├── AccountBillingInvoiceHistory.js │ │ │ │ ├── AccountBillingPaymentMethod.js │ │ │ │ ├── AccountChangePassword.js │ │ │ │ ├── AccountGeneral.js │ │ │ │ ├── AccountNotifications.js │ │ │ │ ├── AccountSocialLinks.js │ │ │ │ └── index.js │ │ │ ├── cards │ │ │ │ ├── UserCard.js │ │ │ │ └── index.js │ │ │ ├── countries.js │ │ │ ├── list │ │ │ │ ├── UserListHead.js │ │ │ │ ├── UserListToolbar.js │ │ │ │ ├── UserMoreMenu.js │ │ │ │ └── index.js │ │ │ └── profile │ │ │ │ ├── Profile.js │ │ │ │ ├── ProfileAbout.js │ │ │ │ ├── ProfileCover.js │ │ │ │ ├── ProfileFollowInfo.js │ │ │ │ ├── ProfileFollowers.js │ │ │ │ ├── ProfileFriends.js │ │ │ │ ├── ProfileGallery.js │ │ │ │ ├── ProfilePostCard.js │ │ │ │ ├── ProfilePostInput.js │ │ │ │ ├── ProfileSocialInfo.js │ │ │ │ └── index.js │ │ └── workflow │ │ │ ├── Details.js │ │ │ ├── Footer.js │ │ │ ├── InputElement.js │ │ │ └── Tabs.js │ ├── _external-pages │ │ ├── about │ │ │ ├── AboutHero.js │ │ │ ├── AboutTeam.js │ │ │ ├── AboutTestimonials.js │ │ │ ├── AboutVision.js │ │ │ ├── AboutWhat.js │ │ │ └── index.js │ │ ├── components-overview │ │ │ ├── ComponentCard.js │ │ │ ├── ComponentExtra.js │ │ │ ├── ComponentFoundation.js │ │ │ ├── ComponentHero.js │ │ │ ├── ComponentMaterialUI.js │ │ │ ├── PathConfig.js │ │ │ └── index.js │ │ ├── contact │ │ │ ├── ContactForm.js │ │ │ ├── ContactHero.js │ │ │ ├── ContactMap.js │ │ │ └── index.js │ │ ├── faqs │ │ │ ├── FaqsCategory.js │ │ │ ├── FaqsForm.js │ │ │ ├── FaqsHero.js │ │ │ ├── FaqsList.js │ │ │ └── index.js │ │ ├── landing │ │ │ ├── LandingAdvertisement.js │ │ │ ├── LandingCleanInterfaces.js │ │ │ ├── LandingDarkMode.js │ │ │ ├── LandingHero.js │ │ │ ├── LandingHugePackElements.js │ │ │ ├── LandingMinimal.js │ │ │ ├── LandingPricingPlans.js │ │ │ ├── LandingThemeColor.js │ │ │ └── index.js │ │ ├── payment │ │ │ ├── PaymentBillingAddress.js │ │ │ ├── PaymentMethods.js │ │ │ ├── PaymentNewCardForm.js │ │ │ ├── PaymentSummary.js │ │ │ ├── Stripe.js │ │ │ └── index.js │ │ └── pricing │ │ │ ├── PricingPlanCard.js │ │ │ └── index.js │ ├── animate │ │ ├── ButtonAnimate.js │ │ ├── DialogAnimate.js │ │ ├── MotionContainer.js │ │ ├── MotionInView.js │ │ ├── TextAnimate.js │ │ ├── index.js │ │ └── variants │ │ │ ├── Actions.js │ │ │ ├── Path.js │ │ │ ├── Wrap.js │ │ │ ├── background │ │ │ ├── BackgroundColor.js │ │ │ ├── BackgroundKenburns.js │ │ │ ├── BackgroundPan.js │ │ │ └── index.js │ │ │ ├── bounce │ │ │ ├── BounceIn.js │ │ │ ├── BounceOut.js │ │ │ └── index.js │ │ │ ├── fade │ │ │ ├── FadeIn.js │ │ │ ├── FadeOut.js │ │ │ └── index.js │ │ │ ├── flip │ │ │ ├── FlipIn.js │ │ │ ├── FlipOut.js │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── rotate │ │ │ ├── RotateIn.js │ │ │ ├── RotateOut.js │ │ │ └── index.js │ │ │ ├── scale │ │ │ ├── ScaleIn.js │ │ │ ├── ScaleOut.js │ │ │ └── index.js │ │ │ ├── slide │ │ │ ├── SlideIn.js │ │ │ ├── SlideOut.js │ │ │ └── index.js │ │ │ └── zoom │ │ │ ├── In.js │ │ │ ├── Out.js │ │ │ └── index.js │ ├── authentication │ │ ├── AuthFirebaseSocial.js │ │ ├── login │ │ │ ├── LoginForm.js │ │ │ └── index.js │ │ ├── register │ │ │ ├── RegisterForm.js │ │ │ └── index.js │ │ ├── reset-password │ │ │ ├── ResetPasswordForm.js │ │ │ └── index.js │ │ └── verify-code │ │ │ ├── VerifyCodeForm.js │ │ │ └── index.js │ ├── carousel │ │ ├── CarouselAnimation.js │ │ ├── CarouselBasic1.js │ │ ├── CarouselBasic2.js │ │ ├── CarouselBasic3.js │ │ ├── CarouselBasic4.js │ │ ├── CarouselCenterMode.js │ │ ├── CarouselThumbnail.js │ │ ├── controls │ │ │ ├── CarouselControlsArrowsBasic1.js │ │ │ ├── CarouselControlsArrowsBasic2.js │ │ │ ├── CarouselControlsArrowsIndex.js │ │ │ ├── CarouselControlsPaging1.js │ │ │ ├── CarouselControlsPaging2.js │ │ │ └── index.js │ │ └── index.js │ ├── charts │ │ ├── BaseOptionChart.js │ │ ├── ChartArea.js │ │ ├── ChartBar.js │ │ ├── ChartColumnMultiple.js │ │ ├── ChartColumnNegative.js │ │ ├── ChartColumnSingle.js │ │ ├── ChartColumnStacked.js │ │ ├── ChartDonut.js │ │ ├── ChartLine.js │ │ ├── ChartMixed.js │ │ ├── ChartPie.js │ │ ├── ChartRadarBar.js │ │ ├── ChartRadialBar.js │ │ └── index.js │ ├── editor │ │ ├── draft │ │ │ ├── DraftEditorStyle.js │ │ │ ├── DraftEditorToolbar.js │ │ │ └── index.js │ │ ├── index.js │ │ └── quill │ │ │ ├── QuillEditorToolbar.js │ │ │ ├── QuillEditorToolbarStyle.js │ │ │ └── index.js │ ├── map │ │ ├── MapClusters.js │ │ ├── MapDeckglOverlay.js │ │ ├── MapGeoJSONAnimation.js │ │ ├── MapHighlightByFilter.js │ │ ├── MapMarkersPopups.js │ │ ├── MapZoomToBounds.js │ │ ├── assets │ │ │ ├── cities.js │ │ │ ├── countries.js │ │ │ ├── map-style-basic-v8.json │ │ │ └── stations.js │ │ ├── controls │ │ │ ├── MapControlFullscreen.js │ │ │ ├── MapControlGeolocate.js │ │ │ ├── MapControlMarker.js │ │ │ ├── MapControlNavigation.js │ │ │ ├── MapControlPopup.js │ │ │ ├── MapControlScale.js │ │ │ └── index.js │ │ ├── index.js │ │ ├── map-change-theme │ │ │ ├── ControlPanel.js │ │ │ └── index.js │ │ ├── map-draggable-markers │ │ │ ├── ControlPanel.js │ │ │ └── index.js │ │ ├── map-dynamic-styling │ │ │ ├── ControlPanel.js │ │ │ └── index.js │ │ ├── map-geojson │ │ │ ├── ControlPanel.js │ │ │ └── index.js │ │ ├── map-heatmap │ │ │ ├── ControlPanel.js │ │ │ └── index.js │ │ ├── map-interaction │ │ │ ├── ControlPanel.js │ │ │ └── index.js │ │ └── map-viewport-animation │ │ │ ├── ControlPanel.js │ │ │ └── index.js │ ├── mega-menu │ │ ├── MegaMenuCarousel.js │ │ ├── MegaMenuDesktopHorizon.js │ │ ├── MegaMenuDesktopVertical.js │ │ ├── MegaMenuMobile.js │ │ ├── MenuConfig.js │ │ ├── MenuHotProducts.js │ │ └── index.js │ ├── settings │ │ ├── SettingColor.js │ │ ├── SettingDirection.js │ │ ├── SettingFullscreen.js │ │ ├── SettingMode.js │ │ ├── SettingModeIconButton.js │ │ ├── SettingStretch.js │ │ └── index.js │ └── upload │ │ ├── UploadAvatar.js │ │ ├── UploadMultiFile.js │ │ ├── UploadSingleFile.js │ │ └── index.js ├── config.js ├── contexts │ ├── Auth0Context.js │ ├── AwsCognitoContext.js │ ├── CollapseDrawerContext.js │ ├── FirebaseContext.js │ ├── FlowsContext.js │ ├── JWTContext.js │ └── SettingsContext.js ├── graphql │ ├── mutations.js │ ├── queries.js │ ├── schema.json │ └── subscriptions.js ├── guards │ ├── AuthGuard.js │ ├── GuestGuard.js │ └── RoleBasedGuard.js ├── hooks │ ├── useAsync.js │ ├── useAuth.js │ ├── useCollapseDrawer.js │ ├── useCountdown.js │ ├── useFlows.js │ ├── useIsMountedRef.js │ ├── useLocalStorage.js │ ├── useLocales.js │ ├── useOffSetTop.js │ └── useSettings.js ├── index.js ├── layouts │ ├── AuthLayout.js │ ├── LogoOnlyLayout.js │ ├── dashboard │ │ ├── AccountPopover.js │ │ ├── ContactsPopover.js │ │ ├── DashboardNavbar.js │ │ ├── DashboardSidebar.js │ │ ├── ElememtsBar.js │ │ ├── ElementsConfig.js │ │ ├── LanguagePopover.js │ │ ├── ModeSetting.js │ │ ├── NotificationsPopover.js │ │ ├── ProjectsSideBar.js │ │ ├── Searchbar.js │ │ ├── SidebarConfig.js │ │ ├── WorkflowFooter.js │ │ ├── WorkflowRightSide.js │ │ ├── WorkflowTabs.js │ │ └── index.js │ └── main │ │ ├── MainFooter.js │ │ ├── MainNavbar.js │ │ ├── MenuConfig.js │ │ ├── MenuDesktop.js │ │ ├── MenuMobile.js │ │ └── index.js ├── locales │ ├── de.json │ ├── en.json │ ├── fr.json │ └── i18n.js ├── pages │ ├── About.js │ ├── ComingSoon.js │ ├── ComponentsOverview.js │ ├── Contact.js │ ├── Faqs.js │ ├── LandingPage.js │ ├── Maintenance.js │ ├── Page404.js │ ├── Page500.js │ ├── Payment.js │ ├── Pricing.js │ ├── authentication │ │ ├── Login.js │ │ ├── Register.js │ │ ├── ResetPassword.js │ │ └── VerifyCode.js │ ├── components-overview │ │ ├── Block.js │ │ ├── extra │ │ │ ├── Carousel.js │ │ │ ├── Charts.js │ │ │ ├── CopyToClipboard.js │ │ │ ├── Editor.js │ │ │ ├── Map.js │ │ │ ├── MegaMenu.js │ │ │ ├── MultiLanguage.js │ │ │ ├── Upload.js │ │ │ ├── animate │ │ │ │ ├── ControlPanel.js │ │ │ │ ├── background │ │ │ │ │ ├── ContainerView.js │ │ │ │ │ ├── Toolbar.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── types.js │ │ │ │ ├── dialog │ │ │ │ │ ├── ContainerView.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── types.js │ │ │ │ ├── getVariant.js │ │ │ │ ├── index.js │ │ │ │ ├── inview │ │ │ │ │ ├── ContainerView.js │ │ │ │ │ ├── Toolbar.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── types.js │ │ │ │ ├── other │ │ │ │ │ ├── Logo.js │ │ │ │ │ ├── MediumClick.js │ │ │ │ │ ├── SmallClick.js │ │ │ │ │ └── index.js │ │ │ │ └── scroll │ │ │ │ │ ├── ContainerView.js │ │ │ │ │ ├── Toolbar.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── types.js │ │ │ └── form-validation │ │ │ │ ├── FormikForm.js │ │ │ │ ├── ReactHookForm.js │ │ │ │ └── index.js │ │ ├── foundations │ │ │ ├── FoundationColors.js │ │ │ ├── FoundationGrid.js │ │ │ ├── FoundationIcons.js │ │ │ ├── FoundationShadows.js │ │ │ ├── FoundationTypography.js │ │ │ └── data.js │ │ └── material-ui │ │ │ ├── Accordion.js │ │ │ ├── Alert.js │ │ │ ├── Autocomplete.js │ │ │ ├── Avatar.js │ │ │ ├── Badge.js │ │ │ ├── Breadcrumb.js │ │ │ ├── Checkboxes.js │ │ │ ├── Label.js │ │ │ ├── Lists.js │ │ │ ├── Menus.js │ │ │ ├── Pagination.js │ │ │ ├── Popover.js │ │ │ ├── RadioButtons.js │ │ │ ├── Rating.js │ │ │ ├── Slider.js │ │ │ ├── Snackbar.js │ │ │ ├── Switches.js │ │ │ ├── Tabs.js │ │ │ ├── Timeline.js │ │ │ ├── Tooltip.js │ │ │ ├── TreeView.js │ │ │ ├── buttons │ │ │ ├── ButtonGroups.js │ │ │ ├── ContainedButtons.js │ │ │ ├── FloatingActionButton.js │ │ │ ├── IconButtons.js │ │ │ ├── OutlinedButtons.js │ │ │ ├── TextButtons.js │ │ │ ├── ToggleButtons.js │ │ │ └── index.js │ │ │ ├── chips │ │ │ ├── ChipFilled.js │ │ │ ├── ChipOutlined.js │ │ │ └── index.js │ │ │ ├── data-grid │ │ │ ├── DataGridBasic.js │ │ │ ├── DataGridCustom.js │ │ │ └── index.js │ │ │ ├── dialog │ │ │ ├── AlertDialog.js │ │ │ ├── FormDialogs.js │ │ │ ├── FullScreenDialogs.js │ │ │ ├── MaxWidthDialog.js │ │ │ ├── ScrollDialog.js │ │ │ ├── SimpleDialogs.js │ │ │ ├── TransitionsDialogs.js │ │ │ └── index.js │ │ │ ├── pickers │ │ │ ├── PickerDate.js │ │ │ ├── PickerDateRange.js │ │ │ ├── PickerDateTime.js │ │ │ ├── PickerTime.js │ │ │ └── index.js │ │ │ ├── progress │ │ │ ├── ProgressCircular.js │ │ │ ├── ProgressLinear.js │ │ │ └── index.js │ │ │ ├── stepper │ │ │ ├── CustomizedStepper.js │ │ │ ├── HorizontalLinearStepper.js │ │ │ ├── LinearAlternativeLabel.js │ │ │ ├── VerticalLinearStepper.js │ │ │ └── index.js │ │ │ ├── table │ │ │ ├── BasicTable.js │ │ │ ├── GroupingFixedHeader.js │ │ │ ├── collapsible-table │ │ │ │ ├── CollapsibleTableRow.js │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ └── sorting-selecting │ │ │ │ ├── SortingSelectingHead.js │ │ │ │ ├── SortingSelectingToolbar.js │ │ │ │ └── index.js │ │ │ ├── textfield │ │ │ ├── Filled.js │ │ │ ├── Outlined.js │ │ │ ├── Standard.js │ │ │ └── index.js │ │ │ └── transfer-list │ │ │ ├── EnhancedTransferList.js │ │ │ ├── SimpleTransferList.js │ │ │ └── index.js │ └── dashboard │ │ ├── BlogNewPost.js │ │ ├── BlogPost.js │ │ ├── BlogPosts.js │ │ ├── Calendar.js │ │ ├── Chat.js │ │ ├── EcommerceCheckout.js │ │ ├── EcommerceInvoice.js │ │ ├── EcommerceProductCreate.js │ │ ├── EcommerceProductDetails.js │ │ ├── EcommerceProductList.js │ │ ├── EcommerceShop.js │ │ ├── GeneralAnalytics.js │ │ ├── GeneralApp.js │ │ ├── GeneralBanking.js │ │ ├── GeneralBooking.js │ │ ├── GeneralEcommerce.js │ │ ├── Home.js │ │ ├── Kanban.js │ │ ├── Mail.js │ │ ├── ProjectsMenu.js │ │ ├── UserAccount.js │ │ ├── UserCards.js │ │ ├── UserCreate.js │ │ ├── UserList.js │ │ ├── UserProfile.js │ │ ├── WorkflowArea copy.js │ │ └── WorkflowArea.js ├── redux │ ├── rootReducer.js │ ├── slices │ │ ├── blog.js │ │ ├── calendar.js │ │ ├── chat.js │ │ ├── kanban.js │ │ ├── mail.js │ │ ├── product.js │ │ ├── project.js │ │ └── user.js │ └── store.js ├── reportWebVitals.js ├── routes │ ├── index.js │ └── paths.js ├── service-worker.js ├── serviceWorkerRegistration.js ├── setupTests.js ├── theme │ ├── breakpoints.js │ ├── globalStyles.js │ ├── index.js │ ├── overrides │ │ ├── Accordion.js │ │ ├── Alert.js │ │ ├── Autocomplete.js │ │ ├── Avatar.js │ │ ├── Backdrop.js │ │ ├── Badge.js │ │ ├── Breadcrumbs.js │ │ ├── Button.js │ │ ├── ButtonGroup.js │ │ ├── Card.js │ │ ├── Checkbox.js │ │ ├── Chip.js │ │ ├── Container.js │ │ ├── ControlLabel.js │ │ ├── DataGrid.js │ │ ├── Dialog.js │ │ ├── Drawer.js │ │ ├── Fab.js │ │ ├── Grid.js │ │ ├── IconButton.js │ │ ├── Input.js │ │ ├── Link.js │ │ ├── Lists.js │ │ ├── LoadingButton.js │ │ ├── Menu.js │ │ ├── Pagination.js │ │ ├── Paper.js │ │ ├── Pickers.js │ │ ├── Popover.js │ │ ├── Progress.js │ │ ├── Radio.js │ │ ├── Rating.js │ │ ├── Select.js │ │ ├── Skeleton.js │ │ ├── Slider.js │ │ ├── Snackbar.js │ │ ├── Stepper.js │ │ ├── SvgIcon.js │ │ ├── Switch.js │ │ ├── Table.js │ │ ├── Tabs.js │ │ ├── Timeline.js │ │ ├── ToggleButton.js │ │ ├── Tooltip.js │ │ ├── TreeView.js │ │ ├── Typography.js │ │ └── index.js │ ├── palette.js │ ├── shadows.js │ ├── shape.js │ └── typography.js └── utils │ ├── analytics.js │ ├── axios.js │ ├── createAvatar.js │ ├── elementsDetail.js │ ├── fakeRequest.js │ ├── formatNumber.js │ ├── formatTime.js │ ├── getColorName.js │ ├── getFileFormat.js │ ├── helperFormik.js │ ├── highlight.js │ ├── jwt.js │ ├── mock-data │ ├── address.js │ ├── boolean.js │ ├── company.js │ ├── email.js │ ├── index.js │ ├── name.js │ ├── number.js │ ├── phoneNumber.js │ ├── role.js │ └── text.js │ └── runFlow.js └── yarn.lock /.env: -------------------------------------------------------------------------------- 1 | # FIX REFRESH "react-scripts": "4.x" 2 | # https://github.com/facebook/create-react-app/issues/9984 3 | FAST_REFRESH=false 4 | 5 | # MAP 6 | REACT_APP_MAP_MAPBOX= 7 | 8 | # FIREBASE 9 | REACT_APP_FIREBASE_API_KEY= 10 | REACT_APP_FIREBASE_AUTH_DOMAIN= 11 | REACT_APP_FIREBASE_PROJECT_ID= 12 | REACT_APP_FIREBASE_STORAGE_BUCKET= 13 | REACT_APP_FIREBASE_MESSAGING_SENDER_ID= 14 | REACT_APP_FIREBASE_APPID= 15 | REACT_APP_FIREBASE_MEASUREMENT_ID= 16 | 17 | # AWS COGNITO 18 | REACT_APP_AWS_COGNITO_USER_POOL_ID=eu-central-1_kOWIAOo0l 19 | REACT_APP_AWS_COGNITO_CLIENT_ID=360tjc48fqupvresd0ltvs8stt 20 | 21 | # AUTH0 22 | REACT_APP_AUTH0_DOMAIN= 23 | REACT_APP_AUTH0_CLIENT_ID= 24 | 25 | # GOOGLE ANALYTICS 26 | REACT_APP_GA_MEASUREMENT_ID= 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | /.env.local 17 | /.env.development.local 18 | /.env.test.local 19 | /.env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 120, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "tabWidth": 2 6 | } 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). 2 | 3 | ## 1.install 4 | 5 | ### npm 6 | 7 | ``` 8 | npm i 9 | or 10 | npm i --legacy-peer-deps 11 | ``` 12 | 13 | ### yarn 14 | 15 | ``` 16 | yarn install 17 | ``` 18 | 19 | ## 2.Start 20 | 21 | ```sh 22 | npm start 23 | or 24 | yarn start 25 | ``` 26 | 27 | ## 3.Build 28 | 29 | ```sh 30 | npm run build or yarn build 31 | ``` 32 | 33 | Builds the app for production to the `build` folder.
34 | It correctly bundles React in production mode and optimizes the build for the best performance. 35 | 36 | The build is minified and the filenames include the hashes.
37 | 38 | Your app is ready to be deployed. 39 | 40 | ## User Guide 41 | 42 | You can find detailed instructions on using Create React App and many tips in [its documentation](https://facebook.github.io/create-react-app/). 43 | -------------------------------------------------------------------------------- /ReadMe: -------------------------------------------------------------------------------- 1 | React webflow 2 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "baseUrl": "." 6 | }, 7 | "include": [ 8 | "src/**/*" 9 | ], 10 | "exclude": [ 11 | "node_modules" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /public/_redirects: -------------------------------------------------------------------------------- 1 | /* /index.html 200 -------------------------------------------------------------------------------- /public/favicon/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/favicon/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/favicon/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/favicon/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/favicon/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/favicon/apple-touch-icon.png -------------------------------------------------------------------------------- /public/favicon/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/favicon/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/favicon/favicon-32x32.png -------------------------------------------------------------------------------- /public/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/favicon/favicon.ico -------------------------------------------------------------------------------- /public/fonts/CircularStd-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/fonts/CircularStd-Bold.otf -------------------------------------------------------------------------------- /public/fonts/CircularStd-Book.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/fonts/CircularStd-Book.otf -------------------------------------------------------------------------------- /public/fonts/CircularStd-Medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/fonts/CircularStd-Medium.otf -------------------------------------------------------------------------------- /public/fonts/Font for H1 Header, Headline, Footer.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/fonts/Font for H1 Header, Headline, Footer.ttf -------------------------------------------------------------------------------- /public/fonts/Font for H2 Main Slogans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/fonts/Font for H2 Main Slogans.ttf -------------------------------------------------------------------------------- /public/fonts/Font for normal Text on Website.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/fonts/Font for normal Text on Website.ttf -------------------------------------------------------------------------------- /public/fonts/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/fonts/Roboto-Bold.ttf -------------------------------------------------------------------------------- /public/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "React Material Minimal UI", 3 | "short_name": "Minimal-UI", 4 | "display": "standalone", 5 | "start_url": "/", 6 | "theme_color": "#000000", 7 | "background_color": "#ffffff", 8 | "icons": [ 9 | { 10 | "src": "favicon/android-chrome-192x192.png", 11 | "sizes": "192x192", 12 | "type": "image/png" 13 | }, 14 | { 15 | "src": "favicon/android-chrome-512x512.png", 16 | "sizes": "512x512", 17 | "type": "image/png" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /public/static/about/avatar-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/avatar-1.jpg -------------------------------------------------------------------------------- /public/static/about/avatar-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/avatar-2.jpg -------------------------------------------------------------------------------- /public/static/about/avatar-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/avatar-3.jpg -------------------------------------------------------------------------------- /public/static/about/avatar-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/avatar-4.jpg -------------------------------------------------------------------------------- /public/static/about/avatar-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/avatar-5.jpg -------------------------------------------------------------------------------- /public/static/about/avatar-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/avatar-6.jpg -------------------------------------------------------------------------------- /public/static/about/hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/hero.jpg -------------------------------------------------------------------------------- /public/static/about/testimonials.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/testimonials.jpg -------------------------------------------------------------------------------- /public/static/about/vision.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/vision.jpg -------------------------------------------------------------------------------- /public/static/about/what-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/what-1.jpg -------------------------------------------------------------------------------- /public/static/about/what-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/about/what-2.jpg -------------------------------------------------------------------------------- /public/static/auth/ic_auth0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/auth/ic_auth0.png -------------------------------------------------------------------------------- /public/static/auth/ic_cognito.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/auth/ic_cognito.png -------------------------------------------------------------------------------- /public/static/auth/ic_firebase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/auth/ic_firebase.png -------------------------------------------------------------------------------- /public/static/auth/ic_jwt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/auth/ic_jwt.png -------------------------------------------------------------------------------- /public/static/bg_card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/bg_card.png -------------------------------------------------------------------------------- /public/static/brand/logo_full.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/brand/logo_full.jpg -------------------------------------------------------------------------------- /public/static/components/accordion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/accordion.png -------------------------------------------------------------------------------- /public/static/components/alert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/alert.png -------------------------------------------------------------------------------- /public/static/components/animate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/animate.png -------------------------------------------------------------------------------- /public/static/components/autocomplete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/autocomplete.png -------------------------------------------------------------------------------- /public/static/components/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/avatar.png -------------------------------------------------------------------------------- /public/static/components/badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/badge.png -------------------------------------------------------------------------------- /public/static/components/breadcrumbs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/breadcrumbs.png -------------------------------------------------------------------------------- /public/static/components/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/buttons.png -------------------------------------------------------------------------------- /public/static/components/carousel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/carousel.png -------------------------------------------------------------------------------- /public/static/components/chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/chart.png -------------------------------------------------------------------------------- /public/static/components/checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/checkbox.png -------------------------------------------------------------------------------- /public/static/components/chip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/chip.png -------------------------------------------------------------------------------- /public/static/components/color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/color.png -------------------------------------------------------------------------------- /public/static/components/copy-to-clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/copy-to-clipboard.png -------------------------------------------------------------------------------- /public/static/components/data-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/data-grid.png -------------------------------------------------------------------------------- /public/static/components/dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/dialog.png -------------------------------------------------------------------------------- /public/static/components/editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/editor.png -------------------------------------------------------------------------------- /public/static/components/form-validation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/form-validation.png -------------------------------------------------------------------------------- /public/static/components/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/grid.png -------------------------------------------------------------------------------- /public/static/components/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/icons.png -------------------------------------------------------------------------------- /public/static/components/label.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/label.png -------------------------------------------------------------------------------- /public/static/components/list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/list.png -------------------------------------------------------------------------------- /public/static/components/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/map.png -------------------------------------------------------------------------------- /public/static/components/mega-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/mega-menu.png -------------------------------------------------------------------------------- /public/static/components/menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/menu.png -------------------------------------------------------------------------------- /public/static/components/multi-language.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/multi-language.png -------------------------------------------------------------------------------- /public/static/components/pagination.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/pagination.png -------------------------------------------------------------------------------- /public/static/components/pickers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/pickers.png -------------------------------------------------------------------------------- /public/static/components/popover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/popover.png -------------------------------------------------------------------------------- /public/static/components/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/progress.png -------------------------------------------------------------------------------- /public/static/components/radio-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/radio-button.png -------------------------------------------------------------------------------- /public/static/components/rating.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/rating.png -------------------------------------------------------------------------------- /public/static/components/shadows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/shadows.png -------------------------------------------------------------------------------- /public/static/components/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/slider.png -------------------------------------------------------------------------------- /public/static/components/snackbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/snackbar.png -------------------------------------------------------------------------------- /public/static/components/stepper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/stepper.png -------------------------------------------------------------------------------- /public/static/components/switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/switch.png -------------------------------------------------------------------------------- /public/static/components/table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/table.png -------------------------------------------------------------------------------- /public/static/components/tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/tabs.png -------------------------------------------------------------------------------- /public/static/components/text-field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/text-field.png -------------------------------------------------------------------------------- /public/static/components/textfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/textfield.png -------------------------------------------------------------------------------- /public/static/components/timeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/timeline.png -------------------------------------------------------------------------------- /public/static/components/tooltip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/tooltip.png -------------------------------------------------------------------------------- /public/static/components/transfer-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/transfer-list.png -------------------------------------------------------------------------------- /public/static/components/tree-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/tree-view.png -------------------------------------------------------------------------------- /public/static/components/typography.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/typography.png -------------------------------------------------------------------------------- /public/static/components/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/components/upload.png -------------------------------------------------------------------------------- /public/static/contact/hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/contact/hero.jpg -------------------------------------------------------------------------------- /public/static/faqs/hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/faqs/hero.jpg -------------------------------------------------------------------------------- /public/static/home/clean-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-1.png -------------------------------------------------------------------------------- /public/static/home/clean-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-10.png -------------------------------------------------------------------------------- /public/static/home/clean-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-2.png -------------------------------------------------------------------------------- /public/static/home/clean-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-3.png -------------------------------------------------------------------------------- /public/static/home/clean-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-4.png -------------------------------------------------------------------------------- /public/static/home/clean-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-5.png -------------------------------------------------------------------------------- /public/static/home/clean-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-6.png -------------------------------------------------------------------------------- /public/static/home/clean-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-7.png -------------------------------------------------------------------------------- /public/static/home/clean-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-8.png -------------------------------------------------------------------------------- /public/static/home/clean-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/clean-9.png -------------------------------------------------------------------------------- /public/static/home/darkmode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/darkmode.png -------------------------------------------------------------------------------- /public/static/home/hero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/hero.png -------------------------------------------------------------------------------- /public/static/home/lightmode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/lightmode.png -------------------------------------------------------------------------------- /public/static/home/rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/rocket.png -------------------------------------------------------------------------------- /public/static/home/screen_dark_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/screen_dark_1.png -------------------------------------------------------------------------------- /public/static/home/screen_dark_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/screen_dark_2.png -------------------------------------------------------------------------------- /public/static/home/screen_dark_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/screen_dark_3.png -------------------------------------------------------------------------------- /public/static/home/screen_light_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/screen_light_1.png -------------------------------------------------------------------------------- /public/static/home/screen_light_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/screen_light_2.png -------------------------------------------------------------------------------- /public/static/home/screen_light_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/screen_light_3.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block1-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block1-blue.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block1-cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block1-cyan.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block1-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block1-default.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block1-orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block1-orange.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block1-purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block1-purple.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block1-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block1-red.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block2-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block2-blue.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block2-cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block2-cyan.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block2-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block2-default.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block2-orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block2-orange.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block2-purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block2-purple.png -------------------------------------------------------------------------------- /public/static/home/theme-color/block2-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/block2-red.png -------------------------------------------------------------------------------- /public/static/home/theme-color/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/grid.png -------------------------------------------------------------------------------- /public/static/home/theme-color/screen-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/screen-blue.png -------------------------------------------------------------------------------- /public/static/home/theme-color/screen-cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/screen-cyan.png -------------------------------------------------------------------------------- /public/static/home/theme-color/screen-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/screen-default.png -------------------------------------------------------------------------------- /public/static/home/theme-color/screen-orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/screen-orange.png -------------------------------------------------------------------------------- /public/static/home/theme-color/screen-purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/screen-purple.png -------------------------------------------------------------------------------- /public/static/home/theme-color/screen-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/screen-red.png -------------------------------------------------------------------------------- /public/static/home/theme-color/sidebar-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/sidebar-blue.png -------------------------------------------------------------------------------- /public/static/home/theme-color/sidebar-cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/sidebar-cyan.png -------------------------------------------------------------------------------- /public/static/home/theme-color/sidebar-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/sidebar-default.png -------------------------------------------------------------------------------- /public/static/home/theme-color/sidebar-orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/sidebar-orange.png -------------------------------------------------------------------------------- /public/static/home/theme-color/sidebar-purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/sidebar-purple.png -------------------------------------------------------------------------------- /public/static/home/theme-color/sidebar-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/home/theme-color/sidebar-red.png -------------------------------------------------------------------------------- /public/static/icons/controls/arrow-ios-back.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/controls/arrow-ios-forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/controls/close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/controls/maximize-outline.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/controls/minimize-outline.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/align_center.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/align_justify.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/align_left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/align_right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/emoji.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/history_redo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/history_undo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/inline_underline.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/list_indent.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/list_ordered.svg: -------------------------------------------------------------------------------- 1 | 123 -------------------------------------------------------------------------------- /public/static/icons/editor/list_outdent.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/list_unordered.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/editor/remove.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/ic_design.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/ic_drive.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/ic_dropbox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/ic_flag_fr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/ic_mastercard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/ic_visa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/json-logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/love-camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/navbar/ic_chat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/navbar/ic_dashboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/navbar/ic_kanban.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | ic_kanban 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/static/icons/navbar/ic_mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/navbar/ic_user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/shape-avatar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/icons/shield.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/illustrations/illustration_components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/illustrations/illustration_components.png -------------------------------------------------------------------------------- /public/static/illustrations/illustration_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/illustrations/illustration_dashboard.png -------------------------------------------------------------------------------- /public/static/illustrations/illustration_invite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/illustrations/illustration_invite.png -------------------------------------------------------------------------------- /public/static/illustrations/illustration_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/illustrations/illustration_login.png -------------------------------------------------------------------------------- /public/static/illustrations/illustration_register.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/illustrations/illustration_register.png -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_1.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_10.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_11.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_12.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_13.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_14.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_15.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_16.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_17.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_18.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_19.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_2.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_20.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_21.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_22.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_23.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_24.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_3.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_4.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_5.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_6.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_7.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_8.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_9.jpg -------------------------------------------------------------------------------- /public/static/mock-images/avatars/avatar_default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/avatars/avatar_default.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_1.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_10.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_11.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_12.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_13.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_14.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_15.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_16.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_17.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_18.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_19.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_2.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_20.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_21.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_22.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_23.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_24.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_3.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_4.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_5.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_6.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_7.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_8.jpg -------------------------------------------------------------------------------- /public/static/mock-images/covers/cover_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/covers/cover_9.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_1.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_10.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_11.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_12.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_2.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_3.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_4.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_5.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_6.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_7.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_8.jpg -------------------------------------------------------------------------------- /public/static/mock-images/feeds/feed_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/feeds/feed_9.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_1.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_10.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_11.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_12.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_13.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_14.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_15.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_16.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_17.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_18.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_19.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_2.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_20.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_21.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_22.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_23.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_24.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_3.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_4.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_5.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_6.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_7.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_8.jpg -------------------------------------------------------------------------------- /public/static/mock-images/products/product_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/products/product_9.jpg -------------------------------------------------------------------------------- /public/static/mock-images/rooms/room-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/rooms/room-1.jpg -------------------------------------------------------------------------------- /public/static/mock-images/rooms/room-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/rooms/room-2.jpg -------------------------------------------------------------------------------- /public/static/mock-images/rooms/room-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/rooms/room-3.jpg -------------------------------------------------------------------------------- /public/static/mock-images/rooms/room-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/rooms/room-4.jpg -------------------------------------------------------------------------------- /public/static/mock-images/rooms/room-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/public/static/mock-images/rooms/room-5.jpg -------------------------------------------------------------------------------- /public/static/overlay.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/placeholder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/_apis_/index.js: -------------------------------------------------------------------------------- 1 | import './chat'; 2 | import './mail'; 3 | import './blog'; 4 | import './user'; 5 | import './account'; 6 | import './calendar'; 7 | import './products'; 8 | import './kanban'; 9 | -------------------------------------------------------------------------------- /src/_apis_/mock.js: -------------------------------------------------------------------------------- 1 | import AxiosMockAdapter from 'axios-mock-adapter'; 2 | // utils 3 | import axios from '../utils/axios'; 4 | 5 | // ---------------------------------------------------------------------- 6 | 7 | const axiosMockAdapter = new AxiosMockAdapter(axios, { 8 | delayResponse: 0 9 | }); 10 | 11 | export default axiosMockAdapter; 12 | -------------------------------------------------------------------------------- /src/apis/payment.js: -------------------------------------------------------------------------------- 1 | import Amplify, { API } from 'aws-amplify'; 2 | import awsconfig from '../aws-exports'; 3 | 4 | Amplify.configure(awsconfig); 5 | 6 | async function paymentIntent(data) { 7 | try { 8 | const apiName = 'stripeApi'; 9 | const path = '/stripeIntent'; 10 | const myInit = { 11 | body: { data }, 12 | headers: { 13 | 'Content-Type': 'application/json' 14 | } 15 | }; 16 | const result = await API.post(apiName, path, myInit); 17 | return Promise.resolve({ data: result }); 18 | } catch (error) { 19 | return Promise.reject(error); 20 | } 21 | } 22 | 23 | export { paymentIntent }; 24 | -------------------------------------------------------------------------------- /src/components/@material-extend/MHidden.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | // material 3 | import { useMediaQuery } from '@material-ui/core'; 4 | 5 | // ---------------------------------------------------------------------- 6 | 7 | MHidden.propTypes = { 8 | children: PropTypes.node, 9 | width: PropTypes.oneOf(['xsDown', 'smDown', 'mdDown', 'lgDown', 'xlDown', 'xsUp', 'smUp', 'mdUp', 'lgUp', 'xlUp']) 10 | .isRequired 11 | }; 12 | 13 | export default function MHidden({ width, children }) { 14 | const breakpoint = width.substring(0, 2); 15 | 16 | const hiddenUp = useMediaQuery((theme) => theme.breakpoints.up(breakpoint)); 17 | const hiddenDown = useMediaQuery((theme) => theme.breakpoints.down(breakpoint)); 18 | 19 | if (width.includes('Down')) { 20 | return hiddenDown ? null : children; 21 | } 22 | 23 | if (width.includes('Up')) { 24 | return hiddenUp ? null : children; 25 | } 26 | 27 | return null; 28 | } 29 | -------------------------------------------------------------------------------- /src/components/@material-extend/MIconButton.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { forwardRef } from 'react'; 3 | // material 4 | import { IconButton } from '@material-ui/core'; 5 | // 6 | import { ButtonAnimate } from '../animate'; 7 | 8 | // ---------------------------------------------------------------------- 9 | 10 | const MIconButton = forwardRef(({ children, ...other }, ref) => ( 11 | 12 | 13 | {children} 14 | 15 | 16 | )); 17 | 18 | MIconButton.propTypes = { 19 | children: PropTypes.node 20 | }; 21 | 22 | export default MIconButton; 23 | -------------------------------------------------------------------------------- /src/components/@material-extend/index.js: -------------------------------------------------------------------------------- 1 | export { default as MAvatar } from './MAvatar'; 2 | export { default as MBreadcrumbs } from './MBreadcrumbs'; 3 | export { default as MFab } from './MFab'; 4 | export { default as MIconButton } from './MIconButton'; 5 | export { default as MHidden } from './MHidden'; 6 | -------------------------------------------------------------------------------- /src/components/GoogleAnalytics.js: -------------------------------------------------------------------------------- 1 | import { Helmet } from 'react-helmet-async'; 2 | import { googleAnalyticsConfig } from '../config'; 3 | 4 | // ---------------------------------------------------------------------- 5 | 6 | const GA_MEASUREMENT_ID = googleAnalyticsConfig; 7 | 8 | export default function GoogleAnalytics() { 9 | return ( 10 | 11 | 24 | 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /src/components/MyAvatar.js: -------------------------------------------------------------------------------- 1 | // hooks 2 | import useAuth from '../hooks/useAuth'; 3 | // 4 | import { MAvatar } from './@material-extend'; 5 | import createAvatar from '../utils/createAvatar'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | export default function MyAvatar({ ...other }) { 10 | const { user } = useAuth(); 11 | 12 | return ( 13 | 19 | {createAvatar(user.displayName).name} 20 | 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /src/components/RtlLayout.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { useEffect } from 'react'; 3 | // rtl 4 | import rtlPlugin from 'stylis-plugin-rtl'; 5 | // emotion 6 | import createCache from '@emotion/cache'; 7 | import { CacheProvider } from '@emotion/react'; 8 | // material 9 | import { useTheme } from '@material-ui/core/styles'; 10 | 11 | // ---------------------------------------------------------------------- 12 | 13 | RtlLayout.propTypes = { 14 | children: PropTypes.node 15 | }; 16 | 17 | export default function RtlLayout({ children }) { 18 | const theme = useTheme(); 19 | 20 | useEffect(() => { 21 | document.dir = theme.direction; 22 | }, [theme.direction]); 23 | 24 | const cacheRtl = createCache({ 25 | key: theme.direction === 'rtl' ? 'rtl' : 'css', 26 | stylisPlugins: theme.direction === 'rtl' ? [rtlPlugin] : [] 27 | }); 28 | 29 | cacheRtl.compat = true; 30 | 31 | return {children}; 32 | } 33 | -------------------------------------------------------------------------------- /src/components/ScrollToTop.js: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | import { useLocation } from 'react-router-dom'; 3 | 4 | // ---------------------------------------------------------------------- 5 | 6 | export default function ScrollToTop() { 7 | const { pathname } = useLocation(); 8 | 9 | useEffect(() => { 10 | window.scrollTo(0, 0); 11 | }, [pathname]); 12 | 13 | return null; 14 | } 15 | -------------------------------------------------------------------------------- /src/components/SearchNotFound.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | // material 3 | import { Paper, Typography } from '@material-ui/core'; 4 | 5 | // ---------------------------------------------------------------------- 6 | 7 | SearchNotFound.propTypes = { 8 | searchQuery: PropTypes.string 9 | }; 10 | 11 | export default function SearchNotFound({ searchQuery = '', ...other }) { 12 | return ( 13 | 14 | 15 | Not found 16 | 17 | 18 | No results found for   19 | "{searchQuery}". Try checking for typos or using complete words. 20 | 21 | 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /src/components/SvgIconStyle.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { Box } from '@material-ui/core'; 3 | 4 | // ---------------------------------------------------------------------- 5 | 6 | SvgIconStyle.propTypes = { 7 | src: PropTypes.string.isRequired, 8 | color: PropTypes.string, 9 | sx: PropTypes.object 10 | }; 11 | 12 | export default function SvgIconStyle({ src, color = 'inherit', sx }) { 13 | return ( 14 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/components/ThemeLocalization.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | // material 3 | import { ThemeProvider, createTheme, useTheme } from '@material-ui/core/styles'; 4 | // hooks 5 | import useLocales from '../hooks/useLocales'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | ThemeLocalization.propTypes = { 10 | children: PropTypes.node 11 | }; 12 | 13 | export default function ThemeLocalization({ children }) { 14 | const defaultTheme = useTheme(); 15 | const { currentLang } = useLocales(); 16 | 17 | const theme = createTheme(defaultTheme, currentLang.systemValue); 18 | 19 | return {children}; 20 | } 21 | -------------------------------------------------------------------------------- /src/components/_dashboard/blog/BlogPostsSort.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | // material 3 | import { MenuItem, TextField } from '@material-ui/core'; 4 | 5 | // ---------------------------------------------------------------------- 6 | 7 | BlogPostsSort.propTypes = { 8 | query: PropTypes.string, 9 | options: PropTypes.array, 10 | onSort: PropTypes.func 11 | }; 12 | 13 | export default function BlogPostsSort({ query, options, onSort }) { 14 | return ( 15 | 16 | {options.map((option) => ( 17 | 18 | {option.label} 19 | 20 | ))} 21 | 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /src/components/_dashboard/blog/index.js: -------------------------------------------------------------------------------- 1 | export { default as BlogNewPostForm } from './BlogNewPostForm'; 2 | export { default as BlogNewPostPreview } from './BlogNewPostPreview'; 3 | export { default as BlogPostCard } from './BlogPostCard'; 4 | export { default as BlogPostCommentForm } from './BlogPostCommentForm'; 5 | export { default as BlogPostCommentItem } from './BlogPostCommentItem'; 6 | export { default as BlogPostCommentList } from './BlogPostCommentList'; 7 | export { default as BlogPostHero } from './BlogPostHero'; 8 | export { default as BlogPostRecent } from './BlogPostRecent'; 9 | export { default as BlogPostsSearch } from './BlogPostsSearch'; 10 | export { default as BlogPostsSort } from './BlogPostsSort'; 11 | export { default as BlogPostTags } from './BlogPostTags'; 12 | -------------------------------------------------------------------------------- /src/components/_dashboard/calendar/index.js: -------------------------------------------------------------------------------- 1 | export { default as CalendarForm } from './CalendarForm'; 2 | export { default as CalendarToolbar } from './CalendarToolbar'; 3 | export { default as CalendarStyle } from './CalendarStyle'; 4 | -------------------------------------------------------------------------------- /src/components/_dashboard/e-commerce/checkout/index.js: -------------------------------------------------------------------------------- 1 | export { default as CheckoutBillingAddress } from './CheckoutBillingAddress'; 2 | export { default as CheckoutBillingInfo } from './CheckoutBillingInfo'; 3 | export { default as CheckoutCart } from './CheckoutCart'; 4 | export { default as CheckoutDelivery } from './CheckoutDelivery'; 5 | export { default as CheckoutNewAddressForm } from './CheckoutNewAddressForm'; 6 | export { default as CheckoutOrderComplete } from './CheckoutOrderComplete'; 7 | export { default as CheckoutPayment } from './CheckoutPayment'; 8 | export { default as CheckoutPaymentMethods } from './CheckoutPaymentMethods'; 9 | export { default as CheckoutProductList } from './CheckoutProductList'; 10 | export { default as CheckoutSummary } from './CheckoutSummary'; 11 | -------------------------------------------------------------------------------- /src/components/_dashboard/e-commerce/invoice/index.js: -------------------------------------------------------------------------------- 1 | export { default as InvoicePDF } from './InvoicePDF'; 2 | export { default as InvoiceToolbar } from './InvoiceToolbar'; 3 | -------------------------------------------------------------------------------- /src/components/_dashboard/e-commerce/product-details/index.js: -------------------------------------------------------------------------------- 1 | export { default as ProductDetailsCarousel } from './ProductDetailsCarousel'; 2 | export { default as ProductDetailsReview } from './ProductDetailsReview'; 3 | export { default as ProductDetailsReviewForm } from './ProductDetailsReview'; 4 | export { default as ProductDetailsReviewList } from './ProductDetailsReviewList'; 5 | export { default as ProductDetailsReviewOverview } from './ProductDetailsReviewOverview'; 6 | export { default as ProductDetailsSumary } from './ProductDetailsSumary'; 7 | -------------------------------------------------------------------------------- /src/components/_dashboard/e-commerce/product-list/index.js: -------------------------------------------------------------------------------- 1 | export { default as ProductListHead } from './ProductListHead'; 2 | export { default as ProductListToolbar } from './ProductListToolbar'; 3 | export { default as ProductMoreMenu } from './ProductMoreMenu'; 4 | -------------------------------------------------------------------------------- /src/components/_dashboard/e-commerce/shop/index.js: -------------------------------------------------------------------------------- 1 | export { default as ShopTagFiltered } from './ShopTagFiltered'; 2 | export { default as ShopFilterSidebar } from './ShopFilterSidebar'; 3 | export { default as ShopProductCard } from './ShopProductCard'; 4 | export { default as ShopProductList } from './ShopProductList'; 5 | export { default as ShopProductSort } from './ShopProductSort'; 6 | -------------------------------------------------------------------------------- /src/components/_dashboard/general-analytics/index.js: -------------------------------------------------------------------------------- 1 | export { default as AnalyticsBugReports } from './AnalyticsBugReports'; 2 | export { default as AnalyticsConversionRates } from './AnalyticsConversionRates'; 3 | export { default as AnalyticsCurrentSubject } from './AnalyticsCurrentSubject'; 4 | export { default as AnalyticsCurrentVisits } from './AnalyticsCurrentVisits'; 5 | export { default as AnalyticsItemOrders } from './AnalyticsItemOrders'; 6 | export { default as AnalyticsNewsUpdate } from './AnalyticsNewsUpdate'; 7 | export { default as AnalyticsNewUsers } from './AnalyticsNewUsers'; 8 | export { default as AnalyticsOrderTimeline } from './AnalyticsOrderTimeline'; 9 | export { default as AnalyticsTasks } from './AnalyticsTasks'; 10 | export { default as AnalyticsTrafficBySite } from './AnalyticsTrafficBySite'; 11 | export { default as AnalyticsWebsiteVisits } from './AnalyticsWebsiteVisits'; 12 | export { default as AnalyticsWeeklySales } from './AnalyticsWeeklySales'; 13 | -------------------------------------------------------------------------------- /src/components/_dashboard/general-app/index.js: -------------------------------------------------------------------------------- 1 | export { default as AppAreaInstalled } from './AppAreaInstalled'; 2 | export { default as AppCurrentDownload } from './AppCurrentDownload'; 3 | export { default as AppFeatured } from './AppFeatured'; 4 | export { default as AppNewInvoice } from './AppNewInvoice'; 5 | export { default as AppTopAuthors } from './AppTopAuthors'; 6 | export { default as AppTopInstalledCountries } from './AppTopInstalledCountries'; 7 | export { default as AppTopRelated } from './AppTopRelated'; 8 | export { default as AppTotalActiveUsers } from './AppTotalActiveUsers'; 9 | export { default as AppTotalDownloads } from './AppTotalDownloads'; 10 | export { default as AppTotalInstalled } from './AppTotalInstalled'; 11 | export { default as AppWelcome } from './AppWelcome'; 12 | export { default as AppWidgets1 } from './AppWidgets1'; 13 | export { default as AppWidgets2 } from './AppWidgets2'; 14 | -------------------------------------------------------------------------------- /src/components/_dashboard/general-banking/index.js: -------------------------------------------------------------------------------- 1 | export { default as BankingIncome } from './BankingIncome'; 2 | export { default as BankingExpenses } from './BankingExpenses'; 3 | export { default as BankingContacts } from './BankingContacts'; 4 | export { default as BankingQuickTransfer } from './BankingQuickTransfer'; 5 | export { default as BankingInviteFriends } from './BankingInviteFriends'; 6 | export { default as BankingCurrentBalance } from './BankingCurrentBalance'; 7 | export { default as BankingBalanceStatistics } from './BankingBalanceStatistics'; 8 | export { default as BankingRecentTransitions } from './BankingRecentTransitions'; 9 | export { default as BankingExpensesCategories } from './BankingExpensesCategories'; 10 | -------------------------------------------------------------------------------- /src/components/_dashboard/general-booking/index.js: -------------------------------------------------------------------------------- 1 | export { default as BookingTotal } from './BookingTotal'; 2 | export { default as BookingCheckIn } from './BookingCheckIn'; 3 | export { default as BookingDetails } from './BookingDetails'; 4 | export { default as BookingCheckOut } from './BookingCheckOut'; 5 | export { default as BookingBookedRoom } from './BookingBookedRoom'; 6 | export { default as BookingTotalIncomes } from './BookingTotalIncomes'; 7 | export { default as BookingRoomAvailable } from './BookingRoomAvailable'; 8 | export { default as BookingNewestBooking } from './BookingNewestBooking'; 9 | export { default as BookingCheckInWidgets } from './BookingCheckInWidgets'; 10 | export { default as BookingCustomerReviews } from './BookingCustomerReviews'; 11 | export { default as BookingReservationStats } from './BookingReservationStats'; 12 | -------------------------------------------------------------------------------- /src/components/_dashboard/general-ecommerce/index.js: -------------------------------------------------------------------------------- 1 | export { default as EcommerceWelcome } from './EcommerceWelcome'; 2 | export { default as EcommerceNewProducts } from './EcommerceNewProducts'; 3 | export { default as EcommerceProductSold } from './EcommerceProductSold'; 4 | export { default as EcommerceSalesProfit } from './EcommerceSalesProfit'; 5 | export { default as EcommerceYearlySales } from './EcommerceYearlySales'; 6 | export { default as EcommerceBestSalesman } from './EcommerceBestSalesman'; 7 | export { default as EcommerceTotalBalance } from './EcommerceTotalBalance'; 8 | export { default as EcommerceSaleByGender } from './EcommerceSaleByGender'; 9 | export { default as EcommerceSalesOverview } from './EcommerceSalesOverview'; 10 | export { default as EcommerceLatestProducts } from './EcommerceLatestProducts'; 11 | export { default as EcommerceCurrentBalance } from './EcommerceCurrentBalance'; 12 | -------------------------------------------------------------------------------- /src/components/_dashboard/home/WorkflowPreviewAndLogs.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { styled } from '@material-ui/styles'; 3 | 4 | const RootDiv = styled('div')(({ theme }) => ({ 5 | height: 100, 6 | width: '100%', 7 | border: '1px solid currentColor', 8 | display: 'flex' 9 | })); 10 | 11 | const Preview = styled('div')(({ theme }) => ({ 12 | borderRight: '1px solid currentColor', 13 | width: '70%', 14 | padding: 5, 15 | fontSize: 14 16 | })); 17 | 18 | const Logs = styled('div')({ 19 | display: 'flex', 20 | flexGrow: 1, 21 | padding: 5, 22 | fontSize: 14 23 | }); 24 | 25 | export default function Details() { 26 | return ( 27 | 28 | Preview 29 | Logs 30 | 31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /src/components/_dashboard/home/index.js: -------------------------------------------------------------------------------- 1 | export { default as WorkflowHeader } from './WorkflowHeader'; 2 | export { default as ElementsList } from './ElementsList'; 3 | export { default as WorkflowDetails } from './WorkflowDetails'; 4 | export { default as WorkflowPreviewAndLogs } from './WorkflowPreviewAndLogs'; 5 | -------------------------------------------------------------------------------- /src/components/_dashboard/kanban/index.js: -------------------------------------------------------------------------------- 1 | export { default as KanbanCard } from './KanbanTaskCard'; 2 | export { default as KanbanColumn } from './KanbanColumn'; 3 | export { default as KanbanColumnAdd } from './KanbanColumnAdd'; 4 | -------------------------------------------------------------------------------- /src/components/_dashboard/mail/index.js: -------------------------------------------------------------------------------- 1 | export { default as MailCompose } from './MailCompose'; 2 | export { default as MailDetails } from './MailDetails'; 3 | export { default as MailDetailsAttachments } from './MailDetailsAttachments'; 4 | export { default as MailDetailsReplyInput } from './MailDetailsReplyInput'; 5 | export { default as MailDetailsToolbar } from './MailDetailsToolbar'; 6 | export { default as MailList } from './MailList'; 7 | export { default as MailItem } from './MailItem'; 8 | export { default as MailItemAction } from './MailItemAction'; 9 | export { default as MailToolbar } from './MailToolbar'; 10 | export { default as MailSidebar } from './MailSidebar'; 11 | export { default as MailSidebarItem } from './MailSidebarItem'; 12 | -------------------------------------------------------------------------------- /src/components/_dashboard/projects/index.js: -------------------------------------------------------------------------------- 1 | export { default as ProjectsFilter } from './ProjectsFilter'; 2 | -------------------------------------------------------------------------------- /src/components/_dashboard/user/account/index.js: -------------------------------------------------------------------------------- 1 | export { default as AccountBilling } from './AccountBilling'; 2 | export { default as AccountBillingAddressBook } from './AccountBillingAddressBook'; 3 | export { default as AccountBillingInvoiceHistory } from './AccountBillingInvoiceHistory'; 4 | export { default as AccountBillingPaymentMethod } from './AccountBillingPaymentMethod'; 5 | export { default as AccountChangePassword } from './AccountChangePassword'; 6 | export { default as AccountGeneral } from './AccountGeneral'; 7 | export { default as AccountNotifications } from './AccountNotifications'; 8 | export { default as AccountSocialLinks } from './AccountSocialLinks'; 9 | -------------------------------------------------------------------------------- /src/components/_dashboard/user/cards/index.js: -------------------------------------------------------------------------------- 1 | export { default as UserCard } from './UserCard'; 2 | -------------------------------------------------------------------------------- /src/components/_dashboard/user/list/index.js: -------------------------------------------------------------------------------- 1 | export { default as UserListHead } from './UserListHead'; 2 | export { default as UserListToolbar } from './UserListToolbar'; 3 | export { default as UserMoreMenu } from './UserMoreMenu'; 4 | -------------------------------------------------------------------------------- /src/components/_dashboard/user/profile/index.js: -------------------------------------------------------------------------------- 1 | export { default as Profile } from './Profile'; 2 | export { default as ProfileCover } from './ProfileCover'; 3 | export { default as ProfileFriends } from './ProfileFriends'; 4 | export { default as ProfileGallery } from './ProfileGallery'; 5 | export { default as ProfilePostCard } from './ProfilePostCard'; 6 | export { default as ProfileAbout } from './ProfileAbout'; 7 | export { default as ProfileFollowers } from './ProfileFollowers'; 8 | export { default as ProfileFollowInfo } from './ProfileFollowInfo'; 9 | export { default as ProfileSocialInfo } from './ProfileSocialInfo'; 10 | export { default as ProfilePostProfileInput } from './ProfilePostInput'; 11 | -------------------------------------------------------------------------------- /src/components/_dashboard/workflow/Details.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/src/components/_dashboard/workflow/Details.js -------------------------------------------------------------------------------- /src/components/_dashboard/workflow/Footer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/src/components/_dashboard/workflow/Footer.js -------------------------------------------------------------------------------- /src/components/_dashboard/workflow/InputElement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/src/components/_dashboard/workflow/InputElement.js -------------------------------------------------------------------------------- /src/components/_external-pages/about/index.js: -------------------------------------------------------------------------------- 1 | export { default as AboutHero } from './AboutHero'; 2 | export { default as AboutWhat } from './AboutWhat'; 3 | export { default as AboutTeam } from './AboutTeam'; 4 | export { default as AboutVision } from './AboutVision'; 5 | export { default as AboutTestimonials } from './AboutTestimonials'; 6 | -------------------------------------------------------------------------------- /src/components/_external-pages/components-overview/ComponentExtra.js: -------------------------------------------------------------------------------- 1 | // material 2 | import { Typography, Grid } from '@material-ui/core'; 3 | // 4 | import ComponentCard from './ComponentCard'; 5 | import { EXTRA_LIST } from './PathConfig'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | export default function ComponentExtra() { 10 | return ( 11 | 12 | 13 | 14 | Extra Component 15 | 16 | 17 | Chart, Map, Editor… 18 | 19 | 20 | 21 | 22 | 23 | {EXTRA_LIST.map((item) => ( 24 | 25 | ))} 26 | 27 | 28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/components/_external-pages/components-overview/ComponentFoundation.js: -------------------------------------------------------------------------------- 1 | // material 2 | import { Typography, Grid } from '@material-ui/core'; 3 | // 4 | import ComponentCard from './ComponentCard'; 5 | import { FOUNDATION_LIST } from './PathConfig'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | export default function ComponentFoundation() { 10 | return ( 11 | 12 | 13 | 14 | Foundation 15 | 16 | 17 | Colors, Typography, Shadows… 18 | 19 | 20 | 21 | 22 | 23 | {FOUNDATION_LIST.map((item) => ( 24 | 25 | ))} 26 | 27 | 28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/components/_external-pages/components-overview/ComponentMaterialUI.js: -------------------------------------------------------------------------------- 1 | // material 2 | import { Typography, Grid } from '@material-ui/core'; 3 | // 4 | import ComponentCard from './ComponentCard'; 5 | import { MATERIAL_LIST } from './PathConfig'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | export default function ComponentMaterialUI() { 10 | return ( 11 | 12 | 13 | 14 | Material UI 15 | 16 | 17 | Components from Material-UI© 18 | 19 | 20 | 21 | 22 | 23 | {MATERIAL_LIST.map((item) => ( 24 | 25 | ))} 26 | 27 | 28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/components/_external-pages/components-overview/index.js: -------------------------------------------------------------------------------- 1 | export { default as ComponentHero } from './ComponentHero'; 2 | export { default as ComponentFoundation } from './ComponentFoundation'; 3 | export { default as ComponentMaterialUI } from './ComponentMaterialUI'; 4 | export { default as ComponentOther } from './ComponentExtra'; 5 | -------------------------------------------------------------------------------- /src/components/_external-pages/contact/index.js: -------------------------------------------------------------------------------- 1 | export { default as ContactHero } from './ContactHero'; 2 | export { default as ContactForm } from './ContactForm'; 3 | export { default as ContactMap } from './ContactMap'; 4 | -------------------------------------------------------------------------------- /src/components/_external-pages/faqs/index.js: -------------------------------------------------------------------------------- 1 | export { default as FaqsHero } from './FaqsHero'; 2 | export { default as FaqsList } from './FaqsList'; 3 | export { default as FaqsForm } from './FaqsForm'; 4 | export { default as FaqsCategory } from './FaqsCategory'; 5 | -------------------------------------------------------------------------------- /src/components/_external-pages/landing/index.js: -------------------------------------------------------------------------------- 1 | export { default as LandingHero } from './LandingHero'; 2 | export { default as LandingMinimal } from './LandingMinimal'; 3 | export { default as LandingDarkMode } from './LandingDarkMode'; 4 | export { default as LandingThemeColor } from './LandingThemeColor'; 5 | export { default as LandingPricingPlans } from './LandingPricingPlans'; 6 | export { default as LandingAdvertisement } from './LandingAdvertisement'; 7 | export { default as LandingCleanInterfaces } from './LandingCleanInterfaces'; 8 | export { default as LandingHugePackElements } from './LandingHugePackElements'; 9 | -------------------------------------------------------------------------------- /src/components/_external-pages/payment/index.js: -------------------------------------------------------------------------------- 1 | export { default as PaymentBillingAddress } from './PaymentBillingAddress'; 2 | export { default as PaymentMethods } from './PaymentMethods'; 3 | export { default as PaymentNewCardForm } from './PaymentNewCardForm'; 4 | export { default as PaymentSummary } from './PaymentSummary'; 5 | -------------------------------------------------------------------------------- /src/components/_external-pages/pricing/index.js: -------------------------------------------------------------------------------- 1 | export { default as PricingPlanCard } from './PricingPlanCard'; 2 | -------------------------------------------------------------------------------- /src/components/animate/ButtonAnimate.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { motion } from 'framer-motion'; 3 | // material 4 | import { Box } from '@material-ui/core'; 5 | // 6 | import { varSmallClick, varMediumClick } from './variants'; 7 | 8 | // ---------------------------------------------------------------------- 9 | 10 | ButtonAnimate.propTypes = { 11 | mediumClick: PropTypes.bool, 12 | children: PropTypes.node, 13 | sx: PropTypes.object 14 | }; 15 | 16 | export default function ButtonAnimate({ mediumClick = false, children, sx, ...other }) { 17 | return ( 18 | 26 | {children} 27 | 28 | ); 29 | } 30 | -------------------------------------------------------------------------------- /src/components/animate/MotionContainer.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { motion } from 'framer-motion'; 3 | // material 4 | import { Box } from '@material-ui/core'; 5 | // 6 | import { varWrapEnter } from './variants'; 7 | 8 | // ---------------------------------------------------------------------- 9 | 10 | MotionContainer.propTypes = { 11 | open: PropTypes.bool.isRequired, 12 | children: PropTypes.node 13 | }; 14 | 15 | export default function MotionContainer({ open, children, ...other }) { 16 | return ( 17 | 18 | {children} 19 | 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /src/components/animate/TextAnimate.js: -------------------------------------------------------------------------------- 1 | import { motion } from 'framer-motion'; 2 | import PropTypes from 'prop-types'; 3 | // material 4 | import { Typography } from '@material-ui/core'; 5 | // 6 | import { varFadeInUp } from './variants'; 7 | 8 | // ---------------------------------------------------------------------- 9 | 10 | TextAnimate.propTypes = { 11 | text: PropTypes.string, 12 | variants: PropTypes.object, 13 | sx: PropTypes.object 14 | }; 15 | 16 | export default function TextAnimate({ text, variants, sx, ...other }) { 17 | return ( 18 | 28 | {text.split('').map((letter, index) => ( 29 | 30 | {letter} 31 | 32 | ))} 33 | 34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /src/components/animate/index.js: -------------------------------------------------------------------------------- 1 | export * from './variants'; 2 | export { default as MotionInView } from './MotionInView'; 3 | export { default as MotionContainer } from './MotionContainer'; 4 | export { default as DialogAnimate } from './DialogAnimate'; 5 | export { default as ButtonAnimate } from './ButtonAnimate'; 6 | export { default as TextAnimate } from './TextAnimate'; 7 | -------------------------------------------------------------------------------- /src/components/animate/variants/Actions.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export const varHover = { 4 | hover: { scale: 1.1 } 5 | }; 6 | 7 | export const varSmallClick = { 8 | hover: { scale: 1.04 }, 9 | tap: { scale: 0.96 } 10 | }; 11 | 12 | export const varMediumClick = { 13 | hover: { scale: 1.1 }, 14 | tap: { scale: 0.9 } 15 | }; 16 | -------------------------------------------------------------------------------- /src/components/animate/variants/Path.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export const TRANSITION = { 4 | duration: 2, 5 | ease: [0.43, 0.13, 0.23, 0.96] 6 | }; 7 | 8 | export const varPath = { 9 | animate: { 10 | fillOpacity: [0, 0, 1], 11 | pathLength: [1, 0.4, 0], 12 | transition: TRANSITION 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /src/components/animate/variants/Wrap.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export const varWrapEnter = { 4 | animate: { 5 | transition: { staggerChildren: 0.1 } 6 | } 7 | }; 8 | 9 | export const varWrapExit = { 10 | exit: { 11 | transition: { staggerChildren: 0.1 } 12 | } 13 | }; 14 | 15 | export const varWrapBoth = { 16 | animate: { 17 | transition: { staggerChildren: 0.07, delayChildren: 0.1 } 18 | }, 19 | exit: { 20 | transition: { staggerChildren: 0.05, staggerDirection: -1 } 21 | } 22 | }; 23 | -------------------------------------------------------------------------------- /src/components/animate/variants/background/BackgroundColor.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const TRANSITION = { 4 | duration: 5, 5 | ease: 'linear' 6 | }; 7 | 8 | export const varColor2x = { 9 | animate: { 10 | background: ['#19dcea', '#b22cff'], 11 | transition: TRANSITION 12 | } 13 | }; 14 | 15 | export const varColor3x = { 16 | animate: { 17 | background: ['#19dcea', '#b22cff', '#ea2222'], 18 | transition: TRANSITION 19 | } 20 | }; 21 | 22 | export const varColor4x = { 23 | animate: { 24 | background: ['#19dcea', '#b22cff', '#ea2222', '#f5be10'], 25 | transition: TRANSITION 26 | } 27 | }; 28 | 29 | export const varColor5x = { 30 | animate: { 31 | background: ['#19dcea', '#b22cff', '#ea2222', '#f5be10', '#3bd80d'], 32 | transition: TRANSITION 33 | } 34 | }; 35 | -------------------------------------------------------------------------------- /src/components/animate/variants/background/BackgroundKenburns.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const TRANSITION = { 4 | duration: 5, 5 | ease: 'easeOut' 6 | }; 7 | 8 | export const varKenburnsTop = { 9 | animate: { 10 | scale: [1, 1.25], 11 | y: [0, -15], 12 | transformOrigin: ['50% 16%', 'top'], 13 | transition: TRANSITION 14 | } 15 | }; 16 | 17 | export const varKenburnsBottom = { 18 | animate: { 19 | scale: [1, 1.25], 20 | y: [0, 15], 21 | transformOrigin: ['50% 84%', 'bottom'], 22 | transition: TRANSITION 23 | } 24 | }; 25 | 26 | export const varKenburnsLeft = { 27 | animate: { 28 | scale: [1, 1.25], 29 | x: [0, -20], 30 | y: [0, 15], 31 | transformOrigin: ['16% 50%', 'left'], 32 | transition: TRANSITION 33 | } 34 | }; 35 | 36 | export const varKenburnsRight = { 37 | animate: { 38 | scale: [1, 1.25], 39 | x: [0, 20], 40 | y: [0, -15], 41 | transformOrigin: ['84% 50%', 'right'], 42 | transition: TRANSITION 43 | } 44 | }; 45 | -------------------------------------------------------------------------------- /src/components/animate/variants/background/index.js: -------------------------------------------------------------------------------- 1 | export * from './BackgroundKenburns'; 2 | export * from './BackgroundPan'; 3 | export * from './BackgroundColor'; 4 | -------------------------------------------------------------------------------- /src/components/animate/variants/bounce/BounceOut.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export const varBounceOut = { 4 | animate: { 5 | scale: [0.9, 1.1, 0.3], 6 | opacity: [1, 1, 0] 7 | } 8 | }; 9 | 10 | export const varBounceOutUp = { 11 | animate: { 12 | y: [-12, 24, -720], 13 | scaleY: [0.985, 0.9, 3], 14 | opacity: [1, 1, 0] 15 | } 16 | }; 17 | 18 | export const varBounceOutDown = { 19 | animate: { 20 | y: [12, -24, 720], 21 | scaleY: [0.985, 0.9, 3], 22 | opacity: [1, 1, 0] 23 | } 24 | }; 25 | 26 | export const varBounceOutLeft = { 27 | animate: { 28 | x: [0, 24, -720], 29 | scaleX: [1, 0.9, 2], 30 | opacity: [1, 1, 0] 31 | } 32 | }; 33 | 34 | export const varBounceOutRight = { 35 | animate: { 36 | x: [0, -24, 720], 37 | scaleX: [1, 0.9, 2], 38 | opacity: [1, 1, 0] 39 | } 40 | }; 41 | -------------------------------------------------------------------------------- /src/components/animate/variants/bounce/index.js: -------------------------------------------------------------------------------- 1 | export * from './BounceIn'; 2 | export * from './BounceOut'; 3 | -------------------------------------------------------------------------------- /src/components/animate/variants/fade/index.js: -------------------------------------------------------------------------------- 1 | export * from './FadeIn'; 2 | export * from './FadeOut'; 3 | -------------------------------------------------------------------------------- /src/components/animate/variants/flip/FlipIn.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const TRANSITION_ENTER = { 4 | duration: 0.64, 5 | ease: [0.43, 0.13, 0.23, 0.96] 6 | }; 7 | const TRANSITION_EXIT = { 8 | duration: 0.48, 9 | ease: [0.43, 0.13, 0.23, 0.96] 10 | }; 11 | 12 | export const varFlipInX = { 13 | initial: { rotateX: -180, opacity: 0 }, 14 | animate: { rotateX: 0, opacity: 1, transition: TRANSITION_ENTER }, 15 | exit: { rotateX: -180, opacity: 0, transition: TRANSITION_EXIT } 16 | }; 17 | 18 | export const varFlipInY = { 19 | initial: { rotateY: -180, opacity: 0 }, 20 | animate: { rotateY: 0, opacity: 1, transition: TRANSITION_ENTER }, 21 | exit: { rotateY: -180, opacity: 0, transition: TRANSITION_EXIT } 22 | }; 23 | -------------------------------------------------------------------------------- /src/components/animate/variants/flip/FlipOut.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const TRANSITION_EXIT = { 4 | duration: 0.48, 5 | ease: [0.43, 0.13, 0.23, 0.96] 6 | }; 7 | 8 | export const varFlipOutX = { 9 | initial: { rotateX: 0, opacity: 1 }, 10 | animate: { rotateX: 70, opacity: 0, transition: TRANSITION_EXIT } 11 | }; 12 | 13 | export const varFlipOutY = { 14 | initial: { rotateY: 0, opacity: 1 }, 15 | animate: { rotateY: 70, opacity: 0, transition: TRANSITION_EXIT } 16 | }; 17 | -------------------------------------------------------------------------------- /src/components/animate/variants/flip/index.js: -------------------------------------------------------------------------------- 1 | export * from './FlipIn'; 2 | export * from './FlipOut'; 3 | -------------------------------------------------------------------------------- /src/components/animate/variants/index.js: -------------------------------------------------------------------------------- 1 | export * from './Wrap'; 2 | export * from './Path'; 3 | export * from './Actions'; 4 | export * from './background'; 5 | export * from './slide'; 6 | export * from './fade'; 7 | export * from './zoom'; 8 | export * from './bounce'; 9 | export * from './flip'; 10 | export * from './scale'; 11 | export * from './rotate'; 12 | -------------------------------------------------------------------------------- /src/components/animate/variants/rotate/RotateIn.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const TRANSITION_ENTER = { 4 | duration: 0.64, 5 | ease: [0.43, 0.13, 0.23, 0.96] 6 | }; 7 | const TRANSITION_EXIT = { 8 | duration: 0.48, 9 | ease: [0.43, 0.13, 0.23, 0.96] 10 | }; 11 | 12 | export const varRotateIn = { 13 | initial: { opacity: 0, rotate: -360 }, 14 | animate: { opacity: 1, rotate: 0, transition: TRANSITION_ENTER }, 15 | exit: { opacity: 0, rotate: -360, transition: TRANSITION_EXIT } 16 | }; 17 | -------------------------------------------------------------------------------- /src/components/animate/variants/rotate/RotateOut.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const TRANSITION_EXIT = { 4 | duration: 0.48, 5 | ease: [0.43, 0.13, 0.23, 0.96] 6 | }; 7 | 8 | export const varRotateOut = { 9 | initial: { opacity: 1, rotate: 0 }, 10 | animate: { opacity: 0, rotate: -360, transition: TRANSITION_EXIT } 11 | }; 12 | -------------------------------------------------------------------------------- /src/components/animate/variants/rotate/index.js: -------------------------------------------------------------------------------- 1 | export * from './RotateIn'; 2 | export * from './RotateOut'; 3 | -------------------------------------------------------------------------------- /src/components/animate/variants/scale/ScaleIn.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const TRANSITION_ENTER = { 4 | duration: 0.64, 5 | ease: [0.43, 0.13, 0.23, 0.96] 6 | }; 7 | const TRANSITION_EXIT = { 8 | duration: 0.48, 9 | ease: [0.43, 0.13, 0.23, 0.96] 10 | }; 11 | 12 | export const varScaleInX = { 13 | initial: { scaleX: 0, opacity: 0 }, 14 | animate: { scaleX: 1, opacity: 1, transition: TRANSITION_ENTER }, 15 | exit: { scaleX: 0, opacity: 0, transition: TRANSITION_EXIT } 16 | }; 17 | 18 | export const varScaleInY = { 19 | initial: { scaleY: 0, opacity: 0 }, 20 | animate: { scaleY: 1, opacity: 1, transition: TRANSITION_ENTER }, 21 | exit: { scaleY: 0, opacity: 0, transition: TRANSITION_EXIT } 22 | }; 23 | -------------------------------------------------------------------------------- /src/components/animate/variants/scale/ScaleOut.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const TRANSITION_ENTER = { 4 | duration: 0.64, 5 | ease: [0.43, 0.13, 0.23, 0.96] 6 | }; 7 | 8 | export const varScaleOutX = { 9 | initial: { scaleX: 1, opacity: 1 }, 10 | animate: { scaleX: 0, opacity: 0, transition: TRANSITION_ENTER } 11 | }; 12 | 13 | export const varScaleOutY = { 14 | initial: { scaleY: 1, opacity: 1 }, 15 | animate: { scaleY: 0, opacity: 0, transition: TRANSITION_ENTER } 16 | }; 17 | -------------------------------------------------------------------------------- /src/components/animate/variants/scale/index.js: -------------------------------------------------------------------------------- 1 | export * from './ScaleIn'; 2 | export * from './ScaleOut'; 3 | -------------------------------------------------------------------------------- /src/components/animate/variants/slide/index.js: -------------------------------------------------------------------------------- 1 | export * from './SlideIn'; 2 | export * from './SlideOut'; 3 | -------------------------------------------------------------------------------- /src/components/animate/variants/zoom/Out.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const DISTANCE = 720; 4 | const IN = { scale: 1, opacity: 1 }; 5 | const OUT = { scale: 0, opacity: 0 }; 6 | 7 | const TRANSITION_ENTER = { 8 | duration: 0.64, 9 | ease: [0.43, 0.13, 0.23, 0.96] 10 | }; 11 | 12 | export const varZoomOut = { 13 | initial: { scale: 1 }, 14 | animate: { scale: 0, transition: TRANSITION_ENTER } 15 | }; 16 | 17 | export const varZoomOutUp = { 18 | initial: IN, 19 | animate: { ...OUT, translateY: -DISTANCE, transition: TRANSITION_ENTER } 20 | }; 21 | 22 | export const varZoomOutDown = { 23 | initial: IN, 24 | animate: { ...OUT, translateY: DISTANCE, transition: TRANSITION_ENTER } 25 | }; 26 | 27 | export const varZoomOutLeft = { 28 | initial: IN, 29 | animate: { ...OUT, translateX: -DISTANCE, transition: TRANSITION_ENTER } 30 | }; 31 | 32 | export const varZoomOutRight = { 33 | initial: IN, 34 | animate: { ...OUT, translateX: DISTANCE, transition: TRANSITION_ENTER } 35 | }; 36 | -------------------------------------------------------------------------------- /src/components/animate/variants/zoom/index.js: -------------------------------------------------------------------------------- 1 | export * from './In'; 2 | export * from './Out'; 3 | -------------------------------------------------------------------------------- /src/components/authentication/login/index.js: -------------------------------------------------------------------------------- 1 | export { default as LoginForm } from './LoginForm'; 2 | -------------------------------------------------------------------------------- /src/components/authentication/register/index.js: -------------------------------------------------------------------------------- 1 | export { default as RegisterForm } from './RegisterForm'; 2 | -------------------------------------------------------------------------------- /src/components/authentication/reset-password/index.js: -------------------------------------------------------------------------------- 1 | export { default as ResetPasswordForm } from './ResetPasswordForm'; 2 | -------------------------------------------------------------------------------- /src/components/authentication/verify-code/index.js: -------------------------------------------------------------------------------- 1 | export { default as VerifyCodeForm } from './VerifyCodeForm'; 2 | -------------------------------------------------------------------------------- /src/components/carousel/controls/index.js: -------------------------------------------------------------------------------- 1 | export { default as CarouselControlsPaging1 } from './CarouselControlsPaging1'; 2 | export { default as CarouselControlsPaging2 } from './CarouselControlsPaging2'; 3 | export { default as CarouselControlsArrowsBasic1 } from './CarouselControlsArrowsBasic1'; 4 | export { default as CarouselControlsArrowsBasic2 } from './CarouselControlsArrowsBasic2'; 5 | export { default as CarouselControlsArrowsIndex } from './CarouselControlsArrowsIndex'; 6 | -------------------------------------------------------------------------------- /src/components/carousel/index.js: -------------------------------------------------------------------------------- 1 | export * from './controls'; 2 | export { default as CarouselAnimation } from './CarouselAnimation'; 3 | export { default as CarouselBasic1 } from './CarouselBasic1'; 4 | export { default as CarouselBasic2 } from './CarouselBasic2'; 5 | export { default as CarouselBasic3 } from './CarouselBasic3'; 6 | export { default as CarouselBasic4 } from './CarouselBasic4'; 7 | export { default as CarouselCenterMode } from './CarouselCenterMode'; 8 | export { default as CarouselThumbnail } from './CarouselThumbnail'; 9 | -------------------------------------------------------------------------------- /src/components/charts/ChartBar.js: -------------------------------------------------------------------------------- 1 | import { merge } from 'lodash'; 2 | import ReactApexChart from 'react-apexcharts'; 3 | // 4 | import BaseOptionChart from './BaseOptionChart'; 5 | 6 | // ---------------------------------------------------------------------- 7 | 8 | const CHART_DATA = [{ data: [400, 430, 448, 470, 540, 580, 690, 1100, 1200, 1380] }]; 9 | 10 | export default function ChartBar() { 11 | const chartOptions = merge(BaseOptionChart(), { 12 | stroke: { show: false }, 13 | plotOptions: { 14 | bar: { horizontal: true, barHeight: '30%' } 15 | }, 16 | xaxis: { 17 | categories: [ 18 | 'Italy', 19 | 'Japan', 20 | 'China', 21 | 'Canada', 22 | 'France', 23 | 'Germany', 24 | 'South Korea', 25 | 'Netherlands', 26 | 'United States', 27 | 'United Kingdom' 28 | ] 29 | } 30 | }); 31 | 32 | return ; 33 | } 34 | -------------------------------------------------------------------------------- /src/components/charts/ChartColumnMultiple.js: -------------------------------------------------------------------------------- 1 | import { merge } from 'lodash'; 2 | import ReactApexChart from 'react-apexcharts'; 3 | // 4 | import BaseOptionChart from './BaseOptionChart'; 5 | 6 | // ---------------------------------------------------------------------- 7 | 8 | const CHART_DATA = [ 9 | { name: 'Net Profit', data: [44, 55, 57, 56, 61, 58, 63, 60, 66] }, 10 | { name: 'Revenue', data: [76, 85, 101, 98, 87, 105, 91, 114, 94] } 11 | ]; 12 | 13 | export default function ChartColumnMultiple() { 14 | const chartOptions = merge(BaseOptionChart(), { 15 | stroke: { show: true, width: 2, colors: ['transparent'] }, 16 | xaxis: { 17 | categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct'] 18 | }, 19 | tooltip: { 20 | y: { 21 | formatter(val) { 22 | return `$ ${val} thousands`; 23 | } 24 | } 25 | }, 26 | plotOptions: { bar: { columnWidth: '36%' } } 27 | }); 28 | 29 | return ; 30 | } 31 | -------------------------------------------------------------------------------- /src/components/charts/ChartColumnSingle.js: -------------------------------------------------------------------------------- 1 | import { merge } from 'lodash'; 2 | import ReactApexChart from 'react-apexcharts'; 3 | // 4 | import BaseOptionChart from './BaseOptionChart'; 5 | 6 | // ---------------------------------------------------------------------- 7 | 8 | const CHART_DATA = [{ name: 'Net Profit', data: [44, 55, 57, 56, 61, 58, 63, 60, 66] }]; 9 | 10 | export default function ChartColumnSingle() { 11 | const chartOptions = merge(BaseOptionChart(), { 12 | plotOptions: { bar: { columnWidth: '16%' } }, 13 | stroke: { show: false }, 14 | xaxis: { 15 | categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct'] 16 | }, 17 | tooltip: { 18 | y: { 19 | formatter: (val) => `$ ${val} thousands` 20 | } 21 | } 22 | }); 23 | 24 | return ; 25 | } 26 | -------------------------------------------------------------------------------- /src/components/charts/ChartDonut.js: -------------------------------------------------------------------------------- 1 | import { merge } from 'lodash'; 2 | import ReactApexChart from 'react-apexcharts'; 3 | // 4 | import BaseOptionChart from './BaseOptionChart'; 5 | 6 | // ---------------------------------------------------------------------- 7 | 8 | const CHART_DATA = [44, 55, 13, 43]; 9 | 10 | export default function ChartDonut() { 11 | const chartOptions = merge(BaseOptionChart(), { 12 | labels: ['Apple', 'Mango', 'Orange', 'Watermelon'], 13 | stroke: { show: false }, 14 | legend: { horizontalAlign: 'center' }, 15 | plotOptions: { pie: { donut: { size: '90%' } } } 16 | }); 17 | 18 | return ; 19 | } 20 | -------------------------------------------------------------------------------- /src/components/charts/ChartLine.js: -------------------------------------------------------------------------------- 1 | import { merge } from 'lodash'; 2 | import ReactApexChart from 'react-apexcharts'; 3 | // 4 | import BaseOptionChart from './BaseOptionChart'; 5 | 6 | // ---------------------------------------------------------------------- 7 | 8 | const CHART_DATA = [{ name: 'Desktops', data: [10, 41, 35, 51, 49, 62, 69, 91, 148] }]; 9 | 10 | export default function ChartLine() { 11 | const chartOptions = merge(BaseOptionChart(), { 12 | xaxis: { 13 | categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'] 14 | }, 15 | tooltip: { x: { show: false }, marker: { show: false } } 16 | }); 17 | 18 | return ; 19 | } 20 | -------------------------------------------------------------------------------- /src/components/charts/ChartPie.js: -------------------------------------------------------------------------------- 1 | import { merge } from 'lodash'; 2 | import ReactApexChart from 'react-apexcharts'; 3 | // 4 | import BaseOptionChart from './BaseOptionChart'; 5 | 6 | // ---------------------------------------------------------------------- 7 | 8 | const CHART_DATA = [44, 55, 13, 43]; 9 | 10 | export default function ChartPie() { 11 | const chartOptions = merge(BaseOptionChart(), { 12 | labels: ['Team A', 'Team B', 'Team C', 'Team D'], 13 | legend: { 14 | position: 'right', 15 | offsetX: -20, 16 | offsetY: 64, 17 | itemMargin: { vertical: 8 } 18 | }, 19 | stroke: { show: false }, 20 | dataLabels: { enabled: true, dropShadow: { enabled: false } }, 21 | plotOptions: { 22 | pie: { donut: { labels: { show: false } } } 23 | } 24 | }); 25 | 26 | return ; 27 | } 28 | -------------------------------------------------------------------------------- /src/components/charts/index.js: -------------------------------------------------------------------------------- 1 | export { default as BaseOptionChart } from './BaseOptionChart'; 2 | export { default as ChartArea } from './ChartArea'; 3 | export { default as ChartBar } from './ChartBar'; 4 | export { default as ChartColumnMultiple } from './ChartColumnMultiple'; 5 | export { default as ChartColumnNegative } from './ChartColumnNegative'; 6 | export { default as ChartColumnSingle } from './ChartColumnSingle'; 7 | export { default as ChartColumnStacked } from './ChartColumnStacked'; 8 | export { default as ChartDonut } from './ChartDonut'; 9 | export { default as ChartMixed } from './ChartMixed'; 10 | export { default as ChartLine } from './ChartLine'; 11 | export { default as ChartPie } from './ChartPie'; 12 | export { default as ChartsRadarBar } from './ChartRadarBar'; 13 | export { default as ChartRadialBar } from './ChartRadialBar'; 14 | -------------------------------------------------------------------------------- /src/components/editor/draft/index.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { Editor } from 'react-draft-wysiwyg'; 3 | // 4 | import { toolbarFull, toolbarSimple } from './DraftEditorToolbar'; 5 | import DraftEditorStyle from './DraftEditorStyle'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | DraftEditor.propTypes = { 10 | simple: PropTypes.bool, 11 | error: PropTypes.bool, 12 | sx: PropTypes.object 13 | }; 14 | 15 | export default function DraftEditor({ simple = false, error, sx, ...other }) { 16 | return ( 17 | `solid 1px ${theme.palette.error.main}` 21 | }), 22 | ...sx 23 | }} 24 | > 25 | 26 | 27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /src/components/editor/index.js: -------------------------------------------------------------------------------- 1 | export { default as QuillEditor } from './quill'; 2 | export { default as DraftEditor } from './draft'; 3 | -------------------------------------------------------------------------------- /src/components/map/controls/MapControlFullscreen.js: -------------------------------------------------------------------------------- 1 | import { FullscreenControl } from 'react-map-gl'; 2 | // material 3 | import { styled } from '@material-ui/core/styles'; 4 | 5 | // ---------------------------------------------------------------------- 6 | 7 | const FullscreenControlStyle = styled(FullscreenControl)(({ theme }) => ({ 8 | zIndex: 99, 9 | borderRadius: 8, 10 | overflow: 'hidden', 11 | top: theme.spacing(1.5), 12 | left: theme.spacing(1.5), 13 | boxShadow: theme.customShadows.z8, 14 | '& span.mapboxgl-ctrl-icon': { 15 | transform: ' scale(0.75)' 16 | } 17 | })); 18 | 19 | // ---------------------------------------------------------------------- 20 | 21 | export default function MapControlFullscreen({ ...other }) { 22 | return ; 23 | } 24 | -------------------------------------------------------------------------------- /src/components/map/controls/MapControlGeolocate.js: -------------------------------------------------------------------------------- 1 | import { GeolocateControl } from 'react-map-gl'; 2 | // material 3 | import { styled } from '@material-ui/core/styles'; 4 | 5 | // ---------------------------------------------------------------------- 6 | 7 | const GeolocateControlStyle = styled(GeolocateControl)(({ theme }) => ({ 8 | zIndex: 99, 9 | borderRadius: 8, 10 | overflow: 'hidden', 11 | top: theme.spacing(6), 12 | left: theme.spacing(1.5), 13 | boxShadow: theme.customShadows.z8 14 | })); 15 | 16 | // ---------------------------------------------------------------------- 17 | 18 | export default function MapControlGeolocate({ ...other }) { 19 | return ; 20 | } 21 | -------------------------------------------------------------------------------- /src/components/map/controls/MapControlNavigation.js: -------------------------------------------------------------------------------- 1 | import { NavigationControl } from 'react-map-gl'; 2 | // material 3 | import { styled } from '@material-ui/core/styles'; 4 | 5 | // ---------------------------------------------------------------------- 6 | 7 | const NavigationControlStyle = styled(NavigationControl)(({ theme }) => ({ 8 | zIndex: 99, 9 | borderRadius: 8, 10 | overflow: 'hidden', 11 | bottom: theme.spacing(6), 12 | left: theme.spacing(1.5), 13 | boxShadow: theme.customShadows.z8, 14 | '& button+button': { 15 | borderTop: `1px solid ${theme.palette.divider}` 16 | } 17 | })); 18 | 19 | // ---------------------------------------------------------------------- 20 | 21 | export default function MapControlNavigation({ ...other }) { 22 | return ; 23 | } 24 | -------------------------------------------------------------------------------- /src/components/map/controls/index.js: -------------------------------------------------------------------------------- 1 | export { default as MapControlFullscreen } from './MapControlFullscreen'; 2 | export { default as MapControlGeolocate } from './MapControlGeolocate'; 3 | export { default as MapControlMarker } from './MapControlMarker'; 4 | export { default as MapControlNavigation } from './MapControlNavigation'; 5 | export { default as MapControlPopup } from './MapControlPopup'; 6 | export { default as MapControlScale } from './MapControlScale'; 7 | -------------------------------------------------------------------------------- /src/components/map/index.js: -------------------------------------------------------------------------------- 1 | export * from './controls'; 2 | export { default as MapChangeTheme } from './map-change-theme'; 3 | export { default as MapDraggableMarkers } from './map-draggable-markers'; 4 | export { default as MapDynamicStyling } from './map-dynamic-styling'; 5 | export { default as MapGeojson } from './map-geojson'; 6 | export { default as MapHeatmap } from './map-heatmap'; 7 | export { default as MapInteraction } from './map-interaction'; 8 | export { default as MapViewportAnimation } from './map-viewport-animation'; 9 | export { default as MapDeckglOverlay } from './MapDeckglOverlay'; 10 | export { default as MapGeoJSONAnimation } from './MapGeoJSONAnimation'; 11 | export { default as MapHighlightByFilter } from './MapHighlightByFilter'; 12 | export { default as MapClusters } from './MapClusters'; 13 | export { default as MapMarkersPopups } from './MapMarkersPopups'; 14 | export { default as MapZoomToBounds } from './MapZoomToBounds'; 15 | -------------------------------------------------------------------------------- /src/components/map/map-dynamic-styling/index.js: -------------------------------------------------------------------------------- 1 | import MapGL from 'react-map-gl'; 2 | import { useState } from 'react'; 3 | // 4 | import { MapControlScale, MapControlGeolocate, MapControlNavigation, MapControlFullscreen } from '../controls'; 5 | import ControlPanel from './ControlPanel'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | export default function MapDynamicStyling({ ...other }) { 10 | const [mapStyle, setMapStyle] = useState(''); 11 | const [viewport, setViewport] = useState({ 12 | latitude: 37.805, 13 | longitude: -122.447, 14 | zoom: 15.5, 15 | bearing: 0, 16 | pitch: 0 17 | }); 18 | 19 | return ( 20 | <> 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /src/components/mega-menu/index.js: -------------------------------------------------------------------------------- 1 | export { default as MegaMenuDesktopVertical } from './MegaMenuDesktopVertical'; 2 | export { default as MegaMenuDesktopHorizon } from './MegaMenuDesktopHorizon'; 3 | export { default as MegaMenuMobile } from './MegaMenuMobile'; 4 | export { default as MenuConfig } from './MenuConfig'; 5 | -------------------------------------------------------------------------------- /src/components/upload/index.js: -------------------------------------------------------------------------------- 1 | export { default as UploadMultiFile } from './UploadMultiFile'; 2 | export { default as UploadSingleFile } from './UploadSingleFile'; 3 | export { default as UploadAvatar } from './UploadAvatar'; 4 | -------------------------------------------------------------------------------- /src/config.js: -------------------------------------------------------------------------------- 1 | export const firebaseConfig = { 2 | apiKey: process.env.REACT_APP_FIREBASE_API_KEY, 3 | authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN, 4 | databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL, 5 | projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID, 6 | storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET, 7 | messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID, 8 | appId: process.env.REACT_APP_FIREBASE_APPID, 9 | measurementId: process.env.REACT_APP_FIREBASE_MEASUREMENT_ID 10 | }; 11 | 12 | export const cognitoConfig = { 13 | userPoolId: process.env.REACT_APP_AWS_COGNITO_USER_POOL_ID, 14 | clientId: process.env.REACT_APP_AWS_COGNITO_CLIENT_ID 15 | }; 16 | 17 | export const auth0Config = { 18 | clientId: process.env.REACT_APP_AUTH0_CLIENT_ID, 19 | domain: process.env.REACT_APP_AUTH0_DOMAIN 20 | }; 21 | 22 | export const mapConfig = process.env.REACT_APP_MAP_MAPBOX; 23 | 24 | export const googleAnalyticsConfig = process.env.REACT_APP_GA_MEASUREMENT_ID; 25 | -------------------------------------------------------------------------------- /src/contexts/FlowsContext.js: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react'; 2 | import useFlows from '../hooks/useFlows'; 3 | // ---------------------------------------------------------------------- 4 | 5 | const FlowsContext = createContext(); 6 | 7 | function FlowsProvider({ children }) { 8 | const { data, error, status, changeCurrentFlow, addNewFlow, deleteFlow, saveToFlash, loadFlow } = useFlows(); 9 | 10 | return ( 11 | 23 | {children} 24 | 25 | ); 26 | } 27 | 28 | export { FlowsContext, FlowsProvider }; 29 | -------------------------------------------------------------------------------- /src/graphql/queries.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // this is an auto generated file. This will be overwritten 3 | 4 | export const getProject = /* GraphQL */ ` 5 | query GetProject($id: ID!) { 6 | getProject(id: $id) { 7 | id 8 | name 9 | elements 10 | description 11 | createdAt 12 | updatedAt 13 | } 14 | } 15 | `; 16 | export const listProjects = /* GraphQL */ ` 17 | query ListProjects( 18 | $filter: ModelProjectFilterInput 19 | $limit: Int 20 | $nextToken: String 21 | ) { 22 | listProjects(filter: $filter, limit: $limit, nextToken: $nextToken) { 23 | items { 24 | id 25 | name 26 | elements 27 | description 28 | createdAt 29 | updatedAt 30 | } 31 | nextToken 32 | } 33 | } 34 | `; 35 | -------------------------------------------------------------------------------- /src/graphql/subscriptions.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // this is an auto generated file. This will be overwritten 3 | 4 | export const onCreateProject = /* GraphQL */ ` 5 | subscription OnCreateProject { 6 | onCreateProject { 7 | id 8 | name 9 | elements 10 | description 11 | createdAt 12 | updatedAt 13 | } 14 | } 15 | `; 16 | export const onUpdateProject = /* GraphQL */ ` 17 | subscription OnUpdateProject { 18 | onUpdateProject { 19 | id 20 | name 21 | elements 22 | description 23 | createdAt 24 | updatedAt 25 | } 26 | } 27 | `; 28 | export const onDeleteProject = /* GraphQL */ ` 29 | subscription OnDeleteProject { 30 | onDeleteProject { 31 | id 32 | name 33 | elements 34 | description 35 | createdAt 36 | updatedAt 37 | } 38 | } 39 | `; 40 | -------------------------------------------------------------------------------- /src/guards/AuthGuard.js: -------------------------------------------------------------------------------- 1 | import { useState } from 'react'; 2 | import { Navigate, useLocation } from 'react-router-dom'; 3 | import PropTypes from 'prop-types'; 4 | // hooks 5 | import useAuth from '../hooks/useAuth'; 6 | // pages 7 | import Login from '../pages/authentication/Login'; 8 | 9 | // ---------------------------------------------------------------------- 10 | 11 | AuthGuard.propTypes = { 12 | children: PropTypes.node 13 | }; 14 | 15 | export default function AuthGuard({ children }) { 16 | const { isAuthenticated } = useAuth(); 17 | const { pathname } = useLocation(); 18 | const [requestedLocation, setRequestedLocation] = useState(null); 19 | 20 | if (!isAuthenticated) { 21 | if (pathname !== requestedLocation) { 22 | setRequestedLocation(pathname); 23 | } 24 | return ; 25 | } 26 | 27 | if (requestedLocation && pathname !== requestedLocation) { 28 | setRequestedLocation(null); 29 | return ; 30 | } 31 | 32 | return <>{children}; 33 | } 34 | -------------------------------------------------------------------------------- /src/guards/GuestGuard.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { Navigate } from 'react-router-dom'; 3 | // hooks 4 | import useAuth from '../hooks/useAuth'; 5 | // routes 6 | import { PATH_DASHBOARD } from '../routes/paths'; 7 | 8 | // ---------------------------------------------------------------------- 9 | 10 | GuestGuard.propTypes = { 11 | children: PropTypes.node 12 | }; 13 | 14 | export default function GuestGuard({ children }) { 15 | const { isAuthenticated } = useAuth(); 16 | 17 | if (isAuthenticated) { 18 | return ; 19 | } 20 | 21 | return <>{children}; 22 | } 23 | -------------------------------------------------------------------------------- /src/guards/RoleBasedGuard.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { Container, Alert, AlertTitle } from '@material-ui/core'; 3 | 4 | // ---------------------------------------------------------------------- 5 | 6 | RoleBasedGuard.propTypes = { 7 | accessibleRoles: PropTypes.array, // Example ['admin', 'leader'] 8 | children: PropTypes.node 9 | }; 10 | 11 | const useCurrentRole = () => { 12 | // Logic here to get current user role 13 | const role = 'admin'; 14 | return role; 15 | }; 16 | 17 | export default function RoleBasedGuard({ accessibleRoles, children }) { 18 | const currentRole = useCurrentRole(); 19 | 20 | if (!accessibleRoles.includes(currentRole)) { 21 | return ( 22 | 23 | 24 | Permission Denied 25 | You do not have permission to access this page 26 | 27 | 28 | ); 29 | } 30 | 31 | return <>{children}; 32 | } 33 | -------------------------------------------------------------------------------- /src/hooks/useAuth.js: -------------------------------------------------------------------------------- 1 | import { useContext } from 'react'; 2 | import { AuthContext } from '../contexts/JWTContext'; 3 | // import { AuthContext } from '../contexts/FirebaseContext'; 4 | // import { AuthContext } from '../contexts/AwsCognitoContext'; 5 | // import { AuthContext } from '../contexts/Auth0Context'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | const useAuth = () => useContext(AuthContext); 10 | 11 | export default useAuth; 12 | -------------------------------------------------------------------------------- /src/hooks/useCollapseDrawer.js: -------------------------------------------------------------------------------- 1 | import { useContext } from 'react'; 2 | import { CollapseDrawerContext } from '../contexts/CollapseDrawerContext'; 3 | 4 | // ---------------------------------------------------------------------- 5 | 6 | const useCollapseDrawer = () => useContext(CollapseDrawerContext); 7 | 8 | export default useCollapseDrawer; 9 | -------------------------------------------------------------------------------- /src/hooks/useIsMountedRef.js: -------------------------------------------------------------------------------- 1 | import { useRef, useEffect } from 'react'; 2 | 3 | // ---------------------------------------------------------------------- 4 | 5 | export default function useIsMountedRef() { 6 | const isMounted = useRef(true); 7 | 8 | useEffect( 9 | () => () => { 10 | isMounted.current = false; 11 | }, 12 | [] 13 | ); 14 | 15 | return isMounted; 16 | } 17 | -------------------------------------------------------------------------------- /src/hooks/useOffSetTop.js: -------------------------------------------------------------------------------- 1 | import { useState, useEffect } from 'react'; 2 | 3 | // ---------------------------------------------------------------------- 4 | 5 | export default function useOffSetTop(top) { 6 | const [offsetTop, setOffSetTop] = useState(false); 7 | const isTop = top || 100; 8 | 9 | useEffect(() => { 10 | window.onscroll = () => { 11 | if (window.pageYOffset > isTop) { 12 | setOffSetTop(true); 13 | } else { 14 | setOffSetTop(false); 15 | } 16 | }; 17 | return () => { 18 | window.onscroll = null; 19 | }; 20 | }, [isTop]); 21 | 22 | return offsetTop; 23 | } 24 | 25 | // Usage 26 | // const offset = useOffSetTop(100); 27 | -------------------------------------------------------------------------------- /src/hooks/useSettings.js: -------------------------------------------------------------------------------- 1 | import { useContext } from 'react'; 2 | import { SettingsContext } from '../contexts/SettingsContext'; 3 | 4 | // ---------------------------------------------------------------------- 5 | 6 | const useSettings = () => useContext(SettingsContext); 7 | 8 | export default useSettings; 9 | -------------------------------------------------------------------------------- /src/layouts/LogoOnlyLayout.js: -------------------------------------------------------------------------------- 1 | import { Link as RouterLink, Outlet } from 'react-router-dom'; 2 | // material 3 | import { styled } from '@material-ui/core/styles'; 4 | // components 5 | import Logo from '../components/Logo'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | const HeaderStyle = styled('header')(({ theme }) => ({ 10 | top: 0, 11 | left: 0, 12 | lineHeight: 0, 13 | width: '100%', 14 | position: 'absolute', 15 | padding: theme.spacing(3, 3, 0), 16 | [theme.breakpoints.up('sm')]: { 17 | padding: theme.spacing(5, 5, 0) 18 | } 19 | })); 20 | 21 | // ---------------------------------------------------------------------- 22 | 23 | export default function LogoOnlyLayout() { 24 | return ( 25 | <> 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | ); 34 | } 35 | -------------------------------------------------------------------------------- /src/layouts/dashboard/ModeSetting.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitehorse21/ReactFlow/6cdddb4057d2b8b4eb4332083bfa0f047a94596b/src/layouts/dashboard/ModeSetting.js -------------------------------------------------------------------------------- /src/layouts/dashboard/ProjectsSideBar.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import { styled } from '@material-ui/styles'; 4 | import Box from '../../components/Page'; 5 | import { ProjectsFilter } from '../../components/_dashboard/projects'; 6 | 7 | const StyledPage = styled(Box)({ 8 | display: 'flex', 9 | flexDirection: 'row', 10 | height: '100%' 11 | }); 12 | 13 | const GrowDiv = styled('div')({ 14 | flexGrow: 1, 15 | height: '100%' 16 | }); 17 | 18 | const ProjectsSidebar = ({ children }) => ( 19 | :not(style)': { 23 | m: 1 24 | } 25 | }} 26 | > 27 | 28 | {children} 29 | 30 | ); 31 | 32 | ProjectsSidebar.propTypes = { 33 | children: PropTypes.node 34 | }; 35 | 36 | export default ProjectsSidebar; 37 | -------------------------------------------------------------------------------- /src/layouts/dashboard/WorkflowFooter.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import { styled } from '@material-ui/core/styles'; 4 | import Page from '../../components/Page'; 5 | import { WorkflowPreviewAndLogs } from '../../components/_dashboard/home'; 6 | import { MHidden } from '../../components/@material-extend'; 7 | 8 | const FooterDiv = styled(Page)({ 9 | display: 'flex', 10 | flexDirection: 'column', 11 | height: '100%' 12 | }); 13 | 14 | const Children = styled('div')({ 15 | flexGrow: 1 16 | }); 17 | 18 | const WorkflowFooter = ({ children }) => ( 19 | 20 | {children} 21 | 22 | 23 | 24 | 25 | ); 26 | 27 | WorkflowFooter.propTypes = { 28 | children: PropTypes.node 29 | }; 30 | 31 | export default WorkflowFooter; 32 | -------------------------------------------------------------------------------- /src/layouts/dashboard/WorkflowRightSide.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import { styled } from '@material-ui/core/styles'; 4 | import Page from '../../components/Page'; 5 | import { WorkflowDetails } from '../../components/_dashboard/home'; 6 | import { MHidden } from '../../components/@material-extend'; 7 | 8 | const RightSide = styled(Page)({ 9 | display: 'flex', 10 | flexDirection: 'row', 11 | height: '100%' 12 | }); 13 | 14 | const Children = styled('div')({ 15 | flexGrow: 1 16 | }); 17 | 18 | const WorkflowRightSide = ({ children }) => ( 19 | 20 | {children} 21 | 22 | 23 | 24 | 25 | ); 26 | 27 | WorkflowRightSide.propTypes = { 28 | children: PropTypes.node 29 | }; 30 | 31 | export default WorkflowRightSide; 32 | -------------------------------------------------------------------------------- /src/locales/de.json: -------------------------------------------------------------------------------- 1 | { 2 | "demo": { 3 | "title": "German", 4 | "introduction": "Lorem Ipsum ist einfach Dummy-Text der Druck- und Satzindustrie. Lorem Ipsum ist seit dem 16. Jahrhundert der Standard-Dummy-Text der Branche, als ein unbekannter Drucker eine Galeere vom Typ nahm und sie zu einem Musterbuch verschlüsselte. Es hat nicht nur fünf Jahrhunderte überlebt, sondern auch den Sprung in den elektronischen Satz, der im Wesentlichen unverändert geblieben ist. Es wurde in den 1960er Jahren mit der Veröffentlichung von Letraset-Blättern mit Lorem Ipsum-Passagen und in jüngerer Zeit mit Desktop-Publishing-Software wie Aldus PageMaker einschließlich Versionen von Lorem Ipsum populär gemacht." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/locales/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "demo": { 3 | "title": "English", 4 | "introduction": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/locales/fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "demo": { 3 | "title": "France", 4 | "introduction": "Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un imprimeur anonyme assembla ensemble des morceaux de texte pour réaliser un livre spécimen de polices de texte. Il n'a pas fait que survivre cinq siècles, mais s'est aussi adapté à la bureautique informatique, sans que son contenu n'en soit modifié. Il a été popularisé dans les années 1960 grâce à la vente de feuilles Letraset contenant des passages du Lorem Ipsum, et, plus récemment, par son inclusion dans des applications de mise en page de texte, comme Aldus PageMaker." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/locales/i18n.js: -------------------------------------------------------------------------------- 1 | import i18n from 'i18next'; 2 | import { initReactI18next } from 'react-i18next'; 3 | import LanguageDetector from 'i18next-browser-languagedetector'; 4 | // 5 | import enLocales from './en.json'; 6 | import deLocales from './de.json'; 7 | import frLocales from './fr.json'; 8 | 9 | // ---------------------------------------------------------------------- 10 | 11 | i18n 12 | .use(LanguageDetector) 13 | .use(initReactI18next) 14 | .init({ 15 | resources: { 16 | en: { translations: enLocales }, 17 | de: { translations: deLocales }, 18 | fr: { translations: frLocales } 19 | }, 20 | lng: localStorage.getItem('i18nextLng') || 'en', 21 | fallbackLng: 'en', 22 | debug: false, 23 | ns: ['translations'], 24 | defaultNS: 'translations', 25 | interpolation: { 26 | escapeValue: false 27 | } 28 | }); 29 | 30 | export default i18n; 31 | -------------------------------------------------------------------------------- /src/pages/About.js: -------------------------------------------------------------------------------- 1 | // material 2 | import { styled } from '@material-ui/core/styles'; 3 | import { Divider } from '@material-ui/core'; 4 | // components 5 | import Page from '../components/Page'; 6 | import { AboutHero, AboutWhat, AboutTeam, AboutVision, AboutTestimonials } from '../components/_external-pages/about'; 7 | 8 | // ---------------------------------------------------------------------- 9 | 10 | const RootStyle = styled(Page)(({ theme }) => ({ 11 | paddingTop: theme.spacing(8), 12 | [theme.breakpoints.up('md')]: { 13 | paddingTop: theme.spacing(11) 14 | } 15 | })); 16 | 17 | // ---------------------------------------------------------------------- 18 | 19 | export default function About() { 20 | return ( 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/pages/components-overview/extra/animate/background/Toolbar.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { Icon } from '@iconify/react'; 3 | import refreshFill from '@iconify/icons-eva/refresh-fill'; 4 | // material 5 | import { Paper } from '@material-ui/core'; 6 | // components 7 | import { MIconButton } from '../../../../../components/@material-extend'; 8 | 9 | // ---------------------------------------------------------------------- 10 | 11 | Toolbar.propTypes = { 12 | onRefresh: PropTypes.func 13 | }; 14 | 15 | export default function Toolbar({ onRefresh, ...other }) { 16 | return ( 17 | 18 | 19 | 20 | 21 | 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /src/pages/components-overview/extra/animate/background/types.js: -------------------------------------------------------------------------------- 1 | const variantTypes = [ 2 | { 3 | type: 'kenburns', 4 | values: ['kenburnsTop', 'kenburnsBottom', 'kenburnsLeft', 'kenburnsRight'] 5 | }, 6 | { 7 | type: 'pan', 8 | values: ['panTop', 'panBottom', 'panLeft', 'panRight'] 9 | }, 10 | { 11 | type: 'color change', 12 | values: ['color2x', 'color3x', 'color4x', 'color5x'] 13 | } 14 | ]; 15 | 16 | export default variantTypes; 17 | -------------------------------------------------------------------------------- /src/pages/components-overview/extra/animate/dialog/types.js: -------------------------------------------------------------------------------- 1 | const variantTypes = [ 2 | { 3 | type: 'slide', 4 | values: ['slideInUp', 'slideInDown', 'slideInLeft', 'slideInRight'] 5 | }, 6 | { 7 | type: 'fade', 8 | values: ['fadeIn', 'fadeInUp', 'fadeInDown', 'fadeInLeft', 'fadeInRight'] 9 | }, 10 | { 11 | type: 'zoom', 12 | values: ['zoomIn', 'zoomInUp', 'zoomInDown', 'zoomInLeft', 'zoomInRight'] 13 | }, 14 | { 15 | type: 'bounce', 16 | values: ['bounceIn', 'bounceInUp', 'bounceInDown', 'bounceInLeft', 'bounceInRight'] 17 | }, 18 | { 19 | type: 'flip', 20 | values: ['flipInX', 'flipInY'] 21 | }, 22 | { 23 | type: 'scale', 24 | values: ['scaleInX', 'scaleInY'] 25 | }, 26 | { 27 | type: 'rotate', 28 | values: ['rotateIn'] 29 | } 30 | ]; 31 | 32 | export default variantTypes; 33 | -------------------------------------------------------------------------------- /src/pages/components-overview/extra/animate/other/MediumClick.js: -------------------------------------------------------------------------------- 1 | import { Icon } from '@iconify/react'; 2 | import plusFill from '@iconify/icons-eva/plus-fill'; 3 | // material 4 | import { Fab, Button, IconButton } from '@material-ui/core'; 5 | // components 6 | import { ButtonAnimate } from '../../../../../components/animate'; 7 | 8 | // ---------------------------------------------------------------------- 9 | 10 | export default function MediumClick() { 11 | return ( 12 | <> 13 | 14 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/pages/components-overview/extra/animate/other/SmallClick.js: -------------------------------------------------------------------------------- 1 | import { Icon } from '@iconify/react'; 2 | import plusFill from '@iconify/icons-eva/plus-fill'; 3 | // material 4 | import { Fab, Button, IconButton } from '@material-ui/core'; 5 | // components 6 | import { ButtonAnimate } from '../../../../../components/animate'; 7 | 8 | // ---------------------------------------------------------------------- 9 | 10 | export default function SmallClick() { 11 | return ( 12 | <> 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /src/pages/components-overview/extra/animate/scroll/Toolbar.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import { Icon } from '@iconify/react'; 3 | import refreshFill from '@iconify/icons-eva/refresh-fill'; 4 | // material 5 | import { Paper } from '@material-ui/core'; 6 | // components 7 | import { MIconButton } from '../../../../../components/@material-extend'; 8 | 9 | // ---------------------------------------------------------------------- 10 | 11 | Toolbar.propTypes = { 12 | onRefresh: PropTypes.func, 13 | sx: PropTypes.string 14 | }; 15 | 16 | export default function Toolbar({ onRefresh, sx, ...other }) { 17 | return ( 18 | 27 | 28 | 29 | 30 | 31 | ); 32 | } 33 | -------------------------------------------------------------------------------- /src/pages/components-overview/extra/animate/scroll/types.js: -------------------------------------------------------------------------------- 1 | const variantTypes = [ 2 | { 3 | type: 'slide', 4 | values: ['slideInUp', 'slideInDown', 'slideInLeft', 'slideInRight'] 5 | }, 6 | { 7 | type: 'fade', 8 | values: ['fadeIn', 'fadeInUp', 'fadeInDown', 'fadeInLeft', 'fadeInRight'] 9 | }, 10 | { 11 | type: 'zoom', 12 | values: ['zoomIn', 'zoomInUp', 'zoomInDown', 'zoomInLeft', 'zoomInRight'] 13 | }, 14 | { 15 | type: 'bounce', 16 | values: ['bounceIn', 'bounceInUp', 'bounceInDown', 'bounceInLeft', 'bounceInRight'] 17 | }, 18 | { 19 | type: 'flip', 20 | values: ['flipInX', 'flipInY'] 21 | }, 22 | { 23 | type: 'scale', 24 | values: ['scaleInX', 'scaleInY'] 25 | }, 26 | { 27 | type: 'rotate', 28 | values: ['rotateIn'] 29 | } 30 | ]; 31 | 32 | export default variantTypes; 33 | -------------------------------------------------------------------------------- /src/redux/store.js: -------------------------------------------------------------------------------- 1 | import { useDispatch as useReduxDispatch, useSelector as useReduxSelector } from 'react-redux'; 2 | import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit'; 3 | import { persistStore, persistReducer } from 'redux-persist'; 4 | // 5 | import { rootPersistConfig, rootReducer } from './rootReducer'; 6 | 7 | // ---------------------------------------------------------------------- 8 | 9 | const store = configureStore({ 10 | reducer: persistReducer(rootPersistConfig, rootReducer), 11 | middleware: getDefaultMiddleware({ 12 | serializableCheck: false, 13 | immutableCheck: false 14 | }) 15 | }); 16 | 17 | const persistor = persistStore(store); 18 | 19 | const useSelector = useReduxSelector; 20 | 21 | const useDispatch = () => useReduxDispatch(); 22 | 23 | export { store, persistor, useSelector, useDispatch }; 24 | -------------------------------------------------------------------------------- /src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = (onPerfEntry) => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /src/theme/breakpoints.js: -------------------------------------------------------------------------------- 1 | const breakpoints = { 2 | values: { 3 | xs: 0, 4 | sm: 600, 5 | md: 900, // OLD 960 6 | lg: 1200, // OLD 1280 7 | xl: 1536 // OLD 1920 8 | } 9 | }; 10 | 11 | export default breakpoints; 12 | -------------------------------------------------------------------------------- /src/theme/overrides/Autocomplete.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Autocomplete(theme) { 4 | return { 5 | MuiAutocomplete: { 6 | styleOverrides: { 7 | paper: { 8 | boxShadow: theme.customShadows.z20 9 | } 10 | } 11 | } 12 | }; 13 | } 14 | -------------------------------------------------------------------------------- /src/theme/overrides/Avatar.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Avatar(theme) { 4 | return { 5 | MuiAvatar: { 6 | styleOverrides: { 7 | colorDefault: { 8 | color: theme.palette.text.secondary, 9 | backgroundColor: theme.palette.grey[400] 10 | } 11 | } 12 | }, 13 | MuiAvatarGroup: { 14 | styleOverrides: { 15 | avatar: { 16 | fontSize: 16, 17 | fontWeight: theme.typography.fontWeightMedium, 18 | '&:first-of-type': { 19 | fontSize: 14, 20 | color: theme.palette.primary.main, 21 | backgroundColor: theme.palette.primary.lighter 22 | } 23 | } 24 | } 25 | } 26 | }; 27 | } 28 | -------------------------------------------------------------------------------- /src/theme/overrides/Backdrop.js: -------------------------------------------------------------------------------- 1 | import { alpha } from '@material-ui/core/styles'; 2 | 3 | // ---------------------------------------------------------------------- 4 | 5 | export default function Backdrop(theme) { 6 | const varLow = alpha(theme.palette.grey[900], 0.48); 7 | const varHigh = alpha(theme.palette.grey[900], 1); 8 | 9 | return { 10 | MuiBackdrop: { 11 | styleOverrides: { 12 | root: { 13 | background: [ 14 | `rgb(22,28,36)`, 15 | `-moz-linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`, 16 | `-webkit-linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`, 17 | `linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)` 18 | ], 19 | '&.MuiBackdrop-invisible': { 20 | background: 'transparent' 21 | } 22 | } 23 | } 24 | } 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /src/theme/overrides/Badge.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Badge() { 4 | return { 5 | MuiBadge: { 6 | styleOverrides: { 7 | dot: { 8 | width: 10, 9 | height: 10, 10 | borderRadius: '50%' 11 | } 12 | } 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /src/theme/overrides/Breadcrumbs.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Breadcrumbs(theme) { 4 | return { 5 | MuiBreadcrumbs: { 6 | styleOverrides: { 7 | separator: { 8 | marginLeft: theme.spacing(2), 9 | marginRight: theme.spacing(2) 10 | } 11 | } 12 | } 13 | }; 14 | } 15 | -------------------------------------------------------------------------------- /src/theme/overrides/Card.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Card(theme) { 4 | return { 5 | MuiCard: { 6 | styleOverrides: { 7 | root: { 8 | boxShadow: theme.customShadows.z16, 9 | borderRadius: theme.shape.borderRadiusMd, 10 | position: 'relative', 11 | zIndex: 0 // Fix Safari overflow: hidden with border radius 12 | } 13 | } 14 | }, 15 | MuiCardHeader: { 16 | defaultProps: { 17 | titleTypographyProps: { variant: 'h6' }, 18 | subheaderTypographyProps: { 19 | variant: 'body2', 20 | marginTop: theme.spacing(0.5) 21 | } 22 | }, 23 | styleOverrides: { 24 | root: { 25 | padding: theme.spacing(3, 3, 0) 26 | } 27 | } 28 | }, 29 | MuiCardContent: { 30 | styleOverrides: { 31 | root: { 32 | padding: theme.spacing(3) 33 | } 34 | } 35 | } 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /src/theme/overrides/Container.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Container() { 4 | return { 5 | MuiContainer: { 6 | styleOverrides: { 7 | root: {} 8 | } 9 | } 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /src/theme/overrides/ControlLabel.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function ControlLabel(theme) { 4 | return { 5 | MuiFormControlLabel: { 6 | styleOverrides: { 7 | label: { 8 | ...theme.typography.body2 9 | } 10 | } 11 | }, 12 | MuiFormHelperText: { 13 | styleOverrides: { 14 | root: { 15 | marginTop: theme.spacing(1) 16 | } 17 | } 18 | }, 19 | MuiFormLabel: { 20 | styleOverrides: { 21 | root: { 22 | color: theme.palette.text.disabled 23 | } 24 | } 25 | } 26 | }; 27 | } 28 | -------------------------------------------------------------------------------- /src/theme/overrides/Drawer.js: -------------------------------------------------------------------------------- 1 | import { alpha } from '@material-ui/core'; 2 | 3 | // ---------------------------------------------------------------------- 4 | 5 | export default function Drawer(theme) { 6 | const isLight = theme.palette.mode === 'light'; 7 | 8 | return { 9 | MuiDrawer: { 10 | styleOverrides: { 11 | modal: { 12 | '&[role="presentation"]': { 13 | '& .MuiDrawer-paperAnchorLeft': { 14 | boxShadow: `8px 24px 24px 12px ${alpha(theme.palette.grey[900], isLight ? 0.16 : 0.48)}` 15 | }, 16 | '& .MuiDrawer-paperAnchorRight': { 17 | boxShadow: `-8px 24px 24px 12px ${alpha(theme.palette.grey[900], isLight ? 0.16 : 0.48)}` 18 | } 19 | } 20 | } 21 | } 22 | } 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /src/theme/overrides/Fab.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Fab(theme) { 4 | return { 5 | MuiFab: { 6 | defaultProps: { 7 | color: 'primary' 8 | }, 9 | 10 | variants: [ 11 | { 12 | props: { color: 'primary' }, 13 | style: { 14 | boxShadow: theme.customShadows.primary, 15 | '&:hover': { 16 | backgroundColor: theme.palette.primary.dark 17 | } 18 | } 19 | } 20 | ], 21 | 22 | styleOverrides: { 23 | root: { 24 | boxShadow: theme.customShadows.z8, 25 | '&:hover': { 26 | boxShadow: 'none', 27 | backgroundColor: theme.palette.grey[400] 28 | } 29 | }, 30 | primary: {}, 31 | extended: { 32 | '& svg': { 33 | marginRight: theme.spacing(1) 34 | } 35 | } 36 | } 37 | } 38 | }; 39 | } 40 | -------------------------------------------------------------------------------- /src/theme/overrides/Grid.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Grid() { 4 | return { 5 | MuiGrid: { 6 | styleOverrides: {} 7 | } 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /src/theme/overrides/IconButton.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function IconButton() { 4 | return { 5 | MuiIconButton: { 6 | styleOverrides: { 7 | root: {} 8 | } 9 | } 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /src/theme/overrides/Link.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Link() { 4 | return { 5 | MuiLink: { 6 | defaultProps: { 7 | underline: 'hover' 8 | }, 9 | 10 | styleOverrides: { 11 | root: {} 12 | } 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /src/theme/overrides/Lists.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Lists(theme) { 4 | return { 5 | MuiListItemIcon: { 6 | styleOverrides: { 7 | root: { 8 | color: 'inherit', 9 | minWidth: 'auto', 10 | marginRight: theme.spacing(2) 11 | } 12 | } 13 | }, 14 | MuiListItemAvatar: { 15 | styleOverrides: { 16 | root: { 17 | minWidth: 'auto', 18 | marginRight: theme.spacing(2) 19 | } 20 | } 21 | }, 22 | MuiListItemText: { 23 | styleOverrides: { 24 | root: { 25 | marginTop: 0, 26 | marginBottom: 0 27 | }, 28 | multiline: { 29 | marginTop: 0, 30 | marginBottom: 0 31 | } 32 | } 33 | } 34 | }; 35 | } 36 | -------------------------------------------------------------------------------- /src/theme/overrides/LoadingButton.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function LoadingButton() { 4 | return { 5 | MuiLoadingButton: { 6 | styleOverrides: { 7 | root: { 8 | '&.MuiButton-text': { 9 | '& .MuiLoadingButton-startIconPendingStart': { 10 | marginLeft: 0 11 | }, 12 | '& .MuiLoadingButton-endIconPendingEnd': { 13 | marginRight: 0 14 | } 15 | } 16 | } 17 | } 18 | } 19 | }; 20 | } 21 | -------------------------------------------------------------------------------- /src/theme/overrides/Menu.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Menu(theme) { 4 | return { 5 | MuiMenuItem: { 6 | styleOverrides: { 7 | root: { 8 | '&.Mui-selected': { 9 | backgroundColor: theme.palette.action.selected, 10 | '&:hover': { 11 | backgroundColor: theme.palette.action.hover 12 | } 13 | } 14 | } 15 | } 16 | } 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /src/theme/overrides/Paper.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Paper() { 4 | return { 5 | MuiPaper: { 6 | defaultProps: { 7 | elevation: 0 8 | }, 9 | 10 | styleOverrides: { 11 | root: { 12 | backgroundImage: 'none' 13 | } 14 | } 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /src/theme/overrides/Pickers.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Pickers() { 4 | return {}; 5 | } 6 | -------------------------------------------------------------------------------- /src/theme/overrides/Popover.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Popover(theme) { 4 | return { 5 | MuiPopover: { 6 | styleOverrides: { 7 | paper: { 8 | boxShadow: theme.customShadows.z12 9 | } 10 | } 11 | } 12 | }; 13 | } 14 | -------------------------------------------------------------------------------- /src/theme/overrides/Progress.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Progress(theme) { 4 | const isLight = theme.palette.mode === 'light'; 5 | 6 | return { 7 | MuiLinearProgress: { 8 | styleOverrides: { 9 | root: { 10 | borderRadius: 4, 11 | overflow: 'hidden' 12 | }, 13 | bar: { 14 | borderRadius: 4 15 | }, 16 | colorPrimary: { 17 | backgroundColor: theme.palette.primary[isLight ? 'lighter' : 'darker'] 18 | }, 19 | buffer: { 20 | backgroundColor: 'transparent' 21 | } 22 | } 23 | } 24 | }; 25 | } 26 | -------------------------------------------------------------------------------- /src/theme/overrides/Radio.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Radio(theme) { 4 | return { 5 | MuiRadio: { 6 | styleOverrides: { 7 | root: { 8 | padding: theme.spacing(1), 9 | svg: { 10 | fontSize: 24, 11 | '&[font-size=small]': { 12 | fontSize: 20 13 | } 14 | } 15 | } 16 | } 17 | } 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /src/theme/overrides/Rating.js: -------------------------------------------------------------------------------- 1 | import { Icon } from '@iconify/react'; 2 | import starFill from '@iconify/icons-eva/star-fill'; 3 | 4 | import { SvgIcon } from '@material-ui/core'; 5 | 6 | // ---------------------------------------------------------------------- 7 | 8 | const ICON_SMALL = { width: 20, height: 20 }; 9 | const ICON_LARGE = { width: 28, height: 28 }; 10 | 11 | const ICON = ( 12 | 13 | 14 | 15 | ); 16 | 17 | export default function Rating(theme) { 18 | return { 19 | MuiRating: { 20 | defaultProps: { 21 | emptyIcon: ICON, 22 | icon: ICON 23 | }, 24 | 25 | styleOverrides: { 26 | root: { 27 | '&.Mui-disabled': { 28 | opacity: 0.48 29 | } 30 | }, 31 | iconEmpty: { color: theme.palette.grey[500_48] }, 32 | sizeSmall: { '& svg': { ...ICON_SMALL } }, 33 | sizeLarge: { '& svg': { ...ICON_LARGE } } 34 | } 35 | } 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /src/theme/overrides/Select.js: -------------------------------------------------------------------------------- 1 | import ExpandMoreRoundedIcon from '@material-ui/icons/ExpandMoreRounded'; 2 | 3 | // ---------------------------------------------------------------------- 4 | 5 | export default function Select() { 6 | return { 7 | MuiSelect: { 8 | defaultProps: { 9 | IconComponent: ExpandMoreRoundedIcon 10 | }, 11 | 12 | styleOverrides: { 13 | root: {} 14 | } 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /src/theme/overrides/Skeleton.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Skeleton(theme) { 4 | return { 5 | MuiSkeleton: { 6 | defaultProps: { 7 | animation: 'wave' 8 | }, 9 | 10 | styleOverrides: { 11 | root: { 12 | backgroundColor: theme.palette.background.neutral 13 | } 14 | } 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /src/theme/overrides/Slider.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Slider(theme) { 4 | const isLight = theme.palette.mode === 'light'; 5 | 6 | return { 7 | MuiSlider: { 8 | defaultProps: { 9 | size: 'small' 10 | }, 11 | 12 | styleOverrides: { 13 | root: { 14 | '&.Mui-disabled': { 15 | color: theme.palette.action.disabled 16 | } 17 | }, 18 | markLabel: { 19 | fontSize: 13, 20 | color: theme.palette.text.disabled 21 | }, 22 | valueLabel: { 23 | borderRadius: 8, 24 | backgroundColor: theme.palette.grey[isLight ? 800 : 700] 25 | } 26 | } 27 | } 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /src/theme/overrides/Snackbar.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Snackbar() { 4 | return { 5 | MuiSnackbarContent: { 6 | styleOverrides: { 7 | root: {} 8 | } 9 | } 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /src/theme/overrides/Stepper.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Stepper(theme) { 4 | return { 5 | MuiStepConnector: { 6 | styleOverrides: { 7 | line: { 8 | borderColor: theme.palette.divider 9 | } 10 | } 11 | } 12 | }; 13 | } 14 | -------------------------------------------------------------------------------- /src/theme/overrides/SvgIcon.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function SvgIcon() { 4 | return { 5 | MuiSvgIcon: { 6 | styleOverrides: { 7 | fontSizeSmall: { 8 | width: 20, 9 | height: 20, 10 | fontSize: 'inherit' 11 | }, 12 | fontSizeLarge: { 13 | width: 32, 14 | height: 32, 15 | fontSize: 'inherit' 16 | } 17 | } 18 | } 19 | }; 20 | } 21 | -------------------------------------------------------------------------------- /src/theme/overrides/Switch.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Switch(theme) { 4 | const isLight = theme.palette.mode === 'light'; 5 | 6 | return { 7 | MuiSwitch: { 8 | styleOverrides: { 9 | thumb: { 10 | boxShadow: theme.customShadows.z1 11 | }, 12 | track: { 13 | opacity: 1, 14 | backgroundColor: theme.palette.grey[500] 15 | }, 16 | switchBase: { 17 | left: 0, 18 | right: 'auto', 19 | '&:not(:.Mui-checked)': { 20 | color: theme.palette.grey[isLight ? 100 : 300] 21 | }, 22 | '&.Mui-checked.Mui-disabled, &.Mui-disabled': { 23 | color: theme.palette.grey[isLight ? 400 : 600] 24 | }, 25 | '&.Mui-disabled+.MuiSwitch-track': { 26 | opacity: 1, 27 | backgroundColor: `${theme.palette.action.disabledBackground} !important` 28 | } 29 | } 30 | } 31 | } 32 | }; 33 | } 34 | -------------------------------------------------------------------------------- /src/theme/overrides/Timeline.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Timeline(theme) { 4 | return { 5 | MuiTimelineDot: { 6 | styleOverrides: { 7 | root: { 8 | boxShadow: 'none' 9 | } 10 | } 11 | }, 12 | 13 | MuiTimelineConnector: { 14 | styleOverrides: { 15 | root: { 16 | backgroundColor: theme.palette.divider 17 | } 18 | } 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /src/theme/overrides/ToggleButton.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function ToggleButton(theme) { 4 | const isLight = theme.palette.mode === 'light'; 5 | 6 | return { 7 | MuiToggleButton: { 8 | styleOverrides: { 9 | root: { 10 | color: theme.palette.grey[500], 11 | border: `solid 1px ${theme.palette.grey[500_32]}`, 12 | '&.Mui-selected': { 13 | color: theme.palette.grey[isLight ? 600 : 0], 14 | backgroundColor: theme.palette.action.selected 15 | }, 16 | '&.Mui-disabled': { 17 | color: theme.palette.grey[500_48] 18 | } 19 | } 20 | } 21 | } 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /src/theme/overrides/Tooltip.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Tooltip(theme) { 4 | const isLight = theme.palette.mode === 'light'; 5 | 6 | return { 7 | MuiTooltip: { 8 | styleOverrides: { 9 | tooltip: { 10 | backgroundColor: theme.palette.grey[isLight ? 800 : 700] 11 | }, 12 | arrow: { 13 | color: theme.palette.grey[isLight ? 800 : 700] 14 | } 15 | } 16 | } 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /src/theme/overrides/Typography.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function Typography(theme) { 4 | return { 5 | MuiTypography: { 6 | styleOverrides: { 7 | paragraph: { 8 | marginBottom: theme.spacing(2) 9 | }, 10 | gutterBottom: { 11 | marginBottom: theme.spacing(1) 12 | } 13 | } 14 | } 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /src/theme/shape.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | const shape = { 4 | borderRadius: 8, 5 | borderRadiusSm: 12, 6 | borderRadiusMd: 16 7 | }; 8 | 9 | export default shape; 10 | -------------------------------------------------------------------------------- /src/utils/analytics.js: -------------------------------------------------------------------------------- 1 | import { googleAnalyticsConfig } from '../config'; 2 | 3 | // ---------------------------------------------------------------------- 4 | 5 | const setup = (...args) => { 6 | if (process.env.NODE_ENV !== 'production') { 7 | return; 8 | } 9 | if (!window.gtag) { 10 | return; 11 | } 12 | window.gtag(...args); 13 | }; 14 | 15 | const track = { 16 | pageview: (props) => { 17 | setup('config', googleAnalyticsConfig, props); 18 | }, 19 | event: (type, props) => { 20 | setup('event', type, props); 21 | } 22 | }; 23 | 24 | export default track; 25 | -------------------------------------------------------------------------------- /src/utils/axios.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | 3 | // ---------------------------------------------------------------------- 4 | 5 | const axiosInstance = axios.create(); 6 | 7 | axiosInstance.interceptors.response.use( 8 | (response) => response, 9 | (error) => Promise.reject((error.response && error.response.data) || 'Something went wrong') 10 | ); 11 | 12 | export default axiosInstance; 13 | -------------------------------------------------------------------------------- /src/utils/fakeRequest.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function fakeRequest(time) { 4 | return new Promise((res) => setTimeout(res, time)); 5 | } 6 | -------------------------------------------------------------------------------- /src/utils/formatNumber.js: -------------------------------------------------------------------------------- 1 | import { replace } from 'lodash'; 2 | import numeral from 'numeral'; 3 | 4 | // ---------------------------------------------------------------------- 5 | 6 | export function fCurrency(number) { 7 | return numeral(number).format(Number.isInteger(number) ? '$0,0' : '$0,0.00'); 8 | } 9 | 10 | export function fPercent(number) { 11 | return numeral(number / 100).format('0.0%'); 12 | } 13 | 14 | export function fNumber(number) { 15 | return numeral(number).format(); 16 | } 17 | 18 | export function fShortenNumber(number) { 19 | return replace(numeral(number).format('0.00a'), '.00', ''); 20 | } 21 | 22 | export function fData(number) { 23 | return numeral(number).format('0.0 b'); 24 | } 25 | -------------------------------------------------------------------------------- /src/utils/formatTime.js: -------------------------------------------------------------------------------- 1 | import { format, getTime, formatDistanceToNow } from 'date-fns'; 2 | 3 | // ---------------------------------------------------------------------- 4 | 5 | export function fDate(date) { 6 | return format(new Date(date), 'dd MMMM yyyy'); 7 | } 8 | 9 | export function fDateTime(date) { 10 | return format(new Date(date), 'dd MMM yyyy HH:mm'); 11 | } 12 | 13 | export function fTimestamp(date) { 14 | return getTime(new Date(date)); 15 | } 16 | 17 | export function fDateTimeSuffix(date) { 18 | return format(new Date(date), 'dd/MM/yyyy hh:mm p'); 19 | } 20 | 21 | export function fToNow(date) { 22 | return formatDistanceToNow(new Date(date), { 23 | addSuffix: true 24 | }); 25 | } 26 | -------------------------------------------------------------------------------- /src/utils/getColorName.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export default function getColorName(hex) { 4 | let color; 5 | 6 | switch (hex) { 7 | case '#00AB55': 8 | color = 'Green'; 9 | break; 10 | case '#000000': 11 | color = 'Black'; 12 | break; 13 | case '#FFFFFF': 14 | color = 'White'; 15 | break; 16 | case '#FFC0CB': 17 | color = 'Pink'; 18 | break; 19 | case '#FF4842': 20 | color = 'Red'; 21 | break; 22 | case '#1890FF': 23 | color = 'Blue'; 24 | break; 25 | case '#94D82D': 26 | color = 'Greenyellow'; 27 | break; 28 | case '#FFC107': 29 | color = 'Orange'; 30 | break; 31 | default: 32 | color = hex; 33 | } 34 | 35 | return color; 36 | } 37 | -------------------------------------------------------------------------------- /src/utils/highlight.js: -------------------------------------------------------------------------------- 1 | import hljs from 'highlight.js'; 2 | import 'highlight.js/styles/atom-one-dark.css'; 3 | 4 | // ---------------------------------------------------------------------- 5 | 6 | hljs.configure({ 7 | languages: ['javascript', 'jsx', 'sh', 'bash', 'html', 'scss', 'css', 'json'] 8 | }); 9 | 10 | window.hljs = hljs; 11 | -------------------------------------------------------------------------------- /src/utils/jwt.js: -------------------------------------------------------------------------------- 1 | import jwtDecode from 'jwt-decode'; 2 | import { verify, sign } from 'jsonwebtoken'; 3 | // 4 | import axios from './axios'; 5 | 6 | // ---------------------------------------------------------------------- 7 | 8 | const isValidToken = (accessToken) => { 9 | if (!accessToken) { 10 | return false; 11 | } 12 | 13 | const decoded = jwtDecode(accessToken); 14 | const currentTime = Date.now() / 1000; 15 | 16 | return decoded.exp > currentTime; 17 | }; 18 | 19 | const setSession = (accessToken) => { 20 | if (accessToken) { 21 | localStorage.setItem('accessToken', accessToken); 22 | axios.defaults.headers.common.Authorization = `Bearer ${accessToken}`; 23 | // This function below will handle when token is expired 24 | // const { exp } = jwtDecode(accessToken); 25 | // handleTokenExpired(exp); 26 | } else { 27 | localStorage.removeItem('accessToken'); 28 | delete axios.defaults.headers.common.Authorization; 29 | } 30 | }; 31 | 32 | export { isValidToken, setSession, verify, sign }; 33 | -------------------------------------------------------------------------------- /src/utils/mock-data/boolean.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export const boolean = [ 4 | true, 5 | true, 6 | true, 7 | false, 8 | false, 9 | true, 10 | false, 11 | false, 12 | false, 13 | false, 14 | true, 15 | true, 16 | true, 17 | false, 18 | false, 19 | false, 20 | true, 21 | false, 22 | false, 23 | false, 24 | true, 25 | false, 26 | false, 27 | true, 28 | true, 29 | true, 30 | false, 31 | false, 32 | true, 33 | true, 34 | false, 35 | true, 36 | false, 37 | true, 38 | true, 39 | true, 40 | false, 41 | true, 42 | false, 43 | false 44 | ]; 45 | -------------------------------------------------------------------------------- /src/utils/mock-data/phoneNumber.js: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------------------- 2 | 3 | export const phoneNumber = [ 4 | '365-374-4961', 5 | '904-966-2836', 6 | '399-757-9909', 7 | '692-767-2903', 8 | '990-588-5716', 9 | '955-439-2578', 10 | '226-924-4058', 11 | '552-917-1454', 12 | '285-840-9338', 13 | '306-269-2446', 14 | '883-373-6253', 15 | '476-509-8866', 16 | '201-465-1954', 17 | '538-295-9408', 18 | '531-492-6028', 19 | '981-699-7588', 20 | '500-268-4826', 21 | '205-952-3828', 22 | '222-255-5190', 23 | '408-439-8033', 24 | '272-940-8266', 25 | '812-685-8057', 26 | '353-801-5212', 27 | '606-285-8928', 28 | '202-767-8621', 29 | '222-830-0731', 30 | '964-940-3166', 31 | '262-702-2396', 32 | '886-261-9789', 33 | '352-390-5069', 34 | '343-907-8334', 35 | '575-347-2399', 36 | '749-228-5604', 37 | '774-452-2071', 38 | '607-841-0447', 39 | '395-619-2157', 40 | '233-834-0373', 41 | '586-880-2602', 42 | '746-772-0722', 43 | '638-615-3365,' 44 | ]; 45 | -------------------------------------------------------------------------------- /src/utils/runFlow.js: -------------------------------------------------------------------------------- 1 | import { elementsDetail } from './elementsDetail'; 2 | 3 | const runFlow = (elements) => { 4 | const inputNodes = elements.filter(({ type }) => type === 'input'); 5 | if (!inputNodes) return false; 6 | 7 | const excuteAndMove = async (element) => { 8 | const name = element?.data?.label; 9 | const type = element?.type; 10 | if (!name || !type) return; 11 | const method = elementsDetail?.get(name)?.method; 12 | if (method) await method(); 13 | if (type === 'output') return; 14 | const edge = elements.find(({ source }) => source === element.id); 15 | if (edge) { 16 | const nextNode = elements.find(({ id }) => id === edge.target); 17 | if (nextNode) excuteAndMove(nextNode); 18 | } 19 | }; 20 | 21 | inputNodes.forEach((inputNode) => { 22 | excuteAndMove(inputNode); 23 | }); 24 | }; 25 | 26 | export default runFlow; 27 | --------------------------------------------------------------------------------