From cfa8fd8b677f4e7244e5625d47d7ed0c9de12bfe Mon Sep 17 00:00:00 2001 From: Jeroen Reumkens Date: Mon, 23 Jan 2023 18:08:01 -0500 Subject: [PATCH] Reduce bundle size by importing single icons at a time (#6644) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Removed barrel import for icons to reduce bundle size. * Fixed replacement mistakes * Reverted unneccesary yarn.lock updates * Added some missed Icon. import conversions * Remove merge artifact import in @calcom/ui * Don't import Icon in pages/[user] * Update packages/ui/package.json Co-authored-by: Alex van Andel Co-authored-by: Omar López --- apps/web/components/AddToHomescreen.tsx | 4 +- apps/web/components/Embed.tsx | 16 ++--- apps/web/components/SettingsShell.tsx | 15 ++-- .../apps/AdditionalCalendarSelector.tsx | 7 +- apps/web/components/apps/App.tsx | 28 +++++--- .../components/apps/CalendarListContainer.tsx | 10 +-- .../components/apps/IntegrationListItem.tsx | 5 +- .../components/apps/layouts/AppsLayout.tsx | 5 +- .../apps/layouts/InstalledAppsLayout.tsx | 14 ++-- .../booking/AvailableEventLocations.tsx | 5 +- .../components/booking/BookingDescription.tsx | 9 +-- .../components/booking/BookingListItem.tsx | 18 ++--- apps/web/components/booking/CancelBooking.tsx | 5 +- .../booking/pages/AvailabilityPage.tsx | 13 ++-- .../components/booking/pages/BookingPage.tsx | 36 ++++++---- .../components/dialog/EditLocationDialog.tsx | 5 +- .../components/dialog/RescheduleDialog.tsx | 4 +- .../components/eventtype/AvailabilityTab.tsx | 7 +- .../eventtype/CustomInputTypeForm.tsx | 7 +- .../components/eventtype/EventAdvancedTab.tsx | 10 +-- .../web/components/eventtype/EventAppsTab.tsx | 5 +- .../components/eventtype/EventLimitsTab.tsx | 7 +- .../components/eventtype/EventSetupTab.tsx | 11 +-- .../eventtype/EventTeamWebhooksTab.tsx | 5 +- .../eventtype/EventTypeSingleLayout.tsx | 55 ++++++++------ .../components/eventtype/SkeletonLoader.tsx | 7 +- .../security/TwoFactorModalHeader.tsx | 4 +- .../components/settings/CalendarSwitch.tsx | 5 +- apps/web/components/ui/EditableHeading.tsx | 6 +- apps/web/components/ui/InfoBadge.tsx | 5 +- .../UsernameAvailability/PremiumTextfield.tsx | 11 +-- .../UsernameTextfield.tsx | 17 ++--- apps/web/components/ui/form/CheckedSelect.tsx | 5 +- apps/web/components/ui/form/DatePicker.tsx | 4 +- apps/web/pages/404.tsx | 25 +++---- apps/web/pages/500.tsx | 5 +- apps/web/pages/[user].tsx | 9 +-- apps/web/pages/apps/categories/index.tsx | 7 +- apps/web/pages/apps/index.tsx | 4 +- apps/web/pages/apps/installed/[category].tsx | 26 ++++--- apps/web/pages/auth/error.tsx | 5 +- apps/web/pages/auth/login.tsx | 5 +- apps/web/pages/auth/logout.tsx | 5 +- apps/web/pages/auth/setup/steps/StepDone.tsx | 4 +- apps/web/pages/availability/[schedule].tsx | 6 +- apps/web/pages/availability/index.tsx | 5 +- apps/web/pages/booking/[uid].tsx | 13 ++-- apps/web/pages/bookings/[status].tsx | 5 +- apps/web/pages/event-types/index.tsx | 57 ++++++++------- apps/web/pages/settings/billing/index.tsx | 5 +- .../web/pages/settings/developer/api-keys.tsx | 6 +- .../pages/settings/my-account/appearance.tsx | 2 +- .../pages/settings/my-account/calendars.tsx | 8 +-- .../settings/my-account/conferencing.tsx | 8 +-- .../web/pages/settings/my-account/profile.tsx | 8 +-- apps/web/pages/team/[slug].tsx | 5 +- apps/web/pages/teams/index.tsx | 5 +- apps/web/pages/video/meeting-ended/[uid].tsx | 9 +-- .../pages/video/meeting-not-started/[uid].tsx | 9 +-- apps/web/pages/video/no-meeting-found.tsx | 7 +- .../_components/OmniInstallAppButton.tsx | 5 +- packages/app-store/_utils/getAppCategories.ts | 16 ++--- .../app-store/closecom/pages/setup/index.tsx | 5 +- .../routing-forms/components/FormActions.tsx | 4 +- .../routing-forms/components/SingleForm.tsx | 26 +++---- .../react-awesome-query-builder/widgets.tsx | 7 +- .../pages/form-edit/[...appPages].tsx | 6 +- .../pages/forms/[...appPages].tsx | 58 +++++++++------ .../components/ExistingGoogleCal.tsx | 5 +- .../rainbow/components/RainbowKit.tsx | 9 +-- .../app-store/sendgrid/pages/setup/index.tsx | 5 +- .../components/EventTypeAppCardInterface.tsx | 6 +- .../pages/how-to-use/[...appPages].tsx | 18 ++--- .../app-store/zapier/pages/setup/index.tsx | 5 +- packages/features/apps/AdminAppsList.tsx | 6 +- .../apps/components/DisconnectIntegration.tsx | 6 +- packages/features/auth/SAMLLogin.tsx | 5 +- .../bookings/components/PeopleFilter.tsx | 5 +- .../bookings/components/TeamFilter.tsx | 7 +- packages/features/calendars/DatePicker.tsx | 5 +- .../components/heading/SchedulerHeading.tsx | 7 +- .../api-keys/components/ApiKeyDialogForm.tsx | 15 +--- .../ee/api-keys/components/ApiKeyListItem.tsx | 8 +-- .../ee/common/components/LicenseRequired.tsx | 5 +- .../common/components/v2/LicenseRequired.tsx | 5 +- .../ee/payments/components/PaymentPage.tsx | 4 +- .../ee/sso/components/SAMLConfiguration.tsx | 10 +-- .../ee/support/components/HelpMenuItem.tsx | 9 +-- .../ee/teams/components/AddNewTeamMembers.tsx | 9 +-- .../teams/components/CreateANewTeamForm.tsx | 5 +- .../ee/teams/components/MemberListItem.tsx | 31 ++++---- .../teams/components/TeamInviteListItem.tsx | 16 ++--- .../ee/teams/components/TeamListItem.tsx | 39 +++++----- .../ee/teams/components/TeamsListing.tsx | 15 ++-- .../ee/teams/pages/team-billing-view.tsx | 5 +- .../ee/teams/pages/team-members-view.tsx | 5 +- .../ee/teams/pages/team-profile-view.tsx | 10 +-- .../ee/video/ViewRecordingsDialog.tsx | 5 +- .../components/UpgradeRecordingBanner.tsx | 5 +- .../ee/workflows/components/EmptyScreen.tsx | 17 ++--- .../components/EventWorkflowsTab.tsx | 7 +- .../components/SkeletonLoaderList.tsx | 7 +- .../components/TimeTimeUnitInput.tsx | 4 +- .../components/WorkflowDetailsPage.tsx | 7 +- .../workflows/components/WorkflowListPage.tsx | 23 +++--- .../components/WorkflowStepContainer.tsx | 18 ++--- .../ee/workflows/lib/getActionIcon.tsx | 25 +++---- .../features/ee/workflows/pages/index.tsx | 5 +- .../components/CheckedTeamSelect.tsx | 5 +- .../components/CreateEventTypeButton.tsx | 6 +- .../eventtypes/components/CustomInputItem.tsx | 5 +- .../components/EventTypeDescription.tsx | 17 ++--- .../components/MultiDropdownSelect.tsx | 4 +- packages/features/kbar/Kbar.tsx | 15 ++-- .../schedules/components/DateOverrideList.tsx | 7 +- .../components/NewScheduleButton.tsx | 4 +- .../schedules/components/Schedule.tsx | 10 +-- .../schedules/components/ScheduleListItem.tsx | 8 +-- .../settings/layouts/SettingsLayout.tsx | 42 ++++++----- packages/features/shell/Shell.tsx | 71 ++++++++++++------- packages/features/tips/UpgradeTip.tsx | 5 +- .../webhooks/components/WebhookListItem.tsx | 9 +-- .../components/WebhookTestDisclosure.tsx | 5 +- .../features/webhooks/pages/webhooks-view.tsx | 7 +- packages/ui/components/alert/Alert.tsx | 4 +- packages/ui/components/apps/AllApps.tsx | 8 +-- packages/ui/components/apps/AppCard.tsx | 8 +-- packages/ui/components/apps/Categories.tsx | 5 +- packages/ui/components/apps/Slider.tsx | 6 +- packages/ui/components/avatar/Avatar.tsx | 4 +- .../ui/components/badge/badge.stories.mdx | 12 ++-- packages/ui/components/button/Button.tsx | 6 +- .../ui/components/button/button.stories.mdx | 22 +++--- .../buttonGroup/buttongroup.stories.mdx | 44 ++++++------ packages/ui/components/card/FormCard.tsx | 9 +-- .../dialog/ConfirmationDialogContent.tsx | 8 +-- .../editor/plugins/AddVariablesDropdown.tsx | 7 +- .../editor/plugins/ToolbarPlugin.tsx | 13 +--- .../empty-screen/empty-screen.stories.mdx | 4 +- .../date-range-picker/DateRangePicker.tsx | 11 +-- .../components/form/datepicker/DatePicker.tsx | 4 +- .../components/form/inputs/HintOrErrors.tsx | 14 ++-- packages/ui/components/form/inputs/Input.tsx | 9 +-- .../ui/components/form/select/components.tsx | 4 +- .../components/form/select/select.stories.mdx | 4 +- packages/ui/components/icon/Icon.tsx | 22 ++---- .../navigation/tabs/VerticalTabItem.tsx | 6 +- .../ui/components/popover/AnimatedPopover.tsx | 4 +- .../popover/MeetingTimeInTimezones.tsx | 4 +- packages/ui/components/table/TableActions.tsx | 6 +- packages/ui/components/toast/showToast.tsx | 10 +-- .../ui/components/top-banner/TopBanner.tsx | 7 +- packages/ui/form/AddressInput.tsx | 5 +- packages/ui/index.tsx | 1 - packages/ui/package.json | 5 +- 155 files changed, 881 insertions(+), 768 deletions(-) diff --git a/apps/web/components/AddToHomescreen.tsx b/apps/web/components/AddToHomescreen.tsx index fe3296c86a..bae44edf0a 100644 --- a/apps/web/components/AddToHomescreen.tsx +++ b/apps/web/components/AddToHomescreen.tsx @@ -1,7 +1,7 @@ import { useState } from "react"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { Icon } from "@calcom/ui"; +import { FiX } from "@calcom/ui/components/icon"; export default function AddToHomescreen() { const { t } = useLocale(); @@ -40,7 +40,7 @@ export default function AddToHomescreen() { type="button" className="-mr-1 flex rounded-md p-2 hover:bg-gray-800 focus:outline-none focus:ring-2 focus:ring-white"> {t("dismiss")} -