From df81cc7f9285bfa1f8f446099b4640e28c77823d Mon Sep 17 00:00:00 2001 From: Bill Date: Thu, 6 Jun 2024 19:48:18 -0400 Subject: [PATCH] Eslint and fix some imports --- index.html | 27 +- package-lock.json | 6326 ----------------- src/App.tsx | 10 +- src/common/Base.tsx | 10 +- src/common/Button.tsx | 6 +- src/common/Column.tsx | 12 +- src/common/Flex.tsx | 4 +- src/common/Grid.tsx | 8 +- src/common/Popover.tsx | 36 +- src/common/Text.tsx | 6 +- src/common/card/NitroCardContentView.tsx | 6 +- src/common/card/NitroCardHeaderView.tsx | 13 +- src/common/card/NitroCardView.tsx | 10 +- .../card/tabs/NitroCardTabsItemView.tsx | 14 +- src/common/card/tabs/NitroCardTabsView.tsx | 8 +- src/common/layout/LayoutAvatarImageView.tsx | 20 +- src/common/layout/LayoutBadgeImageView.tsx | 26 +- src/common/layout/LayoutCurrencyIcon.tsx | 12 +- src/common/layout/LayoutGiftTagView.tsx | 20 +- src/common/layout/LayoutGridItem.tsx | 24 +- src/common/layout/LayoutItemCountView.tsx | 10 +- src/common/layout/LayoutMiniCameraView.tsx | 6 +- .../layout/LayoutNotificationBubbleView.tsx | 12 +- src/common/layout/LayoutProgressBar.tsx | 14 +- src/common/layout/LayoutRoomThumbnailView.tsx | 12 +- src/common/layout/UserProfileIconView.tsx | 8 +- .../LayoutLimitedEditionCompletePlateView.tsx | 16 +- .../transitions/TransitionAnimationStyles.ts | 30 +- .../achievements/AchievementsView.tsx | 36 +- .../views/AchievementDetailsView.tsx | 32 +- .../AchievementsCategoryListView.tsx | 4 +- .../AvatarEditorFigurePreviewView.tsx | 8 +- .../avatar-editor/AvatarEditorIcon.tsx | 10 +- .../avatar-editor/AvatarEditorModelView.tsx | 110 +- .../avatar-editor/AvatarEditorView.tsx | 32 +- .../AvatarEditorPaletteSetItemView.tsx | 20 +- .../AvatarEditorPaletteSetView.tsx | 40 +- src/components/camera/CameraWidgetView.tsx | 14 +- .../camera/views/CameraWidgetCaptureView.tsx | 30 +- .../camera/views/CameraWidgetCheckoutView.tsx | 96 +- .../views/CameraWidgetShowPhotoView.tsx | 28 +- .../views/editor/CameraWidgetEditorView.tsx | 98 +- .../CameraWidgetEffectListItemView.tsx | 20 +- .../CameraWidgetEffectListView.tsx | 8 +- src/components/campaign/CalendarView.tsx | 36 +- src/components/catalog/CatalogView.tsx | 38 +- .../catalog-header/CatalogHeaderView.tsx | 8 +- .../catalog/views/gift/CatalogGiftView.tsx | 122 +- .../navigation/CatalogNavigationItemView.tsx | 21 +- .../navigation/CatalogNavigationView.tsx | 12 +- .../page/common/CatalogRedeemVoucherView.tsx | 17 +- .../views/page/common/CatalogSearchView.tsx | 22 +- .../layout/CatalogLayoutBadgeDisplayView.tsx | 24 +- .../layout/CatalogLayoutColorGroupingView.tsx | 44 +- .../page/layout/CatalogLayoutDefaultView.tsx | 34 +- .../CatalogLayoutGuildCustomFurniView.tsx | 20 +- .../layout/CatalogLayoutGuildForumView.tsx | 20 +- .../layout/CatalogLayoutInfoLoyaltyView.tsx | 2 +- .../page/layout/CatalogLayoutPets3View.tsx | 8 +- .../page/layout/CatalogLayoutRoomAdsView.tsx | 52 +- .../layout/CatalogLayoutRoomBundleView.tsx | 18 +- .../layout/CatalogLayoutSingleBundleView.tsx | 18 +- .../layout/CatalogLayoutSoundMachineView.tsx | 42 +- .../page/layout/CatalogLayoutSpacesView.tsx | 22 +- .../page/layout/CatalogLayoutTrophiesView.tsx | 26 +- ...atalogLayoutMarketplacePublicItemsView.tsx | 44 +- ...CatalogLayoutMarketplaceSearchFormView.tsx | 49 +- .../marketplace/MarketplacePostOfferView.tsx | 61 +- .../page/layout/pets/CatalogLayoutPetView.tsx | 96 +- .../CatalogGuildSelectorWidgetView.tsx | 24 +- .../widgets/CatalogLimitedItemWidgetView.tsx | 2 +- .../page/widgets/CatalogSpacesWidgetView.tsx | 30 +- .../page/widgets/CatalogSpinnerWidgetView.tsx | 8 +- .../views/targeted-offer/OfferWindowView.tsx | 48 +- .../chat-history/ChatHistoryView.tsx | 49 +- .../floorplan-editor/FloorplanEditorView.tsx | 30 +- .../views/FloorplanCanvasView.tsx | 32 +- .../views/FloorplanImportExportView.tsx | 14 +- .../views/FloorplanOptionsView.tsx | 76 +- .../views/friends-bar/FriendBarItemView.tsx | 28 +- .../views/friends-bar/FriendsBarView.tsx | 10 +- .../FriendsListRoomInviteView.tsx | 14 +- .../friends-list/FriendsListSearchView.tsx | 76 +- .../views/messenger/FriendsMessengerView.tsx | 68 +- .../FriendsMessengerThreadGroup.tsx | 50 +- .../game-center/views/GameListView.tsx | 12 +- .../game-center/views/GameStageView.tsx | 8 +- .../groups/views/GroupBadgeCreatorView.tsx | 62 +- .../groups/views/GroupCreatorView.tsx | 58 +- .../groups/views/GroupInformationView.tsx | 54 +- .../groups/views/GroupMembersView.tsx | 86 +- .../groups/views/GroupRoomInformationView.tsx | 30 +- .../groups/views/tabs/GroupTabColorsView.tsx | 54 +- .../tabs/GroupTabCreatorConfirmationView.tsx | 28 +- .../views/tabs/GroupTabIdentityView.tsx | 44 +- .../guide-tool/views/GuideToolMenuView.tsx | 36 +- .../guide-tool/views/GuideToolOngoingView.tsx | 74 +- src/components/hc-center/HcCenterView.tsx | 98 +- .../help/views/DescribeReportView.tsx | 18 +- src/components/help/views/HelpIndexView.tsx | 12 +- .../help/views/SanctionStatusView.tsx | 42 +- .../NameChangeConfirmationView.tsx | 12 +- .../views/name-change/NameChangeInitView.tsx | 8 +- .../views/name-change/NameChangeInputView.tsx | 41 +- src/components/hotel-view/HotelView.tsx | 66 +- .../bonus-rare/BonusRareWidgetView.tsx | 14 +- .../hall-of-fame-item/HallOfFameItemView.tsx | 8 +- .../hall-of-fame/HallOfFameWidgetView.tsx | 10 +- .../promo-article/PromoArticleWidgetView.tsx | 24 +- .../widget-container/WidgetContainerView.tsx | 8 +- .../views/badge/InventoryBadgeView.tsx | 38 +- .../inventory/views/bot/InventoryBotView.tsx | 122 +- .../furniture/InventoryFurnitureView.tsx | 192 +- .../views/furniture/InventoryTradeView.tsx | 114 +- .../inventory/views/pet/InventoryPetView.tsx | 122 +- src/components/mod-tools/ModToolsView.tsx | 40 +- .../mod-tools/views/chatlog/ChatlogView.tsx | 38 +- .../mod-tools/views/room/ModToolsRoomView.tsx | 54 +- .../views/tickets/ModToolsMyIssuesTabView.tsx | 24 +- .../tickets/ModToolsOpenIssuesTabView.tsx | 22 +- .../tickets/ModToolsPickedIssuesTabView.tsx | 22 +- .../views/user/ModToolsUserChatlogView.tsx | 14 +- .../views/user/ModToolsUserModActionView.tsx | 36 +- .../views/user/ModToolsUserRoomVisitsView.tsx | 28 +- .../user/ModToolsUserSendMessageView.tsx | 12 +- src/components/navigator/NavigatorView.tsx | 70 +- .../views/NavigatorDoorStateView.tsx | 67 +- .../views/NavigatorRoomCreatorView.tsx | 70 +- .../navigator/views/NavigatorRoomLinkView.tsx | 10 +- .../NavigatorRoomSettingsAccessTabView.tsx | 64 +- .../NavigatorRoomSettingsBasicTabView.tsx | 101 +- .../NavigatorRoomSettingsVipChatTabView.tsx | 77 +- .../NavigatorSearchResultItemInfoView.tsx | 178 +- .../search/NavigatorSearchResultItemView.tsx | 42 +- .../search/NavigatorSearchResultView.tsx | 34 +- .../NotificationDefaultAlertView.tsx | 38 +- .../NotificationSearchAlertView.tsx | 29 +- .../NotificationClubGiftBubbleView.tsx | 8 +- .../NotificationDefaultBubbleView.tsx | 8 +- src/components/purse/PurseView.tsx | 30 +- src/components/purse/views/CurrencyView.tsx | 8 +- src/components/purse/views/SeasonalView.tsx | 6 +- src/components/right-side/RightSideView.tsx | 2 +- src/components/room/RoomView.tsx | 8 +- .../AvatarInfoRentableBotChatView.tsx | 43 +- .../AvatarInfoUseProductConfirmView.tsx | 92 +- .../avatar-info/AvatarInfoWidgetView.tsx | 54 +- .../infostand/InfoStandWidgetBotView.tsx | 26 +- .../infostand/InfoStandWidgetFurniView.tsx | 218 +- .../infostand/InfoStandWidgetPetView.tsx | 156 +- .../InfoStandWidgetRentableBotView.tsx | 36 +- .../infostand/InfoStandWidgetUserView.tsx | 80 +- .../menu/AvatarInfoWidgetOwnAvatarView.tsx | 204 +- .../menu/AvatarInfoWidgetRentableBotView.tsx | 121 +- .../chat-input/ChatInputStyleSelectorView.tsx | 42 +- .../room/widgets/chat-input/ChatInputView.tsx | 32 +- .../room/widgets/chat/ChatWidgetView.tsx | 18 +- .../widgets/choosers/ChooserWidgetView.tsx | 24 +- .../context-menu/ContextMenuHeaderView.tsx | 6 +- .../context-menu/ContextMenuListItemView.tsx | 6 +- .../widgets/context-menu/ContextMenuView.tsx | 30 +- .../widgets/doorbell/DoorbellWidgetView.tsx | 32 +- .../FriendRequestDialogView.tsx | 10 +- .../FurnitureBackgroundColorView.tsx | 12 +- .../furniture/FurnitureCraftingView.tsx | 50 +- .../widgets/furniture/FurnitureDimmerView.tsx | 64 +- .../furniture/FurnitureExchangeCreditView.tsx | 12 +- .../furniture/FurnitureFriendFurniView.tsx | 32 +- .../furniture/FurnitureHighScoreView.tsx | 28 +- .../furniture/FurnitureMannequinView.tsx | 69 +- .../FurnitureMysteryTrophyOpenDialogView.tsx | 12 +- .../furniture/FurnitureSpamWallPostItView.tsx | 24 +- .../furniture/FurnitureStickieView.tsx | 36 +- .../furniture/FurnitureYoutubeDisplayView.tsx | 30 +- .../context-menu/EffectBoxConfirmView.tsx | 8 +- .../MonsterPlantSeedConfirmView.tsx | 18 +- .../PurchasableClothingConfirmView.tsx | 22 +- .../playlist-editor/DiskInventoryView.tsx | 44 +- .../FurniturePlaylistEditorWidgetView.tsx | 6 +- .../playlist-editor/SongPlaylistView.tsx | 40 +- .../mysterybox/MysteryBoxExtensionView.tsx | 24 +- .../pet-package/PetPackageWidgetView.tsx | 18 +- .../RoomFilterWordsWidgetView.tsx | 26 +- .../room-promotes/RoomPromotesWidgetView.tsx | 34 +- .../views/RoomPromoteEditWidgetView.tsx | 16 +- .../views/RoomPromoteMyOwnEventWidgetView.tsx | 8 +- .../views/RoomPromoteOtherEventWidgetView.tsx | 8 +- .../room-tools/RoomToolsWidgetView.tsx | 38 +- .../word-quiz/WordQuizQuestionView.tsx | 22 +- src/components/toolbar/ToolbarItemView.tsx | 10 +- src/components/toolbar/ToolbarMeView.tsx | 24 +- src/components/toolbar/ToolbarView.tsx | 68 +- .../user-profile/UserProfileView.tsx | 30 +- .../views/FriendsContainerView.tsx | 6 +- .../views/GroupsContainerView.tsx | 32 +- .../views/RelationshipsContainerView.tsx | 32 +- .../user-profile/views/UserContainerView.tsx | 44 +- .../user-settings/UserSettingsView.tsx | 64 +- .../WiredActionBotChangeFigureView.tsx | 17 +- .../WiredActionBotFollowAvatarView.tsx | 23 +- .../WiredActionBotGiveHandItemView.tsx | 23 +- .../views/actions/WiredActionBotMoveView.tsx | 11 +- .../WiredActionBotTalkToAvatarView.tsx | 29 +- .../views/actions/WiredActionBotTalkView.tsx | 29 +- .../actions/WiredActionBotTeleportView.tsx | 11 +- .../views/actions/WiredActionChatView.tsx | 11 +- .../actions/WiredActionGiveRewardView.tsx | 81 +- .../actions/WiredActionKickFromRoomView.tsx | 11 +- .../actions/WiredActionMoveFurniView.tsx | 42 +- .../views/actions/WiredActionMuteUserView.tsx | 27 +- .../WiredConditionActorIsWearingBadgeView.tsx | 11 +- ...WiredConditionActorIsWearingEffectView.tsx | 13 +- .../WiredConditionDateRangeView.tsx | 19 +- .../WiredTriggerAvatarEnterRoomView.tsx | 23 +- .../WiredTriggerAvatarSaysSomethingView.tsx | 25 +- .../WiredTriggerBotReachedAvatarView.tsx | 11 +- .../WiredTriggerBotReachedStuffView.tsx | 11 +- src/hooks/camera/useCamera.ts | 10 +- src/layout/InfiniteGrid.tsx | 74 +- src/layout/NitroButton.tsx | 12 +- src/layout/NitroCard.tsx | 74 +- src/layout/NitroInput.tsx | 14 +- src/layout/NitroItemCountBadge.tsx | 12 +- tailwind.config.js | 12 +- 224 files changed, 3940 insertions(+), 10279 deletions(-) delete mode 100644 package-lock.json diff --git a/index.html b/index.html index 885006cb..e3f0ecf0 100644 --- a/index.html +++ b/index.html @@ -44,7 +44,7 @@ -
+
diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 7471e31a..00000000 --- a/package-lock.json +++ /dev/null @@ -1,6326 +0,0 @@ -{ - "name": "nitro-react", - "version": "2.2", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "nitro-react", - "version": "2.2", - "dependencies": { - "@headlessui/tailwindcss": "^0.2.0", - "@tanstack/react-virtual": "3.2.0", - "@types/react-transition-group": "^4.4.10", - "dompurify": "^3.1.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-icons": "^5.0.1", - "react-slider": "^2.0.6", - "react-transition-group": "^4.4.5", - "react-youtube": "^7.13.1", - "use-between": "^1.3.5" - }, - "devDependencies": { - "@tailwindcss/forms": "^0.5.7", - "@types/node": "^20.11.30", - "@types/react": "^18.2.67", - "@types/react-dom": "^18.2.22", - "@types/react-slider": "^1.3.6", - "@typescript-eslint/eslint-plugin": "^7.3.1", - "@typescript-eslint/parser": "^7.3.1", - "@vitejs/plugin-react": "^4.2.1", - "autoprefixer": "^10.4.19", - "eslint": "^8.57.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jsx-a11y": "^6.8.0", - "eslint-plugin-react": "^7.34.1", - "eslint-plugin-react-hooks": "^4.6.0", - "postcss": "^8.4.38", - "postcss-nested": "^6.0.1", - "prettier": "^3.2.5", - "prettier-plugin-tailwindcss": "^0.5.13", - "sass": "^1.72.0", - "tailwindcss": "^3.4.3", - "typescript": "^5.4.2", - "vite": "^5.1.6", - "vite-tsconfig-paths": "^4.3.2" - } - }, - "../nitro-renderer": { - "name": "@nitrots/nitro-renderer", - "version": "2.0.0", - "extraneous": true, - "license": "GPL-3.0", - "workspaces": [ - "packages/*" - ], - "dependencies": { - "howler": "^2.2.4", - "pako": "^2.1.0", - "pixi-filters": "^6.0.0", - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "@rollup/plugin-typescript": "^11.1.6", - "@types/howler": "^2.2.11", - "@types/pako": "^2.0.3", - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", - "eslint": "^8.57.0", - "tslib": "^2.3.1", - "typescript": "~5.4.2", - "vite": "^5.1.3" - } - }, - "../nitro-renderer/packages/api": { - "name": "@nitrots/api", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/assets": { - "name": "@nitrots/assets", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/utils": "1.0.0", - "@pixi/gif": "^3.0.0", - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/avatar": { - "name": "@nitrots/avatar", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/assets": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/events": "1.0.0", - "@nitrots/utils": "1.0.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/camera": { - "name": "@nitrots/camera", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/assets": "1.0.0", - "@nitrots/configuration": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/events": "1.0.0", - "@nitrots/utils": "1.0.0", - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/communication": { - "name": "@nitrots/communication", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/events": "1.0.0", - "@nitrots/utils": "1.0.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/configuration": { - "name": "@nitrots/configuration", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/utils": "1.0.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/eslint-config": { - "name": "@nitrots/eslint-config", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", - "eslint": "^8.57.0" - } - }, - "../nitro-renderer/packages/events": { - "name": "@nitrots/events", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/utils": "1.0.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/localization": { - "name": "@nitrots/localization", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/communication": "1.0.0", - "@nitrots/configuration": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/events": "1.0.0", - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/room": { - "name": "@nitrots/room", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/assets": "1.0.0", - "@nitrots/avatar": "1.0.0", - "@nitrots/communication": "1.0.0", - "@nitrots/configuration": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/events": "1.0.0", - "@nitrots/session": "1.0.0", - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/session": { - "name": "@nitrots/session", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/assets": "1.0.0", - "@nitrots/communication": "1.0.0", - "@nitrots/configuration": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "@nitrots/events": "1.0.0", - "@nitrots/localization": "1.0.0", - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/sound": { - "name": "@nitrots/sound", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/communication": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "typescript": "~5.4.2" - } - }, - "../nitro-renderer/packages/utils": { - "name": "@nitrots/utils", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0", - "dependencies": { - "@nitrots/api": "1.0.0", - "@nitrots/eslint-config": "1.0.0", - "pako": "^2.1.0", - "pixi.js": "^8.1.0" - }, - "devDependencies": { - "@types/pako": "^2.0.3", - "typescript": "~5.4.2" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", - "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", - "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.1", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.1", - "@babel/parser": "^7.24.1", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", - "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", - "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", - "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz", - "integrity": "sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", - "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", - "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@headlessui/tailwindcss": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.2.0.tgz", - "integrity": "sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "tailwindcss": "^3.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.2.tgz", - "integrity": "sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@tailwindcss/forms": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", - "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mini-svg-data-uri": "^1.2.3" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" - } - }, - "node_modules/@tanstack/react-virtual": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.2.0.tgz", - "integrity": "sha512-OEdMByf2hEfDa6XDbGlZN8qO6bTjlNKqjM3im9JG+u3mCL8jALy0T/67oDI001raUUPh1Bdmfn4ZvPOV5knpcg==", - "license": "MIT", - "dependencies": { - "@tanstack/virtual-core": "3.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@tanstack/virtual-core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.2.0.tgz", - "integrity": "sha512-P5XgYoAw/vfW65byBbJQCw+cagdXDT/qH6wmABiLt4v4YBT2q2vqCOhihe+D1Nt325F/S/0Tkv6C5z0Lv+VBQQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.2.tgz", - "integrity": "sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.2.73", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.73.tgz", - "integrity": "sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA==", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.2.23", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.23.tgz", - "integrity": "sha512-ZQ71wgGOTmDYpnav2knkjr3qXdAFu0vsk8Ci5w3pGAIdj7/kKAyn+VsQDhXsmzzzepAiI9leWMmubXz690AI/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-slider": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@types/react-slider/-/react-slider-1.3.6.tgz", - "integrity": "sha512-RS8XN5O159YQ6tu3tGZIQz1/9StMLTg/FCIPxwqh2gwVixJnlfIodtVx+fpXVMZHe7A58lAX1Q4XTgAGOQaCQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-transition-group": { - "version": "4.4.10", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", - "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.5.0.tgz", - "integrity": "sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.5.0", - "@typescript-eslint/type-utils": "7.5.0", - "@typescript-eslint/utils": "7.5.0", - "@typescript-eslint/visitor-keys": "7.5.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.5.0.tgz", - "integrity": "sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "7.5.0", - "@typescript-eslint/types": "7.5.0", - "@typescript-eslint/typescript-estree": "7.5.0", - "@typescript-eslint/visitor-keys": "7.5.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.5.0.tgz", - "integrity": "sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.5.0", - "@typescript-eslint/visitor-keys": "7.5.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.5.0.tgz", - "integrity": "sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "7.5.0", - "@typescript-eslint/utils": "7.5.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.5.0.tgz", - "integrity": "sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.5.0.tgz", - "integrity": "sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "7.5.0", - "@typescript-eslint/visitor-keys": "7.5.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.5.0.tgz", - "integrity": "sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.5.0", - "@typescript-eslint/types": "7.5.0", - "@typescript-eslint/typescript-estree": "7.5.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.5.0.tgz", - "integrity": "sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.5.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", - "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.5", - "@babel/plugin-transform-react-jsx-self": "^7.23.3", - "@babel/plugin-transform-react-jsx-source": "^7.23.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", - "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/browserslist/node_modules/caniuse-lite": { - "version": "1.0.30001603", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001603.tgz", - "integrity": "sha512-iL2iSS0eDILMb9n5yKQoTBim9jMZ0Yrk8g0N9K7UzYyWnfIKzXBZD5ngpM37ZcL/cv0Mli8XtVMRYMQAfFpi5Q==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001608", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001608.tgz", - "integrity": "sha512-cjUJTQkk9fQlJR2s4HMuPMvTiRggl0rAVMtthQuyOlDWuqHXqN8azLq+pi8B2TjwKJ32diHjUqRIKeFX4z1FoA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "license": "Apache-2.0" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "license": "MIT" - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dompurify": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.0.tgz", - "integrity": "sha512-yoU4rhgPKCo+p5UrWWWNKiIq+ToGqmVVhk0PmMYBK4kRsR3/qhemNFL8f6CFmBd4gMwm3F4T7HBoydP5uY07fA==", - "license": "(MPL-2.0 OR Apache-2.0)" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.723", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.723.tgz", - "integrity": "sha512-rxFVtrMGMFROr4qqU6n95rUi9IlfIm+lIAt+hOToy/9r6CDv0XiEcQdC3VP71y1pE5CFTzKV0RvxOGYCPWWHPw==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", - "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "10.3.12", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", - "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.10.2" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true, - "license": "MIT" - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", - "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", - "dev": true, - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/load-script": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", - "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==", - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mini-svg-data-uri": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", - "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "dev": true, - "license": "MIT", - "bin": { - "mini-svg-data-uri": "cli.js" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "license": "ISC", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-tailwindcss": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.13.tgz", - "integrity": "sha512-2tPWHCFNC+WRjAC4SIWQNSOdcL1NNkydXim8w7TDqlZi+/ulZYz2OouAI6qMtkggnPt7lGamboj6LcTMwcCvoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "@ianvs/prettier-plugin-sort-imports": "*", - "@prettier/plugin-pug": "*", - "@shopify/prettier-plugin-liquid": "*", - "@trivago/prettier-plugin-sort-imports": "*", - "@zackad/prettier-plugin-twig-melody": "*", - "prettier": "^3.0", - "prettier-plugin-astro": "*", - "prettier-plugin-css-order": "*", - "prettier-plugin-import-sort": "*", - "prettier-plugin-jsdoc": "*", - "prettier-plugin-marko": "*", - "prettier-plugin-organize-attributes": "*", - "prettier-plugin-organize-imports": "*", - "prettier-plugin-sort-imports": "*", - "prettier-plugin-style-order": "*", - "prettier-plugin-svelte": "*" - }, - "peerDependenciesMeta": { - "@ianvs/prettier-plugin-sort-imports": { - "optional": true - }, - "@prettier/plugin-pug": { - "optional": true - }, - "@shopify/prettier-plugin-liquid": { - "optional": true - }, - "@trivago/prettier-plugin-sort-imports": { - "optional": true - }, - "@zackad/prettier-plugin-twig-melody": { - "optional": true - }, - "prettier-plugin-astro": { - "optional": true - }, - "prettier-plugin-css-order": { - "optional": true - }, - "prettier-plugin-import-sort": { - "optional": true - }, - "prettier-plugin-jsdoc": { - "optional": true - }, - "prettier-plugin-marko": { - "optional": true - }, - "prettier-plugin-organize-attributes": { - "optional": true - }, - "prettier-plugin-organize-imports": { - "optional": true - }, - "prettier-plugin-sort-imports": { - "optional": true - }, - "prettier-plugin-style-order": { - "optional": true - }, - "prettier-plugin-svelte": { - "optional": true - } - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-icons": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.0.1.tgz", - "integrity": "sha512-WqLZJ4bLzlhmsvme6iFdgO8gfZP17rfjYEJ2m9RsZjZ+cc4k1hTzknEz63YS1MeT50kVzoa1Nz36f4BEx+Wigw==", - "license": "MIT", - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-slider": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/react-slider/-/react-slider-2.0.6.tgz", - "integrity": "sha512-gJxG1HwmuMTJ+oWIRCmVWvgwotNCbByTwRkFZC6U4MBsHqJBmxwbYRJUmxy4Tke1ef8r9jfXjgkmY/uHOCEvbA==", - "license": "MIT", - "dependencies": { - "prop-types": "^15.8.1" - }, - "peerDependencies": { - "react": "^16 || ^17 || ^18" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/react-youtube": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/react-youtube/-/react-youtube-7.14.0.tgz", - "integrity": "sha512-SUHZ4F4pd1EHmQu0CV0KSQvAs5KHOT5cfYaq4WLCcDbU8fBo1ouTXaAOIASWbrz8fHwg+G1evfoSIYpV2AwSAg==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "3.1.3", - "prop-types": "15.7.2", - "youtube-player": "5.5.2" - }, - "engines": { - "node": ">= 10.x" - }, - "peerDependencies": { - "react": ">=0.14.1" - } - }, - "node_modules/react-youtube/node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.2.tgz", - "integrity": "sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.13.2", - "@rollup/rollup-android-arm64": "4.13.2", - "@rollup/rollup-darwin-arm64": "4.13.2", - "@rollup/rollup-darwin-x64": "4.13.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.13.2", - "@rollup/rollup-linux-arm64-gnu": "4.13.2", - "@rollup/rollup-linux-arm64-musl": "4.13.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.13.2", - "@rollup/rollup-linux-riscv64-gnu": "4.13.2", - "@rollup/rollup-linux-s390x-gnu": "4.13.2", - "@rollup/rollup-linux-x64-gnu": "4.13.2", - "@rollup/rollup-linux-x64-musl": "4.13.2", - "@rollup/rollup-win32-arm64-msvc": "4.13.2", - "@rollup/rollup-win32-ia32-msvc": "4.13.2", - "@rollup/rollup-win32-x64-msvc": "4.13.2", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sass": { - "version": "1.72.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz", - "integrity": "sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sister": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/sister/-/sister-3.0.2.tgz", - "integrity": "sha512-p19rtTs+NksBRKW9qn0UhZ8/TUI9BPw9lmtHny+Y3TinWlOa9jWh9xB0AtPSdmOy49NJJJSSe0Ey4C7h0TrcYA==", - "license": "BSD-3-Clause" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", - "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", - "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "license": "Apache-2.0" - }, - "node_modules/tsconfck": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz", - "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==", - "dev": true, - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", - "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true, - "license": "MIT" - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/use-between": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/use-between/-/use-between-1.3.5.tgz", - "integrity": "sha512-IP9eJfszZr0aah/6i/pzaM7n/QgMPwWKJ+mnWqT5O0qFhLnztPbkVC6L7zI6ygeBIMJHfmUGvsw0b28pyrEGSA==", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/vite": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.7.tgz", - "integrity": "sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.20.1", - "postcss": "^8.4.38", - "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-tsconfig-paths": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz", - "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^3.0.3" - }, - "peerDependencies": { - "vite": "*" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", - "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/youtube-player": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/youtube-player/-/youtube-player-5.5.2.tgz", - "integrity": "sha512-ZGtsemSpXnDky2AUYWgxjaopgB+shFHgXVpiJFeNB5nWEugpW1KWYDaHKuLqh2b67r24GtP6HoSW5swvf0fFIQ==", - "license": "BSD-3-Clause", - "dependencies": { - "debug": "^2.6.6", - "load-script": "^1.0.0", - "sister": "^3.0.0" - } - }, - "node_modules/youtube-player/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/youtube-player/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - } - } -} diff --git a/src/App.tsx b/src/App.tsx index 23e7ff8f..2df4532b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -10,7 +10,7 @@ NitroVersion.UI_VERSION = GetUIVersion(); export const App: FC<{}> = props => { - const [isReady, setIsReady] = useState(false); + const [ isReady, setIsReady ] = useState(false); useMessageEvent(LoadGameUrlEvent, event => { @@ -94,10 +94,10 @@ export const App: FC<{}> = props => }, []); return ( -
- {!isReady && - } - {isReady && } +
+ { !isReady && + } + { isReady && }
); diff --git a/src/common/Base.tsx b/src/common/Base.tsx index 8aee1daa..156336f7 100644 --- a/src/common/Base.tsx +++ b/src/common/Base.tsx @@ -56,7 +56,7 @@ export const Base: FC> = props => if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [display, fit, fitV, grow, shrink, fullWidth, fullHeight, overflow, position, float, pointer, visible, textColor, classNames]); + }, [ display, fit, fitV, grow, shrink, fullWidth, fullHeight, overflow, position, float, pointer, visible, textColor, classNames ]); const getClassName = useMemo(() => { @@ -65,7 +65,7 @@ export const Base: FC> = props => if (className.length) newClassName += (' ' + className); return newClassName.trim(); - }, [getClassNames, className]); + }, [ getClassNames, className ]); const getStyle = useMemo(() => { @@ -74,11 +74,11 @@ export const Base: FC> = props => if (Object.keys(style).length) newStyle = { ...newStyle, ...style }; return newStyle; - }, [style]); + }, [ style ]); return ( -
- {children} +
+ { children }
); } diff --git a/src/common/Button.tsx b/src/common/Button.tsx index f8e5b485..5964cc84 100644 --- a/src/common/Button.tsx +++ b/src/common/Button.tsx @@ -19,7 +19,7 @@ export const Button: FC = props => // fucked up method i know (i dont have a clue what im doing because im a ninja) - const newClassNames: string[] = ['pointer-events-auto inline-block font-normal leading-normal text-[#fff] text-center no-underline align-middle cursor-pointer select-none border-[1px] border-[solid] border-[transparent] px-[.75rem] py-[.375rem] text-[.9rem] rounded-[.25rem] [transition:color_.15s_ease-in-out,_background-color_.15s_ease-in-out,_border-color_.15s_ease-in-out,_box-shadow_.15s_ease-in-out]']; + const newClassNames: string[] = [ 'pointer-events-auto inline-block font-normal leading-normal text-[#fff] text-center no-underline align-middle cursor-pointer select-none border-[1px] border-[solid] border-[transparent] px-[.75rem] py-[.375rem] text-[.9rem] rounded-[.25rem] [transition:color_.15s_ease-in-out,_background-color_.15s_ease-in-out,_border-color_.15s_ease-in-out,_box-shadow_.15s_ease-in-out]' ]; if (variant) { @@ -62,7 +62,7 @@ export const Button: FC = props => if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [variant, size, active, disabled, classNames]); + }, [ variant, size, active, disabled, classNames ]); - return ; + return ; } diff --git a/src/common/Column.tsx b/src/common/Column.tsx index 78f06cde..a866c158 100644 --- a/src/common/Column.tsx +++ b/src/common/Column.tsx @@ -21,18 +21,18 @@ export const Column: FC = props => if (size) { - let colClassName = `col-span-${size}`; + let colClassName = `col-span-${ size }`; - if (isCssGrid) colClassName = `${colClassName}`; + if (isCssGrid) colClassName = `${ colClassName }`; newClassNames.push(colClassName); } if (offset) { - let colClassName = `offset-${offset}`; + let colClassName = `offset-${ offset }`; - if (isCssGrid) colClassName = `g-start-${offset}`; + if (isCssGrid) colClassName = `g-start-${ offset }`; newClassNames.push(colClassName); } @@ -40,7 +40,7 @@ export const Column: FC = props => if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [size, offset, isCssGrid, classNames]); + }, [ size, offset, isCssGrid, classNames ]); - return ; + return ; } diff --git a/src/common/Flex.tsx b/src/common/Flex.tsx index 25d28864..02647f0b 100644 --- a/src/common/Flex.tsx +++ b/src/common/Flex.tsx @@ -44,7 +44,7 @@ export const Flex: FC = props => if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [column, reverse, gap, center, alignSelf, alignItems, justifyContent, classNames]); + }, [ column, reverse, gap, center, alignSelf, alignItems, justifyContent, classNames ]); - return ; + return ; } diff --git a/src/common/Grid.tsx b/src/common/Grid.tsx index 5abcf235..4a23b9d6 100644 --- a/src/common/Grid.tsx +++ b/src/common/Grid.tsx @@ -43,7 +43,7 @@ export const Grid: FC = props => if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [inline, gap, maxContent, alignSelf, alignItems, justifyContent, center, classNames]); + }, [ inline, gap, maxContent, alignSelf, alignItems, justifyContent, center, classNames ]); const getStyle = useMemo(() => { @@ -54,11 +54,11 @@ export const Grid: FC = props => if (Object.keys(style).length) newStyle = { ...newStyle, ...style }; return newStyle; - }, [columnCount, style]); + }, [ columnCount, style ]); return ( - - + + ); } diff --git a/src/common/Popover.tsx b/src/common/Popover.tsx index 8a1dbc75..f775edb0 100644 --- a/src/common/Popover.tsx +++ b/src/common/Popover.tsx @@ -1,19 +1,19 @@ // @flow strict -"use client" -import { useEffect, useRef, useState } from "react"; +'use client' +import { useEffect, useRef, useState } from 'react'; function ReactPopover({ children, content, - trigger = "click" + trigger = 'click' }) { - const [show, setShow] = useState(false); + const [ show, setShow ] = useState(false); const wrapperRef = useRef(null); const handleMouseOver = () => { - if (trigger === "hover") + if (trigger === 'hover') { setShow(true); }; @@ -21,7 +21,7 @@ function ReactPopover({ const handleMouseLeft = () => { - if (trigger === "hover") + if (trigger === 'hover') { setShow(false); }; @@ -40,31 +40,31 @@ function ReactPopover({ if (show) { // Bind the event listener - document.addEventListener("mousedown", handleClickOutside); + document.addEventListener('mousedown', handleClickOutside); return () => { // Unbind the event listener on clean up - document.removeEventListener("mousedown", handleClickOutside); + document.removeEventListener('mousedown', handleClickOutside); }; } - }, [show, wrapperRef]); + }, [ show, wrapperRef ]); return (
+ ref={ wrapperRef } + className="w-fit h-fit relative flex justify-center" + onMouseEnter={ handleMouseOver } + onMouseLeave={ handleMouseLeft }>
setShow(!show)} + onClick={ () => setShow(!show) } > - {children} + { children }
diff --git a/src/common/Text.tsx b/src/common/Text.tsx index 9a4ee729..4e8126e1 100644 --- a/src/common/Text.tsx +++ b/src/common/Text.tsx @@ -26,7 +26,7 @@ export const Text: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['inline']; + const newClassNames: string[] = [ 'inline' ]; if (variant) newClassNames.push('text-' + variant); @@ -57,7 +57,7 @@ export const Text: FC = props => if (textBreak) newClassNames.push('text-break'); return newClassNames; - }, [variant, fontWeight, fontSize, align, bold, underline, italics, truncate, center, textEnd, small, wrap, noWrap, textBreak]); + }, [ variant, fontWeight, fontSize, align, bold, underline, italics, truncate, center, textEnd, small, wrap, noWrap, textBreak ]); - return ; + return ; } diff --git a/src/common/card/NitroCardContentView.tsx b/src/common/card/NitroCardContentView.tsx index 4001a5eb..227261e9 100644 --- a/src/common/card/NitroCardContentView.tsx +++ b/src/common/card/NitroCardContentView.tsx @@ -8,12 +8,12 @@ export const NitroCardContentView: FC = props => const getClassNames = useMemo(() => { // Theme Changer - const newClassNames: string[] = ['container-fluid', 'h-full p-[8px] overflow-auto', 'bg-light']; + const newClassNames: string[] = [ 'container-fluid', 'h-full p-[8px] overflow-auto', 'bg-light' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); - return ; + return ; } diff --git a/src/common/card/NitroCardHeaderView.tsx b/src/common/card/NitroCardHeaderView.tsx index 997e8541..f4f18388 100644 --- a/src/common/card/NitroCardHeaderView.tsx +++ b/src/common/card/NitroCardHeaderView.tsx @@ -24,18 +24,15 @@ export const NitroCardHeaderView: FC = props => } return ( - + - {headerText} - - {isGalleryPhoto && - + { headerText } + { isGalleryPhoto && + } - - -
+
diff --git a/src/common/card/NitroCardView.tsx b/src/common/card/NitroCardView.tsx index bd433876..9e91f156 100644 --- a/src/common/card/NitroCardView.tsx +++ b/src/common/card/NitroCardView.tsx @@ -15,7 +15,7 @@ export const NitroCardView: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['resize', 'rounded', 'shadow',]; + const newClassNames: string[] = [ 'resize', 'rounded', 'shadow', ]; // Card Theme Changer newClassNames.push('border-[1px] border-[#283F5D]'); @@ -25,12 +25,12 @@ export const NitroCardView: FC = props => if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [theme, classNames]); + }, [ classNames ]); return ( - - - + + + ); diff --git a/src/common/card/tabs/NitroCardTabsItemView.tsx b/src/common/card/tabs/NitroCardTabsItemView.tsx index 8132182b..bf06bbcb 100644 --- a/src/common/card/tabs/NitroCardTabsItemView.tsx +++ b/src/common/card/tabs/NitroCardTabsItemView.tsx @@ -14,23 +14,23 @@ export const NitroCardTabsItemView: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['overflow-hidden relative cursor-pointer rounded-t-md flex bg-card-tab-item px-3 py-1 z-[1] border-card-border border-t border-l border-r before:absolute before:w-[93%] before:h-[3px] before:rounded-md before:top-[1.5px] before:left-0 before:right-0 before:m-auto before:z-[1] before:bg-[#C2C9D1]', - isActive && 'bg-card-tab-item-active -mb-[1px] before:bg-white']; + const newClassNames: string[] = [ 'overflow-hidden relative cursor-pointer rounded-t-md flex bg-card-tab-item px-3 py-1 z-[1] border-card-border border-t border-l border-r before:absolute before:w-[93%] before:h-[3px] before:rounded-md before:top-[1.5px] before:left-0 before:right-0 before:m-auto before:z-[1] before:bg-[#C2C9D1]', + isActive && 'bg-card-tab-item-active -mb-[1px] before:bg-white' ]; //if (isActive) newClassNames.push('bg-[#dfdfdf] border-b-[1px_solid_black]'); if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [isActive, classNames]); + }, [ isActive, classNames ]); return ( - + - {children} + { children } - {(count > 0) && - } + { (count > 0) && + } ); } diff --git a/src/common/card/tabs/NitroCardTabsView.tsx b/src/common/card/tabs/NitroCardTabsView.tsx index e9276a52..ad053ec5 100644 --- a/src/common/card/tabs/NitroCardTabsView.tsx +++ b/src/common/card/tabs/NitroCardTabsView.tsx @@ -7,16 +7,16 @@ export const NitroCardTabsView: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['justify-center gap-0.5 flex bg-card-tabs min-h-card-tabs max-h-card-tabs pt-1 border-b border-card-border px-2']; + const newClassNames: string[] = [ 'justify-center gap-0.5 flex bg-card-tabs min-h-card-tabs max-h-card-tabs pt-1 border-b border-card-border px-2' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); return ( - - {children} + + { children } ); } diff --git a/src/common/layout/LayoutAvatarImageView.tsx b/src/common/layout/LayoutAvatarImageView.tsx index 2502ebef..d68170ba 100644 --- a/src/common/layout/LayoutAvatarImageView.tsx +++ b/src/common/layout/LayoutAvatarImageView.tsx @@ -16,28 +16,28 @@ export interface LayoutAvatarImageViewProps extends BaseProps export const LayoutAvatarImageView: FC = props => { const { figure = '', gender = 'M', headOnly = false, direction = 0, scale = 1, classNames = [], style = {}, ...rest } = props; - const [avatarUrl, setAvatarUrl] = useState(null); - const [isReady, setIsReady] = useState(false); + const [ avatarUrl, setAvatarUrl ] = useState(null); + const [ isReady, setIsReady ] = useState(false); const isDisposed = useRef(false); const getClassNames = useMemo(() => { - const newClassNames: string[] = ['avatar-image relative w-[90px] h-[130px] bg-no-repeat bg-[center_-8px] pointer-events-none']; + const newClassNames: string[] = [ 'avatar-image relative w-[90px] h-[130px] bg-no-repeat bg-[center_-8px] pointer-events-none' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); const getStyle = useMemo(() => { let newStyle: CSSProperties = {}; - if (avatarUrl && avatarUrl.length) newStyle.backgroundImage = `url('${avatarUrl}')`; + if (avatarUrl && avatarUrl.length) newStyle.backgroundImage = `url('${ avatarUrl }')`; if (scale !== 1) { - newStyle.transform = `scale(${scale})`; + newStyle.transform = `scale(${ scale })`; if (!(scale % 1)) newStyle.imageRendering = 'pixelated'; } @@ -45,13 +45,13 @@ export const LayoutAvatarImageView: FC = props => if (Object.keys(style).length) newStyle = { ...newStyle, ...style }; return newStyle; - }, [avatarUrl, scale, style]); + }, [ avatarUrl, scale, style ]); useEffect(() => { if (!isReady) return; - const figureKey = [figure, gender, direction, headOnly].join('-'); + const figureKey = [ figure, gender, direction, headOnly ].join('-'); if (AVATAR_IMAGE_CACHE.has(figureKey)) { @@ -85,7 +85,7 @@ export const LayoutAvatarImageView: FC = props => resetFigure(figure); } - }, [figure, gender, direction, headOnly, isReady]); + }, [ figure, gender, direction, headOnly, isReady ]); useEffect(() => { @@ -99,5 +99,5 @@ export const LayoutAvatarImageView: FC = props => } }, []); - return ; + return ; } diff --git a/src/common/layout/LayoutBadgeImageView.tsx b/src/common/layout/LayoutBadgeImageView.tsx index 4e248be8..14b41082 100644 --- a/src/common/layout/LayoutBadgeImageView.tsx +++ b/src/common/layout/LayoutBadgeImageView.tsx @@ -16,11 +16,11 @@ export interface LayoutBadgeImageViewProps extends BaseProps export const LayoutBadgeImageView: FC = props => { const { badgeCode = null, isGroup = false, showInfo = false, customTitle = null, isGrayscale = false, scale = 1, classNames = [], style = {}, children = null, ...rest } = props; - const [imageElement, setImageElement] = useState(null); + const [ imageElement, setImageElement ] = useState(null); const getClassNames = useMemo(() => { - const newClassNames: string[] = ['relative w-[40px] h-[40px] bg-no-repeat bg-center']; + const newClassNames: string[] = [ 'relative w-[40px] h-[40px] bg-no-repeat bg-center' ]; if (isGroup) newClassNames.push('group-badge'); @@ -29,7 +29,7 @@ export const LayoutBadgeImageView: FC = props => if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames, isGroup, isGrayscale]); + }, [ classNames, isGroup, isGrayscale ]); const getStyle = useMemo(() => { @@ -37,13 +37,13 @@ export const LayoutBadgeImageView: FC = props => if (imageElement) { - newStyle.backgroundImage = `url(${(isGroup) ? imageElement.src : GetConfigurationValue('badge.asset.url').replace('%badgename%', badgeCode.toString())})`; + newStyle.backgroundImage = `url(${ (isGroup) ? imageElement.src : GetConfigurationValue('badge.asset.url').replace('%badgename%', badgeCode.toString()) })`; newStyle.width = imageElement.width; newStyle.height = imageElement.height; if (scale !== 1) { - newStyle.transform = `scale(${scale})`; + newStyle.transform = `scale(${ scale })`; if (!(scale % 1)) newStyle.imageRendering = 'pixelated'; @@ -55,7 +55,7 @@ export const LayoutBadgeImageView: FC = props => if (Object.keys(style).length) newStyle = { ...newStyle, ...style }; return newStyle; - }, [badgeCode, isGroup, imageElement, scale, style]); + }, [ badgeCode, isGroup, imageElement, scale, style ]); useEffect(() => { @@ -91,16 +91,16 @@ export const LayoutBadgeImageView: FC = props => } return () => GetEventDispatcher().removeEventListener(BadgeImageReadyEvent.IMAGE_READY, onBadgeImageReadyEvent); - }, [badgeCode, isGroup]); + }, [ badgeCode, isGroup ]); return ( - - {(showInfo && GetConfigurationValue('badge.descriptions.enabled', true)) && + + { (showInfo && GetConfigurationValue('badge.descriptions.enabled', true)) && -
{isGroup ? customTitle : LocalizeBadgeName(badgeCode)}
-
{isGroup ? LocalizeText('group.badgepopup.body') : LocalizeBadgeDescription(badgeCode)}
- } - {children} +
{ isGroup ? customTitle : LocalizeBadgeName(badgeCode) }
+
{ isGroup ? LocalizeText('group.badgepopup.body') : LocalizeBadgeDescription(badgeCode) }
+ } + { children } ); } diff --git a/src/common/layout/LayoutCurrencyIcon.tsx b/src/common/layout/LayoutCurrencyIcon.tsx index 07e63123..3925fa84 100644 --- a/src/common/layout/LayoutCurrencyIcon.tsx +++ b/src/common/layout/LayoutCurrencyIcon.tsx @@ -13,12 +13,12 @@ export const LayoutCurrencyIcon: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['nitro-currency-icon', 'bg-center bg-no-repeat w-[15px] h-[15px]']; + const newClassNames: string[] = [ 'nitro-currency-icon', 'bg-center bg-no-repeat w-[15px] h-[15px]' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); const urlString = useMemo(() => { @@ -26,8 +26,8 @@ export const LayoutCurrencyIcon: FC = props => url = url.replace('%type%', type.toString()); - return `url(${url})`; - }, [type]); + return `url(${ url })`; + }, [ type ]); const getStyle = useMemo(() => { @@ -38,7 +38,7 @@ export const LayoutCurrencyIcon: FC = props => if (Object.keys(style).length) newStyle = { ...newStyle, ...style }; return newStyle; - }, [style, urlString]); + }, [ style, urlString ]); - return + return } diff --git a/src/common/layout/LayoutGiftTagView.tsx b/src/common/layout/LayoutGiftTagView.tsx index 1189fae8..75004ec4 100644 --- a/src/common/layout/LayoutGiftTagView.tsx +++ b/src/common/layout/LayoutGiftTagView.tsx @@ -21,19 +21,19 @@ export const LayoutGiftTagView: FC = props => return (
- {!userName &&
} - {figure &&
- -
} + { !userName &&
} + { figure &&
+ +
}
- {!editable && - {message}} - {editable && (onChange !== null) && - } - {userName && - {LocalizeText('catalog.gift_wrapping_new.message_from', ['name'], [userName])}} + { !editable && + { message } } + { editable && (onChange !== null) && + } + { userName && + { LocalizeText('catalog.gift_wrapping_new.message_from', [ 'name' ], [ userName ]) } }
diff --git a/src/common/layout/LayoutGridItem.tsx b/src/common/layout/LayoutGridItem.tsx index ed629ac7..6d85d643 100644 --- a/src/common/layout/LayoutGridItem.tsx +++ b/src/common/layout/LayoutGridItem.tsx @@ -24,7 +24,7 @@ export const LayoutGridItem: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['layout-grid-item', 'border', 'border-2', 'border-muted', 'rounded']; + const newClassNames: string[] = [ 'layout-grid-item', 'border', 'border-2', 'border-muted', 'rounded' ]; if (itemActive) newClassNames.push('!bg-[#ececec] !border-[#fff]'); @@ -44,33 +44,33 @@ export const LayoutGridItem: FC = props => if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [itemActive, itemUniqueSoldout, itemUniqueNumber, itemUnseen, itemHighlight, disabled, itemImage, classNames]); + }, [ itemActive, itemUniqueSoldout, itemUniqueNumber, itemUnseen, itemHighlight, disabled, itemImage, classNames ]); const getStyle = useMemo(() => { let newStyle = { ...style }; - if (itemImage && !(itemUniqueSoldout || (itemUniqueNumber > 0))) newStyle.backgroundImage = `url(${itemImage})`; + if (itemImage && !(itemUniqueSoldout || (itemUniqueNumber > 0))) newStyle.backgroundImage = `url(${ itemImage })`; if (itemColor) newStyle.backgroundColor = itemColor; if (Object.keys(style).length) newStyle = { ...newStyle, ...style }; return newStyle; - }, [style, itemImage, itemColor, itemUniqueSoldout, itemUniqueNumber]); + }, [ style, itemImage, itemColor, itemUniqueSoldout, itemUniqueNumber ]); return ( - - {(itemCount > itemCountMinimum) && - } - {(itemUniqueNumber > 0) && + + { (itemCount > itemCountMinimum) && + } + { (itemUniqueNumber > 0) && <> - +
- +
- } - {children} + } + { children }
); } diff --git a/src/common/layout/LayoutItemCountView.tsx b/src/common/layout/LayoutItemCountView.tsx index 2ace498f..e1fb08f1 100644 --- a/src/common/layout/LayoutItemCountView.tsx +++ b/src/common/layout/LayoutItemCountView.tsx @@ -12,17 +12,17 @@ export const LayoutItemCountView: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['inline-block px-[.65em] py-[.35em] text-[.75em] font-bold leading-none text-[#fff] text-center whitespace-nowrap align-baseline rounded-[.25rem]', '!border-[1px] !border-[solid] !border-[#283F5D]', 'border-black', 'bg-danger', 'px-1', 'top-[2px] right-[2px] text-[9.5px] px-[3px] py-[2px] ']; + const newClassNames: string[] = [ 'inline-block px-[.65em] py-[.35em] text-[.75em] font-bold leading-none text-[#fff] text-center whitespace-nowrap align-baseline rounded-[.25rem]', '!border-[1px] !border-[solid] !border-[#283F5D]', 'border-black', 'bg-danger', 'px-1', 'top-[2px] right-[2px] text-[9.5px] px-[3px] py-[2px] ' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); return ( - - {count} - {children} + + { count } + { children } ); } diff --git a/src/common/layout/LayoutMiniCameraView.tsx b/src/common/layout/LayoutMiniCameraView.tsx index 1309d2e2..8f9d739e 100644 --- a/src/common/layout/LayoutMiniCameraView.tsx +++ b/src/common/layout/LayoutMiniCameraView.tsx @@ -33,10 +33,10 @@ export const LayoutMiniCameraView: FC = props => return (
-
+
- - + +
diff --git a/src/common/layout/LayoutNotificationBubbleView.tsx b/src/common/layout/LayoutNotificationBubbleView.tsx index c112f264..ef3198f8 100644 --- a/src/common/layout/LayoutNotificationBubbleView.tsx +++ b/src/common/layout/LayoutNotificationBubbleView.tsx @@ -12,16 +12,16 @@ export interface LayoutNotificationBubbleViewProps extends FlexProps export const LayoutNotificationBubbleView: FC = props => { const { fadesOut = true, timeoutMs = 8000, onClose = null, overflow = 'hidden', classNames = [], ...rest } = props; - const [isVisible, setIsVisible] = useState(false); + const [ isVisible, setIsVisible ] = useState(false); const getClassNames = useMemo(() => { - const newClassNames: string[] = ['text-sm bg-[#1c1c20f2] px-[5px] py-[6px] [box-shadow:inset_0_5px_#22222799,_inset_0_-4px_#12121599] ', 'rounded']; + const newClassNames: string[] = [ 'text-sm bg-[#1c1c20f2] px-[5px] py-[6px] [box-shadow:inset_0_5px_#22222799,_inset_0_-4px_#12121599] ', 'rounded' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); useEffect(() => { @@ -42,11 +42,11 @@ export const LayoutNotificationBubbleView: FC }, timeoutMs); return () => clearTimeout(timeout); - }, [fadesOut, timeoutMs, onClose]); + }, [ fadesOut, timeoutMs, onClose ]); return ( - - + + ); } diff --git a/src/common/layout/LayoutProgressBar.tsx b/src/common/layout/LayoutProgressBar.tsx index 061c0228..6b479778 100644 --- a/src/common/layout/LayoutProgressBar.tsx +++ b/src/common/layout/LayoutProgressBar.tsx @@ -14,19 +14,19 @@ export const LayoutProgressBar: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['border-[1px] border-[solid] border-[#fff] p-[2px] h-[20px] rounded-[.25rem] overflow-hidden bg-[#1E7295] ', 'text-white']; + const newClassNames: string[] = [ 'border-[1px] border-[solid] border-[#fff] p-[2px] h-[20px] rounded-[.25rem] overflow-hidden bg-[#1E7295] ', 'text-white' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); return ( - - {text && (text.length > 0) && - {text}} - - {children} + + { text && (text.length > 0) && + { text } } + + { children } ); } diff --git a/src/common/layout/LayoutRoomThumbnailView.tsx b/src/common/layout/LayoutRoomThumbnailView.tsx index a452be9d..bea8a2f2 100644 --- a/src/common/layout/LayoutRoomThumbnailView.tsx +++ b/src/common/layout/LayoutRoomThumbnailView.tsx @@ -14,24 +14,24 @@ export const LayoutRoomThumbnailView: FC = props = const getClassNames = useMemo(() => { - const newClassNames: string[] = ['relative w-[110px] h-[110px] bg-[url("@/assets/images/navigator/thumbnail_placeholder.png")] bg-no-repeat bg-center', 'rounded', '!border-[1px] !border-[solid] !border-[#283F5D]']; + const newClassNames: string[] = [ 'relative w-[110px] h-[110px] bg-[url("@/assets/images/navigator/thumbnail_placeholder.png")] bg-no-repeat bg-center', 'rounded', '!border-[1px] !border-[solid] !border-[#283F5D]' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); const getImageUrl = useMemo(() => { if (customUrl && customUrl.length) return (GetConfigurationValue('image.library.url') + customUrl); return (GetConfigurationValue('thumbnails.url').replace('%thumbnail%', roomId.toString())); - }, [customUrl, roomId]); + }, [ customUrl, roomId ]); return ( - - {getImageUrl && } - {children} + + { getImageUrl && } + { children } ); } diff --git a/src/common/layout/UserProfileIconView.tsx b/src/common/layout/UserProfileIconView.tsx index c401ccd6..0e132ecb 100644 --- a/src/common/layout/UserProfileIconView.tsx +++ b/src/common/layout/UserProfileIconView.tsx @@ -14,16 +14,16 @@ export const UserProfileIconView: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = ['bg-[url("@/assets/images/friends/friends-spritesheet.png")]', 'w-[13px] h-[11px] bg-[-51px_-91px]']; + const newClassNames: string[] = [ 'bg-[url("@/assets/images/friends/friends-spritesheet.png")]', 'w-[13px] h-[11px] bg-[-51px_-91px]' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); return ( - GetUserProfile(userId)} {...rest}> - {children} + GetUserProfile(userId) } { ...rest }> + { children } ); } diff --git a/src/common/layout/limited-edition/LayoutLimitedEditionCompletePlateView.tsx b/src/common/layout/limited-edition/LayoutLimitedEditionCompletePlateView.tsx index 412d44e5..9c74b913 100644 --- a/src/common/layout/limited-edition/LayoutLimitedEditionCompletePlateView.tsx +++ b/src/common/layout/limited-edition/LayoutLimitedEditionCompletePlateView.tsx @@ -16,23 +16,23 @@ export const LayoutLimitedEditionCompletePlateView: FC { - const newClassNames: string[] = ['unique-complete-plate']; + const newClassNames: string[] = [ 'unique-complete-plate' ]; if (classNames.length) newClassNames.push(...classNames); return newClassNames; - }, [classNames]); + }, [ classNames ]); return ( - - + +
- {LocalizeText('unique.items.left')} -
+ { LocalizeText('unique.items.left') } +
- {LocalizeText('unique.items.number.sold')} -
+ { LocalizeText('unique.items.number.sold') } +
diff --git a/src/common/transitions/TransitionAnimationStyles.ts b/src/common/transitions/TransitionAnimationStyles.ts index 55a30aa8..ce30533e 100644 --- a/src/common/transitions/TransitionAnimationStyles.ts +++ b/src/common/transitions/TransitionAnimationStyles.ts @@ -15,12 +15,12 @@ export function getTransitionAnimationStyle(type: string, transition: Transition case ENTERING: return { animationName: 'bounceIn', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } case EXITING: return { animationName: 'bounceOut', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } } case TransitionAnimationTypes.SLIDE_LEFT: @@ -31,12 +31,12 @@ export function getTransitionAnimationStyle(type: string, transition: Transition case ENTERING: return { animationName: 'slideInLeft', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } case EXITING: return { animationName: 'slideOutLeft', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } } case TransitionAnimationTypes.SLIDE_RIGHT: @@ -47,12 +47,12 @@ export function getTransitionAnimationStyle(type: string, transition: Transition case ENTERING: return { animationName: 'slideInRight', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } case EXITING: return { animationName: 'slideOutRight', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } } case TransitionAnimationTypes.FLIP_X: @@ -63,12 +63,12 @@ export function getTransitionAnimationStyle(type: string, transition: Transition case ENTERING: return { animationName: 'flipInX', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } case EXITING: return { animationName: 'flipOutX', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } } case TransitionAnimationTypes.FADE_UP: @@ -79,12 +79,12 @@ export function getTransitionAnimationStyle(type: string, transition: Transition case ENTERING: return { animationName: 'fadeInUp', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } case EXITING: return { animationName: 'fadeOutDown', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } } case TransitionAnimationTypes.FADE_IN: @@ -95,12 +95,12 @@ export function getTransitionAnimationStyle(type: string, transition: Transition case ENTERING: return { animationName: 'fadeIn', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } case EXITING: return { animationName: 'fadeOut', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } } case TransitionAnimationTypes.FADE_DOWN: @@ -111,12 +111,12 @@ export function getTransitionAnimationStyle(type: string, transition: Transition case ENTERING: return { animationName: 'fadeInDown', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } case EXITING: return { animationName: 'fadeOutUp', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } } case TransitionAnimationTypes.HEAD_SHAKE: @@ -127,7 +127,7 @@ export function getTransitionAnimationStyle(type: string, transition: Transition case ENTERING: return { animationName: 'headShake', - animationDuration: `${timeout}ms` + animationDuration: `${ timeout }ms` } } } diff --git a/src/components/achievements/AchievementsView.tsx b/src/components/achievements/AchievementsView.tsx index 9ca27351..4e2f3786 100644 --- a/src/components/achievements/AchievementsView.tsx +++ b/src/components/achievements/AchievementsView.tsx @@ -8,7 +8,7 @@ import { AchievementsCategoryListView } from './views/category-list/Achievements export const AchievementsView: FC<{}> = props => { - const [isVisible, setIsVisible] = useState(false); + const [ isVisible, setIsVisible ] = useState(false); const { achievementCategories = [], selectedCategoryCode = null, setSelectedCategoryCode = null, achievementScore = 0, getProgress = 0, getMaxProgress = 0, selectedCategory = null } = useAchievements(); useEffect(() => @@ -45,27 +45,27 @@ export const AchievementsView: FC<{}> = props => return ( - setIsVisible(false)} /> - {selectedCategory && + setIsVisible(false) } /> + { selectedCategory &&
-
setSelectedCategoryCode(null)} /> - - {LocalizeText(`quests.${selectedCategory.code}.name`)} - {LocalizeText('achievements.details.categoryprogress', ['progress', 'limit'], [selectedCategory.getProgress().toString(), selectedCategory.getMaxProgress().toString()])} +
setSelectedCategoryCode(null) } /> + + { LocalizeText(`quests.${ selectedCategory.code }.name`) } + { LocalizeText('achievements.details.categoryprogress', [ 'progress', 'limit' ], [ selectedCategory.getProgress().toString(), selectedCategory.getMaxProgress().toString() ]) } - -
} - - {!selectedCategory && + +
} + + { !selectedCategory && <> - - - {LocalizeText('achievements.categories.score', ['score'], [achievementScore.toString()])} - + + + { LocalizeText('achievements.categories.score', [ 'score' ], [ achievementScore.toString() ]) } + - } - {selectedCategory && - } + } + { selectedCategory && + } ); diff --git a/src/components/achievements/views/AchievementDetailsView.tsx b/src/components/achievements/views/AchievementDetailsView.tsx index 4345d6c7..01a456ab 100644 --- a/src/components/achievements/views/AchievementDetailsView.tsx +++ b/src/components/achievements/views/AchievementDetailsView.tsx @@ -16,37 +16,37 @@ export const AchievementDetailsView: FC = props => if (!achievement) return null; return ( - - - + + + - {LocalizeText('achievements.details.level', ['level', 'limit'], [AchievementUtilities.getAchievementLevel(achievement).toString(), achievement.levelCount.toString()])} + { LocalizeText('achievements.details.level', [ 'level', 'limit' ], [ AchievementUtilities.getAchievementLevel(achievement).toString(), achievement.levelCount.toString() ]) }
- {LocalizeBadgeName(AchievementUtilities.getAchievementBadgeCode(achievement))} + { LocalizeBadgeName(AchievementUtilities.getAchievementBadgeCode(achievement)) } - {LocalizeBadgeDescription(AchievementUtilities.getAchievementBadgeCode(achievement))} + { LocalizeBadgeDescription(AchievementUtilities.getAchievementBadgeCode(achievement)) }
- {((achievement.levelRewardPoints > 0) || (achievement.scoreLimit > 0)) && + { ((achievement.levelRewardPoints > 0) || (achievement.scoreLimit > 0)) &&
- {(achievement.levelRewardPoints > 0) && + { (achievement.levelRewardPoints > 0) &&
- {LocalizeText('achievements.details.reward')} + { LocalizeText('achievements.details.reward') } - - {achievement.levelRewardPoints} - + + { achievement.levelRewardPoints } + -
} - {(achievement.scoreLimit > 0) && - } -
} +
} + { (achievement.scoreLimit > 0) && + } +
} ) diff --git a/src/components/achievements/views/category-list/AchievementsCategoryListView.tsx b/src/components/achievements/views/category-list/AchievementsCategoryListView.tsx index 73fada49..38c5615a 100644 --- a/src/components/achievements/views/category-list/AchievementsCategoryListView.tsx +++ b/src/components/achievements/views/category-list/AchievementsCategoryListView.tsx @@ -15,8 +15,8 @@ export const AchievementsCategoryListView: FC const { categories = null, selectedCategoryCode = null, setSelectedCategoryCode = null } = props; return ( - - {categories && (categories.length > 0) && categories.map((category, index) => )} + + { categories && (categories.length > 0) && categories.map((category, index) => ) } ); }; diff --git a/src/components/avatar-editor/AvatarEditorFigurePreviewView.tsx b/src/components/avatar-editor/AvatarEditorFigurePreviewView.tsx index 361cad8c..992f1ed8 100644 --- a/src/components/avatar-editor/AvatarEditorFigurePreviewView.tsx +++ b/src/components/avatar-editor/AvatarEditorFigurePreviewView.tsx @@ -8,7 +8,7 @@ const DEFAULT_DIRECTION: number = 4; export const AvatarEditorFigurePreviewView: FC<{}> = props => { - const [direction, setDirection] = useState(DEFAULT_DIRECTION); + const [ direction, setDirection ] = useState(DEFAULT_DIRECTION); const { getFigureString = null } = useAvatarEditor(); const rotateFigure = (newDirection: number) => @@ -28,12 +28,12 @@ export const AvatarEditorFigurePreviewView: FC<{}> = props => return (
- +
- rotateFigure(direction + 1)} /> - rotateFigure(direction - 1)} /> + rotateFigure(direction + 1) } /> + rotateFigure(direction - 1) } />
); diff --git a/src/components/avatar-editor/AvatarEditorIcon.tsx b/src/components/avatar-editor/AvatarEditorIcon.tsx index af0dc252..ae7baec3 100644 --- a/src/components/avatar-editor/AvatarEditorIcon.tsx +++ b/src/components/avatar-editor/AvatarEditorIcon.tsx @@ -30,16 +30,16 @@ export const AvatarEditorIcon = forwardRef + ) } + { ...rest } /> ); }); diff --git a/src/components/avatar-editor/AvatarEditorModelView.tsx b/src/components/avatar-editor/AvatarEditorModelView.tsx index d7b616cb..b8151c14 100644 --- a/src/components/avatar-editor/AvatarEditorModelView.tsx +++ b/src/components/avatar-editor/AvatarEditorModelView.tsx @@ -10,71 +10,71 @@ export const AvatarEditorModelView: FC<{ name: string, categories: IAvatarEditorCategory[] }> = props => +{ + const { name = '', categories = [] } = props; + const [ didChange, setDidChange ] = useState(false); + const [ activeSetType, setActiveSetType ] = useState(''); + const { maxPaletteCount = 1, gender = null, setGender = null, selectedColorParts = null, getFirstSelectableColor = null, selectEditorColor = null } = useAvatarEditor(); + + const activeCategory = useMemo(() => { - const { name = '', categories = [] } = props; - const [didChange, setDidChange] = useState(false); - const [activeSetType, setActiveSetType] = useState(''); - const { maxPaletteCount = 1, gender = null, setGender = null, selectedColorParts = null, getFirstSelectableColor = null, selectEditorColor = null } = useAvatarEditor(); + return categories.find(category => category.setType === activeSetType) ?? null; + }, [ categories, activeSetType ]); - const activeCategory = useMemo(() => - { - return categories.find(category => category.setType === activeSetType) ?? null; - }, [categories, activeSetType]); + const selectSet = useCallback((setType: string) => + { + const selectedPalettes = selectedColorParts[setType]; - const selectSet = useCallback((setType: string) => - { - const selectedPalettes = selectedColorParts[setType]; + if (!selectedPalettes || !selectedPalettes.length) selectEditorColor(setType, 0, getFirstSelectableColor(setType)); - if (!selectedPalettes || !selectedPalettes.length) selectEditorColor(setType, 0, getFirstSelectableColor(setType)); + setActiveSetType(setType); + }, [ getFirstSelectableColor, selectEditorColor, selectedColorParts ]); - setActiveSetType(setType); - }, [getFirstSelectableColor, selectEditorColor, selectedColorParts]); + useEffect(() => + { + if (!categories || !categories.length || !didChange) return; - useEffect(() => - { - if (!categories || !categories.length || !didChange) return; + selectSet(categories[0]?.setType); + setDidChange(false); + }, [ categories, didChange, selectSet ]); - selectSet(categories[0]?.setType); - setDidChange(false); - }, [categories, didChange, selectSet]); + useEffect(() => + { + setDidChange(true); + }, [ categories ]); - useEffect(() => - { - setDidChange(true); - }, [categories]); + if (!activeCategory) return null; - if (!activeCategory) return null; - - return ( -
-
- {(name === AvatarEditorFigureCategory.GENERIC) && + return ( +
+
+ { (name === AvatarEditorFigureCategory.GENERIC) && <> -
setGender(AvatarFigurePartType.MALE)}> - +
setGender(AvatarFigurePartType.MALE) }> +
-
setGender(AvatarFigurePartType.FEMALE)}> - +
setGender(AvatarFigurePartType.FEMALE) }> +
- } - {(name !== AvatarEditorFigureCategory.GENERIC) && (categories.length > 0) && categories.map(category => - { - return ( -
selectSet(category.setType)}> - -
- ); - })} -
-
- -
-
- {(maxPaletteCount >= 1) && - } - {(maxPaletteCount === 2) && - } -
+ } + { (name !== AvatarEditorFigureCategory.GENERIC) && (categories.length > 0) && categories.map(category => + { + return ( +
selectSet(category.setType) }> + +
+ ); + }) }
- ); - } +
+ +
+
+ { (maxPaletteCount >= 1) && + } + { (maxPaletteCount === 2) && + } +
+
+ ); +} diff --git a/src/components/avatar-editor/AvatarEditorView.tsx b/src/components/avatar-editor/AvatarEditorView.tsx index 005250a9..50b9d0ae 100644 --- a/src/components/avatar-editor/AvatarEditorView.tsx +++ b/src/components/avatar-editor/AvatarEditorView.tsx @@ -13,7 +13,7 @@ const DEFAULT_FEMALE_FIGURE: string = 'hr-515-33.hd-600-1.ch-635-70.lg-716-66-62 export const AvatarEditorView: FC<{}> = props => { - const [isVisible, setIsVisible] = useState(false); + const [ isVisible, setIsVisible ] = useState(false); const { setIsVisible: setEditorVisibility, avatarModels, activeModelKey, setActiveModelKey, loadAvatarData, getFigureStringWithFace, gender, figureSetIds = [], randomizeCurrentFigure = null, getFigureString = null } = useAvatarEditor(); const processAction = (action: string) => @@ -69,49 +69,49 @@ export const AvatarEditorView: FC<{}> = props => useEffect(() => { setEditorVisibility(isVisible) - }, [isVisible, setEditorVisibility]); + }, [ isVisible, setEditorVisibility ]); if (!isVisible) return null; return ( - setIsVisible(false)} /> + setIsVisible(false) } /> - {Object.keys(avatarModels).map(modelKey => + { Object.keys(avatarModels).map(modelKey => { const isActive = (activeModelKey === modelKey); return ( - setActiveModelKey(modelKey)}> - {LocalizeText(`avatareditor.category.${modelKey}`)} + setActiveModelKey(modelKey) }> + { LocalizeText(`avatareditor.category.${ modelKey }`) } ); - })} + }) }
- {((activeModelKey.length > 0) && (activeModelKey !== AvatarEditorFigureCategory.WARDROBE)) && - } - {(activeModelKey === AvatarEditorFigureCategory.WARDROBE) && - } + { ((activeModelKey.length > 0) && (activeModelKey !== AvatarEditorFigureCategory.WARDROBE)) && + } + { (activeModelKey === AvatarEditorFigureCategory.WARDROBE) && + }
- - -
-
diff --git a/src/components/avatar-editor/palette-set/AvatarEditorPaletteSetItemView.tsx b/src/components/avatar-editor/palette-set/AvatarEditorPaletteSetItemView.tsx index 67e5a8a8..9fc6eb3c 100644 --- a/src/components/avatar-editor/palette-set/AvatarEditorPaletteSetItemView.tsx +++ b/src/components/avatar-editor/palette-set/AvatarEditorPaletteSetItemView.tsx @@ -10,16 +10,16 @@ export const AvatarEditorPaletteSetItem: FC<{ isSelected: boolean; width?: string; } & LayoutGridItemProps> = props => - { - const { setType = null, partColor = null, isSelected = false, width = '100%', ...rest } = props; +{ + const { setType = null, partColor = null, isSelected = false, width = '100%', ...rest } = props; - if (!partColor) return null; + if (!partColor) return null; - const isHC = !GetConfigurationValue('hc.disabled', false) && (partColor.clubLevel > 0); + const isHC = !GetConfigurationValue('hc.disabled', false) && (partColor.clubLevel > 0); - return ( - - {isHC && } - - ); - } + return ( + + { isHC && } + + ); +} diff --git a/src/components/avatar-editor/palette-set/AvatarEditorPaletteSetView.tsx b/src/components/avatar-editor/palette-set/AvatarEditorPaletteSetView.tsx index e73ace3b..37788790 100644 --- a/src/components/avatar-editor/palette-set/AvatarEditorPaletteSetView.tsx +++ b/src/components/avatar-editor/palette-set/AvatarEditorPaletteSetView.tsx @@ -10,27 +10,27 @@ export const AvatarEditorPaletteSetView: FC<{ paletteIndex: number; columnCount: number; }> = props => +{ + const { category = null, paletteIndex = -1, columnCount = 3 } = props; + const { selectedColorParts = null, selectEditorColor = null } = useAvatarEditor(); + + const isPartColorSelected = (partColor: IPartColor) => { - const { category = null, paletteIndex = -1, columnCount = 3 } = props; - const { selectedColorParts = null, selectEditorColor = null } = useAvatarEditor(); + if (!category || !category.setType || !selectedColorParts || !selectedColorParts[category.setType] || !selectedColorParts[category.setType][paletteIndex]) return false; - const isPartColorSelected = (partColor: IPartColor) => - { - if (!category || !category.setType || !selectedColorParts || !selectedColorParts[category.setType] || !selectedColorParts[category.setType][paletteIndex]) return false; + const selectedColorPart = selectedColorParts[category.setType][paletteIndex]; - const selectedColorPart = selectedColorParts[category.setType][paletteIndex]; - - return (selectedColorPart.id === partColor.id); - } - - return ( - columnCount={columnCount} itemRender={(item: IPartColor) => - { - if (!item) return null; - - return ( - selectEditorColor(category.setType, paletteIndex, item.id)} /> - ) - }} items={category.colorItems[paletteIndex]} overscan={columnCount} /> - ); + return (selectedColorPart.id === partColor.id); } + + return ( + columnCount={ columnCount } itemRender={ (item: IPartColor) => + { + if (!item) return null; + + return ( + selectEditorColor(category.setType, paletteIndex, item.id) } /> + ) + } } items={ category.colorItems[paletteIndex] } overscan={ columnCount } /> + ); +} diff --git a/src/components/camera/CameraWidgetView.tsx b/src/components/camera/CameraWidgetView.tsx index f9422c5c..93b23786 100644 --- a/src/components/camera/CameraWidgetView.tsx +++ b/src/components/camera/CameraWidgetView.tsx @@ -12,9 +12,9 @@ const MODE_CHECKOUT: number = 3; export const CameraWidgetView: FC<{}> = props => { - const [mode, setMode] = useState(MODE_NONE); - const [base64Url, setSavedPictureUrl] = useState(null); - const { availableEffects = [], selectedPictureIndex = -1, cameraRoll = [], setCameraRoll = null, myLevel = 0, price = { credits: 0, duckets: 0, publishDucketPrice: 0 } } = useCamera(); + const [ mode, setMode ] = useState(MODE_NONE); + const [ base64Url, setSavedPictureUrl ] = useState(null); + const { availableEffects = [], selectedPictureIndex = -1, cameraRoll = [], setCameraRoll = null, myLevel = 0, price = { credits: 0, duckets: 0, publishDucketPrice: 0 }} = useCamera(); const processAction = (type: string) => @@ -30,7 +30,7 @@ export const CameraWidgetView: FC<{}> = props => case 'delete': setCameraRoll(prevValue => { - const clone = [...prevValue]; + const clone = [ ...prevValue ]; clone.splice(selectedPictureIndex, 1); @@ -89,9 +89,9 @@ export const CameraWidgetView: FC<{}> = props => return ( <> - {(mode === MODE_CAPTURE) && processAction('close')} onDelete={() => processAction('delete')} onEdit={() => processAction('edit')} />} - {(mode === MODE_EDITOR) && processAction('editor_cancel')} onCheckout={checkoutPictureUrl} onClose={() => processAction('close')} />} - {(mode === MODE_CHECKOUT) && processAction('editor_cancel')} onCloseClick={() => processAction('close')}>} + { (mode === MODE_CAPTURE) && processAction('close') } onDelete={ () => processAction('delete') } onEdit={ () => processAction('edit') } /> } + { (mode === MODE_EDITOR) && processAction('editor_cancel') } onCheckout={ checkoutPictureUrl } onClose={ () => processAction('close') } /> } + { (mode === MODE_CHECKOUT) && processAction('editor_cancel') } onCloseClick={ () => processAction('close') }> } ); } diff --git a/src/components/camera/views/CameraWidgetCaptureView.tsx b/src/components/camera/views/CameraWidgetCaptureView.tsx index 5511aed1..b38f0a9b 100644 --- a/src/components/camera/views/CameraWidgetCaptureView.tsx +++ b/src/components/camera/views/CameraWidgetCaptureView.tsx @@ -42,7 +42,7 @@ export const CameraWidgetCaptureView: FC = props = const texture = GetRoomEngine().createTextureFromRoom(GetRoomSession().roomId, 1, getCameraBounds()); - const clone = [...cameraRoll]; + const clone = [ ...cameraRoll ]; if (clone.length >= CAMERA_ROLL_LIMIT) { @@ -59,31 +59,31 @@ export const CameraWidgetCaptureView: FC = props = return ( - - {selectedPicture && } + + { selectedPicture && }
-
+
- {!selectedPicture &&
} - {selectedPicture && + { !selectedPicture &&
} + { selectedPicture &&
- - + +
-
} +
}
-
+
- {(cameraRoll.length > 0) && + { (cameraRoll.length > 0) &&
- {cameraRoll.map((picture, index) => + { cameraRoll.map((picture, index) => { - return setSelectedPictureIndex(index)} />; - })} -
} + return setSelectedPictureIndex(index) } />; + }) } +
} ); diff --git a/src/components/camera/views/CameraWidgetCheckoutView.tsx b/src/components/camera/views/CameraWidgetCheckoutView.tsx index c422abfc..290ce6bc 100644 --- a/src/components/camera/views/CameraWidgetCheckoutView.tsx +++ b/src/components/camera/views/CameraWidgetCheckoutView.tsx @@ -15,12 +15,12 @@ export interface CameraWidgetCheckoutViewProps export const CameraWidgetCheckoutView: FC = props => { const { base64Url = null, onCloseClick = null, onCancelClick = null, price = null } = props; - const [pictureUrl, setPictureUrl] = useState(null); - const [publishUrl, setPublishUrl] = useState(null); - const [picturesBought, setPicturesBought] = useState(0); - const [wasPicturePublished, setWasPicturePublished] = useState(false); - const [isWaiting, setIsWaiting] = useState(false); - const [publishCooldown, setPublishCooldown] = useState(0); + const [ pictureUrl, setPictureUrl ] = useState(null); + const [ publishUrl, setPublishUrl ] = useState(null); + const [ picturesBought, setPicturesBought ] = useState(0); + const [ wasPicturePublished, setWasPicturePublished ] = useState(false); + const [ isWaiting, setIsWaiting ] = useState(false); + const [ publishCooldown, setPublishCooldown ] = useState(0); const publishDisabled = useMemo(() => GetConfigurationValue('camera.publish.disabled', false), []); @@ -77,81 +77,81 @@ export const CameraWidgetCheckoutView: FC = props if (!base64Url) return; GetRoomEngine().saveBase64AsScreenshot(base64Url); - }, [base64Url]); + }, [ base64Url ]); if (!price) return null; return ( - processAction('close')} /> + processAction('close') } />
- {(pictureUrl && pictureUrl.length) && - } - {(!pictureUrl || !pictureUrl.length) && + { (pictureUrl && pictureUrl.length) && + } + { (!pictureUrl || !pictureUrl.length) &&
- {LocalizeText('camera.loading')} -
} + { LocalizeText('camera.loading') } +
}
- + - {LocalizeText('camera.purchase.header')} + { LocalizeText('camera.purchase.header') } - {((price.credits > 0) || (price.duckets > 0)) && + { ((price.credits > 0) || (price.duckets > 0)) &&
- {LocalizeText('catalog.purchase.confirmation.dialog.cost')} - {(price.credits > 0) && + { LocalizeText('catalog.purchase.confirmation.dialog.cost') } + { (price.credits > 0) &&
- {price.credits} - -
} - {(price.duckets > 0) && + { price.credits } + +
} + { (price.duckets > 0) &&
- {price.duckets} - -
} -
} - {(picturesBought > 0) && + { price.duckets } + +
} +
} + { (picturesBought > 0) && - {LocalizeText('camera.purchase.count.info')} {picturesBought} - CreateLinkEvent('inventory/toggle')}>{LocalizeText('camera.open.inventory')} - } + { LocalizeText('camera.purchase.count.info') } { picturesBought } + CreateLinkEvent('inventory/toggle') }>{ LocalizeText('camera.open.inventory') } + }
- +
- {!publishDisabled && + { !publishDisabled &&
- {LocalizeText(wasPicturePublished ? 'camera.publish.successful' : 'camera.publish.explanation')} + { LocalizeText(wasPicturePublished ? 'camera.publish.successful' : 'camera.publish.explanation') } - {LocalizeText(wasPicturePublished ? 'camera.publish.success.short.info' : 'camera.publish.detailed.explanation')} + { LocalizeText(wasPicturePublished ? 'camera.publish.success.short.info' : 'camera.publish.detailed.explanation') } - {wasPicturePublished && {LocalizeText('camera.link.to.published')}} - {!wasPicturePublished && (price.publishDucketPrice > 0) && + { wasPicturePublished && { LocalizeText('camera.link.to.published') } } + { !wasPicturePublished && (price.publishDucketPrice > 0) &&
- {LocalizeText('catalog.purchase.confirmation.dialog.cost')} + { LocalizeText('catalog.purchase.confirmation.dialog.cost') }
- {price.publishDucketPrice} - + { price.publishDucketPrice } +
-
} - {(publishCooldown > 0) &&
{LocalizeText('camera.publish.wait', ['minutes'], [Math.ceil(publishCooldown / 60).toString()])}
} +
} + { (publishCooldown > 0) &&
{ LocalizeText('camera.publish.wait', [ 'minutes' ], [ Math.ceil(publishCooldown / 60).toString() ]) }
}
- {!wasPicturePublished && + { !wasPicturePublished &&
- -
} -
} - {LocalizeText('camera.warning.disclaimer')} +
} +
} + { LocalizeText('camera.warning.disclaimer') }
- +
diff --git a/src/components/camera/views/CameraWidgetShowPhotoView.tsx b/src/components/camera/views/CameraWidgetShowPhotoView.tsx index c0a37970..d611687e 100644 --- a/src/components/camera/views/CameraWidgetShowPhotoView.tsx +++ b/src/components/camera/views/CameraWidgetShowPhotoView.tsx @@ -12,7 +12,7 @@ export interface CameraWidgetShowPhotoViewProps export const CameraWidgetShowPhotoView: FC = props => { const { currentIndex = -1, currentPhotos = null } = props; - const [imageIndex, setImageIndex] = useState(0); + const [ imageIndex, setImageIndex ] = useState(0); const currentImage = (currentPhotos && currentPhotos.length) ? currentPhotos[imageIndex] : null; @@ -43,27 +43,27 @@ export const CameraWidgetShowPhotoView: FC = pro useEffect(() => { setImageIndex(currentIndex); - }, [currentIndex]); + }, [ currentIndex ]); if (!currentImage) return null; return ( - - - {!currentImage.w && - {LocalizeText('camera.loading')}} + + + { !currentImage.w && + { LocalizeText('camera.loading') } } - {currentImage.m && currentImage.m.length && - {currentImage.m}} + { currentImage.m && currentImage.m.length && + { currentImage.m } }
- {(currentImage.n || '')} - {new Date(currentImage.t * 1000).toLocaleDateString()} + { (currentImage.n || '') } + { new Date(currentImage.t * 1000).toLocaleDateString() }
- {(currentPhotos.length > 1) && + { (currentPhotos.length > 1) && - - GetUserProfile(currentImage.oi)}>{currentImage.o} - + + GetUserProfile(currentImage.oi) }>{ currentImage.o } + }
diff --git a/src/components/camera/views/editor/CameraWidgetEditorView.tsx b/src/components/camera/views/editor/CameraWidgetEditorView.tsx index 7c10f0de..4152808f 100644 --- a/src/components/camera/views/editor/CameraWidgetEditorView.tsx +++ b/src/components/camera/views/editor/CameraWidgetEditorView.tsx @@ -16,27 +16,27 @@ export interface CameraWidgetEditorViewProps onCheckout: (pictureUrl: string) => void; } -const TABS: string[] = [CameraEditorTabs.COLORMATRIX, CameraEditorTabs.COMPOSITE]; +const TABS: string[] = [ CameraEditorTabs.COLORMATRIX, CameraEditorTabs.COMPOSITE ]; export const CameraWidgetEditorView: FC = props => { const { picture = null, availableEffects = null, myLevel = 1, onClose = null, onCancel = null, onCheckout = null } = props; - const [currentTab, setCurrentTab] = useState(TABS[0]); - const [selectedEffectName, setSelectedEffectName] = useState(null); - const [selectedEffects, setSelectedEffects] = useState([]); - const [effectsThumbnails, setEffectsThumbnails] = useState([]); - const [isZoomed, setIsZoomed] = useState(false); - const [currentPictureUrl, setCurrentPictureUrl] = useState(''); + const [ currentTab, setCurrentTab ] = useState(TABS[0]); + const [ selectedEffectName, setSelectedEffectName ] = useState(null); + const [ selectedEffects, setSelectedEffects ] = useState([]); + const [ effectsThumbnails, setEffectsThumbnails ] = useState([]); + const [ isZoomed, setIsZoomed ] = useState(false); + const [ currentPictureUrl, setCurrentPictureUrl ] = useState(''); const getColorMatrixEffects = useMemo(() => { return availableEffects.filter(effect => effect.colorMatrix); - }, [availableEffects]); + }, [ availableEffects ]); const getCompositeEffects = useMemo(() => { return availableEffects.filter(effect => effect.texture); - }, [availableEffects]); + }, [ availableEffects ]); const getEffectList = useCallback(() => { @@ -46,26 +46,26 @@ export const CameraWidgetEditorView: FC = props => } return getCompositeEffects; - }, [currentTab, getColorMatrixEffects, getCompositeEffects]); + }, [ currentTab, getColorMatrixEffects, getCompositeEffects ]); const getSelectedEffectIndex = useCallback((name: string) => { if (!name || !name.length || !selectedEffects || !selectedEffects.length) return -1; return selectedEffects.findIndex(effect => (effect.effect.name === name)); - }, [selectedEffects]) + }, [ selectedEffects ]) const getCurrentEffectIndex = useMemo(() => { return getSelectedEffectIndex(selectedEffectName) - }, [selectedEffectName, getSelectedEffectIndex]) + }, [ selectedEffectName, getSelectedEffectIndex ]) const getCurrentEffect = useMemo(() => { if (!selectedEffectName) return null; return (selectedEffects[getCurrentEffectIndex] || null); - }, [selectedEffectName, getCurrentEffectIndex, selectedEffects]); + }, [ selectedEffectName, getCurrentEffectIndex, selectedEffects ]); const setSelectedEffectAlpha = useCallback((alpha: number) => { @@ -75,14 +75,14 @@ export const CameraWidgetEditorView: FC = props => setSelectedEffects(prevValue => { - const clone = [...prevValue]; + const clone = [ ...prevValue ]; const currentEffect = clone[index]; clone[getCurrentEffectIndex] = new RoomCameraWidgetSelectedEffect(currentEffect.effect, alpha); return clone; }); - }, [getCurrentEffectIndex, setSelectedEffects]); + }, [ getCurrentEffectIndex, setSelectedEffects ]); const processAction = useCallback((type: string, effectName: string = null) => { @@ -111,7 +111,7 @@ export const CameraWidgetEditorView: FC = props => setSelectedEffects(prevValue => { - return [...prevValue, new RoomCameraWidgetSelectedEffect(effect, 1)]; + return [ ...prevValue, new RoomCameraWidgetSelectedEffect(effect, 1) ]; }); setSelectedEffectName(effect.name); @@ -124,7 +124,7 @@ export const CameraWidgetEditorView: FC = props => setSelectedEffects(prevValue => { - const clone = [...prevValue]; + const clone = [ ...prevValue ]; clone.splice(existingIndex, 1); @@ -154,7 +154,7 @@ export const CameraWidgetEditorView: FC = props => setIsZoomed(!isZoomed); return; } - }, [isZoomed, availableEffects, selectedEffectName, currentPictureUrl, getSelectedEffectIndex, onCancel, onCheckout, onClose, setIsZoomed, setSelectedEffects]); + }, [ isZoomed, availableEffects, selectedEffectName, currentPictureUrl, getSelectedEffectIndex, onCancel, onCheckout, onClose, setIsZoomed, setSelectedEffects ]); useEffect(() => { @@ -164,14 +164,14 @@ export const CameraWidgetEditorView: FC = props => for await (const effect of availableEffects) { - const image = await GetRoomCameraWidgetManager().applyEffects(picture.texture, [new RoomCameraWidgetSelectedEffect(effect, 1)], false); + const image = await GetRoomCameraWidgetManager().applyEffects(picture.texture, [ new RoomCameraWidgetSelectedEffect(effect, 1) ], false); thumbnails.push(new CameraPictureThumbnail(effect.name, image.src)); } setEffectsThumbnails(thumbnails); })(); - }, [picture, availableEffects]); + }, [ picture, availableEffects ]); useEffect(() => { @@ -183,57 +183,57 @@ export const CameraWidgetEditorView: FC = props => setCurrentPictureUrl(imageUrl.src); })(); - }, [picture, selectedEffects, isZoomed]); + }, [ picture, selectedEffects, isZoomed ]); return ( - processAction('close')} /> + processAction('close') } /> - {TABS.map(tab => + { TABS.map(tab => { - return processAction('change_tab', tab)}> - })} + return processAction('change_tab', tab) }> + }) } - - + + - + - - {selectedEffectName && - - {LocalizeText('camera.effect.name.' + selectedEffectName)} + + { selectedEffectName && + + { LocalizeText('camera.effect.name.' + selectedEffectName) }
{state.valueNow}
} - step={0.01} - value={getCurrentEffect.alpha} - onChange={event => setSelectedEffectAlpha(event)} /> -
} + className={ 'nitro-slider' } + max={ 1 } + min={ 0 } + renderThumb={ (props, state) =>
{ state.valueNow }
} + step={ 0.01 } + value={ getCurrentEffect.alpha } + onChange={ event => setSelectedEffectAlpha(event) } /> +
}
- - -
- -
diff --git a/src/components/camera/views/editor/effect-list/CameraWidgetEffectListItemView.tsx b/src/components/camera/views/editor/effect-list/CameraWidgetEffectListItemView.tsx index 26974b7a..3e13c3fa 100644 --- a/src/components/camera/views/editor/effect-list/CameraWidgetEffectListItemView.tsx +++ b/src/components/camera/views/editor/effect-list/CameraWidgetEffectListItemView.tsx @@ -22,22 +22,22 @@ export const CameraWidgetEffectListItemView: FC asassa - (!isActive && selectEffect())}> - {isActive && - } - {!isLocked && (thumbnailUrl && thumbnailUrl.length > 0) && + } + { !isLocked && (thumbnailUrl && thumbnailUrl.length > 0) &&
- -
} - {isLocked && + +
} + { isLocked &&
- {effect.minLevel} -
} + { effect.minLevel } + } ); diff --git a/src/components/camera/views/editor/effect-list/CameraWidgetEffectListView.tsx b/src/components/camera/views/editor/effect-list/CameraWidgetEffectListView.tsx index e9c74f5d..6f43e223 100644 --- a/src/components/camera/views/editor/effect-list/CameraWidgetEffectListView.tsx +++ b/src/components/camera/views/editor/effect-list/CameraWidgetEffectListView.tsx @@ -18,14 +18,14 @@ export const CameraWidgetEffectListView: FC = p const { myLevel = 0, selectedEffects = [], effects = [], thumbnails = [], processAction = null } = props; return ( - - {effects && (effects.length > 0) && effects.map((effect, index) => + + { effects && (effects.length > 0) && effects.map((effect, index) => { const thumbnailUrl = (thumbnails.find(thumbnail => (thumbnail.effectName === effect.name))); const isActive = (selectedEffects.findIndex(selectedEffect => (selectedEffect.effect.name === effect.name)) > -1); - return myLevel)} removeEffect={() => processAction('remove_effect', effect.name)} selectEffect={() => processAction('select_effect', effect.name)} thumbnailUrl={((thumbnailUrl && thumbnailUrl.thumbnailUrl) || null)} /> - })} + return myLevel) } removeEffect={ () => processAction('remove_effect', effect.name) } selectEffect={ () => processAction('select_effect', effect.name) } thumbnailUrl={ ((thumbnailUrl && thumbnailUrl.thumbnailUrl) || null) } /> + }) } ); } diff --git a/src/components/campaign/CalendarView.tsx b/src/components/campaign/CalendarView.tsx index a18b0a3e..ade88186 100644 --- a/src/components/campaign/CalendarView.tsx +++ b/src/components/campaign/CalendarView.tsx @@ -21,8 +21,8 @@ const TOTAL_SHOWN_ITEMS = 5; export const CalendarView: FC = props => { const { onClose = null, campaignName = null, currentDay = null, numDays = null, missedDays = null, openedDays = null, openPackage = null, receivedProducts = null } = props; - const [selectedDay, setSelectedDay] = useState(currentDay); - const [index, setIndex] = useState(Math.max(0, (selectedDay - 1))); + const [ selectedDay, setSelectedDay ] = useState(currentDay); + const [ index, setIndex ] = useState(Math.max(0, (selectedDay - 1))); const getDayState = (day: number) => { @@ -98,44 +98,44 @@ export const CalendarView: FC = props => return ( - + - - - + + +
- {LocalizeText('campaign.calendar.heading.day', ['number'], [(selectedDay + 1).toString()])} - {dayMessage(selectedDay)} + { LocalizeText('campaign.calendar.heading.day', [ 'number' ], [ (selectedDay + 1).toString() ]) } + { dayMessage(selectedDay) }
- {GetSessionDataManager().isModerator && - } + { GetSessionDataManager().isModerator && + }
- +
-
+
- - {[...Array(TOTAL_SHOWN_ITEMS)].map((e, i) => + + { [ ...Array(TOTAL_SHOWN_ITEMS) ].map((e, i) => { const day = (index + i); return ( - - + + ); - })} + }) }
-
+
diff --git a/src/components/catalog/CatalogView.tsx b/src/components/catalog/CatalogView.tsx index 2dc2b29e..4cb54553 100644 --- a/src/components/catalog/CatalogView.tsx +++ b/src/components/catalog/CatalogView.tsx @@ -64,46 +64,46 @@ export const CatalogView: FC<{}> = props => AddLinkEventTracker(linkTracker); return () => RemoveLinkEventTracker(linkTracker); - }, [setIsVisible, openPageByOfferId, openPageByName]); + }, [ setIsVisible, openPageByOfferId, openPageByName ]); return ( <> - {isVisible && - - setIsVisible(false)} /> + { isVisible && + + setIsVisible(false) } /> - {rootNode && (rootNode.children.length > 0) && rootNode.children.map(child => + { rootNode && (rootNode.children.length > 0) && rootNode.children.map(child => { if (!child.isVisible) return null; return ( - + { if (searchResult) setSearchResult(null); activateNode(child); - }} > -
- {GetConfigurationValue('catalog.tab.icons') && } - {child.localization} + } } > +
+ { GetConfigurationValue('catalog.tab.icons') && } + { child.localization }
); - })} + }) } - {!navigationHidden && - - {activeNodes && (activeNodes.length > 0) && - } - } - - {GetCatalogLayout(currentPage, () => setNavigationHidden(true))} + { !navigationHidden && + + { activeNodes && (activeNodes.length > 0) && + } + } + + { GetCatalogLayout(currentPage, () => setNavigationHidden(true)) } - } + } diff --git a/src/components/catalog/views/catalog-header/CatalogHeaderView.tsx b/src/components/catalog/views/catalog-header/CatalogHeaderView.tsx index 8f5725c4..8a49fa06 100644 --- a/src/components/catalog/views/catalog-header/CatalogHeaderView.tsx +++ b/src/components/catalog/views/catalog-header/CatalogHeaderView.tsx @@ -9,17 +9,17 @@ export interface CatalogHeaderViewProps export const CatalogHeaderView: FC = props => { const { imageUrl = null } = props; - const [displayImageUrl, setDisplayImageUrl] = useState(''); + const [ displayImageUrl, setDisplayImageUrl ] = useState(''); useEffect(() => { setDisplayImageUrl(imageUrl ?? GetConfigurationValue('catalog.asset.image.url').replace('%name%', 'catalog_header_roombuilder')); - }, [imageUrl]); + }, [ imageUrl ]); return
- + { currentTarget.src = GetConfigurationValue('catalog.asset.image.url').replace('%name%', 'catalog_header_roombuilder'); - }} /> + } } />
; } diff --git a/src/components/catalog/views/gift/CatalogGiftView.tsx b/src/components/catalog/views/gift/CatalogGiftView.tsx index 6916559f..1f415761 100644 --- a/src/components/catalog/views/gift/CatalogGiftView.tsx +++ b/src/components/catalog/views/gift/CatalogGiftView.tsx @@ -9,26 +9,26 @@ import { classNames } from '../../../../layout'; export const CatalogGiftView: FC<{}> = props => { - const [isVisible, setIsVisible] = useState(false); - const [pageId, setPageId] = useState(0); - const [offerId, setOfferId] = useState(0); - const [extraData, setExtraData] = useState(''); - const [receiverName, setReceiverName] = useState(''); - const [showMyFace, setShowMyFace] = useState(true); - const [message, setMessage] = useState(''); - const [colors, setColors] = useState<{ id: number, color: string }[]>([]); - const [selectedBoxIndex, setSelectedBoxIndex] = useState(0); - const [selectedRibbonIndex, setSelectedRibbonIndex] = useState(0); - const [selectedColorId, setSelectedColorId] = useState(0); - const [maxBoxIndex, setMaxBoxIndex] = useState(0); - const [maxRibbonIndex, setMaxRibbonIndex] = useState(0); - const [receiverNotFound, setReceiverNotFound] = useState(false); + const [ isVisible, setIsVisible ] = useState(false); + const [ pageId, setPageId ] = useState(0); + const [ offerId, setOfferId ] = useState(0); + const [ extraData, setExtraData ] = useState(''); + const [ receiverName, setReceiverName ] = useState(''); + const [ showMyFace, setShowMyFace ] = useState(true); + const [ message, setMessage ] = useState(''); + const [ colors, setColors ] = useState<{ id: number, color: string }[]>([]); + const [ selectedBoxIndex, setSelectedBoxIndex ] = useState(0); + const [ selectedRibbonIndex, setSelectedRibbonIndex ] = useState(0); + const [ selectedColorId, setSelectedColorId ] = useState(0); + const [ maxBoxIndex, setMaxBoxIndex ] = useState(0); + const [ maxRibbonIndex, setMaxRibbonIndex ] = useState(0); + const [ receiverNotFound, setReceiverNotFound ] = useState(false); const { catalogOptions = null } = useCatalog(); const { friends } = useFriends(); const { giftConfiguration = null } = catalogOptions; - const [boxTypes, setBoxTypes] = useState([]); - const [suggestions, setSuggestions] = useState([]); - const [isAutocompleteVisible, setIsAutocompleteVisible] = useState(true); + const [ boxTypes, setBoxTypes ] = useState([]); + const [ suggestions, setSuggestions ] = useState([]); + const [ isAutocompleteVisible, setIsAutocompleteVisible ] = useState(true); const onClose = useCallback(() => { @@ -45,19 +45,19 @@ export const CatalogGiftView: FC<{}> = props => setSuggestions([]); if (colors.length) setSelectedColorId(colors[0].id); - }, [colors]); + }, [ colors ]); const isBoxDefault = useMemo(() => { return giftConfiguration ? (giftConfiguration.defaultStuffTypes.findIndex(s => (s === boxTypes[selectedBoxIndex])) > -1) : false; - }, [boxTypes, giftConfiguration, selectedBoxIndex]); + }, [ boxTypes, giftConfiguration, selectedBoxIndex ]); const boxExtraData = useMemo(() => { if (!giftConfiguration) return ''; return ((boxTypes[selectedBoxIndex] * 1000) + giftConfiguration.ribbonTypes[selectedRibbonIndex]).toString(); - }, [giftConfiguration, selectedBoxIndex, selectedRibbonIndex, boxTypes]); + }, [ giftConfiguration, selectedBoxIndex, selectedRibbonIndex, boxTypes ]); const isColorable = useMemo(() => { @@ -68,12 +68,12 @@ export const CatalogGiftView: FC<{}> = props => const boxType = boxTypes[selectedBoxIndex]; return (boxType === 8 || (boxType >= 3 && boxType <= 6)) ? false : true; - }, [giftConfiguration, selectedBoxIndex, isBoxDefault, boxTypes]); + }, [ giftConfiguration, selectedBoxIndex, isBoxDefault, boxTypes ]); const colourId = useMemo(() => { return isBoxDefault ? boxTypes[selectedBoxIndex] : selectedColorId; - }, [isBoxDefault, boxTypes, selectedBoxIndex, selectedColorId]) + }, [ isBoxDefault, boxTypes, selectedBoxIndex, selectedColorId ]) const allFriends = friends.filter((friend: MessengerFriend) => friend.id !== -1); @@ -125,13 +125,13 @@ export const CatalogGiftView: FC<{}> = props => SendMessageComposer(new PurchaseFromCatalogAsGiftComposer(pageId, offerId, extraData, receiverName, message, colourId, selectedBoxIndex, selectedRibbonIndex, showMyFace)); return; } - }, [colourId, extraData, maxBoxIndex, maxRibbonIndex, message, offerId, pageId, receiverName, selectedBoxIndex, selectedRibbonIndex, showMyFace]); + }, [ colourId, extraData, maxBoxIndex, maxRibbonIndex, message, offerId, pageId, receiverName, selectedBoxIndex, selectedRibbonIndex, showMyFace ]); useMessageEvent(GiftReceiverNotFoundEvent, event => setReceiverNotFound(true)); useUiEvent([ CatalogPurchasedEvent.PURCHASE_SUCCESS, - CatalogEvent.INIT_GIFT], event => + CatalogEvent.INIT_GIFT ], event => { switch (event.type) { @@ -154,7 +154,7 @@ export const CatalogGiftView: FC<{}> = props => useEffect(() => { setReceiverNotFound(false); - }, [receiverName]); + }, [ receiverName ]); const createBoxTypes = useCallback(() => { @@ -162,7 +162,7 @@ export const CatalogGiftView: FC<{}> = props => setBoxTypes(prev => { - let newPrev = [...giftConfiguration.boxTypes]; + let newPrev = [ ...giftConfiguration.boxTypes ]; newPrev.push(giftConfiguration.defaultStuffTypes[Math.floor((Math.random() * (giftConfiguration.defaultStuffTypes.length - 1)))]); @@ -171,7 +171,7 @@ export const CatalogGiftView: FC<{}> = props => return newPrev; }) - }, [giftConfiguration]) + }, [ giftConfiguration ]) useEffect(() => { @@ -195,93 +195,93 @@ export const CatalogGiftView: FC<{}> = props => setSelectedColorId(newColors[0].id); setColors(newColors); } - }, [giftConfiguration, createBoxTypes]); + }, [ giftConfiguration, createBoxTypes ]); useEffect(() => { if (!isVisible) return; createBoxTypes(); - }, [createBoxTypes, isVisible]) + }, [ createBoxTypes, isVisible ]) if (!giftConfiguration || !giftConfiguration.isEnabled || !isVisible) return null; const boxName = 'catalog.gift_wrapping_new.box.' + (isBoxDefault ? 'default' : boxTypes[selectedBoxIndex]); - const ribbonName = `catalog.gift_wrapping_new.ribbon.${selectedRibbonIndex}`; + const ribbonName = `catalog.gift_wrapping_new.ribbon.${ selectedRibbonIndex }`; const priceText = 'catalog.gift_wrapping_new.' + (isBoxDefault ? 'freeprice' : 'price'); return ( - + - {LocalizeText('catalog.gift_wrapping.receiver')} - onTextChanged(e)} /> - {(suggestions.length > 0 && isAutocompleteVisible) && + { LocalizeText('catalog.gift_wrapping.receiver') } + onTextChanged(e) } /> + { (suggestions.length > 0 && isAutocompleteVisible) && - {suggestions.map((friend: MessengerFriend) => ( -
selectedReceiverName(friend.name)}>{friend.name}
- ))} + { suggestions.map((friend: MessengerFriend) => ( +
selectedReceiverName(friend.name) }>{ friend.name }
+ )) }
} - {receiverNotFound && -
{LocalizeText('catalog.gift_wrapping.receiver_not_found.title')}
} + { receiverNotFound && +
{ LocalizeText('catalog.gift_wrapping.receiver_not_found.title') }
}
- setMessage(value)} /> + setMessage(value) } />
- setShowMyFace(value => !value)} /> - + setShowMyFace(value => !value) } /> +
- {selectedColorId && + { selectedColorId &&
- -
} + +
}
- -
- {LocalizeText(boxName)} + { LocalizeText(boxName) }
- {LocalizeText(priceText, ['price'], [giftConfiguration.price.toString()])} - + { LocalizeText(priceText, [ 'price' ], [ giftConfiguration.price.toString() ]) } +
- +
- -
- {LocalizeText(ribbonName)} + { LocalizeText(ribbonName) }
- + - {LocalizeText('catalog.gift_wrapping.pick_color')} + { LocalizeText('catalog.gift_wrapping.pick_color') }
- {colors.map(color =>
- -
diff --git a/src/components/catalog/views/navigation/CatalogNavigationItemView.tsx b/src/components/catalog/views/navigation/CatalogNavigationItemView.tsx index 9136e7d6..8836b172 100644 --- a/src/components/catalog/views/navigation/CatalogNavigationItemView.tsx +++ b/src/components/catalog/views/navigation/CatalogNavigationItemView.tsx @@ -18,19 +18,18 @@ export const CatalogNavigationItemView: FC = pro const { activateNode = null } = useCatalog(); return ( -
- activateNode(node)}> - - {node.localization} - {node.isBranch && +
+ activateNode(node) }> + + { node.localization } + { node.isBranch && <> - {node.isOpen && } - {!node.isOpen && } - } + { node.isOpen && } + { !node.isOpen && } + } - - {node.isOpen && node.isBranch && - } + { node.isOpen && node.isBranch && + }
); } diff --git a/src/components/catalog/views/navigation/CatalogNavigationView.tsx b/src/components/catalog/views/navigation/CatalogNavigationView.tsx index b1dac09d..7b1092bd 100644 --- a/src/components/catalog/views/navigation/CatalogNavigationView.tsx +++ b/src/components/catalog/views/navigation/CatalogNavigationView.tsx @@ -20,13 +20,13 @@ export const CatalogNavigationView: FC = props => <> - - {searchResult && (searchResult.filteredNodes.length > 0) && searchResult.filteredNodes.map((n, index) => + + { searchResult && (searchResult.filteredNodes.length > 0) && searchResult.filteredNodes.map((n, index) => { - return ; - })} - {!searchResult && - } + return ; + }) } + { !searchResult && + } diff --git a/src/components/catalog/views/page/common/CatalogRedeemVoucherView.tsx b/src/components/catalog/views/page/common/CatalogRedeemVoucherView.tsx index 161d024f..92163cd5 100644 --- a/src/components/catalog/views/page/common/CatalogRedeemVoucherView.tsx +++ b/src/components/catalog/views/page/common/CatalogRedeemVoucherView.tsx @@ -14,8 +14,8 @@ export interface CatalogRedeemVoucherViewProps export const CatalogRedeemVoucherView: FC = props => { const { text = null } = props; - const [voucher, setVoucher] = useState(''); - const [isWaiting, setIsWaiting] = useState(false); + const [ voucher, setVoucher ] = useState(''); + const [ isWaiting, setIsWaiting ] = useState(false); const { simpleAlert = null } = useNotification(); const redeemVoucher = () => @@ -33,7 +33,7 @@ export const CatalogRedeemVoucherView: FC = props let message = LocalizeText('catalog.alert.voucherredeem.ok.description'); - if (parser.productName) message = LocalizeText('catalog.alert.voucherredeem.ok.description.furni', ['productName', 'productDescription'], [parser.productName, parser.productDescription]); + if (parser.productName) message = LocalizeText('catalog.alert.voucherredeem.ok.description.furni', [ 'productName', 'productDescription' ], [ parser.productName, parser.productDescription ]); simpleAlert(message, null, null, null, LocalizeText('catalog.alert.voucherredeem.ok.title')); @@ -45,7 +45,7 @@ export const CatalogRedeemVoucherView: FC = props { const parser = event.getParser(); - simpleAlert(LocalizeText(`catalog.alert.voucherredeem.error.description.${parser.errorCode}`), null, null, null, LocalizeText('catalog.alert.voucherredeem.error.title')); + simpleAlert(LocalizeText(`catalog.alert.voucherredeem.error.description.${ parser.errorCode }`), null, null, null, LocalizeText('catalog.alert.voucherredeem.error.title')); setIsWaiting(false); }); @@ -56,11 +56,10 @@ export const CatalogRedeemVoucherView: FC = props setVoucher(event.target.value)} /> - -
diff --git a/src/components/catalog/views/page/common/CatalogSearchView.tsx b/src/components/catalog/views/page/common/CatalogSearchView.tsx index e8dece30..6b544130 100644 --- a/src/components/catalog/views/page/common/CatalogSearchView.tsx +++ b/src/components/catalog/views/page/common/CatalogSearchView.tsx @@ -8,7 +8,7 @@ import { NitroInput } from '../../../../../layout'; export const CatalogSearchView: FC<{}> = props => { - const [searchValue, setSearchValue] = useState(''); + const [ searchValue, setSearchValue ] = useState(''); const { currentType = null, rootNode = null, offersToNodes = null, searchResult = null, setSearchResult = null, setCurrentPage = null } = useCatalog(); useEffect(() => @@ -37,7 +37,7 @@ export const CatalogSearchView: FC<{}> = props => if ((currentType === CatalogType.NORMAL) && furniture.excludeDynamic) continue; - const searchValues = [furniture.className, furniture.name, furniture.description].join(' ').replace(/ /gi, '').toLowerCase(); + const searchValues = [ furniture.className, furniture.name, furniture.description ].join(' ').replace(/ /gi, '').toLowerCase(); if ((currentType === CatalogType.BUILDER) && (furniture.purchaseOfferId === -1) && (furniture.rentOfferId === -1)) { @@ -75,7 +75,7 @@ export const CatalogSearchView: FC<{}> = props => }, 300); return () => clearTimeout(timeout); - }, [offersToNodes, currentType, rootNode, searchValue, setCurrentPage, setSearchResult]); + }, [ offersToNodes, currentType, rootNode, searchValue, setCurrentPage, setSearchResult ]); return (
@@ -87,20 +87,20 @@ export const CatalogSearchView: FC<{}> = props => setSearchValue(event.target.value)} /> + placeholder={ LocalizeText('generic.search') } + value={ searchValue } + onChange={ event => setSearchValue(event.target.value) } /> - {(!searchValue || !searchValue.length) && + { (!searchValue || !searchValue.length) && } - {searchValue && !!searchValue.length && - } + { searchValue && !!searchValue.length && + } + }
); } diff --git a/src/components/catalog/views/page/layout/CatalogLayoutBadgeDisplayView.tsx b/src/components/catalog/views/page/layout/CatalogLayoutBadgeDisplayView.tsx index 7c0370d1..26202694 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutBadgeDisplayView.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutBadgeDisplayView.tsx @@ -20,33 +20,33 @@ export const CatalogLayoutBadgeDisplayView: FC = props => <> - + - - {LocalizeText('catalog_selectbadge')} + + { LocalizeText('catalog_selectbadge') } - - {!currentOffer && + + { !currentOffer && <> - {!!page.localization.getImage(1) && } - - } - {currentOffer && + { !!page.localization.getImage(1) && } + + } + { currentOffer && <>
- + - {currentOffer.localizationName} + { currentOffer.localizationName }
- } + }
diff --git a/src/components/catalog/views/page/layout/CatalogLayoutColorGroupingView.tsx b/src/components/catalog/views/page/layout/CatalogLayoutColorGroupingView.tsx index 32a5529b..cb759c76 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutColorGroupingView.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutColorGroupingView.tsx @@ -21,9 +21,9 @@ export interface CatalogLayoutColorGroupViewProps extends CatalogLayoutProps export const CatalogLayoutColorGroupingView: FC = props => { const { page = null } = props; - const [colorableItems, setColorableItems] = useState>(new Map()); + const [ colorableItems, setColorableItems ] = useState>(new Map()); const { currentOffer = null, setCurrentOffer = null } = useCatalog(); - const [colorsShowing, setColorsShowing] = useState(false); + const [ colorsShowing, setColorsShowing ] = useState(false); const sortByColorIndex = (a: IPurchasableOffer, b: IPurchasableOffer) => { @@ -63,7 +63,7 @@ export const CatalogLayoutColorGroupingView: FC { - const fullName = `${productName}*${colorIndex}`; + const fullName = `${ productName }*${ colorIndex }`; const index = page.offers.findIndex(offer => offer.product.furnitureData.fullName === fullName); if (index > -1) { @@ -128,39 +128,39 @@ export const CatalogLayoutColorGroupingView: FC - - - {(!colorsShowing || !currentOffer || !colorableItems.has(currentOffer.product.furnitureData.className)) && - offers.map((offer, index) => ) + + + { (!colorsShowing || !currentOffer || !colorableItems.has(currentOffer.product.furnitureData.className)) && + offers.map((offer, index) => ) } - {(colorsShowing && currentOffer && colorableItems.has(currentOffer.product.furnitureData.className)) && - colorableItems.get(currentOffer.product.furnitureData.className).map((color, index) => selectColor(index, currentOffer.product.furnitureData.className)} />) + { (colorsShowing && currentOffer && colorableItems.has(currentOffer.product.furnitureData.className)) && + colorableItems.get(currentOffer.product.furnitureData.className).map((color, index) => selectColor(index, currentOffer.product.furnitureData.className) } />) } - - {!currentOffer && + + { !currentOffer && <> - {!!page.localization.getImage(1) && } - - } - {currentOffer && + { !!page.localization.getImage(1) && } + + } + { currentOffer && <>
- {currentOffer.product.furnitureData.hasIndexedColor && - } + }
- + - {currentOffer.localizationName} + { currentOffer.localizationName }
@@ -169,7 +169,7 @@ export const CatalogLayoutColorGroupingView: FC - } + } ); diff --git a/src/components/catalog/views/page/layout/CatalogLayoutDefaultView.tsx b/src/components/catalog/views/page/layout/CatalogLayoutDefaultView.tsx index 6ef2b976..f87eb6b3 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutDefaultView.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutDefaultView.tsx @@ -20,31 +20,31 @@ export const CatalogLayoutDefaultView: FC = props => return ( <> - - {GetConfigurationValue('catalog.headers') && - } + + { GetConfigurationValue('catalog.headers') && + } - - {!currentOffer && + + { !currentOffer && <> - {!!page.localization.getImage(1) && - } - - } - {currentOffer && + { !!page.localization.getImage(1) && + } + + } + { currentOffer && <> - - {(currentOffer.product.productType !== ProductTypeEnum.BADGE) && + + { (currentOffer.product.productType !== ProductTypeEnum.BADGE) && <> - } - {(currentOffer.product.productType === ProductTypeEnum.BADGE) && } + } + { (currentOffer.product.productType === ProductTypeEnum.BADGE) && } - + - {currentOffer.localizationName} + { currentOffer.localizationName }
@@ -53,7 +53,7 @@ export const CatalogLayoutDefaultView: FC = props =>
- } + } diff --git a/src/components/catalog/views/page/layout/CatalogLayoutGuildCustomFurniView.tsx b/src/components/catalog/views/page/layout/CatalogLayoutGuildCustomFurniView.tsx index c7323708..cd8eab78 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutGuildCustomFurniView.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutGuildCustomFurniView.tsx @@ -16,23 +16,23 @@ export const CatalogLayouGuildCustomFurniView: FC = props => return ( - + - - {!currentOffer && + + { !currentOffer && <> - {!!page.localization.getImage(1) && } - - } - {currentOffer && + { !!page.localization.getImage(1) && } + + } + { currentOffer && <>
- - {currentOffer.localizationName} + + { currentOffer.localizationName }
@@ -41,7 +41,7 @@ export const CatalogLayouGuildCustomFurniView: FC = props =>
- } + }
); diff --git a/src/components/catalog/views/page/layout/CatalogLayoutGuildForumView.tsx b/src/components/catalog/views/page/layout/CatalogLayoutGuildForumView.tsx index f9ad1a1a..889fbe62 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutGuildForumView.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutGuildForumView.tsx @@ -12,36 +12,36 @@ import { CatalogLayoutProps } from './CatalogLayout.types'; export const CatalogLayouGuildForumView: FC = props => { const { page = null } = props; - const [selectedGroupIndex, setSelectedGroupIndex] = useState(0); + const [ selectedGroupIndex, setSelectedGroupIndex ] = useState(0); const { currentOffer = null, setCurrentOffer = null, catalogOptions = null } = useCatalog(); const { groups = null } = catalogOptions; useEffect(() => { SendMessageComposer(new CatalogGroupsComposer()); - }, [page]); + }, [ page ]); return ( <> - -
+ +
- - {!!currentOffer && + + { !!currentOffer && <> - - {currentOffer.localizationName} + + { currentOffer.localizationName }
- +
- } + }
diff --git a/src/components/catalog/views/page/layout/CatalogLayoutInfoLoyaltyView.tsx b/src/components/catalog/views/page/layout/CatalogLayoutInfoLoyaltyView.tsx index 24a3ba17..91b175fe 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutInfoLoyaltyView.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutInfoLoyaltyView.tsx @@ -8,7 +8,7 @@ export const CatalogLayoutInfoLoyaltyView: FC = props => return (
-
+
); diff --git a/src/components/catalog/views/page/layout/CatalogLayoutPets3View.tsx b/src/components/catalog/views/page/layout/CatalogLayoutPets3View.tsx index b1f54a95..e084c180 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutPets3View.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutPets3View.tsx @@ -11,14 +11,14 @@ export const CatalogLayoutPets3View: FC = props => return (
- {imageUrl && } -
+ { imageUrl && } +
-
+
-
+
); diff --git a/src/components/catalog/views/page/layout/CatalogLayoutRoomAdsView.tsx b/src/components/catalog/views/page/layout/CatalogLayoutRoomAdsView.tsx index 62a9be09..999db2c6 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutRoomAdsView.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutRoomAdsView.tsx @@ -9,12 +9,12 @@ import { CatalogLayoutProps } from './CatalogLayout.types'; export const CatalogLayoutRoomAdsView: FC = props => { const { page = null } = props; - const [eventName, setEventName] = useState(''); - const [eventDesc, setEventDesc] = useState(''); - const [roomId, setRoomId] = useState(-1); - const [availableRooms, setAvailableRooms] = useState([]); - const [extended, setExtended] = useState(false); - const [categoryId, setCategoryId] = useState(1); + const [ eventName, setEventName ] = useState(''); + const [ eventDesc, setEventDesc ] = useState(''); + const [ roomId, setRoomId ] = useState(-1); + const [ availableRooms, setAvailableRooms ] = useState([]); + const [ extended, setExtended ] = useState(false); + const [ categoryId, setCategoryId ] = useState(1); const { categories = null } = useNavigator(); const { setIsVisible = null } = useCatalog(); const { promoteInformation, isExtended, setIsExtended } = useRoomPromote(); @@ -31,7 +31,7 @@ export const CatalogLayoutRoomAdsView: FC = props => setIsExtended(false); // This is from hook useRoomPromotte } - }, [isExtended, eventName, eventDesc, categoryId]); + }, [ isExtended, eventName, eventDesc, categoryId, promoteInformation.data, setIsExtended ]); const resetData = () => { @@ -73,38 +73,34 @@ export const CatalogLayoutRoomAdsView: FC = props => }, []); return (<> - {LocalizeText('roomad.catalog_header')} - -
{LocalizeText('roomad.catalog_text', ['duration'], ['120'])}
-
- - {LocalizeText('navigator.category')} - setCategoryId(parseInt(event.target.value)) }> + { categories && categories.map((cat, index) => ) }
- {LocalizeText('roomad.catalog_name')} - - - - - setEventName(event.target.value)} /> + { LocalizeText('roomad.catalog_name') } + setEventName(event.target.value) } />
- {LocalizeText('roomad.catalog_description')} - - {LocalizeText('friendlist.invite.note')} + { LocalizeText('friendlist.invite.summary', [ 'count' ], [ selectedFriendsIds.length.toString() ]) } + + { LocalizeText('friendlist.invite.note') }
- - + +
diff --git a/src/components/friends/views/friends-list/FriendsListSearchView.tsx b/src/components/friends/views/friends-list/FriendsListSearchView.tsx index d9aa7b0a..c90063dd 100644 --- a/src/components/friends/views/friends-list/FriendsListSearchView.tsx +++ b/src/components/friends/views/friends-list/FriendsListSearchView.tsx @@ -12,9 +12,9 @@ interface FriendsSearchViewProps extends NitroCardAccordionSetViewProps export const FriendsSearchView: FC = props => { const { ...rest } = props; - const [searchValue, setSearchValue] = useState(''); - const [friendResults, setFriendResults] = useState(null); - const [otherResults, setOtherResults] = useState(null); + const [ searchValue, setSearchValue ] = useState(''); + const [ friendResults, setFriendResults ] = useState(null); + const [ otherResults, setOtherResults ] = useState(null); const { canRequestFriend = null, requestFriend = null } = useFriends(); useMessageEvent(HabboSearchResultEvent, event => @@ -37,66 +37,66 @@ export const FriendsSearchView: FC = props => }, 500); return () => clearTimeout(timeout); - }, [searchValue]); + }, [ searchValue ]); return ( - - setSearchValue(event.target.value)} /> + + setSearchValue(event.target.value) } />
- {friendResults && + { friendResults && <> - {(friendResults.length === 0) && - {LocalizeText('friendlist.search.nofriendsfound')}} - {(friendResults.length > 0) && - - {LocalizeText('friendlist.search.friendscaption', ['cnt'], [friendResults.length.toString()])} + { (friendResults.length === 0) && + { LocalizeText('friendlist.search.nofriendsfound') } } + { (friendResults.length > 0) && + + { LocalizeText('friendlist.search.friendscaption', [ 'cnt' ], [ friendResults.length.toString() ]) }
- - {friendResults.map(result => + + { friendResults.map(result => { return ( - +
- -
{result.avatarName}
+ +
{ result.avatarName }
- {result.isAvatarOnline && -
OpenMessengerChat(result.avatarId)} />} + { result.isAvatarOnline && +
OpenMessengerChat(result.avatarId) } /> }
) - })} + }) } - } - } - {otherResults && + } + } + { otherResults && <> - {(otherResults.length === 0) && - {LocalizeText('friendlist.search.noothersfound')}} - {(otherResults.length > 0) && - - {LocalizeText('friendlist.search.otherscaption', ['cnt'], [otherResults.length.toString()])} + { (otherResults.length === 0) && + { LocalizeText('friendlist.search.noothersfound') } } + { (otherResults.length > 0) && + + { LocalizeText('friendlist.search.otherscaption', [ 'cnt' ], [ otherResults.length.toString() ]) }
- - {otherResults.map(result => + + { otherResults.map(result => { return ( - +
- -
{result.avatarName}
+ +
{ result.avatarName }
- {canRequestFriend(result.avatarId) && -
requestFriend(result.avatarId, result.avatarName)} />} + { canRequestFriend(result.avatarId) && +
requestFriend(result.avatarId, result.avatarName) } /> }
) - })} + }) } - } - } + } + }
); diff --git a/src/components/friends/views/messenger/FriendsMessengerView.tsx b/src/components/friends/views/messenger/FriendsMessengerView.tsx index e488f85b..7a961274 100644 --- a/src/components/friends/views/messenger/FriendsMessengerView.tsx +++ b/src/components/friends/views/messenger/FriendsMessengerView.tsx @@ -9,9 +9,9 @@ import { FriendsMessengerThreadView } from './messenger-thread/FriendsMessengerT export const FriendsMessengerView: FC<{}> = props => { - const [isVisible, setIsVisible] = useState(false); - const [lastThreadId, setLastThreadId] = useState(-1); - const [messageText, setMessageText] = useState(''); + const [ isVisible, setIsVisible ] = useState(false); + const [ lastThreadId, setLastThreadId ] = useState(-1); + const [ messageText, setMessageText ] = useState(''); const { visibleThreads = [], activeThread = null, getMessageThread = null, sendMessage = null, setActiveThreadId = null, closeThread = null } = useMessenger(); const { report = null } = useHelp(); const messagesBox = useRef(); @@ -72,14 +72,14 @@ export const FriendsMessengerView: FC<{}> = props => AddLinkEventTracker(linkTracker); return () => RemoveLinkEventTracker(linkTracker); - }, [getMessageThread, setActiveThreadId]); + }, [ getMessageThread, setActiveThreadId ]); useEffect(() => { if (!isVisible || !activeThread) return; messagesBox.current.scrollTop = messagesBox.current.scrollHeight; - }, [isVisible, activeThread]); + }, [ isVisible, activeThread ]); useEffect(() => { @@ -102,74 +102,74 @@ export const FriendsMessengerView: FC<{}> = props => setLastThreadId(activeThread.threadId); setActiveThreadId(-1); } - }, [isVisible, activeThread, lastThreadId, visibleThreads, setActiveThreadId]); + }, [ isVisible, activeThread, lastThreadId, visibleThreads, setActiveThreadId ]); if (!isVisible) return null; return ( - setIsVisible(false)} /> + setIsVisible(false) } /> - - {LocalizeText('toolbar.icon.label.messenger')} + + { LocalizeText('toolbar.icon.label.messenger') }
- {visibleThreads && (visibleThreads.length > 0) && visibleThreads.map(thread => + { visibleThreads && (visibleThreads.length > 0) && visibleThreads.map(thread => { return ( - setActiveThreadId(thread.threadId)}> - {thread.unread && - } + setActiveThreadId(thread.threadId) }> + { thread.unread && + }
- {(thread.participant.id > 0) && - } - {(thread.participant.id <= 0) && - } + { (thread.participant.id > 0) && + } + { (thread.participant.id <= 0) && + }
- {thread.participant.name} + { thread.participant.name }
); - })} + }) }
- - {activeThread && + + { activeThread && <> - {LocalizeText('messenger.window.separator', ['FRIEND_NAME'], [activeThread.participant.name])} - + { LocalizeText('messenger.window.separator', [ 'FRIEND_NAME' ], [ activeThread.participant.name ]) } +
- -
-
-
- - + +
- setMessageText(event.target.value)} onKeyDown={onKeyDown} /> -
- } + }
diff --git a/src/components/friends/views/messenger/messenger-thread/FriendsMessengerThreadGroup.tsx b/src/components/friends/views/messenger/messenger-thread/FriendsMessengerThreadGroup.tsx index 703b4fc0..c0bc00e4 100644 --- a/src/components/friends/views/messenger/messenger-thread/FriendsMessengerThreadGroup.tsx +++ b/src/components/friends/views/messenger/messenger-thread/FriendsMessengerThreadGroup.tsx @@ -7,7 +7,7 @@ export const FriendsMessengerThreadGroup: FC<{ thread: MessengerThread, group: M { const { thread = null, group = null } = props; - const groupChatData = useMemo(() => ((group.type === MessengerGroupType.GROUP_CHAT) && GetGroupChatData(group.chats[0].extraData)), [group]); + const groupChatData = useMemo(() => ((group.type === MessengerGroupType.GROUP_CHAT) && GetGroupChatData(group.chats[0].extraData)), [ group ]); const isOwnChat = useMemo(() => { @@ -18,7 +18,7 @@ export const FriendsMessengerThreadGroup: FC<{ thread: MessengerThread, group: M if (groupChatData && group.chats.length && (groupChatData.userId === GetSessionDataManager().userId)) return true; return false; - }, [thread, group, groupChatData]); + }, [ thread, group, groupChatData ]); if (!thread || !group) return null; @@ -26,48 +26,48 @@ export const FriendsMessengerThreadGroup: FC<{ thread: MessengerThread, group: M { return ( <> - {group.chats.map((chat, index) => + { group.chats.map((chat, index) => { return ( - + - {(chat.type === MessengerThreadChat.SECURITY_NOTIFICATION) && - + { (chat.type === MessengerThreadChat.SECURITY_NOTIFICATION) && + - {chat.message} - } - {(chat.type === MessengerThreadChat.ROOM_INVITE) && - + { chat.message } + } + { (chat.type === MessengerThreadChat.ROOM_INVITE) && + - {(LocalizeText('messenger.invitation') + ' ')}{chat.message} - } + { (LocalizeText('messenger.invitation') + ' ') }{ chat.message } + } ); - })} + }) } ); } return ( - + - {((group.type === MessengerGroupType.PRIVATE_CHAT) && !isOwnChat) && - } - {(groupChatData && !isOwnChat) && - } + { ((group.type === MessengerGroupType.PRIVATE_CHAT) && !isOwnChat) && + } + { (groupChatData && !isOwnChat) && + } - + - {isOwnChat && GetSessionDataManager().userName} - {!isOwnChat && (groupChatData ? groupChatData.username : thread.participant.name)} + { isOwnChat && GetSessionDataManager().userName } + { !isOwnChat && (groupChatData ? groupChatData.username : thread.participant.name) } - {group.chats.map((chat, index) => {chat.message})} + { group.chats.map((chat, index) => { chat.message }) } - {isOwnChat && + { isOwnChat && - - } + + } ); } diff --git a/src/components/game-center/views/GameListView.tsx b/src/components/game-center/views/GameListView.tsx index 53998847..cd7c3247 100644 --- a/src/components/game-center/views/GameListView.tsx +++ b/src/components/game-center/views/GameListView.tsx @@ -8,7 +8,7 @@ export const GameListView = () => const getClasses = (game: GameConfigurationData) => { - let classes = ['game-icon']; + let classes = [ 'game-icon' ]; if (selectedGame === game) classes.push('selected'); @@ -17,15 +17,15 @@ export const GameListView = () => const getIconImage = (game: GameConfigurationData): string => { - return `url(${game.assetUrl}${game.gameNameId}_icon.png)` + return `url(${ game.assetUrl }${ game.gameNameId }_icon.png)` } return
- {LocalizeText('gamecenter.game_list_title')} + { LocalizeText('gamecenter.game_list_title') }
- {games && games.map((game, index) => -
setSelectedGame(game)} /> - )} + { games && games.map((game, index) => +
setSelectedGame(game) } /> + ) }
} diff --git a/src/components/game-center/views/GameStageView.tsx b/src/components/game-center/views/GameStageView.tsx index 78768df7..c6288a12 100644 --- a/src/components/game-center/views/GameStageView.tsx +++ b/src/components/game-center/views/GameStageView.tsx @@ -6,7 +6,7 @@ import { useGameCenter } from '../../../hooks'; export const GameStageView = () => { const { gameURL, setGameURL } = useGameCenter(); - const [loadTimes, setLoadTimes] = useState(0); + const [ loadTimes, setLoadTimes ] = useState(0); const ref = useRef(); useEffect(() => @@ -29,7 +29,7 @@ export const GameStageView = () => ref.current.innerHTML = ''; ref.current.appendChild(frame); - }, [ref, gameURL]); + }, [ ref, gameURL ]); useEffect(() => { @@ -38,9 +38,9 @@ export const GameStageView = () => setGameURL(null); SendMessageComposer(new Game2ExitGameMessageComposer()); } - }, [loadTimes, setGameURL]) + }, [ loadTimes, setGameURL ]) if (!gameURL) return null; - return
+ return
} diff --git a/src/components/groups/views/GroupBadgeCreatorView.tsx b/src/components/groups/views/GroupBadgeCreatorView.tsx index 37ad026e..df3dd602 100644 --- a/src/components/groups/views/GroupBadgeCreatorView.tsx +++ b/src/components/groups/views/GroupBadgeCreatorView.tsx @@ -10,17 +10,17 @@ interface GroupBadgeCreatorViewProps setBadgeParts: Dispatch>; } -const POSITIONS: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8]; +const POSITIONS: number[] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8 ]; export const GroupBadgeCreatorView: FC = props => { const { badgeParts = [], setBadgeParts = null } = props; - const [selectedIndex, setSelectedIndex] = useState(-1); + const [ selectedIndex, setSelectedIndex ] = useState(-1); const { groupCustomize = null } = useGroup(); const setPartProperty = (partIndex: number, property: string, value: number) => { - const newBadgeParts = [...badgeParts]; + const newBadgeParts = [ ...badgeParts ]; newBadgeParts[partIndex][property] = value; @@ -33,51 +33,51 @@ export const GroupBadgeCreatorView: FC = props => return ( <> - {((selectedIndex < 0) && badgeParts && (badgeParts.length > 0)) && badgeParts.map((part, index) => + { ((selectedIndex < 0) && badgeParts && (badgeParts.length > 0)) && badgeParts.map((part, index) => { return ( - - setSelectedIndex(index)}> - {(badgeParts[index].code && (badgeParts[index].code.length > 0)) && - } - {(!badgeParts[index].code || !badgeParts[index].code.length) && + + setSelectedIndex(index) }> + { (badgeParts[index].code && (badgeParts[index].code.length > 0)) && + } + { (!badgeParts[index].code || !badgeParts[index].code.length) && - } + } - {(part.type !== GroupBadgePart.BASE) && - - {POSITIONS.map((position, posIndex) => + { (part.type !== GroupBadgePart.BASE) && + + { POSITIONS.map((position, posIndex) => { - return
setPartProperty(index, 'position', position)} /> - })} - } - - {(groupCustomize.badgePartColors.length > 0) && groupCustomize.badgePartColors.map((item, colorIndex) => + return
setPartProperty(index, 'position', position) } /> + }) } + } + + { (groupCustomize.badgePartColors.length > 0) && groupCustomize.badgePartColors.map((item, colorIndex) => { - return
setPartProperty(index, 'color', (colorIndex + 1))} /> - })} + return
setPartProperty(index, 'color', (colorIndex + 1)) } /> + }) } ); - })} - {(selectedIndex >= 0) && - - {(badgeParts[selectedIndex].type === GroupBadgePart.SYMBOL) && - setPartProperty(selectedIndex, 'key', 0)}> + }) } + { (selectedIndex >= 0) && + + { (badgeParts[selectedIndex].type === GroupBadgePart.SYMBOL) && + setPartProperty(selectedIndex, 'key', 0) }> - } - {((badgeParts[selectedIndex].type === GroupBadgePart.BASE) ? groupCustomize.badgeBases : groupCustomize.badgeSymbols).map((item, index) => + } + { ((badgeParts[selectedIndex].type === GroupBadgePart.BASE) ? groupCustomize.badgeBases : groupCustomize.badgeSymbols).map((item, index) => { return ( - setPartProperty(selectedIndex, 'key', item.id)}> - + setPartProperty(selectedIndex, 'key', item.id) }> + ); - })} - } + }) } + } ); } diff --git a/src/components/groups/views/GroupCreatorView.tsx b/src/components/groups/views/GroupCreatorView.tsx index 1839c966..7ac97873 100644 --- a/src/components/groups/views/GroupCreatorView.tsx +++ b/src/components/groups/views/GroupCreatorView.tsx @@ -13,16 +13,16 @@ interface GroupCreatorViewProps onClose: () => void; } -const TABS: number[] = [1, 2, 3, 4]; +const TABS: number[] = [ 1, 2, 3, 4 ]; export const GroupCreatorView: FC = props => { const { onClose = null } = props; - const [currentTab, setCurrentTab] = useState(1); - const [closeAction, setCloseAction] = useState<{ action: () => boolean }>(null); - const [groupData, setGroupData] = useState(null); - const [availableRooms, setAvailableRooms] = useState<{ id: number, name: string }[]>(null); - const [purchaseCost, setPurchaseCost] = useState(0); + const [ currentTab, setCurrentTab ] = useState(1); + const [ closeAction, setCloseAction ] = useState<{ action: () => boolean }>(null); + const [ groupData, setGroupData ] = useState(null); + const [ availableRooms, setAvailableRooms ] = useState<{ id: number, name: string }[]>(null); + const [ purchaseCost, setPurchaseCost ] = useState(0); const onCloseClose = () => { @@ -113,49 +113,49 @@ export const GroupCreatorView: FC = props => }); SendMessageComposer(new GroupBuyDataComposer()); - }, [setGroupData]); + }, [ setGroupData ]); if (!groupData) return null; return ( - +
- {TABS.map((tab, index) => + { TABS.map((tab, index) => { return ( - - {LocalizeText(`group.create.steplabel.${tab}`)} + + { LocalizeText(`group.create.steplabel.${ tab }`) } ); - })} + }) }
-
- - {LocalizeText(`group.create.stepcaption.${currentTab}`)} - {LocalizeText(`group.create.stepdesc.${currentTab}`)} +
+ + { LocalizeText(`group.create.stepcaption.${ currentTab }`) } + { LocalizeText(`group.create.stepdesc.${ currentTab }`) }
- {(currentTab === 1) && - } - {(currentTab === 2) && - } - {(currentTab === 3) && - } - {(currentTab === 4) && - } + { (currentTab === 1) && + } + { (currentTab === 2) && + } + { (currentTab === 3) && + } + { (currentTab === 4) && + }
- -
diff --git a/src/components/groups/views/GroupInformationView.tsx b/src/components/groups/views/GroupInformationView.tsx index db0455b0..027c7446 100644 --- a/src/components/groups/views/GroupInformationView.tsx +++ b/src/components/groups/views/GroupInformationView.tsx @@ -4,7 +4,7 @@ import { CatalogPageName, GetGroupManager, GetGroupMembers, GroupMembershipType, import { Button, Column, Grid, GridProps, LayoutBadgeImageView, Text } from '../../../common'; import { useNotification } from '../../../hooks'; -const STATES: string[] = ['regular', 'exclusive', 'private']; +const STATES: string[] = [ 'regular', 'exclusive', 'private' ]; interface GroupInformationViewProps extends GridProps { @@ -36,11 +36,11 @@ export const GroupInformationView: FC = props => { if (groupInformation.membershipType === GroupMembershipType.NOT_MEMBER || groupInformation.membershipType === GroupMembershipType.REQUEST_PENDING) return null; - if (isRealOwner) return ; + if (isRealOwner) return ; - if (groupInformation.isAdmin) return ; + if (groupInformation.isAdmin) return ; - return ; + return ; } const getButtonText = () => @@ -100,45 +100,45 @@ export const GroupInformationView: FC = props => if (!groupInformation) return null; return ( - - + +
- +
- - handleAction('members')}>{LocalizeText('group.membercount', ['totalMembers'], [groupInformation.membersCount.toString()])} - {(groupInformation.pendingRequestsCount > 0) && - handleAction('members_pending')}>{LocalizeText('group.pendingmembercount', ['amount'], [groupInformation.pendingRequestsCount.toString()])}} - {groupInformation.isOwner && - handleAction('manage')}>{LocalizeText('group.manage')}} + + handleAction('members') }>{ LocalizeText('group.membercount', [ 'totalMembers' ], [ groupInformation.membersCount.toString() ]) } + { (groupInformation.pendingRequestsCount > 0) && + handleAction('members_pending') }>{ LocalizeText('group.pendingmembercount', [ 'amount' ], [ groupInformation.pendingRequestsCount.toString() ]) } } + { groupInformation.isOwner && + handleAction('manage') }>{ LocalizeText('group.manage') } } - {getRoleIcon()} + { getRoleIcon() }
- {groupInformation.title} + { groupInformation.title }
- - {groupInformation.canMembersDecorate && - } + + { groupInformation.canMembersDecorate && + }
- {LocalizeText('group.created', ['date', 'owner'], [groupInformation.createdAt, groupInformation.ownerName])} + { LocalizeText('group.created', [ 'date', 'owner' ], [ groupInformation.createdAt, groupInformation.ownerName ]) }
- {groupInformation.description} + { groupInformation.description }
- handleAction('homeroom')}>{LocalizeText('group.linktobase')} - handleAction('furniture')}>{LocalizeText('group.buyfurni')} - handleAction('popular_groups')}>{LocalizeText('group.showgroups')} + handleAction('homeroom') }>{ LocalizeText('group.linktobase') } + handleAction('furniture') }>{ LocalizeText('group.buyfurni') } + handleAction('popular_groups') }>{ LocalizeText('group.showgroups') }
- {(groupInformation.type !== GroupType.PRIVATE || groupInformation.type === GroupType.PRIVATE && groupInformation.membershipType === GroupMembershipType.MEMBER) && - } + { (groupInformation.type !== GroupType.PRIVATE || groupInformation.type === GroupType.PRIVATE && groupInformation.membershipType === GroupMembershipType.MEMBER) && + }
diff --git a/src/components/groups/views/GroupMembersView.tsx b/src/components/groups/views/GroupMembersView.tsx index c858895d..5dda10c3 100644 --- a/src/components/groups/views/GroupMembersView.tsx +++ b/src/components/groups/views/GroupMembersView.tsx @@ -8,13 +8,13 @@ import { classNames } from '../../../layout'; export const GroupMembersView: FC<{}> = props => { - const [groupId, setGroupId] = useState(-1); - const [levelId, setLevelId] = useState(-1); - const [membersData, setMembersData] = useState(null); - const [pageId, setPageId] = useState(-1); - const [totalPages, setTotalPages] = useState(0); - const [searchQuery, setSearchQuery] = useState(''); - const [removingMemberName, setRemovingMemberName] = useState(null); + const [ groupId, setGroupId ] = useState(-1); + const [ levelId, setLevelId ] = useState(-1); + const [ membersData, setMembersData ] = useState(null); + const [ pageId, setPageId ] = useState(-1); + const [ totalPages, setTotalPages ] = useState(0); + const [ searchQuery, setSearchQuery ] = useState(''); + const [ removingMemberName, setRemovingMemberName ] = useState(null); const { showConfirm = null } = useNotification(); const getRankDescription = (member: GroupMemberParser) => @@ -36,7 +36,7 @@ export const GroupMembersView: FC<{}> = props => if ((groupId === -1) || (levelId === -1) || (pageId === -1)) return; SendMessageComposer(new GroupMembersComposer(groupId, pageId, searchQuery, levelId)); - }, [groupId, levelId, pageId, searchQuery]); + }, [ groupId, levelId, pageId, searchQuery ]); const toggleAdmin = (member: GroupMemberParser) => { @@ -87,7 +87,7 @@ export const GroupMembersView: FC<{}> = props => { const parser = event.getParser(); - showConfirm(LocalizeText(((parser.furnitureCount > 0) ? 'group.kickconfirm.desc' : 'group.kickconfirm_nofurni.desc'), ['user', 'amount'], [removingMemberName, parser.furnitureCount.toString()]), () => + showConfirm(LocalizeText(((parser.furnitureCount > 0) ? 'group.kickconfirm.desc' : 'group.kickconfirm_nofurni.desc'), [ 'user', 'amount' ], [ removingMemberName, parser.furnitureCount.toString() ]), () => { SendMessageComposer(new GroupRemoveMemberComposer(membersData.groupId, parser.userId)); @@ -124,14 +124,14 @@ export const GroupMembersView: FC<{}> = props => useEffect(() => { setPageId(0); - }, [groupId, levelId, searchQuery]); + }, [ groupId, levelId, searchQuery ]); useEffect(() => { if ((groupId === -1) || (levelId === -1) || (pageId === -1)) return; SendMessageComposer(new GroupMembersComposer(groupId, pageId, searchQuery, levelId)); - }, [groupId, levelId, pageId, searchQuery]); + }, [ groupId, levelId, pageId, searchQuery ]); useEffect(() => { @@ -142,66 +142,66 @@ export const GroupMembersView: FC<{}> = props => setTotalPages(0); setSearchQuery(''); setRemovingMemberName(null); - }, [groupId]); + }, [ groupId ]); if ((groupId === -1) || !membersData) return null; return ( - setGroupId(-1)} /> + setGroupId(-1) } />
- + - - setSearchQuery(event.target.value)} /> - setSearchQuery(event.target.value) } /> +
- - {membersData.result.map((member, index) => + + { membersData.result.map((member, index) => { return ( - -
GetUserProfile(member.id)}> - + +
GetUserProfile(member.id) }> +
- - GetUserProfile(member.id)}>{member.name} - {(member.rank !== GroupRank.REQUESTED) && - {LocalizeText('group.members.since', ['date'], [member.joinedAt])}} + + GetUserProfile(member.id) }>{ member.name } + { (member.rank !== GroupRank.REQUESTED) && + { LocalizeText('group.members.since', [ 'date' ], [ member.joinedAt ]) } }
- {(member.rank !== GroupRank.REQUESTED) && + { (member.rank !== GroupRank.REQUESTED) &&
-
toggleAdmin(member)} /> -
} - {membersData.admin && (member.rank === GroupRank.REQUESTED) && +
toggleAdmin(member) } /> +
} + { membersData.admin && (member.rank === GroupRank.REQUESTED) && -
acceptMembership(member)} /> - } - {membersData.admin && (member.rank !== GroupRank.OWNER) && (member.id !== GetSessionDataManager().userId) && +
acceptMembership(member) } /> + } + { membersData.admin && (member.rank !== GroupRank.OWNER) && (member.id !== GetSessionDataManager().userId) && -
removeMemberOrDeclineMembership(member)} /> - } +
removeMemberOrDeclineMembership(member) } /> + }
); - })} + }) } - - - {LocalizeText('group.members.pageinfo', ['amount', 'page', 'totalPages'], [membersData.totalMembersCount.toString(), (membersData.pageIndex + 1).toString(), totalPages.toString()])} + { LocalizeText('group.members.pageinfo', [ 'amount', 'page', 'totalPages' ], [ membersData.totalMembersCount.toString(), (membersData.pageIndex + 1).toString(), totalPages.toString() ]) } - diff --git a/src/components/groups/views/GroupRoomInformationView.tsx b/src/components/groups/views/GroupRoomInformationView.tsx index 882ceafb..aa134fc1 100644 --- a/src/components/groups/views/GroupRoomInformationView.tsx +++ b/src/components/groups/views/GroupRoomInformationView.tsx @@ -7,9 +7,9 @@ import { useMessageEvent, useNotification } from '../../../hooks'; export const GroupRoomInformationView: FC<{}> = props => { - const [expectedGroupId, setExpectedGroupId] = useState(0); - const [groupInformation, setGroupInformation] = useState(null); - const [isOpen, setIsOpen] = useState(true); + const [ expectedGroupId, setExpectedGroupId ] = useState(0); + const [ groupInformation, setGroupInformation ] = useState(null); + const [ isOpen, setIsOpen ] = useState(true); const { showConfirm = null } = useNotification(); useMessageEvent(DesktopViewEvent, event => @@ -107,25 +107,25 @@ export const GroupRoomInformationView: FC<{}> = props => return (
- setIsOpen(value => !value)}> - {LocalizeText('group.homeroominfo.title')} - {isOpen && } - {!isOpen && } + setIsOpen(value => !value) }> + { LocalizeText('group.homeroominfo.title') } + { isOpen && } + { !isOpen && } - {isOpen && + { isOpen && <> - GetGroupInformation(groupInformation.id)}> + GetGroupInformation(groupInformation.id) }>
- +
- {groupInformation.title} + { groupInformation.title }
- {(groupInformation.type !== GroupType.PRIVATE || isRealOwner) && - } - } + }
); diff --git a/src/components/groups/views/tabs/GroupTabColorsView.tsx b/src/components/groups/views/tabs/GroupTabColorsView.tsx index 3bff45fa..6fa9b35a 100644 --- a/src/components/groups/views/tabs/GroupTabColorsView.tsx +++ b/src/components/groups/views/tabs/GroupTabColorsView.tsx @@ -15,7 +15,7 @@ interface GroupTabColorsViewProps export const GroupTabColorsView: FC = props => { const { groupData = null, setGroupData = null, setCloseAction = null } = props; - const [colors, setColors] = useState(null); + const [ colors, setColors ] = useState(null); const { groupCustomize = null } = useGroup(); const getGroupColor = (colorIndex: number) => @@ -29,7 +29,7 @@ export const GroupTabColorsView: FC = props => { setColors(prevValue => { - const newColors = [...prevValue]; + const newColors = [ ...prevValue ]; newColors[colorIndex] = colorId; @@ -49,7 +49,7 @@ export const GroupTabColorsView: FC = props => { const newValue = { ...prevValue }; - newValue.groupColors = [...colors]; + newValue.groupColors = [ ...colors ]; return newValue; }); @@ -60,67 +60,67 @@ export const GroupTabColorsView: FC = props => SendMessageComposer(new GroupSaveColorsComposer(groupData.groupId, colors[0], colors[1])); return true; - }, [groupData, colors, setGroupData]); + }, [ groupData, colors, setGroupData ]); useEffect(() => { if (!groupCustomize.groupColorsA || !groupCustomize.groupColorsB || groupData.groupColors) return; - const groupColors = [groupCustomize.groupColorsA[0].id, groupCustomize.groupColorsB[0].id]; + const groupColors = [ groupCustomize.groupColorsA[0].id, groupCustomize.groupColorsB[0].id ]; setGroupData(prevValue => { return { ...prevValue, groupColors }; }); - }, [groupCustomize, groupData.groupColors, setGroupData]); + }, [ groupCustomize, groupData.groupColors, setGroupData ]); useEffect(() => { if (groupData.groupId <= 0) { - setColors(groupData.groupColors ? [...groupData.groupColors] : null); + setColors(groupData.groupColors ? [ ...groupData.groupColors ] : null); return; } setColors(groupData.groupColors); - }, [groupData]); + }, [ groupData ]); useEffect(() => { setCloseAction({ action: saveColors }); return () => setCloseAction(null); - }, [setCloseAction, saveColors]); + }, [ setCloseAction, saveColors ]); if (!colors) return null; return ( - - {LocalizeText('group.edit.color.guild.color')} - {groupData.groupColors && (groupData.groupColors.length > 0) && + + { LocalizeText('group.edit.color.guild.color') } + { groupData.groupColors && (groupData.groupColors.length > 0) &&
-
-
-
} +
+
+
} - - {LocalizeText('group.edit.color.primary.color')} - - {groupData.groupColors && groupCustomize.groupColorsA && groupCustomize.groupColorsA.map((item, index) => + + { LocalizeText('group.edit.color.primary.color') } + + { groupData.groupColors && groupCustomize.groupColorsA && groupCustomize.groupColorsA.map((item, index) => { - return
selectColor(0, item.id)}>
- })} + return
selectColor(0, item.id) }>
+ }) }
- - {LocalizeText('group.edit.color.secondary.color')} - - {groupData.groupColors && groupCustomize.groupColorsB && groupCustomize.groupColorsB.map((item, index) => + + { LocalizeText('group.edit.color.secondary.color') } + + { groupData.groupColors && groupCustomize.groupColorsB && groupCustomize.groupColorsB.map((item, index) => { - return
selectColor(1, item.id)}>
- })} + return
selectColor(1, item.id) }>
+ }) }
diff --git a/src/components/groups/views/tabs/GroupTabCreatorConfirmationView.tsx b/src/components/groups/views/tabs/GroupTabCreatorConfirmationView.tsx index fe119540..67859079 100644 --- a/src/components/groups/views/tabs/GroupTabCreatorConfirmationView.tsx +++ b/src/components/groups/views/tabs/GroupTabCreatorConfirmationView.tsx @@ -36,30 +36,30 @@ export const GroupTabCreatorConfirmationView: FC - - - {LocalizeText('group.create.confirm.guildbadge')} - + + + + { LocalizeText('group.create.confirm.guildbadge') } + - - {LocalizeText('group.edit.color.guild.color')} + + { LocalizeText('group.edit.color.guild.color') } -
-
+
+
- +
- {groupData.groupName} - {groupData.groupDescription} + { groupData.groupName } + { groupData.groupDescription }
- {LocalizeText('group.create.confirm.info')} + { LocalizeText('group.create.confirm.info') }
- {LocalizeText('group.create.confirm.buyinfo', ['amount'], [purchaseCost.toString()])} + { LocalizeText('group.create.confirm.buyinfo', [ 'amount' ], [ purchaseCost.toString() ]) }
diff --git a/src/components/groups/views/tabs/GroupTabIdentityView.tsx b/src/components/groups/views/tabs/GroupTabIdentityView.tsx index 7dd062d9..3c5ffc2d 100644 --- a/src/components/groups/views/tabs/GroupTabIdentityView.tsx +++ b/src/components/groups/views/tabs/GroupTabIdentityView.tsx @@ -18,9 +18,9 @@ interface GroupTabIdentityViewProps export const GroupTabIdentityView: FC = props => { const { groupData = null, setGroupData = null, setCloseAction = null, onClose = null, isCreator = false, availableRooms = [] } = props; - const [groupName, setGroupName] = useState(''); - const [groupDescription, setGroupDescription] = useState(''); - const [groupHomeroomId, setGroupHomeroomId] = useState(-1); + const [ groupName, setGroupName ] = useState(''); + const [ groupDescription, setGroupDescription ] = useState(''); + const [ groupHomeroomId, setGroupHomeroomId ] = useState(-1); const { showConfirm = null } = useNotification(); const deleteGroup = () => @@ -62,21 +62,21 @@ export const GroupTabIdentityView: FC = props => SendMessageComposer(new GroupSaveInformationComposer(groupData.groupId, groupName, (groupDescription || ''))); return true; - }, [groupData, groupName, groupDescription, groupHomeroomId, setGroupData]); + }, [ groupData, groupName, groupDescription, groupHomeroomId, setGroupData ]); useEffect(() => { setGroupName(groupData.groupName || ''); setGroupDescription(groupData.groupDescription || ''); setGroupHomeroomId(groupData.groupHomeroomId); - }, [groupData]); + }, [ groupData ]); useEffect(() => { setCloseAction({ action: saveIdentity }); return () => setCloseAction(null); - }, [setCloseAction, saveIdentity]); + }, [ setCloseAction, saveIdentity ]); if (!groupData) return null; @@ -84,34 +84,34 @@ export const GroupTabIdentityView: FC = props =>
- {LocalizeText('group.edit.name')} - setGroupName(event.target.value)} /> + { LocalizeText('group.edit.name') } + setGroupName(event.target.value) } />
- {LocalizeText('group.edit.desc')} - +
- - + +
diff --git a/src/components/mod-tools/views/tickets/ModToolsMyIssuesTabView.tsx b/src/components/mod-tools/views/tickets/ModToolsMyIssuesTabView.tsx index d5b46849..d0e8bed6 100644 --- a/src/components/mod-tools/views/tickets/ModToolsMyIssuesTabView.tsx +++ b/src/components/mod-tools/views/tickets/ModToolsMyIssuesTabView.tsx @@ -14,9 +14,9 @@ export const ModToolsMyIssuesTabView: FC = props = const { myIssues = null, handleIssue = null } = props; return ( - - - + + +
Type
Room/Player
Opened
@@ -24,23 +24,23 @@ export const ModToolsMyIssuesTabView: FC = props =
- - {myIssues && (myIssues.length > 0) && myIssues.map(issue => + + { myIssues && (myIssues.length > 0) && myIssues.map(issue => { return ( - -
{issue.categoryId}
-
{issue.reportedUserName}
-
{new Date(Date.now() - issue.issueAgeInMilliseconds).toLocaleTimeString()}
+ +
{ issue.categoryId }
+
{ issue.reportedUserName }
+
{ new Date(Date.now() - issue.issueAgeInMilliseconds).toLocaleTimeString() }
- +
- +
); - })} + }) }
); diff --git a/src/components/mod-tools/views/tickets/ModToolsOpenIssuesTabView.tsx b/src/components/mod-tools/views/tickets/ModToolsOpenIssuesTabView.tsx index 30dd025b..1004752d 100644 --- a/src/components/mod-tools/views/tickets/ModToolsOpenIssuesTabView.tsx +++ b/src/components/mod-tools/views/tickets/ModToolsOpenIssuesTabView.tsx @@ -13,29 +13,29 @@ export const ModToolsOpenIssuesTabView: FC = pro const { openIssues = null } = props; return ( - - - + + +
Type
Room/Player
Opened
- - {openIssues && (openIssues.length > 0) && openIssues.map(issue => + + { openIssues && (openIssues.length > 0) && openIssues.map(issue => { return ( - -
{issue.categoryId}
-
{issue.reportedUserName}
-
{new Date(Date.now() - issue.issueAgeInMilliseconds).toLocaleTimeString()}
+ +
{ issue.categoryId }
+
{ issue.reportedUserName }
+
{ new Date(Date.now() - issue.issueAgeInMilliseconds).toLocaleTimeString() }
- +
); - })} + }) }
); diff --git a/src/components/mod-tools/views/tickets/ModToolsPickedIssuesTabView.tsx b/src/components/mod-tools/views/tickets/ModToolsPickedIssuesTabView.tsx index ab9d8ef6..ec3c62f6 100644 --- a/src/components/mod-tools/views/tickets/ModToolsPickedIssuesTabView.tsx +++ b/src/components/mod-tools/views/tickets/ModToolsPickedIssuesTabView.tsx @@ -12,27 +12,27 @@ export const ModToolsPickedIssuesTabView: FC = const { pickedIssues = null } = props; return ( - - - + + +
Type
Room/Player
Opened
Picker
- - {pickedIssues && (pickedIssues.length > 0) && pickedIssues.map(issue => + + { pickedIssues && (pickedIssues.length > 0) && pickedIssues.map(issue => { return ( - -
{issue.categoryId}
-
{issue.reportedUserName}
-
{new Date(Date.now() - issue.issueAgeInMilliseconds).toLocaleTimeString()}
-
{issue.pickerUserName}
+ +
{ issue.categoryId }
+
{ issue.reportedUserName }
+
{ new Date(Date.now() - issue.issueAgeInMilliseconds).toLocaleTimeString() }
+
{ issue.pickerUserName }
); - })} + }) }
); diff --git a/src/components/mod-tools/views/user/ModToolsUserChatlogView.tsx b/src/components/mod-tools/views/user/ModToolsUserChatlogView.tsx index dd2c5a1e..10951da6 100644 --- a/src/components/mod-tools/views/user/ModToolsUserChatlogView.tsx +++ b/src/components/mod-tools/views/user/ModToolsUserChatlogView.tsx @@ -14,8 +14,8 @@ interface ModToolsUserChatlogViewProps export const ModToolsUserChatlogView: FC = props => { const { userId = null, onCloseClick = null } = props; - const [userChatlog, setUserChatlog] = useState(null); - const [username, setUsername] = useState(null); + const [ userChatlog, setUserChatlog ] = useState(null); + const [ username, setUsername ] = useState(null); useMessageEvent(UserChatlogEvent, event => { @@ -30,14 +30,14 @@ export const ModToolsUserChatlogView: FC = props = useEffect(() => { SendMessageComposer(new GetUserChatlogMessageComposer(userId)); - }, [userId]); + }, [ userId ]); return ( - - + + - {userChatlog && - } + { userChatlog && + } ); diff --git a/src/components/mod-tools/views/user/ModToolsUserModActionView.tsx b/src/components/mod-tools/views/user/ModToolsUserModActionView.tsx index d7276468..d4e43108 100644 --- a/src/components/mod-tools/views/user/ModToolsUserModActionView.tsx +++ b/src/components/mod-tools/views/user/ModToolsUserModActionView.tsx @@ -28,9 +28,9 @@ const MOD_ACTION_DEFINITIONS = [ export const ModToolsUserModActionView: FC = props => { const { user = null, onCloseClick = null } = props; - const [selectedTopic, setSelectedTopic] = useState(-1); - const [selectedAction, setSelectedAction] = useState(-1); - const [message, setMessage] = useState(''); + const [ selectedTopic, setSelectedTopic ] = useState(-1); + const [ selectedAction, setSelectedAction ] = useState(-1); + const [ message, setMessage ] = useState(''); const { cfhCategories = null, settings = null } = useModTools(); const { simpleAlert = null } = useNotification(); @@ -47,7 +47,7 @@ export const ModToolsUserModActionView: FC = pro } return values; - }, [cfhCategories]); + }, [ cfhCategories ]); const sendAlert = (message: string) => simpleAlert(message, NotificationAlertType.DEFAULT, null, null, 'Error'); @@ -61,7 +61,7 @@ export const ModToolsUserModActionView: FC = pro if (errorMessage) return sendAlert(errorMessage); - const messageOrDefault = (message.trim().length === 0) ? LocalizeText(`help.cfh.topic.${category.id}`) : message; + const messageOrDefault = (message.trim().length === 0) ? LocalizeText(`help.cfh.topic.${ category.id }`) : message; SendMessageComposer(new DefaultSanctionMessageComposer(user.userId, selectedTopic, messageOrDefault)); @@ -87,7 +87,7 @@ export const ModToolsUserModActionView: FC = pro return; } - const messageOrDefault = (message.trim().length === 0) ? LocalizeText(`help.cfh.topic.${category.id}`) : message; + const messageOrDefault = (message.trim().length === 0) ? LocalizeText(`help.cfh.topic.${ category.id }`) : message; switch (sanction.actionType) { @@ -151,24 +151,24 @@ export const ModToolsUserModActionView: FC = pro if (!user) return null; return ( - - onCloseClick()} /> + + onCloseClick() } /> - setSelectedTopic(parseInt(event.target.value)) }> + + { topics.map((topic, index) => ) } - setSelectedAction(parseInt(event.target.value)) }> + + { MOD_ACTION_DEFINITIONS.map((action, index) => ) }
Optional message type, overrides default - - + Message To: { user.username } + + ); diff --git a/src/components/navigator/NavigatorView.tsx b/src/components/navigator/NavigatorView.tsx index 81ce500a..2bdc7a10 100644 --- a/src/components/navigator/NavigatorView.tsx +++ b/src/components/navigator/NavigatorView.tsx @@ -14,14 +14,14 @@ import { NavigatorSearchView } from './views/search/NavigatorSearchView'; export const NavigatorView: FC<{}> = props => { - const [isVisible, setIsVisible] = useState(false); - const [isReady, setIsReady] = useState(false); - const [isCreatorOpen, setCreatorOpen] = useState(false); - const [isRoomInfoOpen, setRoomInfoOpen] = useState(false); - const [isRoomLinkOpen, setRoomLinkOpen] = useState(false); - const [isLoading, setIsLoading] = useState(false); - const [needsInit, setNeedsInit] = useState(true); - const [needsSearch, setNeedsSearch] = useState(false); + const [ isVisible, setIsVisible ] = useState(false); + const [ isReady, setIsReady ] = useState(false); + const [ isCreatorOpen, setCreatorOpen ] = useState(false); + const [ isRoomInfoOpen, setRoomInfoOpen ] = useState(false); + const [ isRoomLinkOpen, setRoomLinkOpen ] = useState(false); + const [ isLoading, setIsLoading ] = useState(false); + const [ needsInit, setNeedsInit ] = useState(true); + const [ needsSearch, setNeedsSearch ] = useState(false); const { searchResult = null, topLevelContext = null, topLevelContexts = null, navigatorData = null } = useNavigator(); const pendingSearch = useRef<{ value: string, code: string }>(null); const elementRef = useRef(); @@ -69,7 +69,7 @@ export const NavigatorView: FC<{}> = props => if (!topLevelContext) return; sendSearch('', topLevelContext.code); - }, [isReady, searchResult, topLevelContext, sendSearch]); + }, [ isReady, searchResult, topLevelContext, sendSearch ]); useEffect(() => { @@ -152,7 +152,7 @@ export const NavigatorView: FC<{}> = props => AddLinkEventTracker(linkTracker); return () => RemoveLinkEventTracker(linkTracker); - }, [isVisible, navigatorData]); + }, [ isVisible, navigatorData ]); useEffect(() => { @@ -161,7 +161,7 @@ export const NavigatorView: FC<{}> = props => setIsLoading(false); if (elementRef && elementRef.current) elementRef.current.scrollTop = 0; - }, [searchResult]); + }, [ searchResult ]); useEffect(() => { @@ -170,14 +170,14 @@ export const NavigatorView: FC<{}> = props => reloadCurrentSearch(); setNeedsSearch(false); - }, [isVisible, isReady, needsSearch, reloadCurrentSearch]); + }, [ isVisible, isReady, needsSearch, reloadCurrentSearch ]); useEffect(() => { if (isReady || !topLevelContext) return; setIsReady(true); - }, [isReady, topLevelContext]); + }, [ isReady, topLevelContext ]); useEffect(() => { @@ -186,7 +186,7 @@ export const NavigatorView: FC<{}> = props => SendMessageComposer(new NavigatorInitComposer()); setNeedsInit(false); - }, [isVisible, needsInit]); + }, [ isVisible, needsInit ]); useEffect(() => { @@ -195,45 +195,45 @@ export const NavigatorView: FC<{}> = props => return ( <> - {isVisible && + { isVisible && setIsVisible(false)} /> + headerText={ LocalizeText(isCreatorOpen ? 'navigator.createroom.title' : 'navigator.title') } + onCloseClick={ event => setIsVisible(false) } /> - {topLevelContexts && (topLevelContexts.length > 0) && topLevelContexts.map((context, index) => + { topLevelContexts && (topLevelContexts.length > 0) && topLevelContexts.map((context, index) => { return ( sendSearch('', context.code)}> - {LocalizeText(('navigator.toplevelview.' + context.code))} + key={ index } + isActive={ ((topLevelContext === context) && !isCreatorOpen) } + onClick={ event => sendSearch('', context.code) }> + { LocalizeText(('navigator.toplevelview.' + context.code)) } ); - })} + }) } setCreatorOpen(true)}> + isActive={ isCreatorOpen } + onClick={ event => setCreatorOpen(true) }> - - {!isCreatorOpen && + + { !isCreatorOpen && <> - -
- {(searchResult && searchResult.results.map((result, index) => ))} + +
+ { (searchResult && searchResult.results.map((result, index) => )) }
- } - {isCreatorOpen && } + } + { isCreatorOpen && } - } + } - {isRoomInfoOpen && setRoomInfoOpen(false)} />} - {isRoomLinkOpen && setRoomLinkOpen(false)} />} + { isRoomInfoOpen && setRoomInfoOpen(false) } /> } + { isRoomLinkOpen && setRoomLinkOpen(false) } /> } ); diff --git a/src/components/navigator/views/NavigatorDoorStateView.tsx b/src/components/navigator/views/NavigatorDoorStateView.tsx index 2dda4819..132dd060 100644 --- a/src/components/navigator/views/NavigatorDoorStateView.tsx +++ b/src/components/navigator/views/NavigatorDoorStateView.tsx @@ -2,14 +2,15 @@ import { FC, useEffect, useState } from 'react'; import { CreateRoomSession, DoorStateType, GoToDesktop, LocalizeText } from '../../../api'; import { Button, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../common'; import { useNavigator } from '../../../hooks'; +import { NitroInput } from '../../../layout'; -const VISIBLE_STATES = [DoorStateType.START_DOORBELL, DoorStateType.STATE_WAITING, DoorStateType.STATE_NO_ANSWER, DoorStateType.START_PASSWORD, DoorStateType.STATE_WRONG_PASSWORD]; -const DOORBELL_STATES = [DoorStateType.START_DOORBELL, DoorStateType.STATE_WAITING, DoorStateType.STATE_NO_ANSWER]; -const PASSWORD_STATES = [DoorStateType.START_PASSWORD, DoorStateType.STATE_WRONG_PASSWORD]; +const VISIBLE_STATES = [ DoorStateType.START_DOORBELL, DoorStateType.STATE_WAITING, DoorStateType.STATE_NO_ANSWER, DoorStateType.START_PASSWORD, DoorStateType.STATE_WRONG_PASSWORD ]; +const DOORBELL_STATES = [ DoorStateType.START_DOORBELL, DoorStateType.STATE_WAITING, DoorStateType.STATE_NO_ANSWER ]; +const PASSWORD_STATES = [ DoorStateType.START_PASSWORD, DoorStateType.STATE_WRONG_PASSWORD ]; export const NavigatorDoorStateView: FC<{}> = props => { - const [password, setPassword] = useState(''); + const [ password, setPassword ] = useState(''); const { doorData = null, setDoorData = null } = useNavigator(); const onClose = () => @@ -56,7 +57,7 @@ export const NavigatorDoorStateView: FC<{}> = props => if (!doorData || (doorData.state !== DoorStateType.STATE_NO_ANSWER)) return; GoToDesktop(); - }, [doorData]); + }, [ doorData ]); if (!doorData || (doorData.state === DoorStateType.NONE) || (VISIBLE_STATES.indexOf(doorData.state) === -1)) return null; @@ -64,46 +65,46 @@ export const NavigatorDoorStateView: FC<{}> = props => return ( - +
- {doorData && doorData.roomInfo && doorData.roomInfo.roomName} - {(doorData.state === DoorStateType.START_DOORBELL) && - {LocalizeText('navigator.doorbell.info')}} - {(doorData.state === DoorStateType.STATE_WAITING) && - {LocalizeText('navigator.doorbell.waiting')}} - {(doorData.state === DoorStateType.STATE_NO_ANSWER) && - {LocalizeText('navigator.doorbell.no.answer')}} - {(doorData.state === DoorStateType.START_PASSWORD) && - {LocalizeText('navigator.password.info')}} - {(doorData.state === DoorStateType.STATE_WRONG_PASSWORD) && - {LocalizeText('navigator.password.retryinfo')}} + { doorData && doorData.roomInfo && doorData.roomInfo.roomName } + { (doorData.state === DoorStateType.START_DOORBELL) && + { LocalizeText('navigator.doorbell.info') } } + { (doorData.state === DoorStateType.STATE_WAITING) && + { LocalizeText('navigator.doorbell.waiting') } } + { (doorData.state === DoorStateType.STATE_NO_ANSWER) && + { LocalizeText('navigator.doorbell.no.answer') } } + { (doorData.state === DoorStateType.START_PASSWORD) && + { LocalizeText('navigator.password.info') } } + { (doorData.state === DoorStateType.STATE_WRONG_PASSWORD) && + { LocalizeText('navigator.password.retryinfo') } }
- {isDoorbell && + { isDoorbell &&
- {(doorData.state === DoorStateType.START_DOORBELL) && - } - } + -
} - {!isDoorbell && +
} + { !isDoorbell && <>
- {LocalizeText('navigator.password.enter')} - setPassword(event.target.value)} /> + { LocalizeText('navigator.password.enter') } + setPassword(event.target.value) } />
- -
- } + } ); diff --git a/src/components/navigator/views/NavigatorRoomCreatorView.tsx b/src/components/navigator/views/NavigatorRoomCreatorView.tsx index 11347176..3d500eca 100644 --- a/src/components/navigator/views/NavigatorRoomCreatorView.tsx +++ b/src/components/navigator/views/NavigatorRoomCreatorView.tsx @@ -8,19 +8,19 @@ import { NitroInput } from '../../../layout'; export const NavigatorRoomCreatorView: FC<{}> = props => { - const [maxVisitorsList, setMaxVisitorsList] = useState(null); - const [name, setName] = useState(null); - const [description, setDescription] = useState(null); - const [category, setCategory] = useState(null); - const [visitorsCount, setVisitorsCount] = useState(null); - const [tradesSetting, setTradesSetting] = useState(0); - const [roomModels, setRoomModels] = useState([]); - const [selectedModelName, setSelectedModelName] = useState(''); + const [ maxVisitorsList, setMaxVisitorsList ] = useState(null); + const [ name, setName ] = useState(null); + const [ description, setDescription ] = useState(null); + const [ category, setCategory ] = useState(null); + const [ visitorsCount, setVisitorsCount ] = useState(null); + const [ tradesSetting, setTradesSetting ] = useState(0); + const [ roomModels, setRoomModels ] = useState([]); + const [ selectedModelName, setSelectedModelName ] = useState(''); const { categories = null } = useNavigator(); const hcDisabled = GetConfigurationValue('hc.disabled', false); - const getRoomModelImage = (name: string) => GetConfigurationValue('images.url') + `/navigator/models/model_${name}.png`; + const getRoomModelImage = (name: string) => GetConfigurationValue('images.url') + `/navigator/models/model_${ name }.png`; const selectModel = (model: IRoomModel, index: number) => { @@ -45,12 +45,12 @@ export const NavigatorRoomCreatorView: FC<{}> = props => setMaxVisitorsList(list); setVisitorsCount(list[0]); } - }, [maxVisitorsList]); + }, [ maxVisitorsList ]); useEffect(() => { if (categories && categories.length) setCategory(categories[0].id); - }, [categories]); + }, [ categories ]); useEffect(() => { @@ -68,37 +68,37 @@ export const NavigatorRoomCreatorView: FC<{}> = props =>
- {LocalizeText('navigator.createroom.roomnameinfo')} - setName(event.target.value)} /> + { LocalizeText('navigator.createroom.roomnameinfo') } + setName(event.target.value) } />
- {LocalizeText('navigator.createroom.roomdescinfo')} - +
diff --git a/src/components/room/widgets/furniture/FurnitureStickieView.tsx b/src/components/room/widgets/furniture/FurnitureStickieView.tsx index a9a025d3..3090c401 100644 --- a/src/components/room/widgets/furniture/FurnitureStickieView.tsx +++ b/src/components/room/widgets/furniture/FurnitureStickieView.tsx @@ -3,10 +3,10 @@ import { ColorUtils } from '../../../../api'; import { DraggableWindow, DraggableWindowPosition } from '../../../../common'; import { useFurnitureStickieWidget } from '../../../../hooks'; -const STICKIE_COLORS = ['9CCEFF', 'FF9CFF', '9CFF9C', 'FFFF33']; -const STICKIE_COLOR_NAMES = ['blue', 'pink', 'green', 'yellow']; -const STICKIE_TYPES = ['post_it', 'post_it_shakesp', 'post_it_dreams', 'post_it_xmas', 'post_it_vd', 'post_it_juninas']; -const STICKIE_TYPE_NAMES = ['post_it', 'shakesp', 'dreams', 'christmas', 'heart', 'juninas']; +const STICKIE_COLORS = [ '9CCEFF', 'FF9CFF', '9CFF9C', 'FFFF33' ]; +const STICKIE_COLOR_NAMES = [ 'blue', 'pink', 'green', 'yellow' ]; +const STICKIE_TYPES = [ 'post_it', 'post_it_shakesp', 'post_it_dreams', 'post_it_xmas', 'post_it_vd', 'post_it_juninas' ]; +const STICKIE_TYPE_NAMES = [ 'post_it', 'shakesp', 'dreams', 'christmas', 'heart', 'juninas' ]; const getStickieColorName = (color: string) => { @@ -29,36 +29,36 @@ const getStickieTypeName = (type: string) => export const FurnitureStickieView: FC<{}> = props => { const { objectId = -1, color = '0', text = '', type = '', canModify = false, updateColor = null, updateText = null, trash = null, onClose = null } = useFurnitureStickieWidget(); - const [isEditing, setIsEditing] = useState(false); + const [ isEditing, setIsEditing ] = useState(false); useEffect(() => { setIsEditing(false); - }, [objectId, color, text, type]); + }, [ objectId, color, text, type ]); if (objectId === -1) return null; return ( - -
+ +
- {canModify && + { canModify && <> -
- {type == 'post_it' && +
+ { type == 'post_it' && <> - {STICKIE_COLORS.map(color => + { STICKIE_COLORS.map(color => { - return
updateColor(color)} /> - })} - } - } + return
updateColor(color) } /> + }) } + } + }
-
+
- {(!isEditing || !canModify) ?
(canModify && setIsEditing(true))}>{text}
: } + { (!isEditing || !canModify) ?
(canModify && setIsEditing(true)) }>{ text }
: }
diff --git a/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx b/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx index 99269bca..83fdd4f4 100644 --- a/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx +++ b/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx @@ -12,7 +12,7 @@ interface FurnitureYoutubeDisplayViewProps extends AutoGridProps export const FurnitureYoutubeDisplayView: FC<{}> = FurnitureYoutubeDisplayViewProps => { - const [player, setPlayer] = useState(null); + const [ player, setPlayer ] = useState(null); const { objectId = -1, videoId = null, videoStart = 0, videoEnd = 0, currentVideoState = null, selectedVideo = null, playlists = [], onClose = null, previous = null, next = null, pause = null, play = null, selectVideo = null } = useFurnitureYoutubeWidget(); const onStateChange = (event: { target: YouTubePlayer; data: number }) => @@ -54,7 +54,7 @@ export const FurnitureYoutubeDisplayView: FC<{}> = FurnitureYoutubeDisplayViewPr return; } - }, [currentVideoState, player]); + }, [ currentVideoState, player ]); if (objectId === -1) return null; @@ -74,32 +74,32 @@ export const FurnitureYoutubeDisplayView: FC<{}> = FurnitureYoutubeDisplayViewPr return ( - +
- {(videoId && videoId.length > 0) && - setPlayer(event.target)} onStateChange={onStateChange} /> + { (videoId && videoId.length > 0) && + setPlayer(event.target) } onStateChange={ onStateChange } /> } - {(!videoId || videoId.length === 0) && -
{LocalizeText('widget.furni.video_viewer.no_videos')}
+ { (!videoId || videoId.length === 0) && +
{ LocalizeText('widget.furni.video_viewer.no_videos') }
}
- - + + -
{LocalizeText('widget.furni.video_viewer.playlists')}
- - {playlists && playlists.map((entry, index) => +
{ LocalizeText('widget.furni.video_viewer.playlists') }
+ + { playlists && playlists.map((entry, index) => { return ( - selectVideo(entry.video)}> - {entry.title} + selectVideo(entry.video) }> + { entry.title } ) - })} + }) }
diff --git a/src/components/room/widgets/furniture/context-menu/EffectBoxConfirmView.tsx b/src/components/room/widgets/furniture/context-menu/EffectBoxConfirmView.tsx index 85fde3bb..3b0144b4 100644 --- a/src/components/room/widgets/furniture/context-menu/EffectBoxConfirmView.tsx +++ b/src/components/room/widgets/furniture/context-menu/EffectBoxConfirmView.tsx @@ -23,14 +23,14 @@ export const EffectBoxConfirmView: FC = props => return ( - +
- {LocalizeText('effectbox.header.description')} + { LocalizeText('effectbox.header.description') }
- - + +
diff --git a/src/components/room/widgets/furniture/context-menu/MonsterPlantSeedConfirmView.tsx b/src/components/room/widgets/furniture/context-menu/MonsterPlantSeedConfirmView.tsx index ea58d8c4..0ec44e96 100644 --- a/src/components/room/widgets/furniture/context-menu/MonsterPlantSeedConfirmView.tsx +++ b/src/components/room/widgets/furniture/context-menu/MonsterPlantSeedConfirmView.tsx @@ -16,8 +16,8 @@ const MODE_MONSTERPLANT_SEED: number = 0; export const MonsterPlantSeedConfirmView: FC = props => { const { objectId = -1, onClose = null } = props; - const [furniData, setFurniData] = useState(null); - const [mode, setMode] = useState(MODE_DEFAULT); + const [ furniData, setFurniData ] = useState(null); + const [ mode, setMode ] = useState(MODE_DEFAULT); const { roomSession = null } = useRoom(); const useProduct = () => @@ -54,13 +54,13 @@ export const MonsterPlantSeedConfirmView: FC = } setMode(mode); - }, [roomSession, objectId, onClose]); + }, [ roomSession, objectId, onClose ]); if (mode === MODE_DEFAULT) return null; return ( - +
@@ -69,13 +69,13 @@ export const MonsterPlantSeedConfirmView: FC =
- - {LocalizeText('useproduct.widget.text.plant_seed', ['productName'], [furniData.name])} - {LocalizeText('useproduct.widget.info.plant_seed')} + + { LocalizeText('useproduct.widget.text.plant_seed', [ 'productName' ], [ furniData.name ]) } + { LocalizeText('useproduct.widget.info.plant_seed') }
- - + +
diff --git a/src/components/room/widgets/furniture/context-menu/PurchasableClothingConfirmView.tsx b/src/components/room/widgets/furniture/context-menu/PurchasableClothingConfirmView.tsx index 7369b850..91cda14e 100644 --- a/src/components/room/widgets/furniture/context-menu/PurchasableClothingConfirmView.tsx +++ b/src/components/room/widgets/furniture/context-menu/PurchasableClothingConfirmView.tsx @@ -16,9 +16,9 @@ const MODE_PURCHASABLE_CLOTHING: number = 0; export const PurchasableClothingConfirmView: FC = props => { const { objectId = -1, onClose = null } = props; - const [mode, setMode] = useState(MODE_DEFAULT); - const [gender, setGender] = useState(AvatarFigurePartType.MALE); - const [newFigure, setNewFigure] = useState(null); + const [ mode, setMode ] = useState(MODE_DEFAULT); + const [ gender, setGender ] = useState(AvatarFigurePartType.MALE); + const [ newFigure, setNewFigure ] = useState(null); const { roomSession = null } = useRoom(); const useProduct = () => @@ -73,28 +73,28 @@ export const PurchasableClothingConfirmView: FC - +
- +
- - {LocalizeText('useproduct.widget.text.bind_clothing')} - {LocalizeText('useproduct.widget.info.bind_clothing')} + + { LocalizeText('useproduct.widget.text.bind_clothing') } + { LocalizeText('useproduct.widget.info.bind_clothing') }
- - + +
diff --git a/src/components/room/widgets/furniture/playlist-editor/DiskInventoryView.tsx b/src/components/room/widgets/furniture/playlist-editor/DiskInventoryView.tsx index 7677e3e6..e900419e 100644 --- a/src/components/room/widgets/furniture/playlist-editor/DiskInventoryView.tsx +++ b/src/components/room/widgets/furniture/playlist-editor/DiskInventoryView.tsx @@ -12,8 +12,8 @@ export interface DiskInventoryViewProps export const DiskInventoryView: FC = props => { const { diskInventory = null, addToPlaylist = null } = props; - const [selectedItem, setSelectedItem] = useState(-1); - const [previewSongId, setPreviewSongId] = useState(-1); + const [ selectedItem, setSelectedItem ] = useState(-1); + const [ previewSongId, setPreviewSongId ] = useState(-1); const previewSong = useCallback((event: MouseEvent, songId: number) => { @@ -27,7 +27,7 @@ export const DiskInventoryView: FC = props => event.stopPropagation(); addToPlaylist(diskId, GetSoundManager().musicController?.getRoomItemPlaylist()?.length) - }, [addToPlaylist]); + }, [ addToPlaylist ]); const openCatalogPage = () => { @@ -44,7 +44,7 @@ export const DiskInventoryView: FC = props => { GetSoundManager().musicController?.stop(MusicPriorities.PRIORITY_SONG_PLAY); } - }, [previewSongId]); + }, [ previewSongId ]); useEffect(() => { @@ -53,42 +53,42 @@ export const DiskInventoryView: FC = props => return (<>
- -

{LocalizeText('playlist.editor.my.music')}

+ +

{ LocalizeText('playlist.editor.my.music') }

- - {diskInventory && diskInventory.getKeys().map((key, index) => + + { diskInventory && diskInventory.getKeys().map((key, index) => { const diskId = diskInventory.getKey(index); const songId = diskInventory.getWithIndex(index); const songInfo = GetSoundManager().musicController?.getSongInfo(songId); return ( - setSelectedItem(prev => prev === index ? -1 : index)}> -
+ setSelectedItem(prev => prev === index ? -1 : index) }> +
- {songInfo?.name} - {(selectedItem === index) && - - - }
) - })} + }) }
-
{LocalizeText('playlist.editor.text.get.more.music')}
-
{LocalizeText('playlist.editor.text.you.have.no.songdisks.available')}
-
{LocalizeText('playlist.editor.text.you.can.buy.some.from.the.catalogue')}
- +
{ LocalizeText('playlist.editor.text.get.more.music') }
+
{ LocalizeText('playlist.editor.text.you.have.no.songdisks.available') }
+
{ LocalizeText('playlist.editor.text.you.can.buy.some.from.the.catalogue') }
+
- + ); } diff --git a/src/components/room/widgets/furniture/playlist-editor/FurniturePlaylistEditorWidgetView.tsx b/src/components/room/widgets/furniture/playlist-editor/FurniturePlaylistEditorWidgetView.tsx index 51dfa66f..1f29888e 100644 --- a/src/components/room/widgets/furniture/playlist-editor/FurniturePlaylistEditorWidgetView.tsx +++ b/src/components/room/widgets/furniture/playlist-editor/FurniturePlaylistEditorWidgetView.tsx @@ -13,14 +13,14 @@ export const FurniturePlaylistEditorWidgetView: FC<{}> = props => return ( - +
- +
- +
diff --git a/src/components/room/widgets/furniture/playlist-editor/SongPlaylistView.tsx b/src/components/room/widgets/furniture/playlist-editor/SongPlaylistView.tsx index 477f93f3..3a499426 100644 --- a/src/components/room/widgets/furniture/playlist-editor/SongPlaylistView.tsx +++ b/src/components/room/widgets/furniture/playlist-editor/SongPlaylistView.tsx @@ -15,7 +15,7 @@ export interface SongPlaylistViewProps export const SongPlaylistView: FC = props => { const { furniId = -1, playlist = null, currentPlayingIndex = -1, removeFromPlaylist = null, togglePlayPause = null } = props; - const [selectedItem, setSelectedItem] = useState(-1); + const [ selectedItem, setSelectedItem ] = useState(-1); const action = (index: number) => { @@ -29,44 +29,44 @@ export const SongPlaylistView: FC = props => return (<>
- -

{LocalizeText('playlist.editor.playlist')}

+ +

{ LocalizeText('playlist.editor.playlist') }

- {playlist && playlist.map((songInfo, index) => + { playlist && playlist.map((songInfo, index) => { - return
setSelectedItem(prev => prev === index ? -1 : index)}> -
action(index)} /> - {songInfo.name} + return
setSelectedItem(prev => prev === index ? -1 : index) }> +
action(index) } /> + { songInfo.name }
- })} + }) }
- {(!playlist || playlist.length === 0) && + { (!playlist || playlist.length === 0) && <>
-
{LocalizeText('playlist.editor.add.songs.to.your.playlist')}
-
{LocalizeText('playlist.editor.text.click.song.to.choose.click.again.to.move')}
+
{ LocalizeText('playlist.editor.add.songs.to.your.playlist') }
+
{ LocalizeText('playlist.editor.text.click.song.to.choose.click.again.to.move') }
- + } - {(playlist && playlist.length > 0) && + { (playlist && playlist.length > 0) && <> - {(currentPlayingIndex === -1) && - } - {(currentPlayingIndex !== -1) && + { (currentPlayingIndex !== -1) &&
-
- {LocalizeText('playlist.editor.text.now.playing.in.your.room')} + { LocalizeText('playlist.editor.text.now.playing.in.your.room') } - {playlist[currentPlayingIndex]?.name + ' - ' + playlist[currentPlayingIndex]?.creator} + { playlist[currentPlayingIndex]?.name + ' - ' + playlist[currentPlayingIndex]?.creator }
diff --git a/src/components/room/widgets/mysterybox/MysteryBoxExtensionView.tsx b/src/components/room/widgets/mysterybox/MysteryBoxExtensionView.tsx index fcfdc6db..1afceac9 100644 --- a/src/components/room/widgets/mysterybox/MysteryBoxExtensionView.tsx +++ b/src/components/room/widgets/mysterybox/MysteryBoxExtensionView.tsx @@ -18,9 +18,9 @@ const colorMap = { export const MysteryBoxExtensionView: FC<{}> = props => { - const [isOpen, setIsOpen] = useState(true); - const [keyColor, setKeyColor] = useState(''); - const [boxColor, setBoxColor] = useState(''); + const [ isOpen, setIsOpen ] = useState(true); + const [ keyColor, setKeyColor ] = useState(''); + const [ boxColor, setBoxColor ] = useState(''); useNitroEvent(MysteryBoxKeysUpdateEvent.MYSTERY_BOX_KEYS_UPDATE, event => { @@ -40,27 +40,27 @@ export const MysteryBoxExtensionView: FC<{}> = props => return (
- setIsOpen(value => !value)}> - {LocalizeText('mysterybox.tracker.title')} - {isOpen && } - {!isOpen && } + setIsOpen(value => !value) }> + { LocalizeText('mysterybox.tracker.title') } + { isOpen && } + { !isOpen && } - {isOpen && + { isOpen && <> - {LocalizeText('mysterybox.tracker.description')} + { LocalizeText('mysterybox.tracker.description') }
-
+
-
+
- } + }
); diff --git a/src/components/room/widgets/pet-package/PetPackageWidgetView.tsx b/src/components/room/widgets/pet-package/PetPackageWidgetView.tsx index a5c08450..fbe92776 100644 --- a/src/components/room/widgets/pet-package/PetPackageWidgetView.tsx +++ b/src/components/room/widgets/pet-package/PetPackageWidgetView.tsx @@ -9,27 +9,27 @@ export const PetPackageWidgetView: FC<{}> = props => return ( <> - {isVisible && + { isVisible && - onClose()} /> + onClose() } />
-
+
- {objectType === 'gnome_box' ? LocalizeText('widgets.gnomepackage.name.title') : LocalizeText('furni.petpackage')} + { objectType === 'gnome_box' ? LocalizeText('widgets.gnomepackage.name.title') : LocalizeText('furni.petpackage') }
- onChangePetName(event.target.value)} /> + onChangePetName(event.target.value) } />
- {(errorResult.length > 0) && -
{errorResult}
} + { (errorResult.length > 0) && +
{ errorResult }
}
- onClose()}>{LocalizeText('cancel')} - + onClose() }>{ LocalizeText('cancel') } +
diff --git a/src/components/room/widgets/room-filter-words/RoomFilterWordsWidgetView.tsx b/src/components/room/widgets/room-filter-words/RoomFilterWordsWidgetView.tsx index 4b772375..1e7c859a 100644 --- a/src/components/room/widgets/room-filter-words/RoomFilterWordsWidgetView.tsx +++ b/src/components/room/widgets/room-filter-words/RoomFilterWordsWidgetView.tsx @@ -7,9 +7,9 @@ import { NitroInput, classNames } from '../../../../layout'; export const RoomFilterWordsWidgetView: FC<{}> = props => { - const [word, setWord] = useState('bobba'); - const [selectedWord, setSelectedWord] = useState(''); - const [isSelectingWord, setIsSelectingWord] = useState(false); + const [ word, setWord ] = useState('bobba'); + const [ selectedWord, setSelectedWord ] = useState(''); + const [ isSelectingWord, setIsSelectingWord ] = useState(false); const { wordsFilter = [], isVisible = null, setWordsFilter, onClose = null } = useFilterWordsWidget(); const { navigatorData = null } = useNavigator(); @@ -26,7 +26,7 @@ export const RoomFilterWordsWidgetView: FC<{}> = props => setWordsFilter(prevValue => { - const newWords = [...prevValue]; + const newWords = [ ...prevValue ]; isAddingWord ? newWords.push((isSelectingWord ? selectedWord : word)) : newWords.splice(newWords.indexOf((isSelectingWord ? selectedWord : word)), 1); @@ -50,24 +50,24 @@ export const RoomFilterWordsWidgetView: FC<{}> = props => return ( - onClose()} /> + onClose() } /> - onTyping(event.target.value)} /> - + onTyping(event.target.value) } /> + - - {wordsFilter && (wordsFilter.length > 0) && wordsFilter.map((word, index) => + + { wordsFilter && (wordsFilter.length > 0) && wordsFilter.map((word, index) => { return ( - onSelectedWord(word)}> - {word} + onSelectedWord(word) }> + { word } ) - })} + }) } - + diff --git a/src/components/room/widgets/room-promotes/RoomPromotesWidgetView.tsx b/src/components/room/widgets/room-promotes/RoomPromotesWidgetView.tsx index fef64bfa..29315777 100644 --- a/src/components/room/widgets/room-promotes/RoomPromotesWidgetView.tsx +++ b/src/components/room/widgets/room-promotes/RoomPromotesWidgetView.tsx @@ -7,8 +7,8 @@ import { RoomPromoteEditWidgetView, RoomPromoteMyOwnEventWidgetView, RoomPromote export const RoomPromotesWidgetView: FC<{}> = props => { - const [isEditingPromote, setIsEditingPromote] = useState(false); - const [isOpen, setIsOpen] = useState(true); + const [ isEditingPromote, setIsEditingPromote ] = useState(false); + const [ isOpen, setIsOpen ] = useState(true); const { promoteInformation, setPromoteInformation } = useRoomPromote(); useMessageEvent(DesktopViewEvent, event => @@ -20,31 +20,31 @@ export const RoomPromotesWidgetView: FC<{}> = props => return ( <> - {promoteInformation.data.adId !== -1 && + { promoteInformation.data.adId !== -1 &&
- setIsOpen(value => !value)}> - {promoteInformation.data.eventName} - {isOpen && } - {!isOpen && } + setIsOpen(value => !value) }> + { promoteInformation.data.eventName } + { isOpen && } + { !isOpen && } - {(isOpen && GetSessionDataManager().userId !== promoteInformation.data.ownerAvatarId) && + { (isOpen && GetSessionDataManager().userId !== promoteInformation.data.ownerAvatarId) && } - {(isOpen && GetSessionDataManager().userId === promoteInformation.data.ownerAvatarId) && + { (isOpen && GetSessionDataManager().userId === promoteInformation.data.ownerAvatarId) && setIsEditingPromote(true)} + eventDescription={ promoteInformation.data.eventDescription } + setIsEditingPromote={ () => setIsEditingPromote(true) } /> } - {isEditingPromote && + { isEditingPromote && setIsEditingPromote(false)} + eventDescription={ promoteInformation.data.eventDescription } + eventId={ promoteInformation.data.adId } + eventName={ promoteInformation.data.eventName } + setIsEditingPromote={ () => setIsEditingPromote(false) } /> }
diff --git a/src/components/room/widgets/room-promotes/views/RoomPromoteEditWidgetView.tsx b/src/components/room/widgets/room-promotes/views/RoomPromoteEditWidgetView.tsx index 28dec732..8b29ed59 100644 --- a/src/components/room/widgets/room-promotes/views/RoomPromoteEditWidgetView.tsx +++ b/src/components/room/widgets/room-promotes/views/RoomPromoteEditWidgetView.tsx @@ -15,8 +15,8 @@ interface RoomPromoteEditWidgetViewProps export const RoomPromoteEditWidgetView: FC = props => { const { eventId = -1, eventName = '', eventDescription = '', setIsEditingPromote = null } = props; - const [newEventName, setNewEventName] = useState(eventName); - const [newEventDescription, setNewEventDescription] = useState(eventDescription); + const [ newEventName, setNewEventName ] = useState(eventName); + const [ newEventDescription, setNewEventDescription ] = useState(eventDescription); const updatePromote = () => { @@ -26,18 +26,18 @@ export const RoomPromoteEditWidgetView: FC = pro return ( - setIsEditingPromote(false)} /> + setIsEditingPromote(false) } />
- {LocalizeText('navigator.eventsettings.name')} - setNewEventName(event.target.value)} /> + { LocalizeText('navigator.eventsettings.name') } + setNewEventName(event.target.value) } />
- {LocalizeText('navigator.eventsettings.desc')} - + { LocalizeText('navigator.eventsettings.desc') } +
- +
diff --git a/src/components/room/widgets/room-promotes/views/RoomPromoteMyOwnEventWidgetView.tsx b/src/components/room/widgets/room-promotes/views/RoomPromoteMyOwnEventWidgetView.tsx index bd0f7eb3..10a82131 100644 --- a/src/components/room/widgets/room-promotes/views/RoomPromoteMyOwnEventWidgetView.tsx +++ b/src/components/room/widgets/room-promotes/views/RoomPromoteMyOwnEventWidgetView.tsx @@ -23,13 +23,13 @@ export const RoomPromoteMyOwnEventWidgetView: FC - - {eventDescription} + + { eventDescription }

- - + + ); diff --git a/src/components/room/widgets/room-promotes/views/RoomPromoteOtherEventWidgetView.tsx b/src/components/room/widgets/room-promotes/views/RoomPromoteOtherEventWidgetView.tsx index a285efda..3a3ed08a 100644 --- a/src/components/room/widgets/room-promotes/views/RoomPromoteOtherEventWidgetView.tsx +++ b/src/components/room/widgets/room-promotes/views/RoomPromoteOtherEventWidgetView.tsx @@ -13,14 +13,14 @@ export const RoomPromoteOtherEventWidgetView: FC - - {eventDescription} + + { eventDescription }

- +
- {LocalizeText('navigator.eventinprogress')} + { LocalizeText('navigator.eventinprogress') }
 
diff --git a/src/components/room/widgets/room-tools/RoomToolsWidgetView.tsx b/src/components/room/widgets/room-tools/RoomToolsWidgetView.tsx index aaa9a57d..e16da960 100644 --- a/src/components/room/widgets/room-tools/RoomToolsWidgetView.tsx +++ b/src/components/room/widgets/room-tools/RoomToolsWidgetView.tsx @@ -7,11 +7,11 @@ import { classNames } from '../../../../layout'; export const RoomToolsWidgetView: FC<{}> = props => { - const [isZoomedIn, setIsZoomedIn] = useState(false); - const [roomName, setRoomName] = useState(null); - const [roomOwner, setRoomOwner] = useState(null); - const [roomTags, setRoomTags] = useState(null); - const [isOpen, setIsOpen] = useState(false); + const [ isZoomedIn, setIsZoomedIn ] = useState(false); + const [ roomName, setRoomName ] = useState(null); + const [ roomOwner, setRoomOwner ] = useState(null); + const [ roomTags, setRoomTags ] = useState(null); + const [ isOpen, setIsOpen ] = useState(false); const { navigatorData = null } = useNavigator(); const { roomSession = null } = useRoom(); @@ -45,8 +45,8 @@ export const RoomToolsWidgetView: FC<{}> = props => CreateLinkEvent('navigator/toggle-room-link'); return; case 'navigator_search_tag': - CreateLinkEvent(`navigator/search/${value}`); - SendMessageComposer(new NavigatorSearchComposer('hotel_view', `tag:${value}`)); + CreateLinkEvent(`navigator/search/${ value }`); + SendMessageComposer(new NavigatorSearchComposer('hotel_view', `tag:${ value }`)); return; } } @@ -69,29 +69,29 @@ export const RoomToolsWidgetView: FC<{}> = props => const timeout = setTimeout(() => setIsOpen(false), 5000); return () => clearTimeout(timeout); - }, [roomName, roomOwner, roomTags]); + }, [ roomName, roomOwner, roomTags ]); return (
-
handleToolClick('settings')} /> -
handleToolClick('zoom')} /> -
handleToolClick('chat_history')} /> - {navigatorData.canRate && -
handleToolClick('like_room')} />} +
handleToolClick('settings') } /> +
handleToolClick('zoom') } /> +
handleToolClick('chat_history') } /> + { navigatorData.canRate && +
handleToolClick('like_room') } /> }
- +
- {roomName} - {roomOwner} + { roomName } + { roomOwner }
- {roomTags && roomTags.length > 0 && + { roomTags && roomTags.length > 0 &&
- {roomTags.map((tag, index) => handleToolClick('navigator_search_tag', tag)}>#{tag})} -
} + { roomTags.map((tag, index) => handleToolClick('navigator_search_tag', tag) }>#{ tag }) } +
}
diff --git a/src/components/room/widgets/word-quiz/WordQuizQuestionView.tsx b/src/components/room/widgets/word-quiz/WordQuizQuestionView.tsx index a51372b2..a8250802 100644 --- a/src/components/room/widgets/word-quiz/WordQuizQuestionView.tsx +++ b/src/components/room/widgets/word-quiz/WordQuizQuestionView.tsx @@ -16,29 +16,29 @@ export const WordQuizQuestionView: FC = props => const { question = null, canVote = null, vote = null, noVotes = null, yesVotes = null } = props; return ( - - {!canVote && + + { !canVote &&
- {noVotes} + { noVotes }
- {question} + { question }
- {yesVotes} + { yesVotes }
-
} - {canVote && +
} + { canVote &&
- {question} + { question }
- vote(VALUE_KEY_DISLIKE)}> + vote(VALUE_KEY_DISLIKE) }>
- vote(VALUE_KEY_LIKE)}> + vote(VALUE_KEY_LIKE) }>
-
} +
} ); } diff --git a/src/components/toolbar/ToolbarItemView.tsx b/src/components/toolbar/ToolbarItemView.tsx index e94f9062..3a0822a2 100644 --- a/src/components/toolbar/ToolbarItemView.tsx +++ b/src/components/toolbar/ToolbarItemView.tsx @@ -9,13 +9,13 @@ export const ToolbarItemView = forwardRef + ) } + { ...rest } /> ); }); diff --git a/src/components/toolbar/ToolbarMeView.tsx b/src/components/toolbar/ToolbarMeView.tsx index 5765af79..9acf9dbc 100644 --- a/src/components/toolbar/ToolbarMeView.tsx +++ b/src/components/toolbar/ToolbarMeView.tsx @@ -32,21 +32,21 @@ export const ToolbarMeView: FC> = props => document.addEventListener('click', onClick); return () => document.removeEventListener(MouseEventType.MOUSE_CLICK, onClick); - }, [setMeExpanded]); + }, [ setMeExpanded ]); return ( - - {(GetConfigurationValue('guides.enabled') && useGuideTool) && -
DispatchUiEvent(new GuideToolEvent(GuideToolEvent.TOGGLE_GUIDE_TOOL))} />} -
CreateLinkEvent('achievements/toggle')}> - {(unseenAchievementCount > 0) && - } + + { (GetConfigurationValue('guides.enabled') && useGuideTool) && +
DispatchUiEvent(new GuideToolEvent(GuideToolEvent.TOGGLE_GUIDE_TOOL)) } /> } +
CreateLinkEvent('achievements/toggle') }> + { (unseenAchievementCount > 0) && + }
-
GetUserProfile(GetSessionDataManager().userId)} /> -
CreateLinkEvent('navigator/search/myworld_view')} /> -
CreateLinkEvent('avatar-editor/toggle')} /> -
CreateLinkEvent('user-settings/toggle')} /> - {children} +
GetUserProfile(GetSessionDataManager().userId) } /> +
CreateLinkEvent('navigator/search/myworld_view') } /> +
CreateLinkEvent('avatar-editor/toggle') } /> +
CreateLinkEvent('user-settings/toggle') } /> + { children } ); } diff --git a/src/components/toolbar/ToolbarView.tsx b/src/components/toolbar/ToolbarView.tsx index 681cbf3f..79e2ce13 100644 --- a/src/components/toolbar/ToolbarView.tsx +++ b/src/components/toolbar/ToolbarView.tsx @@ -9,8 +9,8 @@ import { ToolbarMeView } from './ToolbarMeView'; export const ToolbarView: FC<{ isInRoom: boolean }> = props => { const { isInRoom } = props; - const [isMeExpanded, setMeExpanded] = useState(false); - const [useGuideTool, setUseGuideTool] = useState(false); + const [ isMeExpanded, setMeExpanded ] = useState(false); + const [ useGuideTool, setUseGuideTool ] = useState(false); const { userFigure = null } = useSessionInfo(); const { getFullCount = 0 } = useInventoryUnseenTracker(); const { getTotalUnseen = 0 } = useAchievements(); @@ -47,7 +47,7 @@ export const ToolbarView: FC<{ isInRoom: boolean }> = props => const wait = (500 - Math.abs(((((1 / squared) * 100) * 500) * 0.5))); const height = 20; - const motionName = (`ToolbarBouncing[${iconName}]`); + const motionName = (`ToolbarBouncing[${ iconName }]`); if (!Motions.getMotionByTag(motionName)) { @@ -64,44 +64,44 @@ export const ToolbarView: FC<{ isInRoom: boolean }> = props => return ( <> - - + + - - - - setMeExpanded(!isMeExpanded)}> - - {(getTotalUnseen > 0) && - } + + + + setMeExpanded(!isMeExpanded) }> + + { (getTotalUnseen > 0) && + } - {isInRoom && - VisitDesktop()} />} - {!isInRoom && - CreateLinkEvent('navigator/goto/home')} />} - CreateLinkEvent('navigator/toggle')} /> - {GetConfigurationValue('game.center.enabled') && - CreateLinkEvent('games/toggle')} />} - CreateLinkEvent('catalog/toggle')} /> - CreateLinkEvent('inventory/toggle')}> - {(getFullCount > 0) && - } + { isInRoom && + VisitDesktop() } /> } + { !isInRoom && + CreateLinkEvent('navigator/goto/home') } /> } + CreateLinkEvent('navigator/toggle') } /> + { GetConfigurationValue('game.center.enabled') && + CreateLinkEvent('games/toggle') } /> } + CreateLinkEvent('catalog/toggle') } /> + CreateLinkEvent('inventory/toggle') }> + { (getFullCount > 0) && + } - {isInRoom && - CreateLinkEvent('camera/toggle')} />} - {isMod && - CreateLinkEvent('mod-tools/toggle')} />} + { isInRoom && + CreateLinkEvent('camera/toggle') } /> } + { isMod && + CreateLinkEvent('mod-tools/toggle') } /> } - - - CreateLinkEvent('friends/toggle')}> - {(requests.length > 0) && - } + + + CreateLinkEvent('friends/toggle') }> + { (requests.length > 0) && + } - {((iconState === MessengerIconState.SHOW) || (iconState === MessengerIconState.UNREAD)) && - OpenMessengerChat()} />} + { ((iconState === MessengerIconState.SHOW) || (iconState === MessengerIconState.UNREAD)) && + OpenMessengerChat() } /> }
diff --git a/src/components/user-profile/UserProfileView.tsx b/src/components/user-profile/UserProfileView.tsx index f5a4e597..0d5f4f70 100644 --- a/src/components/user-profile/UserProfileView.tsx +++ b/src/components/user-profile/UserProfileView.tsx @@ -10,9 +10,9 @@ import { UserContainerView } from './views/UserContainerView'; export const UserProfileView: FC<{}> = props => { - const [userProfile, setUserProfile] = useState(null); - const [userBadges, setUserBadges] = useState([]); - const [userRelationships, setUserRelationships] = useState(null); + const [ userProfile, setUserProfile ] = useState(null); + const [ userBadges, setUserBadges ] = useState([]); + const [ userRelationships, setUserRelationships ] = useState(null); const onClose = () => { @@ -95,27 +95,27 @@ export const UserProfileView: FC<{}> = props => return ( - + - - - - - + + + + + - - {userRelationships && - } + + { userRelationships && + } - CreateLinkEvent(`navigator/search/hotel_view/owner:${userProfile.username}`)}> + CreateLinkEvent(`navigator/search/hotel_view/owner:${ userProfile.username }`) }> - {LocalizeText('extendedprofile.rooms')} + { LocalizeText('extendedprofile.rooms') } - + ) diff --git a/src/components/user-profile/views/FriendsContainerView.tsx b/src/components/user-profile/views/FriendsContainerView.tsx index 9fb2c105..eb315622 100644 --- a/src/components/user-profile/views/FriendsContainerView.tsx +++ b/src/components/user-profile/views/FriendsContainerView.tsx @@ -17,11 +17,11 @@ export const FriendsContainerView: FC = props => return (
- {LocalizeText('extendedprofile.friends.count')} {friendsCount} + { LocalizeText('extendedprofile.friends.count') } { friendsCount } - {LocalizeText('extendedprofile.relstatus')} + { LocalizeText('extendedprofile.relstatus') }
- +
) diff --git a/src/components/user-profile/views/GroupsContainerView.tsx b/src/components/user-profile/views/GroupsContainerView.tsx index 53264161..dd4f08d4 100644 --- a/src/components/user-profile/views/GroupsContainerView.tsx +++ b/src/components/user-profile/views/GroupsContainerView.tsx @@ -15,8 +15,8 @@ interface GroupsContainerViewProps extends GridProps export const GroupsContainerView: FC = props => { const { itsMe = null, groups = null, onLeaveGroup = null, overflow = 'hidden', gap = 2, ...rest } = props; - const [selectedGroupId, setSelectedGroupId] = useState(null); - const [groupInformation, setGroupInformation] = useState(null); + const [ selectedGroupId, setSelectedGroupId ] = useState(null); + const [ groupInformation, setGroupInformation ] = useState(null); useMessageEvent(GroupInformationEvent, event => { @@ -32,7 +32,7 @@ export const GroupsContainerView: FC = props => if (!selectedGroupId) return; SendMessageComposer(new GroupInformationComposer(selectedGroupId, false)); - }, [selectedGroupId]); + }, [ selectedGroupId ]); useEffect(() => { @@ -50,7 +50,7 @@ export const GroupsContainerView: FC = props => return groups[0].groupId; }); } - }, [groups]); + }, [ groups ]); if (!groups || !groups.length) { @@ -66,24 +66,24 @@ export const GroupsContainerView: FC = props => } return ( - - - - {groups.map((group, index) => + + + + { groups.map((group, index) => { return ( - setSelectedGroupId(group.groupId)}> - {itsMe && - ToggleFavoriteGroup(group)} />} - + setSelectedGroupId(group.groupId) }> + { itsMe && + ToggleFavoriteGroup(group) } /> } + ) - })} + }) } - - {groupInformation && - } + + { groupInformation && + } ); diff --git a/src/components/user-profile/views/RelationshipsContainerView.tsx b/src/components/user-profile/views/RelationshipsContainerView.tsx index 71edf9aa..8bccd7f6 100644 --- a/src/components/user-profile/views/RelationshipsContainerView.tsx +++ b/src/components/user-profile/views/RelationshipsContainerView.tsx @@ -25,26 +25,26 @@ export const RelationshipsContainerView: FC = p return (
- +
- (relationshipInfo && (relationshipInfo.randomFriendId >= 1) && GetUserProfile(relationshipInfo.randomFriendId))}> - {(!relationshipInfo || (relationshipInfo.friendCount === 0)) && - LocalizeText('extendedprofile.add.friends')} - {(relationshipInfo && (relationshipInfo.friendCount >= 1)) && - relationshipInfo.randomFriendName} + (relationshipInfo && (relationshipInfo.randomFriendId >= 1) && GetUserProfile(relationshipInfo.randomFriendId)) }> + { (!relationshipInfo || (relationshipInfo.friendCount === 0)) && + LocalizeText('extendedprofile.add.friends') } + { (relationshipInfo && (relationshipInfo.friendCount >= 1)) && + relationshipInfo.randomFriendName } - {(relationshipInfo && (relationshipInfo.friendCount >= 1)) && + { (relationshipInfo && (relationshipInfo.friendCount >= 1)) &&
- -
} + +
} - {(!relationshipInfo || (relationshipInfo.friendCount === 0)) && - LocalizeText('extendedprofile.no.friends.in.this.category')} - {(relationshipInfo && (relationshipInfo.friendCount > 1)) && - LocalizeText(`extendedprofile.relstatus.others.${relationshipName}`, ['count'], [(relationshipInfo.friendCount - 1).toString()])} + { (!relationshipInfo || (relationshipInfo.friendCount === 0)) && + LocalizeText('extendedprofile.no.friends.in.this.category') } + { (relationshipInfo && (relationshipInfo.friendCount > 1)) && + LocalizeText(`extendedprofile.relstatus.others.${ relationshipName }`, [ 'count' ], [ (relationshipInfo.friendCount - 1).toString() ]) }  
@@ -54,9 +54,9 @@ export const RelationshipsContainerView: FC = p return ( <> - - - + + + ); } diff --git a/src/components/user-profile/views/UserContainerView.tsx b/src/components/user-profile/views/UserContainerView.tsx index 12bb74cb..595af0e6 100644 --- a/src/components/user-profile/views/UserContainerView.tsx +++ b/src/components/user-profile/views/UserContainerView.tsx @@ -11,7 +11,7 @@ interface UserContainerViewProps export const UserContainerView: FC = props => { const { userProfile = null } = props; - const [requestSent, setRequestSent] = useState(userProfile.requestSent); + const [ requestSent, setRequestSent ] = useState(userProfile.requestSent); const isOwnProfile = (userProfile.id === GetSessionDataManager().userId); const canSendFriendRequest = !requestSent && (!isOwnProfile && !userProfile.isMyFriend && !userProfile.requestSent); @@ -25,47 +25,47 @@ export const UserContainerView: FC = props => useEffect(() => { setRequestSent(userProfile.requestSent); - }, [userProfile]) + }, [ userProfile ]) return (
- +
- {userProfile.username} - {userProfile.motto}  + { userProfile.username } + { userProfile.motto } 
- {LocalizeText('extendedprofile.created')} {userProfile.registration} + { LocalizeText('extendedprofile.created') } { userProfile.registration } - {LocalizeText('extendedprofile.last.login')} {FriendlyTime.format(userProfile.secondsSinceLastVisit, '.ago', 2)} + { LocalizeText('extendedprofile.last.login') } { FriendlyTime.format(userProfile.secondsSinceLastVisit, '.ago', 2) } - {LocalizeText('extendedprofile.achievementscore')} {userProfile.achievementPoints} + { LocalizeText('extendedprofile.achievementscore') } { userProfile.achievementPoints }
- {userProfile.isOnline && - } - {!userProfile.isOnline && - } + { userProfile.isOnline && + } + { !userProfile.isOnline && + }
- {canSendFriendRequest && - {LocalizeText('extendedprofile.addasafriend')}} - {!canSendFriendRequest && + { canSendFriendRequest && + { LocalizeText('extendedprofile.addasafriend') } } + { !canSendFriendRequest && <> - {isOwnProfile && - {LocalizeText('extendedprofile.me')}} - {userProfile.isMyFriend && - {LocalizeText('extendedprofile.friend')}} - {(requestSent || userProfile.requestSent) && - {LocalizeText('extendedprofile.friendrequestsent')}} - } + { isOwnProfile && + { LocalizeText('extendedprofile.me') } } + { userProfile.isMyFriend && + { LocalizeText('extendedprofile.friend') } } + { (requestSent || userProfile.requestSent) && + { LocalizeText('extendedprofile.friendrequestsent') } } + }
diff --git a/src/components/user-settings/UserSettingsView.tsx b/src/components/user-settings/UserSettingsView.tsx index ec123f81..5c2ca783 100644 --- a/src/components/user-settings/UserSettingsView.tsx +++ b/src/components/user-settings/UserSettingsView.tsx @@ -8,10 +8,10 @@ import { classNames } from '../../layout'; export const UserSettingsView: FC<{}> = props => { - const [isVisible, setIsVisible] = useState(false); - const [userSettings, setUserSettings] = useState(null); - const [catalogPlaceMultipleObjects, setCatalogPlaceMultipleObjects] = useCatalogPlaceMultipleItems(); - const [catalogSkipPurchaseConfirmation, setCatalogSkipPurchaseConfirmation] = useCatalogSkipPurchaseConfirmation(); + const [ isVisible, setIsVisible ] = useState(false); + const [ userSettings, setUserSettings ] = useState(null); + const [ catalogPlaceMultipleObjects, setCatalogPlaceMultipleObjects ] = useCatalogPlaceMultipleItems(); + const [ catalogSkipPurchaseConfirmation, setCatalogSkipPurchaseConfirmation ] = useCatalogSkipPurchaseConfirmation(); const processAction = (type: string, value?: boolean | number | string) => { @@ -122,63 +122,63 @@ export const UserSettingsView: FC<{}> = props => if (!userSettings) return; DispatchUiEvent(userSettings); - }, [userSettings]); + }, [ userSettings ]); if (!isVisible || !userSettings) return null; return ( - processAction('close_view')} /> + processAction('close_view') } />
- processAction('oldchat', event.target.checked)} /> - {LocalizeText('memenu.settings.chat.prefer.old.chat')} + processAction('oldchat', event.target.checked) } /> + { LocalizeText('memenu.settings.chat.prefer.old.chat') }
- processAction('room_invites', event.target.checked)} /> - {LocalizeText('memenu.settings.other.ignore.room.invites')} + processAction('room_invites', event.target.checked) } /> + { LocalizeText('memenu.settings.other.ignore.room.invites') }
- processAction('camera_follow', event.target.checked)} /> - {LocalizeText('memenu.settings.other.disable.room.camera.follow')} + processAction('camera_follow', event.target.checked) } /> + { LocalizeText('memenu.settings.other.disable.room.camera.follow') }
- setCatalogPlaceMultipleObjects(event.target.checked)} /> - {LocalizeText('memenu.settings.other.place.multiple.objects')} + setCatalogPlaceMultipleObjects(event.target.checked) } /> + { LocalizeText('memenu.settings.other.place.multiple.objects') }
- setCatalogSkipPurchaseConfirmation(event.target.checked)} /> - {LocalizeText('memenu.settings.other.skip.purchase.confirmation')} + setCatalogSkipPurchaseConfirmation(event.target.checked) } /> + { LocalizeText('memenu.settings.other.skip.purchase.confirmation') }
- {LocalizeText('widget.memenu.settings.volume')} + { LocalizeText('widget.memenu.settings.volume') }
- {LocalizeText('widget.memenu.settings.volume.ui')} + { LocalizeText('widget.memenu.settings.volume.ui') }
- {(userSettings.volumeSystem === 0) && = 50) && 'text-muted', 'fa-icon')} />} - {(userSettings.volumeSystem > 0) && = 50) && 'text-muted', 'fa-icon')} />} - processAction('system_volume', event.target.value)} onMouseUp={() => saveRangeSlider('volume')} /> - + { (userSettings.volumeSystem === 0) && = 50) && 'text-muted', 'fa-icon') } /> } + { (userSettings.volumeSystem > 0) && = 50) && 'text-muted', 'fa-icon') } /> } + processAction('system_volume', event.target.value) } onMouseUp={ () => saveRangeSlider('volume') } /> +
- {LocalizeText('widget.memenu.settings.volume.furni')} + { LocalizeText('widget.memenu.settings.volume.furni') }
- {(userSettings.volumeFurni === 0) && = 50) && 'text-muted', 'fa-icon')} />} - {(userSettings.volumeFurni > 0) && = 50) && 'text-muted', 'fa-icon')} />} - processAction('furni_volume', event.target.value)} onMouseUp={() => saveRangeSlider('volume')} /> - + { (userSettings.volumeFurni === 0) && = 50) && 'text-muted', 'fa-icon') } /> } + { (userSettings.volumeFurni > 0) && = 50) && 'text-muted', 'fa-icon') } /> } + processAction('furni_volume', event.target.value) } onMouseUp={ () => saveRangeSlider('volume') } /> +
- {LocalizeText('widget.memenu.settings.volume.trax')} + { LocalizeText('widget.memenu.settings.volume.trax') }
- {(userSettings.volumeTrax === 0) && = 50) && 'text-muted', 'fa-icon')} />} - {(userSettings.volumeTrax > 0) && = 50) && 'text-muted', 'fa-icon')} />} - processAction('trax_volume', event.target.value)} onMouseUp={() => saveRangeSlider('volume')} /> - + { (userSettings.volumeTrax === 0) && = 50) && 'text-muted', 'fa-icon') } /> } + { (userSettings.volumeTrax > 0) && = 50) && 'text-muted', 'fa-icon') } /> } + processAction('trax_volume', event.target.value) } onMouseUp={ () => saveRangeSlider('volume') } /> +
diff --git a/src/components/wired/views/actions/WiredActionBotChangeFigureView.tsx b/src/components/wired/views/actions/WiredActionBotChangeFigureView.tsx index 4722b3bd..28efc21d 100644 --- a/src/components/wired/views/actions/WiredActionBotChangeFigureView.tsx +++ b/src/components/wired/views/actions/WiredActionBotChangeFigureView.tsx @@ -3,14 +3,15 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WIRED_STRING_DELIMETER, WiredFurniType } from '../../../../api'; import { Button, LayoutAvatarImageView, Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; const DEFAULT_FIGURE: string = 'hd-180-1.ch-210-66.lg-270-82.sh-290-81'; export const WiredActionBotChangeFigureView: FC<{}> = props => { - const [botName, setBotName] = useState(''); - const [figure, setFigure] = useState(''); + const [ botName, setBotName ] = useState(''); + const [ figure, setFigure ] = useState(''); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam((botName + WIRED_STRING_DELIMETER + figure)); @@ -21,17 +22,17 @@ export const WiredActionBotChangeFigureView: FC<{}> = props => if (data.length > 0) setBotName(data[0]); if (data.length > 1) setFigure(data[1].length > 0 ? data[1] : DEFAULT_FIGURE); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
- - + +
); diff --git a/src/components/wired/views/actions/WiredActionBotFollowAvatarView.tsx b/src/components/wired/views/actions/WiredActionBotFollowAvatarView.tsx index c99046a1..a48747dd 100644 --- a/src/components/wired/views/actions/WiredActionBotFollowAvatarView.tsx +++ b/src/components/wired/views/actions/WiredActionBotFollowAvatarView.tsx @@ -2,40 +2,41 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionBotFollowAvatarView: FC<{}> = props => { - const [botName, setBotName] = useState(''); - const [followMode, setFollowMode] = useState(-1); + const [ botName, setBotName ] = useState(''); + const [ followMode, setFollowMode ] = useState(-1); const { trigger = null, setStringParam = null, setIntParams = null } = useWired(); const save = () => { setStringParam(botName); - setIntParams([followMode]); + setIntParams([ followMode ]); } useEffect(() => { setBotName(trigger.stringData); setFollowMode((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
- setFollowMode(1)} /> - {LocalizeText('wiredfurni.params.start.following')} + setFollowMode(1) } /> + { LocalizeText('wiredfurni.params.start.following') }
- setFollowMode(0)} /> - {LocalizeText('wiredfurni.params.stop.following')} + setFollowMode(0) } /> + { LocalizeText('wiredfurni.params.stop.following') }
diff --git a/src/components/wired/views/actions/WiredActionBotGiveHandItemView.tsx b/src/components/wired/views/actions/WiredActionBotGiveHandItemView.tsx index d2cba09e..1add4fad 100644 --- a/src/components/wired/views/actions/WiredActionBotGiveHandItemView.tsx +++ b/src/components/wired/views/actions/WiredActionBotGiveHandItemView.tsx @@ -2,39 +2,40 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; -const ALLOWED_HAND_ITEM_IDS: number[] = [2, 5, 7, 8, 9, 10, 27]; +const ALLOWED_HAND_ITEM_IDS: number[] = [ 2, 5, 7, 8, 9, 10, 27 ]; export const WiredActionBotGiveHandItemView: FC<{}> = props => { - const [botName, setBotName] = useState(''); - const [handItemId, setHandItemId] = useState(-1); + const [ botName, setBotName ] = useState(''); + const [ handItemId, setHandItemId ] = useState(-1); const { trigger = null, setStringParam = null, setIntParams = null } = useWired(); const save = () => { setStringParam(botName); - setIntParams([handItemId]); + setIntParams([ handItemId ]); } useEffect(() => { setBotName(trigger.stringData); setHandItemId((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
- {LocalizeText('wiredfurni.params.handitem')} - setHandItemId(parseInt(event.target.value)) }> - {ALLOWED_HAND_ITEM_IDS.map(value => )} + { ALLOWED_HAND_ITEM_IDS.map(value => ) }
diff --git a/src/components/wired/views/actions/WiredActionBotMoveView.tsx b/src/components/wired/views/actions/WiredActionBotMoveView.tsx index 6d16d03c..9dfafa75 100644 --- a/src/components/wired/views/actions/WiredActionBotMoveView.tsx +++ b/src/components/wired/views/actions/WiredActionBotMoveView.tsx @@ -2,11 +2,12 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionBotMoveView: FC<{}> = props => { - const [botName, setBotName] = useState(''); + const [ botName, setBotName ] = useState(''); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam(botName); @@ -14,13 +15,13 @@ export const WiredActionBotMoveView: FC<{}> = props => useEffect(() => { setBotName(trigger.stringData); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
); diff --git a/src/components/wired/views/actions/WiredActionBotTalkToAvatarView.tsx b/src/components/wired/views/actions/WiredActionBotTalkToAvatarView.tsx index 4287d309..e505cac9 100644 --- a/src/components/wired/views/actions/WiredActionBotTalkToAvatarView.tsx +++ b/src/components/wired/views/actions/WiredActionBotTalkToAvatarView.tsx @@ -2,19 +2,20 @@ import { FC, useEffect, useState } from 'react'; import { GetConfigurationValue, LocalizeText, WIRED_STRING_DELIMETER, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionBotTalkToAvatarView: FC<{}> = props => { - const [botName, setBotName] = useState(''); - const [message, setMessage] = useState(''); - const [talkMode, setTalkMode] = useState(-1); + const [ botName, setBotName ] = useState(''); + const [ message, setMessage ] = useState(''); + const [ talkMode, setTalkMode ] = useState(-1); const { trigger = null, setStringParam = null, setIntParams = null } = useWired(); const save = () => { setStringParam(botName + WIRED_STRING_DELIMETER + message); - setIntParams([talkMode]); + setIntParams([ talkMode ]); } useEffect(() => @@ -25,26 +26,26 @@ export const WiredActionBotTalkToAvatarView: FC<{}> = props => if (data.length > 1) setMessage(data[1].length > 0 ? data[1] : ''); setTalkMode((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
- {LocalizeText('wiredfurni.params.message')} - ('wired.action.bot.talk.to.avatar.max.length', 64)} type="text" value={message} onChange={event => setMessage(event.target.value)} /> + { LocalizeText('wiredfurni.params.message') } + ('wired.action.bot.talk.to.avatar.max.length', 64) } type="text" value={ message } onChange={ event => setMessage(event.target.value) } />
- setTalkMode(0)} /> - {LocalizeText('wiredfurni.params.talk')} + setTalkMode(0) } /> + { LocalizeText('wiredfurni.params.talk') }
- setTalkMode(1)} /> - {LocalizeText('wiredfurni.params.whisper')} + setTalkMode(1) } /> + { LocalizeText('wiredfurni.params.whisper') }
diff --git a/src/components/wired/views/actions/WiredActionBotTalkView.tsx b/src/components/wired/views/actions/WiredActionBotTalkView.tsx index e95fdefd..3066f2ad 100644 --- a/src/components/wired/views/actions/WiredActionBotTalkView.tsx +++ b/src/components/wired/views/actions/WiredActionBotTalkView.tsx @@ -2,19 +2,20 @@ import { FC, useEffect, useState } from 'react'; import { GetConfigurationValue, LocalizeText, WIRED_STRING_DELIMETER, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionBotTalkView: FC<{}> = props => { - const [botName, setBotName] = useState(''); - const [message, setMessage] = useState(''); - const [talkMode, setTalkMode] = useState(-1); + const [ botName, setBotName ] = useState(''); + const [ message, setMessage ] = useState(''); + const [ talkMode, setTalkMode ] = useState(-1); const { trigger = null, setStringParam = null, setIntParams = null } = useWired(); const save = () => { setStringParam(botName + WIRED_STRING_DELIMETER + message); - setIntParams([talkMode]); + setIntParams([ talkMode ]); } useEffect(() => @@ -25,26 +26,26 @@ export const WiredActionBotTalkView: FC<{}> = props => if (data.length > 1) setMessage(data[1].length > 0 ? data[1] : ''); setTalkMode((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
- {LocalizeText('wiredfurni.params.message')} - ('wired.action.bot.talk.max.length', 64)} type="text" value={message} onChange={event => setMessage(event.target.value)} /> + { LocalizeText('wiredfurni.params.message') } + ('wired.action.bot.talk.max.length', 64) } type="text" value={ message } onChange={ event => setMessage(event.target.value) } />
- setTalkMode(0)} /> - {LocalizeText('wiredfurni.params.talk')} + setTalkMode(0) } /> + { LocalizeText('wiredfurni.params.talk') }
- setTalkMode(1)} /> - {LocalizeText('wiredfurni.params.shout')} + setTalkMode(1) } /> + { LocalizeText('wiredfurni.params.shout') }
diff --git a/src/components/wired/views/actions/WiredActionBotTeleportView.tsx b/src/components/wired/views/actions/WiredActionBotTeleportView.tsx index 6ae92b75..6d8a0b15 100644 --- a/src/components/wired/views/actions/WiredActionBotTeleportView.tsx +++ b/src/components/wired/views/actions/WiredActionBotTeleportView.tsx @@ -2,11 +2,12 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionBotTeleportView: FC<{}> = props => { - const [botName, setBotName] = useState(''); + const [ botName, setBotName ] = useState(''); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam(botName); @@ -14,13 +15,13 @@ export const WiredActionBotTeleportView: FC<{}> = props => useEffect(() => { setBotName(trigger.stringData); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
); diff --git a/src/components/wired/views/actions/WiredActionChatView.tsx b/src/components/wired/views/actions/WiredActionChatView.tsx index f9f3518d..a38418f4 100644 --- a/src/components/wired/views/actions/WiredActionChatView.tsx +++ b/src/components/wired/views/actions/WiredActionChatView.tsx @@ -2,11 +2,12 @@ import { FC, useEffect, useState } from 'react'; import { GetConfigurationValue, LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionChatView: FC<{}> = props => { - const [message, setMessage] = useState(''); + const [ message, setMessage ] = useState(''); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam(message); @@ -14,13 +15,13 @@ export const WiredActionChatView: FC<{}> = props => useEffect(() => { setMessage(trigger.stringData); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.message')} - ('wired.action.chat.max.length', 100)} type="text" value={message} onChange={event => setMessage(event.target.value)} /> + { LocalizeText('wiredfurni.params.message') } + ('wired.action.chat.max.length', 100) } type="text" value={ message } onChange={ event => setMessage(event.target.value) } />
); diff --git a/src/components/wired/views/actions/WiredActionGiveRewardView.tsx b/src/components/wired/views/actions/WiredActionGiveRewardView.tsx index da3685bc..ce0cada2 100644 --- a/src/components/wired/views/actions/WiredActionGiveRewardView.tsx +++ b/src/components/wired/views/actions/WiredActionGiveRewardView.tsx @@ -4,19 +4,20 @@ import ReactSlider from 'react-slider'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Button, Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionGiveRewardView: FC<{}> = props => { - const [limitEnabled, setLimitEnabled] = useState(false); - const [rewardTime, setRewardTime] = useState(1); - const [uniqueRewards, setUniqueRewards] = useState(false); - const [rewardsLimit, setRewardsLimit] = useState(1); - const [limitationInterval, setLimitationInterval] = useState(1); - const [rewards, setRewards] = useState<{ isBadge: boolean, itemCode: string, probability: number }[]>([]); + const [ limitEnabled, setLimitEnabled ] = useState(false); + const [ rewardTime, setRewardTime ] = useState(1); + const [ uniqueRewards, setUniqueRewards ] = useState(false); + const [ rewardsLimit, setRewardsLimit ] = useState(1); + const [ limitationInterval, setLimitationInterval ] = useState(1); + const [ rewards, setRewards ] = useState<{ isBadge: boolean, itemCode: string, probability: number }[]>([]); const { trigger = null, setIntParams = null, setStringParam = null } = useWired(); - const addReward = () => setRewards(rewards => [...rewards, { isBadge: false, itemCode: '', probability: null }]); + const addReward = () => setRewards(rewards => [ ...rewards, { isBadge: false, itemCode: '', probability: null } ]); const removeReward = (index: number) => { @@ -52,14 +53,14 @@ export const WiredActionGiveRewardView: FC<{}> = props => { if (!reward.itemCode) continue; - const rewardsString = [reward.isBadge ? '0' : '1', reward.itemCode, reward.probability.toString()]; + const rewardsString = [ reward.isBadge ? '0' : '1', reward.itemCode, reward.probability.toString() ]; stringRewards.push(rewardsString.join(',')); } if (stringRewards.length > 0) { setStringParam(stringRewards.join(';')); - setIntParams([rewardTime, uniqueRewards ? 1 : 0, rewardsLimit, limitationInterval]); + setIntParams([ rewardTime, uniqueRewards ? 1 : 0, rewardsLimit, limitationInterval ]); } } @@ -89,71 +90,71 @@ export const WiredActionGiveRewardView: FC<{}> = props => setLimitationInterval((trigger.intData.length > 3) ? trigger.intData[3] : 0); setLimitEnabled((trigger.intData.length > 3) ? trigger.intData[3] > 0 : false); setRewards(readRewards); - }, [trigger]); + }, [ trigger ]); return ( - +
- setLimitEnabled(event.target.checked)} /> - {LocalizeText('wiredfurni.params.prizelimit', ['amount'], [limitEnabled ? rewardsLimit.toString() : ''])} + setLimitEnabled(event.target.checked) } /> + { LocalizeText('wiredfurni.params.prizelimit', [ 'amount' ], [ limitEnabled ? rewardsLimit.toString() : '' ]) }
- {!limitEnabled && - + { !limitEnabled && + Reward limit not set. Make sure rewards are badges or non-tradeable items. - } - {limitEnabled && + } + { limitEnabled && setRewardsLimit(event)} />} + className={ 'nitro-slider' } + max={ 1000 } + min={ 1 } + value={ rewardsLimit } + onChange={ event => setRewardsLimit(event) } /> }
How often can a user be rewarded?
- setRewardTime(Number(e.target.value)) }> - - - + + + - {(rewardTime > 0) && setLimitationInterval(Number(event.target.value))} />} + { (rewardTime > 0) && setLimitationInterval(Number(event.target.value)) } /> }

- setUniqueRewards(e.target.checked)} /> + setUniqueRewards(e.target.checked) } /> Unique rewards
- + If checked each reward will be given once to each user. This will disable the probabilities option.
-
+
Rewards -
- {rewards && rewards.map((reward, index) => + { rewards && rewards.map((reward, index) => { return ( -
+
- updateReward(index, e.target.checked, reward.itemCode, reward.probability)} /> + updateReward(index, e.target.checked, reward.itemCode, reward.probability) } /> Badge?
- updateReward(index, reward.isBadge, e.target.value, reward.probability)} /> - updateReward(index, reward.isBadge, reward.itemCode, Number(e.target.value))} /> - {(index > 0) && - } + }
) - })} + }) }
); diff --git a/src/components/wired/views/actions/WiredActionKickFromRoomView.tsx b/src/components/wired/views/actions/WiredActionKickFromRoomView.tsx index d2c9f936..5fc112aa 100644 --- a/src/components/wired/views/actions/WiredActionKickFromRoomView.tsx +++ b/src/components/wired/views/actions/WiredActionKickFromRoomView.tsx @@ -2,11 +2,12 @@ import { FC, useEffect, useState } from 'react'; import { GetConfigurationValue, LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionKickFromRoomView: FC<{}> = props => { - const [message, setMessage] = useState(''); + const [ message, setMessage ] = useState(''); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam(message); @@ -14,13 +15,13 @@ export const WiredActionKickFromRoomView: FC<{}> = props => useEffect(() => { setMessage(trigger.stringData); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.message')} - ('wired.action.kick.from.room.max.length', 100)} type="text" value={message} onChange={event => setMessage(event.target.value)} /> + { LocalizeText('wiredfurni.params.message') } + ('wired.action.kick.from.room.max.length', 100) } type="text" value={ message } onChange={ event => setMessage(event.target.value) } />
); diff --git a/src/components/wired/views/actions/WiredActionMoveFurniView.tsx b/src/components/wired/views/actions/WiredActionMoveFurniView.tsx index c3481141..abdcd22b 100644 --- a/src/components/wired/views/actions/WiredActionMoveFurniView.tsx +++ b/src/components/wired/views/actions/WiredActionMoveFurniView.tsx @@ -35,15 +35,15 @@ const directionOptions: { value: number, icon: string }[] = [ } ]; -const rotationOptions: number[] = [0, 1, 2, 3]; +const rotationOptions: number[] = [ 0, 1, 2, 3 ]; export const WiredActionMoveFurniView: FC<{}> = props => { - const [movement, setMovement] = useState(-1); - const [rotation, setRotation] = useState(-1); + const [ movement, setMovement ] = useState(-1); + const [ rotation, setRotation ] = useState(-1); const { trigger = null, setIntParams = null } = useWired(); - const save = () => setIntParams([movement, rotation]); + const save = () => setIntParams([ movement, rotation ]); useEffect(() => { @@ -57,43 +57,43 @@ export const WiredActionMoveFurniView: FC<{}> = props => setMovement(-1); setRotation(-1); } - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.movefurni')} + { LocalizeText('wiredfurni.params.movefurni') }
- setMovement(0)} /> - {LocalizeText('wiredfurni.params.movefurni.0')} + setMovement(0) } /> + { LocalizeText('wiredfurni.params.movefurni.0') }
- {directionOptions.map(option => + { directionOptions.map(option => { return ( -
- setMovement(option.value)} /> - +
+ setMovement(option.value) } /> +
) - })} + }) }
- {LocalizeText('wiredfurni.params.rotatefurni')} - {rotationOptions.map(option => + { LocalizeText('wiredfurni.params.rotatefurni') } + { rotationOptions.map(option => { return ( -
- setRotation(option)} /> +
+ setRotation(option) } /> - {[1, 2].includes(option) && } - {LocalizeText(`wiredfurni.params.rotatefurni.${option}`)} + { [ 1, 2 ].includes(option) && } + { LocalizeText(`wiredfurni.params.rotatefurni.${ option }`) }
) - })} + }) }
); diff --git a/src/components/wired/views/actions/WiredActionMuteUserView.tsx b/src/components/wired/views/actions/WiredActionMuteUserView.tsx index ad432727..4643eeb4 100644 --- a/src/components/wired/views/actions/WiredActionMuteUserView.tsx +++ b/src/components/wired/views/actions/WiredActionMuteUserView.tsx @@ -3,17 +3,18 @@ import ReactSlider from 'react-slider'; import { GetConfigurationValue, LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredActionBaseView } from './WiredActionBaseView'; export const WiredActionMuteUserView: FC<{}> = props => { - const [time, setTime] = useState(-1); - const [message, setMessage] = useState(''); + const [ time, setTime ] = useState(-1); + const [ message, setMessage ] = useState(''); const { trigger = null, setIntParams = null, setStringParam = null } = useWired(); const save = () => { - setIntParams([time]); + setIntParams([ time ]); setStringParam(message); } @@ -21,22 +22,22 @@ export const WiredActionMuteUserView: FC<{}> = props => { setTime((trigger.intData.length > 0) ? trigger.intData[0] : 0); setMessage(trigger.stringData); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.length.minutes', ['minutes'], [time.toString()])} + { LocalizeText('wiredfurni.params.length.minutes', [ 'minutes' ], [ time.toString() ]) } setTime(event)} /> + className={ 'nitro-slider' } + max={ 10 } + min={ 1 } + value={ time } + onChange={ event => setTime(event) } />
- {LocalizeText('wiredfurni.params.message')} - ('wired.action.mute.user.max.length', 100)} type="text" value={message} onChange={event => setMessage(event.target.value)} /> + { LocalizeText('wiredfurni.params.message') } + ('wired.action.mute.user.max.length', 100) } type="text" value={ message } onChange={ event => setMessage(event.target.value) } />
); diff --git a/src/components/wired/views/conditions/WiredConditionActorIsWearingBadgeView.tsx b/src/components/wired/views/conditions/WiredConditionActorIsWearingBadgeView.tsx index 6972fe78..e804b8ff 100644 --- a/src/components/wired/views/conditions/WiredConditionActorIsWearingBadgeView.tsx +++ b/src/components/wired/views/conditions/WiredConditionActorIsWearingBadgeView.tsx @@ -2,11 +2,12 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredConditionBaseView } from './WiredConditionBaseView'; export const WiredConditionActorIsWearingBadgeView: FC<{}> = props => { - const [badge, setBadge] = useState(''); + const [ badge, setBadge ] = useState(''); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam(badge); @@ -14,13 +15,13 @@ export const WiredConditionActorIsWearingBadgeView: FC<{}> = props => useEffect(() => { setBadge(trigger.stringData); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.badgecode')} - setBadge(event.target.value)} /> + { LocalizeText('wiredfurni.params.badgecode') } + setBadge(event.target.value) } />
); diff --git a/src/components/wired/views/conditions/WiredConditionActorIsWearingEffectView.tsx b/src/components/wired/views/conditions/WiredConditionActorIsWearingEffectView.tsx index dea2ab64..3cfb807f 100644 --- a/src/components/wired/views/conditions/WiredConditionActorIsWearingEffectView.tsx +++ b/src/components/wired/views/conditions/WiredConditionActorIsWearingEffectView.tsx @@ -2,25 +2,26 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredConditionBaseView } from './WiredConditionBaseView'; export const WiredConditionActorIsWearingEffectView: FC<{}> = props => { - const [effect, setEffect] = useState(-1); + const [ effect, setEffect ] = useState(-1); const { trigger = null, setIntParams = null } = useWired(); - const save = () => setIntParams([effect]); + const save = () => setIntParams([ effect ]); useEffect(() => { setEffect(trigger?.intData[0] ?? 0); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.tooltip.effectid')} - setEffect(parseInt(event.target.value))} /> + { LocalizeText('wiredfurni.tooltip.effectid') } + setEffect(parseInt(event.target.value)) } />
); diff --git a/src/components/wired/views/conditions/WiredConditionDateRangeView.tsx b/src/components/wired/views/conditions/WiredConditionDateRangeView.tsx index ceff4e68..04667071 100644 --- a/src/components/wired/views/conditions/WiredConditionDateRangeView.tsx +++ b/src/components/wired/views/conditions/WiredConditionDateRangeView.tsx @@ -2,12 +2,13 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredDateToString, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredConditionBaseView } from './WiredConditionBaseView'; export const WiredConditionDateRangeView: FC<{}> = props => { - const [startDate, setStartDate] = useState(''); - const [endDate, setEndDate] = useState(''); + const [ startDate, setStartDate ] = useState(''); + const [ endDate, setEndDate ] = useState(''); const { trigger = null, setIntParams = null } = useWired(); const save = () => @@ -24,7 +25,7 @@ export const WiredConditionDateRangeView: FC<{}> = props => endDateMili = endDateInstance.getTime() / 1000; } - setIntParams([startDateMili, endDateMili]); + setIntParams([ startDateMili, endDateMili ]); } useEffect(() => @@ -41,17 +42,17 @@ export const WiredConditionDateRangeView: FC<{}> = props => setStartDate(WiredDateToString(startDate)); setEndDate(WiredDateToString(endDate)); } - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.startdate')} - setStartDate(e.target.value)} /> + { LocalizeText('wiredfurni.params.startdate') } + setStartDate(e.target.value) } />
- {LocalizeText('wiredfurni.params.enddate')} - setEndDate(e.target.value)} /> + { LocalizeText('wiredfurni.params.enddate') } + setEndDate(e.target.value) } />
); diff --git a/src/components/wired/views/triggers/WiredTriggerAvatarEnterRoomView.tsx b/src/components/wired/views/triggers/WiredTriggerAvatarEnterRoomView.tsx index 62357cc1..54ef3fd0 100644 --- a/src/components/wired/views/triggers/WiredTriggerAvatarEnterRoomView.tsx +++ b/src/components/wired/views/triggers/WiredTriggerAvatarEnterRoomView.tsx @@ -2,12 +2,13 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredTriggerBaseView } from './WiredTriggerBaseView'; export const WiredTriggerAvatarEnterRoomView: FC<{}> = props => { - const [username, setUsername] = useState(''); - const [avatarMode, setAvatarMode] = useState(0); + const [ username, setUsername ] = useState(''); + const [ avatarMode, setAvatarMode ] = useState(0); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam((avatarMode === 1) ? username : ''); @@ -16,22 +17,22 @@ export const WiredTriggerAvatarEnterRoomView: FC<{}> = props => { setUsername(trigger.stringData); setAvatarMode(trigger.stringData ? 1 : 0); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.picktriggerer')} + { LocalizeText('wiredfurni.params.picktriggerer') }
- setAvatarMode(0)} /> - {LocalizeText('wiredfurni.params.anyavatar')} + setAvatarMode(0) } /> + { LocalizeText('wiredfurni.params.anyavatar') }
- setAvatarMode(1)} /> - {LocalizeText('wiredfurni.params.certainavatar')} + setAvatarMode(1) } /> + { LocalizeText('wiredfurni.params.certainavatar') }
- {(avatarMode === 1) && - setUsername(event.target.value)} />} + { (avatarMode === 1) && + setUsername(event.target.value) } /> }
); diff --git a/src/components/wired/views/triggers/WiredTriggerAvatarSaysSomethingView.tsx b/src/components/wired/views/triggers/WiredTriggerAvatarSaysSomethingView.tsx index 4c06b8a7..0b7f3b86 100644 --- a/src/components/wired/views/triggers/WiredTriggerAvatarSaysSomethingView.tsx +++ b/src/components/wired/views/triggers/WiredTriggerAvatarSaysSomethingView.tsx @@ -3,41 +3,42 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredTriggerBaseView } from './WiredTriggerBaseView'; export const WiredTriggerAvatarSaysSomethingView: FC<{}> = props => { - const [message, setMessage] = useState(''); - const [triggererAvatar, setTriggererAvatar] = useState(-1); + const [ message, setMessage ] = useState(''); + const [ triggererAvatar, setTriggererAvatar ] = useState(-1); const { trigger = null, setStringParam = null, setIntParams = null } = useWired(); const save = () => { setStringParam(message); - setIntParams([triggererAvatar]); + setIntParams([ triggererAvatar ]); } useEffect(() => { setMessage(trigger.stringData); setTriggererAvatar((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.whatissaid')} - setMessage(event.target.value)} /> + { LocalizeText('wiredfurni.params.whatissaid') } + setMessage(event.target.value) } />
- {LocalizeText('wiredfurni.params.picktriggerer')} + { LocalizeText('wiredfurni.params.picktriggerer') }
- setTriggererAvatar(0)} /> - {LocalizeText('wiredfurni.params.anyavatar')} + setTriggererAvatar(0) } /> + { LocalizeText('wiredfurni.params.anyavatar') }
- setTriggererAvatar(1)} /> - {GetSessionDataManager().userName} + setTriggererAvatar(1) } /> + { GetSessionDataManager().userName }
diff --git a/src/components/wired/views/triggers/WiredTriggerBotReachedAvatarView.tsx b/src/components/wired/views/triggers/WiredTriggerBotReachedAvatarView.tsx index d10624ef..49a247ee 100644 --- a/src/components/wired/views/triggers/WiredTriggerBotReachedAvatarView.tsx +++ b/src/components/wired/views/triggers/WiredTriggerBotReachedAvatarView.tsx @@ -2,11 +2,12 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredTriggerBaseView } from './WiredTriggerBaseView'; export const WiredTriggerBotReachedAvatarView: FC<{}> = props => { - const [botName, setBotName] = useState(''); + const [ botName, setBotName ] = useState(''); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam(botName); @@ -14,13 +15,13 @@ export const WiredTriggerBotReachedAvatarView: FC<{}> = props => useEffect(() => { setBotName(trigger.stringData); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
); diff --git a/src/components/wired/views/triggers/WiredTriggerBotReachedStuffView.tsx b/src/components/wired/views/triggers/WiredTriggerBotReachedStuffView.tsx index b086ceb2..ca7f9b9c 100644 --- a/src/components/wired/views/triggers/WiredTriggerBotReachedStuffView.tsx +++ b/src/components/wired/views/triggers/WiredTriggerBotReachedStuffView.tsx @@ -2,11 +2,12 @@ import { FC, useEffect, useState } from 'react'; import { LocalizeText, WiredFurniType } from '../../../../api'; import { Text } from '../../../../common'; import { useWired } from '../../../../hooks'; +import { NitroInput } from '../../../../layout'; import { WiredTriggerBaseView } from './WiredTriggerBaseView'; export const WiredTriggerBotReachedStuffView: FC<{}> = props => { - const [botName, setBotName] = useState(''); + const [ botName, setBotName ] = useState(''); const { trigger = null, setStringParam = null } = useWired(); const save = () => setStringParam(botName); @@ -14,13 +15,13 @@ export const WiredTriggerBotReachedStuffView: FC<{}> = props => useEffect(() => { setBotName(trigger.stringData); - }, [trigger]); + }, [ trigger ]); return ( - +
- {LocalizeText('wiredfurni.params.bot.name')} - setBotName(event.target.value)} /> + { LocalizeText('wiredfurni.params.bot.name') } + setBotName(event.target.value) } />
); diff --git a/src/hooks/camera/useCamera.ts b/src/hooks/camera/useCamera.ts index 95042be8..b0858e2a 100644 --- a/src/hooks/camera/useCamera.ts +++ b/src/hooks/camera/useCamera.ts @@ -6,11 +6,11 @@ import { useMessageEvent, useNitroEvent } from '../events'; const useCameraState = () => { - const [availableEffects, setAvailableEffects] = useState([]); - const [cameraRoll, setCameraRoll] = useState([]); - const [selectedPictureIndex, setSelectedPictureIndex] = useState(-1); - const [myLevel, setMyLevel] = useState(10); - const [price, setPrice] = useState<{ credits: number, duckets: number, publishDucketPrice: number }>(null); + const [ availableEffects, setAvailableEffects ] = useState([]); + const [ cameraRoll, setCameraRoll ] = useState([]); + const [ selectedPictureIndex, setSelectedPictureIndex ] = useState(-1); + const [ myLevel, setMyLevel ] = useState(10); + const [ price, setPrice ] = useState<{ credits: number, duckets: number, publishDucketPrice: number }>(null); useNitroEvent(RoomCameraWidgetManagerEvent.INITIALIZED, event => { diff --git a/src/layout/InfiniteGrid.tsx b/src/layout/InfiniteGrid.tsx index 24eb8ddf..347e1c35 100644 --- a/src/layout/InfiniteGrid.tsx +++ b/src/layout/InfiniteGrid.tsx @@ -45,51 +45,51 @@ const InfiniteGridRoot = (props: Props) => { window.removeEventListener('resize', checkAndApplyPadding); } - }, [items]); + }, [ items ]); useEffect(() => { if (!items || !items.length) return; virtualizer.scrollToIndex(0); - }, [items, virtualizer]); + }, [ items, virtualizer ]); const virtualItems = virtualizer.getVirtualItems(); return (
- {virtualItems.map(virtualRow => ( + } }> + { virtualItems.map(virtualRow => (
- {Array.from(Array(columnCount)).map((e, i) => + transform: `translateY(${ virtualRow.start }px)` + } }> + { Array.from(Array(columnCount)).map((e, i) => { const item = items[i + (virtualRow.index * columnCount)]; if (!item) return ; + key={ virtualRow.index + i + 'b' } />; return ( - - {itemRender(item, i)} + + { itemRender(item, i) } ); - })} + }) }
- ))} + )) }
); @@ -109,7 +109,7 @@ const InfiniteGridItem = forwardRef, HTMLDivElement>>((props, ref) => { const { itemImage = undefined, itemColor = undefined, itemActive = false, itemCount = 1, itemCountMinimum = 1, itemUniqueSoldout = false, itemUniqueNumber = -2, itemUnseen = false, itemHighlight = false, disabled = false, className = null, style = {}, children = null, ...rest } = props; - const [backgroundImageUrl, setBackgroundImageUrl] = useState(null); + const [ backgroundImageUrl, setBackgroundImageUrl ] = useState(null); const disposed = useRef(false); useEffect(() => @@ -126,7 +126,7 @@ const InfiniteGridItem = forwardRef { @@ -140,8 +140,8 @@ const InfiniteGridItem = forwardRef 0)) && { - backgroundImage: `url(${backgroundImageUrl})` + backgroundImage: `url(${ backgroundImageUrl })` }, itemColor && { backgroundColor: itemColor }, style - )} - {...rest}> - {(itemCount > itemCountMinimum) && -
{itemCount}
} - {(itemUniqueNumber > 0) && + ) } + { ...rest }> + { (itemCount > itemCountMinimum) && +
{ itemCount }
} + { (itemUniqueNumber > 0) && <>
+ style={ { + backgroundImage: `url(${ backgroundImageUrl })` + } } />
- +
- } - {children} + } + { children }
); }); diff --git a/src/layout/NitroButton.tsx b/src/layout/NitroButton.tsx index cefb5482..d761e003 100644 --- a/src/layout/NitroButton.tsx +++ b/src/layout/NitroButton.tsx @@ -27,17 +27,17 @@ export const NitroButton = forwardRef + ) } + disabled={ disabled } + type={ type } + { ...rest } /> ); }); diff --git a/src/layout/NitroCard.tsx b/src/layout/NitroCard.tsx index d362fc59..ee275436 100644 --- a/src/layout/NitroCard.tsx +++ b/src/layout/NitroCard.tsx @@ -9,14 +9,14 @@ const NitroCardRoot = forwardRef +
+ ) } + { ...rest } /> ); }); @@ -27,24 +27,24 @@ const NitroCardHeader = forwardRef void; } & DetailedHTMLProps, HTMLDivElement>>((props, ref) => -{ - const { headerText = '', onCloseClick = null, className = null, ...rest } = props; + { + const { headerText = '', onCloseClick = null, className = null, ...rest } = props; - const onMouseDown = (event: MouseEvent) => - { - event.stopPropagation(); - event.nativeEvent.stopImmediatePropagation(); - } + const onMouseDown = (event: MouseEvent) => + { + event.stopPropagation(); + event.nativeEvent.stopImmediatePropagation(); + } - return ( -
-
- {headerText} -
-
-
- ) -}); + return ( +
+
+ { headerText } +
+
+
+ ) + }); NitroCardHeader.displayName = 'NitroCardHeader'; @@ -56,15 +56,15 @@ const NitroCardContent = forwardRef - {isLoading && -
} - {children} + ) } + { ...rest }> + { isLoading && +
} + { children }
); }); @@ -78,12 +78,12 @@ const NitroCardTabs = forwardRef + { ...rest } /> ) }); @@ -98,18 +98,18 @@ const NitroCardTabItem = forwardRef + { ...rest }>
- {children} + { children }
- {(count > 0) && - } + { (count > 0) && + }
) }); diff --git a/src/layout/NitroInput.tsx b/src/layout/NitroInput.tsx index 7736bb92..46ff571b 100644 --- a/src/layout/NitroInput.tsx +++ b/src/layout/NitroInput.tsx @@ -23,19 +23,19 @@ export const NitroInput = forwardRef + ) } + disabled={ disabled } + type={ type } + { ...rest } /> ); }); diff --git a/src/layout/NitroItemCountBadge.tsx b/src/layout/NitroItemCountBadge.tsx index 84c01189..40b869a5 100644 --- a/src/layout/NitroItemCountBadge.tsx +++ b/src/layout/NitroItemCountBadge.tsx @@ -17,15 +17,15 @@ export const NitroItemCountBadge = forwardRef - {count} - {children} + ) } + { ...rest }> + { count } + { children }
); }); diff --git a/tailwind.config.js b/tailwind.config.js index a0a25515..666ac78b 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -72,10 +72,10 @@ module.exports = { '3xl': '1.953rem', '4xl': '2.441rem', '5xl': '3.052rem', - }, + }, fontFamily: { - sans: [ 'Ubuntu'], + sans: [ 'Ubuntu' ], }, colors: generateShades(colors), boxShadow, @@ -94,7 +94,7 @@ module.exports = { '3': '0.3rem', - }, + }, zIndex: { 'toolbar': '', 'loading': '100', @@ -148,10 +148,10 @@ module.exports = { darkMode: 'class', variants: { extend: { - divideColor: ['group-hover'], - backgroundColor: ['group-focus'], + divideColor: [ 'group-hover' ], + backgroundColor: [ 'group-focus' ], } - }, + }, plugins: [ require('@tailwindcss/forms'), ],