From 5c88770fa665ab053cac061bba775a23997cd6b9 Mon Sep 17 00:00:00 2001 From: Remco Date: Tue, 27 Jan 2026 12:23:12 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=86=99=20Remove=20wrong=20fixes=20fix=20t?= =?UTF-8?q?he=20right=20=F0=9F=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Coolui v3 test/.browserslistrc | 11 - Coolui v3 test/.editorconfig | 16 - Coolui v3 test/.vscode/settings.json | 5 - Coolui v3 test/index.html | 69 - .../common/layout/LayoutBadgeImageView.tsx | 5 +- .../src/common/layout/LayoutTrophyView.tsx | 8 +- .../views/user/ModToolsUserModActionView.tsx | 176 - .../views/user/ModToolsUserRoomVisitsView.tsx | 60 - .../user/ModToolsUserSendMessageView.tsx | 45 - .../mod-tools/views/user/ModToolsUserView.tsx | 156 - .../components/navigator/NavigatorView.tsx | 240 -- .../views/NavigatorDoorStateView.tsx | 111 - .../views/NavigatorRoomCreatorView.tsx | 123 - .../navigator/views/NavigatorRoomInfoView.tsx | 181 - .../navigator/views/NavigatorRoomLinkView.tsx | 33 - .../NavigatorRoomSettingsAccessTabView.tsx | 88 - .../NavigatorRoomSettingsBasicTabView.tsx | 172 - .../NavigatorRoomSettingsModTabView.tsx | 118 - .../NavigatorRoomSettingsRightsTabView.tsx | 91 - .../NavigatorRoomSettingsView.tsx | 206 - .../NavigatorRoomSettingsVipChatTabView.tsx | 77 - .../NavigatorSearchResultItemInfoView.tsx | 106 - .../search/NavigatorSearchResultItemView.tsx | 121 - .../search/NavigatorSearchResultView.tsx | 118 - .../views/search/NavigatorSearchView.tsx | 81 - .../NitrobubbleHiddenView.tsx | 59 - .../components/nitropedia/NitropediaView.tsx | 105 - .../NotificationCenterView.tsx | 76 - .../views/alert-layouts/GetAlertLayout.tsx | 22 - .../alert-layouts/NitroSystemAlertView.tsx | 42 - .../NotificationDefaultAlertView.tsx | 56 - .../NotificationSearchAlertView.tsx | 62 - .../views/bubble-layouts/GetBubbleLayout.tsx | 18 - .../NotificationClubGiftBubbleView.tsx | 26 - .../NotificationDefaultBubbleView.tsx | 25 - .../confirm-layouts/GetConfirmLayout.tsx | 15 - .../NotificationDefaultConfirmView.tsx | 40 - .../src/components/purse/PurseView.tsx | 95 - .../components/purse/views/CurrencyView.tsx | 39 - .../components/purse/views/SeasonalView.tsx | 38 - .../components/right-side/RightSideView.tsx | 24 - .../src/components/room/RoomView.tsx | 59 - .../room/spectator/RoomSpectatorView.tsx | 8 - .../room/widgets/RoomWidgetsView.tsx | 174 - .../AvatarInfoPetTrainingPanelView.tsx | 59 - .../AvatarInfoRentableBotChatView.tsx | 69 - .../AvatarInfoUseProductConfirmView.tsx | 281 -- .../avatar-info/AvatarInfoUseProductView.tsx | 135 - .../avatar-info/AvatarInfoWidgetView.tsx | 139 - .../infostand/InfoStandWidgetBotView.tsx | 55 - .../infostand/InfoStandWidgetFurniView.tsx | 475 --- .../infostand/InfoStandWidgetPetView.tsx | 343 -- .../InfoStandWidgetRentableBotView.tsx | 84 - ...nfoStandWidgetUserRelationshipItemView.tsx | 31 - .../InfoStandWidgetUserRelationshipsView.tsx | 23 - .../infostand/InfoStandWidgetUserTagsView.tsx | 31 - .../infostand/InfoStandWidgetUserView.tsx | 262 -- .../menu/AvatarInfoWidgetAvatarView.tsx | 372 -- .../menu/AvatarInfoWidgetDecorateView.tsx | 29 - .../menu/AvatarInfoWidgetFurniView.tsx | 66 - .../menu/AvatarInfoWidgetNameView.tsx | 32 - .../menu/AvatarInfoWidgetOwnAvatarView.tsx | 292 -- .../menu/AvatarInfoWidgetOwnPetView.tsx | 220 -- .../menu/AvatarInfoWidgetPetView.tsx | 138 - .../menu/AvatarInfoWidgetRentableBotView.tsx | 198 - .../chat-input/ChatInputStyleSelectorView.tsx | 85 - .../room/widgets/chat-input/ChatInputView.tsx | 248 -- .../widgets/chat/ChatWidgetMessageView.tsx | 99 - .../room/widgets/chat/ChatWidgetView.tsx | 162 - .../widgets/choosers/ChooserWidgetView.tsx | 94 - .../choosers/FurniChooserWidgetView.tsx | 30 - .../choosers/UserChooserWidgetView.tsx | 31 - .../context-menu/ContextMenuCaretView.tsx | 26 - .../context-menu/ContextMenuHeaderView.tsx | 18 - .../context-menu/ContextMenuListItemView.tsx | 32 - .../context-menu/ContextMenuListView.tsx | 18 - .../widgets/context-menu/ContextMenuView.tsx | 144 - .../widgets/doorbell/DoorbellWidgetView.tsx | 51 - .../FriendRequestDialogView.tsx | 28 - .../FriendRequestWidgetView.tsx | 17 - .../furniture/FurnitureAreaHideView.tsx | 58 - .../FurnitureBackgroundColorView.tsx | 30 - .../furniture/FurnitureBadgeDisplayView.tsx | 18 - .../furniture/FurnitureCraftingView.tsx | 115 - .../widgets/furniture/FurnitureDimmerView.tsx | 87 - .../furniture/FurnitureExchangeCreditView.tsx | 33 - .../furniture/FurnitureExternalImageView.tsx | 34 - .../furniture/FurnitureFriendFurniView.tsx | 66 - .../furniture/FurnitureGiftOpeningView.tsx | 73 - .../furniture/FurnitureHighScoreView.tsx | 60 - .../furniture/FurnitureInternalLinkView.tsx | 9 - .../furniture/FurnitureMannequinView.tsx | 145 - .../FurnitureMysteryBoxOpenDialogView.tsx | 81 - .../FurnitureMysteryTrophyOpenDialogView.tsx | 50 - .../furniture/FurnitureRoomLinkView.tsx | 9 - .../furniture/FurnitureSpamWallPostItView.tsx | 46 - .../furniture/FurnitureStackHeightView.tsx | 58 - .../furniture/FurnitureStickieView.tsx | 66 - .../widgets/furniture/FurnitureTrophyView.tsx | 12 - .../furniture/FurnitureWidgetsView.tsx | 47 - .../furniture/FurnitureYoutubeDisplayView.tsx | 109 - .../context-menu/EffectBoxConfirmView.tsx | 40 - .../context-menu/FurnitureContextMenuView.tsx | 130 - .../MonsterPlantSeedConfirmView.tsx | 85 - .../PurchasableClothingConfirmView.tsx | 104 - .../playlist-editor/DiskInventoryView.tsx | 94 - .../FurniturePlaylistEditorWidgetView.tsx | 29 - .../playlist-editor/SongPlaylistView.tsx | 78 - .../mysterybox/MysteryBoxExtensionView.tsx | 67 - .../object-location/ObjectLocationView.tsx | 61 - .../pet-package/PetPackageWidgetView.tsx | 41 - .../RoomFilterWordsWidgetView.tsx | 75 - .../room-promotes/RoomPromotesWidgetView.tsx | 55 - .../views/RoomPromoteEditWidgetView.tsx | 45 - .../views/RoomPromoteMyOwnEventWidgetView.tsx | 36 - .../views/RoomPromoteOtherEventWidgetView.tsx | 30 - .../room/widgets/room-promotes/views/index.ts | 3 - .../RoomThumbnailWidgetView.tsx | 41 - .../room-tools/RoomToolsWidgetView.tsx | 162 - .../user-location/UserLocationView.tsx | 24 - .../word-quiz/WordQuizQuestionView.tsx | 44 - .../widgets/word-quiz/WordQuizVoteView.tsx | 24 - .../widgets/word-quiz/WordQuizWidgetView.tsx | 19 - .../components/toolbar/ToolbarItemView.tsx | 22 - .../src/components/toolbar/ToolbarMeView.tsx | 49 - .../src/components/toolbar/ToolbarView.tsx | 117 - .../user-profile/FriendsContainerView.tsx | 27 - .../user-profile/GroupsContainerView.tsx | 90 - .../RelationshipsContainerView.tsx | 62 - .../user-profile/UserContainerView.tsx | 71 - .../user-profile/UserProfileView.tsx | 125 - .../user-settings/UserSettingsView.tsx | 188 - .../src/components/wired/WiredView.tsx | 21 - .../components/wired/views/WiredBaseView.tsx | 114 - .../wired/views/WiredFurniSelectorView.tsx | 16 - .../views/actions/WiredActionBaseView.tsx | 41 - .../WiredActionBotChangeFigureView.tsx | 39 - .../WiredActionBotFollowAvatarView.tsx | 44 - .../WiredActionBotGiveHandItemView.tsx | 43 - .../views/actions/WiredActionBotMoveView.tsx | 28 - .../WiredActionBotTalkToAvatarView.tsx | 53 - .../views/actions/WiredActionBotTalkView.tsx | 53 - .../actions/WiredActionBotTeleportView.tsx | 28 - .../WiredActionCallAnotherStackView.tsx | 8 - .../views/actions/WiredActionChaseView.tsx | 8 - .../views/actions/WiredActionChatView.tsx | 28 - .../views/actions/WiredActionFleeView.tsx | 8 - .../actions/WiredActionGiveRewardView.tsx | 161 - ...redActionGiveScoreToPredefinedTeamView.tsx | 67 - .../actions/WiredActionGiveScoreView.tsx | 52 - .../views/actions/WiredActionJoinTeamView.tsx | 35 - .../actions/WiredActionKickFromRoomView.tsx | 28 - .../views/actions/WiredActionLayoutView.tsx | 85 - .../actions/WiredActionLeaveTeamView.tsx | 8 - .../WiredActionMoveAndRotateFurniView.tsx | 82 - .../actions/WiredActionMoveFurniToView.tsx | 76 - .../actions/WiredActionMoveFurniView.tsx | 100 - .../views/actions/WiredActionMuteUserView.tsx | 44 - .../views/actions/WiredActionResetView.tsx | 8 - .../WiredActionSetFurniStateToView.tsx | 42 - .../views/actions/WiredActionTeleportView.tsx | 8 - .../WiredActionToggleFurniStateView.tsx | 8 - .../WiredConditionActorHasHandItem.tsx | 34 - .../WiredConditionActorIsGroupMemberView.tsx | 8 - .../WiredConditionActorIsOnFurniView.tsx | 8 - .../WiredConditionActorIsTeamMemberView.tsx | 37 - .../WiredConditionActorIsWearingBadgeView.tsx | 28 - ...WiredConditionActorIsWearingEffectView.tsx | 28 - .../conditions/WiredConditionBaseView.tsx | 23 - .../WiredConditionDateRangeView.tsx | 59 - .../WiredConditionFurniHasAvatarOnView.tsx | 8 - .../WiredConditionFurniHasFurniOnView.tsx | 35 - .../WiredConditionFurniHasNotFurniOnView.tsx | 35 - .../WiredConditionFurniIsOfTypeView.tsx | 8 - ...WiredConditionFurniMatchesSnapshotView.tsx | 42 - .../conditions/WiredConditionLayoutView.tsx | 64 - .../WiredConditionTimeElapsedLessView.tsx | 33 - .../WiredConditionTimeElapsedMoreView.tsx | 33 - .../WiredConditionUserCountInRoomView.tsx | 52 - .../WiredTriggerAvatarEnterRoomView.tsx | 39 - .../WiredTriggerAvatarSaysSomethingView.tsx | 46 - .../WiredTriggerAvatarWalksOffFurniView.tsx | 8 - .../WiredTriggerAvatarWalksOnFurni.tsx | 8 - .../views/triggers/WiredTriggerBaseView.tsx | 23 - .../WiredTriggerBotReachedAvatarView.tsx | 28 - .../WiredTriggerBotReachedStuffView.tsx | 28 - .../triggers/WiredTriggerCollisionView.tsx | 8 - .../triggers/WiredTriggerExecuteOnceView.tsx | 33 - ...iredTriggerExecutePeriodicallyLongView.tsx | 33 - .../WiredTriggerExecutePeriodicallyView.tsx | 33 - .../triggers/WiredTriggerGameEndsView.tsx | 8 - .../triggers/WiredTriggerGameStartsView.tsx | 8 - .../views/triggers/WiredTriggerLayoutView.tsx | 52 - .../WiredTriggerScoreAchievedView.tsx | 33 - .../triggers/WiredTriggerToggleFurniView.tsx | 8 - .../src/css/backgrounds/BackgroundsView.css | 957 ----- .../src/css/chat/ChatHistoryView.css | 28 - Coolui v3 test/src/css/chat/chats.css | 856 ----- Coolui v3 test/src/css/common/Buttons.css | 109 - Coolui v3 test/src/css/common/MiniCamera.css | 13 - .../src/css/floorplan/FloorplanEditorView.css | 9 - Coolui v3 test/src/css/forms/form_select.css | 24 - .../src/css/hotelview/HotelView.css | 315 -- Coolui v3 test/src/css/icons/icons.css | 671 ---- Coolui v3 test/src/css/index.css | 865 ----- .../src/css/layout/LayoutTrophy.css | 46 - Coolui v3 test/src/css/loading/loading.css | 38 - .../src/css/nitrocard/NitroCardView.css | 245 -- .../notification/NotificationCenterView.css | 66 - Coolui v3 test/src/css/purse/PurseView.css | 111 - .../src/css/room/ChatHistoryView.css | 4 - Coolui v3 test/src/css/room/InfoStand.css | 145 - .../src/css/room/NavigatorRoomSettings.css | 11 - Coolui v3 test/src/css/room/RoomWidgets.css | 162 - Coolui v3 test/src/css/slider.css | 54 - .../src/css/widgets/ChooserWidgets.css | 1 - .../src/css/widgets/FurnitureWidgets.css | 561 --- .../src/events/catalog/CatalogEvent.ts | 14 - .../events/catalog/CatalogInitGiftEvent.ts | 32 - .../CatalogPostMarketplaceOfferEvent.ts | 20 - .../catalog/CatalogPurchaseFailureEvent.ts | 20 - .../catalog/CatalogPurchaseNotAllowedEvent.ts | 20 - .../catalog/CatalogPurchaseOverrideEvent.ts | 19 - .../catalog/CatalogPurchaseSoldOutEvent.ts | 11 - .../events/catalog/CatalogPurchasedEvent.ts | 20 - .../CatalogSetRoomPreviewerStuffDataEvent.ts | 19 - .../src/events/catalog/CatalogWidgetEvent.ts | 26 - .../catalog/SetRoomPreviewerStuffDataEvent.ts | 28 - Coolui v3 test/src/events/catalog/index.ts | 11 - .../src/events/guide-tool/GuideToolEvent.ts | 10 - Coolui v3 test/src/events/guide-tool/index.ts | 1 - .../src/events/help/HelpNameChangeEvent.ts | 6 - Coolui v3 test/src/events/help/index.ts | 1 - Coolui v3 test/src/events/index.ts | 6 - .../inventory/InventoryFurniAddedEvent.ts | 14 - Coolui v3 test/src/events/inventory/index.ts | 1 - .../src/events/room-widgets/index.ts | 1 - .../thumbnail/RoomWidgetThumbnailEvent.ts | 8 - .../events/room-widgets/thumbnail/index.ts | 1 - .../src/hooks/achievements/index.ts | 1 - .../src/hooks/achievements/useAchievements.ts | 185 - .../src/hooks/avatar-editor/index.ts | 2 - .../hooks/avatar-editor/useAvatarEditor.ts | 318 -- .../src/hooks/avatar-editor/useFigureData.ts | 150 - Coolui v3 test/src/hooks/camera/index.ts | 1 - Coolui v3 test/src/hooks/camera/useCamera.ts | 39 - Coolui v3 test/src/hooks/catalog/index.ts | 3 - .../src/hooks/catalog/useCatalog.ts | 913 ----- .../catalog/useCatalogPlaceMultipleItems.ts | 7 - .../useCatalogSkipPurchaseConfirmation.ts | 7 - .../src/hooks/chat-history/index.ts | 1 - .../src/hooks/chat-history/useChatHistory.ts | 105 - Coolui v3 test/src/hooks/events/index.ts | 4 - .../src/hooks/events/useEventDispatcher.tsx | 31 - .../src/hooks/events/useMessageEvent.tsx | 22 - .../src/hooks/events/useNitroEvent.tsx | 8 - .../src/hooks/events/useUiEvent.tsx | 5 - Coolui v3 test/src/hooks/friends/index.ts | 2 - .../src/hooks/friends/useFriends.ts | 252 -- .../src/hooks/friends/useMessenger.ts | 187 - Coolui v3 test/src/hooks/game-center/index.ts | 1 - .../src/hooks/game-center/useGameCenter.ts | 83 - Coolui v3 test/src/hooks/groups/index.ts | 1 - Coolui v3 test/src/hooks/groups/useGroup.ts | 55 - Coolui v3 test/src/hooks/help/index.ts | 1 - Coolui v3 test/src/hooks/help/useHelp.ts | 149 - Coolui v3 test/src/hooks/index.ts | 24 - Coolui v3 test/src/hooks/inventory/index.ts | 6 - .../src/hooks/inventory/useInventoryBadges.ts | 152 - .../src/hooks/inventory/useInventoryBots.ts | 158 - .../src/hooks/inventory/useInventoryFurni.ts | 298 -- .../src/hooks/inventory/useInventoryPets.ts | 107 - .../src/hooks/inventory/useInventoryTrade.ts | 288 -- .../inventory/useInventoryUnseenTracker.ts | 132 - Coolui v3 test/src/hooks/mod-tools/index.ts | 1 - .../src/hooks/mod-tools/useModTools.ts | 207 - Coolui v3 test/src/hooks/navigator/index.ts | 1 - .../src/hooks/navigator/useNavigator.ts | 442 --- .../src/hooks/notification/index.ts | 1 - .../src/hooks/notification/useNotification.ts | 433 --- Coolui v3 test/src/hooks/purse/index.ts | 1 - Coolui v3 test/src/hooks/purse/usePurse.ts | 126 - .../src/hooks/rooms/engine/index.ts | 9 - .../hooks/rooms/engine/useFurniAddedEvent.ts | 19 - .../rooms/engine/useFurniRemovedEvent.ts | 19 - .../rooms/engine/useObjectDeselectedEvent.ts | 7 - .../engine/useObjectDoubleClickedEvent.ts | 7 - .../rooms/engine/useObjectRollOutEvent.ts | 7 - .../rooms/engine/useObjectRollOverEvent.ts | 7 - .../rooms/engine/useObjectSelectedEvent.ts | 7 - .../hooks/rooms/engine/useUserAddedEvent.ts | 19 - .../hooks/rooms/engine/useUserRemovedEvent.ts | 19 - Coolui v3 test/src/hooks/rooms/index.ts | 4 - .../src/hooks/rooms/promotes/index.ts | 1 - .../hooks/rooms/promotes/useRoomPromote.ts | 23 - Coolui v3 test/src/hooks/rooms/useRoom.ts | 282 -- .../hooks/rooms/widgets/furniture/index.ts | 20 - .../furniture/useFurnitureAreaHideWidget.ts | 93 - .../useFurnitureBackgroundColorWidget.ts | 71 - .../useFurnitureBadgeDisplayWidget.ts | 75 - .../useFurnitureContextMenuWidget.ts | 179 - .../furniture/useFurnitureCraftingWidget.ts | 166 - .../furniture/useFurnitureDimmerWidget.ts | 110 - .../furniture/useFurnitureExchangeWidget.ts | 48 - .../useFurnitureExternalImageWidget.ts | 74 - .../useFurnitureFriendFurniWidget.ts | 75 - .../furniture/useFurnitureHighScoreWidget.ts | 55 - .../useFurnitureInternalLinkWidget.ts | 26 - .../furniture/useFurnitureMannequinWidget.ts | 80 - .../useFurniturePlaylistEditorWidget.ts | 108 - .../furniture/useFurniturePresentWidget.ts | 235 -- .../furniture/useFurnitureRoomLinkWidget.ts | 49 - .../useFurnitureSpamWallPostItWidget.ts | 59 - .../useFurnitureStackHeightWidget.ts | 79 - .../furniture/useFurnitureStickieWidget.ts | 85 - .../furniture/useFurnitureTrophyWidget.ts | 62 - .../furniture/useFurnitureYoutubeWidget.ts | 127 - .../src/hooks/rooms/widgets/index.ts | 12 - .../rooms/widgets/useAvatarInfoWidget.ts | 357 -- .../hooks/rooms/widgets/useChatInputWidget.ts | 282 -- .../src/hooks/rooms/widgets/useChatWidget.ts | 191 - .../hooks/rooms/widgets/useDoorbellWidget.ts | 44 - .../rooms/widgets/useFilterWordsWidget.ts | 23 - .../rooms/widgets/useFriendRequestWidget.ts | 81 - .../rooms/widgets/useFurniChooserWidget.ts | 132 - .../rooms/widgets/usePetPackageWidget.ts | 75 - .../src/hooks/rooms/widgets/usePollWidget.ts | 52 - .../rooms/widgets/useUserChooserWidget.ts | 80 - .../hooks/rooms/widgets/useWordQuizWidget.ts | 149 - Coolui v3 test/src/hooks/session/index.ts | 1 - .../src/hooks/session/useSessionInfo.ts | 63 - Coolui v3 test/src/hooks/useLocalStorage.ts | 45 - .../src/hooks/useSharedVisibility.ts | 44 - Coolui v3 test/src/hooks/wired/index.ts | 1 - Coolui v3 test/src/hooks/wired/useWired.ts | 140 - Coolui v3 test/src/layout/InfiniteGrid.tsx | 185 - Coolui v3 test/src/layout/NitroButton.tsx | 44 - Coolui v3 test/src/layout/NitroCard.tsx | 124 - Coolui v3 test/src/layout/NitroInput.tsx | 32 - .../src/layout/NitroItemCountBadge.tsx | 33 - Coolui v3 test/src/layout/classNames.ts | 1 - Coolui v3 test/src/layout/index.ts | 8 - .../NitroLimitedEditionStyledNumberView.tsx | 18 - .../src/layout/limited-edition/index.ts | 1 - Coolui v3 test/src/layout/styleNames.ts | 8 - .../src/workers/IntervalWebWorker.ts | 26 - Coolui v3 test/src/workers/WorkerBuilder.ts | 10 - Coolui v3 test/yarn.lock | 3364 ----------------- 348 files changed, 4 insertions(+), 31746 deletions(-) delete mode 100644 Coolui v3 test/.browserslistrc delete mode 100644 Coolui v3 test/.editorconfig delete mode 100644 Coolui v3 test/.vscode/settings.json delete mode 100644 Coolui v3 test/index.html delete mode 100644 Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserModActionView.tsx delete mode 100644 Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserRoomVisitsView.tsx delete mode 100644 Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserSendMessageView.tsx delete mode 100644 Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/NavigatorView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/NavigatorDoorStateView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/NavigatorRoomCreatorView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/NavigatorRoomInfoView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/NavigatorRoomLinkView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/room-settings/NavigatorRoomSettingsAccessTabView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/room-settings/NavigatorRoomSettingsBasicTabView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/room-settings/NavigatorRoomSettingsModTabView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/room-settings/NavigatorRoomSettingsRightsTabView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/room-settings/NavigatorRoomSettingsView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/room-settings/NavigatorRoomSettingsVipChatTabView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/search/NavigatorSearchResultItemInfoView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/search/NavigatorSearchResultItemView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/search/NavigatorSearchResultView.tsx delete mode 100644 Coolui v3 test/src/components/navigator/views/search/NavigatorSearchView.tsx delete mode 100644 Coolui v3 test/src/components/nitrobubblehidden/NitrobubbleHiddenView.tsx delete mode 100644 Coolui v3 test/src/components/nitropedia/NitropediaView.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/NotificationCenterView.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/alert-layouts/GetAlertLayout.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/alert-layouts/NitroSystemAlertView.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/alert-layouts/NotificationDefaultAlertView.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/alert-layouts/NotificationSearchAlertView.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/bubble-layouts/GetBubbleLayout.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/bubble-layouts/NotificationClubGiftBubbleView.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/bubble-layouts/NotificationDefaultBubbleView.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/confirm-layouts/GetConfirmLayout.tsx delete mode 100644 Coolui v3 test/src/components/notification-center/views/confirm-layouts/NotificationDefaultConfirmView.tsx delete mode 100644 Coolui v3 test/src/components/purse/PurseView.tsx delete mode 100644 Coolui v3 test/src/components/purse/views/CurrencyView.tsx delete mode 100644 Coolui v3 test/src/components/purse/views/SeasonalView.tsx delete mode 100644 Coolui v3 test/src/components/right-side/RightSideView.tsx delete mode 100644 Coolui v3 test/src/components/room/RoomView.tsx delete mode 100644 Coolui v3 test/src/components/room/spectator/RoomSpectatorView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/RoomWidgetsView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/AvatarInfoPetTrainingPanelView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/AvatarInfoRentableBotChatView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/AvatarInfoUseProductConfirmView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/AvatarInfoUseProductView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/AvatarInfoWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetBotView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetFurniView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetPetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetRentableBotView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetUserRelationshipItemView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetUserRelationshipsView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetUserTagsView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/infostand/InfoStandWidgetUserView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/menu/AvatarInfoWidgetAvatarView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/menu/AvatarInfoWidgetDecorateView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/menu/AvatarInfoWidgetFurniView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/menu/AvatarInfoWidgetNameView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/menu/AvatarInfoWidgetOwnAvatarView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/menu/AvatarInfoWidgetOwnPetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/menu/AvatarInfoWidgetPetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/avatar-info/menu/AvatarInfoWidgetRentableBotView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/chat-input/ChatInputStyleSelectorView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/chat-input/ChatInputView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/chat/ChatWidgetMessageView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/chat/ChatWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/choosers/ChooserWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/choosers/FurniChooserWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/choosers/UserChooserWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/context-menu/ContextMenuCaretView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/context-menu/ContextMenuHeaderView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/context-menu/ContextMenuListItemView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/context-menu/ContextMenuListView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/context-menu/ContextMenuView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/doorbell/DoorbellWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/friend-request/FriendRequestDialogView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/friend-request/FriendRequestWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureAreaHideView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureBackgroundColorView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureBadgeDisplayView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureCraftingView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureDimmerView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureExchangeCreditView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureExternalImageView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureFriendFurniView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureGiftOpeningView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureHighScoreView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureInternalLinkView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureMannequinView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureMysteryBoxOpenDialogView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureMysteryTrophyOpenDialogView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureRoomLinkView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureSpamWallPostItView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureStackHeightView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureStickieView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureTrophyView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureWidgetsView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/context-menu/EffectBoxConfirmView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/context-menu/FurnitureContextMenuView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/context-menu/MonsterPlantSeedConfirmView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/context-menu/PurchasableClothingConfirmView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/DiskInventoryView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/FurniturePlaylistEditorWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/SongPlaylistView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/mysterybox/MysteryBoxExtensionView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/object-location/ObjectLocationView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/pet-package/PetPackageWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/room-filter-words/RoomFilterWordsWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/room-promotes/RoomPromotesWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteEditWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteMyOwnEventWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteOtherEventWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/room-promotes/views/index.ts delete mode 100644 Coolui v3 test/src/components/room/widgets/room-thumbnail/RoomThumbnailWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/room-tools/RoomToolsWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/user-location/UserLocationView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizQuestionView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizVoteView.tsx delete mode 100644 Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizWidgetView.tsx delete mode 100644 Coolui v3 test/src/components/toolbar/ToolbarItemView.tsx delete mode 100644 Coolui v3 test/src/components/toolbar/ToolbarMeView.tsx delete mode 100644 Coolui v3 test/src/components/toolbar/ToolbarView.tsx delete mode 100644 Coolui v3 test/src/components/user-profile/FriendsContainerView.tsx delete mode 100644 Coolui v3 test/src/components/user-profile/GroupsContainerView.tsx delete mode 100644 Coolui v3 test/src/components/user-profile/RelationshipsContainerView.tsx delete mode 100644 Coolui v3 test/src/components/user-profile/UserContainerView.tsx delete mode 100644 Coolui v3 test/src/components/user-profile/UserProfileView.tsx delete mode 100644 Coolui v3 test/src/components/user-settings/UserSettingsView.tsx delete mode 100644 Coolui v3 test/src/components/wired/WiredView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/WiredBaseView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/WiredFurniSelectorView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionBaseView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionBotChangeFigureView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionBotFollowAvatarView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionBotGiveHandItemView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionBotMoveView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionBotTalkToAvatarView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionBotTalkView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionBotTeleportView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionCallAnotherStackView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionChaseView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionChatView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionFleeView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionGiveRewardView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionGiveScoreToPredefinedTeamView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionGiveScoreView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionJoinTeamView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionKickFromRoomView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionLayoutView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionLeaveTeamView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionMoveAndRotateFurniView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionMoveFurniToView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionMoveFurniView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionMuteUserView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionResetView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionSetFurniStateToView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionTeleportView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/actions/WiredActionToggleFurniStateView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorHasHandItem.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsGroupMemberView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsOnFurniView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsTeamMemberView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsWearingBadgeView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsWearingEffectView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionBaseView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionDateRangeView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasAvatarOnView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasFurniOnView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasNotFurniOnView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniIsOfTypeView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniMatchesSnapshotView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionLayoutView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionTimeElapsedLessView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionTimeElapsedMoreView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/conditions/WiredConditionUserCountInRoomView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarEnterRoomView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarSaysSomethingView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarWalksOffFurniView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarWalksOnFurni.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBaseView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBotReachedAvatarView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBotReachedStuffView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerCollisionView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecuteOnceView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecutePeriodicallyLongView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecutePeriodicallyView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerGameEndsView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerGameStartsView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerLayoutView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerScoreAchievedView.tsx delete mode 100644 Coolui v3 test/src/components/wired/views/triggers/WiredTriggerToggleFurniView.tsx delete mode 100644 Coolui v3 test/src/css/backgrounds/BackgroundsView.css delete mode 100644 Coolui v3 test/src/css/chat/ChatHistoryView.css delete mode 100644 Coolui v3 test/src/css/chat/chats.css delete mode 100644 Coolui v3 test/src/css/common/Buttons.css delete mode 100644 Coolui v3 test/src/css/common/MiniCamera.css delete mode 100644 Coolui v3 test/src/css/floorplan/FloorplanEditorView.css delete mode 100644 Coolui v3 test/src/css/forms/form_select.css delete mode 100644 Coolui v3 test/src/css/hotelview/HotelView.css delete mode 100644 Coolui v3 test/src/css/icons/icons.css delete mode 100644 Coolui v3 test/src/css/index.css delete mode 100644 Coolui v3 test/src/css/layout/LayoutTrophy.css delete mode 100644 Coolui v3 test/src/css/loading/loading.css delete mode 100644 Coolui v3 test/src/css/nitrocard/NitroCardView.css delete mode 100644 Coolui v3 test/src/css/notification/NotificationCenterView.css delete mode 100644 Coolui v3 test/src/css/purse/PurseView.css delete mode 100644 Coolui v3 test/src/css/room/ChatHistoryView.css delete mode 100644 Coolui v3 test/src/css/room/InfoStand.css delete mode 100644 Coolui v3 test/src/css/room/NavigatorRoomSettings.css delete mode 100644 Coolui v3 test/src/css/room/RoomWidgets.css delete mode 100644 Coolui v3 test/src/css/slider.css delete mode 100644 Coolui v3 test/src/css/widgets/ChooserWidgets.css delete mode 100644 Coolui v3 test/src/css/widgets/FurnitureWidgets.css delete mode 100644 Coolui v3 test/src/events/catalog/CatalogEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogInitGiftEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogPostMarketplaceOfferEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogPurchaseFailureEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogPurchaseNotAllowedEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogPurchaseOverrideEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogPurchaseSoldOutEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogPurchasedEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogSetRoomPreviewerStuffDataEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/CatalogWidgetEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/SetRoomPreviewerStuffDataEvent.ts delete mode 100644 Coolui v3 test/src/events/catalog/index.ts delete mode 100644 Coolui v3 test/src/events/guide-tool/GuideToolEvent.ts delete mode 100644 Coolui v3 test/src/events/guide-tool/index.ts delete mode 100644 Coolui v3 test/src/events/help/HelpNameChangeEvent.ts delete mode 100644 Coolui v3 test/src/events/help/index.ts delete mode 100644 Coolui v3 test/src/events/index.ts delete mode 100644 Coolui v3 test/src/events/inventory/InventoryFurniAddedEvent.ts delete mode 100644 Coolui v3 test/src/events/inventory/index.ts delete mode 100644 Coolui v3 test/src/events/room-widgets/index.ts delete mode 100644 Coolui v3 test/src/events/room-widgets/thumbnail/RoomWidgetThumbnailEvent.ts delete mode 100644 Coolui v3 test/src/events/room-widgets/thumbnail/index.ts delete mode 100644 Coolui v3 test/src/hooks/achievements/index.ts delete mode 100644 Coolui v3 test/src/hooks/achievements/useAchievements.ts delete mode 100644 Coolui v3 test/src/hooks/avatar-editor/index.ts delete mode 100644 Coolui v3 test/src/hooks/avatar-editor/useAvatarEditor.ts delete mode 100644 Coolui v3 test/src/hooks/avatar-editor/useFigureData.ts delete mode 100644 Coolui v3 test/src/hooks/camera/index.ts delete mode 100644 Coolui v3 test/src/hooks/camera/useCamera.ts delete mode 100644 Coolui v3 test/src/hooks/catalog/index.ts delete mode 100644 Coolui v3 test/src/hooks/catalog/useCatalog.ts delete mode 100644 Coolui v3 test/src/hooks/catalog/useCatalogPlaceMultipleItems.ts delete mode 100644 Coolui v3 test/src/hooks/catalog/useCatalogSkipPurchaseConfirmation.ts delete mode 100644 Coolui v3 test/src/hooks/chat-history/index.ts delete mode 100644 Coolui v3 test/src/hooks/chat-history/useChatHistory.ts delete mode 100644 Coolui v3 test/src/hooks/events/index.ts delete mode 100644 Coolui v3 test/src/hooks/events/useEventDispatcher.tsx delete mode 100644 Coolui v3 test/src/hooks/events/useMessageEvent.tsx delete mode 100644 Coolui v3 test/src/hooks/events/useNitroEvent.tsx delete mode 100644 Coolui v3 test/src/hooks/events/useUiEvent.tsx delete mode 100644 Coolui v3 test/src/hooks/friends/index.ts delete mode 100644 Coolui v3 test/src/hooks/friends/useFriends.ts delete mode 100644 Coolui v3 test/src/hooks/friends/useMessenger.ts delete mode 100644 Coolui v3 test/src/hooks/game-center/index.ts delete mode 100644 Coolui v3 test/src/hooks/game-center/useGameCenter.ts delete mode 100644 Coolui v3 test/src/hooks/groups/index.ts delete mode 100644 Coolui v3 test/src/hooks/groups/useGroup.ts delete mode 100644 Coolui v3 test/src/hooks/help/index.ts delete mode 100644 Coolui v3 test/src/hooks/help/useHelp.ts delete mode 100644 Coolui v3 test/src/hooks/index.ts delete mode 100644 Coolui v3 test/src/hooks/inventory/index.ts delete mode 100644 Coolui v3 test/src/hooks/inventory/useInventoryBadges.ts delete mode 100644 Coolui v3 test/src/hooks/inventory/useInventoryBots.ts delete mode 100644 Coolui v3 test/src/hooks/inventory/useInventoryFurni.ts delete mode 100644 Coolui v3 test/src/hooks/inventory/useInventoryPets.ts delete mode 100644 Coolui v3 test/src/hooks/inventory/useInventoryTrade.ts delete mode 100644 Coolui v3 test/src/hooks/inventory/useInventoryUnseenTracker.ts delete mode 100644 Coolui v3 test/src/hooks/mod-tools/index.ts delete mode 100644 Coolui v3 test/src/hooks/mod-tools/useModTools.ts delete mode 100644 Coolui v3 test/src/hooks/navigator/index.ts delete mode 100644 Coolui v3 test/src/hooks/navigator/useNavigator.ts delete mode 100644 Coolui v3 test/src/hooks/notification/index.ts delete mode 100644 Coolui v3 test/src/hooks/notification/useNotification.ts delete mode 100644 Coolui v3 test/src/hooks/purse/index.ts delete mode 100644 Coolui v3 test/src/hooks/purse/usePurse.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/index.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useFurniAddedEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useFurniRemovedEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useObjectDeselectedEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useObjectDoubleClickedEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useObjectRollOutEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useObjectRollOverEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useObjectSelectedEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useUserAddedEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/engine/useUserRemovedEvent.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/index.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/promotes/index.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/promotes/useRoomPromote.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/useRoom.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/index.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureAreaHideWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureBackgroundColorWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureBadgeDisplayWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureContextMenuWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureCraftingWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureDimmerWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureExchangeWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureExternalImageWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureFriendFurniWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureHighScoreWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureInternalLinkWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureMannequinWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurniturePlaylistEditorWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurniturePresentWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureRoomLinkWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureSpamWallPostItWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureStackHeightWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureStickieWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureTrophyWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/furniture/useFurnitureYoutubeWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/index.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useAvatarInfoWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useChatInputWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useChatWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useDoorbellWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useFilterWordsWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useFriendRequestWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useFurniChooserWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/usePetPackageWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/usePollWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useUserChooserWidget.ts delete mode 100644 Coolui v3 test/src/hooks/rooms/widgets/useWordQuizWidget.ts delete mode 100644 Coolui v3 test/src/hooks/session/index.ts delete mode 100644 Coolui v3 test/src/hooks/session/useSessionInfo.ts delete mode 100644 Coolui v3 test/src/hooks/useLocalStorage.ts delete mode 100644 Coolui v3 test/src/hooks/useSharedVisibility.ts delete mode 100644 Coolui v3 test/src/hooks/wired/index.ts delete mode 100644 Coolui v3 test/src/hooks/wired/useWired.ts delete mode 100644 Coolui v3 test/src/layout/InfiniteGrid.tsx delete mode 100644 Coolui v3 test/src/layout/NitroButton.tsx delete mode 100644 Coolui v3 test/src/layout/NitroCard.tsx delete mode 100644 Coolui v3 test/src/layout/NitroInput.tsx delete mode 100644 Coolui v3 test/src/layout/NitroItemCountBadge.tsx delete mode 100644 Coolui v3 test/src/layout/classNames.ts delete mode 100644 Coolui v3 test/src/layout/index.ts delete mode 100644 Coolui v3 test/src/layout/limited-edition/NitroLimitedEditionStyledNumberView.tsx delete mode 100644 Coolui v3 test/src/layout/limited-edition/index.ts delete mode 100644 Coolui v3 test/src/layout/styleNames.ts delete mode 100644 Coolui v3 test/src/workers/IntervalWebWorker.ts delete mode 100644 Coolui v3 test/src/workers/WorkerBuilder.ts delete mode 100644 Coolui v3 test/yarn.lock diff --git a/Coolui v3 test/.browserslistrc b/Coolui v3 test/.browserslistrc deleted file mode 100644 index 3e5809a308..0000000000 --- a/Coolui v3 test/.browserslistrc +++ /dev/null @@ -1,11 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries -# You can see what browsers were selected by your queries by running: -# npx browserslist - -last 1 Chrome version -last 1 Firefox version -last 1 Edge major versions -last 2 Safari major versions -last 2 iOS major versions diff --git a/Coolui v3 test/.editorconfig b/Coolui v3 test/.editorconfig deleted file mode 100644 index 0792692308..0000000000 --- a/Coolui v3 test/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 4 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.ts] -quote_type = single - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/Coolui v3 test/.vscode/settings.json b/Coolui v3 test/.vscode/settings.json deleted file mode 100644 index ff55f0cdd3..0000000000 --- a/Coolui v3 test/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "css.validate": false, - "scss.validate": false, - "stylelint.enable": true -} \ No newline at end of file diff --git a/Coolui v3 test/index.html b/Coolui v3 test/index.html deleted file mode 100644 index e3f0ecf0df..0000000000 --- a/Coolui v3 test/index.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - Nitro - - - -
- - - - diff --git a/Coolui v3 test/src/common/layout/LayoutBadgeImageView.tsx b/Coolui v3 test/src/common/layout/LayoutBadgeImageView.tsx index c9e0e5e364..bac40bc3c8 100644 --- a/Coolui v3 test/src/common/layout/LayoutBadgeImageView.tsx +++ b/Coolui v3 test/src/common/layout/LayoutBadgeImageView.tsx @@ -20,7 +20,7 @@ export const LayoutBadgeImageView: FC = props => const getClassNames = useMemo(() => { - const newClassNames: string[] = [ 'relative w-[40px] h-[40px] bg-no-repeat bg-center z-50' ]; + const newClassNames: string[] = [ 'relative w-[40px] h-[40px] bg-no-repeat bg-center' ]; if(isGroup) newClassNames.push('group-badge'); @@ -31,7 +31,6 @@ export const LayoutBadgeImageView: FC = props => return newClassNames; }, [ classNames, isGroup, isGrayscale ]); - const getStyle = useMemo(() => { let newStyle: CSSProperties = {}; @@ -41,8 +40,6 @@ export const LayoutBadgeImageView: FC = props => newStyle.backgroundImage = `url(${ (isGroup) ? imageElement.src : GetConfigurationValue('badge.asset.url').replace('%badgename%', badgeCode.toString()) })`; newStyle.width = imageElement.width; newStyle.height = imageElement.height; - newStyle.zIndex = 50; - newStyle.position = 'relative'; if(scale !== 1) { diff --git a/Coolui v3 test/src/common/layout/LayoutTrophyView.tsx b/Coolui v3 test/src/common/layout/LayoutTrophyView.tsx index 2a0a68c74f..d5bb03e28b 100644 --- a/Coolui v3 test/src/common/layout/LayoutTrophyView.tsx +++ b/Coolui v3 test/src/common/layout/LayoutTrophyView.tsx @@ -1,4 +1,4 @@ -import { FC, ReactNode } from 'react'; +import { FC } from 'react'; import { LocalizeText } from '../../api'; import { Base } from '../Base'; import { Column } from '../Column'; @@ -14,22 +14,20 @@ interface LayoutTrophyViewProps senderName: string; customTitle?: string; onCloseClick: () => void; - children?: React.ReactNode; } export const LayoutTrophyView: FC = props => { - const { color = '', message = '', date = '', senderName = '', customTitle = null, onCloseClick = null, children = null } = props; + const { color = '', message = '', date = '', senderName = '', customTitle = null, onCloseClick = null } = props; return ( - + { LocalizeText('widget.furni.trophy.title') } - { children } { customTitle && { customTitle } } { message } diff --git a/Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserModActionView.tsx b/Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserModActionView.tsx deleted file mode 100644 index 2dcdd3e079..0000000000 --- a/Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserModActionView.tsx +++ /dev/null @@ -1,176 +0,0 @@ -import { CallForHelpTopicData, DefaultSanctionMessageComposer, ModAlertMessageComposer, ModBanMessageComposer, ModKickMessageComposer, ModMessageMessageComposer, ModMuteMessageComposer, ModTradingLockMessageComposer } from '@nitrots/nitro-renderer'; -import { FC, useMemo, useState } from 'react'; -import { ISelectedUser, LocalizeText, ModActionDefinition, NotificationAlertType, SendMessageComposer } from '../../../../api'; -import { Button, DraggableWindowPosition, Flex, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../common'; -import { useModTools, useNotification } from '../../../../hooks'; - -interface ModToolsUserModActionViewProps -{ - user: ISelectedUser; - onCloseClick: () => void; -} - -const MOD_ACTION_DEFINITIONS = [ - new ModActionDefinition(1, 'Alert', ModActionDefinition.ALERT, 1, 0), - new ModActionDefinition(2, 'Mute 1h', ModActionDefinition.MUTE, 2, 0), - new ModActionDefinition(3, 'Ban 18h', ModActionDefinition.BAN, 3, 0), - new ModActionDefinition(4, 'Ban 7 days', ModActionDefinition.BAN, 4, 0), - new ModActionDefinition(5, 'Ban 30 days (step 1)', ModActionDefinition.BAN, 5, 0), - new ModActionDefinition(7, 'Ban 30 days (step 2)', ModActionDefinition.BAN, 7, 0), - new ModActionDefinition(6, 'Ban 100 years', ModActionDefinition.BAN, 6, 0), - new ModActionDefinition(106, 'Ban avatar-only 100 years', ModActionDefinition.BAN, 6, 0), - new ModActionDefinition(101, 'Kick', ModActionDefinition.KICK, 0, 0), - new ModActionDefinition(102, 'Lock trade 1 week', ModActionDefinition.TRADE_LOCK, 0, 168), - new ModActionDefinition(104, 'Lock trade permanent', ModActionDefinition.TRADE_LOCK, 0, 876000), - new ModActionDefinition(105, 'Message', ModActionDefinition.MESSAGE, 0, 0), -]; - -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 { cfhCategories = null, settings = null } = useModTools(); - const { simpleAlert = null } = useNotification(); - - const topics = useMemo(() => - { - const values: CallForHelpTopicData[] = []; - - if(cfhCategories && cfhCategories.length) - { - for(const category of cfhCategories) - { - for(const topic of category.topics) values.push(topic); - } - } - - return values; - }, [ cfhCategories ]); - - const sendAlert = (message: string) => simpleAlert(message, NotificationAlertType.DEFAULT, null, null, 'Error'); - - const sendDefaultSanction = () => - { - let errorMessage: string = null; - - const category = topics[selectedTopic]; - - if(selectedTopic === -1) errorMessage = 'You must select a CFH topic'; - - if(errorMessage) return sendAlert(errorMessage); - - const messageOrDefault = (message.trim().length === 0) ? LocalizeText(`help.cfh.topic.${ category.id }`) : message; - - SendMessageComposer(new DefaultSanctionMessageComposer(user.userId, selectedTopic, messageOrDefault)); - - onCloseClick(); - }; - - const sendSanction = () => - { - let errorMessage: string = null; - - const category = topics[selectedTopic]; - const sanction = MOD_ACTION_DEFINITIONS[selectedAction]; - - if((selectedTopic === -1) || (selectedAction === -1)) errorMessage = 'You must select a CFH topic and Sanction'; - else if(!settings || !settings.cfhPermission) errorMessage = 'You do not have permission to do this'; - else if(!category) errorMessage = 'You must select a CFH topic'; - else if(!sanction) errorMessage = 'You must select a sanction'; - - if(errorMessage) - { - sendAlert(errorMessage); - - return; - } - - const messageOrDefault = (message.trim().length === 0) ? LocalizeText(`help.cfh.topic.${ category.id }`) : message; - - switch(sanction.actionType) - { - case ModActionDefinition.ALERT: { - if(!settings.alertPermission) - { - sendAlert('You have insufficient permissions'); - - return; - } - - SendMessageComposer(new ModAlertMessageComposer(user.userId, messageOrDefault, category.id)); - break; - } - case ModActionDefinition.MUTE: - SendMessageComposer(new ModMuteMessageComposer(user.userId, messageOrDefault, category.id)); - break; - case ModActionDefinition.BAN: { - if(!settings.banPermission) - { - sendAlert('You have insufficient permissions'); - - return; - } - - SendMessageComposer(new ModBanMessageComposer(user.userId, messageOrDefault, category.id, selectedAction, (sanction.actionId === 106))); - break; - } - case ModActionDefinition.KICK: { - if(!settings.kickPermission) - { - sendAlert('You have insufficient permissions'); - return; - } - - SendMessageComposer(new ModKickMessageComposer(user.userId, messageOrDefault, category.id)); - break; - } - case ModActionDefinition.TRADE_LOCK: { - const numSeconds = (sanction.actionLengthHours * 60); - - SendMessageComposer(new ModTradingLockMessageComposer(user.userId, messageOrDefault, numSeconds, category.id)); - break; - } - case ModActionDefinition.MESSAGE: { - if(message.trim().length === 0) - { - sendAlert('Please write a message to user'); - - return; - } - - SendMessageComposer(new ModMessageMessageComposer(user.userId, message, category.id)); - break; - } - } - - onCloseClick(); - }; - - if(!user) return null; - - return ( - - onCloseClick() } /> - - - -
- Optional message type, overrides default - - - - - ); -}; diff --git a/Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserView.tsx b/Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserView.tsx deleted file mode 100644 index 6f65700c58..0000000000 --- a/Coolui v3 test/src/components/mod-tools/views/user/ModToolsUserView.tsx +++ /dev/null @@ -1,156 +0,0 @@ -import { CreateLinkEvent, GetModeratorUserInfoMessageComposer, ModeratorUserInfoData, ModeratorUserInfoEvent } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useMemo, useState } from 'react'; -import { FriendlyTime, LocalizeText, SendMessageComposer } from '../../../../api'; -import { Button, Column, DraggableWindowPosition, Grid, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../common'; -import { useMessageEvent } from '../../../../hooks'; -import { ModToolsUserModActionView } from './ModToolsUserModActionView'; -import { ModToolsUserRoomVisitsView } from './ModToolsUserRoomVisitsView'; -import { ModToolsUserSendMessageView } from './ModToolsUserSendMessageView'; - -interface ModToolsUserViewProps -{ - userId: number; - onCloseClick: () => void; -} - -export const ModToolsUserView: FC = props => -{ - const { onCloseClick = null, userId = null } = props; - const [ userInfo, setUserInfo ] = useState(null); - const [ sendMessageVisible, setSendMessageVisible ] = useState(false); - const [ modActionVisible, setModActionVisible ] = useState(false); - const [ roomVisitsVisible, setRoomVisitsVisible ] = useState(false); - - const userProperties = useMemo(() => - { - if(!userInfo) return null; - - return [ - { - localeKey: 'modtools.userinfo.userName', - value: userInfo.userName, - showOnline: true - }, - { - localeKey: 'modtools.userinfo.cfhCount', - value: userInfo.cfhCount.toString() - }, - { - localeKey: 'modtools.userinfo.abusiveCfhCount', - value: userInfo.abusiveCfhCount.toString() - }, - { - localeKey: 'modtools.userinfo.cautionCount', - value: userInfo.cautionCount.toString() - }, - { - localeKey: 'modtools.userinfo.banCount', - value: userInfo.banCount.toString() - }, - { - localeKey: 'modtools.userinfo.lastSanctionTime', - value: userInfo.lastSanctionTime - }, - { - localeKey: 'modtools.userinfo.tradingLockCount', - value: userInfo.tradingLockCount.toString() - }, - { - localeKey: 'modtools.userinfo.tradingExpiryDate', - value: userInfo.tradingExpiryDate - }, - { - localeKey: 'modtools.userinfo.minutesSinceLastLogin', - value: FriendlyTime.format(userInfo.minutesSinceLastLogin * 60, '.ago', 2) - }, - { - localeKey: 'modtools.userinfo.lastPurchaseDate', - value: userInfo.lastPurchaseDate - }, - { - localeKey: 'modtools.userinfo.primaryEmailAddress', - value: userInfo.primaryEmailAddress - }, - { - localeKey: 'modtools.userinfo.identityRelatedBanCount', - value: userInfo.identityRelatedBanCount.toString() - }, - { - localeKey: 'modtools.userinfo.registrationAgeInMinutes', - value: FriendlyTime.format(userInfo.registrationAgeInMinutes * 60, '.ago', 2) - }, - { - localeKey: 'modtools.userinfo.userClassification', - value: userInfo.userClassification - } - ]; - }, [ userInfo ]); - - useMessageEvent(ModeratorUserInfoEvent, event => - { - const parser = event.getParser(); - - if(!parser || parser.data.userId !== userId) return; - - setUserInfo(parser.data); - }); - - useEffect(() => - { - SendMessageComposer(new GetModeratorUserInfoMessageComposer(userId)); - }, [ userId ]); - - if(!userInfo) return null; - - return ( - <> - - onCloseClick() } /> - - - - - - { userProperties.map( (property, index) => - { - - return ( - - - - - ); - }) } - -
{ LocalizeText(property.localeKey) } - { property.value } - { property.showOnline && - } -
-
- - - - - - -
-
-
- { sendMessageVisible && - setSendMessageVisible(false) } /> } - { modActionVisible && - setModActionVisible(false) } /> } - { roomVisitsVisible && - setRoomVisitsVisible(false) } /> } - - ); -}; diff --git a/Coolui v3 test/src/components/navigator/NavigatorView.tsx b/Coolui v3 test/src/components/navigator/NavigatorView.tsx deleted file mode 100644 index 813c390e5e..0000000000 --- a/Coolui v3 test/src/components/navigator/NavigatorView.tsx +++ /dev/null @@ -1,240 +0,0 @@ -import { NitroCard } from '@layout/NitroCard'; -import { AddLinkEventTracker, ConvertGlobalRoomIdMessageComposer, HabboWebTools, ILinkEventTracker, LegacyExternalInterface, NavigatorInitComposer, NavigatorSearchComposer, RemoveLinkEventTracker, RoomSessionEvent } from '@nitrots/nitro-renderer'; -import { FC, useCallback, useEffect, useRef, useState } from 'react'; -import { FaPlus } from 'react-icons/fa'; -import { LocalizeText, SendMessageComposer, TryVisitRoom } from '../../api'; -import { useNavigator, useNitroEvent } from '../../hooks'; -import { NavigatorDoorStateView } from './views/NavigatorDoorStateView'; -import { NavigatorRoomCreatorView } from './views/NavigatorRoomCreatorView'; -import { NavigatorRoomInfoView } from './views/NavigatorRoomInfoView'; -import { NavigatorRoomLinkView } from './views/NavigatorRoomLinkView'; -import { NavigatorRoomSettingsView } from './views/room-settings/NavigatorRoomSettingsView'; -import { NavigatorSearchResultView } from './views/search/NavigatorSearchResultView'; -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 { searchResult = null, topLevelContext = null, topLevelContexts = null, navigatorData = null } = useNavigator(); - const pendingSearch = useRef<{ value: string, code: string }>(null); - const elementRef = useRef(); - - useNitroEvent(RoomSessionEvent.CREATED, event => - { - setIsVisible(false); - setCreatorOpen(false); - }); - - const sendSearch = useCallback((searchValue: string, contextCode: string) => - { - setCreatorOpen(false); - - SendMessageComposer(new NavigatorSearchComposer(contextCode, searchValue)); - - setIsLoading(true); - }, []); - - const reloadCurrentSearch = useCallback(() => - { - if(!isReady) - { - setNeedsSearch(true); - - return; - } - - if(pendingSearch.current) - { - sendSearch(pendingSearch.current.value, pendingSearch.current.code); - - pendingSearch.current = null; - - return; - } - - if(searchResult) - { - sendSearch(searchResult.data, searchResult.code); - - return; - } - - if(!topLevelContext) return; - - sendSearch('', topLevelContext.code); - }, [ isReady, searchResult, topLevelContext, sendSearch ]); - - useEffect(() => - { - const linkTracker: ILinkEventTracker = { - linkReceived: (url: string) => - { - const parts = url.split('/'); - - if(parts.length < 2) return; - - switch(parts[1]) - { - case 'show': { - setIsVisible(true); - setNeedsSearch(true); - return; - } - case 'hide': - setIsVisible(false); - return; - case 'toggle': { - if(isVisible) - { - setIsVisible(false); - - return; - } - - setIsVisible(true); - setNeedsSearch(true); - return; - } - case 'toggle-room-info': - setRoomInfoOpen(value => !value); - return; - case 'toggle-room-link': - setRoomLinkOpen(value => !value); - return; - case 'goto': - if(parts.length <= 2) return; - - switch(parts[2]) - { - case 'home': - if(navigatorData.homeRoomId <= 0) return; - - TryVisitRoom(navigatorData.homeRoomId); - break; - default: { - const roomId = parseInt(parts[2]); - - TryVisitRoom(roomId); - } - } - return; - case 'create': - setIsVisible(true); - setCreatorOpen(true); - return; - case 'search': - if(parts.length > 2) - { - const topLevelContextCode = parts[2]; - - let searchValue = ''; - - if(parts.length > 3) searchValue = parts[3]; - - pendingSearch.current = { value: searchValue, code: topLevelContextCode }; - - setIsVisible(true); - setNeedsSearch(true); - } - return; - } - }, - eventUrlPrefix: 'navigator/' - }; - - AddLinkEventTracker(linkTracker); - - return () => RemoveLinkEventTracker(linkTracker); - }, [ isVisible, navigatorData ]); - - useEffect(() => - { - if(!searchResult) return; - - setIsLoading(false); - - if(elementRef && elementRef.current) elementRef.current.scrollTop = 0; - }, [ searchResult ]); - - useEffect(() => - { - if(!isVisible || !isReady || !needsSearch) return; - - reloadCurrentSearch(); - - setNeedsSearch(false); - }, [ isVisible, isReady, needsSearch, reloadCurrentSearch ]); - - useEffect(() => - { - if(isReady || !topLevelContext) return; - - setIsReady(true); - }, [ isReady, topLevelContext ]); - - useEffect(() => - { - if(!isVisible || !needsInit) return; - - SendMessageComposer(new NavigatorInitComposer()); - - setNeedsInit(false); - }, [ isVisible, needsInit ]); - - useEffect(() => - { - LegacyExternalInterface.addCallback(HabboWebTools.OPENROOM, (k: string, _arg_2: boolean = false, _arg_3: string = null) => SendMessageComposer(new ConvertGlobalRoomIdMessageComposer(k))); - }, []); - - return ( - <> - { isVisible && - - setIsVisible(false) } /> - - { topLevelContexts && (topLevelContexts.length > 0) && topLevelContexts.map((context, index) => - { - return ( - sendSearch('', context.code) }> - { LocalizeText(('navigator.toplevelview.' + context.code)) } - - ); - }) } - setCreatorOpen(true) }> - - - - - { !isCreatorOpen && - <> - -
- { (searchResult && searchResult.results.map((result, index) => )) } -
- } - { isCreatorOpen && } -
-
} - - { isRoomInfoOpen && setRoomInfoOpen(false) } /> } - { isRoomLinkOpen && setRoomLinkOpen(false) } /> } - - - ); -}; diff --git a/Coolui v3 test/src/components/navigator/views/NavigatorDoorStateView.tsx b/Coolui v3 test/src/components/navigator/views/NavigatorDoorStateView.tsx deleted file mode 100644 index 0dcaa45c99..0000000000 --- a/Coolui v3 test/src/components/navigator/views/NavigatorDoorStateView.tsx +++ /dev/null @@ -1,111 +0,0 @@ -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 ]; - -export const NavigatorDoorStateView: FC<{}> = props => -{ - const [ password, setPassword ] = useState(''); - const { doorData = null, setDoorData = null } = useNavigator(); - - const onClose = () => - { - if(doorData && (doorData.state === DoorStateType.STATE_WAITING)) GoToDesktop(); - - setDoorData(null); - }; - - const ring = () => - { - if(!doorData || !doorData.roomInfo) return; - - CreateRoomSession(doorData.roomInfo.roomId); - - setDoorData(prevValue => - { - const newValue = { ...prevValue }; - - newValue.state = DoorStateType.STATE_PENDING_SERVER; - - return newValue; - }); - }; - - const tryEntering = () => - { - if(!doorData || !doorData.roomInfo) return; - - CreateRoomSession(doorData.roomInfo.roomId, password); - - setDoorData(prevValue => - { - const newValue = { ...prevValue }; - - newValue.state = DoorStateType.STATE_PENDING_SERVER; - - return newValue; - }); - }; - - useEffect(() => - { - if(!doorData || (doorData.state !== DoorStateType.STATE_NO_ANSWER)) return; - - GoToDesktop(); - }, [ doorData ]); - - if(!doorData || (doorData.state === DoorStateType.NONE) || (VISIBLE_STATES.indexOf(doorData.state) === -1)) return null; - - const isDoorbell = (DOORBELL_STATES.indexOf(doorData.state) >= 0); - - 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') } } -
- { isDoorbell && -
- { (doorData.state === DoorStateType.START_DOORBELL) && - } - -
} - { !isDoorbell && - <> -
- { LocalizeText('navigator.password.enter') } - setPassword(event.target.value) } /> -
-
- - -
- } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/navigator/views/NavigatorRoomCreatorView.tsx b/Coolui v3 test/src/components/navigator/views/NavigatorRoomCreatorView.tsx deleted file mode 100644 index 8469af36f6..0000000000 --- a/Coolui v3 test/src/components/navigator/views/NavigatorRoomCreatorView.tsx +++ /dev/null @@ -1,123 +0,0 @@ - -import { CreateFlatMessageComposer, HabboClubLevelEnum } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useState } from 'react'; -import { GetClubMemberLevel, GetConfigurationValue, IRoomModel, LocalizeText, SendMessageComposer } from '../../../api'; -import { Button, Flex, Grid, LayoutCurrencyIcon, LayoutGridItem, Text } from '../../../common'; -import { useNavigator } from '../../../hooks'; -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 { categories = null } = useNavigator(); - - const hcDisabled = GetConfigurationValue('hc.disabled', false); - - const getRoomModelImage = (name: string) => GetConfigurationValue('images.url') + `/navigator/models/model_${ name }.png`; - - const selectModel = (model: IRoomModel, index: number) => - { - if(!model || (model.clubLevel > GetClubMemberLevel())) return; - - setSelectedModelName(roomModels[index].name); - }; - - const createRoom = () => - { - SendMessageComposer(new CreateFlatMessageComposer(name, description, 'model_' + selectedModelName, Number(category), Number(visitorsCount), tradesSetting)); - }; - - useEffect(() => - { - if(!maxVisitorsList) - { - const list = []; - - for(let i = 10; i <= 100; i = i + 10) list.push(i); - - setMaxVisitorsList(list); - setVisitorsCount(list[0]); - } - }, [ maxVisitorsList ]); - - useEffect(() => - { - if(categories && categories.length) setCategory(categories[0].id); - }, [ categories ]); - - useEffect(() => - { - const models = GetConfigurationValue('navigator.room.models'); - - if(models && models.length) - { - setRoomModels(models); - setSelectedModelName(models[0].name); - } - }, []); - - return ( -
- -
-
- { LocalizeText('navigator.createroom.roomnameinfo') } - setName(event.target.value) } /> -
-
- { LocalizeText('navigator.createroom.roomdescinfo') } - -
-
- - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureStackHeightView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/FurnitureStackHeightView.tsx deleted file mode 100644 index 741a35eee8..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureStackHeightView.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { FurnitureStackHeightComposer } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { LocalizeText, SendMessageComposer } from '../../../../api'; -import { Button, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../common'; -import { useFurnitureStackHeightWidget } from '../../../../hooks'; - -export const FurnitureStackHeightView: FC<{}> = props => -{ - const { objectId = -1, height = 0, maxHeight = 40, onClose = null, updateHeight = null } = useFurnitureStackHeightWidget(); - const [ tempHeight, setTempHeight ] = useState(''); - - const updateTempHeight = (value: string) => - { - setTempHeight(value); - - const newValue = parseFloat(value); - - if(isNaN(newValue) || (newValue === height)) return; - - updateHeight(newValue); - }; - - useEffect(() => - { - setTempHeight(height.toString()); - }, [ height ]); - - if(objectId === -1) return null; - - return ( - - - - { LocalizeText('widget.custom.stack.height.text') } -
-
{ state.valueNow }
} - step={ 0.01 } - value={ height } - onChange={ event => updateHeight(event) } /> - updateTempHeight(event.target.value) } /> -
-
- - -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureStickieView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/FurnitureStickieView.tsx deleted file mode 100644 index fec4845484..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureStickieView.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -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 getStickieColorName = (color: string) => -{ - let index = STICKIE_COLORS.indexOf(color); - - if(index === -1) index = 0; - - return STICKIE_COLOR_NAMES[index]; -}; - -const getStickieTypeName = (type: string) => -{ - let index = STICKIE_TYPES.indexOf(type); - - if(index === -1) index = 0; - - return STICKIE_TYPE_NAMES[index]; -}; - -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); - - useEffect(() => - { - setIsEditing(false); - }, [ objectId, color, text, type ]); - - if(objectId === -1) return null; - - return ( - -
-
-
- { canModify && - <> -
- { type == 'post_it' && - <> - { STICKIE_COLORS.map(color => - { - return
updateColor(color) } />; - }) } - } - } -
-
-
-
- { (!isEditing || !canModify) ?
(canModify && setIsEditing(true)) }>{ text }
: } -
-
- - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureTrophyView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/FurnitureTrophyView.tsx deleted file mode 100644 index 2e08af0658..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureTrophyView.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { FC } from 'react'; -import { LayoutTrophyView } from '../../../../common'; -import { useFurnitureTrophyWidget } from '../../../../hooks'; - -export const FurnitureTrophyView: FC<{}> = props => -{ - const { objectId = -1, color = '1', senderName = '', date = '', message = '', onClose = null } = useFurnitureTrophyWidget(); - - if(objectId === -1) return null; - - return ; -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureWidgetsView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/FurnitureWidgetsView.tsx deleted file mode 100644 index 8c6dba25e6..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureWidgetsView.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { FC } from 'react'; -import { FurnitureBackgroundColorView } from './FurnitureBackgroundColorView'; -import { FurnitureBadgeDisplayView } from './FurnitureBadgeDisplayView'; -import { FurnitureCraftingView } from './FurnitureCraftingView'; -import { FurnitureDimmerView } from './FurnitureDimmerView'; -import { FurnitureExchangeCreditView } from './FurnitureExchangeCreditView'; -import { FurnitureExternalImageView } from './FurnitureExternalImageView'; -import { FurnitureFriendFurniView } from './FurnitureFriendFurniView'; -import { FurnitureGiftOpeningView } from './FurnitureGiftOpeningView'; -import { FurnitureHighScoreView } from './FurnitureHighScoreView'; -import { FurnitureInternalLinkView } from './FurnitureInternalLinkView'; -import { FurnitureMannequinView } from './FurnitureMannequinView'; -import { FurnitureRoomLinkView } from './FurnitureRoomLinkView'; -import { FurnitureSpamWallPostItView } from './FurnitureSpamWallPostItView'; -import { FurnitureStackHeightView } from './FurnitureStackHeightView'; -import { FurnitureStickieView } from './FurnitureStickieView'; -import { FurnitureTrophyView } from './FurnitureTrophyView'; -import { FurnitureYoutubeDisplayView } from './FurnitureYoutubeDisplayView'; -import { FurnitureContextMenuView } from './context-menu/FurnitureContextMenuView'; -import { FurniturePlaylistEditorWidgetView } from './playlist-editor/FurniturePlaylistEditorWidgetView'; - -export const FurnitureWidgetsView: FC<{}> = props => -{ - return ( - <> - - - - - - - - - - - - - - - - - - - - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx deleted file mode 100644 index 0d8dd5e32d..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import YouTube, { Options } from 'react-youtube'; -import { YouTubePlayer } from 'youtube-player/dist/types'; -import { LocalizeText, YoutubeVideoPlaybackStateEnum } from '../../../../api'; -import { AutoGrid, AutoGridProps, LayoutGridItem, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../common'; -import { useFurnitureYoutubeWidget } from '../../../../hooks'; - -interface FurnitureYoutubeDisplayViewProps extends AutoGridProps -{ - -} - -export const FurnitureYoutubeDisplayView: FC<{}> = FurnitureYoutubeDisplayViewProps => -{ - 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 }) => - { - setPlayer(event.target); - - if(objectId === -1) return; - - switch(event.target.getPlayerState()) - { - case -1: - case 1: - if(currentVideoState === 2) - { - //event.target.pauseVideo(); - } - - if(currentVideoState !== 1) play(); - return; - case 2: - if(currentVideoState !== 2) pause(); - } - }; - - useEffect(() => - { - if((currentVideoState === null) || !player) return; - - if((currentVideoState === YoutubeVideoPlaybackStateEnum.PLAYING) && (player.getPlayerState() !== YoutubeVideoPlaybackStateEnum.PLAYING)) - { - player.playVideo(); - - return; - } - - if((currentVideoState === YoutubeVideoPlaybackStateEnum.PAUSED) && (player.getPlayerState() !== YoutubeVideoPlaybackStateEnum.PAUSED)) - { - player.pauseVideo(); - - return; - } - }, [ currentVideoState, player ]); - - if(objectId === -1) return null; - - const youtubeOptions: Options = { - height: '375', - width: '500', - playerVars: { - autoplay: 1, - disablekb: 1, - controls: 0, - origin: window.origin, - modestbranding: 1, - start: videoStart, - end: videoEnd - } - }; - - return ( - - - -
-
- { (videoId && videoId.length > 0) && - setPlayer(event.target) } onStateChange={ onStateChange } /> - } - { (!videoId || videoId.length === 0) && -
{ LocalizeText('widget.furni.video_viewer.no_videos') }
- } -
-
- - - - -
{ LocalizeText('widget.furni.video_viewer.playlists') }
- - { playlists && playlists.map((entry, index) => - { - return ( - selectVideo(entry.video) }> - { entry.title } - - ); - }) } - -
-
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/context-menu/EffectBoxConfirmView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/context-menu/EffectBoxConfirmView.tsx deleted file mode 100644 index a818152b3f..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/context-menu/EffectBoxConfirmView.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { FC } from 'react'; -import { LocalizeText } from '../../../../../api'; -import { Button, Column, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../../common'; -import { useRoom } from '../../../../../hooks'; - -interface EffectBoxConfirmViewProps -{ - objectId: number; - onClose: () => void; -} - -export const EffectBoxConfirmView: FC = props => -{ - const { objectId = -1, onClose = null } = props; - const { roomSession = null } = useRoom(); - - const useProduct = () => - { - roomSession.useMultistateItem(objectId); - - onClose(); - }; - - return ( - - - -
- - { LocalizeText('effectbox.header.description') } -
- - -
-
-
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/context-menu/FurnitureContextMenuView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/context-menu/FurnitureContextMenuView.tsx deleted file mode 100644 index 7976d99ce9..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/context-menu/FurnitureContextMenuView.tsx +++ /dev/null @@ -1,130 +0,0 @@ -import { ContextMenuEnum, CustomUserNotificationMessageEvent, GetSessionDataManager, RoomObjectCategory } from '@nitrots/nitro-renderer'; -import { FC } from 'react'; -import { GetGroupInformation, LocalizeText } from '../../../../../api'; -import { EFFECTBOX_OPEN, GROUP_FURNITURE, MONSTERPLANT_SEED_CONFIRMATION, MYSTERYTROPHY_OPEN_DIALOG, PURCHASABLE_CLOTHING_CONFIRMATION, useFurnitureContextMenuWidget, useMessageEvent, useNotification } from '../../../../../hooks'; -import { ContextMenuHeaderView } from '../../context-menu/ContextMenuHeaderView'; -import { ContextMenuListItemView } from '../../context-menu/ContextMenuListItemView'; -import { ContextMenuView } from '../../context-menu/ContextMenuView'; -import { FurnitureMysteryBoxOpenDialogView } from '../FurnitureMysteryBoxOpenDialogView'; -import { FurnitureMysteryTrophyOpenDialogView } from '../FurnitureMysteryTrophyOpenDialogView'; -import { EffectBoxConfirmView } from './EffectBoxConfirmView'; -import { MonsterPlantSeedConfirmView } from './MonsterPlantSeedConfirmView'; -import { PurchasableClothingConfirmView } from './PurchasableClothingConfirmView'; - -export const FurnitureContextMenuView: FC<{}> = props => -{ - const { closeConfirm = null, processAction = null, onClose = null, objectId = -1, mode = null, confirmMode = null, confirmingObjectId = -1, groupData = null, isGroupMember = false, objectOwnerId = -1 } = useFurnitureContextMenuWidget(); - const { simpleAlert = null } = useNotification(); - - useMessageEvent(CustomUserNotificationMessageEvent, event => - { - const parser = event.getParser(); - - if(!parser) return; - - // HOPPER_NO_COSTUME = 1; HOPPER_NO_HC = 2; GATE_NO_HC = 3; STARS_NOT_CANDIDATE = 4 (not coded in Emulator); STARS_NOT_ENOUGH_USERS = 5 (not coded in Emulator); - - switch(parser.count) - { - case 1: - simpleAlert(LocalizeText('costumehopper.costumerequired.bodytext'), null, 'catalog/open/temporary_effects' , LocalizeText('costumehopper.costumerequired.buy'), LocalizeText('costumehopper.costumerequired.header'), null); - break; - case 2: - simpleAlert(LocalizeText('viphopper.viprequired.bodytext'), null, 'catalog/open/habbo_club' , LocalizeText('viprequired.buy.vip'), LocalizeText('viprequired.header'), null); - break; - case 3: - simpleAlert(LocalizeText('gate.viprequired.bodytext'), null, 'catalog/open/habbo_club' , LocalizeText('viprequired.buy.vip'), LocalizeText('gate.viprequired.title'), null); - break; - } - }); - - const isOwner = GetSessionDataManager().userId === objectOwnerId; - - return ( - <> - { (confirmMode === MONSTERPLANT_SEED_CONFIRMATION) && - } - { (confirmMode === PURCHASABLE_CLOTHING_CONFIRMATION) && - } - { (confirmMode === EFFECTBOX_OPEN) && - } - { (confirmMode === MYSTERYTROPHY_OPEN_DIALOG) && - } - - { (objectId >= 0) && mode && - - { (mode === ContextMenuEnum.FRIEND_FURNITURE) && - <> - - { LocalizeText('friendfurni.context.title') } - - processAction('use_friend_furni') }> - { LocalizeText('friendfurni.context.use') } - - } - { (mode === ContextMenuEnum.MONSTERPLANT_SEED) && - <> - - { LocalizeText('furni.mnstr_seed.name') } - - processAction('use_monsterplant_seed') }> - { LocalizeText('widget.monsterplant_seed.button.use') } - - } - { (mode === ContextMenuEnum.RANDOM_TELEPORT) && - <> - - { LocalizeText('furni.random_teleport.name') } - - processAction('use_random_teleport') }> - { LocalizeText('widget.random_teleport.button.use') } - - } - { (mode === ContextMenuEnum.PURCHASABLE_CLOTHING) && - <> - - { LocalizeText('furni.generic_usable.name') } - - processAction('use_purchaseable_clothing') }> - { LocalizeText('widget.generic_usable.button.use') } - - } - { (mode === ContextMenuEnum.MYSTERY_BOX) && - <> - - { LocalizeText('mysterybox.context.title') } - - processAction('use_mystery_box') }> - { LocalizeText('mysterybox.context.' + ((isOwner) ? 'owner' : 'other') + '.use') } - - } - { (mode === ContextMenuEnum.MYSTERY_TROPHY) && - <> - - { LocalizeText('mysterytrophy.header.title') } - - processAction('use_mystery_trophy') }> - { LocalizeText('friendfurni.context.use') } - - } - { (mode === GROUP_FURNITURE) && groupData && - <> - GetGroupInformation(groupData.guildId) }> - { groupData.guildName } - - { !isGroupMember && - processAction('join_group') }> - { LocalizeText('widget.furniture.button.join.group') } - } - processAction('go_to_group_homeroom') }> - { LocalizeText('widget.furniture.button.go.to.group.home.room') } - - { groupData.guildHasReadableForum && - processAction('open_forum') }> - { LocalizeText('widget.furniture.button.open_group_forum') } - } - } - } - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/context-menu/MonsterPlantSeedConfirmView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/context-menu/MonsterPlantSeedConfirmView.tsx deleted file mode 100644 index 4a5ed984ee..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/context-menu/MonsterPlantSeedConfirmView.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { IFurnitureData, RoomObjectCategory } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useState } from 'react'; -import { FurniCategory, GetFurnitureDataForRoomObject, LocalizeText } from '../../../../../api'; -import { Button, Column, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../../common'; -import { useRoom } from '../../../../../hooks'; - -interface MonsterPlantSeedConfirmViewProps -{ - objectId: number; - onClose: () => void; -} - -const MODE_DEFAULT: number = -1; -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 { roomSession = null } = useRoom(); - - const useProduct = () => - { - roomSession.useMultistateItem(objectId); - - onClose(); - }; - - useEffect(() => - { - if(!roomSession || (objectId === -1)) return; - - const furniData = GetFurnitureDataForRoomObject(roomSession.roomId, objectId, RoomObjectCategory.FLOOR); - - if(!furniData) return; - - setFurniData(furniData); - - let mode = MODE_DEFAULT; - - switch(furniData.specialType) - { - case FurniCategory.MONSTERPLANT_SEED: - mode = MODE_MONSTERPLANT_SEED; - break; - } - - if(mode === MODE_DEFAULT) - { - onClose(); - - return; - } - - setMode(mode); - }, [ roomSession, objectId, onClose ]); - - if(mode === MODE_DEFAULT) return null; - - return ( - - - -
-
-
-
-
-
-
- - { LocalizeText('useproduct.widget.text.plant_seed', [ 'productName' ], [ furniData.name ]) } - { LocalizeText('useproduct.widget.info.plant_seed') } - -
- - -
-
-
- - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/context-menu/PurchasableClothingConfirmView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/context-menu/PurchasableClothingConfirmView.tsx deleted file mode 100644 index 85a6f8062e..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/context-menu/PurchasableClothingConfirmView.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { AvatarFigurePartType, GetAvatarRenderManager, GetSessionDataManager, RedeemItemClothingComposer, RoomObjectCategory, UserFigureComposer } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useState } from 'react'; -import { FurniCategory, GetFurnitureDataForRoomObject, LocalizeText, SendMessageComposer } from '../../../../../api'; -import { Button, Column, LayoutAvatarImageView, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../../common'; -import { useRoom } from '../../../../../hooks'; - -interface PurchasableClothingConfirmViewProps -{ - objectId: number; - onClose: () => void; -} - -const MODE_DEFAULT: number = -1; -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 { roomSession = null } = useRoom(); - - const useProduct = () => - { - SendMessageComposer(new RedeemItemClothingComposer(objectId)); - SendMessageComposer(new UserFigureComposer(gender, newFigure)); - - onClose(); - }; - - useEffect(() => - { - let mode = MODE_DEFAULT; - - const figure = GetSessionDataManager().figure; - const gender = GetSessionDataManager().gender; - const validSets: number[] = []; - - if(roomSession && (objectId >= 0)) - { - const furniData = GetFurnitureDataForRoomObject(roomSession.roomId, objectId, RoomObjectCategory.FLOOR); - - if(furniData) - { - switch(furniData.specialType) - { - case FurniCategory.FIGURE_PURCHASABLE_SET: - mode = MODE_PURCHASABLE_CLOTHING; - - const setIds = furniData.customParams.split(',').map(part => parseInt(part)); - - for(const setId of setIds) - { - if(GetAvatarRenderManager().isValidFigureSetForGender(setId, gender)) validSets.push(setId); - } - - break; - } - } - } - - if(mode === MODE_DEFAULT) - { - onClose(); - - return; - } - - setGender(gender); - setNewFigure(GetAvatarRenderManager().getFigureStringWithFigureIds(figure, gender, validSets)); - - // if owns clothing, change to it - - setMode(mode); - }, [ roomSession, objectId, onClose ]); - - if(mode === MODE_DEFAULT) return null; - - return ( - - - -
-
-
- -
-
-
- - { LocalizeText('useproduct.widget.text.bind_clothing') } - { LocalizeText('useproduct.widget.info.bind_clothing') } - -
- - -
-
-
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/DiskInventoryView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/DiskInventoryView.tsx deleted file mode 100644 index 7550af9bf4..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/DiskInventoryView.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { CreateLinkEvent, GetSoundManager, IAdvancedMap, MusicPriorities } from '@nitrots/nitro-renderer'; -import { FC, MouseEvent, useCallback, useEffect, useState } from 'react'; -import { CatalogPageName, GetConfigurationValue, GetDiskColor, LocalizeText } from '../../../../../api'; -import { AutoGrid, Button, Flex, LayoutGridItem, Text } from '../../../../../common'; - -export interface DiskInventoryViewProps -{ - diskInventory: IAdvancedMap; - addToPlaylist: (diskId: number, slotNumber: number) => void; -} - -export const DiskInventoryView: FC = props => -{ - const { diskInventory = null, addToPlaylist = null } = props; - const [ selectedItem, setSelectedItem ] = useState(-1); - const [ previewSongId, setPreviewSongId ] = useState(-1); - - const previewSong = useCallback((event: MouseEvent, songId: number) => - { - event.stopPropagation(); - - setPreviewSongId(prevValue => (prevValue === songId) ? -1 : songId); - }, []); - - const addSong = useCallback((event: MouseEvent, diskId: number) => - { - event.stopPropagation(); - - addToPlaylist(diskId, GetSoundManager().musicController?.getRoomItemPlaylist()?.length); - }, [ addToPlaylist ]); - - const openCatalogPage = () => - { - CreateLinkEvent('catalog/open/' + CatalogPageName.TRAX_SONGS); - }; - - useEffect(() => - { - if(previewSongId === -1) return; - - GetSoundManager().musicController?.playSong(previewSongId, MusicPriorities.PRIORITY_SONG_PLAY, 0, 0, 0, 0); - - return () => - { - GetSoundManager().musicController?.stop(MusicPriorities.PRIORITY_SONG_PLAY); - }; - }, [ previewSongId ]); - - useEffect(() => - { - return () => setPreviewSongId(-1); - }, []); - - return (<> -
- -

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

-
-
- - { 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) }> -
-
- { 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') }
- -
- - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/FurniturePlaylistEditorWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/FurniturePlaylistEditorWidgetView.tsx deleted file mode 100644 index 611eba2195..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/FurniturePlaylistEditorWidgetView.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { FC } from 'react'; -import { LocalizeText } from '../../../../../api'; -import { NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../../common'; -import { useFurniturePlaylistEditorWidget } from '../../../../../hooks'; -import { DiskInventoryView } from './DiskInventoryView'; -import { SongPlaylistView } from './SongPlaylistView'; - -export const FurniturePlaylistEditorWidgetView: FC<{}> = props => -{ - const { objectId = -1, currentPlayingIndex = -1, playlist = null, diskInventory = null, onClose = null, togglePlayPause = null, removeFromPlaylist = null, addToPlaylist = null } = useFurniturePlaylistEditorWidget(); - - if(objectId === -1) return null; - - return ( - - - -
-
- -
-
- -
-
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/SongPlaylistView.tsx b/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/SongPlaylistView.tsx deleted file mode 100644 index 95289a7266..0000000000 --- a/Coolui v3 test/src/components/room/widgets/furniture/playlist-editor/SongPlaylistView.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import { ISongInfo } from '@nitrots/nitro-renderer'; -import { FC, useState } from 'react'; -import { GetConfigurationValue, GetDiskColor, LocalizeText } from '../../../../../api'; -import { Button, Text } from '../../../../../common'; - -export interface SongPlaylistViewProps -{ - furniId: number; - playlist: ISongInfo[]; - currentPlayingIndex: number; - removeFromPlaylist(slotNumber: number): void; - togglePlayPause(furniId: number, position: number): void; -} - -export const SongPlaylistView: FC = props => -{ - const { furniId = -1, playlist = null, currentPlayingIndex = -1, removeFromPlaylist = null, togglePlayPause = null } = props; - const [ selectedItem, setSelectedItem ] = useState(-1); - - const action = (index: number) => - { - if(selectedItem === index) removeFromPlaylist(index); - }; - - const playPause = (furniId: number, selectedItem: number) => - { - togglePlayPause(furniId, selectedItem !== -1 ? selectedItem : 0); - }; - - return (<> -
- -

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

-
-
-
- { playlist && playlist.map((songInfo, index) => - { - return
setSelectedItem(prev => prev === index ? -1 : index) }> -
action(index) } /> - { songInfo.name } -
; - }) } - -
-
- { (!playlist || playlist.length === 0) && - <>
-
{ LocalizeText('playlist.editor.add.songs.to.your.playlist') }
-
{ LocalizeText('playlist.editor.text.click.song.to.choose.click.again.to.move') }
-
- - } - { (playlist && playlist.length > 0) && - <> - { (currentPlayingIndex === -1) && - - } - { (currentPlayingIndex !== -1) && -
- -
- { LocalizeText('playlist.editor.text.now.playing.in.your.room') } - - { playlist[currentPlayingIndex]?.name + ' - ' + playlist[currentPlayingIndex]?.creator } - -
-
- } - - } - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/mysterybox/MysteryBoxExtensionView.tsx b/Coolui v3 test/src/components/room/widgets/mysterybox/MysteryBoxExtensionView.tsx deleted file mode 100644 index 1e1828627b..0000000000 --- a/Coolui v3 test/src/components/room/widgets/mysterybox/MysteryBoxExtensionView.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { MysteryBoxKeysUpdateEvent } from '@nitrots/nitro-renderer'; -import { FC, useState } from 'react'; -import { FaChevronDown, FaChevronUp } from 'react-icons/fa'; -import { ColorUtils, LocalizeText } from '../../../../api'; -import { Flex, LayoutGridItem, Text } from '../../../../common'; -import { useNitroEvent } from '../../../../hooks'; - -const colorMap = { - 'purple': 9452386, - 'blue': 3891856, - 'green': 6459451, - 'yellow': 10658089, - 'lilac': 6897548, - 'orange': 10841125, - 'turquoise': 2661026, - 'red': 10104881 -}; - -export const MysteryBoxExtensionView: FC<{}> = props => -{ - const [ isOpen, setIsOpen ] = useState(true); - const [ keyColor, setKeyColor ] = useState(''); - const [ boxColor, setBoxColor ] = useState(''); - - useNitroEvent(MysteryBoxKeysUpdateEvent.MYSTERY_BOX_KEYS_UPDATE, event => - { - setKeyColor(event.keyColor); - setBoxColor(event.boxColor); - }); - - const getRgbColor = (color: string) => - { - const colorInt = colorMap[color]; - - return ColorUtils.int2rgb(colorInt); - }; - - if(keyColor === '' && boxColor === '') return null; - - return ( -
-
- setIsOpen(value => !value) }> - { LocalizeText('mysterybox.tracker.title') } - { isOpen && } - { !isOpen && } - - { isOpen && - <> - { LocalizeText('mysterybox.tracker.description') } -
- -
-
-
- - -
-
-
- -
- } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/object-location/ObjectLocationView.tsx b/Coolui v3 test/src/components/room/widgets/object-location/ObjectLocationView.tsx deleted file mode 100644 index 0bd1a4837f..0000000000 --- a/Coolui v3 test/src/components/room/widgets/object-location/ObjectLocationView.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { GetTicker } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useRef, useState } from 'react'; -import { GetRoomObjectBounds, GetRoomSession } from '../../../../api'; -import { BaseProps } from '../../../../common'; - -interface ObjectLocationViewProps extends BaseProps -{ - objectId: number; - category: number; - noFollow?: boolean; -} - -export const ObjectLocationView: FC = props => -{ - const { objectId = -1, category = -1, noFollow = false, ...rest } = props; - const [ pos, setPos ] = useState<{ x: number, y: number }>({ x: -1, y: -1 }); - const elementRef = useRef(); - - useEffect(() => - { - let remove = false; - - const getObjectLocation = () => - { - const roomSession = GetRoomSession(); - const objectBounds = GetRoomObjectBounds(roomSession.roomId, objectId, category, 1); - - return objectBounds; - }; - - const updatePosition = () => - { - const bounds = getObjectLocation(); - - if(!bounds || !elementRef.current) return; - - setPos({ - x: Math.round(((bounds.left + (bounds.width / 2)) - (elementRef.current.offsetWidth / 2))), - y: Math.round((bounds.top - elementRef.current.offsetHeight) + 10) - }); - }; - - if(noFollow) - { - updatePosition(); - } - else - { - remove = true; - - GetTicker().add(updatePosition); - } - - return () => - { - if(remove) GetTicker().remove(updatePosition); - }; - }, [ objectId, category, noFollow ]); - - return
-1) ? 'visible' : 'hidden' } } { ...rest } />; -}; diff --git a/Coolui v3 test/src/components/room/widgets/pet-package/PetPackageWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/pet-package/PetPackageWidgetView.tsx deleted file mode 100644 index 9b4ff4a166..0000000000 --- a/Coolui v3 test/src/components/room/widgets/pet-package/PetPackageWidgetView.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { FC } from 'react'; -import { GetConfigurationValue, LocalizeText } from '../../../../api'; -import { Button, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../common'; -import { usePetPackageWidget } from '../../../../hooks'; - -export const PetPackageWidgetView: FC<{}> = props => -{ - const { isVisible = false, errorResult = null, petName = null, objectType = null, onChangePetName = null, onConfirm = null, onClose = null } = usePetPackageWidget(); - - return ( - <> - { isVisible && - - onClose() } /> - -
-
-
- { objectType === 'gnome_box' ? LocalizeText('widgets.gnomepackage.name.title') : LocalizeText('furni.petpackage') } -
-
-
-
-
- onChangePetName(event.target.value) } /> -
-
- { (errorResult.length > 0) && -
{ errorResult }
} -
- onClose() }>{ LocalizeText('cancel') } - -
-
-
-
-
- } - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/room-filter-words/RoomFilterWordsWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/room-filter-words/RoomFilterWordsWidgetView.tsx deleted file mode 100644 index bbed44b1f8..0000000000 --- a/Coolui v3 test/src/components/room/widgets/room-filter-words/RoomFilterWordsWidgetView.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { UpdateRoomFilterMessageComposer } from '@nitrots/nitro-renderer'; -import { FC, useState } from 'react'; -import { LocalizeText, SendMessageComposer } from '../../../../api'; -import { Button, Column, Flex, Grid, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../common'; -import { useFilterWordsWidget, useNavigator } from '../../../../hooks'; -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 { wordsFilter = [], isVisible = null, setWordsFilter, onClose = null } = useFilterWordsWidget(); - const { navigatorData = null } = useNavigator(); - - const processAction = (isAddingWord: boolean) => - { - if((isSelectingWord) ? (!selectedWord) : (!word)) return; - - SendMessageComposer(new UpdateRoomFilterMessageComposer(navigatorData.enteredGuestRoom.roomId, isAddingWord, (isSelectingWord ? selectedWord : word))); - setSelectedWord(''); - setWord('bobba'); - setIsSelectingWord(false); - - if(isAddingWord && wordsFilter.includes((isSelectingWord ? selectedWord : word))) return; - - setWordsFilter(prevValue => - { - const newWords = [ ...prevValue ]; - - isAddingWord ? newWords.push((isSelectingWord ? selectedWord : word)) : newWords.splice(newWords.indexOf((isSelectingWord ? selectedWord : word)), 1); - - return newWords; - }); - }; - - const onTyping = (word: string) => - { - setWord(word); - setIsSelectingWord(false); - }; - - const onSelectedWord = (word: string) => - { - setSelectedWord(word); - setIsSelectingWord(true); - }; - - if(!isVisible) return null; - - return ( - - onClose() } /> - - - onTyping(event.target.value) } /> - - - - { wordsFilter && (wordsFilter.length > 0) && wordsFilter.map((word, index) => - { - return ( - onSelectedWord(word) }> - { word } - - ); - }) } - - - - - - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/room-promotes/RoomPromotesWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/room-promotes/RoomPromotesWidgetView.tsx deleted file mode 100644 index 07cf84185d..0000000000 --- a/Coolui v3 test/src/components/room/widgets/room-promotes/RoomPromotesWidgetView.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { DesktopViewEvent, GetSessionDataManager } from '@nitrots/nitro-renderer'; -import { FC, useState } from 'react'; -import { FaChevronDown, FaChevronUp } from 'react-icons/fa'; -import { Flex, Text } from '../../../../common'; -import { useMessageEvent, useRoomPromote } from '../../../../hooks'; -import { RoomPromoteEditWidgetView, RoomPromoteMyOwnEventWidgetView, RoomPromoteOtherEventWidgetView } from './views'; - -export const RoomPromotesWidgetView: FC<{}> = props => -{ - const [ isEditingPromote, setIsEditingPromote ] = useState(false); - const [ isOpen, setIsOpen ] = useState(true); - const { promoteInformation, setPromoteInformation } = useRoomPromote(); - - useMessageEvent(DesktopViewEvent, event => - { - setPromoteInformation(null); - }); - - if(!promoteInformation) return null; - - return ( - <> - { promoteInformation.data.adId !== -1 && -
-
- setIsOpen(value => !value) }> - { promoteInformation.data.eventName } - { isOpen && } - { !isOpen && } - - { (isOpen && GetSessionDataManager().userId !== promoteInformation.data.ownerAvatarId) && - - } - { (isOpen && GetSessionDataManager().userId === promoteInformation.data.ownerAvatarId) && - setIsEditingPromote(true) } - /> - } - { isEditingPromote && - setIsEditingPromote(false) } - /> - } -
-
- } - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteEditWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteEditWidgetView.tsx deleted file mode 100644 index bb3e6102d2..0000000000 --- a/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteEditWidgetView.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { EditEventMessageComposer } from '@nitrots/nitro-renderer'; -import { FC, useState } from 'react'; -import { LocalizeText, SendMessageComposer } from '../../../../../api'; -import { Button, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../../common'; -import { NitroInput } from '../../../../../layout'; - -interface RoomPromoteEditWidgetViewProps -{ - eventId: number; - eventName: string; - eventDescription: string; - setIsEditingPromote: (value: boolean) => void; -} - -export const RoomPromoteEditWidgetView: FC = props => -{ - const { eventId = -1, eventName = '', eventDescription = '', setIsEditingPromote = null } = props; - const [ newEventName, setNewEventName ] = useState(eventName); - const [ newEventDescription, setNewEventDescription ] = useState(eventDescription); - - const updatePromote = () => - { - SendMessageComposer(new EditEventMessageComposer(eventId, newEventName, newEventDescription)); - setIsEditingPromote(false); - }; - - return ( - - setIsEditingPromote(false) } /> - -
- { LocalizeText('navigator.eventsettings.name') } - setNewEventName(event.target.value) } /> -
-
- { LocalizeText('navigator.eventsettings.desc') } - -
-
- -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteMyOwnEventWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteMyOwnEventWidgetView.tsx deleted file mode 100644 index e53497d036..0000000000 --- a/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteMyOwnEventWidgetView.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { CreateLinkEvent } from '@nitrots/nitro-renderer'; -import { FC } from 'react'; -import { LocalizeText } from '../../../../../api'; -import { Button, Flex, Grid, Text } from '../../../../../common'; -import { useRoomPromote } from '../../../../../hooks'; - -interface RoomPromoteMyOwnEventWidgetViewProps -{ - eventDescription: string; - setIsEditingPromote: (value: boolean) => void; -} - -export const RoomPromoteMyOwnEventWidgetView: FC = props => -{ - const { eventDescription = '', setIsEditingPromote = null } = props; - const { setIsExtended } = useRoomPromote(); - - const extendPromote = () => - { - setIsExtended(true); - CreateLinkEvent('catalog/open/room_event'); - }; - - return ( - <> - - { eventDescription } - -

- - - - - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteOtherEventWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteOtherEventWidgetView.tsx deleted file mode 100644 index 3a3ed08af4..0000000000 --- a/Coolui v3 test/src/components/room/widgets/room-promotes/views/RoomPromoteOtherEventWidgetView.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { FC } from 'react'; -import { LocalizeText } from '../../../../../api'; -import { Column, Flex, Text } from '../../../../../common'; - -interface RoomPromoteOtherEventWidgetViewProps -{ - eventDescription: string; -} - -export const RoomPromoteOtherEventWidgetView: FC = props => -{ - const { eventDescription = '' } = props; - - return ( - <> - - { eventDescription } - -

- -
-
- { LocalizeText('navigator.eventinprogress') } -
-   -
-
- - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/room-promotes/views/index.ts b/Coolui v3 test/src/components/room/widgets/room-promotes/views/index.ts deleted file mode 100644 index da746917f6..0000000000 --- a/Coolui v3 test/src/components/room/widgets/room-promotes/views/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './RoomPromoteEditWidgetView'; -export * from './RoomPromoteMyOwnEventWidgetView'; -export * from './RoomPromoteOtherEventWidgetView'; diff --git a/Coolui v3 test/src/components/room/widgets/room-thumbnail/RoomThumbnailWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/room-thumbnail/RoomThumbnailWidgetView.tsx deleted file mode 100644 index a14744c259..0000000000 --- a/Coolui v3 test/src/components/room/widgets/room-thumbnail/RoomThumbnailWidgetView.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { GetRoomEngine, NitroRenderTexture } from '@nitrots/nitro-renderer'; -import { FC, useState } from 'react'; -import { LayoutMiniCameraView } from '../../../../common'; -import { RoomWidgetThumbnailEvent } from '../../../../events'; -import { useRoom, useUiEvent } from '../../../../hooks'; - -export const RoomThumbnailWidgetView: FC<{}> = props => -{ - const [ isVisible, setIsVisible ] = useState(false); - const { roomSession = null } = useRoom(); - - useUiEvent([ - RoomWidgetThumbnailEvent.SHOW_THUMBNAIL, - RoomWidgetThumbnailEvent.HIDE_THUMBNAIL, - RoomWidgetThumbnailEvent.TOGGLE_THUMBNAIL ], event => - { - switch(event.type) - { - case RoomWidgetThumbnailEvent.SHOW_THUMBNAIL: - setIsVisible(true); - return; - case RoomWidgetThumbnailEvent.HIDE_THUMBNAIL: - setIsVisible(false); - return; - case RoomWidgetThumbnailEvent.TOGGLE_THUMBNAIL: - setIsVisible(value => !value); - return; - } - }); - - const receiveTexture = async (texture: NitroRenderTexture) => - { - await GetRoomEngine().saveTextureAsScreenshot(texture, true); - - setIsVisible(false); - }; - - if(!isVisible) return null; - - return setIsVisible(false) } />; -}; diff --git a/Coolui v3 test/src/components/room/widgets/room-tools/RoomToolsWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/room-tools/RoomToolsWidgetView.tsx deleted file mode 100644 index 19d382ac8f..0000000000 --- a/Coolui v3 test/src/components/room/widgets/room-tools/RoomToolsWidgetView.tsx +++ /dev/null @@ -1,162 +0,0 @@ -import { CreateLinkEvent, GetGuestRoomResultEvent, GetRoomEngine, NavigatorSearchComposer, RateFlatMessageComposer } from '@nitrots/nitro-renderer'; -import { AnimatePresence, motion } from 'framer-motion'; -import { classNames } from '../../../../layout'; -import { FC, useEffect, useState } from 'react'; -import { GetConfigurationValue, LocalizeText, SendMessageComposer, SetLocalStorage, TryVisitRoom } from '../../../../api'; -import { Text } from '../../../../common'; -import { useMessageEvent, useNavigator, useRoom } from '../../../../hooks'; - -export const RoomToolsWidgetView: FC<{}> = props => { - const [areBubblesMuted, setAreBubblesMuted] = 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 [isOpenHistory, setIsOpenHistory] = useState(false); - const [roomHistory, setRoomHistory] = useState<{ roomId: number, roomName: string }[]>([]); - const { navigatorData = null } = useNavigator(); - const { roomSession = null } = useRoom(); - - const handleToolClick = (action: string, value?: string) => { - if (!roomSession) return; - - switch (action) { - case 'settings': - CreateLinkEvent('navigator/toggle-room-info'); - return; - case 'zoom': - setIsZoomedIn(prevValue => { - if (GetConfigurationValue('room.zoom.enabled', true)) { - const scale = GetRoomEngine().getRoomInstanceRenderingCanvasScale(roomSession.roomId, 1); - GetRoomEngine().setRoomInstanceRenderingCanvasScale(roomSession.roomId, 1, scale === 1 ? 0.5 : 1); - } else { - const geometry = GetRoomEngine().getRoomInstanceGeometry(roomSession.roomId, 1); - if (geometry) geometry.performZoom(); - } - return !prevValue; - }); - return; - case 'chat_history': - CreateLinkEvent('chat-history/toggle'); - return; - case 'hiddenbubbles': - CreateLinkEvent('nitrobubblehidden/toggle'); - setAreBubblesMuted(prev => !prev); - return; - case 'like_room': - SendMessageComposer(new RateFlatMessageComposer(1)); - return; - case 'toggle_room_link': - CreateLinkEvent('navigator/toggle-room-link'); - return; - case 'navigator_search_tag': - CreateLinkEvent(`navigator/search/${value}`); - SendMessageComposer(new NavigatorSearchComposer('hotel_view', `tag:${value}`)); - return; - case 'room_history': - if (roomHistory.length > 0) setIsOpenHistory(prev => !prev); - return; - case 'room_history_back': - const prevIndex = roomHistory.findIndex(room => room.roomId === navigatorData.currentRoomId) - 1; - if (prevIndex >= 0) TryVisitRoom(roomHistory[prevIndex].roomId); - return; - case 'room_history_next': - const nextIndex = roomHistory.findIndex(room => room.roomId === navigatorData.currentRoomId) + 1; - if (nextIndex < roomHistory.length) TryVisitRoom(roomHistory[nextIndex].roomId); - return; - } - }; - - const onChangeRoomHistory = (roomId: number, roomName: string) => { - let newStorage = JSON.parse(window.localStorage.getItem('nitro.room.history') || '[]'); - if (newStorage.some((room: { roomId: number }) => room.roomId === roomId)) return; - - if (newStorage.length >= 10) newStorage.shift(); - newStorage = [...newStorage, { roomId, roomName }]; - - setRoomHistory(newStorage); - SetLocalStorage('nitro.room.history', newStorage); - }; - - useMessageEvent(GetGuestRoomResultEvent, event => { - const parser = event.getParser(); - if (!parser.roomEnter || (parser.data.roomId !== roomSession.roomId)) return; - - if (roomName !== parser.data.roomName) setRoomName(parser.data.roomName); - if (roomOwner !== parser.data.ownerName) setRoomOwner(parser.data.ownerName); - if (roomTags !== parser.data.tags) setRoomTags(parser.data.tags); - onChangeRoomHistory(parser.data.roomId, parser.data.roomName); - }); - - useEffect(() => { - setIsOpen(true); - const timeout = setTimeout(() => setIsOpen(false), 5000); - return () => clearTimeout(timeout); - }, [roomName, roomOwner, roomTags]); - - useEffect(() => { - setRoomHistory(JSON.parse(window.localStorage.getItem('nitro.room.history') || '[]')); - }, []); - - useEffect(() => { - const handleTabClose = () => { - window.localStorage.removeItem('nitro.room.history'); - }; - window.addEventListener('beforeunload', handleTabClose); - return () => window.removeEventListener('beforeunload', handleTabClose); - }, []); - - return ( -
-
-
handleToolClick('settings')} /> -
handleToolClick('zoom')} /> -
handleToolClick('chat_history')} /> -
handleToolClick('hiddenbubbles')} /> - - {navigatorData.canRate && ( -
handleToolClick('like_room')} /> - )} -
handleToolClick('toggle_room_link')} /> -
handleToolClick('room_history')} /> -
-
- - {isOpen && ( - -
-
-
- {roomName} - {roomOwner} -
- {roomTags && roomTags.length > 0 && ( -
- {roomTags.map((tag, index) => ( - handleToolClick('navigator_search_tag', tag)}> - #{tag} - - ))} -
- )} -
-
-
- )} - {isOpenHistory && ( - -
- {roomHistory.map(history => ( - TryVisitRoom(history.roomId)}> - {history.roomName} - - ))} -
-
- )} -
-
-
- ); -}; \ No newline at end of file diff --git a/Coolui v3 test/src/components/room/widgets/user-location/UserLocationView.tsx b/Coolui v3 test/src/components/room/widgets/user-location/UserLocationView.tsx deleted file mode 100644 index f7b9daac42..0000000000 --- a/Coolui v3 test/src/components/room/widgets/user-location/UserLocationView.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { RoomObjectCategory } from '@nitrots/nitro-renderer'; -import { FC } from 'react'; -import { BaseProps } from '../../../../common'; -import { useRoom } from '../../../../hooks'; -import { ObjectLocationView } from '../object-location/ObjectLocationView'; - -interface UserLocationViewProps extends BaseProps -{ - userId: number; -} - -export const UserLocationView: FC = props => -{ - const { userId = -1, ...rest } = props; - const { roomSession = null } = useRoom(); - - if((userId === -1) || !roomSession) return null; - - const userData = roomSession.userDataManager.getUserData(userId); - - if(!userData) return null; - - return ; -}; diff --git a/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizQuestionView.tsx b/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizQuestionView.tsx deleted file mode 100644 index 92f0b9605b..0000000000 --- a/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizQuestionView.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { FC } from 'react'; -import { VALUE_KEY_DISLIKE, VALUE_KEY_LIKE } from '../../../../api'; -import { Column, Flex, Text } from '../../../../common'; - -interface WordQuizQuestionViewProps -{ - question: string; - canVote: boolean; - vote(value: string): void; - noVotes: number; - yesVotes: number; -} - -export const WordQuizQuestionView: FC = props => -{ - const { question = null, canVote = null, vote = null, noVotes = null, yesVotes = null } = props; - - return ( - - { !canVote && -
-
- { noVotes } -
- { question } -
- { yesVotes } -
-
} - { canVote && -
- { question } -
- vote(VALUE_KEY_DISLIKE) }> -
- - vote(VALUE_KEY_LIKE) }> -
- -
-
} - - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizVoteView.tsx b/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizVoteView.tsx deleted file mode 100644 index b1925a0c80..0000000000 --- a/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizVoteView.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { RoomObjectCategory } from '@nitrots/nitro-renderer'; -import { FC } from 'react'; -import { VALUE_KEY_DISLIKE } from '../../../../api'; -import { BaseProps } from '../../../../common'; -import { ObjectLocationView } from '../object-location/ObjectLocationView'; - -interface WordQuizVoteViewProps extends BaseProps -{ - userIndex: number; - vote: string; -} - -export const WordQuizVoteView: FC = props => -{ - const { userIndex = null, vote = null, ...rest } = props; - - return ( - -
-
-
- - ); -}; diff --git a/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizWidgetView.tsx b/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizWidgetView.tsx deleted file mode 100644 index d433d3504c..0000000000 --- a/Coolui v3 test/src/components/room/widgets/word-quiz/WordQuizWidgetView.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { FC } from 'react'; -import { VALUE_KEY_DISLIKE, VALUE_KEY_LIKE } from '../../../../api'; -import { useWordQuizWidget } from '../../../../hooks'; -import { WordQuizQuestionView } from './WordQuizQuestionView'; -import { WordQuizVoteView } from './WordQuizVoteView'; - -export const WordQuizWidgetView: FC<{}> = props => -{ - const { question = null, answerSent = false, answerCounts = null, userAnswers = null, vote = null } = useWordQuizWidget(); - - return ( - <> - { question && - } - { userAnswers && - Array.from(userAnswers.entries()).map(([ key, value ], index) => ) } - - ); -}; diff --git a/Coolui v3 test/src/components/toolbar/ToolbarItemView.tsx b/Coolui v3 test/src/components/toolbar/ToolbarItemView.tsx deleted file mode 100644 index 3a0822a2a3..0000000000 --- a/Coolui v3 test/src/components/toolbar/ToolbarItemView.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { DetailedHTMLProps, forwardRef, HTMLAttributes, PropsWithChildren } from 'react'; -import { classNames } from '../../layout'; - -export const ToolbarItemView = forwardRef & DetailedHTMLProps, HTMLDivElement>>((props, ref) => -{ - const { icon = null, className = null, ...rest } = props; - - return ( -
- ); -}); - -ToolbarItemView.displayName = 'ToolbarItemView'; diff --git a/Coolui v3 test/src/components/toolbar/ToolbarMeView.tsx b/Coolui v3 test/src/components/toolbar/ToolbarMeView.tsx deleted file mode 100644 index c420fce84f..0000000000 --- a/Coolui v3 test/src/components/toolbar/ToolbarMeView.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { CreateLinkEvent, GetRoomEngine, GetSessionDataManager, MouseEventType, RoomObjectCategory } from '@nitrots/nitro-renderer'; -import { Dispatch, FC, PropsWithChildren, SetStateAction, useEffect, useRef } from 'react'; -import { DispatchUiEvent, GetConfigurationValue, GetRoomSession, GetUserProfile } from '../../api'; -import { Flex, LayoutItemCountView } from '../../common'; -import { GuideToolEvent } from '../../events'; - -export const ToolbarMeView: FC>; -}>> = props => -{ - const { useGuideTool = false, unseenAchievementCount = 0, setMeExpanded = null, children = null, ...rest } = props; - const elementRef = useRef(); - - useEffect(() => - { - const roomSession = GetRoomSession(); - - if(!roomSession) return; - - GetRoomEngine().selectRoomObject(roomSession.roomId, roomSession.ownRoomIndex, RoomObjectCategory.UNIT); - }, []); - - useEffect(() => - { - const onClick = (event: MouseEvent) => setMeExpanded(false); - - document.addEventListener('click', onClick); - - return () => document.removeEventListener(MouseEventType.MOUSE_CLICK, onClick); - }, [ setMeExpanded ]); - - return ( - - { (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 } - - ); -}; diff --git a/Coolui v3 test/src/components/toolbar/ToolbarView.tsx b/Coolui v3 test/src/components/toolbar/ToolbarView.tsx deleted file mode 100644 index 27e6a4ab33..0000000000 --- a/Coolui v3 test/src/components/toolbar/ToolbarView.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import { CreateLinkEvent, Dispose, DropBounce, EaseOut, GetSessionDataManager, JumpBy, Motions, NitroToolbarAnimateIconEvent, PerkAllowancesMessageEvent, PerkEnum, Queue, Wait } from '@nitrots/nitro-renderer'; -import { AnimatePresence, motion } from 'framer-motion'; -import { FC, useState } from 'react'; -import { GetConfigurationValue, MessengerIconState, OpenMessengerChat, VisitDesktop } from '../../api'; -import { Flex, LayoutAvatarImageView, LayoutItemCountView } from '../../common'; -import { useAchievements, useFriends, useInventoryUnseenTracker, useMessageEvent, useMessenger, useNitroEvent, useSessionInfo } from '../../hooks'; -import { ToolbarItemView } from './ToolbarItemView'; -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 { userFigure = null } = useSessionInfo(); - const { getFullCount = 0 } = useInventoryUnseenTracker(); - const { getTotalUnseen = 0 } = useAchievements(); - const { requests = [] } = useFriends(); - const { iconState = MessengerIconState.HIDDEN } = useMessenger(); - const isMod = GetSessionDataManager().isModerator; - - useMessageEvent(PerkAllowancesMessageEvent, event => - { - setUseGuideTool(event.getParser().isAllowed(PerkEnum.USE_GUIDE_TOOL)); - }); - - useNitroEvent(NitroToolbarAnimateIconEvent.ANIMATE_ICON, event => - { - const animationIconToToolbar = (iconName: string, image: HTMLImageElement, x: number, y: number) => - { - const target = (document.body.getElementsByClassName(iconName)[0] as HTMLElement); - - if(!target) return; - - image.className = 'toolbar-icon-animation'; - image.style.visibility = 'visible'; - image.style.left = (x + 'px'); - image.style.top = (y + 'px'); - - document.body.append(image); - - const targetBounds = target.getBoundingClientRect(); - const imageBounds = image.getBoundingClientRect(); - - const left = (imageBounds.x - targetBounds.x); - const top = (imageBounds.y - targetBounds.y); - const squared = Math.sqrt(((left * left) + (top * top))); - const wait = (500 - Math.abs(((((1 / squared) * 100) * 500) * 0.5))); - const height = 20; - - const motionName = (`ToolbarBouncing[${ iconName }]`); - - if(!Motions.getMotionByTag(motionName)) - { - Motions.runMotion(new Queue(new Wait((wait + 8)), new DropBounce(target, 400, 12))).tag = motionName; - } - - const motion = new Queue(new EaseOut(new JumpBy(image, wait, ((targetBounds.x - imageBounds.x) + height), (targetBounds.y - imageBounds.y), 100, 1), 1), new Dispose(image)); - - Motions.runMotion(motion); - }; - - animationIconToToolbar('icon-inventory', event.image, event.x, event.y); - }); - - return ( - <> - { isMeExpanded && ( - - )} - - - - - - { - setMeExpanded(!isMeExpanded); - event.stopPropagation(); - } }> - - { (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 && - CreateLinkEvent('camera/toggle') } /> } - { isMod && - CreateLinkEvent('mod-tools/toggle') } /> } - - - - - - CreateLinkEvent('friends/toggle') }> - { (requests.length > 0) && - } - - { ((iconState === MessengerIconState.SHOW) || (iconState === MessengerIconState.UNREAD)) && - OpenMessengerChat() } /> } - -
- - - - ); -}; diff --git a/Coolui v3 test/src/components/user-profile/FriendsContainerView.tsx b/Coolui v3 test/src/components/user-profile/FriendsContainerView.tsx deleted file mode 100644 index b92b82d014..0000000000 --- a/Coolui v3 test/src/components/user-profile/FriendsContainerView.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { RelationshipStatusInfoMessageParser } from '@nitrots/nitro-renderer'; -import { FC } from 'react'; -import { LocalizeText } from '../../api'; -import { RelationshipsContainerView } from './RelationshipsContainerView'; - -interface FriendsContainerViewProps -{ - relationships: RelationshipStatusInfoMessageParser; - friendsCount: number; -} - -export const FriendsContainerView: FC = props => -{ - const { relationships = null, friendsCount = null } = props; - - return ( -
-

- { LocalizeText('extendedprofile.friends.count') } { friendsCount } -

-
-

{ LocalizeText('extendedprofile.relstatus') }

- -
-
- ); -}; diff --git a/Coolui v3 test/src/components/user-profile/GroupsContainerView.tsx b/Coolui v3 test/src/components/user-profile/GroupsContainerView.tsx deleted file mode 100644 index 3ffd78745f..0000000000 --- a/Coolui v3 test/src/components/user-profile/GroupsContainerView.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import { GroupInformationComposer, GroupInformationEvent, GroupInformationParser, HabboGroupEntryData } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useState } from 'react'; -import { SendMessageComposer, ToggleFavoriteGroup } from '../../api'; -import { AutoGrid, Column, Grid, GridProps, LayoutBadgeImageView, LayoutGridItem } from '../../common'; -import { useMessageEvent } from '../../hooks'; -import { GroupInformationView } from '../groups/views/GroupInformationView'; - -interface GroupsContainerViewProps extends GridProps -{ - itsMe: boolean; - groups: HabboGroupEntryData[]; - onLeaveGroup: () => void; -} - -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); - - useMessageEvent(GroupInformationEvent, event => - { - const parser = event.getParser(); - - if(!selectedGroupId || (selectedGroupId !== parser.id) || parser.flag) return; - - setGroupInformation(parser); - }); - - useEffect(() => - { - if(!selectedGroupId) return; - - SendMessageComposer(new GroupInformationComposer(selectedGroupId, false)); - }, [ selectedGroupId ]); - - useEffect(() => - { - setGroupInformation(null); - - if(groups.length > 0) - { - setSelectedGroupId(prevValue => - { - if(prevValue === groups[0].groupId) - { - SendMessageComposer(new GroupInformationComposer(groups[0].groupId, false)); - } - - return groups[0].groupId; - }); - } - }, [ groups ]); - - if(!groups || !groups.length) - { - return ( - -
-
-
-
-
- - ); - } - - return ( - - - - { groups.map((group, index) => - { - return ( - setSelectedGroupId(group.groupId) }> - { itsMe && - ToggleFavoriteGroup(group) } /> } - - - ); - }) } - - - - { groupInformation && - } - - - ); -}; diff --git a/Coolui v3 test/src/components/user-profile/RelationshipsContainerView.tsx b/Coolui v3 test/src/components/user-profile/RelationshipsContainerView.tsx deleted file mode 100644 index 7bdca660a8..0000000000 --- a/Coolui v3 test/src/components/user-profile/RelationshipsContainerView.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { RelationshipStatusEnum, RelationshipStatusInfoMessageParser } from '@nitrots/nitro-renderer'; -import { FC } from 'react'; -import { GetUserProfile, LocalizeText } from '../../api'; -import { Flex, LayoutAvatarImageView } from '../../common'; - -interface RelationshipsContainerViewProps -{ - relationships: RelationshipStatusInfoMessageParser; -} - -interface RelationshipsContainerRelationshipViewProps -{ - type: number; -} - -export const RelationshipsContainerView: FC = props => -{ - const { relationships = null } = props; - - const RelationshipComponent = ({ type }: RelationshipsContainerRelationshipViewProps) => - { - const relationshipInfo = (relationships && relationships.relationshipStatusMap.hasKey(type)) ? relationships.relationshipStatusMap.getValue(type) : null; - const relationshipName = RelationshipStatusEnum.RELATIONSHIP_NAMES[type].toLocaleLowerCase(); - - return ( -
- - - -
-
-

(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 === 0)) && - LocalizeText('extendedprofile.no.friends.in.this.category') } - { (relationshipInfo && (relationshipInfo.friendCount > 1)) && - LocalizeText(`extendedprofile.relstatus.others.${ relationshipName }`, [ 'count' ], [ (relationshipInfo.friendCount - 1).toString() ]) } -   -

-
-
- ); - }; - - return ( - <> - - - - - ); -}; diff --git a/Coolui v3 test/src/components/user-profile/UserContainerView.tsx b/Coolui v3 test/src/components/user-profile/UserContainerView.tsx deleted file mode 100644 index 20d0768c76..0000000000 --- a/Coolui v3 test/src/components/user-profile/UserContainerView.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { GetSessionDataManager, RequestFriendComposer, UserProfileParser } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useState } from 'react'; -import { FriendlyTime, LocalizeText, SendMessageComposer } from '../../api'; -import { LayoutAvatarImageView, Text } from '../../common'; - -export const UserContainerView: FC<{ - userProfile: UserProfileParser; -}> = props => -{ - const { userProfile = null } = props; - const [ requestSent, setRequestSent ] = useState(userProfile.requestSent); - const isOwnProfile = (userProfile.id === GetSessionDataManager().userId); - const canSendFriendRequest = !requestSent && (!isOwnProfile && !userProfile.isMyFriend && !userProfile.requestSent); - - const addFriend = () => - { - setRequestSent(true); - - SendMessageComposer(new RequestFriendComposer(userProfile.username)); - }; - - useEffect(() => - { - setRequestSent(userProfile.requestSent); - }, [ userProfile ]); - - return ( -
-
- -
-
-
-

{ userProfile.username }

-

{ userProfile.motto }

-
-
-

- { LocalizeText('extendedprofile.created') } { userProfile.registration } -

-

- { LocalizeText('extendedprofile.last.login') } { FriendlyTime.format(userProfile.secondsSinceLastVisit, '.ago', 2) } -

-

- { LocalizeText('extendedprofile.achievementscore') } { userProfile.achievementPoints } -

-
-
- { userProfile.isOnline && - } - { !userProfile.isOnline && - } -
- { canSendFriendRequest && - { LocalizeText('extendedprofile.addasafriend') } } - { !canSendFriendRequest && - <> - - { isOwnProfile && -

{ LocalizeText('extendedprofile.me') }

} - { userProfile.isMyFriend && -

{ LocalizeText('extendedprofile.friend') }

} - { (requestSent || userProfile.requestSent) && -

{ LocalizeText('extendedprofile.friendrequestsent') }

} - } -
-
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/user-profile/UserProfileView.tsx b/Coolui v3 test/src/components/user-profile/UserProfileView.tsx deleted file mode 100644 index 1df7e0b152..0000000000 --- a/Coolui v3 test/src/components/user-profile/UserProfileView.tsx +++ /dev/null @@ -1,125 +0,0 @@ -import { CreateLinkEvent, ExtendedProfileChangedMessageEvent, GetSessionDataManager, RelationshipStatusInfoEvent, RelationshipStatusInfoMessageParser, RoomEngineObjectEvent, RoomObjectCategory, RoomObjectType, UserCurrentBadgesComposer, UserCurrentBadgesEvent, UserProfileEvent, UserProfileParser, UserRelationshipsComposer } from '@nitrots/nitro-renderer'; -import { FC, useState } from 'react'; -import { GetRoomSession, GetUserProfile, LocalizeText, SendMessageComposer } from '../../api'; -import { Flex, Grid, LayoutBadgeImageView, Text } from '../../common'; -import { useMessageEvent, useNitroEvent } from '../../hooks'; -import { NitroCard } from '../../layout'; -import { FriendsContainerView } from './FriendsContainerView'; -import { GroupsContainerView } from './GroupsContainerView'; -import { UserContainerView } from './UserContainerView'; - -export const UserProfileView: FC<{}> = props => -{ - const [ userProfile, setUserProfile ] = useState(null); - const [ userBadges, setUserBadges ] = useState([]); - const [ userRelationships, setUserRelationships ] = useState(null); - - const onClose = () => - { - setUserProfile(null); - setUserBadges([]); - setUserRelationships(null); - }; - - const onLeaveGroup = () => - { - if(!userProfile || (userProfile.id !== GetSessionDataManager().userId)) return; - - GetUserProfile(userProfile.id); - }; - - useMessageEvent(UserCurrentBadgesEvent, event => - { - const parser = event.getParser(); - - if(!userProfile || (parser.userId !== userProfile.id)) return; - - setUserBadges(parser.badges); - }); - - useMessageEvent(RelationshipStatusInfoEvent, event => - { - const parser = event.getParser(); - - if(!userProfile || (parser.userId !== userProfile.id)) return; - - setUserRelationships(parser); - }); - - useMessageEvent(UserProfileEvent, event => - { - const parser = event.getParser(); - - let isSameProfile = false; - - setUserProfile(prevValue => - { - if(prevValue && prevValue.id) isSameProfile = (prevValue.id === parser.id); - - return parser; - }); - - if(!isSameProfile) - { - setUserBadges([]); - setUserRelationships(null); - } - - SendMessageComposer(new UserCurrentBadgesComposer(parser.id)); - SendMessageComposer(new UserRelationshipsComposer(parser.id)); - }); - - useMessageEvent(ExtendedProfileChangedMessageEvent, event => - { - const parser = event.getParser(); - - if(parser.userId != userProfile?.id) return; - - GetUserProfile(parser.userId); - }); - - useNitroEvent(RoomEngineObjectEvent.SELECTED, event => - { - if(!userProfile) return; - - if(event.category !== RoomObjectCategory.UNIT) return; - - const userData = GetRoomSession().userDataManager.getUserDataByIndex(event.objectId); - - if(userData.type !== RoomObjectType.USER) return; - - GetUserProfile(userData.webID); - }); - - if(!userProfile) return null; - - return ( - - - - -
- -
- { userBadges && (userBadges.length > 0) && userBadges.map((badge, index) => ) } -
-
-
- { userRelationships && - } -
-
- - CreateLinkEvent(`navigator/search/hotel_view/owner:${ userProfile.username }`) }> - - { LocalizeText('extendedprofile.rooms') } - - - -
-
- ); -}; diff --git a/Coolui v3 test/src/components/user-settings/UserSettingsView.tsx b/Coolui v3 test/src/components/user-settings/UserSettingsView.tsx deleted file mode 100644 index d52df7438f..0000000000 --- a/Coolui v3 test/src/components/user-settings/UserSettingsView.tsx +++ /dev/null @@ -1,188 +0,0 @@ -import { AddLinkEventTracker, ILinkEventTracker, NitroSettingsEvent, RemoveLinkEventTracker, UserSettingsCameraFollowComposer, UserSettingsEvent, UserSettingsOldChatComposer, UserSettingsRoomInvitesComposer, UserSettingsSoundComposer } from '@nitrots/nitro-renderer'; -import { FC, useEffect, useState } from 'react'; -import { FaVolumeDown, FaVolumeMute, FaVolumeUp } from 'react-icons/fa'; -import { DispatchMainEvent, DispatchUiEvent, LocalizeText, SendMessageComposer } from '../../api'; -import { NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../common'; -import { useCatalogPlaceMultipleItems, useCatalogSkipPurchaseConfirmation, useMessageEvent } from '../../hooks'; -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 processAction = (type: string, value?: boolean | number | string) => - { - let doUpdate = true; - - const clone = userSettings.clone(); - - switch(type) - { - case 'close_view': - setIsVisible(false); - doUpdate = false; - return; - case 'oldchat': - clone.oldChat = value as boolean; - SendMessageComposer(new UserSettingsOldChatComposer(clone.oldChat)); - break; - case 'room_invites': - clone.roomInvites = value as boolean; - SendMessageComposer(new UserSettingsRoomInvitesComposer(clone.roomInvites)); - break; - case 'camera_follow': - clone.cameraFollow = value as boolean; - SendMessageComposer(new UserSettingsCameraFollowComposer(clone.cameraFollow)); - break; - case 'system_volume': - clone.volumeSystem = value as number; - clone.volumeSystem = Math.max(0, clone.volumeSystem); - clone.volumeSystem = Math.min(100, clone.volumeSystem); - break; - case 'furni_volume': - clone.volumeFurni = value as number; - clone.volumeFurni = Math.max(0, clone.volumeFurni); - clone.volumeFurni = Math.min(100, clone.volumeFurni); - break; - case 'trax_volume': - clone.volumeTrax = value as number; - clone.volumeTrax = Math.max(0, clone.volumeTrax); - clone.volumeTrax = Math.min(100, clone.volumeTrax); - break; - } - - if(doUpdate) setUserSettings(clone); - - DispatchMainEvent(clone); - }; - - const saveRangeSlider = (type: string) => - { - switch(type) - { - case 'volume': - SendMessageComposer(new UserSettingsSoundComposer(Math.round(userSettings.volumeSystem), Math.round(userSettings.volumeFurni), Math.round(userSettings.volumeTrax))); - break; - } - }; - - useMessageEvent(UserSettingsEvent, event => - { - const parser = event.getParser(); - const settingsEvent = new NitroSettingsEvent(); - - settingsEvent.volumeSystem = parser.volumeSystem; - settingsEvent.volumeFurni = parser.volumeFurni; - settingsEvent.volumeTrax = parser.volumeTrax; - settingsEvent.oldChat = parser.oldChat; - settingsEvent.roomInvites = parser.roomInvites; - settingsEvent.cameraFollow = parser.cameraFollow; - settingsEvent.flags = parser.flags; - settingsEvent.chatType = parser.chatType; - - setUserSettings(settingsEvent); - DispatchMainEvent(settingsEvent); - }); - - useEffect(() => - { - const linkTracker: ILinkEventTracker = { - linkReceived: (url: string) => - { - const parts = url.split('/'); - - if(parts.length < 2) return; - - switch(parts[1]) - { - case 'show': - setIsVisible(true); - return; - case 'hide': - setIsVisible(false); - return; - case 'toggle': - setIsVisible(prevValue => !prevValue); - return; - } - }, - eventUrlPrefix: 'user-settings/' - }; - - AddLinkEventTracker(linkTracker); - - return () => RemoveLinkEventTracker(linkTracker); - }, []); - - useEffect(() => - { - if(!userSettings) return; - - DispatchUiEvent(userSettings); - }, [ userSettings ]); - - if(!isVisible || !userSettings) return null; - - return ( - - processAction('close_view') } /> - -
-
- 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('camera_follow', event.target.checked) } /> - { LocalizeText('memenu.settings.other.disable.room.camera.follow') } -
-
- setCatalogPlaceMultipleObjects(event.target.checked) } /> - { LocalizeText('memenu.settings.other.place.multiple.objects') } -
-
- setCatalogSkipPurchaseConfirmation(event.target.checked) } /> - { LocalizeText('memenu.settings.other.skip.purchase.confirmation') } -
-
-
- { LocalizeText('widget.memenu.settings.volume') } -
- { 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') } /> - -
-
-
- { 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') } /> - -
-
-
- { 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') } /> - -
-
-
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/WiredView.tsx b/Coolui v3 test/src/components/wired/WiredView.tsx deleted file mode 100644 index 0f073abdd1..0000000000 --- a/Coolui v3 test/src/components/wired/WiredView.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { ConditionDefinition, TriggerDefinition, WiredActionDefinition } from '@nitrots/nitro-renderer'; -import { FC } from 'react'; -import { useWired } from '../../hooks'; -import { WiredActionLayoutView } from './views/actions/WiredActionLayoutView'; -import { WiredConditionLayoutView } from './views/conditions/WiredConditionLayoutView'; -import { WiredTriggerLayoutView } from './views/triggers/WiredTriggerLayoutView'; - -export const WiredView: FC<{}> = props => -{ - const { trigger = null } = useWired(); - - if(!trigger) return null; - - if(trigger instanceof WiredActionDefinition) return WiredActionLayoutView(trigger.code); - - if(trigger instanceof TriggerDefinition) return WiredTriggerLayoutView(trigger.code); - - if(trigger instanceof ConditionDefinition) return WiredConditionLayoutView(trigger.code); - - return null; -}; diff --git a/Coolui v3 test/src/components/wired/views/WiredBaseView.tsx b/Coolui v3 test/src/components/wired/views/WiredBaseView.tsx deleted file mode 100644 index 8e8fb374fc..0000000000 --- a/Coolui v3 test/src/components/wired/views/WiredBaseView.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import { GetSessionDataManager } from '@nitrots/nitro-renderer'; -import { FC, PropsWithChildren, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType, WiredSelectionVisualizer } from '../../../api'; -import { Button, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../common'; -import { useWired } from '../../../hooks'; -import { WiredFurniSelectorView } from './WiredFurniSelectorView'; - -export interface WiredBaseViewProps -{ - wiredType: string; - requiresFurni: number; - hasSpecialInput: boolean; - save: () => void; - validate?: () => boolean; -} - -export const WiredBaseView: FC> = props => -{ - const { wiredType = '', requiresFurni = WiredFurniType.STUFF_SELECTION_OPTION_NONE, save = null, validate = null, children = null, hasSpecialInput = false } = props; - const [ wiredName, setWiredName ] = useState(null); - const [ wiredDescription, setWiredDescription ] = useState(null); - const [ needsSave, setNeedsSave ] = useState(false); - const { trigger = null, setTrigger = null, setIntParams = null, setStringParam = null, setFurniIds = null, setAllowsFurni = null, saveWired = null } = useWired(); - - const onClose = () => setTrigger(null); - - const onSave = () => - { - if(validate && !validate()) return; - - if(save) save(); - - setNeedsSave(true); - }; - - useEffect(() => - { - if(!needsSave) return; - - saveWired(); - - setNeedsSave(false); - }, [ needsSave, saveWired ]); - - useEffect(() => - { - if(!trigger) return; - - const spriteId = (trigger.spriteId || -1); - const furniData = GetSessionDataManager().getFloorItemData(spriteId); - - if(!furniData) - { - setWiredName(('NAME: ' + spriteId)); - setWiredDescription(('NAME: ' + spriteId)); - } - else - { - setWiredName(furniData.name); - setWiredDescription(furniData.description); - } - - if(hasSpecialInput) - { - setIntParams(trigger.intData); - setStringParam(trigger.stringData); - } - - if(requiresFurni > WiredFurniType.STUFF_SELECTION_OPTION_NONE) - { - setFurniIds(prevValue => - { - if(prevValue && prevValue.length) WiredSelectionVisualizer.clearSelectionShaderFromFurni(prevValue); - - if(trigger.selectedItems && trigger.selectedItems.length) - { - WiredSelectionVisualizer.applySelectionShaderToFurni(trigger.selectedItems); - - return trigger.selectedItems; - } - - return []; - }); - } - - setAllowsFurni(requiresFurni); - }, [ trigger, hasSpecialInput, requiresFurni, setIntParams, setStringParam, setFurniIds, setAllowsFurni ]); - - return ( - - - -
-
- - { wiredName } -
- { wiredDescription } -
- { !!children &&
} - { children } - { (requiresFurni > WiredFurniType.STUFF_SELECTION_OPTION_NONE) && - <> -
- - } -
- - -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/WiredFurniSelectorView.tsx b/Coolui v3 test/src/components/wired/views/WiredFurniSelectorView.tsx deleted file mode 100644 index 1363326bda..0000000000 --- a/Coolui v3 test/src/components/wired/views/WiredFurniSelectorView.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { FC } from 'react'; -import { LocalizeText } from '../../../api'; -import { Text } from '../../../common'; -import { useWired } from '../../../hooks'; - -export const WiredFurniSelectorView: FC<{}> = props => -{ - const { trigger = null, furniIds = [] } = useWired(); - - return ( -
- { LocalizeText('wiredfurni.pickfurnis.caption', [ 'count', 'limit' ], [ furniIds.length.toString(), trigger.maximumItemSelectionCount.toString() ]) } - { LocalizeText('wiredfurni.pickfurnis.desc') } -
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionBaseView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionBaseView.tsx deleted file mode 100644 index aef1cdbaab..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionBaseView.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { WiredActionDefinition } from '@nitrots/nitro-renderer'; -import { FC, PropsWithChildren, useEffect } from 'react'; -import ReactSlider from 'react-slider'; -import { GetWiredTimeLocale, LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredBaseView } from '../WiredBaseView'; - -export interface WiredActionBaseViewProps -{ - hasSpecialInput: boolean; - requiresFurni: number; - save: () => void; -} - -export const WiredActionBaseView: FC> = props => -{ - const { requiresFurni = WiredFurniType.STUFF_SELECTION_OPTION_NONE, save = null, hasSpecialInput = false, children = null } = props; - const { trigger = null, actionDelay = 0, setActionDelay = null } = useWired(); - - useEffect(() => - { - setActionDelay((trigger as WiredActionDefinition).delayInPulses); - }, [ trigger, setActionDelay ]); - - return ( - - { children } - { !!children &&
} -
- { LocalizeText('wiredfurni.params.delay', [ 'seconds' ], [ GetWiredTimeLocale(actionDelay) ]) } - setActionDelay(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotChangeFigureView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionBotChangeFigureView.tsx deleted file mode 100644 index e359037f67..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotChangeFigureView.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { GetSessionDataManager } from '@nitrots/nitro-renderer'; -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam((botName + WIRED_STRING_DELIMETER + figure)); - - useEffect(() => - { - const data = trigger.stringData.split(WIRED_STRING_DELIMETER); - - if(data.length > 0) setBotName(data[0]); - if(data.length > 1) setFigure(data[1].length > 0 ? data[1] : DEFAULT_FIGURE); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.bot.name') } - setBotName(event.target.value) } /> -
-
- - -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotFollowAvatarView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionBotFollowAvatarView.tsx deleted file mode 100644 index 9576ea04dc..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotFollowAvatarView.tsx +++ /dev/null @@ -1,44 +0,0 @@ -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 { trigger = null, setStringParam = null, setIntParams = null } = useWired(); - - const save = () => - { - setStringParam(botName); - setIntParams([ followMode ]); - }; - - useEffect(() => - { - setBotName(trigger.stringData); - setFollowMode((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.bot.name') } - setBotName(event.target.value) } /> -
-
-
- setFollowMode(1) } /> - { LocalizeText('wiredfurni.params.start.following') } -
-
- setFollowMode(0) } /> - { LocalizeText('wiredfurni.params.stop.following') } -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotGiveHandItemView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionBotGiveHandItemView.tsx deleted file mode 100644 index 0dc2bc480f..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotGiveHandItemView.tsx +++ /dev/null @@ -1,43 +0,0 @@ -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 ]; - -export const WiredActionBotGiveHandItemView: FC<{}> = props => -{ - const [ botName, setBotName ] = useState(''); - const [ handItemId, setHandItemId ] = useState(-1); - const { trigger = null, setStringParam = null, setIntParams = null } = useWired(); - - const save = () => - { - setStringParam(botName); - setIntParams([ handItemId ]); - }; - - useEffect(() => - { - setBotName(trigger.stringData); - setHandItemId((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.bot.name') } - setBotName(event.target.value) } /> -
-
- { LocalizeText('wiredfurni.params.handitem') } - -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotMoveView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionBotMoveView.tsx deleted file mode 100644 index 644b34e1e6..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotMoveView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam(botName); - - useEffect(() => - { - setBotName(trigger.stringData); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.bot.name') } - setBotName(event.target.value) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTalkToAvatarView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTalkToAvatarView.tsx deleted file mode 100644 index b69a9724d0..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTalkToAvatarView.tsx +++ /dev/null @@ -1,53 +0,0 @@ -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 { trigger = null, setStringParam = null, setIntParams = null } = useWired(); - - const save = () => - { - setStringParam(botName + WIRED_STRING_DELIMETER + message); - setIntParams([ talkMode ]); - }; - - useEffect(() => - { - const data = trigger.stringData.split(WIRED_STRING_DELIMETER); - - if(data.length > 0) setBotName(data[0]); - if(data.length > 1) setMessage(data[1].length > 0 ? data[1] : ''); - - setTalkMode((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { 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) } /> -
-
-
- setTalkMode(0) } /> - { LocalizeText('wiredfurni.params.talk') } -
-
- setTalkMode(1) } /> - { LocalizeText('wiredfurni.params.whisper') } -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTalkView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTalkView.tsx deleted file mode 100644 index 31b6a14ce3..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTalkView.tsx +++ /dev/null @@ -1,53 +0,0 @@ -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 { trigger = null, setStringParam = null, setIntParams = null } = useWired(); - - const save = () => - { - setStringParam(botName + WIRED_STRING_DELIMETER + message); - setIntParams([ talkMode ]); - }; - - useEffect(() => - { - const data = trigger.stringData.split(WIRED_STRING_DELIMETER); - - if(data.length > 0) setBotName(data[0]); - if(data.length > 1) setMessage(data[1].length > 0 ? data[1] : ''); - - setTalkMode((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { 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) } /> -
-
-
- setTalkMode(0) } /> - { LocalizeText('wiredfurni.params.talk') } -
-
- setTalkMode(1) } /> - { LocalizeText('wiredfurni.params.shout') } -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTeleportView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTeleportView.tsx deleted file mode 100644 index 1979930dca..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionBotTeleportView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam(botName); - - useEffect(() => - { - setBotName(trigger.stringData); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.bot.name') } - setBotName(event.target.value) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionCallAnotherStackView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionCallAnotherStackView.tsx deleted file mode 100644 index 69c17fe1f5..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionCallAnotherStackView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionCallAnotherStackView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionChaseView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionChaseView.tsx deleted file mode 100644 index d0e1c419f8..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionChaseView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionChaseView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionChatView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionChatView.tsx deleted file mode 100644 index 8f622c2bc3..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionChatView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam(message); - - useEffect(() => - { - setMessage(trigger.stringData); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.message') } - ('wired.action.chat.max.length', 100) } type="text" value={ message } onChange={ event => setMessage(event.target.value) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionFleeView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionFleeView.tsx deleted file mode 100644 index e3e5776082..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionFleeView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionFleeView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveRewardView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveRewardView.tsx deleted file mode 100644 index 8e8716761d..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveRewardView.tsx +++ /dev/null @@ -1,161 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { FaPlus, FaTrash } from 'react-icons/fa'; -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 { trigger = null, setIntParams = null, setStringParam = null } = useWired(); - - const addReward = () => setRewards(rewards => [ ...rewards, { isBadge: false, itemCode: '', probability: null } ]); - - const removeReward = (index: number) => - { - setRewards(prevValue => - { - const newValues = Array.from(prevValue); - - newValues.splice(index, 1); - - return newValues; - }); - }; - - const updateReward = (index: number, isBadge: boolean, itemCode: string, probability: number) => - { - const rewardsClone = Array.from(rewards); - const reward = rewardsClone[index]; - - if(!reward) return; - - reward.isBadge = isBadge; - reward.itemCode = itemCode; - reward.probability = probability; - - setRewards(rewardsClone); - }; - - const save = () => - { - let stringRewards = []; - - for(const reward of rewards) - { - if(!reward.itemCode) continue; - - 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 ]); - } - }; - - useEffect(() => - { - const readRewards: { isBadge: boolean, itemCode: string, probability: number }[] = []; - - if(trigger.stringData.length > 0 && trigger.stringData.includes(';')) - { - const splittedRewards = trigger.stringData.split(';'); - - for(const rawReward of splittedRewards) - { - const reward = rawReward.split(','); - - if(reward.length !== 3) continue; - - readRewards.push({ isBadge: reward[0] === '0', itemCode: reward[1], probability: Number(reward[2]) }); - } - } - - if(readRewards.length === 0) readRewards.push({ isBadge: false, itemCode: '', probability: null }); - - setRewardTime((trigger.intData.length > 0) ? trigger.intData[0] : 0); - setUniqueRewards((trigger.intData.length > 1) ? (trigger.intData[1] === 1) : false); - setRewardsLimit((trigger.intData.length > 2) ? trigger.intData[2] : 0); - setLimitationInterval((trigger.intData.length > 3) ? trigger.intData[3] : 0); - setLimitEnabled((trigger.intData.length > 3) ? trigger.intData[3] > 0 : false); - setRewards(readRewards); - }, [ trigger ]); - - return ( - -
- setLimitEnabled(event.target.checked) } /> - { LocalizeText('wiredfurni.params.prizelimit', [ 'amount' ], [ limitEnabled ? rewardsLimit.toString() : '' ]) } -
- { !limitEnabled && - - Reward limit not set. Make sure rewards are badges or non-tradeable items. - } - { limitEnabled && - setRewardsLimit(event) } /> } -
-
- How often can a user be rewarded? -
- - { (rewardTime > 0) && setLimitationInterval(Number(event.target.value)) } /> } -
-
-
-
- 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) => - { - return ( -
-
- 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/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveScoreToPredefinedTeamView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveScoreToPredefinedTeamView.tsx deleted file mode 100644 index 02d228112a..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveScoreToPredefinedTeamView.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionGiveScoreToPredefinedTeamView: FC<{}> = props => -{ - const [ points, setPoints ] = useState(1); - const [ time, setTime ] = useState(1); - const [ selectedTeam, setSelectedTeam ] = useState(1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ points, time, selectedTeam ]); - - useEffect(() => - { - if(trigger.intData.length >= 2) - { - setPoints(trigger.intData[0]); - setTime(trigger.intData[1]); - setSelectedTeam(trigger.intData[2]); - } - else - { - setPoints(1); - setTime(1); - setSelectedTeam(1); - } - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.setpoints', [ 'points' ], [ points.toString() ]) } - setPoints(event) } /> -
-
- { LocalizeText('wiredfurni.params.settimesingame', [ 'times' ], [ time.toString() ]) } - setTime(event) } /> -
-
- { LocalizeText('wiredfurni.params.team') } - { [ 1, 2, 3, 4 ].map(value => - { - return ( -
- setSelectedTeam(value) } /> - { LocalizeText('wiredfurni.params.team.' + value) } -
- ); - }) } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveScoreView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveScoreView.tsx deleted file mode 100644 index a2b9f86bee..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionGiveScoreView.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionGiveScoreView: FC<{}> = props => -{ - const [ points, setPoints ] = useState(1); - const [ time, setTime ] = useState(1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ points, time ]); - - useEffect(() => - { - if(trigger.intData.length >= 2) - { - setPoints(trigger.intData[0]); - setTime(trigger.intData[1]); - } - else - { - setPoints(1); - setTime(1); - } - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.setpoints', [ 'points' ], [ points.toString() ]) } - setPoints(event) } /> -
-
- { LocalizeText('wiredfurni.params.settimesingame', [ 'times' ], [ time.toString() ]) } - setTime(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionJoinTeamView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionJoinTeamView.tsx deleted file mode 100644 index 10b8c24f2c..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionJoinTeamView.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionJoinTeamView: FC<{}> = props => -{ - const [ selectedTeam, setSelectedTeam ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ selectedTeam ]); - - useEffect(() => - { - setSelectedTeam((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.team') } - { [ 1, 2, 3, 4 ].map(team => - { - return ( -
- setSelectedTeam(team) } /> - { LocalizeText(`wiredfurni.params.team.${ team }`) } -
- ); - }) } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionKickFromRoomView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionKickFromRoomView.tsx deleted file mode 100644 index 002426d089..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionKickFromRoomView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam(message); - - useEffect(() => - { - setMessage(trigger.stringData); - }, [ trigger ]); - - return ( - -
- { 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/Coolui v3 test/src/components/wired/views/actions/WiredActionLayoutView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionLayoutView.tsx deleted file mode 100644 index 36d14d4936..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionLayoutView.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { WiredActionLayoutCode } from '../../../../api'; -import { WiredActionBotChangeFigureView } from './WiredActionBotChangeFigureView'; -import { WiredActionBotFollowAvatarView } from './WiredActionBotFollowAvatarView'; -import { WiredActionBotGiveHandItemView } from './WiredActionBotGiveHandItemView'; -import { WiredActionBotMoveView } from './WiredActionBotMoveView'; -import { WiredActionBotTalkToAvatarView } from './WiredActionBotTalkToAvatarView'; -import { WiredActionBotTalkView } from './WiredActionBotTalkView'; -import { WiredActionBotTeleportView } from './WiredActionBotTeleportView'; -import { WiredActionCallAnotherStackView } from './WiredActionCallAnotherStackView'; -import { WiredActionChaseView } from './WiredActionChaseView'; -import { WiredActionChatView } from './WiredActionChatView'; -import { WiredActionFleeView } from './WiredActionFleeView'; -import { WiredActionGiveRewardView } from './WiredActionGiveRewardView'; -import { WiredActionGiveScoreToPredefinedTeamView } from './WiredActionGiveScoreToPredefinedTeamView'; -import { WiredActionGiveScoreView } from './WiredActionGiveScoreView'; -import { WiredActionJoinTeamView } from './WiredActionJoinTeamView'; -import { WiredActionKickFromRoomView } from './WiredActionKickFromRoomView'; -import { WiredActionLeaveTeamView } from './WiredActionLeaveTeamView'; -import { WiredActionMoveAndRotateFurniView } from './WiredActionMoveAndRotateFurniView'; -import { WiredActionMoveFurniToView } from './WiredActionMoveFurniToView'; -import { WiredActionMoveFurniView } from './WiredActionMoveFurniView'; -import { WiredActionMuteUserView } from './WiredActionMuteUserView'; -import { WiredActionResetView } from './WiredActionResetView'; -import { WiredActionSetFurniStateToView } from './WiredActionSetFurniStateToView'; -import { WiredActionTeleportView } from './WiredActionTeleportView'; -import { WiredActionToggleFurniStateView } from './WiredActionToggleFurniStateView'; - -export const WiredActionLayoutView = (code: number) => -{ - switch(code) - { - case WiredActionLayoutCode.BOT_CHANGE_FIGURE: - return ; - case WiredActionLayoutCode.BOT_FOLLOW_AVATAR: - return ; - case WiredActionLayoutCode.BOT_GIVE_HAND_ITEM: - return ; - case WiredActionLayoutCode.BOT_MOVE: - return ; - case WiredActionLayoutCode.BOT_TALK: - return ; - case WiredActionLayoutCode.BOT_TALK_DIRECT_TO_AVTR: - return ; - case WiredActionLayoutCode.BOT_TELEPORT: - return ; - case WiredActionLayoutCode.CALL_ANOTHER_STACK: - return ; - case WiredActionLayoutCode.CHASE: - return ; - case WiredActionLayoutCode.CHAT: - return ; - case WiredActionLayoutCode.FLEE: - return ; - case WiredActionLayoutCode.GIVE_REWARD: - return ; - case WiredActionLayoutCode.GIVE_SCORE: - return ; - case WiredActionLayoutCode.GIVE_SCORE_TO_PREDEFINED_TEAM: - return ; - case WiredActionLayoutCode.JOIN_TEAM: - return ; - case WiredActionLayoutCode.KICK_FROM_ROOM: - return ; - case WiredActionLayoutCode.LEAVE_TEAM: - return ; - case WiredActionLayoutCode.MOVE_FURNI: - return ; - case WiredActionLayoutCode.MOVE_AND_ROTATE_FURNI: - return ; - case WiredActionLayoutCode.MOVE_FURNI_TO: - return ; - case WiredActionLayoutCode.MUTE_USER: - return ; - case WiredActionLayoutCode.RESET: - return ; - case WiredActionLayoutCode.SET_FURNI_STATE: - return ; - case WiredActionLayoutCode.TELEPORT: - return ; - case WiredActionLayoutCode.TOGGLE_FURNI_STATE: - return ; - } - - return null; -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionLeaveTeamView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionLeaveTeamView.tsx deleted file mode 100644 index 9202ed34b5..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionLeaveTeamView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionLeaveTeamView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveAndRotateFurniView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveAndRotateFurniView.tsx deleted file mode 100644 index d30b43bb42..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveAndRotateFurniView.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -const directionOptions: { value: number, icon: string }[] = [ - { - value: 0, - icon: 'ne' - }, - { - value: 2, - icon: 'se' - }, - { - value: 4, - icon: 'sw' - }, - { - value: 6, - icon: 'nw' - } -]; - -const rotationOptions: number[] = [ 0, 1, 2, 3, 4, 5, 6 ]; - -export const WiredActionMoveAndRotateFurniView: FC<{}> = props => -{ - const [ movement, setMovement ] = useState(-1); - const [ rotation, setRotation ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ movement, rotation ]); - - useEffect(() => - { - if(trigger.intData.length >= 2) - { - setMovement(trigger.intData[0]); - setRotation(trigger.intData[1]); - } - else - { - setMovement(-1); - setRotation(-1); - } - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.startdir') } -
- { directionOptions.map(option => - { - return ( -
- setMovement(option.value) } /> - - - -
- ); - }) } -
-
-
- { LocalizeText('wiredfurni.params.turn') } - { rotationOptions.map(option => - { - return ( -
- setRotation(option) } /> - { LocalizeText(`wiredfurni.params.turn.${ option }`) } -
- ); - }) } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveFurniToView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveFurniToView.tsx deleted file mode 100644 index 0b6d78155e..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveFurniToView.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -const directionOptions: { value: number, icon: string }[] = [ - { - value: 0, - icon: 'ne' - }, - { - value: 2, - icon: 'se' - }, - { - value: 4, - icon: 'sw' - }, - { - value: 6, - icon: 'nw' - } -]; - -export const WiredActionMoveFurniToView: FC<{}> = props => -{ - const [ spacing, setSpacing ] = useState(-1); - const [ movement, setMovement ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ movement, spacing ]); - - useEffect(() => - { - if(trigger.intData.length >= 2) - { - setSpacing(trigger.intData[1]); - setMovement(trigger.intData[0]); - } - else - { - setSpacing(-1); - setMovement(-1); - } - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.emptytiles', [ 'tiles' ], [ spacing.toString() ]) } - setSpacing(event) } /> -
-
- { LocalizeText('wiredfurni.params.startdir') } -
- { directionOptions.map(value => - { - return ( -
- setMovement(value.value) } /> - -
- ); - }) } -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveFurniView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveFurniView.tsx deleted file mode 100644 index 1a7c0edf72..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionMoveFurniView.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -const directionOptions: { value: number, icon: string }[] = [ - { - value: 4, - icon: 'ne' - }, - { - value: 5, - icon: 'se' - }, - { - value: 6, - icon: 'sw' - }, - { - value: 7, - icon: 'nw' - }, - { - value: 2, - icon: 'mv-2' - }, - { - value: 3, - icon: 'mv-3' - }, - { - value: 1, - icon: 'mv-1' - } -]; - -const rotationOptions: number[] = [ 0, 1, 2, 3 ]; - -export const WiredActionMoveFurniView: FC<{}> = props => -{ - const [ movement, setMovement ] = useState(-1); - const [ rotation, setRotation ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ movement, rotation ]); - - useEffect(() => - { - if(trigger.intData.length >= 2) - { - setMovement(trigger.intData[0]); - setRotation(trigger.intData[1]); - } - else - { - setMovement(-1); - setRotation(-1); - } - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.movefurni') } -
- setMovement(0) } /> - { LocalizeText('wiredfurni.params.movefurni.0') } -
-
- { directionOptions.map(option => - { - return ( -
- setMovement(option.value) } /> - -
- ); - }) } -
-
-
-
- { LocalizeText('wiredfurni.params.rotatefurni') } - { rotationOptions.map(option => - { - return ( -
- setRotation(option) } /> - - { [ 1, 2 ].includes(option) && } - { LocalizeText(`wiredfurni.params.rotatefurni.${ option }`) } - -
- ); - }) } -
- - ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionMuteUserView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionMuteUserView.tsx deleted file mode 100644 index a5e2a3df51..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionMuteUserView.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -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 { trigger = null, setIntParams = null, setStringParam = null } = useWired(); - - const save = () => - { - setIntParams([ time ]); - setStringParam(message); - }; - - useEffect(() => - { - setTime((trigger.intData.length > 0) ? trigger.intData[0] : 0); - setMessage(trigger.stringData); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.length.minutes', [ 'minutes' ], [ time.toString() ]) } - setTime(event) } /> -
-
- { LocalizeText('wiredfurni.params.message') } - ('wired.action.mute.user.max.length', 100) } type="text" value={ message } onChange={ event => setMessage(event.target.value) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionResetView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionResetView.tsx deleted file mode 100644 index eed03e3ac2..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionResetView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionResetView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionSetFurniStateToView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionSetFurniStateToView.tsx deleted file mode 100644 index 96b7237bc6..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionSetFurniStateToView.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionSetFurniStateToView: FC<{}> = props => -{ - const [ stateFlag, setStateFlag ] = useState(0); - const [ directionFlag, setDirectionFlag ] = useState(0); - const [ positionFlag, setPositionFlag ] = useState(0); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ stateFlag, directionFlag, positionFlag ]); - - useEffect(() => - { - setStateFlag(trigger.getBoolean(0) ? 1 : 0); - setDirectionFlag(trigger.getBoolean(1) ? 1 : 0); - setPositionFlag(trigger.getBoolean(2) ? 1 : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.conditions') } -
- setStateFlag(event.target.checked ? 1 : 0) } /> - { LocalizeText('wiredfurni.params.condition.state') } -
-
- setDirectionFlag(event.target.checked ? 1 : 0) } /> - { LocalizeText('wiredfurni.params.condition.direction') } -
-
- setPositionFlag(event.target.checked ? 1 : 0) } /> - { LocalizeText('wiredfurni.params.condition.position') } -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionTeleportView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionTeleportView.tsx deleted file mode 100644 index 04ef42de8c..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionTeleportView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionTeleportView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/actions/WiredActionToggleFurniStateView.tsx b/Coolui v3 test/src/components/wired/views/actions/WiredActionToggleFurniStateView.tsx deleted file mode 100644 index 486aa8e237..0000000000 --- a/Coolui v3 test/src/components/wired/views/actions/WiredActionToggleFurniStateView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredActionBaseView } from './WiredActionBaseView'; - -export const WiredActionToggleFurniStateView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorHasHandItem.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorHasHandItem.tsx deleted file mode 100644 index 5c6c391bfb..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorHasHandItem.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -const ALLOWED_HAND_ITEM_IDS: number[] = [ 2, 5, 7, 8, 9, 10, 27 ]; - -export const WiredConditionActorHasHandItemView: FC<{}> = props => -{ - const [ handItemId, setHandItemId ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ handItemId ]); - - useEffect(() => - { - setHandItemId((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.handitem') } - -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsGroupMemberView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsGroupMemberView.tsx deleted file mode 100644 index 0f425f3529..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsGroupMemberView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionActorIsGroupMemberView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsOnFurniView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsOnFurniView.tsx deleted file mode 100644 index 9aedea64f4..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsOnFurniView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionActorIsOnFurniView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsTeamMemberView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsTeamMemberView.tsx deleted file mode 100644 index 7fc69ba625..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsTeamMemberView.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -const teamIds: number[] = [ 1, 2, 3, 4 ]; - -export const WiredConditionActorIsTeamMemberView: FC<{}> = props => -{ - const [ selectedTeam, setSelectedTeam ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ selectedTeam ]); - - useEffect(() => - { - setSelectedTeam((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.team') } - { teamIds.map(value => - { - return ( -
- setSelectedTeam(value) } /> - { LocalizeText(`wiredfurni.params.team.${ value }`) } -
- ); - }) } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsWearingBadgeView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsWearingBadgeView.tsx deleted file mode 100644 index 5a46f6448e..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsWearingBadgeView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam(badge); - - useEffect(() => - { - setBadge(trigger.stringData); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.badgecode') } - setBadge(event.target.value) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsWearingEffectView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsWearingEffectView.tsx deleted file mode 100644 index 42188cc078..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionActorIsWearingEffectView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -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 { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ effect ]); - - useEffect(() => - { - setEffect(trigger?.intData[0] ?? 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.tooltip.effectid') } - setEffect(parseInt(event.target.value)) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionBaseView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionBaseView.tsx deleted file mode 100644 index 5782942cb3..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionBaseView.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { FC, PropsWithChildren } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredBaseView } from '../WiredBaseView'; - -export interface WiredConditionBaseViewProps -{ - hasSpecialInput: boolean; - requiresFurni: number; - save: () => void; -} - -export const WiredConditionBaseView: FC> = props => -{ - const { requiresFurni = WiredFurniType.STUFF_SELECTION_OPTION_NONE, save = null, hasSpecialInput = false, children = null } = props; - - const onSave = () => (save && save()); - - return ( - - { children } - - ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionDateRangeView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionDateRangeView.tsx deleted file mode 100644 index 8eedbf3ba3..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionDateRangeView.tsx +++ /dev/null @@ -1,59 +0,0 @@ -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 { trigger = null, setIntParams = null } = useWired(); - - const save = () => - { - let startDateMili = 0; - let endDateMili = 0; - - const startDateInstance = new Date(startDate); - const endDateInstance = new Date(endDate); - - if(startDateInstance && endDateInstance) - { - startDateMili = startDateInstance.getTime() / 1000; - endDateMili = endDateInstance.getTime() / 1000; - } - - setIntParams([ startDateMili, endDateMili ]); - }; - - useEffect(() => - { - if(trigger.intData.length >= 2) - { - let startDate = new Date(); - let endDate = new Date(); - - if(trigger.intData[0] > 0) startDate = new Date((trigger.intData[0] * 1000)); - - if(trigger.intData[1] > 0) endDate = new Date((trigger.intData[1] * 1000)); - - setStartDate(WiredDateToString(startDate)); - setEndDate(WiredDateToString(endDate)); - } - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.startdate') } - setStartDate(e.target.value) } /> -
-
- { LocalizeText('wiredfurni.params.enddate') } - setEndDate(e.target.value) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasAvatarOnView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasAvatarOnView.tsx deleted file mode 100644 index 5575e13e98..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasAvatarOnView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionFurniHasAvatarOnView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasFurniOnView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasFurniOnView.tsx deleted file mode 100644 index 7759f94740..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasFurniOnView.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionFurniHasFurniOnView: FC<{}> = props => -{ - const [ requireAll, setRequireAll ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ requireAll ]); - - useEffect(() => - { - setRequireAll((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.requireall') } - { [ 0, 1 ].map(value => - { - return ( -
- setRequireAll(value) } /> - { LocalizeText('wiredfurni.params.requireall.' + value) } -
- ); - }) } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasNotFurniOnView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasNotFurniOnView.tsx deleted file mode 100644 index 44c193595d..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniHasNotFurniOnView.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionFurniHasNotFurniOnView: FC<{}> = props => -{ - const [ requireAll, setRequireAll ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ requireAll ]); - - useEffect(() => - { - setRequireAll((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.not_requireall') } - { [ 0, 1 ].map(value => - { - return ( -
- setRequireAll(value) } /> - { LocalizeText(`wiredfurni.params.not_requireall.${ value }`) } -
- ); - }) } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniIsOfTypeView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniIsOfTypeView.tsx deleted file mode 100644 index 5cda9f79c4..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniIsOfTypeView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionFurniIsOfTypeView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniMatchesSnapshotView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniMatchesSnapshotView.tsx deleted file mode 100644 index 176a0e6707..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionFurniMatchesSnapshotView.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionFurniMatchesSnapshotView: FC<{}> = props => -{ - const [ stateFlag, setStateFlag ] = useState(0); - const [ directionFlag, setDirectionFlag ] = useState(0); - const [ positionFlag, setPositionFlag ] = useState(0); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ stateFlag, directionFlag, positionFlag ]); - - useEffect(() => - { - setStateFlag(trigger.getBoolean(0) ? 1 : 0); - setDirectionFlag(trigger.getBoolean(1) ? 1 : 0); - setPositionFlag(trigger.getBoolean(2) ? 1 : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.conditions') } -
- setStateFlag(event.target.checked ? 1 : 0) } /> - { LocalizeText('wiredfurni.params.condition.state') } -
-
- setDirectionFlag(event.target.checked ? 1 : 0) } /> - { LocalizeText('wiredfurni.params.condition.direction') } -
-
- setPositionFlag(event.target.checked ? 1 : 0) } /> - { LocalizeText('wiredfurni.params.condition.position') } -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionLayoutView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionLayoutView.tsx deleted file mode 100644 index a1a88c2a95..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionLayoutView.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { WiredConditionlayout } from '../../../../api'; -import { WiredConditionActorHasHandItemView } from './WiredConditionActorHasHandItem'; -import { WiredConditionActorIsGroupMemberView } from './WiredConditionActorIsGroupMemberView'; -import { WiredConditionActorIsOnFurniView } from './WiredConditionActorIsOnFurniView'; -import { WiredConditionActorIsTeamMemberView } from './WiredConditionActorIsTeamMemberView'; -import { WiredConditionActorIsWearingBadgeView } from './WiredConditionActorIsWearingBadgeView'; -import { WiredConditionActorIsWearingEffectView } from './WiredConditionActorIsWearingEffectView'; -import { WiredConditionDateRangeView } from './WiredConditionDateRangeView'; -import { WiredConditionFurniHasAvatarOnView } from './WiredConditionFurniHasAvatarOnView'; -import { WiredConditionFurniHasFurniOnView } from './WiredConditionFurniHasFurniOnView'; -import { WiredConditionFurniHasNotFurniOnView } from './WiredConditionFurniHasNotFurniOnView'; -import { WiredConditionFurniIsOfTypeView } from './WiredConditionFurniIsOfTypeView'; -import { WiredConditionFurniMatchesSnapshotView } from './WiredConditionFurniMatchesSnapshotView'; -import { WiredConditionTimeElapsedLessView } from './WiredConditionTimeElapsedLessView'; -import { WiredConditionTimeElapsedMoreView } from './WiredConditionTimeElapsedMoreView'; -import { WiredConditionUserCountInRoomView } from './WiredConditionUserCountInRoomView'; - -export const WiredConditionLayoutView = (code: number) => -{ - switch(code) - { - case WiredConditionlayout.ACTOR_HAS_HANDITEM: - return ; - case WiredConditionlayout.ACTOR_IS_GROUP_MEMBER: - case WiredConditionlayout.NOT_ACTOR_IN_GROUP: - return ; - case WiredConditionlayout.ACTOR_IS_ON_FURNI: - case WiredConditionlayout.NOT_ACTOR_ON_FURNI: - return ; - case WiredConditionlayout.ACTOR_IS_IN_TEAM: - case WiredConditionlayout.NOT_ACTOR_IN_TEAM: - return ; - case WiredConditionlayout.ACTOR_IS_WEARING_BADGE: - case WiredConditionlayout.NOT_ACTOR_WEARS_BADGE: - return ; - case WiredConditionlayout.ACTOR_IS_WEARING_EFFECT: - case WiredConditionlayout.NOT_ACTOR_WEARING_EFFECT: - return ; - case WiredConditionlayout.DATE_RANGE_ACTIVE: - return ; - case WiredConditionlayout.FURNIS_HAVE_AVATARS: - case WiredConditionlayout.FURNI_NOT_HAVE_HABBO: - return ; - case WiredConditionlayout.HAS_STACKED_FURNIS: - return ; - case WiredConditionlayout.NOT_HAS_STACKED_FURNIS: - return ; - case WiredConditionlayout.STUFF_TYPE_MATCHES: - case WiredConditionlayout.NOT_FURNI_IS_OF_TYPE: - return ; - case WiredConditionlayout.STATES_MATCH: - case WiredConditionlayout.NOT_STATES_MATCH: - return ; - case WiredConditionlayout.TIME_ELAPSED_LESS: - return ; - case WiredConditionlayout.TIME_ELAPSED_MORE: - return ; - case WiredConditionlayout.USER_COUNT_IN: - case WiredConditionlayout.NOT_USER_COUNT_IN: - return ; - } - - return null; -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionTimeElapsedLessView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionTimeElapsedLessView.tsx deleted file mode 100644 index 9054fe3d83..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionTimeElapsedLessView.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { GetWiredTimeLocale, LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionTimeElapsedLessView: FC<{}> = props => -{ - const [ time, setTime ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ time ]); - - useEffect(() => - { - setTime((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.allowbefore', [ 'seconds' ], [ GetWiredTimeLocale(time) ]) } - setTime(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionTimeElapsedMoreView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionTimeElapsedMoreView.tsx deleted file mode 100644 index a31efdb986..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionTimeElapsedMoreView.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { GetWiredTimeLocale, LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionTimeElapsedMoreView: FC<{}> = props => -{ - const [ time, setTime ] = useState(-1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ time ]); - - useEffect(() => - { - setTime((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.allowafter', [ 'seconds' ], [ GetWiredTimeLocale(time) ]) } - setTime(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionUserCountInRoomView.tsx b/Coolui v3 test/src/components/wired/views/conditions/WiredConditionUserCountInRoomView.tsx deleted file mode 100644 index d6557213f0..0000000000 --- a/Coolui v3 test/src/components/wired/views/conditions/WiredConditionUserCountInRoomView.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredConditionBaseView } from './WiredConditionBaseView'; - -export const WiredConditionUserCountInRoomView: FC<{}> = props => -{ - const [ min, setMin ] = useState(1); - const [ max, setMax ] = useState(0); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ min, max ]); - - useEffect(() => - { - if(trigger.intData.length >= 2) - { - setMin(trigger.intData[0]); - setMax(trigger.intData[1]); - } - else - { - setMin(1); - setMax(0); - } - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.usercountmin', [ 'value' ], [ min.toString() ]) } - setMin(event) } /> -
-
- { LocalizeText('wiredfurni.params.usercountmax', [ 'value' ], [ max.toString() ]) } - setMax(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarEnterRoomView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarEnterRoomView.tsx deleted file mode 100644 index 2d948a4b52..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarEnterRoomView.tsx +++ /dev/null @@ -1,39 +0,0 @@ -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam((avatarMode === 1) ? username : ''); - - useEffect(() => - { - setUsername(trigger.stringData); - setAvatarMode(trigger.stringData ? 1 : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.picktriggerer') } -
- setAvatarMode(0) } /> - { LocalizeText('wiredfurni.params.anyavatar') } -
-
- setAvatarMode(1) } /> - { LocalizeText('wiredfurni.params.certainavatar') } -
- { (avatarMode === 1) && - setUsername(event.target.value) } /> } -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarSaysSomethingView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarSaysSomethingView.tsx deleted file mode 100644 index e2d9dd35c8..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarSaysSomethingView.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { GetSessionDataManager } from '@nitrots/nitro-renderer'; -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 { trigger = null, setStringParam = null, setIntParams = null } = useWired(); - - const save = () => - { - setStringParam(message); - setIntParams([ triggererAvatar ]); - }; - - useEffect(() => - { - setMessage(trigger.stringData); - setTriggererAvatar((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.whatissaid') } - setMessage(event.target.value) } /> -
-
- { LocalizeText('wiredfurni.params.picktriggerer') } -
- setTriggererAvatar(0) } /> - { LocalizeText('wiredfurni.params.anyavatar') } -
-
- setTriggererAvatar(1) } /> - { GetSessionDataManager().userName } -
-
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarWalksOffFurniView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarWalksOffFurniView.tsx deleted file mode 100644 index fc6c198480..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarWalksOffFurniView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggerAvatarWalksOffFurniView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarWalksOnFurni.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarWalksOnFurni.tsx deleted file mode 100644 index 217cbd58bb..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerAvatarWalksOnFurni.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggerAvatarWalksOnFurniView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBaseView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBaseView.tsx deleted file mode 100644 index 7590d9aa86..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBaseView.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { FC, PropsWithChildren } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredBaseView } from '../WiredBaseView'; - -export interface WiredTriggerBaseViewProps -{ - hasSpecialInput: boolean; - requiresFurni: number; - save: () => void; -} - -export const WiredTriggerBaseView: FC> = props => -{ - const { requiresFurni = WiredFurniType.STUFF_SELECTION_OPTION_NONE, save = null, hasSpecialInput = false, children = null } = props; - - const onSave = () => (save && save()); - - return ( - - { children } - - ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBotReachedAvatarView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBotReachedAvatarView.tsx deleted file mode 100644 index 6aa3fde546..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBotReachedAvatarView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam(botName); - - useEffect(() => - { - setBotName(trigger.stringData); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.bot.name') } - setBotName(event.target.value) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBotReachedStuffView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBotReachedStuffView.tsx deleted file mode 100644 index 0034603a11..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerBotReachedStuffView.tsx +++ /dev/null @@ -1,28 +0,0 @@ -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 { trigger = null, setStringParam = null } = useWired(); - - const save = () => setStringParam(botName); - - useEffect(() => - { - setBotName(trigger.stringData); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.bot.name') } - setBotName(event.target.value) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerCollisionView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerCollisionView.tsx deleted file mode 100644 index d7efc34074..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerCollisionView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggerCollisionView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecuteOnceView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecuteOnceView.tsx deleted file mode 100644 index 0b91a905c4..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecuteOnceView.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { GetWiredTimeLocale, LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggeExecuteOnceView: FC<{}> = props => -{ - const [ time, setTime ] = useState(1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ time ]); - - useEffect(() => - { - setTime((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.settime', [ 'seconds' ], [ GetWiredTimeLocale(time) ]) } - setTime(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecutePeriodicallyLongView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecutePeriodicallyLongView.tsx deleted file mode 100644 index b20e7ed708..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecutePeriodicallyLongView.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { FriendlyTime, LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggeExecutePeriodicallyLongView: FC<{}> = props => -{ - const [ time, setTime ] = useState(1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ time ]); - - useEffect(() => - { - setTime((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.setlongtime', [ 'time' ], [ FriendlyTime.format(time * 5).toString() ]) } - setTime(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecutePeriodicallyView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecutePeriodicallyView.tsx deleted file mode 100644 index 35471ce79d..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerExecutePeriodicallyView.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { GetWiredTimeLocale, LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggeExecutePeriodicallyView: FC<{}> = props => -{ - const [ time, setTime ] = useState(1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ time ]); - - useEffect(() => - { - setTime((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.settime', [ 'seconds' ], [ GetWiredTimeLocale(time) ]) } - setTime(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerGameEndsView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerGameEndsView.tsx deleted file mode 100644 index 476ed70335..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerGameEndsView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggerGameEndsView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerGameStartsView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerGameStartsView.tsx deleted file mode 100644 index 5c9b93789e..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerGameStartsView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggerGameStartsView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerLayoutView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerLayoutView.tsx deleted file mode 100644 index 0b0192244b..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerLayoutView.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { WiredTriggerLayout } from '../../../../api'; -import { WiredTriggerAvatarEnterRoomView } from './WiredTriggerAvatarEnterRoomView'; -import { WiredTriggerAvatarSaysSomethingView } from './WiredTriggerAvatarSaysSomethingView'; -import { WiredTriggerAvatarWalksOffFurniView } from './WiredTriggerAvatarWalksOffFurniView'; -import { WiredTriggerAvatarWalksOnFurniView } from './WiredTriggerAvatarWalksOnFurni'; -import { WiredTriggerBotReachedAvatarView } from './WiredTriggerBotReachedAvatarView'; -import { WiredTriggerBotReachedStuffView } from './WiredTriggerBotReachedStuffView'; -import { WiredTriggerCollisionView } from './WiredTriggerCollisionView'; -import { WiredTriggeExecuteOnceView } from './WiredTriggerExecuteOnceView'; -import { WiredTriggeExecutePeriodicallyLongView } from './WiredTriggerExecutePeriodicallyLongView'; -import { WiredTriggeExecutePeriodicallyView } from './WiredTriggerExecutePeriodicallyView'; -import { WiredTriggerGameEndsView } from './WiredTriggerGameEndsView'; -import { WiredTriggerGameStartsView } from './WiredTriggerGameStartsView'; -import { WiredTriggeScoreAchievedView } from './WiredTriggerScoreAchievedView'; -import { WiredTriggerToggleFurniView } from './WiredTriggerToggleFurniView'; - -export const WiredTriggerLayoutView = (code: number) => -{ - switch(code) - { - case WiredTriggerLayout.AVATAR_ENTERS_ROOM: - return ; - case WiredTriggerLayout.AVATAR_SAYS_SOMETHING: - return ; - case WiredTriggerLayout.AVATAR_WALKS_OFF_FURNI: - return ; - case WiredTriggerLayout.AVATAR_WALKS_ON_FURNI: - return ; - case WiredTriggerLayout.BOT_REACHED_AVATAR: - return ; - case WiredTriggerLayout.BOT_REACHED_STUFF: - return ; - case WiredTriggerLayout.COLLISION: - return ; - case WiredTriggerLayout.EXECUTE_ONCE: - return ; - case WiredTriggerLayout.EXECUTE_PERIODICALLY: - return ; - case WiredTriggerLayout.EXECUTE_PERIODICALLY_LONG: - return ; - case WiredTriggerLayout.GAME_ENDS: - return ; - case WiredTriggerLayout.GAME_STARTS: - return ; - case WiredTriggerLayout.SCORE_ACHIEVED: - return ; - case WiredTriggerLayout.TOGGLE_FURNI: - return ; - } - - return null; -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerScoreAchievedView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerScoreAchievedView.tsx deleted file mode 100644 index 0c4c7385ca..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerScoreAchievedView.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { FC, useEffect, useState } from 'react'; -import ReactSlider from 'react-slider'; -import { LocalizeText, WiredFurniType } from '../../../../api'; -import { Text } from '../../../../common'; -import { useWired } from '../../../../hooks'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggeScoreAchievedView: FC<{}> = props => -{ - const [ points, setPoints ] = useState(1); - const { trigger = null, setIntParams = null } = useWired(); - - const save = () => setIntParams([ points ]); - - useEffect(() => - { - setPoints((trigger.intData.length > 0) ? trigger.intData[0] : 0); - }, [ trigger ]); - - return ( - -
- { LocalizeText('wiredfurni.params.setscore', [ 'points' ], [ points.toString() ]) } - setPoints(event) } /> -
-
- ); -}; diff --git a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerToggleFurniView.tsx b/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerToggleFurniView.tsx deleted file mode 100644 index 474848174f..0000000000 --- a/Coolui v3 test/src/components/wired/views/triggers/WiredTriggerToggleFurniView.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { FC } from 'react'; -import { WiredFurniType } from '../../../../api'; -import { WiredTriggerBaseView } from './WiredTriggerBaseView'; - -export const WiredTriggerToggleFurniView: FC<{}> = props => -{ - return ; -}; diff --git a/Coolui v3 test/src/css/backgrounds/BackgroundsView.css b/Coolui v3 test/src/css/backgrounds/BackgroundsView.css deleted file mode 100644 index 3f1bace19c..0000000000 --- a/Coolui v3 test/src/css/backgrounds/BackgroundsView.css +++ /dev/null @@ -1,957 +0,0 @@ -.backgrounds-view-container { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 100; - pointer-events: none; -} - -.profile-background, -.profile-stand, -.profile-overlay { - z-index: 1; -} - -.profile-overlay { - z-index: 40; -} - -@keyframes fadeIn { - to { opacity: 1; } -} - -.non-selectable { - cursor: default; -} - -.non-selectable .profile-background { - filter: opacity(0.5); - transition: linear 0.25s; -} - -.non-selectable .profile-background:hover { - filter: opacity(1); -} - -.background-edit-icon { - background-image: url('@/assets/images/infostand/icon_edit.gif'); - width: 19px; - height: 19px; - pointer-events: auto; - cursor: pointer; - z-index: 10; - display: block; - transition: opacity 0.2s ease; -} - -.background-edit-icon:hover { - opacity: 0.8; -} - -.background-edit-position { - position: absolute; - left: 8px; -} - -.profile-background { - background-repeat: no-repeat; - background-position: center; - height: 135px; - width: 68px; -} - -.profile-background.background-default { - background-color: #f0f0f0; -} - -.profile-stand { - background-repeat: no-repeat; - background-position: center; - height: 135px; - width: 68px; -} - -.profile-stand.stand-default { - background: none; -} - -.profile-overlay { - background-repeat: no-repeat; - background-position: center; - height: 135px; - width: 68px; -} - -.profile-overlay.overlay-default { - background: none; -} - -.profile-background { - background-repeat: no-repeat; - background-position: center; - height: 135px; - width: 68px; - - &.background-0 { - background-image: url('@/assets/images/backgrounds/background/bg_0.png'); - } - - &.background-1 { - background-image: url('@/assets/images/backgrounds/background/bg_1.gif'); - } - - &.background-2 { - background-image: url('@/assets/images/backgrounds/background/bg_2.png'); - } - - &.background-3 { - background-image: url('@/assets/images/backgrounds/background/bg_3.png'); - } - - &.background-4 { - background-image: url('@/assets/images/backgrounds/background/bg_4.png'); - } - - &.background-5 { - background-image: url('@/assets/images/backgrounds/background/bg_5.png'); - } - - &.background-6 { - background-image: url('@/assets/images/backgrounds/background/bg_6.png'); - } - - &.background-7 { - background-image: url('@/assets/images/backgrounds/background/bg_7.png'); - } - - &.background-8 { - background-image: url('@/assets/images/backgrounds/background/bg_8.png'); - } - - &.background-9 { - background-image: url('@/assets/images/backgrounds/background/bg_9.png'); - } - - &.background-10 { - background-image: url('@/assets/images/backgrounds/background/bg_10.png'); - } - - &.background-11 { - background-image: url('@/assets/images/backgrounds/background/bg_11.png'); - } - - &.background-12 { - background-image: url('@/assets/images/backgrounds/background/bg_12.png'); - } - - &.background-13 { - background-image: url('@/assets/images/backgrounds/background/bg_13.png'); - } - - &.background-14 { - background-image: url('@/assets/images/backgrounds/background/bg_14.png'); - } - - &.background-15 { - background-image: url('@/assets/images/backgrounds/background/bg_15.png'); - } - - &.background-16 { - background-image: url('@/assets/images/backgrounds/background/bg_16.png'); - } - - &.background-17 { - background-image: url('@/assets/images/backgrounds/background/bg_17.png'); - } - - &.background-18 { - background-image: url('@/assets/images/backgrounds/background/bg_18.png'); - } - - &.background-19 { - background-image: url('@/assets/images/backgrounds/background/bg_19.png'); - } - - &.background-20 { - background-image: url('@/assets/images/backgrounds/background/bg_20.png'); - } - - &.background-21 { - background-image: url('@/assets/images/backgrounds/background/bg_21.png'); - } - - &.background-22 { - background-image: url('@/assets/images/backgrounds/background/bg_22.png'); - } - - &.background-23 { - background-image: url('@/assets/images/backgrounds/background/bg_23.png'); - } - - &.background-24 { - background-image: url('@/assets/images/backgrounds/background/bg_24.png'); - } - - &.background-25 { - background-image: url('@/assets/images/backgrounds/background/bg_25.png'); - } - - &.background-26 { - background-image: url('@/assets/images/backgrounds/background/bg_26.png'); - } - - &.background-27 { - background-image: url('@/assets/images/backgrounds/background/bg_27.png'); - } - - &.background-28 { - background-image: url('@/assets/images/backgrounds/background/bg_28.png'); - } - - &.background-29 { - background-image: url('@/assets/images/backgrounds/background/bg_29.png'); - } - - &.background-30 { - background-image: url('@/assets/images/backgrounds/background/bg_30.png'); - } - - &.background-31 { - background-image: url('@/assets/images/backgrounds/background/bg_31.png'); - } - - &.background-32 { - background-image: url('@/assets/images/backgrounds/background/bg_32.png'); - } - - &.background-33 { - background-image: url('@/assets/images/backgrounds/background/bg_33.png'); - } - - &.background-34 { - background-image: url('@/assets/images/backgrounds/background/bg_34.png'); - } - - &.background-35 { - background-image: url('@/assets/images/backgrounds/background/bg_35.png'); - } - - &.background-36 { - background-image: url('@/assets/images/backgrounds/background/bg_36.gif'); - } - - &.background-37 { - background-image: url('@/assets/images/backgrounds/background/bg_37.png'); - } - - &.background-38 { - background-image: url('@/assets/images/backgrounds/background/bg_38.png'); - } - - &.background-39 { - background-image: url('@/assets/images/backgrounds/background/bg_39.png'); - } - - &.background-40 { - background-image: url('@/assets/images/backgrounds/background/bg_40.png'); - } - - &.background-41 { - background-image: url('@/assets/images/backgrounds/background/bg_41.png'); - } - - &.background-42 { - background-image: url('@/assets/images/backgrounds/background/bg_42.png'); - } - - &.background-43 { - background-image: url('@/assets/images/backgrounds/background/bg_43.png'); - } - - &.background-44 { - background-image: url('@/assets/images/backgrounds/background/bg_44.png'); - } - - &.background-45 { - background-image: url('@/assets/images/backgrounds/background/bg_45.png'); - } - - &.background-46 { - background-image: url('@/assets/images/backgrounds/background/bg_46.png'); - } - - &.background-47 { - background-image: url('@/assets/images/backgrounds/background/bg_47.png'); - } - - &.background-48 { - background-image: url('@/assets/images/backgrounds/background/bg_48.png'); - } - - &.background-49 { - background-image: url('@/assets/images/backgrounds/background/bg_49.png'); - } - - &.background-50 { - background-image: url('@/assets/images/backgrounds/background/bg_50.png'); - } - - &.background-51 { - background-image: url('@/assets/images/backgrounds/background/bg_51.gif'); - } - - &.background-52 { - background-image: url('@/assets/images/backgrounds/background/bg_52.gif'); - } - - &.background-53 { - background-image: url('@/assets/images/backgrounds/background/bg_53.gif'); - } - - &.background-54 { - background-image: url('@/assets/images/backgrounds/background/bg_54.gif'); - } - - &.background-55 { - background-image: url('@/assets/images/backgrounds/background/bg_55.gif'); - } - - &.background-56 { - background-image: url('@/assets/images/backgrounds/background/bg_56.gif'); - } - - &.background-57 { - background-image: url('@/assets/images/backgrounds/background/bg_57.gif'); - } - - &.background-58 { - background-image: url('@/assets/images/backgrounds/background/bg_58.gif'); - } - - &.background-59 { - background-image: url('@/assets/images/backgrounds/background/bg_59.gif'); - } - - &.background-60 { - background-image: url('@/assets/images/backgrounds/background/bg_60.gif'); - } - - &.background-61 { - background-image: url('@/assets/images/backgrounds/background/bg_61.gif'); - } - - &.background-62 { - background-image: url('@/assets/images/backgrounds/background/bg_62.gif'); - } - - &.background-63 { - background-image: url('@/assets/images/backgrounds/background/bg_63.gif'); - } - - &.background-64 { - background-image: url('@/assets/images/backgrounds/background/bg_64.gif'); - } - - &.background-65 { - background-image: url('@/assets/images/backgrounds/background/bg_65.gif'); - } - - &.background-66 { - background-image: url('@/assets/images/backgrounds/background/bg_66.gif'); - } - - &.background-67 { - background-image: url('@/assets/images/backgrounds/background/bg_67.gif'); - } - - &.background-68 { - background-image: url('@/assets/images/backgrounds/background/bg_68.gif'); - } - - &.background-69 { - background-image: url('@/assets/images/backgrounds/background/bg_69.gif'); - } - - &.background-70 { - background-image: url('@/assets/images/backgrounds/background/bg_70.gif'); - } - - &.background-71 { - background-image: url('@/assets/images/backgrounds/background/bg_71.gif'); - } - - &.background-72 { - background-image: url('@/assets/images/backgrounds/background/bg_72.gif'); - } - - &.background-73 { - background-image: url('@/assets/images/backgrounds/background/bg_73.gif'); - } - - &.background-74 { - background-image: url('@/assets/images/backgrounds/background/bg_74.gif'); - } - - &.background-75 { - background-image: url('@/assets/images/backgrounds/background/bg_75.gif'); - } - - &.background-76 { - background-image: url('@/assets/images/backgrounds/background/bg_76.gif'); - } - - &.background-77 { - background-image: url('@/assets/images/backgrounds/background/bg_77.gif'); - } - - &.background-78 { - background-image: url('@/assets/images/backgrounds/background/bg_78.gif'); - } - - &.background-79 { - background-image: url('@/assets/images/backgrounds/background/bg_79.gif'); - } - - &.background-80 { - background-image: url('@/assets/images/backgrounds/background/bg_80.gif'); - } - - &.background-81 { - background-image: url('@/assets/images/backgrounds/background/bg_81.gif'); - } - - &.background-82 { - background-image: url('@/assets/images/backgrounds/background/bg_82.gif'); - } - - &.background-83 { - background-image: url('@/assets/images/backgrounds/background/bg_83.gif'); - } - - &.background-84 { - background-image: url('@/assets/images/backgrounds/background/bg_84.gif'); - } - - &.background-85 { - background-image: url('@/assets/images/backgrounds/background/bg_85.gif'); - } - - &.background-86 { - background-image: url('@/assets/images/backgrounds/background/bg_86.png'); - } - - &.background-87 { - background-image: url('@/assets/images/backgrounds/background/bg_87.gif'); - } - - &.background-88 { - background-image: url('@/assets/images/backgrounds/background/bg_88.gif'); - } - - &.background-89 { - background-image: url('@/assets/images/backgrounds/background/bg_89.gif'); - } - - &.background-90 { - background-image: url('@/assets/images/backgrounds/background/bg_90.gif'); - } - - &.background-91 { - background-image: url('@/assets/images/backgrounds/background/bg_91.gif'); - } - - &.background-92 { - background-image: url('@/assets/images/backgrounds/background/bg_92.gif'); - } - - &.background-93 { - background-image: url('@/assets/images/backgrounds/background/bg_93.gif'); - } - - &.background-94 { - background-image: url('@/assets/images/backgrounds/background/bg_94.gif'); - } - - &.background-95 { - background-image: url('@/assets/images/backgrounds/background/bg_95.gif'); - } - - &.background-96 { - background-image: url('@/assets/images/backgrounds/background/bg_96.gif'); - } - - &.background-97 { - background-image: url('@/assets/images/backgrounds/background/bg_97.gif'); - } - - &.background-98 { - background-image: url('@/assets/images/backgrounds/background/bg_98.gif'); - } - - &.background-99 { - background-image: url('@/assets/images/backgrounds/background/bg_99.gif'); - } - - &.background-100 { - background-image: url('@/assets/images/backgrounds/background/bg_100.gif'); - } - - &.background-101 { - background-image: url('@/assets/images/backgrounds/background/bg_101.png'); - } - - &.background-102 { - background-image: url('@/assets/images/backgrounds/background/bg_102.gif'); - } - - &.background-103 { - background-image: url('@/assets/images/backgrounds/background/bg_103.gif'); - } - - &.background-104 { - background-image: url('@/assets/images/backgrounds/background/bg_104.gif'); - } - - &.background-105 { - background-image: url('@/assets/images/backgrounds/background/bg_105.gif'); - } - - &.background-106 { - background-image: url('@/assets/images/backgrounds/background/bg_106.gif'); - } - - &.background-107 { - background-image: url('@/assets/images/backgrounds/background/bg_107.gif'); - } - - &.background-108 { - background-image: url('@/assets/images/backgrounds/background/bg_108.gif'); - } - - &.background-109 { - background-image: url('@/assets/images/backgrounds/background/bg_109.gif'); - } - - &.background-110 { - background-image: url('@/assets/images/backgrounds/background/bg_110.gif'); - } - - &.background-111 { - background-image: url('@/assets/images/backgrounds/background/bg_111.gif'); - } - - &.background-112 { - background-image: url('@/assets/images/backgrounds/background/bg_112.gif'); - } - - &.background-113 { - background-image: url('@/assets/images/backgrounds/background/bg_113.gif'); - } - - &.background-114 { - background-image: url('@/assets/images/backgrounds/background/bg_114.gif'); - } - - &.background-115 { - background-image: url('@/assets/images/backgrounds/background/bg_115.gif'); - } - - &.background-116 { - background-image: url('@/assets/images/backgrounds/background/bg_116.gif'); - } - - &.background-117 { - background-image: url('@/assets/images/backgrounds/background/bg_117.gif'); - } - - &.background-118 { - background-image: url('@/assets/images/backgrounds/background/bg_118.gif'); - } - - &.background-119 { - background-image: url('@/assets/images/backgrounds/background/bg_119.gif'); - } - - &.background-120 { - background-image: url('@/assets/images/backgrounds/background/bg_120.gif'); - } - - &.background-121 { - background-image: url('@/assets/images/backgrounds/background/bg_121.gif'); - } - - &.background-122 { - background-image: url('@/assets/images/backgrounds/background/bg_122.gif'); - } - - &.background-123 { - background-image: url('@/assets/images/backgrounds/background/bg_123.gif'); - } - - &.background-124 { - background-image: url('@/assets/images/backgrounds/background/bg_124.gif'); - } - - &.background-125 { - background-image: url('@/assets/images/backgrounds/background/bg_125.gif'); - } - - &.background-126 { - background-image: url('@/assets/images/backgrounds/background/bg_126.gif'); - } - - &.background-127 { - background-image: url('@/assets/images/backgrounds/background/bg_127.gif'); - } - - &.background-128 { - background-image: url('@/assets/images/backgrounds/background/bg_128.gif'); - } - - &.background-129 { - background-image: url('@/assets/images/backgrounds/background/bg_129.gif'); - } - - &.background-130 { - background-image: url('@/assets/images/backgrounds/background/bg_130.gif'); - } - - &.background-131 { - background-image: url('@/assets/images/backgrounds/background/bg_131.gif'); - } - - &.background-132 { - background-image: url('@/assets/images/backgrounds/background/bg_132.gif'); - } - - &.background-133 { - background-image: url('@/assets/images/backgrounds/background/bg_133.gif'); - } - - &.background-134 { - background-image: url('@/assets/images/backgrounds/background/bg_134.gif'); - } - - &.background-135 { - background-image: url('@/assets/images/backgrounds/background/bg_135.gif'); - } - - &.background-136 { - background-image: url('@/assets/images/backgrounds/background/bg_136.gif'); - } - - &.background-137 { - background-image: url('@/assets/images/backgrounds/background/bg_137.gif'); - } - - &.background-138 { - background-image: url('@/assets/images/backgrounds/background/bg_138.gif'); - } - - &.background-139 { - background-image: url('@/assets/images/backgrounds/background/bg_139.gif'); - } - - &.background-140 { - background-image: url('@/assets/images/backgrounds/background/bg_140.gif'); - } - - &.background-141 { - background-image: url('@/assets/images/backgrounds/background/bg_141.gif'); - } - - &.background-142 { - background-image: url('@/assets/images/backgrounds/background/bg_142.gif'); - } - - &.background-143 { - background-image: url('@/assets/images/backgrounds/background/bg_143.gif'); - } - - &.background-144 { - background-image: url('@/assets/images/backgrounds/background/bg_144.gif'); - } - - &.background-145 { - background-image: url('@/assets/images/backgrounds/background/bg_145.gif'); - } - - &.background-146 { - background-image: url('@/assets/images/backgrounds/background/bg_146.gif'); - } - - &.background-147 { - background-image: url('@/assets/images/backgrounds/background/bg_147.gif'); - } - - &.background-148 { - background-image: url('@/assets/images/backgrounds/background/bg_148.gif'); - } - - &.background-149 { - background-image: url('@/assets/images/backgrounds/background/bg_149.gif'); - } - - &.background-150 { - background-image: url('@/assets/images/backgrounds/background/bg_150.gif'); - } - - &.background-151 { - background-image: url('@/assets/images/backgrounds/background/bg_151.gif'); - } - - &.background-152 { - background-image: url('@/assets/images/backgrounds/background/bg_152.gif'); - } - - &.background-153 { - background-image: url('@/assets/images/backgrounds/background/bg_153.gif'); - } - - &.background-154 { - background-image: url('@/assets/images/backgrounds/background/bg_154.gif'); - } - - &.background-155 { - background-image: url('@/assets/images/backgrounds/background/bg_155.gif'); - } - - &.background-156 { - background-image: url('@/assets/images/backgrounds/background/bg_156.gif'); - } - - &.background-157 { - background-image: url('@/assets/images/backgrounds/background/bg_157.gif'); - } - - &.background-158 { - background-image: url('@/assets/images/backgrounds/background/bg_158.gif'); - } - - &.background-159 { - background-image: url('@/assets/images/backgrounds/background/bg_159.gif'); - } - - &.background-160 { - background-image: url('@/assets/images/backgrounds/background/bg_160.gif'); - } - - &.background-161 { - background-image: url('@/assets/images/backgrounds/background/bg_161.gif'); - } - - &.background-162 { - background-image: url('@/assets/images/backgrounds/background/bg_162.gif'); - } - - &.background-163 { - background-image: url('@/assets/images/backgrounds/background/bg_163.gif'); - } - - &.background-164 { - background-image: url('@/assets/images/backgrounds/background/bg_164.gif'); - } - - &.background-165 { - background-image: url('@/assets/images/backgrounds/background/bg_165.gif'); - } - - &.background-166 { - background-image: url('@/assets/images/backgrounds/background/bg_166.gif'); - } - - &.background-167 { - background-image: url('@/assets/images/backgrounds/background/bg_167.gif'); - } - - &.background-168 { - background-image: url('@/assets/images/backgrounds/background/bg_168.gif'); - } - - &.background-169 { - background-image: url('@/assets/images/backgrounds/background/bg_169.gif'); - } - - &.background-170 { - background-image: url('@/assets/images/backgrounds/background/bg_170.png'); - } - - &.background-171 { - background-image: url('@/assets/images/backgrounds/background/bg_171.png'); - } - - &.background-172 { - background-image: url('@/assets/images/backgrounds/background/bg_172.png'); - } - - &.background-173 { - background-image: url('@/assets/images/backgrounds/background/bg_173.png'); - } - - &.background-174 { - background-image: url('@/assets/images/backgrounds/background/bg_174.png'); - } - - &.background-175 { - background-image: url('@/assets/images/backgrounds/background/bg_175.png'); - } - - &.background-176 { - background-image: url('@/assets/images/backgrounds/background/bg_176.png'); - } - - &.background-177 { - background-image: url('@/assets/images/backgrounds/background/bg_177.gif'); - } - - &.background-178 { - background-image: url('@/assets/images/backgrounds/background/bg_178.png'); - } - - &.background-179 { - background-image: url('@/assets/images/backgrounds/background/bg_179.png'); - } - - &.background-180 { - background-image: url('@/assets/images/backgrounds/background/bg_180.png'); - } - - &.background-181 { - background-image: url('@/assets/images/backgrounds/background/bg_181.png'); - } - - &.background-182 { - background-image: url('@/assets/images/backgrounds/background/bg_182.png'); - } - - &.background-183 { - background-image: url('@/assets/images/backgrounds/background/bg_183.png'); - } - - &.background-184 { - background-image: url('@/assets/images/backgrounds/background/bg_184.png'); - } - - &.background-185 { - background-image: url('@/assets/images/backgrounds/background/bg_185.png'); - } - - &.background-186 { - background-image: url('@/assets/images/backgrounds/background/bg_186.png'); - } - - &.background-187 { - background-image: url('@/assets/images/backgrounds/background/bg_187.gif'); - } -} - -.profile-stand { - background-repeat: no-repeat; - background-position: center; - height: 135px; - width: 68px; - - &.stand-0 { - background-image: url('@/assets/images/backgrounds/stand_0.png'); - } - &.stand-1 { - background-image: url('@/assets/images/backgrounds/stand_1.png'); - } - &.stand-2 { - background-image: url('@/assets/images/backgrounds/stand_2.png'); - } - &.stand-3 { - background-image: url('@/assets/images/backgrounds/stand_3.png'); - } - &.stand-4 { - background-image: url('@/assets/images/backgrounds/stand_4.png'); - } - &.stand-5 { - background-image: url('@/assets/images/backgrounds/stand_5.png'); - } - &.stand-6 { - background-image: url('@/assets/images/backgrounds/stand_6.png'); - } - &.stand-7 { - background-image: url('@/assets/images/backgrounds/stand_7.png'); - } - &.stand-8 { - background-image: url('@/assets/images/backgrounds/stand_8.png'); - } - &.stand-9 { - background-image: url('@/assets/images/backgrounds/stand_9.png'); - } - &.stand-10 { - background-image: url('@/assets/images/backgrounds/stand_10.png'); - } - &.stand-11 { - background-image: url('@/assets/images/backgrounds/stand_11.png'); - } - &.stand-12 { - background-image: url('@/assets/images/backgrounds/stand_12.png'); - } - &.stand-13 { - background-image: url('@/assets/images/backgrounds/stand_13.png'); - } - &.stand-14 { - background-image: url('@/assets/images/backgrounds/stand_14.png'); - } - &.stand-15 { - background-image: url('@/assets/images/backgrounds/stand_15.png'); - } - &.stand-16 { - background-image: url('@/assets/images/backgrounds/stand_16.png'); - } - &.stand-17 { - background-image: url('@/assets/images/backgrounds/stand_17.png'); - } - &.stand-18 { - background-image: url('@/assets/images/backgrounds/stand_18.png'); - } - &.stand-19 { - background-image: url('@/assets/images/backgrounds/stand_19.png'); - } - &.stand-20 { - background-image: url('@/assets/images/backgrounds/stand_20.png'); - } - &.stand-21 { - background-image: url('@/assets/images/backgrounds/stand_21.gif'); - } -} - -.profile-overlay { - background-repeat: no-repeat; - background-position: center; - height: 135px; - width: 68px; - - &.overlay-0 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_0.png'); - } - &.overlay-1 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_1.png'); - } - &.overlay-2 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_2.png'); - } - &.overlay-3 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_3.png'); - } - &.overlay-4 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_4.png'); - } - &.overlay-5 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_5.gif'); - } - &.overlay-6 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_6.png'); - } - &.overlay-7 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_7.png'); - } - &.overlay-8 { - background-image: url('@/assets/images/backgrounds/overlay/overlay_8.png'); - } -} \ No newline at end of file diff --git a/Coolui v3 test/src/css/chat/ChatHistoryView.css b/Coolui v3 test/src/css/chat/ChatHistoryView.css deleted file mode 100644 index 815aafd666..0000000000 --- a/Coolui v3 test/src/css/chat/ChatHistoryView.css +++ /dev/null @@ -1,28 +0,0 @@ -.nitro-chat-history { - background-color: #f0f0f0; - width: 400px; - height: 400px; - } - -.nitro-chat-history .nitro-card-content { - height: 100%; - background-image: url('@/assets/images/chat/chathistory_background.png'); - background-repeat: repeat; - background-size: auto; - background-color: #f0f0f0; -} - -.nitro-chat-history .p-1.slide-in { - animation: slideIn 0.3s ease-out; -} - -@keyframes slideIn { - 0% { - transform: translateY(-20px); - opacity: 0; - } - 100% { - transform: translateY(0); - opacity: 1; - } -} \ No newline at end of file diff --git a/Coolui v3 test/src/css/chat/chats.css b/Coolui v3 test/src/css/chat/chats.css deleted file mode 100644 index 7d9c1738f3..0000000000 --- a/Coolui v3 test/src/css/chat/chats.css +++ /dev/null @@ -1,856 +0,0 @@ -.bubble-container { - transition: top 0.2s ease 0s; - - .chat-bubble { - border-image-slice: 17 6 6 29 fill; - border-image-width: 17px 6px 6px 29px; - border-image-outset: 2px 0px 0px 0px; - border-image-repeat: repeat repeat; - - &.type-0 { - - // normal - .message { - font-weight: 400; - } - } - - &.type-1 { - - // whisper - .message { - font-weight: 400; - font-style: italic; - color: #595959; - } - } - - &.type-2 { - - // shout - .message { - font-weight: 700; - } - } - - &.bubble-0 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_0_transparent.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_0_1_33_34_pointer.png'); - bottom: -5px; - } - } - - &.bubble-1 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_1.png'); - - border-image-slice: 18 6 6 29 fill; - border-image-width: 18px 6px 6px 29px; - border-image-outset: 3px 0px 0px 0px; - - .user-container { - display: none; - } - - .username { - display: none; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_0_1_33_34_pointer.png'); - } - } - - &.bubble-2, - &.bubble-31 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_2.png'); - - .user-container { - display: none; - } - - .username { - color: rgba(#FFF, 1); - } - - .message { - color: rgba(#FFF, 1) !important; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_2_31_pointer.png'); - height: 7px; - } - } - - &.bubble-3 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_3.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_3_pointer.png'); - } - } - - &.bubble-4 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_4.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_4_pointer.png'); - } - } - - &.bubble-5 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_5.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_5_pointer.png'); - } - } - - &.bubble-6 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_6.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_6_pointer.png'); - } - } - - &.bubble-7 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_7.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_7_pointer.png'); - } - } - - &.bubble-8 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_8.png'); - - border-image-slice: 20 6 6 27 fill; - border-image-width: 20px 6px 6px 27px; - border-image-outset: 5px 0px 0px 0px; - - .chat-content { - color: #fff; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_8_pointer.png'); - } - } - - &.bubble-9 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_9.png'); - - border-image-slice: 17 18 12 19 fill; - border-image-width: 17px 18px 12px 19px; - border-image-outset: 7px 7px 0px 9px; - - .chat-content { - margin-left: 20px; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_9_pointer.png'); - width: 7px; - height: 10px; - bottom: -6px; - } - } - - &.bubble-10 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_10.png'); - - border-image-slice: 29 18 8 37 fill; - border-image-width: 29px 18px 8px 37px; - border-image-outset: 12px 7px 1px 5px; - - .chat-content { - margin-left: 24px; - color: #fff; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_10_pointer.png'); - width: 7px; - height: 8px; - bottom: -3px; - } - } - - &.bubble-11 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_11.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_11_pointer.png'); - } - } - - &.bubble-12 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_12.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_12_pointer.png'); - } - } - - &.bubble-13 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_13.png'); - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_13_pointer.png'); - } - } - - &.bubble-14 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_14.png'); - - .chat-content { - color: #fff; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_14_pointer.png'); - } - } - - &.bubble-15 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_15.png'); - - .chat-content { - color: #fff; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_15_pointer.png'); - } - } - - &.bubble-16 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_16.png'); - - border-image-slice: 13 6 10 31 fill; - border-image-width: 13px 6px 10px 31px; - border-image-outset: 6px 0px 0px 0px; - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_16_pointer.png'); - height: 8px; - } - } - - &.bubble-17 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_17.png'); - - border-image-slice: 24 6 8 35 fill; - border-image-width: 24px 6px 8px 35px; - border-image-outset: 9px 0px 2px 5px; - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_17_pointer.png'); - } - } - - &.bubble-18 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_18.png'); - - border-image-slice: 7 16 8 16 fill; - border-image-width: 7px 16px 8px 16px; - border-image-outset: 3px 10px 2px 11px; - - .chat-content { - margin-left: 20px; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_18_pointer.png'); - height: 8px; - } - } - - &.bubble-19 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_19.png'); - - border-image-slice: 17 6 9 19 fill; - border-image-width: 17px 6px 9px 19px; - border-image-outset: 5px 0px 0px 8px; - - .chat-content { - margin-left: 20px; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_19_20_pointer.png'); - } - } - - &.bubble-20 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_20.png'); - - border-image-slice: 18 6 8 19 fill; - border-image-width: 18px 6px 8px 19px; - border-image-outset: 5px 0px 0px 8px; - - .chat-content { - margin-left: 20px; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_19_20_pointer.png'); - } - } - - &.bubble-21 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_21.png'); - - border-image-slice: 20 6 12 24 fill; - border-image-width: 20px 6px 12px 24px; - border-image-outset: 13px 2px 1px 3px; - - .chat-content { - margin-left: 20px; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_21_pointer.png'); - bottom: -4px; - } - } - - &.bubble-22 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_22.png'); - - border-image-slice: 18 19 11 33 fill; - border-image-width: 18px 19px 11px 33px; - border-image-outset: 7px 1px 1px 5px; - - .chat-content { - margin-left: 20px; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_22_pointer.png'); - } - } - - &.bubble-23 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_23.png'); - - border-image-slice: 16 6 7 32 fill; - border-image-width: 16px 6px 7px 32px; - border-image-outset: 5px 0px 0px 3px; - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_23_37_pointer.png'); - } - } - - &.bubble-24 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_24.png'); - - border-image-slice: 23 8 6 40 fill; - border-image-width: 23px 8px 6px 40px; - border-image-outset: 6px 0px 0px 6px; - - .chat-content { - margin-left: 30px; - color: #fff; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_24_pointer.png'); - bottom: -4px; - } - } - - &.bubble-25 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_25.png'); - - border-image-slice: 10 13 8 28 fill; - border-image-width: 10px 13px 8px 28px; - border-image-outset: 6px 3px 2px 0px; - - .chat-content { - color: #fff; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_25_pointer.png'); - height: 9px; - bottom: -7px; - } - } - - &.bubble-26 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_26.png'); - - border-image-slice: 16 9 8 29 fill; - border-image-width: 16px 9px 8px 29px; - border-image-outset: 2px 2px 2px 0px; - - .chat-content { - color: #c59432; - text-shadow: 1px 1px rgba(0, 0, 0, 0.3); - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_26_pointer.png'); - height: 10px; - bottom: -6px; - } - } - - &.bubble-27 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_27.png'); - - border-image-slice: 25 6 5 36 fill; - border-image-width: 25px 6px 5px 36px; - border-image-outset: 8px 0px 0px 5px; - - .chat-content { - margin-left: 30px; - color: #fff; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_27_pointer.png'); - } - } - - &.bubble-28 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_28.png'); - - border-image-slice: 16 7 7 27 fill; - border-image-width: 16px 7px 7px 27px; - border-image-outset: 3px 0px 0px 0px; - - .chat-content { - margin-left: 25px; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_28_pointer.png'); - } - } - - &.bubble-29 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_29.png'); - - border-image-slice: 10 7 15 31 fill; - border-image-width: 10px 7px 15px 31px; - border-image-outset: 2px 0px 0px 1px; - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_29_pointer.png'); - bottom: -4px; - } - } - - &.bubble-30 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_30.png'); - - .user-container { - display: none; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_30_pointer.png'); - height: 7px; - } - } - - &.bubble-32 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_32.png'); - - border-image-slice: 15 7 7 30 fill; - border-image-width: 15px 7px 7px 30px; - border-image-outset: 2px 0px 0px 0px; - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_32_pointer.png'); - } - } - - &.bubble-33 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_33_34.png'); - - border-image-slice: 7 6 6 39 fill; - border-image-width: 7px 6px 6px 39px; - border-image-outset: 2px 0px 0px 0px; - - .user-container { - display: none; - } - - .chat-content { - margin-left: 35px; - } - - &::before { - content: ' '; - position: absolute; - width: 19px; - height: 19px; - left: 9px; - top: 2px; - background: url('@/assets/images/chat/chatbubbles/bubble_33_extra.png'); - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_0_1_33_34_pointer.png'); - } - } - - &.bubble-34 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_33_34.png'); - - border-image-slice: 7 6 6 39 fill; - border-image-width: 7px 6px 6px 39px; - border-image-outset: 2px 0px 0px 0px; - - &.type-1 { - .message { - font-style: unset; - color: inherit; - } - } - - .user-container { - display: none; - } - - .username { - display: none; - } - - .chat-content { - margin-left: 35px; - } - - &::before { - content: ' '; - position: absolute; - width: 19px; - height: 19px; - left: 9px; - top: 2px; - background: url('@/assets/images/chat/chatbubbles/bubble_34_extra.png'); - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_0_1_33_34_pointer.png'); - } - } - - &.bubble-35 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_35.png'); - - border-image-slice: 19 6 5 29 fill; - border-image-width: 19px 6px 5px 29px; - border-image-outset: 4px 0px 0px 0px; - - .user-container { - display: none; - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_35_pointer.png'); - } - } - - &.bubble-36 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_36.png'); - - border-image-slice: 17 7 5 30 fill; - border-image-width: 17px 7px 5px 30px; - border-image-outset: 2px 0px 0px 0px; - - .user-container { - display: none; - } - - &::before { - content: ' '; - position: absolute; - width: 13px; - height: 18px; - left: 5px; - top: 2px; - background: url('@/assets/images/chat/chatbubbles/bubble_36_extra.png'); - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_36_pointer.png'); - } - } - - &.bubble-37 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_37.png'); - - border-image-slice: 16 6 7 32 fill; - border-image-width: 16px 6px 7px 32px; - border-image-outset: 5px 0px 0px 3px; - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_23_37_pointer.png'); - } - } - - &.bubble-38 { - border-image-source: url('@/assets/images/chat/chatbubbles/bubble_38.png'); - - border-image-slice: 17 7 5 30 fill; - border-image-width: 17px 7px 5px 30px; - border-image-outset: 2px 0px 0px 0px; - - .user-container { - display: none; - } - - &::before { - content: ' '; - position: absolute; - width: 19px; - height: 19px; - left: 3px; - top: 2px; - background: url('@/assets/images/chat/chatbubbles/bubble_38_extra.png'); - } - - .pointer { - background: url('@/assets/images/chat/chatbubbles/bubble_38_pointer.png'); - } - } - - .user-container { - z-index: 3; - display: flex; - align-items: center; - justify-content: center; - height: 100%; - max-height: 24px; - overflow: hidden; - - .user-image { - position: absolute; - top: -15px; - left: -9.25px; - width: 45px; - height: 65px; - background-repeat: no-repeat; - background-position: center; - transform: scale(0.5); - overflow: hidden; - image-rendering: initial; - } - } - - .chat-content { - padding: 5px 6px 5px 4px; - margin-left: 27px; - line-height: 1; - color: #000; - min-height: 25px; - } - } -} - -.chat-bubble-icon { - background-repeat: no-repeat; - background-position: center; - - &.bubble-0 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_0.png'); - } - - &.bubble-1 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_1.png'); - height: 25px; - } - - &.bubble-2, - &.bubble-31 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_2.png'); - } - - &.bubble-3 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_3.png'); - } - - &.bubble-4 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_4.png'); - } - - &.bubble-5 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_5.png'); - } - - &.bubble-6 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_6.png'); - } - - &.bubble-7 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_7.png'); - } - - &.bubble-8 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_8.png'); - } - - &.bubble-9 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_9.png'); - } - - &.bubble-10 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_10.png'); - } - - &.bubble-11 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_11.png'); - } - - &.bubble-12 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_12.png'); - } - - &.bubble-13 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_13.png'); - } - - &.bubble-14 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_14.png'); - } - - &.bubble-15 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_15.png'); - } - - &.bubble-16 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_16.png'); - } - - &.bubble-17 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_17.png'); - } - - &.bubble-18 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_18.png'); - } - - &.bubble-19 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_19.png'); - } - - &.bubble-20 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_20.png'); - } - - &.bubble-21 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_21.png'); - } - - &.bubble-22 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_22.png'); - } - - &.bubble-23 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_23.png'); - } - - &.bubble-24 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_24.png'); - } - - &.bubble-25 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_25.png'); - } - - &.bubble-26 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_26.png'); - } - - &.bubble-27 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_27.png'); - } - - &.bubble-28 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_28.png'); - } - - &.bubble-29 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_29.png'); - } - - &.bubble-30 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_30.png'); - } - - &.bubble-32 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_32.png'); - } - - &.bubble-33 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_33_34.png'); - - &::before { - content: ' '; - position: absolute; - width: 19px; - height: 19px; - left: 11px; - top: 10px; - background: url('@/assets/images/chat/chatbubbles/bubble_33_extra.png'); - } - } - - &.bubble-34 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_33_34.png'); - - &::before { - content: ' '; - position: absolute; - width: 19px; - height: 19px; - left: 11px; - top: 10px; - background: url('@/assets/images/chat/chatbubbles/bubble_34_extra.png'); - } - } - - &.bubble-35 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_35.png'); - } - - &.bubble-36 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_36.png'); - - &::before { - content: ' '; - position: absolute; - width: 13px; - height: 18px; - left: 13px; - top: 10px; - background: url('@/assets/images/chat/chatbubbles/bubble_36_extra.png'); - } - } - - &.bubble-37 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_35.png'); - } - - &.bubble-38 { - background-image: url('@/assets/images/chat/chatbubbles/bubble_38.png'); - - &::before { - content: ' '; - position: absolute; - width: 19px; - height: 19px; - left: 11px; - top: 10px; - background: url('@/assets/images/chat/chatbubbles/bubble_38_extra.png'); - } - } -} \ No newline at end of file diff --git a/Coolui v3 test/src/css/common/Buttons.css b/Coolui v3 test/src/css/common/Buttons.css deleted file mode 100644 index 106a3cc62c..0000000000 --- a/Coolui v3 test/src/css/common/Buttons.css +++ /dev/null @@ -1,109 +0,0 @@ -.btn-sm { - min-height: 28px; -} - -textarea { - resize: none; -} - -/* Chrome, Safari, Edge, Opera */ -input::-webkit-outer-spin-button, -input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} - -/* Firefox */ -input[type=number] { - -moz-appearance: textfield; -} - -.rounded { - border-radius: 0.5rem; -} - -.btn-primary { - color: #fff; - background-color: #3c6d82; - border: 2px solid #1a617f; - padding: 0.25rem 0.5rem; - font-size: .7875rem; - border-radius: 0.5rem; - box-shadow: none!important; -} - -.btn-primary:hover { - border: 2px solid #1a617f; - box-shadow: none!important; -} - -.btn-success{ - color: #fff; - background-color: #3c8243; - border: 2px solid #006d09; - padding: 0.25rem 0.5rem; - font-size: .7875rem; - border-radius: 0.5rem; - box-shadow: none!important; -} - -.btn-success:hover{ - box-shadow: none!important; -} - -.btn-danger{ - color: #fff; - background-color: #a81a12; - border: 2px solid #b9322a; - padding: 0.25rem 0.5rem; - font-size: .7875rem; - border-radius: 0.5rem; - box-shadow: none!important; -} - -.btn-danger:hover{ - box-shadow: none!important; -} - -.btn-warning{ - color: #222; - background-color: #ffc107; - border: 2px solid #f3c12a; - padding: 0.25rem 0.5rem; - font-size: .7875rem; - border-radius: 0.5rem; - box-shadow: none!important; -} - -.btn-warning:hover{ - box-shadow: none!important; -} - -.btn-dark { - color: #fff; - background-color: #212131; - border: 2px solid #1c1c2a; - box-shadow: none!important; - border-radius: 8px; - padding: 4px 11px 4px 11px; -} - -.btn-dark:hover{ - background-color: #212131; - border: 2px solid #1c1c2a; - box-shadow: none!important; - border-radius: 8px; - padding: 4px 11px 4px 11px; -} - -.btn-friendsgen{ - background-color: #424354; - border: 2px solid #63647a; - border-radius: 10px; -} - -.btn-friendsgensuccess{ - background-color: #b69b83; - border: 2px solid #e2c1a3; - border-radius: 10px; -} diff --git a/Coolui v3 test/src/css/common/MiniCamera.css b/Coolui v3 test/src/css/common/MiniCamera.css deleted file mode 100644 index fd4a145fb7..0000000000 --- a/Coolui v3 test/src/css/common/MiniCamera.css +++ /dev/null @@ -1,13 +0,0 @@ -.nitro-room-thumbnail-camera { - width: 132px; - height: 192px; - background-image: url('@/assets/images/room-widgets/thumbnail-widget/thumbnail-camera-spritesheet.png'); - - .camera-frame { - position: absolute; - width: 110px; - height: 110px; - margin-top: 30px; - margin-left: 3px; - } -} \ No newline at end of file diff --git a/Coolui v3 test/src/css/floorplan/FloorplanEditorView.css b/Coolui v3 test/src/css/floorplan/FloorplanEditorView.css deleted file mode 100644 index 219a197a0f..0000000000 --- a/Coolui v3 test/src/css/floorplan/FloorplanEditorView.css +++ /dev/null @@ -1,9 +0,0 @@ -.nitro-floorplan-editor { - width: 760px; - height: 500px; -} - -.floorplan-import-export { - width: 630px; - height: 475px; -} \ No newline at end of file diff --git a/Coolui v3 test/src/css/forms/form_select.css b/Coolui v3 test/src/css/forms/form_select.css deleted file mode 100644 index 8336b6ffff..0000000000 --- a/Coolui v3 test/src/css/forms/form_select.css +++ /dev/null @@ -1,24 +0,0 @@ -/* Styling for text inputs (e.g., password fields) */ -.form-control-sm { - padding: 0.25rem 0.5rem; /* Reduced padding */ - font-size: 0.75rem; /* Small font size, adjust to match */ - line-height: 1.5; - border-radius: 0.2rem; - min-height: calc(1.5em + 0.5rem + 2px); /* Matches your inline style */ -} - -/* Optional: Styling for radio/checkbox inputs */ -.form-check-input { - /* No font-size here since it’s an input’s appearance, not text */ - margin-top: 0.25rem; /* Align with small text */ -} - -/* If you have - ); -}); - -NitroInput.displayName = 'NitroInput'; diff --git a/Coolui v3 test/src/layout/NitroItemCountBadge.tsx b/Coolui v3 test/src/layout/NitroItemCountBadge.tsx deleted file mode 100644 index f8b0782f2d..0000000000 --- a/Coolui v3 test/src/layout/NitroItemCountBadge.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { DetailedHTMLProps, forwardRef, HTMLAttributes, PropsWithChildren } from 'react'; -import { classNames } from './classNames'; - -const classes = { - base: 'text-[white] font-bold leading-none text-[9.5px] absolute right-0 top-0 py-0.5 px-[3px] z-[1] rounded border', - themes: { - 'primary': 'border-black bg-red-700' - } -}; - -export const NitroItemCountBadge = forwardRef & DetailedHTMLProps, HTMLDivElement>>((props, ref) => -{ - const { theme = 'primary', count = 0, className = null, children = null, ...rest } = props; - - return ( -
- { count } - { children } -
- ); -}); - -NitroItemCountBadge.displayName = 'NitroItemCountBadge'; diff --git a/Coolui v3 test/src/layout/classNames.ts b/Coolui v3 test/src/layout/classNames.ts deleted file mode 100644 index 2127d85ef9..0000000000 --- a/Coolui v3 test/src/layout/classNames.ts +++ /dev/null @@ -1 +0,0 @@ -export const classNames = (...classes: string[]) => classes.filter(Boolean).join(' '); diff --git a/Coolui v3 test/src/layout/index.ts b/Coolui v3 test/src/layout/index.ts deleted file mode 100644 index a7041de8ec..0000000000 --- a/Coolui v3 test/src/layout/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from './InfiniteGrid'; -export * from './NitroButton'; -export * from './NitroCard'; -export * from './NitroInput'; -export * from './NitroItemCountBadge'; -export * from './classNames'; -export * from './limited-edition'; -export * from './styleNames'; diff --git a/Coolui v3 test/src/layout/limited-edition/NitroLimitedEditionStyledNumberView.tsx b/Coolui v3 test/src/layout/limited-edition/NitroLimitedEditionStyledNumberView.tsx deleted file mode 100644 index 0cd02506de..0000000000 --- a/Coolui v3 test/src/layout/limited-edition/NitroLimitedEditionStyledNumberView.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { FC } from 'react'; - -export const NitroLimitedEditionStyledNumberView: FC<{ - value: number; -}> = props => -{ - const { value = 0 } = props; - - return ( - <> - { value.toString().split('').map((number, index) => - - ) } - - ); -}; diff --git a/Coolui v3 test/src/layout/limited-edition/index.ts b/Coolui v3 test/src/layout/limited-edition/index.ts deleted file mode 100644 index 079a6d4fc3..0000000000 --- a/Coolui v3 test/src/layout/limited-edition/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './NitroLimitedEditionStyledNumberView'; diff --git a/Coolui v3 test/src/layout/styleNames.ts b/Coolui v3 test/src/layout/styleNames.ts deleted file mode 100644 index ac58f7791c..0000000000 --- a/Coolui v3 test/src/layout/styleNames.ts +++ /dev/null @@ -1,8 +0,0 @@ -export const styleNames = (...styles: object[]) => -{ - let mergedStyle = {}; - - styles.filter(Boolean).forEach(style => mergedStyle = { ...mergedStyle, ...style }); - - return mergedStyle; -}; diff --git a/Coolui v3 test/src/workers/IntervalWebWorker.ts b/Coolui v3 test/src/workers/IntervalWebWorker.ts deleted file mode 100644 index add63f620a..0000000000 --- a/Coolui v3 test/src/workers/IntervalWebWorker.ts +++ /dev/null @@ -1,26 +0,0 @@ -export default () => -{ - let interval: ReturnType = null; - - - self.onmessage = (message: MessageEvent) => - { - if(!message) return; - - const data: { [index: string]: any } = message.data; - - switch(data.action) - { - case 'START': - interval = setInterval(() => postMessage(null), data.content); - break; - case 'STOP': - if(interval) - { - clearInterval(interval); - interval = null; - } - break; - } - }; -}; diff --git a/Coolui v3 test/src/workers/WorkerBuilder.ts b/Coolui v3 test/src/workers/WorkerBuilder.ts deleted file mode 100644 index b848893e25..0000000000 --- a/Coolui v3 test/src/workers/WorkerBuilder.ts +++ /dev/null @@ -1,10 +0,0 @@ -export class WorkerBuilder extends Worker -{ - constructor(worker) - { - const code = worker.toString(); - const blob = new Blob([ `(${ code })()` ]); - - super(URL.createObjectURL(blob)); - } -} diff --git a/Coolui v3 test/yarn.lock b/Coolui v3 test/yarn.lock deleted file mode 100644 index 7816d0ae92..0000000000 --- a/Coolui v3 test/yarn.lock +++ /dev/null @@ -1,3364 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== - -"@babel/code-frame@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.28.6.tgz#72499312ec58b1e2245ba4a4f550c132be4982f7" - integrity sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q== - dependencies: - "@babel/helper-validator-identifier" "^7.28.5" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/compat-data@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.6.tgz#103f466803fa0f059e82ccac271475470570d74c" - integrity sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg== - -"@babel/core@^7.28.0": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.6.tgz#531bf883a1126e53501ba46eb3bb414047af507f" - integrity sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw== - dependencies: - "@babel/code-frame" "^7.28.6" - "@babel/generator" "^7.28.6" - "@babel/helper-compilation-targets" "^7.28.6" - "@babel/helper-module-transforms" "^7.28.6" - "@babel/helpers" "^7.28.6" - "@babel/parser" "^7.28.6" - "@babel/template" "^7.28.6" - "@babel/traverse" "^7.28.6" - "@babel/types" "^7.28.6" - "@jridgewell/remapping" "^2.3.5" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.6.tgz#48dcc65d98fcc8626a48f72b62e263d25fc3c3f1" - integrity sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw== - dependencies: - "@babel/parser" "^7.28.6" - "@babel/types" "^7.28.6" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - -"@babel/helper-compilation-targets@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" - integrity sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== - dependencies: - "@babel/compat-data" "^7.28.6" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-globals@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" - integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== - -"@babel/helper-module-imports@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" - integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== - dependencies: - "@babel/traverse" "^7.28.6" - "@babel/types" "^7.28.6" - -"@babel/helper-module-transforms@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" - integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== - dependencies: - "@babel/helper-module-imports" "^7.28.6" - "@babel/helper-validator-identifier" "^7.28.5" - "@babel/traverse" "^7.28.6" - -"@babel/helper-plugin-utils@^7.27.1": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz#6f13ea251b68c8532e985fd532f28741a8af9ac8" - integrity sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" - integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== - -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== - -"@babel/helpers@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" - integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== - dependencies: - "@babel/template" "^7.28.6" - "@babel/types" "^7.28.6" - -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.6.tgz#f01a8885b7fa1e56dd8a155130226cd698ef13fd" - integrity sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== - dependencies: - "@babel/types" "^7.28.6" - -"@babel/plugin-transform-react-jsx-self@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz#af678d8506acf52c577cac73ff7fe6615c85fc92" - integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-transform-react-jsx-source@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz#dcfe2c24094bb757bf73960374e7c55e434f19f0" - integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/runtime@^7.24.7", "@babel/runtime@^7.26.0", "@babel/runtime@^7.26.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.6.tgz#d267a43cb1836dc4d182cce93ae75ba954ef6d2b" - integrity sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA== - -"@babel/template@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" - integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== - dependencies: - "@babel/code-frame" "^7.28.6" - "@babel/parser" "^7.28.6" - "@babel/types" "^7.28.6" - -"@babel/traverse@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.6.tgz#871ddc79a80599a5030c53b1cc48cbe3a5583c2e" - integrity sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg== - dependencies: - "@babel/code-frame" "^7.28.6" - "@babel/generator" "^7.28.6" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.6" - "@babel/template" "^7.28.6" - "@babel/types" "^7.28.6" - debug "^4.3.1" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.6.tgz#c3e9377f1b155005bcc4c46020e7e394e13089df" - integrity sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.28.5" - -"@esbuild/aix-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" - integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== - -"@esbuild/android-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" - integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== - -"@esbuild/android-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" - integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== - -"@esbuild/android-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" - integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== - -"@esbuild/darwin-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" - integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== - -"@esbuild/darwin-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" - integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== - -"@esbuild/freebsd-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" - integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== - -"@esbuild/freebsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" - integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== - -"@esbuild/linux-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" - integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== - -"@esbuild/linux-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" - integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== - -"@esbuild/linux-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" - integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== - -"@esbuild/linux-loong64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" - integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== - -"@esbuild/linux-mips64el@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" - integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== - -"@esbuild/linux-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" - integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== - -"@esbuild/linux-riscv64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" - integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== - -"@esbuild/linux-s390x@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" - integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== - -"@esbuild/linux-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" - integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== - -"@esbuild/netbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" - integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== - -"@esbuild/openbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" - integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== - -"@esbuild/sunos-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" - integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== - -"@esbuild/win32-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" - integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== - -"@esbuild/win32-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" - integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== - -"@esbuild/win32-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" - integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== - -"@eslint-community/eslint-utils@^4.4.0", "@eslint-community/eslint-utils@^4.8.0": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" - integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== - dependencies: - eslint-visitor-keys "^3.4.3" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" - integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== - -"@eslint/config-array@^0.21.1": - version "0.21.1" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.1.tgz#7d1b0060fea407f8301e932492ba8c18aff29713" - integrity sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA== - dependencies: - "@eslint/object-schema" "^2.1.7" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/config-helpers@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#1bd006ceeb7e2e55b2b773ab318d300e1a66aeda" - integrity sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw== - dependencies: - "@eslint/core" "^0.17.0" - -"@eslint/core@^0.17.0": - version "0.17.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.17.0.tgz#77225820413d9617509da9342190a2019e78761c" - integrity sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ== - dependencies: - "@types/json-schema" "^7.0.15" - -"@eslint/eslintrc@^3.3.1": - version "3.3.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.3.tgz#26393a0806501b5e2b6a43aa588a4d8df67880ac" - integrity sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.1" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@9.39.2": - version "9.39.2" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.2.tgz#2d4b8ec4c3ea13c1b3748e0c97ecd766bdd80599" - integrity sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA== - -"@eslint/object-schema@^2.1.7": - version "2.1.7" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad" - integrity sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA== - -"@eslint/plugin-kit@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz#9779e3fd9b7ee33571a57435cf4335a1794a6cb2" - integrity sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA== - dependencies: - "@eslint/core" "^0.17.0" - levn "^0.4.1" - -"@humanfs/core@^0.19.1": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" - integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== - -"@humanfs/node@^0.16.6": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.7.tgz#822cb7b3a12c5a240a24f621b5a2413e27a45f26" - integrity sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ== - dependencies: - "@humanfs/core" "^0.19.1" - "@humanwhocodes/retry" "^0.4.0" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" - integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== - -"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" - integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/remapping@^2.3.5": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" - integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" - integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": - version "0.3.31" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" - integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@parcel/watcher-android-arm64@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz#5f32e0dba356f4ac9a11068d2a5c134ca3ba6564" - integrity sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A== - -"@parcel/watcher-darwin-arm64@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz#88d3e720b59b1eceffce98dac46d7c40e8be5e8e" - integrity sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA== - -"@parcel/watcher-darwin-x64@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz#bf05d76a78bc15974f15ec3671848698b0838063" - integrity sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg== - -"@parcel/watcher-freebsd-x64@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz#8bc26e9848e7303ac82922a5ae1b1ef1bdb48a53" - integrity sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng== - -"@parcel/watcher-linux-arm-glibc@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz#1328fee1deb0c2d7865079ef53a2ba4cc2f8b40a" - integrity sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ== - -"@parcel/watcher-linux-arm-musl@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz#bad0f45cb3e2157746db8b9d22db6a125711f152" - integrity sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg== - -"@parcel/watcher-linux-arm64-glibc@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz#b75913fbd501d9523c5f35d420957bf7d0204809" - integrity sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA== - -"@parcel/watcher-linux-arm64-musl@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz#da5621a6a576070c8c0de60dea8b46dc9c3827d4" - integrity sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA== - -"@parcel/watcher-linux-x64-glibc@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz#ce437accdc4b30f93a090b4a221fd95cd9b89639" - integrity sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ== - -"@parcel/watcher-linux-x64-musl@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz#02400c54b4a67efcc7e2327b249711920ac969e2" - integrity sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg== - -"@parcel/watcher-win32-arm64@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz#caae3d3c7583ca0a7171e6bd142c34d20ea1691e" - integrity sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q== - -"@parcel/watcher-win32-ia32@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz#9ac922550896dfe47bfc5ae3be4f1bcaf8155d6d" - integrity sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g== - -"@parcel/watcher-win32-x64@2.5.6": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz#73fdafba2e21c448f0e456bbe13178d8fe11739d" - integrity sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw== - -"@parcel/watcher@^2.4.1": - version "2.5.6" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.6.tgz#3f932828c894f06d0ad9cfefade1756ecc6ef1f1" - integrity sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ== - dependencies: - detect-libc "^2.0.3" - is-glob "^4.0.3" - node-addon-api "^7.0.0" - picomatch "^4.0.3" - optionalDependencies: - "@parcel/watcher-android-arm64" "2.5.6" - "@parcel/watcher-darwin-arm64" "2.5.6" - "@parcel/watcher-darwin-x64" "2.5.6" - "@parcel/watcher-freebsd-x64" "2.5.6" - "@parcel/watcher-linux-arm-glibc" "2.5.6" - "@parcel/watcher-linux-arm-musl" "2.5.6" - "@parcel/watcher-linux-arm64-glibc" "2.5.6" - "@parcel/watcher-linux-arm64-musl" "2.5.6" - "@parcel/watcher-linux-x64-glibc" "2.5.6" - "@parcel/watcher-linux-x64-musl" "2.5.6" - "@parcel/watcher-win32-arm64" "2.5.6" - "@parcel/watcher-win32-ia32" "2.5.6" - "@parcel/watcher-win32-x64" "2.5.6" - -"@popperjs/core@^2.11.8": - version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -"@react-aria/ssr@^3.5.0": - version "3.9.10" - resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.10.tgz#7fdc09e811944ce0df1d7e713de1449abd7435e6" - integrity sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ== - dependencies: - "@swc/helpers" "^0.5.0" - -"@restart/hooks@^0.4.9": - version "0.4.16" - resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.16.tgz#95ae8ac1cc7e2bd4fed5e39800ff85604c6d59fb" - integrity sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w== - dependencies: - dequal "^2.0.3" - -"@restart/hooks@^0.5.0": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.5.1.tgz#6776b3859e33aea72b23b81fc47021edf17fd247" - integrity sha512-EMoH04NHS1pbn07iLTjIjgttuqb7qu4+/EyhAx27MHpoENcB2ZdSsLTNxmKD+WEPnZigo62Qc8zjGnNxoSE/5Q== - dependencies: - dequal "^2.0.3" - -"@restart/ui@^1.9.4": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@restart/ui/-/ui-1.9.4.tgz#9d61f56f2647f5ab8a33d87b278b9ce183511a26" - integrity sha512-N4C7haUc3vn4LTwVUPlkJN8Ach/+yIMvRuTVIhjilNHqegY60SGLrzud6errOMNJwSnmYFnt1J0H/k8FE3A4KA== - dependencies: - "@babel/runtime" "^7.26.0" - "@popperjs/core" "^2.11.8" - "@react-aria/ssr" "^3.5.0" - "@restart/hooks" "^0.5.0" - "@types/warning" "^3.0.3" - dequal "^2.0.3" - dom-helpers "^5.2.0" - uncontrollable "^8.0.4" - warning "^4.0.3" - -"@rolldown/pluginutils@1.0.0-beta.27": - version "1.0.0-beta.27" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz#47d2bf4cef6d470b22f5831b420f8964e0bf755f" - integrity sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA== - -"@rollup/rollup-android-arm-eabi@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.56.0.tgz#067cfcd81f1c1bfd92aefe3ad5ef1523549d5052" - integrity sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw== - -"@rollup/rollup-android-arm64@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.56.0.tgz#85e39a44034d7d4e4fee2a1616f0bddb85a80517" - integrity sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q== - -"@rollup/rollup-darwin-arm64@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.56.0.tgz#17d92fe98f2cc277b91101eb1528b7c0b6c00c54" - integrity sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w== - -"@rollup/rollup-darwin-x64@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.56.0.tgz#89ae6c66b1451609bd1f297da9384463f628437d" - integrity sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g== - -"@rollup/rollup-freebsd-arm64@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.56.0.tgz#cdbdb9947b26e76c188a31238c10639347413628" - integrity sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ== - -"@rollup/rollup-freebsd-x64@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.56.0.tgz#9b1458d07b6e040be16ee36d308a2c9520f7f7cc" - integrity sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg== - -"@rollup/rollup-linux-arm-gnueabihf@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.56.0.tgz#1d50ded7c965d5f125f5832c971ad5b287befef7" - integrity sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A== - -"@rollup/rollup-linux-arm-musleabihf@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.56.0.tgz#53597e319b7e65990d3bc2a5048097384814c179" - integrity sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw== - -"@rollup/rollup-linux-arm64-gnu@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.56.0.tgz#597002909dec198ca4bdccb25f043d32db3d6283" - integrity sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ== - -"@rollup/rollup-linux-arm64-musl@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.56.0.tgz#286f0e0f799545ce288bdc5a7c777261fcba3d54" - integrity sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA== - -"@rollup/rollup-linux-loong64-gnu@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.56.0.tgz#1fab07fa1a4f8d3697735b996517f1bae0ba101b" - integrity sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg== - -"@rollup/rollup-linux-loong64-musl@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.56.0.tgz#efc2cb143d6c067f95205482afb177f78ed9ea3d" - integrity sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA== - -"@rollup/rollup-linux-ppc64-gnu@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.56.0.tgz#e8de8bd3463f96b92b7dfb7f151fd80ffe8a937c" - integrity sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw== - -"@rollup/rollup-linux-ppc64-musl@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.56.0.tgz#8c508fe28a239da83b3a9da75bcf093186e064b4" - integrity sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg== - -"@rollup/rollup-linux-riscv64-gnu@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.56.0.tgz#ff6d51976e0830732880770a9e18553136b8d92b" - integrity sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew== - -"@rollup/rollup-linux-riscv64-musl@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.56.0.tgz#325fb35eefc7e81d75478318f0deee1e4a111493" - integrity sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ== - -"@rollup/rollup-linux-s390x-gnu@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.56.0.tgz#37410fabb5d3ba4ad34abcfbe9ba9b6288413f30" - integrity sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ== - -"@rollup/rollup-linux-x64-gnu@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.56.0.tgz#8ef907a53b2042068fc03fcc6a641e2b02276eca" - integrity sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw== - -"@rollup/rollup-linux-x64-musl@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.56.0.tgz#61b9ba09ea219e0174b3f35a6ad2afc94bdd5662" - integrity sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA== - -"@rollup/rollup-openbsd-x64@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.56.0.tgz#fc4e54133134c1787d0b016ffdd5aeb22a5effd3" - integrity sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA== - -"@rollup/rollup-openharmony-arm64@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.56.0.tgz#959ae225b1eeea0cc5b7c9f88e4834330fb6cd09" - integrity sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ== - -"@rollup/rollup-win32-arm64-msvc@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.56.0.tgz#842acd38869fa1cbdbc240c76c67a86f93444c27" - integrity sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing== - -"@rollup/rollup-win32-ia32-msvc@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.56.0.tgz#7ab654def4042df44cb29f8ed9d5044e850c66d5" - integrity sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg== - -"@rollup/rollup-win32-x64-gnu@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.56.0.tgz#7426cdec1b01d2382ffd5cda83cbdd1c8efb3ca6" - integrity sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ== - -"@rollup/rollup-win32-x64-msvc@4.56.0": - version "4.56.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.56.0.tgz#9eec0212732a432c71bde0350bc40b673d15b2db" - integrity sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g== - -"@swc/helpers@^0.5.0": - version "0.5.18" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.18.tgz#feeeabea0d10106ee25aaf900165df911ab6d3b1" - integrity sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ== - dependencies: - tslib "^2.8.0" - -"@tailwindcss/forms@^0.5.7": - version "0.5.11" - resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.11.tgz#e77039e96fa7b87c3d001a991f77f9418e666700" - integrity sha512-h9wegbZDPurxG22xZSoWtdzc41/OlNEUQERNqI/0fOwa2aVlWGu7C35E/x6LDyD3lgtztFSSjKZyuVM0hxhbgA== - dependencies: - mini-svg-data-uri "^1.2.3" - -"@tanstack/react-virtual@3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@tanstack/react-virtual/-/react-virtual-3.2.0.tgz#fb70f9c6baee753a5a0f7618ac886205d5a02af9" - integrity sha512-OEdMByf2hEfDa6XDbGlZN8qO6bTjlNKqjM3im9JG+u3mCL8jALy0T/67oDI001raUUPh1Bdmfn4ZvPOV5knpcg== - dependencies: - "@tanstack/virtual-core" "3.2.0" - -"@tanstack/virtual-core@3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.2.0.tgz#874d36135e4badce2719e7bdc556ce240cbaff14" - integrity sha512-P5XgYoAw/vfW65byBbJQCw+cagdXDT/qH6wmABiLt4v4YBT2q2vqCOhihe+D1Nt325F/S/0Tkv6C5z0Lv+VBQQ== - -"@types/babel__core@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" - integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" - integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== - dependencies: - "@babel/types" "^7.28.2" - -"@types/estree@1.0.8", "@types/estree@^1.0.6": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== - -"@types/json-schema@^7.0.15": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/node@^20.11.30": - version "20.19.30" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.30.tgz#84fa87498ade5cd2b6ba8f8eec01d3b138ca60d0" - integrity sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g== - dependencies: - undici-types "~6.21.0" - -"@types/prop-types@*", "@types/prop-types@^15.7.12": - version "15.7.15" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.15.tgz#e6e5a86d602beaca71ce5163fadf5f95d70931c7" - integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw== - -"@types/react-dom@^18.3.0": - version "18.3.7" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.7.tgz#b89ddf2cd83b4feafcc4e2ea41afdfb95a0d194f" - integrity sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ== - -"@types/react-slider@^1.3.6": - version "1.3.6" - resolved "https://registry.yarnpkg.com/@types/react-slider/-/react-slider-1.3.6.tgz#6f5602be93ab1cb3d273428c87aa227ad2ff68ff" - integrity sha512-RS8XN5O159YQ6tu3tGZIQz1/9StMLTg/FCIPxwqh2gwVixJnlfIodtVx+fpXVMZHe7A58lAX1Q4XTgAGOQaCQg== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@^4.4.10", "@types/react-transition-group@^4.4.6": - version "4.4.12" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" - integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== - -"@types/react@*", "@types/react@>=16.9.11": - version "19.2.9" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.2.9.tgz#84ec7669742bb3e7e2e8d6a5258d95ead7764200" - integrity sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA== - dependencies: - csstype "^3.2.2" - -"@types/react@^18.3.3": - version "18.3.27" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.27.tgz#74a3b590ea183983dc65a474dc17553ae1415c34" - integrity sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w== - dependencies: - "@types/prop-types" "*" - csstype "^3.2.2" - -"@types/trusted-types@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" - integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== - -"@types/warning@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/warning/-/warning-3.0.3.tgz#d1884c8cc4a426d1ac117ca2611bf333834c6798" - integrity sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q== - -"@typescript-eslint/eslint-plugin@7.18.0", "@typescript-eslint/eslint-plugin@^7.13.1": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3" - integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.18.0" - "@typescript-eslint/type-utils" "7.18.0" - "@typescript-eslint/utils" "7.18.0" - "@typescript-eslint/visitor-keys" "7.18.0" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/parser@7.18.0", "@typescript-eslint/parser@^7.13.1": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0" - integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg== - dependencies: - "@typescript-eslint/scope-manager" "7.18.0" - "@typescript-eslint/types" "7.18.0" - "@typescript-eslint/typescript-estree" "7.18.0" - "@typescript-eslint/visitor-keys" "7.18.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" - integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== - dependencies: - "@typescript-eslint/types" "7.18.0" - "@typescript-eslint/visitor-keys" "7.18.0" - -"@typescript-eslint/type-utils@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" - integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA== - dependencies: - "@typescript-eslint/typescript-estree" "7.18.0" - "@typescript-eslint/utils" "7.18.0" - debug "^4.3.4" - ts-api-utils "^1.3.0" - -"@typescript-eslint/types@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" - integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== - -"@typescript-eslint/typescript-estree@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" - integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== - dependencies: - "@typescript-eslint/types" "7.18.0" - "@typescript-eslint/visitor-keys" "7.18.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" - integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.18.0" - "@typescript-eslint/types" "7.18.0" - "@typescript-eslint/typescript-estree" "7.18.0" - -"@typescript-eslint/visitor-keys@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" - integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== - dependencies: - "@typescript-eslint/types" "7.18.0" - eslint-visitor-keys "^3.4.3" - -"@vitejs/plugin-react@^4.3.1": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz#647af4e7bb75ad3add578e762ad984b90f4a24b9" - integrity sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA== - dependencies: - "@babel/core" "^7.28.0" - "@babel/plugin-transform-react-jsx-self" "^7.27.1" - "@babel/plugin-transform-react-jsx-source" "^7.27.1" - "@rolldown/pluginutils" "1.0.0-beta.27" - "@types/babel__core" "^7.20.5" - react-refresh "^0.17.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.15.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" - integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - 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" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" - integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== - dependencies: - call-bound "^1.0.3" - is-array-buffer "^3.0.5" - -array-includes@^3.1.6, array-includes@^3.1.8: - version "3.1.9" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" - integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-abstract "^1.24.0" - es-object-atoms "^1.1.1" - get-intrinsic "^1.3.0" - is-string "^1.1.1" - math-intrinsics "^1.1.0" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.findlast@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" - integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== - 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" - -array.prototype.flat@^1.3.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" - integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-shim-unscopables "^1.0.2" - -array.prototype.flatmap@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" - integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-shim-unscopables "^1.0.2" - -array.prototype.tosorted@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" - integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.3" - es-errors "^1.3.0" - es-shim-unscopables "^1.0.2" - -arraybuffer.prototype.slice@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" - integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - is-array-buffer "^3.0.4" - -async-function@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" - integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== - -autoprefixer@^10.4.19: - version "10.4.23" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.23.tgz#c6aa6db8e7376fcd900f9fd79d143ceebad8c4e6" - integrity sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA== - dependencies: - browserslist "^4.28.1" - caniuse-lite "^1.0.30001760" - fraction.js "^5.3.4" - picocolors "^1.1.1" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -baseline-browser-mapping@^2.9.0: - version "2.9.18" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz#c8281693035a9261b10d662a5379650a6c2d1ff7" - integrity sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -brace-expansion@^1.1.7: - version "1.1.12" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" - integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" - integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browserslist@^4.24.0, browserslist@^4.28.1: - version "4.28.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" - integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== - dependencies: - baseline-browser-mapping "^2.9.0" - caniuse-lite "^1.0.30001759" - electron-to-chromium "^1.5.263" - node-releases "^2.0.27" - update-browserslist-db "^1.2.0" - -call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -call-bind@^1.0.7, call-bind@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" - integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== - dependencies: - call-bind-apply-helpers "^1.0.0" - es-define-property "^1.0.0" - get-intrinsic "^1.2.4" - set-function-length "^1.2.2" - -call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" - integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== - dependencies: - call-bind-apply-helpers "^1.0.2" - get-intrinsic "^1.3.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -caniuse-lite@^1.0.30001759, caniuse-lite@^1.0.30001760: - version "1.0.30001766" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz#b6f6b55cb25a2d888d9393104d14751c6a7d6f7a" - integrity sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA== - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - 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" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" - integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== - dependencies: - readdirp "^4.0.1" - -classnames@^2.3.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cross-spawn@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -csstype@^3.0.2, csstype@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" - integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== - -data-view-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" - integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-data-view "^1.0.2" - -data-view-byte-length@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" - integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-data-view "^1.0.2" - -data-view-byte-offset@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" - integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -debug@^2.6.6: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.4.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" - integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== - dependencies: - ms "^2.1.3" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-properties@^1.1.3, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -detect-libc@^2.0.3: - version "2.1.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" - integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -dom-helpers@^5.0.1, dom-helpers@^5.2.0, dom-helpers@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -dompurify@^3.1.5: - version "3.3.1" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.3.1.tgz#c7e1ddebfe3301eacd6c0c12a4af284936dbbb86" - integrity sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q== - optionalDependencies: - "@types/trusted-types" "^2.0.7" - -dunder-proto@^1.0.0, dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - -electron-to-chromium@^1.5.263: - version "1.5.279" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.279.tgz#67dfdeb22fd81412d0d18d1d9b2c749e9b8945cb" - integrity sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg== - -es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0, es-abstract@^1.24.1: - version "1.24.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.1.tgz#f0c131ed5ea1bb2411134a8dd94def09c46c7899" - integrity sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw== - dependencies: - array-buffer-byte-length "^1.0.2" - arraybuffer.prototype.slice "^1.0.4" - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - call-bound "^1.0.4" - data-view-buffer "^1.0.2" - data-view-byte-length "^1.0.2" - data-view-byte-offset "^1.0.1" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - es-set-tostringtag "^2.1.0" - es-to-primitive "^1.3.0" - function.prototype.name "^1.1.8" - get-intrinsic "^1.3.0" - get-proto "^1.0.1" - get-symbol-description "^1.1.0" - globalthis "^1.0.4" - gopd "^1.2.0" - has-property-descriptors "^1.0.2" - has-proto "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - internal-slot "^1.1.0" - is-array-buffer "^3.0.5" - is-callable "^1.2.7" - is-data-view "^1.0.2" - is-negative-zero "^2.0.3" - is-regex "^1.2.1" - is-set "^2.0.3" - is-shared-array-buffer "^1.0.4" - is-string "^1.1.1" - is-typed-array "^1.1.15" - is-weakref "^1.1.1" - math-intrinsics "^1.1.0" - object-inspect "^1.13.4" - object-keys "^1.1.1" - object.assign "^4.1.7" - own-keys "^1.0.1" - regexp.prototype.flags "^1.5.4" - safe-array-concat "^1.1.3" - safe-push-apply "^1.0.0" - safe-regex-test "^1.1.0" - set-proto "^1.0.0" - stop-iteration-iterator "^1.1.0" - string.prototype.trim "^1.2.10" - string.prototype.trimend "^1.0.9" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.3" - typed-array-byte-length "^1.0.3" - typed-array-byte-offset "^1.0.4" - typed-array-length "^1.0.7" - unbox-primitive "^1.1.0" - which-typed-array "^1.1.19" - -es-define-property@^1.0.0, es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-iterator-helpers@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz#d979a9f686e2b0b72f88dbead7229924544720bc" - integrity sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-abstract "^1.24.1" - es-errors "^1.3.0" - es-set-tostringtag "^2.1.0" - function-bind "^1.1.2" - get-intrinsic "^1.3.0" - globalthis "^1.0.4" - gopd "^1.2.0" - has-property-descriptors "^1.0.2" - has-proto "^1.2.0" - has-symbols "^1.1.0" - internal-slot "^1.1.0" - iterator.prototype "^1.1.5" - safe-array-concat "^1.1.3" - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -es-shim-unscopables@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" - integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== - dependencies: - hasown "^2.0.2" - -es-to-primitive@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" - integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== - dependencies: - is-callable "^1.2.7" - is-date-object "^1.0.5" - is-symbol "^1.0.4" - -esbuild@^0.21.3: - version "0.21.5" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" - integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== - optionalDependencies: - "@esbuild/aix-ppc64" "0.21.5" - "@esbuild/android-arm" "0.21.5" - "@esbuild/android-arm64" "0.21.5" - "@esbuild/android-x64" "0.21.5" - "@esbuild/darwin-arm64" "0.21.5" - "@esbuild/darwin-x64" "0.21.5" - "@esbuild/freebsd-arm64" "0.21.5" - "@esbuild/freebsd-x64" "0.21.5" - "@esbuild/linux-arm" "0.21.5" - "@esbuild/linux-arm64" "0.21.5" - "@esbuild/linux-ia32" "0.21.5" - "@esbuild/linux-loong64" "0.21.5" - "@esbuild/linux-mips64el" "0.21.5" - "@esbuild/linux-ppc64" "0.21.5" - "@esbuild/linux-riscv64" "0.21.5" - "@esbuild/linux-s390x" "0.21.5" - "@esbuild/linux-x64" "0.21.5" - "@esbuild/netbsd-x64" "0.21.5" - "@esbuild/openbsd-x64" "0.21.5" - "@esbuild/sunos-x64" "0.21.5" - "@esbuild/win32-arm64" "0.21.5" - "@esbuild/win32-ia32" "0.21.5" - "@esbuild/win32-x64" "0.21.5" - -escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-plugin-react-hooks@^5.1.0-rc-1434af3d22-20240618: - version "5.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz#1be0080901e6ac31ce7971beed3d3ec0a423d9e3" - integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== - -eslint-plugin-react@^7.34.2: - version "7.37.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz#2975511472bdda1b272b34d779335c9b0e877065" - integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA== - dependencies: - array-includes "^3.1.8" - array.prototype.findlast "^1.2.5" - array.prototype.flatmap "^1.3.3" - array.prototype.tosorted "^1.1.4" - doctrine "^2.1.0" - es-iterator-helpers "^1.2.1" - estraverse "^5.3.0" - hasown "^2.0.2" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.9" - object.fromentries "^2.0.8" - object.values "^1.2.1" - prop-types "^15.8.1" - resolve "^2.0.0-next.5" - semver "^6.3.1" - string.prototype.matchall "^4.0.12" - string.prototype.repeat "^1.0.0" - -eslint-scope@^8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82" - integrity sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" - integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== - -eslint@^9.5.0: - version "9.39.2" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.2.tgz#cb60e6d16ab234c0f8369a3fe7cc87967faf4b6c" - integrity sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw== - dependencies: - "@eslint-community/eslint-utils" "^4.8.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.21.1" - "@eslint/config-helpers" "^0.4.2" - "@eslint/core" "^0.17.0" - "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.39.2" - "@eslint/plugin-kit" "^0.4.1" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.2" - "@types/estree" "^1.0.6" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.6" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.4.0" - eslint-visitor-keys "^4.2.1" - espree "^10.4.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - -espree@^10.0.1, espree@^10.4.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" - integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== - dependencies: - acorn "^8.15.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.1" - -esquery@^1.5.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d" - integrity sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fast-deep-equal@3.1.3, fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.9, fast-glob@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" - integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== - 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.8" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.20.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.20.1.tgz#ca750a10dc925bc8b18839fd203e3ef4b3ced675" - integrity sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw== - dependencies: - reusify "^1.0.4" - -fdir@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" - integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== - -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.3" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" - integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== - -for-each@^0.3.3, for-each@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" - integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== - dependencies: - is-callable "^1.2.7" - -fraction.js@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-5.3.4.tgz#8c0fcc6a9908262df4ed197427bdeef563e0699a" - integrity sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ== - -framer-motion@^11.2.12: - version "11.18.2" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-11.18.2.tgz#0c6bd05677f4cfd3b3bdead4eb5ecdd5ed245718" - integrity sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w== - dependencies: - motion-dom "^11.18.1" - motion-utils "^11.18.1" - tslib "^2.4.0" - -fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" - integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - functions-have-names "^1.2.3" - hasown "^2.0.2" - is-callable "^1.2.7" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -generator-function@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2" - integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-proto@^1.0.0, get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -get-symbol-description@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" - integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -globalthis@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" - integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== - dependencies: - define-properties "^1.2.1" - gopd "^1.0.1" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - 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" - -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - -gopd@^1.0.1, gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-bigints@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" - integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" - integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== - dependencies: - dunder-proto "^1.0.0" - -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -ignore@^5.2.0, ignore@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -immutable@^5.0.2: - version "5.1.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.4.tgz#e3f8c1fe7b567d56cf26698f31918c241dae8c1f" - integrity sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA== - -import-fresh@^3.2.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -internal-slot@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" - integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.2" - side-channel "^1.1.0" - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" - integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - get-intrinsic "^1.2.6" - -is-async-function@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" - integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== - dependencies: - async-function "^1.0.0" - call-bound "^1.0.3" - get-proto "^1.0.1" - has-tostringtag "^1.0.2" - safe-regex-test "^1.1.0" - -is-bigint@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" - integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== - dependencies: - has-bigints "^1.0.2" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" - integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0, is-core-module@^2.16.1: - version "2.16.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" - integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== - dependencies: - hasown "^2.0.2" - -is-data-view@^1.0.1, is-data-view@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" - integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== - dependencies: - call-bound "^1.0.2" - get-intrinsic "^1.2.6" - is-typed-array "^1.1.13" - -is-date-object@^1.0.5, is-date-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" - integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== - dependencies: - call-bound "^1.0.2" - has-tostringtag "^1.0.2" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" - integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== - dependencies: - call-bound "^1.0.3" - -is-generator-function@^1.0.10: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.2.tgz#ae3b61e3d5ea4e4839b90bad22b02335051a17d5" - integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA== - dependencies: - call-bound "^1.0.4" - generator-function "^2.0.0" - get-proto "^1.0.1" - has-tostringtag "^1.0.2" - safe-regex-test "^1.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" - integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== - -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" - integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-regex@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" - integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== - dependencies: - call-bound "^1.0.2" - gopd "^1.2.0" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -is-set@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" - integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== - -is-shared-array-buffer@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" - integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== - dependencies: - call-bound "^1.0.3" - -is-string@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" - integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== - dependencies: - call-bound "^1.0.3" - has-tostringtag "^1.0.2" - -is-symbol@^1.0.4, is-symbol@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" - integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== - dependencies: - call-bound "^1.0.2" - has-symbols "^1.1.0" - safe-regex-test "^1.1.0" - -is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" - integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== - dependencies: - which-typed-array "^1.1.16" - -is-weakmap@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" - integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== - -is-weakref@^1.0.2, is-weakref@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" - integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== - dependencies: - call-bound "^1.0.3" - -is-weakset@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" - integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== - dependencies: - call-bound "^1.0.3" - get-intrinsic "^1.2.6" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -iterator.prototype@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz#12c959a29de32de0aa3bbbb801f4d777066dae39" - integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== - dependencies: - define-data-property "^1.1.4" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.6" - get-proto "^1.0.0" - has-symbols "^1.1.0" - set-function-name "^2.0.2" - -jiti@^1.21.7: - version "1.21.7" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" - integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" - integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== - dependencies: - argparse "^2.0.1" - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -"jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lilconfig@^3.1.1, lilconfig@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" - integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -load-script@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" - integrity sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA== - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mini-svg-data-uri@^1.2.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" - integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -motion-dom@^11.18.1: - version "11.18.1" - resolved "https://registry.yarnpkg.com/motion-dom/-/motion-dom-11.18.1.tgz#e7fed7b7dc6ae1223ef1cce29ee54bec826dc3f2" - integrity sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw== - dependencies: - motion-utils "^11.18.1" - -motion-utils@^11.18.1: - version "11.18.1" - resolved "https://registry.yarnpkg.com/motion-utils/-/motion-utils-11.18.1.tgz#671227669833e991c55813cf337899f41327db5b" - integrity sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nanoid@^3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-addon-api@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" - integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== - -node-releases@^2.0.27: - version "2.0.27" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" - integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -object-assign@^4.0.1, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.13.3, object-inspect@^1.13.4: - version "1.13.4" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" - integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4, object.assign@^4.1.7: - version "4.1.7" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" - integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - has-symbols "^1.1.0" - object-keys "^1.1.1" - -object.entries@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" - integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" - define-properties "^1.2.1" - es-object-atoms "^1.1.1" - -object.fromentries@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" - integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.values@^1.1.6, object.values@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" - integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -own-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" - integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== - dependencies: - get-intrinsic "^1.2.6" - object-keys "^1.1.1" - safe-push-apply "^1.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" - integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.1: - version "4.0.7" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" - integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== - -possible-typed-array-names@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" - integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-js@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.1.0.tgz#003b63c6edde948766e40f3daf7e997ae43a5ce6" - integrity sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw== - dependencies: - camelcase-css "^2.0.1" - -"postcss-load-config@^4.0.2 || ^5.0 || ^6.0": - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-6.0.1.tgz#6fd7dcd8ae89badcf1b2d644489cbabf83aa8096" - integrity sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g== - dependencies: - lilconfig "^3.1.1" - -postcss-nested@^6.0.1, postcss-nested@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" - integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== - dependencies: - postcss-selector-parser "^6.1.1" - -postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" - integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.4.38, postcss@^8.4.43, postcss@^8.4.47: - version "8.5.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== - dependencies: - nanoid "^3.3.11" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prop-types-extra@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b" - integrity sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew== - dependencies: - react-is "^16.3.2" - warning "^4.0.0" - -prop-types@15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -prop-types@^15.6.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-bootstrap@^2.10.9: - version "2.10.10" - resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-2.10.10.tgz#be0b0d951a69987152d75c0e6986c80425efdf21" - integrity sha512-gMckKUqn8aK/vCnfwoBpBVFUGT9SVQxwsYrp9yDHt0arXMamxALerliKBxr1TPbntirK/HGrUAHYbAeQTa9GHQ== - dependencies: - "@babel/runtime" "^7.24.7" - "@restart/hooks" "^0.4.9" - "@restart/ui" "^1.9.4" - "@types/prop-types" "^15.7.12" - "@types/react-transition-group" "^4.4.6" - classnames "^2.3.2" - dom-helpers "^5.2.1" - invariant "^2.2.4" - prop-types "^15.8.1" - prop-types-extra "^1.1.0" - react-transition-group "^4.4.5" - uncontrollable "^7.2.1" - warning "^4.0.3" - -react-dom@^18.3.1: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.2" - -react-icons@^5.2.1: - version "5.5.0" - resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.5.0.tgz#8aa25d3543ff84231685d3331164c00299cdfaf2" - integrity sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw== - -react-is@^16.13.1, react-is@^16.3.2, react-is@^16.8.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-refresh@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.17.0.tgz#b7e579c3657f23d04eccbe4ad2e58a8ed51e7e53" - integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ== - -react-slider@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/react-slider/-/react-slider-2.0.6.tgz#8c7ff0301211f7c3ff32aa0163b33bdab6258559" - integrity sha512-gJxG1HwmuMTJ+oWIRCmVWvgwotNCbByTwRkFZC6U4MBsHqJBmxwbYRJUmxy4Tke1ef8r9jfXjgkmY/uHOCEvbA== - dependencies: - prop-types "^15.8.1" - -react-tiny-popover@^8.0.4: - version "8.1.6" - resolved "https://registry.yarnpkg.com/react-tiny-popover/-/react-tiny-popover-8.1.6.tgz#82fad10eb8f0d8197ce0944031fd03a524b78c29" - integrity sha512-jeZnGqHxb5TX7pCzpqLoVJned7DTVnLrLoCQQGFTyvlxXB/QUaet7O0krG22t5FReMBH035SLnzThKvk8tIfsg== - -react-transition-group@^4.4.5: - version "4.4.5" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" - integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react-youtube@^7.13.1: - version "7.14.0" - resolved "https://registry.yarnpkg.com/react-youtube/-/react-youtube-7.14.0.tgz#0505d86491521ca94ef0afb74af3f7936dc7bc86" - integrity sha512-SUHZ4F4pd1EHmQu0CV0KSQvAs5KHOT5cfYaq4WLCcDbU8fBo1ouTXaAOIASWbrz8fHwg+G1evfoSIYpV2AwSAg== - dependencies: - fast-deep-equal "3.1.3" - prop-types "15.7.2" - youtube-player "5.5.2" - -react@^18.3.1: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readdirp@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" - integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" - integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-abstract "^1.23.9" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.7" - get-proto "^1.0.1" - which-builtin-type "^1.2.1" - -regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" - integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== - dependencies: - call-bind "^1.0.8" - define-properties "^1.2.1" - es-errors "^1.3.0" - get-proto "^1.0.1" - gopd "^1.2.0" - set-function-name "^2.0.2" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.1.7, resolve@^1.22.8: - version "1.22.11" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" - integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== - dependencies: - is-core-module "^2.16.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.5: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" - integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== - -rollup@^4.20.0: - version "4.56.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.56.0.tgz#65959d13cfbd7e48b8868c05165b1738f0143862" - integrity sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg== - dependencies: - "@types/estree" "1.0.8" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.56.0" - "@rollup/rollup-android-arm64" "4.56.0" - "@rollup/rollup-darwin-arm64" "4.56.0" - "@rollup/rollup-darwin-x64" "4.56.0" - "@rollup/rollup-freebsd-arm64" "4.56.0" - "@rollup/rollup-freebsd-x64" "4.56.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.56.0" - "@rollup/rollup-linux-arm-musleabihf" "4.56.0" - "@rollup/rollup-linux-arm64-gnu" "4.56.0" - "@rollup/rollup-linux-arm64-musl" "4.56.0" - "@rollup/rollup-linux-loong64-gnu" "4.56.0" - "@rollup/rollup-linux-loong64-musl" "4.56.0" - "@rollup/rollup-linux-ppc64-gnu" "4.56.0" - "@rollup/rollup-linux-ppc64-musl" "4.56.0" - "@rollup/rollup-linux-riscv64-gnu" "4.56.0" - "@rollup/rollup-linux-riscv64-musl" "4.56.0" - "@rollup/rollup-linux-s390x-gnu" "4.56.0" - "@rollup/rollup-linux-x64-gnu" "4.56.0" - "@rollup/rollup-linux-x64-musl" "4.56.0" - "@rollup/rollup-openbsd-x64" "4.56.0" - "@rollup/rollup-openharmony-arm64" "4.56.0" - "@rollup/rollup-win32-arm64-msvc" "4.56.0" - "@rollup/rollup-win32-ia32-msvc" "4.56.0" - "@rollup/rollup-win32-x64-gnu" "4.56.0" - "@rollup/rollup-win32-x64-msvc" "4.56.0" - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" - integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - get-intrinsic "^1.2.6" - has-symbols "^1.1.0" - isarray "^2.0.5" - -safe-push-apply@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" - integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== - dependencies: - es-errors "^1.3.0" - isarray "^2.0.5" - -safe-regex-test@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" - integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - is-regex "^1.2.1" - -sass@^1.77.4: - version "1.97.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.97.3.tgz#9cb59339514fa7e2aec592b9700953ac6e331ab2" - integrity sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg== - dependencies: - chokidar "^4.0.0" - immutable "^5.0.2" - source-map-js ">=0.6.2 <2.0.0" - optionalDependencies: - "@parcel/watcher" "^2.4.1" - -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== - dependencies: - loose-envify "^1.1.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.6.0: - version "7.7.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" - integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== - -set-function-length@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - 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" - -set-function-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -set-proto@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" - integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== - dependencies: - dunder-proto "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel-list@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" - integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - -side-channel-map@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" - integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - -side-channel-weakmap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" - integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - side-channel-map "^1.0.1" - -side-channel@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" - integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - side-channel-list "^1.0.0" - side-channel-map "^1.0.1" - side-channel-weakmap "^1.0.2" - -sister@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/sister/-/sister-3.0.2.tgz#bb3e39f07b1f75bbe1945f29a27ff1e5a2f26be4" - integrity sha512-p19rtTs+NksBRKW9qn0UhZ8/TUI9BPw9lmtHny+Y3TinWlOa9jWh9xB0AtPSdmOy49NJJJSSe0Ey4C7h0TrcYA== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -stop-iteration-iterator@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" - integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== - dependencies: - es-errors "^1.3.0" - internal-slot "^1.1.0" - -string.prototype.matchall@^4.0.12: - version "4.0.12" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" - integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-abstract "^1.23.6" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.6" - gopd "^1.2.0" - has-symbols "^1.1.0" - internal-slot "^1.1.0" - regexp.prototype.flags "^1.5.3" - set-function-name "^2.0.2" - side-channel "^1.1.0" - -string.prototype.repeat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" - integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trim@^1.2.10: - version "1.2.10" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" - integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - define-data-property "^1.1.4" - define-properties "^1.2.1" - es-abstract "^1.23.5" - es-object-atoms "^1.0.0" - has-property-descriptors "^1.0.2" - -string.prototype.trimend@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" - integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -sucrase@^3.35.0: - version "3.35.1" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.1.tgz#4619ea50393fe8bd0ae5071c26abd9b2e346bfe1" - integrity sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - tinyglobby "^0.2.11" - ts-interface-checker "^0.1.9" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tailwindcss@^3.4.4: - version "3.4.19" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.19.tgz#af2a0a4ae302d52ebe078b6775e799e132500ee2" - integrity sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.6.0" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.3.2" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.21.7" - lilconfig "^3.1.3" - micromatch "^4.0.8" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.1.1" - postcss "^8.4.47" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.2 || ^5.0 || ^6.0" - postcss-nested "^6.2.0" - postcss-selector-parser "^6.1.2" - resolve "^1.22.8" - sucrase "^3.35.0" - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -tinyglobby@^0.2.11: - version "0.2.15" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" - integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== - dependencies: - fdir "^6.5.0" - picomatch "^4.0.3" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -ts-api-utils@^1.3.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" - integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -tsconfck@^3.0.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.1.6.tgz#da1f0b10d82237ac23422374b3fce1edb23c3ead" - integrity sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w== - -tslib@^2.4.0, tslib@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -typed-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" - integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== - dependencies: - call-bound "^1.0.3" - es-errors "^1.3.0" - is-typed-array "^1.1.14" - -typed-array-byte-length@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" - integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== - dependencies: - call-bind "^1.0.8" - for-each "^0.3.3" - gopd "^1.2.0" - has-proto "^1.2.0" - is-typed-array "^1.1.14" - -typed-array-byte-offset@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" - integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - for-each "^0.3.3" - gopd "^1.2.0" - has-proto "^1.2.0" - is-typed-array "^1.1.15" - reflect.getprototypeof "^1.0.9" - -typed-array-length@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" - integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - reflect.getprototypeof "^1.0.6" - -typescript-eslint@^7.13.1: - version "7.18.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-7.18.0.tgz#e90d57649b2ad37a7475875fa3e834a6d9f61eb2" - integrity sha512-PonBkP603E3tt05lDkbOMyaxJjvKqQrXsnow72sVeOFINDE/qNmnnd+f9b4N+U7W6MXnnYyrhtmF2t08QWwUbA== - dependencies: - "@typescript-eslint/eslint-plugin" "7.18.0" - "@typescript-eslint/parser" "7.18.0" - "@typescript-eslint/utils" "7.18.0" - -typescript@^5.4.5: - version "5.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" - integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== - -unbox-primitive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" - integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== - dependencies: - call-bound "^1.0.3" - has-bigints "^1.0.2" - has-symbols "^1.1.0" - which-boxed-primitive "^1.1.1" - -uncontrollable@^7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.2.1.tgz#1fa70ba0c57a14d5f78905d533cf63916dc75738" - integrity sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ== - dependencies: - "@babel/runtime" "^7.6.3" - "@types/react" ">=16.9.11" - invariant "^2.2.4" - react-lifecycles-compat "^3.0.4" - -uncontrollable@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-8.0.4.tgz#a0a8307f638795162fafd0550f4a1efa0f8c5eb6" - integrity sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ== - -undici-types@~6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== - -update-browserslist-db@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz#64d76db58713136acbeb4c49114366cc6cc2e80d" - integrity sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -use-between@^1.3.5: - version "1.4.0" - resolved "https://registry.yarnpkg.com/use-between/-/use-between-1.4.0.tgz#d1e3b95095be2c2305709c15ed5265ee6c692935" - integrity sha512-MpLUnRHxZd3CNa5EeXaMadK1+oSd2Kst57WfU15TQbsLu3vgMcfh4gjAJWKaox02pOf+7Lx1ZHK5tMXHEVH1Qw== - -util-deprecate@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -vite-tsconfig-paths@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz#321f02e4b736a90ff62f9086467faf4e2da857a9" - integrity sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA== - dependencies: - debug "^4.1.1" - globrex "^0.1.2" - tsconfck "^3.0.3" - -vite@^5.2.13: - version "5.4.21" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.21.tgz#84a4f7c5d860b071676d39ba513c0d598fdc7027" - integrity sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw== - dependencies: - esbuild "^0.21.3" - postcss "^8.4.43" - rollup "^4.20.0" - optionalDependencies: - fsevents "~2.3.3" - -warning@^4.0.0, warning@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - -which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" - integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== - dependencies: - is-bigint "^1.1.0" - is-boolean-object "^1.2.1" - is-number-object "^1.1.1" - is-string "^1.1.1" - is-symbol "^1.1.1" - -which-builtin-type@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" - integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== - dependencies: - call-bound "^1.0.2" - function.prototype.name "^1.1.6" - has-tostringtag "^1.0.2" - is-async-function "^2.0.0" - is-date-object "^1.1.0" - is-finalizationregistry "^1.1.0" - is-generator-function "^1.0.10" - is-regex "^1.2.1" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.1.0" - which-collection "^1.0.2" - which-typed-array "^1.1.16" - -which-collection@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" - integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== - dependencies: - is-map "^2.0.3" - is-set "^2.0.3" - is-weakmap "^2.0.2" - is-weakset "^2.0.3" - -which-typed-array@^1.1.16, which-typed-array@^1.1.19: - version "1.1.20" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.20.tgz#3fdb7adfafe0ea69157b1509f3a1cd892bd1d122" - integrity sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.8" - call-bound "^1.0.4" - for-each "^0.3.5" - get-proto "^1.0.1" - gopd "^1.2.0" - has-tostringtag "^1.0.2" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -youtube-player@5.5.2: - version "5.5.2" - resolved "https://registry.yarnpkg.com/youtube-player/-/youtube-player-5.5.2.tgz#052b86b1eabe21ff331095ffffeae285fa7f7cb5" - integrity sha512-ZGtsemSpXnDky2AUYWgxjaopgB+shFHgXVpiJFeNB5nWEugpW1KWYDaHKuLqh2b67r24GtP6HoSW5swvf0fFIQ== - dependencies: - debug "^2.6.6" - load-script "^1.0.0" - sister "^3.0.0"