tekivex-ui 2.5.15 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/charts.cjs +1 -1
- package/dist/charts.js +22 -553
- package/dist/chunk-B3ph66Zb.js +1 -0
- package/dist/chunk-Bc16rJT-.js +1 -0
- package/dist/chunk-Dike2DLU.js +3 -0
- package/dist/chunk-DjxOP8W4.js +1 -0
- package/dist/chunk-DkoFTL1O.js +1 -0
- package/dist/chunk-DmRB1Blb.js +1 -0
- package/dist/chunk-DnCXUUx5.js +1 -0
- package/dist/chunk-LWkKqC8d.js +1 -0
- package/dist/chunk-PJ50l0JC.js +1 -0
- package/dist/headless.cjs +1 -1
- package/dist/headless.js +1 -442
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.js +1 -733
- package/dist/index.cjs +1 -152
- package/dist/index.d.ts +4 -2
- package/dist/index.js +429 -16786
- package/dist/quantum.cjs +1 -89
- package/dist/quantum.js +74 -2551
- package/dist/realtime.cjs +1 -23
- package/dist/realtime.js +1 -804
- package/dist/src/a11y/index.d.ts +0 -1
- package/dist/src/charts/TkxAreaChart.d.ts +0 -5
- package/dist/src/charts/TkxBarChart.d.ts +0 -3
- package/dist/src/charts/TkxDonutChart.d.ts +0 -5
- package/dist/src/charts/TkxLineChart.d.ts +0 -1
- package/dist/src/charts/TkxPieChart.d.ts +0 -3
- package/dist/src/charts/TkxRadarChart.d.ts +0 -3
- package/dist/src/charts/TkxScatterChart.d.ts +0 -2
- package/dist/src/charts/index.d.ts +0 -1
- package/dist/src/charts/shared.d.ts +0 -3
- package/dist/src/components/TkxAIChatBubble.d.ts +0 -9
- package/dist/src/components/TkxAIConfidenceBar.d.ts +0 -6
- package/dist/src/components/TkxAIThinking.d.ts +0 -6
- package/dist/src/components/TkxAccordion.d.ts +0 -1
- package/dist/src/components/TkxAffix.d.ts +0 -1
- package/dist/src/components/TkxAlert.d.ts +0 -1
- package/dist/src/components/TkxAnchor.d.ts +0 -1
- package/dist/src/components/TkxAppBar.d.ts +0 -1
- package/dist/src/components/TkxAutocomplete.d.ts +0 -1
- package/dist/src/components/TkxAvatar.d.ts +0 -1
- package/dist/src/components/TkxBadge.d.ts +0 -1
- package/dist/src/components/TkxBottomNav.d.ts +0 -1
- package/dist/src/components/TkxBreadcrumb.d.ts +0 -1
- package/dist/src/components/TkxButton.d.ts +0 -1
- package/dist/src/components/TkxCard.d.ts +0 -1
- package/dist/src/components/TkxCarousel.d.ts +0 -1
- package/dist/src/components/TkxCascader.d.ts +0 -1
- package/dist/src/components/TkxChat.d.ts +0 -1
- package/dist/src/components/TkxCheckbox.d.ts +0 -1
- package/dist/src/components/TkxClock.d.ts +0 -1
- package/dist/src/components/TkxColorPicker.d.ts +0 -1
- package/dist/src/components/TkxCommand.d.ts +0 -1
- package/dist/src/components/TkxConfigProvider.d.ts +0 -30
- package/dist/src/components/TkxDataGrid.d.ts +0 -15
- package/dist/src/components/TkxDatePicker.d.ts +0 -1
- package/dist/src/components/TkxDivider.d.ts +0 -1
- package/dist/src/components/TkxDrawer.d.ts +0 -1
- package/dist/src/components/TkxDropdown.d.ts +0 -1
- package/dist/src/components/TkxEmpty.d.ts +0 -1
- package/dist/src/components/TkxFileUpload.d.ts +0 -1
- package/dist/src/components/TkxForm.d.ts +0 -35
- package/dist/src/components/TkxIcon.d.ts +0 -1
- package/dist/src/components/TkxImage.d.ts +0 -1
- package/dist/src/components/TkxInput.d.ts +1 -1
- package/dist/src/components/TkxLayout.d.ts +0 -22
- package/dist/src/components/TkxList.d.ts +0 -1
- package/dist/src/components/TkxLiveFeed.d.ts +0 -1
- package/dist/src/components/TkxLiveLog.d.ts +0 -1
- package/dist/src/components/TkxLiveMetrics.d.ts +0 -1
- package/dist/src/components/TkxLogo.d.ts +0 -1
- package/dist/src/components/TkxMarkdown.d.ts +0 -10
- package/dist/src/components/TkxMasonry.d.ts +0 -1
- package/dist/src/components/TkxMentions.d.ts +0 -1
- package/dist/src/components/TkxMenu.d.ts +0 -1
- package/dist/src/components/TkxModal.d.ts +0 -1
- package/dist/src/components/TkxNumberInput.d.ts +0 -1
- package/dist/src/components/TkxOTP.d.ts +0 -1
- package/dist/src/components/TkxOrgChart.d.ts +32 -0
- package/dist/src/components/TkxPagination.d.ts +0 -1
- package/dist/src/components/TkxPlayground.d.ts +0 -13
- package/dist/src/components/TkxPopover.d.ts +0 -1
- package/dist/src/components/TkxProgress.d.ts +0 -1
- package/dist/src/components/TkxQRCode.d.ts +0 -1
- package/dist/src/components/TkxQuantumForm.d.ts +0 -1
- package/dist/src/components/TkxRadio.d.ts +0 -1
- package/dist/src/components/TkxRating.d.ts +0 -1
- package/dist/src/components/TkxRealTimeChart.d.ts +0 -1
- package/dist/src/components/TkxResult.d.ts +0 -1
- package/dist/src/components/TkxRichTextDisplay.d.ts +0 -1
- package/dist/src/components/TkxSegmented.d.ts +0 -1
- package/dist/src/components/TkxSelect.d.ts +0 -3
- package/dist/src/components/TkxSkeleton.d.ts +0 -1
- package/dist/src/components/TkxSlider.d.ts +0 -1
- package/dist/src/components/TkxSnackbar.d.ts +0 -1
- package/dist/src/components/TkxSpeedDial.d.ts +0 -1
- package/dist/src/components/TkxSpin.d.ts +0 -1
- package/dist/src/components/TkxStatistic.d.ts +0 -1
- package/dist/src/components/TkxStepper.d.ts +0 -1
- package/dist/src/components/TkxTable.d.ts +0 -1
- package/dist/src/components/TkxTabs.d.ts +0 -1
- package/dist/src/components/TkxTag.d.ts +0 -1
- package/dist/src/components/TkxThemeBuilder.d.ts +0 -1
- package/dist/src/components/TkxTimeline.d.ts +0 -1
- package/dist/src/components/TkxToast.d.ts +0 -1
- package/dist/src/components/TkxToggle.d.ts +0 -1
- package/dist/src/components/TkxToolbar.d.ts +0 -1
- package/dist/src/components/TkxTooltip.d.ts +0 -1
- package/dist/src/components/TkxTour.d.ts +0 -1
- package/dist/src/components/TkxTransferList.d.ts +0 -1
- package/dist/src/components/TkxTreeView.d.ts +0 -1
- package/dist/src/components/TkxTypography.d.ts +0 -1
- package/dist/src/components/TkxVideoPlayer.d.ts +0 -1
- package/dist/src/components/TkxWatermark.d.ts +0 -1
- package/dist/src/components/index.d.ts +1 -1
- package/dist/src/engine/css.d.ts +0 -1
- package/dist/src/engine/index.d.ts +0 -1
- package/dist/src/engine/quantum-ai.d.ts +0 -73
- package/dist/src/engine/quantum.d.ts +0 -1
- package/dist/src/engine/security.d.ts +45 -9
- package/dist/src/engine/tkx.d.ts +0 -53
- package/dist/src/engine/wcag.d.ts +0 -1
- package/dist/src/headless/index.d.ts +0 -1
- package/dist/src/headless/useControllable.d.ts +0 -15
- package/dist/src/headless/useDebounce.d.ts +0 -12
- package/dist/src/headless/useDisclosure.d.ts +0 -13
- package/dist/src/headless/useFormState.d.ts +0 -13
- package/dist/src/headless/useInfiniteQuery.d.ts +0 -11
- package/dist/src/headless/useIntersectionObserver.d.ts +0 -10
- package/dist/src/headless/useListSelection.d.ts +0 -9
- package/dist/src/headless/useLocalStorage.d.ts +0 -8
- package/dist/src/headless/useMediaQuery.d.ts +0 -10
- package/dist/src/headless/useRovingTabIndex.d.ts +0 -15
- package/dist/src/headless/useSSE.d.ts +0 -9
- package/dist/src/headless/useThrottle.d.ts +0 -7
- package/dist/src/headless/useWebSocket.d.ts +0 -9
- package/dist/src/hooks/index.d.ts +0 -1
- package/dist/src/i18n/I18nProvider.d.ts +0 -1
- package/dist/src/i18n/index.d.ts +0 -1
- package/dist/src/quantum/index.d.ts +0 -1
- package/dist/src/realtime/index.d.ts +0 -1
- package/dist/src/themes/index.d.ts +0 -1
- package/package.json +5 -3
- package/dist/TkxForm-BaO4wvXt.js +0 -320
- package/dist/TkxForm-M6ttomry.cjs +0 -12
- package/dist/chunk-Bmb41Sf3.cjs +0 -1
- package/dist/hooks-6pRsPOyG.js +0 -58
- package/dist/hooks-mivgRljH.cjs +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/src/a11y/index.d.ts.map +0 -1
- package/dist/src/charts/TkxAreaChart.d.ts.map +0 -1
- package/dist/src/charts/TkxBarChart.d.ts.map +0 -1
- package/dist/src/charts/TkxDonutChart.d.ts.map +0 -1
- package/dist/src/charts/TkxLineChart.d.ts.map +0 -1
- package/dist/src/charts/TkxPieChart.d.ts.map +0 -1
- package/dist/src/charts/TkxRadarChart.d.ts.map +0 -1
- package/dist/src/charts/TkxScatterChart.d.ts.map +0 -1
- package/dist/src/charts/index.d.ts.map +0 -1
- package/dist/src/charts/shared.d.ts.map +0 -1
- package/dist/src/components/TkxAIChatBubble.d.ts.map +0 -1
- package/dist/src/components/TkxAIConfidenceBar.d.ts.map +0 -1
- package/dist/src/components/TkxAIThinking.d.ts.map +0 -1
- package/dist/src/components/TkxAccordion.d.ts.map +0 -1
- package/dist/src/components/TkxAffix.d.ts.map +0 -1
- package/dist/src/components/TkxAlert.d.ts.map +0 -1
- package/dist/src/components/TkxAnchor.d.ts.map +0 -1
- package/dist/src/components/TkxAppBar.d.ts.map +0 -1
- package/dist/src/components/TkxAutocomplete.d.ts.map +0 -1
- package/dist/src/components/TkxAvatar.d.ts.map +0 -1
- package/dist/src/components/TkxBadge.d.ts.map +0 -1
- package/dist/src/components/TkxBottomNav.d.ts.map +0 -1
- package/dist/src/components/TkxBreadcrumb.d.ts.map +0 -1
- package/dist/src/components/TkxButton.d.ts.map +0 -1
- package/dist/src/components/TkxCard.d.ts.map +0 -1
- package/dist/src/components/TkxCarousel.d.ts.map +0 -1
- package/dist/src/components/TkxCascader.d.ts.map +0 -1
- package/dist/src/components/TkxChat.d.ts.map +0 -1
- package/dist/src/components/TkxCheckbox.d.ts.map +0 -1
- package/dist/src/components/TkxClock.d.ts.map +0 -1
- package/dist/src/components/TkxColorPicker.d.ts.map +0 -1
- package/dist/src/components/TkxCommand.d.ts.map +0 -1
- package/dist/src/components/TkxConfigProvider.d.ts.map +0 -1
- package/dist/src/components/TkxDataGrid.d.ts.map +0 -1
- package/dist/src/components/TkxDatePicker.d.ts.map +0 -1
- package/dist/src/components/TkxDivider.d.ts.map +0 -1
- package/dist/src/components/TkxDrawer.d.ts.map +0 -1
- package/dist/src/components/TkxDropdown.d.ts.map +0 -1
- package/dist/src/components/TkxEmpty.d.ts.map +0 -1
- package/dist/src/components/TkxFileUpload.d.ts.map +0 -1
- package/dist/src/components/TkxForm.d.ts.map +0 -1
- package/dist/src/components/TkxIcon.d.ts.map +0 -1
- package/dist/src/components/TkxImage.d.ts.map +0 -1
- package/dist/src/components/TkxInput.d.ts.map +0 -1
- package/dist/src/components/TkxLayout.d.ts.map +0 -1
- package/dist/src/components/TkxList.d.ts.map +0 -1
- package/dist/src/components/TkxLiveFeed.d.ts.map +0 -1
- package/dist/src/components/TkxLiveLog.d.ts.map +0 -1
- package/dist/src/components/TkxLiveMetrics.d.ts.map +0 -1
- package/dist/src/components/TkxLogo.d.ts.map +0 -1
- package/dist/src/components/TkxMarkdown.d.ts.map +0 -1
- package/dist/src/components/TkxMasonry.d.ts.map +0 -1
- package/dist/src/components/TkxMentions.d.ts.map +0 -1
- package/dist/src/components/TkxMenu.d.ts.map +0 -1
- package/dist/src/components/TkxModal.d.ts.map +0 -1
- package/dist/src/components/TkxNumberInput.d.ts.map +0 -1
- package/dist/src/components/TkxOTP.d.ts.map +0 -1
- package/dist/src/components/TkxPagination.d.ts.map +0 -1
- package/dist/src/components/TkxPlayground.d.ts.map +0 -1
- package/dist/src/components/TkxPopover.d.ts.map +0 -1
- package/dist/src/components/TkxProgress.d.ts.map +0 -1
- package/dist/src/components/TkxQRCode.d.ts.map +0 -1
- package/dist/src/components/TkxQuantumForm.d.ts.map +0 -1
- package/dist/src/components/TkxRadio.d.ts.map +0 -1
- package/dist/src/components/TkxRating.d.ts.map +0 -1
- package/dist/src/components/TkxRealTimeChart.d.ts.map +0 -1
- package/dist/src/components/TkxResult.d.ts.map +0 -1
- package/dist/src/components/TkxRichTextDisplay.d.ts.map +0 -1
- package/dist/src/components/TkxSegmented.d.ts.map +0 -1
- package/dist/src/components/TkxSelect.d.ts.map +0 -1
- package/dist/src/components/TkxSkeleton.d.ts.map +0 -1
- package/dist/src/components/TkxSlider.d.ts.map +0 -1
- package/dist/src/components/TkxSnackbar.d.ts.map +0 -1
- package/dist/src/components/TkxSpeedDial.d.ts.map +0 -1
- package/dist/src/components/TkxSpin.d.ts.map +0 -1
- package/dist/src/components/TkxStatistic.d.ts.map +0 -1
- package/dist/src/components/TkxStepper.d.ts.map +0 -1
- package/dist/src/components/TkxTable.d.ts.map +0 -1
- package/dist/src/components/TkxTabs.d.ts.map +0 -1
- package/dist/src/components/TkxTag.d.ts.map +0 -1
- package/dist/src/components/TkxThemeBuilder.d.ts.map +0 -1
- package/dist/src/components/TkxTimeline.d.ts.map +0 -1
- package/dist/src/components/TkxToast.d.ts.map +0 -1
- package/dist/src/components/TkxToggle.d.ts.map +0 -1
- package/dist/src/components/TkxToolbar.d.ts.map +0 -1
- package/dist/src/components/TkxTooltip.d.ts.map +0 -1
- package/dist/src/components/TkxTour.d.ts.map +0 -1
- package/dist/src/components/TkxTransferList.d.ts.map +0 -1
- package/dist/src/components/TkxTreeView.d.ts.map +0 -1
- package/dist/src/components/TkxTypography.d.ts.map +0 -1
- package/dist/src/components/TkxVideoPlayer.d.ts.map +0 -1
- package/dist/src/components/TkxWatermark.d.ts.map +0 -1
- package/dist/src/components/index.d.ts.map +0 -1
- package/dist/src/engine/css.d.ts.map +0 -1
- package/dist/src/engine/index.d.ts.map +0 -1
- package/dist/src/engine/quantum-ai.d.ts.map +0 -1
- package/dist/src/engine/quantum.d.ts.map +0 -1
- package/dist/src/engine/security.d.ts.map +0 -1
- package/dist/src/engine/tkx.d.ts.map +0 -1
- package/dist/src/engine/wcag.d.ts.map +0 -1
- package/dist/src/headless/index.d.ts.map +0 -1
- package/dist/src/headless/useControllable.d.ts.map +0 -1
- package/dist/src/headless/useDebounce.d.ts.map +0 -1
- package/dist/src/headless/useDisclosure.d.ts.map +0 -1
- package/dist/src/headless/useFormState.d.ts.map +0 -1
- package/dist/src/headless/useInfiniteQuery.d.ts.map +0 -1
- package/dist/src/headless/useIntersectionObserver.d.ts.map +0 -1
- package/dist/src/headless/useListSelection.d.ts.map +0 -1
- package/dist/src/headless/useLocalStorage.d.ts.map +0 -1
- package/dist/src/headless/useMediaQuery.d.ts.map +0 -1
- package/dist/src/headless/useRovingTabIndex.d.ts.map +0 -1
- package/dist/src/headless/useSSE.d.ts.map +0 -1
- package/dist/src/headless/useThrottle.d.ts.map +0 -1
- package/dist/src/headless/useWebSocket.d.ts.map +0 -1
- package/dist/src/hooks/index.d.ts.map +0 -1
- package/dist/src/i18n/I18nProvider.d.ts.map +0 -1
- package/dist/src/i18n/index.d.ts.map +0 -1
- package/dist/src/quantum/index.d.ts.map +0 -1
- package/dist/src/realtime/index.d.ts.map +0 -1
- package/dist/src/themes/index.d.ts.map +0 -1
- package/dist/themes-BbJanqiC.js +0 -498
- package/dist/themes-CMq2vWXj.cjs +0 -2
- package/dist/tkx-BoP5V5zy.cjs +0 -4
- package/dist/tkx-mOKMzvUK.js +0 -1174
- package/src/a11y/index.tsx +0 -87
- package/src/charts/TkxAreaChart.tsx +0 -121
- package/src/charts/TkxBarChart.tsx +0 -117
- package/src/charts/TkxDonutChart.tsx +0 -164
- package/src/charts/TkxLineChart.tsx +0 -137
- package/src/charts/TkxPieChart.tsx +0 -103
- package/src/charts/TkxRadarChart.tsx +0 -92
- package/src/charts/TkxScatterChart.tsx +0 -104
- package/src/charts/index.ts +0 -22
- package/src/charts/shared.ts +0 -47
- package/src/components/TkxAIChatBubble.tsx +0 -256
- package/src/components/TkxAIConfidenceBar.tsx +0 -133
- package/src/components/TkxAIThinking.tsx +0 -193
- package/src/components/TkxAccordion.tsx +0 -590
- package/src/components/TkxAffix.tsx +0 -140
- package/src/components/TkxAlert.tsx +0 -94
- package/src/components/TkxAnchor.tsx +0 -195
- package/src/components/TkxAppBar.tsx +0 -262
- package/src/components/TkxAutocomplete.tsx +0 -455
- package/src/components/TkxAvatar.tsx +0 -103
- package/src/components/TkxBadge.tsx +0 -75
- package/src/components/TkxBottomNav.tsx +0 -241
- package/src/components/TkxBreadcrumb.tsx +0 -324
- package/src/components/TkxButton.tsx +0 -155
- package/src/components/TkxCard.tsx +0 -96
- package/src/components/TkxCarousel.tsx +0 -554
- package/src/components/TkxCascader.tsx +0 -278
- package/src/components/TkxChat.tsx +0 -356
- package/src/components/TkxCheckbox.tsx +0 -220
- package/src/components/TkxClock.tsx +0 -603
- package/src/components/TkxColorPicker.tsx +0 -635
- package/src/components/TkxCommand.tsx +0 -646
- package/src/components/TkxConfigProvider.tsx +0 -460
- package/src/components/TkxDataGrid.tsx +0 -941
- package/src/components/TkxDatePicker.tsx +0 -1625
- package/src/components/TkxDivider.tsx +0 -51
- package/src/components/TkxDrawer.tsx +0 -236
- package/src/components/TkxDropdown.tsx +0 -804
- package/src/components/TkxEmpty.tsx +0 -221
- package/src/components/TkxFileUpload.tsx +0 -373
- package/src/components/TkxForm.tsx +0 -683
- package/src/components/TkxIcon.tsx +0 -685
- package/src/components/TkxImage.tsx +0 -279
- package/src/components/TkxInput.tsx +0 -103
- package/src/components/TkxLayout.tsx +0 -649
- package/src/components/TkxList.tsx +0 -244
- package/src/components/TkxLiveFeed.tsx +0 -331
- package/src/components/TkxLiveLog.tsx +0 -472
- package/src/components/TkxLiveMetrics.tsx +0 -315
- package/src/components/TkxLogo.tsx +0 -299
- package/src/components/TkxMarkdown.tsx +0 -855
- package/src/components/TkxMasonry.tsx +0 -178
- package/src/components/TkxMentions.tsx +0 -212
- package/src/components/TkxMenu.tsx +0 -1044
- package/src/components/TkxModal.tsx +0 -122
- package/src/components/TkxNumberInput.tsx +0 -410
- package/src/components/TkxOTP.tsx +0 -297
- package/src/components/TkxPagination.tsx +0 -390
- package/src/components/TkxPlayground.tsx +0 -845
- package/src/components/TkxPopover.tsx +0 -297
- package/src/components/TkxProgress.tsx +0 -114
- package/src/components/TkxQRCode.tsx +0 -176
- package/src/components/TkxQuantumForm.tsx +0 -594
- package/src/components/TkxRadio.tsx +0 -286
- package/src/components/TkxRating.tsx +0 -288
- package/src/components/TkxRealTimeChart.tsx +0 -383
- package/src/components/TkxResult.tsx +0 -130
- package/src/components/TkxRichTextDisplay.tsx +0 -396
- package/src/components/TkxSegmented.tsx +0 -171
- package/src/components/TkxSelect.tsx +0 -1130
- package/src/components/TkxSkeleton.tsx +0 -107
- package/src/components/TkxSlider.tsx +0 -495
- package/src/components/TkxSnackbar.tsx +0 -316
- package/src/components/TkxSpeedDial.tsx +0 -397
- package/src/components/TkxSpin.tsx +0 -263
- package/src/components/TkxStatistic.tsx +0 -263
- package/src/components/TkxStepper.tsx +0 -487
- package/src/components/TkxTable.tsx +0 -424
- package/src/components/TkxTabs.tsx +0 -126
- package/src/components/TkxTag.tsx +0 -321
- package/src/components/TkxThemeBuilder.tsx +0 -687
- package/src/components/TkxTimeline.tsx +0 -305
- package/src/components/TkxToast.tsx +0 -287
- package/src/components/TkxToggle.tsx +0 -95
- package/src/components/TkxToolbar.tsx +0 -262
- package/src/components/TkxTooltip.tsx +0 -85
- package/src/components/TkxTour.tsx +0 -241
- package/src/components/TkxTransferList.tsx +0 -489
- package/src/components/TkxTreeView.tsx +0 -423
- package/src/components/TkxTypography.tsx +0 -267
- package/src/components/TkxVideoPlayer.tsx +0 -1015
- package/src/components/TkxWatermark.tsx +0 -145
- package/src/components/index.ts +0 -80
- package/src/engine/css.ts +0 -126
- package/src/engine/index.ts +0 -12
- package/src/engine/quantum-ai.ts +0 -1045
- package/src/engine/quantum.ts +0 -207
- package/src/engine/security.ts +0 -232
- package/src/engine/tkx.ts +0 -1084
- package/src/engine/wcag.ts +0 -276
- package/src/headless/index.ts +0 -52
- package/src/headless/useControllable.ts +0 -42
- package/src/headless/useDebounce.ts +0 -37
- package/src/headless/useDisclosure.ts +0 -30
- package/src/headless/useFormState.ts +0 -113
- package/src/headless/useInfiniteQuery.ts +0 -155
- package/src/headless/useIntersectionObserver.ts +0 -53
- package/src/headless/useListSelection.ts +0 -103
- package/src/headless/useLocalStorage.ts +0 -48
- package/src/headless/useMediaQuery.ts +0 -39
- package/src/headless/useRovingTabIndex.ts +0 -86
- package/src/headless/useSSE.ts +0 -167
- package/src/headless/useThrottle.ts +0 -48
- package/src/headless/useWebSocket.ts +0 -231
- package/src/hooks/index.ts +0 -122
- package/src/i18n/I18nProvider.tsx +0 -36
- package/src/i18n/index.ts +0 -877
- package/src/quantum/index.ts +0 -39
- package/src/realtime/index.ts +0 -21
- package/src/styles/global.css +0 -167
- package/src/themes/index.ts +0 -294
package/dist/realtime.cjs
CHANGED
|
@@ -1,23 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./themes-CMq2vWXj.cjs`),t=require(`./tkx-BoP5V5zy.cjs`);let n=require(`react`);var r=64,i=5,a=!1;function o(){if(a||typeof document>`u`)return;a=!0;let e=document.createElement(`style`);e.id=`tkx-live-feed-styles`,e.textContent=`@keyframes tkx-feed-slide-in {
|
|
2
|
-
from { transform: translateY(-20px); opacity: 0; }
|
|
3
|
-
to { transform: translateY(0); opacity: 1; }
|
|
4
|
-
}
|
|
5
|
-
.tkx-feed-item-new {
|
|
6
|
-
animation: tkx-feed-slide-in 0.25s ease-out both;
|
|
7
|
-
}`,document.head.appendChild(e)}function s(e){let t=Date.now()-e;return t<1e4?`just now`:t<6e4?`${Math.floor(t/1e3)}s ago`:t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}function c(e,t){switch(e){case`info`:return t.info;case`success`:return t.success;case`warning`:return t.warning;case`error`:return t.danger;default:return t.border}}function l(e){return e?e.split(` `).map(e=>e[0]??``).slice(0,2).join(``).toUpperCase():`?`}function u({item:e,isNew:i,showTimestamps:a,onItemClick:o,renderItem:u,theme:d,style:f}){let p=c(e.type,d);return u?(0,n.createElement)(`div`,{style:f,className:i?`tkx-feed-item-new`:void 0},u(e)):(0,n.createElement)(`div`,{style:{...f,display:`flex`,alignItems:`center`,gap:10,padding:`0 12px`,borderLeft:`3px solid ${p}`,cursor:o?`pointer`:`default`,boxSizing:`border-box`,height:r,background:d.surface,transition:`background 0.15s`},className:i?`tkx-feed-item-new`:void 0,onClick:o?()=>o(e):void 0,role:o?`button`:void 0,tabIndex:o?0:void 0,onKeyDown:o?t=>{(t.key===`Enter`||t.key===` `)&&o(e)}:void 0},(0,n.createElement)(`div`,{style:{width:36,height:36,borderRadius:`50%`,background:p,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:13,fontWeight:700,color:d.bg,flexShrink:0,overflow:`hidden`}},e.avatar?(0,n.createElement)(`img`,{src:e.avatar,alt:e.author??``,style:{width:`100%`,height:`100%`,objectFit:`cover`}}):l(e.author)),(0,n.createElement)(`div`,{style:{flex:1,minWidth:0}},(0,n.createElement)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,marginBottom:2}},e.author&&(0,n.createElement)(`span`,{style:{fontWeight:600,fontSize:13,color:d.text}},t.m(e.author)),e.meta&&(0,n.createElement)(`span`,{style:{fontSize:11,color:d.textMuted,background:d.surfaceAlt,borderRadius:4,padding:`1px 5px`}},t.m(e.meta))),(0,n.createElement)(`div`,{style:{fontSize:13,color:d.text,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},t.m(e.content))),a&&(0,n.createElement)(`div`,{style:{fontSize:11,color:d.textMuted,flexShrink:0}},s(e.timestamp)))}function d({items:a,maxItems:s=100,height:c=400,autoScroll:l=!0,showTimestamps:d=!0,onItemClick:f,emptyMessage:p=`No activity yet.`,pauseOnHover:m=!0,renderItem:h}){let g=e.f();o();let _=(0,n.useRef)(null),[v,y]=(0,n.useState)(0),[b,x]=(0,n.useState)(!1),[S,C]=(0,n.useState)(new Set),w=(0,n.useRef)([]),T=(0,n.useMemo)(()=>a.slice(-s),[a,s]),E=typeof c==`number`?c:400,D=T.length*r;(0,n.useEffect)(()=>{let e=new Set(w.current.map(e=>e.id)),t=T.filter(t=>!e.has(t.id)).map(e=>e.id);if(t.length>0){C(e=>{let n=new Set(e);return t.forEach(e=>n.add(e)),n});let e=window.setTimeout(()=>{C(e=>{let n=new Set(e);return t.forEach(e=>n.delete(e)),n})},400);return()=>clearTimeout(e)}},[T]),(0,n.useEffect)(()=>{w.current=T},[T]);let O=l&&!(m&&b);(0,n.useEffect)(()=>{if(!O||!_.current)return;let e=_.current;(e.scrollHeight-e.scrollTop-e.clientHeight<r*3||T.length<=5)&&(e.scrollTop=e.scrollHeight)},[T.length,O]);let k=(0,n.useCallback)(()=>{_.current&&y(_.current.scrollTop)},[]),A=Math.max(0,Math.floor(v/r)-i),j=Math.min(T.length-1,Math.ceil((v+E)/r)+i),M={position:`relative`,overflow:`auto`,height:typeof c==`number`?`${c}px`:c,background:g.bg,border:`1px solid ${g.border}`,borderRadius:8,boxSizing:`border-box`},N={position:`relative`,height:D,minHeight:`100%`};if(T.length===0)return(0,n.createElement)(`div`,{style:{...M,display:`flex`,alignItems:`center`,justifyContent:`center`}},(0,n.createElement)(`span`,{style:{color:g.textMuted,fontSize:14}},t.m(p)));let P=[];for(let e=A;e<=j;e++){let t=T[e];t&&P.push((0,n.createElement)(u,{key:t.id,item:t,isNew:S.has(t.id),showTimestamps:d,onItemClick:f,renderItem:h,theme:g,style:{position:`absolute`,top:e*r,left:0,right:0}}))}return(0,n.createElement)(`div`,{ref:_,style:M,onScroll:k,onMouseEnter:m?()=>x(!0):void 0,onMouseLeave:m?()=>x(!1):void 0,"aria-label":`Live feed`,role:`feed`},(0,n.createElement)(`div`,{style:N},...P))}var f=!1;function p(){if(f||typeof document>`u`)return;f=!0;let e=document.createElement(`style`);e.id=`tkx-live-metrics-styles`,e.textContent=`@keyframes tkx-metric-pulse {
|
|
8
|
-
0% { opacity: 1; }
|
|
9
|
-
40% { opacity: 0.4; }
|
|
10
|
-
100% { opacity: 1; }
|
|
11
|
-
}
|
|
12
|
-
@keyframes tkx-metric-shimmer {
|
|
13
|
-
0% { background-position: -200% 0; }
|
|
14
|
-
100% { background-position: 200% 0; }
|
|
15
|
-
}
|
|
16
|
-
.tkx-metric-shimmer {
|
|
17
|
-
animation: tkx-metric-shimmer 0.6s ease-in-out;
|
|
18
|
-
}
|
|
19
|
-
@media (prefers-reduced-motion: reduce) {
|
|
20
|
-
.tkx-metric-shimmer { animation: none; }
|
|
21
|
-
.tkx-metric-pulse { animation: none; }
|
|
22
|
-
}`,document.head.appendChild(e)}function m(e,t){if(typeof e==`string`)return e;let n=e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(Number.isInteger(e)?e:e.toFixed(2));return t?`${n}${t}`:n}function h(e,t){switch(e){case`warning`:return t.warning;case`critical`:return t.danger;default:return t.primary}}function g(){let[e,t]=(0,n.useState)(()=>typeof window<`u`?window.matchMedia(`(prefers-reduced-motion: reduce)`).matches:!1);return(0,n.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),n=e=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function _(e,t,r){let[i,a]=(0,n.useState)(e),o=(0,n.useRef)(e),s=(0,n.useRef)(null),c=(0,n.useRef)(null),l=g();return(0,n.useEffect)(()=>{if(!r||l){a(e),o.current=e;return}let n=o.current;if(n===e)return;s.current=null;let i=r=>{s.current===null&&(s.current=r);let l=r-s.current,u=Math.min(l/t,1),d=1-(1-u)**3;a(n+(e-n)*d),u<1?c.current=requestAnimationFrame(i):o.current=e};return c.current=requestAnimationFrame(i),()=>{c.current!==null&&cancelAnimationFrame(c.current)}},[e,t,r,l]),i}function v({data:e,color:t}){if(e.length<2)return null;let r=Math.min(...e),i=Math.max(...e)-r||1,a=e.map((t,n)=>{let a=n/(e.length-1)*80,o=24-(t-r)/i*22-1;return`${a.toFixed(1)},${o.toFixed(1)}`});return(0,n.createElement)(`svg`,{width:80,height:24,viewBox:`0 0 80 24`,"aria-hidden":`true`},(0,n.createElement)(`polyline`,{points:a.join(` `),fill:`none`,stroke:t,strokeWidth:1.5,strokeLinejoin:`round`,strokeLinecap:`round`}))}function y({trend:e,theme:t}){return e===`up`?(0,n.createElement)(`span`,{style:{color:t.success,fontSize:14,fontWeight:700}},`▲`):e===`down`?(0,n.createElement)(`span`,{style:{color:t.danger,fontSize:14,fontWeight:700}},`▼`):(0,n.createElement)(`span`,{style:{color:t.textMuted,fontSize:14}},`→`)}function b({metric:e,animate:r,onMetricClick:i,theme:a}){let o=e.color??h(e.status,a),s=typeof e.value==`number`?e.value:NaN,c=_(isNaN(s)?0:s,600,r&&!isNaN(s)),[l,u]=(0,n.useState)(!1),d=(0,n.useRef)(e.value);(0,n.useEffect)(()=>{if(d.current!==e.value){d.current=e.value,u(!0);let t=window.setTimeout(()=>u(!1),700);return()=>clearTimeout(t)}},[e.value]);let f=e.previousValue!==void 0&&e.previousValue!==s,p={background:a.surface,border:`1px solid ${a.border}`,borderLeft:`4px solid ${o}`,borderRadius:8,padding:`14px 16px`,cursor:i?`pointer`:`default`,position:`relative`,overflow:`hidden`,boxSizing:`border-box`},g=l?{position:`absolute`,inset:0,background:`linear-gradient(90deg, transparent 0%, ${o}22 50%, transparent 100%)`,backgroundSize:`200% 100%`,animation:`tkx-metric-shimmer 0.6s ease-in-out`,pointerEvents:`none`}:{},b=isNaN(s)?t.m(String(e.value)):m(c,e.unit);return(0,n.createElement)(`div`,{style:p,className:l?`tkx-metric-shimmer`:void 0,onClick:i?()=>i(e):void 0,role:i?`button`:void 0,tabIndex:i?0:void 0},l&&(0,n.createElement)(`div`,{style:g}),(0,n.createElement)(`div`,{style:{fontSize:12,color:a.textMuted,marginBottom:6,fontWeight:500,letterSpacing:`0.03em`}},t.m(e.label)),(0,n.createElement)(`div`,{style:{display:`flex`,alignItems:`flex-end`,gap:6,marginBottom:6}},(0,n.createElement)(`span`,{style:{fontSize:28,fontWeight:700,color:a.text,lineHeight:1}},b),e.unit&&isNaN(s)&&(0,n.createElement)(`span`,{style:{fontSize:14,color:a.textMuted,marginBottom:2}},t.m(e.unit))),(e.trend||e.trendValue)&&(0,n.createElement)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,marginBottom:e.sparkline?8:0}},e.trend&&(0,n.createElement)(y,{trend:e.trend,theme:a}),e.trendValue&&(0,n.createElement)(`span`,{style:{fontSize:12,color:a.textMuted}},t.m(e.trendValue))),f&&(0,n.createElement)(`div`,{style:{fontSize:11,color:a.textMuted,marginTop:2}},`was ${m(e.previousValue)}`),e.sparkline&&e.sparkline.length>=2&&(0,n.createElement)(`div`,{style:{marginTop:8}},(0,n.createElement)(v,{data:e.sparkline,color:o})))}function x({metrics:t,columns:r=3,animate:i=!0,onMetricClick:a}){let o=e.f();return p(),(0,n.createElement)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(${r}, minmax(0, 1fr))`,gap:16}},...t.map(e=>(0,n.createElement)(b,{key:e.id,metric:e,animate:i,onMetricClick:a,theme:o})))}function S(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function C(e){return Math.abs(e)>=1e6?`${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}k`:Number.isInteger(e)?String(e):e.toFixed(2)}function w({data:r,maxPoints:i=60,height:a=200,width:o=`100%`,color:s,fill:c=!0,showGrid:l=!0,showLabels:u=!0,showTooltip:d=!0,label:f,unit:p,animate:m=!0,yMin:h,yMax:g}){let _=e.f(),v=s??_.primary,y=(0,n.useRef)(null),[b,x]=(0,n.useState)(600),[w,T]=(0,n.useState)(null),[E,D]=(0,n.useState)(0),O=(0,n.useRef)(r.length);(0,n.useEffect)(()=>{if(!y.current)return;let e=new ResizeObserver(e=>{let t=e[0];t&&x(t.contentRect.width)});return e.observe(y.current),x(y.current.offsetWidth),()=>e.disconnect()},[]);let k=(0,n.useMemo)(()=>r.slice(-i),[r,i]);(0,n.useEffect)(()=>{k.length>O.current&&D(e=>e+1),O.current=k.length},[k.length]);let A=u?48:12,j=f?28:12,M=Math.max(b-A-12,1),N=Math.max(a-j-28,1),P=k.length?Math.min(...k.map(e=>e.value)):0,F=k.length?Math.max(...k.map(e=>e.value)):1,I=F-P||1,L=h===void 0?P-I*.1:h,R=(g===void 0?F+I*.1:g)-L||1;function z(e){return k.length<2?M/2:e/(k.length-1)*M}function B(e){return N-(e-L)/R*N}let V=k.length>=2?k.map((e,t)=>`${t===0?`M`:`L`}${z(t).toFixed(2)},${B(e.value).toFixed(2)}`).join(` `):``,H=V?`${V} L${z(k.length-1).toFixed(2)},${N} L${z(0).toFixed(2)},${N} Z`:``,U=[];for(let e=0;e<=4;e++)U.push(e);let W=U.map(e=>{let t=L+e/4*R;return{y:B(t),text:C(t)}}),G=Math.min(4,k.length),K=G>0?Array.from({length:G},(e,t)=>Math.round(t/Math.max(G-1,1)*(k.length-1))):[],q=(0,n.useCallback)(e=>{if(!d||k.length===0)return;let t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left-A,r=0,i=1/0;k.forEach((e,t)=>{let a=Math.abs(z(t)-n);a<i&&(i=a,r=t)});let a=k[r];a&&T({x:z(r)+A,y:B(a.value)+j,point:a})},[k,d,A,j]),J=(0,n.useCallback)(()=>T(null),[]),Y=b,X=a,Z=`tkx-chart-clip-${E}`;return(0,n.createElement)(`div`,{ref:y,style:{position:`relative`,width:typeof o==`number`?`${o}px`:o,background:_.surface,border:`1px solid ${_.border}`,borderRadius:8,overflow:`hidden`,boxSizing:`border-box`}},(0,n.createElement)(`svg`,{width:Y,height:X,viewBox:`0 0 ${Y} ${X}`,onMouseMove:q,onMouseLeave:J,style:{display:`block`,userSelect:`none`},"aria-label":f?t.m(f):`Real-time chart`},m&&k.length>=2&&(0,n.createElement)(`defs`,null,(0,n.createElement)(`clipPath`,{id:Z},(0,n.createElement)(`rect`,{x:0,y:0,width:M,height:X},(0,n.createElement)(`animate`,{attributeName:`width`,from:Math.max(0,M-M/Math.max(k.length-1,1)),to:M,dur:`0.3s`,fill:`freeze`})))),f&&(0,n.createElement)(`text`,{x:A,y:18,fill:_.textMuted,fontSize:12,fontWeight:500},t.m(f)),l&&U.map(e=>{let t=B(L+e/4*R)+j;return(0,n.createElement)(`line`,{key:`grid-${e}`,x1:A,y1:t,x2:A+M,y2:t,stroke:_.border,strokeWidth:1,strokeDasharray:`4 4`})}),u&&W.map((e,t)=>(0,n.createElement)(`text`,{key:`yl-${t}`,x:A-4,y:e.y+j+4,fill:_.textMuted,fontSize:10,textAnchor:`end`},e.text)),p&&(0,n.createElement)(`text`,{x:4,y:j+10,fill:_.textMuted,fontSize:9},t.m(p)),c&&H&&(0,n.createElement)(`path`,{d:H,fill:`${v}22`,clipPath:m?`url(#${Z})`:void 0,transform:`translate(${A}, ${j})`}),V&&(0,n.createElement)(`path`,{d:V,fill:`none`,stroke:v,strokeWidth:2,strokeLinejoin:`round`,strokeLinecap:`round`,clipPath:m?`url(#${Z})`:void 0,transform:`translate(${A}, ${j})`}),K.map(e=>{let t=k[e];return t?(0,n.createElement)(`text`,{key:`xl-${e}`,x:A+z(e),y:X-8,fill:_.textMuted,fontSize:9,textAnchor:`middle`},S(t.timestamp)):null}),w&&(0,n.createElement)(`line`,{x1:w.x,y1:j,x2:w.x,y2:j+N,stroke:v,strokeWidth:1,strokeDasharray:`3 3`,opacity:.6}),w&&(0,n.createElement)(`circle`,{cx:w.x,cy:w.y,r:4,fill:v,stroke:_.surface,strokeWidth:2}),w&&(()=>{let e=Math.min(w.x+8,Y-100),t=Math.max(w.y-36,4),r=`${C(w.point.value)}${p||``}`,i=S(w.point.timestamp);return(0,n.createElement)(`g`,null,(0,n.createElement)(`rect`,{x:e-4,y:t-2,width:90,height:34,rx:4,fill:_.surfaceAlt,stroke:_.border,strokeWidth:1}),(0,n.createElement)(`text`,{x:e,y:t+11,fill:_.text,fontSize:12,fontWeight:700},r),(0,n.createElement)(`text`,{x:e,y:t+26,fill:_.textMuted,fontSize:10},i))})()))}var T=28,E=8,D={debug:0,info:1,warn:2,error:3,fatal:4},O=!1;function k(){if(O||typeof document>`u`)return;O=!0;let e=document.createElement(`style`);e.id=`tkx-live-log-styles`,e.textContent=`.tkx-log-row:hover { filter: brightness(1.12); }
|
|
23
|
-
.tkx-log-highlight { background: #ffbe0b55; border-radius: 2px; padding: 0 1px; }`,document.head.appendChild(e)}function A(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}.${String(t.getMilliseconds()).padStart(3,`0`)}`}function j(e,t){switch(e){case`debug`:return t.textMuted;case`info`:return t.info;case`warn`:return t.warning;case`error`:return t.danger;case`fatal`:return t.danger;default:return t.textMuted}}function M(e,t){return e===`fatal`?`${t.danger}22`:`transparent`}function N(e){return`[${e.toUpperCase().padEnd(5)}]`}function P(e,r){if(!r)return[e];let i=t.m(e),a=t.m(r);if(!a)return[i];try{let e=RegExp(`(${a.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)})`,`gi`);return i.split(e).map((t,r)=>e.test(t)?(0,n.createElement)(`mark`,{key:r,className:`tkx-log-highlight`},t):t)}catch{return[i]}}function F({entry:e,showLevel:r,showTimestamp:i,showSource:a,searchQuery:o,monospace:s,isExpanded:c,onToggle:l,onEntryClick:u,theme:d,style:f}){let p=j(e.level,d),m=M(e.level,d),h=e.metadata&&Object.keys(e.metadata).length>0,g={...f,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,fontSize:12,fontFamily:s?`"JetBrains Mono", "Fira Mono", Consolas, monospace`:`inherit`,cursor:h||u?`pointer`:`default`,background:m,boxSizing:`border-box`,height:T,overflow:`hidden`,whiteSpace:`nowrap`,borderBottom:`1px solid ${d.border}22`};return(0,n.createElement)(`div`,{style:g,className:`tkx-log-row`,onClick:()=>{h&&l(),u&&u(e)},role:h?`button`:void 0,tabIndex:h?0:void 0,onKeyDown:h?e=>{(e.key===`Enter`||e.key===` `)&&l()}:void 0,"aria-expanded":h?c:void 0},i&&(0,n.createElement)(`span`,{style:{color:d.textMuted,flexShrink:0,minWidth:84}},A(e.timestamp)),r&&(0,n.createElement)(`span`,{style:{color:p,flexShrink:0,fontWeight:e.level===`fatal`?700:500,minWidth:56}},N(e.level)),a&&e.source&&(0,n.createElement)(`span`,{style:{background:d.surfaceAlt,border:`1px solid ${d.border}`,borderRadius:10,padding:`0 5px`,fontSize:10,color:d.textMuted,flexShrink:0,maxWidth:80,overflow:`hidden`,textOverflow:`ellipsis`}},t.m(e.source)),(0,n.createElement)(`span`,{style:{flex:1,color:d.text,overflow:`hidden`,textOverflow:`ellipsis`}},...P(e.message,o)),h&&(0,n.createElement)(`span`,{style:{color:d.textMuted,fontSize:10,flexShrink:0}},c?`▲`:`▼`))}function I({metadata:e,theme:r,style:i}){return(0,n.createElement)(`div`,{style:{...i,background:r.surfaceAlt,borderBottom:`1px solid ${r.border}`,padding:`6px 10px 6px 56px`,display:`flex`,flexWrap:`wrap`,gap:6,boxSizing:`border-box`}},...Object.entries(e).map(([e,i])=>(0,n.createElement)(`span`,{key:e,style:{fontSize:11,fontFamily:`monospace`,color:r.textMuted,background:r.surface,border:`1px solid ${r.border}`,borderRadius:4,padding:`1px 6px`}},(0,n.createElement)(`span`,{style:{color:r.info}},`${t.m(e)}: `),t.m(String(i)))))}function L({entries:t,maxEntries:r=500,height:i=400,autoScroll:a=!0,showLevel:o=!0,showTimestamp:s=!0,showSource:c=!0,filterLevel:l,searchQuery:u=``,monospace:d=!0,onEntryClick:f}){let p=e.f();k();let m=(0,n.useRef)(null),[h,g]=(0,n.useState)(0),[_,v]=(0,n.useState)(new Set),[y,b]=(0,n.useState)(!1),x=(0,n.useRef)(t.length),S=(0,n.useMemo)(()=>{let e=t.slice(-r);if(l!==void 0){let t=D[l];e=e.filter(e=>D[e.level]>=t)}if(u){let t=u.toLowerCase();e=e.filter(e=>e.message.toLowerCase().includes(t)||(e.source??``).toLowerCase().includes(t))}return e},[t,r,l,u]),C=typeof i==`number`?i:400,w=(0,n.useMemo)(()=>{let e=[],t=0;for(let n of S)e.push(t),t+=T+(_.has(n.id)?40:0);return e.push(t),e},[S,_]),O=w[w.length-1]??0;(0,n.useEffect)(()=>{!a||y||S.length!==x.current&&(x.current=S.length,m.current&&(m.current.scrollTop=m.current.scrollHeight))},[S.length,a,y]);let A=(0,n.useCallback)(()=>{if(!m.current)return;let e=m.current;b(!(e.scrollHeight-e.scrollTop-e.clientHeight<T*2)),g(e.scrollTop)},[]),j=(0,n.useCallback)(e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);function M(e){let t=0,n=S.length-1;for(;t<n;){let r=t+n>>1;(w[r+1]??0)<=e?t=r+1:n=r}return Math.max(0,t-E)}function N(e){let t=0,n=S.length-1;for(;t<n;){let r=t+n+1>>1;(w[r]??0)>=e+C?n=r-1:t=r}return Math.min(S.length-1,t+E)}let P=S.length>0?M(h):0,L=S.length>0?N(h):-1,R={position:`relative`,overflow:`auto`,height:typeof i==`number`?`${i}px`:i,background:p.bg,border:`1px solid ${p.border}`,borderRadius:8,boxSizing:`border-box`},z={position:`relative`,height:O,minHeight:`100%`};if(S.length===0)return(0,n.createElement)(`div`,{style:{...R,display:`flex`,alignItems:`center`,justifyContent:`center`}},(0,n.createElement)(`span`,{style:{color:p.textMuted,fontSize:13,fontFamily:`monospace`}},`No log entries.`));let B=[];for(let e=P;e<=L;e++){let t=S[e];if(!t)continue;let r=w[e]??0,i=_.has(t.id);B.push((0,n.createElement)(F,{key:t.id,entry:t,showLevel:o,showTimestamp:s,showSource:c,searchQuery:u,monospace:d,isExpanded:i,onToggle:()=>j(t.id),onEntryClick:f,theme:p,style:{position:`absolute`,top:r,left:0,right:0}})),i&&t.metadata&&Object.keys(t.metadata).length>0&&B.push((0,n.createElement)(I,{key:`${t.id}-meta`,metadata:t.metadata,theme:p,style:{position:`absolute`,top:r+T,left:0,right:0,height:40}}))}return(0,n.createElement)(`div`,{ref:m,style:R,onScroll:A,role:`log`,"aria-live":`polite`,"aria-label":`Log viewer`},(0,n.createElement)(`div`,{style:z},...B))}exports.TkxLiveFeed=d,exports.TkxLiveLog=L,exports.TkxLiveMetrics=x,exports.TkxRealTimeChart=w;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./chunk-DmRB1Blb.js");const e=require("./chunk-DjxOP8W4.js"),t=require("./chunk-LWkKqC8d.js");let n=require("react");var o=!1;function r({item:e,isNew:o,showTimestamps:r,onItemClick:i,renderItem:s,theme:a,style:l}){const c=function(e,t){switch(e){case"info":return t.info;case"success":return t.success;case"warning":return t.warning;case"error":return t.danger;default:return t.border}}(e.type,a);return s?(0,n.createElement)("div",{style:l,className:o?"tkx-feed-item-new":void 0},s(e)):(0,n.createElement)("div",{style:{...l,display:"flex",alignItems:"center",gap:10,padding:"0 12px",borderLeft:`3px solid ${c}`,cursor:i?"pointer":"default",boxSizing:"border-box",height:64,background:a.surface,transition:"background 0.15s"},className:o?"tkx-feed-item-new":void 0,onClick:i?()=>i(e):void 0,role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:i?t=>{"Enter"!==t.key&&" "!==t.key||i(e)}:void 0},(0,n.createElement)("div",{style:{width:36,height:36,borderRadius:"50%",background:c,display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700,color:a.bg,flexShrink:0,overflow:"hidden"}},e.avatar?(0,n.createElement)("img",{src:e.avatar,alt:e.author??"",style:{width:"100%",height:"100%",objectFit:"cover"}}):(d=e.author)?d.split(" ").map(e=>e[0]??"").slice(0,2).join("").toUpperCase():"?"),(0,n.createElement)("div",{style:{flex:1,minWidth:0}},(0,n.createElement)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:2}},e.author&&(0,n.createElement)("span",{style:{fontWeight:600,fontSize:13,color:a.text}},t.sanitizeString(e.author)),e.meta&&(0,n.createElement)("span",{style:{fontSize:11,color:a.textMuted,background:a.surfaceAlt,borderRadius:4,padding:"1px 5px"}},t.sanitizeString(e.meta))),(0,n.createElement)("div",{style:{fontSize:13,color:a.text,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},t.sanitizeString(e.content))),r&&(0,n.createElement)("div",{style:{fontSize:11,color:a.textMuted,flexShrink:0}},function(e){const t=Date.now()-e;return t<1e4?"just now":t<6e4?`${Math.floor(t/1e3)}s ago`:t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}(e.timestamp)));var d}var i=!1;function s(e,t){if("string"==typeof e)return e;const n=e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(Number.isInteger(e)?e:e.toFixed(2));return t?`${n}${t}`:n}function a({data:e,color:t}){if(e.length<2)return null;const o=Math.min(...e),r=Math.max(...e)-o||1,i=e.map((t,n)=>{const i=n/(e.length-1)*80,s=24-(t-o)/r*22-1;return`${i.toFixed(1)},${s.toFixed(1)}`});return(0,n.createElement)("svg",{width:80,height:24,viewBox:"0 0 80 24","aria-hidden":"true"},(0,n.createElement)("polyline",{points:i.join(" "),fill:"none",stroke:t,strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"}))}function l({trend:e,theme:t}){return"up"===e?(0,n.createElement)("span",{style:{color:t.success,fontSize:14,fontWeight:700}},"▲"):"down"===e?(0,n.createElement)("span",{style:{color:t.danger,fontSize:14,fontWeight:700}},"▼"):(0,n.createElement)("span",{style:{color:t.textMuted,fontSize:14}},"→")}function c({metric:e,animate:o,onMetricClick:r,theme:i}){const c=e.color??function(e,t){switch(e){case"warning":return t.warning;case"critical":return t.danger;default:return t.primary}}(e.status,i),d="number"==typeof e.value?e.value:NaN,u=function(e,t,o){const[r,i]=(0,n.useState)(e),s=(0,n.useRef)(e),a=(0,n.useRef)(null),l=(0,n.useRef)(null),c=function(){const[e,t]=(0,n.useState)(()=>"undefined"!=typeof window&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return(0,n.useEffect)(()=>{if("undefined"==typeof window)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)"),n=e=>t(e.matches);return e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[]),e}();return(0,n.useEffect)(()=>{if(!o||c)return i(e),void(s.current=e);const t=s.current;if(t===e)return;a.current=null;const n=o=>{null===a.current&&(a.current=o);const r=o-a.current,c=Math.min(r/600,1),d=1-Math.pow(1-c,3);i(t+(e-t)*d),c<1?l.current=requestAnimationFrame(n):s.current=e};return l.current=requestAnimationFrame(n),()=>{null!==l.current&&cancelAnimationFrame(l.current)}},[e,600,o,c]),r}(isNaN(d)?0:d,0,o&&!isNaN(d)),[f,h]=(0,n.useState)(!1),m=(0,n.useRef)(e.value);(0,n.useEffect)(()=>{if(m.current!==e.value){m.current=e.value,h(!0);const t=window.setTimeout(()=>h(!1),700);return()=>clearTimeout(t)}},[e.value]);const p=void 0!==e.previousValue&&e.previousValue!==d,g={background:i.surface,border:`1px solid ${i.border}`,borderLeft:`4px solid ${c}`,borderRadius:8,padding:"14px 16px",cursor:r?"pointer":"default",position:"relative",overflow:"hidden",boxSizing:"border-box"},y=f?{position:"absolute",inset:0,background:`linear-gradient(90deg, transparent 0%, ${c}22 50%, transparent 100%)`,backgroundSize:"200% 100%",animation:"tkx-metric-shimmer 0.6s ease-in-out",pointerEvents:"none"}:{},x=isNaN(d)?t.sanitizeString(String(e.value)):s(u,e.unit);return(0,n.createElement)("div",{style:g,className:f?"tkx-metric-shimmer":void 0,onClick:r?()=>r(e):void 0,role:r?"button":void 0,tabIndex:r?0:void 0},f&&(0,n.createElement)("div",{style:y}),(0,n.createElement)("div",{style:{fontSize:12,color:i.textMuted,marginBottom:6,fontWeight:500,letterSpacing:"0.03em"}},t.sanitizeString(e.label)),(0,n.createElement)("div",{style:{display:"flex",alignItems:"flex-end",gap:6,marginBottom:6}},(0,n.createElement)("span",{style:{fontSize:28,fontWeight:700,color:i.text,lineHeight:1}},x),e.unit&&isNaN(d)&&(0,n.createElement)("span",{style:{fontSize:14,color:i.textMuted,marginBottom:2}},t.sanitizeString(e.unit))),(e.trend||e.trendValue)&&(0,n.createElement)("div",{style:{display:"flex",alignItems:"center",gap:4,marginBottom:e.sparkline?8:0}},e.trend&&(0,n.createElement)(l,{trend:e.trend,theme:i}),e.trendValue&&(0,n.createElement)("span",{style:{fontSize:12,color:i.textMuted}},t.sanitizeString(e.trendValue))),p&&(0,n.createElement)("div",{style:{fontSize:11,color:i.textMuted,marginTop:2}},`was ${s(e.previousValue)}`),e.sparkline&&e.sparkline.length>=2&&(0,n.createElement)("div",{style:{marginTop:8}},(0,n.createElement)(a,{data:e.sparkline,color:c})))}function d(e){const t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`}function u(e){return Math.abs(e)>=1e6?`${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}k`:Number.isInteger(e)?String(e):e.toFixed(2)}var f={debug:0,info:1,warn:2,error:3,fatal:4},h=!1;function m({entry:e,showLevel:o,showTimestamp:r,showSource:i,searchQuery:s,monospace:a,isExpanded:l,onToggle:c,onEntryClick:d,theme:u,style:f}){const h=function(e,t){switch(e){case"debug":default:return t.textMuted;case"info":return t.info;case"warn":return t.warning;case"error":case"fatal":return t.danger}}(e.level,u),m=function(e,t){return"fatal"===e?`${t.danger}22`:"transparent"}(e.level,u),p=e.metadata&&Object.keys(e.metadata).length>0,g={...f,display:"flex",alignItems:"center",gap:6,padding:"0 10px",fontSize:12,fontFamily:a?'"JetBrains Mono", "Fira Mono", Consolas, monospace':"inherit",cursor:p||d?"pointer":"default",background:m,boxSizing:"border-box",height:28,overflow:"hidden",whiteSpace:"nowrap",borderBottom:`1px solid ${u.border}22`};return(0,n.createElement)("div",{style:g,className:"tkx-log-row",onClick:()=>{p&&c(),d&&d(e)},role:p?"button":void 0,tabIndex:p?0:void 0,onKeyDown:p?e=>{"Enter"!==e.key&&" "!==e.key||c()}:void 0,"aria-expanded":p?l:void 0},r&&(0,n.createElement)("span",{style:{color:u.textMuted,flexShrink:0,minWidth:84}},function(e){const t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}.${String(t.getMilliseconds()).padStart(3,"0")}`}(e.timestamp)),o&&(0,n.createElement)("span",{style:{color:h,flexShrink:0,fontWeight:"fatal"===e.level?700:500,minWidth:56}},`[${e.level.toUpperCase().padEnd(5)}]`),i&&e.source&&(0,n.createElement)("span",{style:{background:u.surfaceAlt,border:`1px solid ${u.border}`,borderRadius:10,padding:"0 5px",fontSize:10,color:u.textMuted,flexShrink:0,maxWidth:80,overflow:"hidden",textOverflow:"ellipsis"}},t.sanitizeString(e.source)),(0,n.createElement)("span",{style:{flex:1,color:u.text,overflow:"hidden",textOverflow:"ellipsis"}},...function(e,o){if(!o)return[e];const r=t.sanitizeString(e),i=t.sanitizeString(o);if(!i)return[r];try{const e=new RegExp(`(${i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi");return r.split(e).map((t,o)=>e.test(t)?(0,n.createElement)("mark",{key:o,className:"tkx-log-highlight"},t):t)}catch{return[r]}}(e.message,s)),p&&(0,n.createElement)("span",{style:{color:u.textMuted,fontSize:10,flexShrink:0}},l?"▲":"▼"))}function p({metadata:e,theme:o,style:r}){return(0,n.createElement)("div",{style:{...r,background:o.surfaceAlt,borderBottom:`1px solid ${o.border}`,padding:"6px 10px 6px 56px",display:"flex",flexWrap:"wrap",gap:6,boxSizing:"border-box"}},...Object.entries(e).map(([e,r])=>(0,n.createElement)("span",{key:e,style:{fontSize:11,fontFamily:"monospace",color:o.textMuted,background:o.surface,border:`1px solid ${o.border}`,borderRadius:4,padding:"1px 6px"}},(0,n.createElement)("span",{style:{color:o.info}},`${t.sanitizeString(e)}: `),t.sanitizeString(String(r)))))}exports.TkxLiveFeed=function({items:i,maxItems:s=100,height:a=400,autoScroll:l=!0,showTimestamps:c=!0,onItemClick:d,emptyMessage:u="No activity yet.",pauseOnHover:f=!0,renderItem:h}){const m=e.useTheme();!function(){if(o||"undefined"==typeof document)return;o=!0;const e=document.createElement("style");e.id="tkx-live-feed-styles",e.textContent="\n@keyframes tkx-feed-slide-in {\n from { transform: translateY(-20px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n}\n.tkx-feed-item-new {\n animation: tkx-feed-slide-in 0.25s ease-out both;\n}\n ".trim(),document.head.appendChild(e)}();const p=(0,n.useRef)(null),[g,y]=(0,n.useState)(0),[x,b]=(0,n.useState)(!1),[k,v]=(0,n.useState)(new Set),w=(0,n.useRef)([]),S=(0,n.useMemo)(()=>i.slice(-s),[i,s]),$="number"==typeof a?a:400,M=64*S.length;(0,n.useEffect)(()=>{const e=new Set(w.current.map(e=>e.id)),t=S.filter(t=>!e.has(t.id)).map(e=>e.id);if(t.length>0){v(e=>{const n=new Set(e);return t.forEach(e=>n.add(e)),n});const e=window.setTimeout(()=>{v(e=>{const n=new Set(e);return t.forEach(e=>n.delete(e)),n})},400);return()=>clearTimeout(e)}},[S]),(0,n.useEffect)(()=>{w.current=S},[S]);const z=l&&!(f&&x);(0,n.useEffect)(()=>{if(!z||!p.current)return;const e=p.current;(e.scrollHeight-e.scrollTop-e.clientHeight<192||S.length<=5)&&(e.scrollTop=e.scrollHeight)},[S.length,z]);const N=(0,n.useCallback)(()=>{p.current&&y(p.current.scrollTop)},[]),W=Math.max(0,Math.floor(g/64)-5),I=Math.min(S.length-1,Math.ceil((g+$)/64)+5),L={position:"relative",overflow:"auto",height:"number"==typeof a?`${a}px`:a,background:m.bg,border:`1px solid ${m.border}`,borderRadius:8,boxSizing:"border-box"},C={position:"relative",height:M,minHeight:"100%"};if(0===S.length)return(0,n.createElement)("div",{style:{...L,display:"flex",alignItems:"center",justifyContent:"center"}},(0,n.createElement)("span",{style:{color:m.textMuted,fontSize:14}},t.sanitizeString(u)));const j=[];for(let e=W;e<=I;e++){const t=S[e];t&&j.push((0,n.createElement)(r,{key:t.id,item:t,isNew:k.has(t.id),showTimestamps:c,onItemClick:d,renderItem:h,theme:m,style:{position:"absolute",top:64*e,left:0,right:0}}))}return(0,n.createElement)("div",{ref:p,style:L,onScroll:N,onMouseEnter:f?()=>b(!0):void 0,onMouseLeave:f?()=>b(!1):void 0,"aria-label":"Live feed",role:"feed"},(0,n.createElement)("div",{style:C},...j))},exports.TkxLiveLog=function({entries:t,maxEntries:o=500,height:r=400,autoScroll:i=!0,showLevel:s=!0,showTimestamp:a=!0,showSource:l=!0,filterLevel:c,searchQuery:d="",monospace:u=!0,onEntryClick:g}){const y=e.useTheme();!function(){if(h||"undefined"==typeof document)return;h=!0;const e=document.createElement("style");e.id="tkx-live-log-styles",e.textContent="\n.tkx-log-row:hover { filter: brightness(1.12); }\n.tkx-log-highlight { background: #ffbe0b55; border-radius: 2px; padding: 0 1px; }\n ".trim(),document.head.appendChild(e)}();const x=(0,n.useRef)(null),[b,k]=(0,n.useState)(0),[v,w]=(0,n.useState)(new Set),[S,$]=(0,n.useState)(!1),M=(0,n.useRef)(t.length),z=(0,n.useMemo)(()=>{let e=t.slice(-o);if(void 0!==c){const t=f[c];e=e.filter(e=>f[e.level]>=t)}if(d){const t=d.toLowerCase();e=e.filter(e=>e.message.toLowerCase().includes(t)||(e.source??"").toLowerCase().includes(t))}return e},[t,o,c,d]),N="number"==typeof r?r:400,W=(0,n.useMemo)(()=>{const e=[];let t=0;for(const n of z)e.push(t),t+=28+(v.has(n.id)?40:0);return e.push(t),e},[z,v]),I=W[W.length-1]??0;(0,n.useEffect)(()=>{i&&!S&&z.length!==M.current&&(M.current=z.length,x.current&&(x.current.scrollTop=x.current.scrollHeight))},[z.length,i,S]);const L=(0,n.useCallback)(()=>{if(!x.current)return;const e=x.current;$(!(e.scrollHeight-e.scrollTop-e.clientHeight<56)),k(e.scrollTop)},[]),C=(0,n.useCallback)(e=>{w(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),j=z.length>0?function(e){let t=0,n=z.length-1;for(;t<n;){const o=t+n>>1;(W[o+1]??0)<=e?t=o+1:n=o}return Math.max(0,t-8)}(b):0,T=z.length>0?function(e){let t=0,n=z.length-1;for(;t<n;){const o=t+n+1>>1;(W[o]??0)>=e+N?n=o-1:t=o}return Math.min(z.length-1,t+8)}(b):-1,E={position:"relative",overflow:"auto",height:"number"==typeof r?`${r}px`:r,background:y.bg,border:`1px solid ${y.border}`,borderRadius:8,boxSizing:"border-box"},R={position:"relative",height:I,minHeight:"100%"};if(0===z.length)return(0,n.createElement)("div",{style:{...E,display:"flex",alignItems:"center",justifyContent:"center"}},(0,n.createElement)("span",{style:{color:y.textMuted,fontSize:13,fontFamily:"monospace"}},"No log entries."));const B=[];for(let e=j;e<=T;e++){const t=z[e];if(!t)continue;const o=W[e]??0,r=v.has(t.id);B.push((0,n.createElement)(m,{key:t.id,entry:t,showLevel:s,showTimestamp:a,showSource:l,searchQuery:d,monospace:u,isExpanded:r,onToggle:()=>C(t.id),onEntryClick:g,theme:y,style:{position:"absolute",top:o,left:0,right:0}})),r&&t.metadata&&Object.keys(t.metadata).length>0&&B.push((0,n.createElement)(p,{key:`${t.id}-meta`,metadata:t.metadata,theme:y,style:{position:"absolute",top:o+28,left:0,right:0,height:40}}))}return(0,n.createElement)("div",{ref:x,style:E,onScroll:L,role:"log","aria-live":"polite","aria-label":"Log viewer"},(0,n.createElement)("div",{style:R},...B))},exports.TkxLiveMetrics=function({metrics:t,columns:o=3,animate:r=!0,onMetricClick:s}){const a=e.useTheme();return function(){if(i||"undefined"==typeof document)return;i=!0;const e=document.createElement("style");e.id="tkx-live-metrics-styles",e.textContent="\n@keyframes tkx-metric-pulse {\n 0% { opacity: 1; }\n 40% { opacity: 0.4; }\n 100% { opacity: 1; }\n}\n@keyframes tkx-metric-shimmer {\n 0% { background-position: -200% 0; }\n 100% { background-position: 200% 0; }\n}\n.tkx-metric-shimmer {\n animation: tkx-metric-shimmer 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .tkx-metric-shimmer { animation: none; }\n .tkx-metric-pulse { animation: none; }\n}\n ".trim(),document.head.appendChild(e)}(),(0,n.createElement)("div",{style:{display:"grid",gridTemplateColumns:`repeat(${o}, minmax(0, 1fr))`,gap:16}},...t.map(e=>(0,n.createElement)(c,{key:e.id,metric:e,animate:r,onMetricClick:s,theme:a})))},exports.TkxRealTimeChart=function({data:o,maxPoints:r=60,height:i=200,width:s="100%",color:a,fill:l=!0,showGrid:c=!0,showLabels:f=!0,showTooltip:h=!0,label:m,unit:p,animate:g=!0,yMin:y,yMax:x}){const b=e.useTheme(),k=a??b.primary,v=(0,n.useRef)(null),[w,S]=(0,n.useState)(600),[$,M]=(0,n.useState)(null),[z,N]=(0,n.useState)(0),W=(0,n.useRef)(o.length);(0,n.useEffect)(()=>{if(!v.current)return;const e=new ResizeObserver(e=>{const t=e[0];t&&S(t.contentRect.width)});return e.observe(v.current),S(v.current.offsetWidth),()=>e.disconnect()},[]);const I=(0,n.useMemo)(()=>o.slice(-r),[o,r]);(0,n.useEffect)(()=>{I.length>W.current&&N(e=>e+1),W.current=I.length},[I.length]);const L=f?48:12,C=m?28:12,j=Math.max(w-L-12,1),T=Math.max(i-C-28,1),E=I.length?Math.min(...I.map(e=>e.value)):0,R=I.length?Math.max(...I.map(e=>e.value)):1,B=R-E||1,O=void 0!==y?y:E-.1*B,F=(void 0!==x?x:R+.1*B)-O||1;function D(e){return I.length<2?j/2:e/(I.length-1)*j}function q(e){return T-(e-O)/F*T}const A=I.length>=2?I.map((e,t)=>`${0===t?"M":"L"}${D(t).toFixed(2)},${q(e.value).toFixed(2)}`).join(" "):"",H=A?`${A} L${D(I.length-1).toFixed(2)},${T} L${D(0).toFixed(2)},${T} Z`:"",P=[];for(let e=0;e<=4;e++)P.push(e);const Q=P.map(e=>{const t=O+e/4*F;return{y:q(t),text:u(t)}}),K=Math.min(4,I.length),Y=K>0?Array.from({length:K},(e,t)=>Math.round(t/Math.max(K-1,1)*(I.length-1))):[],G=(0,n.useCallback)(e=>{if(!h||0===I.length)return;const t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left-L;let o=0,r=1/0;I.forEach((e,t)=>{const i=Math.abs(D(t)-n);i<r&&(r=i,o=t)});const i=I[o];i&&M({x:D(o)+L,y:q(i.value)+C,point:i})},[I,h,L,C]),J=(0,n.useCallback)(()=>M(null),[]),Z=w,U=i,V=`tkx-chart-clip-${z}`;return(0,n.createElement)("div",{ref:v,style:{position:"relative",width:"number"==typeof s?`${s}px`:s,background:b.surface,border:`1px solid ${b.border}`,borderRadius:8,overflow:"hidden",boxSizing:"border-box"}},(0,n.createElement)("svg",{width:Z,height:U,viewBox:`0 0 ${Z} ${U}`,onMouseMove:G,onMouseLeave:J,style:{display:"block",userSelect:"none"},"aria-label":m?t.sanitizeString(m):"Real-time chart"},g&&I.length>=2&&(0,n.createElement)("defs",null,(0,n.createElement)("clipPath",{id:V},(0,n.createElement)("rect",{x:0,y:0,width:j,height:U},(0,n.createElement)("animate",{attributeName:"width",from:Math.max(0,j-j/Math.max(I.length-1,1)),to:j,dur:"0.3s",fill:"freeze"})))),m&&(0,n.createElement)("text",{x:L,y:18,fill:b.textMuted,fontSize:12,fontWeight:500},t.sanitizeString(m)),c&&P.map(e=>{const t=q(O+e/4*F)+C;return(0,n.createElement)("line",{key:`grid-${e}`,x1:L,y1:t,x2:L+j,y2:t,stroke:b.border,strokeWidth:1,strokeDasharray:"4 4"})}),f&&Q.map((e,t)=>(0,n.createElement)("text",{key:`yl-${t}`,x:L-4,y:e.y+C+4,fill:b.textMuted,fontSize:10,textAnchor:"end"},e.text)),p&&(0,n.createElement)("text",{x:4,y:C+10,fill:b.textMuted,fontSize:9},t.sanitizeString(p)),l&&H&&(0,n.createElement)("path",{d:H,fill:`${k}22`,clipPath:g?`url(#${V})`:void 0,transform:`translate(${L}, ${C})`}),A&&(0,n.createElement)("path",{d:A,fill:"none",stroke:k,strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",clipPath:g?`url(#${V})`:void 0,transform:`translate(${L}, ${C})`}),Y.map(e=>{const t=I[e];return t?(0,n.createElement)("text",{key:`xl-${e}`,x:L+D(e),y:U-8,fill:b.textMuted,fontSize:9,textAnchor:"middle"},d(t.timestamp)):null}),$&&(0,n.createElement)("line",{x1:$.x,y1:C,x2:$.x,y2:C+T,stroke:k,strokeWidth:1,strokeDasharray:"3 3",opacity:.6}),$&&(0,n.createElement)("circle",{cx:$.x,cy:$.y,r:4,fill:k,stroke:b.surface,strokeWidth:2}),$&&(()=>{const e=Math.min($.x+8,Z-100),t=Math.max($.y-36,4),o=`${u($.point.value)}${p||""}`,r=d($.point.timestamp);return(0,n.createElement)("g",null,(0,n.createElement)("rect",{x:e-4,y:t-2,width:90,height:34,rx:4,fill:b.surfaceAlt,stroke:b.border,strokeWidth:1}),(0,n.createElement)("text",{x:e,y:t+11,fill:b.text,fontSize:12,fontWeight:700},o),(0,n.createElement)("text",{x:e,y:t+26,fill:b.textMuted,fontSize:10},r))})()))};
|