diff --git a/e2e/trade.spec.ts b/e2e/trade.spec.ts index 34601367..0a975450 100644 --- a/e2e/trade.spec.ts +++ b/e2e/trade.spec.ts @@ -101,9 +101,21 @@ test.describe('Trade', () => { await expect(page.getByText('Config reloaded successfully.')).toBeInViewport(); }); test('Trade page - drag and drop', async ({ page }) => { - await page.goto('/trade'); - - const multiPane = page.locator('.drag-header', { hasText: 'Multi Pane' }); + await Promise.all([ + page.goto('/trade'), + // Wait for network requests + // page.waitForResponse('**/ping'), + page.waitForResponse('**/status'), + page.waitForResponse('**/profit'), + page.waitForResponse('**/balance'), + // page.waitForResponse('**/trades'), + page.waitForResponse('**/whitelist'), + page.waitForResponse('**/blacklist'), + page.waitForResponse('**/locks'), + ]); + // Wait for dynamic layout to settle + await page.waitForTimeout(1000); + const multiPane = await page.locator('.drag-header', { hasText: 'Multi Pane' }); const multiPanebb = await multiPane.boundingBox(); @@ -111,6 +123,8 @@ test.describe('Trade', () => { await page.getByText('Lock layout').uncheck(); const chartHeader = await page.locator('.drag-header:has-text("Chart")'); + // Click outside of popup to ensure it's closed + // await chartHeader.click(); await expect(multiPane).toBeInViewport(); await expect(chartHeader).toBeInViewport(); diff --git a/package.json b/package.json index 3252c340..6798cc12 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@vueuse/integrations": "^11.1.0", "axios": "^1.7.7", "bootstrap": "^5.3.3", - "bootstrap-vue-next": "^0.24.17", + "bootstrap-vue-next": "^0.24.22", "core-js": "^3.38.1", "date-fns": "^4.1.0", "date-fns-tz": "^3.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57d2e08d..bc59650a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,8 +30,8 @@ importers: specifier: ^5.3.3 version: 5.3.3(@popperjs/core@2.11.8) bootstrap-vue-next: - specifier: ^0.24.17 - version: 0.24.17(vue@3.5.8(typescript@5.6.2)) + specifier: ^0.24.22 + version: 0.24.22(vue@3.5.8(typescript@5.6.2)) core-js: specifier: ^3.38.1 version: 3.38.1 @@ -1055,8 +1055,8 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - bootstrap-vue-next@0.24.17: - resolution: {integrity: sha512-3kpTniPMrM77VB0iuuTVvsl1xk9i7LuPzoCQMb8PhAdbdmsH5XDwCjTbw/PfeJRhGnOwSSqxePcDPo0dy0wohQ==} + bootstrap-vue-next@0.24.22: + resolution: {integrity: sha512-hzancGDH0r5aMrRc3EHUTSF1UUXGw2IbTk9E/sk5IAA7rj2Q9U5WEcYWq38mG7lw22KPHKGV5th26zxq140WjA==} peerDependencies: vue: ^3.5.3 @@ -3383,7 +3383,7 @@ snapshots: boolbase@1.0.0: {} - bootstrap-vue-next@0.24.17(vue@3.5.8(typescript@5.6.2)): + bootstrap-vue-next@0.24.22(vue@3.5.8(typescript@5.6.2)): dependencies: vue: 3.5.8(typescript@5.6.2) diff --git a/src/auto-imports.d.ts b/src/auto-imports.d.ts index 4190d7ae..fceb98bc 100644 --- a/src/auto-imports.d.ts +++ b/src/auto-imports.d.ts @@ -3,6 +3,7 @@ // @ts-nocheck // noinspection JSUnusedGlobalSymbols // Generated by unplugin-auto-import +// biome-ignore lint: disable export {} declare global { const ColorPreferences: typeof import('./stores/colors')['ColorPreferences'] @@ -107,6 +108,7 @@ declare global { const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] const onUnmounted: typeof import('vue')['onUnmounted'] const onUpdated: typeof import('vue')['onUpdated'] + const onWatcherCleanup: typeof import('vue')['onWatcherCleanup'] const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] const plotConfigColumns: typeof import('./utils/charts/plotConfigColumns')['plotConfigColumns'] const provide: typeof import('vue')['provide'] @@ -238,6 +240,7 @@ declare global { const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] const useGamepad: typeof import('@vueuse/core')['useGamepad'] const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] + const useId: typeof import('vue')['useId'] const useIdle: typeof import('@vueuse/core')['useIdle'] const useImage: typeof import('@vueuse/core')['useImage'] const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] @@ -255,6 +258,7 @@ declare global { const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] const useMemoize: typeof import('@vueuse/core')['useMemoize'] const useMemory: typeof import('@vueuse/core')['useMemory'] + const useModel: typeof import('vue')['useModel'] const useMounted: typeof import('@vueuse/core')['useMounted'] const useMouse: typeof import('@vueuse/core')['useMouse'] const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] @@ -307,6 +311,7 @@ declare global { const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] const useSupported: typeof import('@vueuse/core')['useSupported'] const useSwipe: typeof import('@vueuse/core')['useSwipe'] + const useTemplateRef: typeof import('vue')['useTemplateRef'] const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] const useTextDirection: typeof import('@vueuse/core')['useTextDirection'] const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] @@ -478,6 +483,7 @@ declare module 'vue' { readonly onStartTyping: UnwrapRef readonly onUnmounted: UnwrapRef readonly onUpdated: UnwrapRef + readonly onWatcherCleanup: UnwrapRef readonly pausableWatch: UnwrapRef readonly plotConfigColumns: UnwrapRef readonly provide: UnwrapRef @@ -609,6 +615,7 @@ declare module 'vue' { readonly useFullscreen: UnwrapRef readonly useGamepad: UnwrapRef readonly useGeolocation: UnwrapRef + readonly useId: UnwrapRef readonly useIdle: UnwrapRef readonly useImage: UnwrapRef readonly useInfiniteScroll: UnwrapRef @@ -626,6 +633,7 @@ declare module 'vue' { readonly useMediaQuery: UnwrapRef readonly useMemoize: UnwrapRef readonly useMemory: UnwrapRef + readonly useModel: UnwrapRef readonly useMounted: UnwrapRef readonly useMouse: UnwrapRef readonly useMouseInElement: UnwrapRef @@ -678,360 +686,7 @@ declare module 'vue' { readonly useStyleTag: UnwrapRef readonly useSupported: UnwrapRef readonly useSwipe: UnwrapRef - readonly useTemplateRefsList: UnwrapRef - readonly useTextDirection: UnwrapRef - readonly useTextSelection: UnwrapRef - readonly useTextareaAutosize: UnwrapRef - readonly useThrottle: UnwrapRef - readonly useThrottleFn: UnwrapRef - readonly useThrottledRefHistory: UnwrapRef - readonly useTimeAgo: UnwrapRef - readonly useTimeout: UnwrapRef - readonly useTimeoutFn: UnwrapRef - readonly useTimeoutPoll: UnwrapRef - readonly useTimestamp: UnwrapRef - readonly useTitle: UnwrapRef - readonly useToNumber: UnwrapRef - readonly useToString: UnwrapRef - readonly useToggle: UnwrapRef - readonly useTransition: UnwrapRef - readonly useUrlSearchParams: UnwrapRef - readonly useUserMedia: UnwrapRef - readonly useVModel: UnwrapRef - readonly useVModels: UnwrapRef - readonly useVibrate: UnwrapRef - readonly useVirtualList: UnwrapRef - readonly useWakeLock: UnwrapRef - readonly useWebNotification: UnwrapRef - readonly useWebSocket: UnwrapRef - readonly useWebWorker: UnwrapRef - readonly useWebWorkerFn: UnwrapRef - readonly useWindowFocus: UnwrapRef - readonly useWindowScroll: UnwrapRef - readonly useWindowSize: UnwrapRef - readonly watch: UnwrapRef - readonly watchArray: UnwrapRef - readonly watchAtMost: UnwrapRef - readonly watchDebounced: UnwrapRef - readonly watchDeep: UnwrapRef - readonly watchEffect: UnwrapRef - readonly watchIgnorable: UnwrapRef - readonly watchImmediate: UnwrapRef - readonly watchOnce: UnwrapRef - readonly watchPausable: UnwrapRef - readonly watchPostEffect: UnwrapRef - readonly watchSyncEffect: UnwrapRef - readonly watchThrottled: UnwrapRef - readonly watchTriggerable: UnwrapRef - readonly watchWithFilter: UnwrapRef - readonly whenever: UnwrapRef - } -} -declare module '@vue/runtime-core' { - interface GlobalComponents {} - interface ComponentCustomProperties { - readonly ColorPreferences: UnwrapRef - readonly DashboardLayout: UnwrapRef - readonly EffectScope: UnwrapRef - readonly OpenTradeVizOptions: UnwrapRef - readonly ROUND_CLOSER: UnwrapRef - readonly ROUND_DOWN: UnwrapRef - readonly ROUND_UP: UnwrapRef - readonly TradeLayout: UnwrapRef - readonly acceptHMRUpdate: UnwrapRef - readonly asyncComputed: UnwrapRef - readonly autoResetRef: UnwrapRef - readonly binData: UnwrapRef - readonly calculateDiff: UnwrapRef - readonly computed: UnwrapRef - readonly computedAsync: UnwrapRef - readonly computedEager: UnwrapRef - readonly computedInject: UnwrapRef - readonly computedWithControl: UnwrapRef - readonly controlledComputed: UnwrapRef - readonly controlledRef: UnwrapRef - readonly createApp: UnwrapRef - readonly createBotSubStore: UnwrapRef - readonly createEventHook: UnwrapRef - readonly createGlobalState: UnwrapRef - readonly createInjectionState: UnwrapRef - readonly createPinia: UnwrapRef - readonly createReactiveFn: UnwrapRef - readonly createReusableTemplate: UnwrapRef - readonly createSharedComposable: UnwrapRef - readonly createTemplatePromise: UnwrapRef - readonly createUnrefFn: UnwrapRef - readonly customRef: UnwrapRef - readonly dataZoomPartial: UnwrapRef - readonly dateFromString: UnwrapRef - readonly dateStringToTimeRange: UnwrapRef - readonly debouncedRef: UnwrapRef - readonly debouncedWatch: UnwrapRef - readonly deepClone: UnwrapRef - readonly deepMerge: UnwrapRef - readonly defineAsyncComponent: UnwrapRef - readonly defineComponent: UnwrapRef - readonly defineStore: UnwrapRef - readonly eagerComputed: UnwrapRef - readonly effectScope: UnwrapRef - readonly exportForTesting: UnwrapRef - readonly extendRef: UnwrapRef - readonly findGridLayout: UnwrapRef - readonly formatObjectForTable: UnwrapRef - readonly formatPercent: UnwrapRef - readonly formatPrice: UnwrapRef - readonly formatPriceCurrency: UnwrapRef - readonly generateAreaCandleSeries: UnwrapRef - readonly generateBacktestMetricRows: UnwrapRef - readonly generateBacktestSettingRows: UnwrapRef - readonly generateCandleSeries: UnwrapRef - readonly generateTradeSeries: UnwrapRef - readonly getActivePinia: UnwrapRef - readonly getCurrentInstance: UnwrapRef - readonly getCurrentScope: UnwrapRef - readonly getDiffColumnsFromPlotConfig: UnwrapRef - readonly getTheme: UnwrapRef - readonly h: UnwrapRef - readonly heikinAshiDataset: UnwrapRef - readonly humanizeDurationFromSeconds: UnwrapRef - readonly ignorableWatch: UnwrapRef - readonly initBots: UnwrapRef - readonly inject: UnwrapRef - readonly injectLocal: UnwrapRef - readonly isDefined: UnwrapRef - readonly isNotUndefined: UnwrapRef - readonly isProxy: UnwrapRef - readonly isReactive: UnwrapRef - readonly isReadonly: UnwrapRef - readonly isRef: UnwrapRef - readonly makeDestructurable: UnwrapRef - readonly mapActions: UnwrapRef - readonly mapGetters: UnwrapRef - readonly mapState: UnwrapRef - readonly mapStores: UnwrapRef - readonly mapWritableState: UnwrapRef - readonly markRaw: UnwrapRef - readonly nextTick: UnwrapRef - readonly numberformat: UnwrapRef - readonly onActivated: UnwrapRef - readonly onBeforeMount: UnwrapRef - readonly onBeforeRouteLeave: UnwrapRef - readonly onBeforeRouteUpdate: UnwrapRef - readonly onBeforeUnmount: UnwrapRef - readonly onBeforeUpdate: UnwrapRef - readonly onClickOutside: UnwrapRef - readonly onDeactivated: UnwrapRef - readonly onErrorCaptured: UnwrapRef - readonly onKeyStroke: UnwrapRef - readonly onLongPress: UnwrapRef - readonly onMounted: UnwrapRef - readonly onRenderTracked: UnwrapRef - readonly onRenderTriggered: UnwrapRef - readonly onScopeDispose: UnwrapRef - readonly onServerPrefetch: UnwrapRef - readonly onStartTyping: UnwrapRef - readonly onUnmounted: UnwrapRef - readonly onUpdated: UnwrapRef - readonly pausableWatch: UnwrapRef - readonly plotConfigColumns: UnwrapRef - readonly provide: UnwrapRef - readonly provideLocal: UnwrapRef - readonly randomColor: UnwrapRef - readonly reactify: UnwrapRef - readonly reactifyObject: UnwrapRef - readonly reactive: UnwrapRef - readonly reactiveComputed: UnwrapRef - readonly reactiveOmit: UnwrapRef - readonly reactivePick: UnwrapRef - readonly readonly: UnwrapRef - readonly ref: UnwrapRef - readonly refAutoReset: UnwrapRef - readonly refDebounced: UnwrapRef - readonly refDefault: UnwrapRef - readonly refThrottled: UnwrapRef - readonly refWithControl: UnwrapRef - readonly resolveComponent: UnwrapRef - readonly resolveRef: UnwrapRef - readonly resolveUnref: UnwrapRef - readonly roundTimeframe: UnwrapRef - readonly setActivePinia: UnwrapRef - readonly setMapStoreSuffix: UnwrapRef - readonly setTimezone: UnwrapRef - readonly shallowReactive: UnwrapRef - readonly shallowReadonly: UnwrapRef - readonly shallowRef: UnwrapRef - readonly showAlert: UnwrapRef - readonly showNotification: UnwrapRef - readonly splitTradePair: UnwrapRef - readonly storeToRefs: UnwrapRef - readonly syncRef: UnwrapRef - readonly syncRefs: UnwrapRef - readonly templateRef: UnwrapRef - readonly throttledRef: UnwrapRef - readonly throttledWatch: UnwrapRef - readonly timeformat: UnwrapRef - readonly timestampHour: UnwrapRef - readonly timestampToDateString: UnwrapRef - readonly timestampToTimeRangeString: UnwrapRef - readonly timestampms: UnwrapRef - readonly timestampmsOrNa: UnwrapRef - readonly timestampmsWithTimezone: UnwrapRef - readonly toRaw: UnwrapRef - readonly toReactive: UnwrapRef - readonly toRef: UnwrapRef - readonly toRefs: UnwrapRef - readonly toValue: UnwrapRef - readonly triggerRef: UnwrapRef - readonly tryOnBeforeMount: UnwrapRef - readonly tryOnBeforeUnmount: UnwrapRef - readonly tryOnMounted: UnwrapRef - readonly tryOnScopeDispose: UnwrapRef - readonly tryOnUnmounted: UnwrapRef - readonly unref: UnwrapRef - readonly unrefElement: UnwrapRef - readonly until: UnwrapRef - readonly useActiveElement: UnwrapRef - readonly useAlertForBot: UnwrapRef - readonly useAlertsStore: UnwrapRef - readonly useAnimate: UnwrapRef - readonly useApi: UnwrapRef - readonly useArrayDifference: UnwrapRef - readonly useArrayEvery: UnwrapRef - readonly useArrayFilter: UnwrapRef - readonly useArrayFind: UnwrapRef - readonly useArrayFindIndex: UnwrapRef - readonly useArrayFindLast: UnwrapRef - readonly useArrayIncludes: UnwrapRef - readonly useArrayJoin: UnwrapRef - readonly useArrayMap: UnwrapRef - readonly useArrayReduce: UnwrapRef - readonly useArraySome: UnwrapRef - readonly useArrayUnique: UnwrapRef - readonly useAsyncQueue: UnwrapRef - readonly useAsyncState: UnwrapRef - readonly useAttrs: UnwrapRef - readonly useBase64: UnwrapRef - readonly useBattery: UnwrapRef - readonly useBluetooth: UnwrapRef - readonly useBotStore: UnwrapRef - readonly useBreakpoints: UnwrapRef - readonly useBroadcastChannel: UnwrapRef - readonly useBrowserLocation: UnwrapRef - readonly useBtStore: UnwrapRef - readonly useCached: UnwrapRef - readonly useClipboard: UnwrapRef - readonly useClipboardItems: UnwrapRef - readonly useCloned: UnwrapRef - readonly useColorMode: UnwrapRef - readonly useColorStore: UnwrapRef - readonly useConfirmDialog: UnwrapRef - readonly useCounter: UnwrapRef - readonly useCssModule: UnwrapRef - readonly useCssVar: UnwrapRef - readonly useCssVars: UnwrapRef - readonly useCurrentElement: UnwrapRef - readonly useCycleList: UnwrapRef - readonly useDark: UnwrapRef - readonly useDateFormat: UnwrapRef - readonly useDebounce: UnwrapRef - readonly useDebounceFn: UnwrapRef - readonly useDebouncedRefHistory: UnwrapRef - readonly useDeviceMotion: UnwrapRef - readonly useDeviceOrientation: UnwrapRef - readonly useDevicePixelRatio: UnwrapRef - readonly useDevicesList: UnwrapRef - readonly useDisplayMedia: UnwrapRef - readonly useDocumentVisibility: UnwrapRef - readonly useDraggable: UnwrapRef - readonly useDropZone: UnwrapRef - readonly useElementBounding: UnwrapRef - readonly useElementByPoint: UnwrapRef - readonly useElementHover: UnwrapRef - readonly useElementSize: UnwrapRef - readonly useElementVisibility: UnwrapRef - readonly useEventBus: UnwrapRef - readonly useEventListener: UnwrapRef - readonly useEventSource: UnwrapRef - readonly useEyeDropper: UnwrapRef - readonly useFavicon: UnwrapRef - readonly useFetch: UnwrapRef - readonly useFileDialog: UnwrapRef - readonly useFileSystemAccess: UnwrapRef - readonly useFocus: UnwrapRef - readonly useFocusWithin: UnwrapRef - readonly useFps: UnwrapRef - readonly useFullscreen: UnwrapRef - readonly useGamepad: UnwrapRef - readonly useGeolocation: UnwrapRef - readonly useIdle: UnwrapRef - readonly useImage: UnwrapRef - readonly useInfiniteScroll: UnwrapRef - readonly useIntersectionObserver: UnwrapRef - readonly useInterval: UnwrapRef - readonly useIntervalFn: UnwrapRef - readonly useKeyModifier: UnwrapRef - readonly useLastChanged: UnwrapRef - readonly useLayoutStore: UnwrapRef - readonly useLink: UnwrapRef - readonly useLocalStorage: UnwrapRef - readonly useMagicKeys: UnwrapRef - readonly useManualRefHistory: UnwrapRef - readonly useMediaControls: UnwrapRef - readonly useMediaQuery: UnwrapRef - readonly useMemoize: UnwrapRef - readonly useMemory: UnwrapRef - readonly useMounted: UnwrapRef - readonly useMouse: UnwrapRef - readonly useMouseInElement: UnwrapRef - readonly useMousePressed: UnwrapRef - readonly useMutationObserver: UnwrapRef - readonly useNavigatorLanguage: UnwrapRef - readonly useNetwork: UnwrapRef - readonly useNow: UnwrapRef - readonly useObjectUrl: UnwrapRef - readonly useOffsetPagination: UnwrapRef - readonly useOnline: UnwrapRef - readonly usePageLeave: UnwrapRef - readonly usePairlistConfigStore: UnwrapRef - readonly useParallax: UnwrapRef - readonly useParentElement: UnwrapRef - readonly usePercentageTool: UnwrapRef - readonly usePerformanceObserver: UnwrapRef - readonly usePermission: UnwrapRef - readonly usePlotConfigStore: UnwrapRef - readonly usePlotTemplates: UnwrapRef - readonly usePointer: UnwrapRef - readonly usePointerLock: UnwrapRef - readonly usePointerSwipe: UnwrapRef - readonly usePreferredColorScheme: UnwrapRef - readonly usePreferredContrast: UnwrapRef - readonly usePreferredDark: UnwrapRef - readonly usePreferredLanguages: UnwrapRef - readonly usePreferredReducedMotion: UnwrapRef - readonly usePrevious: UnwrapRef - readonly useRafFn: UnwrapRef - readonly useRefHistory: UnwrapRef - readonly useResizeObserver: UnwrapRef - readonly useRoute: UnwrapRef - readonly useRouter: UnwrapRef - readonly useScreenOrientation: UnwrapRef - readonly useScreenSafeArea: UnwrapRef - readonly useScriptTag: UnwrapRef - readonly useScroll: UnwrapRef - readonly useScrollLock: UnwrapRef - readonly useSessionStorage: UnwrapRef - readonly useSettingsStore: UnwrapRef - readonly useShare: UnwrapRef - readonly useSlots: UnwrapRef - readonly useSorted: UnwrapRef - readonly useSpeechRecognition: UnwrapRef - readonly useSpeechSynthesis: UnwrapRef - readonly useStepper: UnwrapRef - readonly useStorage: UnwrapRef - readonly useStorageAsync: UnwrapRef - readonly useStyleTag: UnwrapRef - readonly useSupported: UnwrapRef - readonly useSwipe: UnwrapRef + readonly useTemplateRef: UnwrapRef readonly useTemplateRefsList: UnwrapRef readonly useTextDirection: UnwrapRef readonly useTextSelection: UnwrapRef diff --git a/src/components.d.ts b/src/components.d.ts index 408d68c9..9ee2a284 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -18,34 +18,34 @@ declare module 'vue' { BacktestResultTablePer: typeof import('./components/ftbot/BacktestResultTablePer.vue')['default'] BacktestRun: typeof import('./components/ftbot/BacktestRun.vue')['default'] BalanceChart: typeof import('./components/charts/BalanceChart.vue')['default'] - BAlert: typeof import('bootstrap-vue-next')['BAlert'] + BAlert: typeof import('bootstrap-vue-next/components/BAlert')['BAlert'] BaseAlert: typeof import('./components/general/BaseAlert.vue')['default'] BaseStringList: typeof import('./components/general/BaseStringList.vue')['default'] - BAvatar: typeof import('bootstrap-vue-next')['BAvatar'] - BButton: typeof import('bootstrap-vue-next')['BButton'] - BCard: typeof import('bootstrap-vue-next')['BCard'] - BCardBody: typeof import('bootstrap-vue-next')['BCardBody'] - BCollapse: typeof import('bootstrap-vue-next')['BCollapse'] - BDropdown: typeof import('bootstrap-vue-next')['BDropdown'] - BDropdownDivider: typeof import('bootstrap-vue-next')['BDropdownDivider'] - BDropdownItem: typeof import('bootstrap-vue-next')['BDropdownItem'] - BFormCheckbox: typeof import('bootstrap-vue-next')['BFormCheckbox'] - BFormGroup: typeof import('bootstrap-vue-next')['BFormGroup'] - BFormInput: typeof import('bootstrap-vue-next')['BFormInput'] - BFormRadio: typeof import('bootstrap-vue-next')['BFormRadio'] - BFormRadioGroup: typeof import('bootstrap-vue-next')['BFormRadioGroup'] - BFormSelect: typeof import('bootstrap-vue-next')['BFormSelect'] - BFormTextarea: typeof import('bootstrap-vue-next')['BFormTextarea'] - BInputGroup: typeof import('bootstrap-vue-next')['BInputGroup'] - BListGroup: typeof import('bootstrap-vue-next')['BListGroup'] - BListGroupItem: typeof import('bootstrap-vue-next')['BListGroupItem'] - BModal: typeof import('bootstrap-vue-next')['BModal'] - BNavbar: typeof import('bootstrap-vue-next')['BNavbar'] - BNavbarNav: typeof import('bootstrap-vue-next')['BNavbarNav'] - BNavbarToggle: typeof import('bootstrap-vue-next')['BNavbarToggle'] - BNavItem: typeof import('bootstrap-vue-next')['BNavItem'] - BNavItemDropdown: typeof import('bootstrap-vue-next')['BNavItemDropdown'] - BNavText: typeof import('bootstrap-vue-next')['BNavText'] + BAvatar: typeof import('bootstrap-vue-next/components/BAvatar')['BAvatar'] + BButton: typeof import('bootstrap-vue-next/components/BButton')['BButton'] + BCard: typeof import('bootstrap-vue-next/components/BCard')['BCard'] + BCardBody: typeof import('bootstrap-vue-next/components/BCard')['BCardBody'] + BCollapse: typeof import('bootstrap-vue-next/components/BCollapse')['BCollapse'] + BDropdown: typeof import('bootstrap-vue-next/components/BDropdown')['BDropdown'] + BDropdownDivider: typeof import('bootstrap-vue-next/components/BDropdown')['BDropdownDivider'] + BDropdownItem: typeof import('bootstrap-vue-next/components/BDropdown')['BDropdownItem'] + BFormCheckbox: typeof import('bootstrap-vue-next/components/BFormCheckbox')['BFormCheckbox'] + BFormGroup: typeof import('bootstrap-vue-next/components/BFormGroup')['BFormGroup'] + BFormInput: typeof import('bootstrap-vue-next/components/BFormInput')['BFormInput'] + BFormRadio: typeof import('bootstrap-vue-next/components/BFormRadio')['BFormRadio'] + BFormRadioGroup: typeof import('bootstrap-vue-next/components/BFormRadio')['BFormRadioGroup'] + BFormSelect: typeof import('bootstrap-vue-next/components/BFormSelect')['BFormSelect'] + BFormTextarea: typeof import('bootstrap-vue-next/components/BFormTextarea')['BFormTextarea'] + BInputGroup: typeof import('bootstrap-vue-next/components/BInputGroup')['BInputGroup'] + BListGroup: typeof import('bootstrap-vue-next/components/BListGroup')['BListGroup'] + BListGroupItem: typeof import('bootstrap-vue-next/components/BListGroup')['BListGroupItem'] + BModal: typeof import('bootstrap-vue-next/components/BModal')['BModal'] + BNavbar: typeof import('bootstrap-vue-next/components/BNavbar')['BNavbar'] + BNavbarNav: typeof import('bootstrap-vue-next/components/BNavbar')['BNavbarNav'] + BNavbarToggle: typeof import('bootstrap-vue-next/components/BNavbar')['BNavbarToggle'] + BNavItem: typeof import('bootstrap-vue-next/components/BNav')['BNavItem'] + BNavItemDropdown: typeof import('bootstrap-vue-next/components/BNav')['BNavItemDropdown'] + BNavText: typeof import('bootstrap-vue-next/components/BNav')['BNavText'] BodyLayout: typeof import('./components/layout/BodyLayout.vue')['default'] BotBalance: typeof import('./components/ftbot/BotBalance.vue')['default'] BotComparisonList: typeof import('./components/ftbot/BotComparisonList.vue')['default'] @@ -57,19 +57,19 @@ declare module 'vue' { BotProfit: typeof import('./components/ftbot/BotProfit.vue')['default'] BotRename: typeof import('./components/BotRename.vue')['default'] BotStatus: typeof import('./components/ftbot/BotStatus.vue')['default'] - BPagination: typeof import('bootstrap-vue-next')['BPagination'] - BPopover: typeof import('bootstrap-vue-next')['BPopover'] - BSpinner: typeof import('bootstrap-vue-next')['BSpinner'] - BTab: typeof import('bootstrap-vue-next')['BTab'] - BTable: typeof import('bootstrap-vue-next')['BTable'] - BTableSimple: typeof import('bootstrap-vue-next')['BTableSimple'] - BTabs: typeof import('bootstrap-vue-next')['BTabs'] - BTbody: typeof import('bootstrap-vue-next')['BTbody'] - BTd: typeof import('bootstrap-vue-next')['BTd'] - BTh: typeof import('bootstrap-vue-next')['BTh'] - BThead: typeof import('bootstrap-vue-next')['BThead'] - BToast: typeof import('bootstrap-vue-next')['BToast'] - BTr: typeof import('bootstrap-vue-next')['BTr'] + BPagination: typeof import('bootstrap-vue-next/components/BPagination')['BPagination'] + BPopover: typeof import('bootstrap-vue-next/components/BPopover')['BPopover'] + BSpinner: typeof import('bootstrap-vue-next/components/BSpinner')['BSpinner'] + BTab: typeof import('bootstrap-vue-next/components/BTabs')['BTab'] + BTable: typeof import('bootstrap-vue-next/components/BTable')['BTable'] + BTableSimple: typeof import('bootstrap-vue-next/components/BTable')['BTableSimple'] + BTabs: typeof import('bootstrap-vue-next/components/BTabs')['BTabs'] + BTbody: typeof import('bootstrap-vue-next/components/BTable')['BTbody'] + BTd: typeof import('bootstrap-vue-next/components/BTable')['BTd'] + BTh: typeof import('bootstrap-vue-next/components/BTable')['BTh'] + BThead: typeof import('bootstrap-vue-next/components/BTable')['BThead'] + BToast: typeof import('bootstrap-vue-next/components/BToast')['BToast'] + BTr: typeof import('bootstrap-vue-next/components/BTable')['BTr'] CandleChart: typeof import('./components/charts/CandleChart.vue')['default'] CandleChartContainer: typeof import('./components/charts/CandleChartContainer.vue')['default'] CopyableTextfield: typeof import('./components/general/CopyableTextfield.vue')['default'] @@ -84,7 +84,6 @@ declare module 'vue' { ForceExitForm: typeof import('./components/ftbot/ForceExitForm.vue')['default'] FreqaiModelSelect: typeof import('./components/ftbot/FreqaiModelSelect.vue')['default'] HourlyChart: typeof import('./components/charts/HourlyChart.vue')['default'] - IMdiAdd: typeof import('~icons/mdi/add')['default'] IMdiAlert: typeof import('~icons/mdi/alert')['default'] IMdiArrowDownThick: typeof import('~icons/mdi/arrow-down-thick')['default'] IMdiArrowDownThin: typeof import('~icons/mdi/arrow-down-thin')['default']