@dynatrace/strato-components 3.5.0 → 3.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/buttons/button/Button.css +15 -15
- package/buttons/button/Button.sty.js +4 -4
- package/buttons/intent-button/IntentButton.css +1 -1
- package/buttons/intent-button/IntentButton.sty.js +1 -1
- package/buttons/notify-button/NotifyButton.css +2 -2
- package/buttons/notify-button/NotifyButton.sty.js +2 -2
- package/charts/annotations-chart/AnnotationsChart.js +9 -1
- package/charts/annotations-chart/components/AnnotationsDisplay.d.ts +1 -0
- package/charts/annotations-chart/constants.js +2 -1
- package/charts/annotations-chart/types/annotations-chart-config-props.d.ts +9 -0
- package/charts/annotations-chart/types/annotations-chart-props.d.ts +8 -0
- package/charts/annotations-chart/utils/annotations-chart-config.js +1 -0
- package/charts/annotations-chart/utils/populate-missing-tooltip-props.d.ts +5 -5
- package/charts/annotations-chart/utils/populate-missing-tooltip-props.js +8 -3
- package/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.css +2 -2
- package/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js +2 -2
- package/charts/core/components/annotations/AnnotationsAtom.css +1 -1
- package/charts/core/components/annotations/AnnotationsAtom.sty.js +1 -1
- package/charts/core/components/annotations/components/AnnotationsRenderer.d.ts +0 -2
- package/charts/core/components/annotations/components/AnnotationsRenderer.js +4 -3
- package/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.css +1 -1
- package/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js +1 -1
- package/charts/core/components/annotations/components/displays/AnnotationsContainer.d.ts +14 -0
- package/charts/core/components/annotations/components/displays/AnnotationsContainer.js +30 -0
- package/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.d.ts +1 -0
- package/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.js +13 -18
- package/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.d.ts +1 -0
- package/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.js +13 -18
- package/charts/core/components/annotations/components/overlays/AnnotationsOverlays.css +1 -1
- package/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js +1 -1
- package/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.css +1 -1
- package/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js +1 -1
- package/charts/core/components/annotations/components/tooltip/AnnotationsCustomizedTooltip.js +2 -1
- package/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.d.ts +20 -0
- package/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.js +145 -0
- package/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.d.ts +24 -0
- package/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js +136 -0
- package/charts/core/components/annotations/components/tooltip/types/annotations-tooltip-props.d.ts +1 -1
- package/charts/core/components/annotations/components/tooltip/utils/prepare-custom-tooltip-data.js +8 -11
- package/charts/core/components/annotations/constants.d.ts +1 -0
- package/charts/core/components/annotations/constants.js +2 -0
- package/charts/core/components/annotations/hooks/useOverlayEvents.js +15 -0
- package/charts/core/components/axes/Axis.css +1 -1
- package/charts/core/components/axes/Axis.sty.js +1 -1
- package/charts/core/components/axes/components/PanningControls/PanningControls.css +16 -16
- package/charts/core/components/axes/components/PanningControls/PanningControls.sty.js +2 -2
- package/charts/core/components/axes/utils/calculate-axis-size.d.ts +1 -1
- package/charts/core/components/axes/utils/calculate-axis-size.js +3 -1
- package/charts/core/components/axes/utils/get-tick-label-props.d.ts +34 -0
- package/charts/core/components/axes/utils/get-tick-label-props.js +47 -1
- package/charts/core/components/axes/utils/tick-formatters.js +9 -1
- package/charts/core/components/chart-grid/ChartGrid.css +3 -3
- package/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
- package/charts/core/components/chart-layout/components/styles.css +15 -15
- package/charts/core/components/chart-layout/components/styles.sty.js +4 -4
- package/charts/core/components/chart-states/ChartState.css +4 -4
- package/charts/core/components/chart-states/ChartState.sty.js +4 -4
- package/charts/core/components/crosshair/components/Magnifier.css +7 -7
- package/charts/core/components/crosshair/components/Magnifier.sty.js +7 -7
- package/charts/core/components/interactions-overlay/InteractionsOverlay.css +5 -5
- package/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js +2 -2
- package/charts/core/components/legend/categorical/ChartLegend.css +1 -1
- package/charts/core/components/legend/categorical/ChartLegend.sty.js +1 -1
- package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.css +3 -3
- package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js +3 -3
- package/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.css +17 -17
- package/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js +6 -6
- package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.css +3 -3
- package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js +1 -1
- package/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.css +8 -8
- package/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js +4 -4
- package/charts/core/components/legend/range/RangeLegend.css +3 -3
- package/charts/core/components/legend/range/RangeLegend.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.css +2 -2
- package/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.css +1 -1
- package/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.css +3 -3
- package/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.css +3 -3
- package/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.css +5 -5
- package/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js +1 -1
- package/charts/core/components/loader-overlay/LoaderOverlay.css +2 -2
- package/charts/core/components/loader-overlay/LoaderOverlay.sty.js +2 -2
- package/charts/core/components/overlay-tooltip/OverlayTooltip.d.ts +3 -0
- package/charts/core/components/overlay-tooltip/OverlayTooltip.js +4 -0
- package/charts/core/components/overlay-tooltip/_to-be-removed/DummyInteractionsOverlay.js +8 -5
- package/charts/core/components/overlay-tooltip/_to-be-removed/_OverlayTooltipWIPStory.js +2 -2
- package/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js +7 -6
- package/charts/core/components/overlay-tooltip/components/Footer.d.ts +13 -0
- package/charts/core/components/overlay-tooltip/components/{TooltipFooter.js → Footer.js} +5 -8
- package/charts/core/components/overlay-tooltip/components/global-actions/Action.js +6 -0
- package/charts/core/components/overlay-tooltip/components/global-actions/GlobalActions.d.ts +2 -2
- package/charts/core/components/overlay-tooltip/components/global-actions/GlobalActions.js +4 -14
- package/charts/core/components/overlay-tooltip/components/global-actions/actions.css +4 -4
- package/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js +2 -2
- package/charts/core/components/overlay-tooltip/components/header/Header.css +6 -6
- package/charts/core/components/overlay-tooltip/components/header/Header.d.ts +1 -0
- package/charts/core/components/overlay-tooltip/components/header/Header.sty.js +6 -6
- package/charts/core/components/overlay-tooltip/components/header/types/header.d.ts +3 -3
- package/charts/core/components/overlay-tooltip/components/series/SeriesItem.js +31 -8
- package/charts/core/components/overlay-tooltip/components/series/SeriesItemContent.d.ts +5 -0
- package/charts/core/components/overlay-tooltip/components/series/SeriesItemContent.js +35 -3
- package/charts/core/components/overlay-tooltip/components/series/SeriesSymbol.js +1 -1
- package/charts/core/components/overlay-tooltip/components/series/hooks/use-series-item-display-state.d.ts +5 -0
- package/charts/core/components/overlay-tooltip/components/series/hooks/use-series-item-display-state.js +58 -6
- package/charts/core/components/overlay-tooltip/components/series/seriesSymbol.css +2 -2
- package/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js +2 -2
- package/charts/core/components/overlay-tooltip/components/series/utils/get-name-text-style.d.ts +1 -1
- package/charts/core/components/overlay-tooltip/components/series/utils/get-name-text-style.js +4 -3
- package/charts/core/components/overlay-tooltip/hooks/useTooltipImperativeHandle.js +3 -11
- package/charts/core/components/overlay-tooltip/overlay.js +8 -8
- package/charts/core/components/overlay-tooltip/tooltip.css +92 -44
- package/charts/core/components/overlay-tooltip/tooltip.sty.d.ts +22 -0
- package/charts/core/components/overlay-tooltip/tooltip.sty.js +46 -34
- package/charts/core/components/overlay-tooltip/types/series.d.ts +2 -0
- package/charts/core/components/overlay-tooltip/types.d.ts +11 -32
- package/charts/core/components/overlay-tooltip/useTooltipActions.d.ts +21 -0
- package/charts/core/components/overlay-tooltip/useTooltipActions.js +85 -0
- package/charts/core/components/overlay-tooltip/useTooltipReducer.d.ts +1 -4
- package/charts/core/components/overlay-tooltip/useTooltipReducer.js +9 -11
- package/charts/core/components/overlay-tooltip/utils/build-content.d.ts +1 -0
- package/charts/core/components/overlay-tooltip/utils/build-content.js +41 -36
- package/charts/core/components/overlay-tooltip/utils/estimate-series-item-size.js +19 -3
- package/charts/core/components/overlays/ChartOverlaysBorder.css +5 -5
- package/charts/core/components/overlays/ChartOverlaysBorder.sty.js +5 -5
- package/charts/core/components/selection-area/SelectionArea.css +9 -9
- package/charts/core/components/selection-area/SelectionArea.sty.js +4 -4
- package/charts/core/components/shape/BubbleShape/BubbleShape.css +5 -5
- package/charts/core/components/shape/BubbleShape/BubbleShape.sty.js +3 -3
- package/charts/core/components/shape/EmojiShape/EmojiShape.css +3 -3
- package/charts/core/components/shape/EmojiShape/EmojiShape.sty.js +1 -1
- package/charts/core/components/shape/IconShape/IconShape.css +3 -3
- package/charts/core/components/shape/IconShape/IconShape.sty.js +1 -1
- package/charts/core/components/shape/styles/DataPointShape.css +8 -8
- package/charts/core/components/shape/styles/DataPointShape.sty.js +4 -4
- package/charts/core/components/shared-chart-interactions/SharedChartInteractions.css +1 -1
- package/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js +1 -1
- package/charts/core/components/single-value-renderer/SingleValueRenderer.css +5 -5
- package/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js +5 -5
- package/charts/core/components/single-value-renderer/components/ContentGrid.css +1 -1
- package/charts/core/components/single-value-renderer/components/ContentGrid.sty.js +1 -1
- package/charts/core/components/single-value-renderer/components/Icon.css +3 -3
- package/charts/core/components/single-value-renderer/components/Icon.sty.js +2 -2
- package/charts/core/components/single-value-renderer/components/Label.css +1 -1
- package/charts/core/components/single-value-renderer/components/Label.sty.js +1 -1
- package/charts/core/components/single-value-renderer/components/SingleValueToolbar.css +1 -1
- package/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js +1 -1
- package/charts/core/components/single-value-renderer/components/Value.css +5 -5
- package/charts/core/components/single-value-renderer/components/Value.sty.js +3 -3
- package/charts/core/components/single-value-renderer/components/trend/Trend.css +3 -3
- package/charts/core/components/single-value-renderer/components/trend/Trend.sty.js +3 -3
- package/charts/core/components/single-value-renderer/components/trend/components/Icon.css +2 -2
- package/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js +1 -1
- package/charts/core/components/single-value-renderer/types/single-value-base-props.d.ts +4 -0
- package/charts/core/components/sparkline-display/Sparkline.css +6 -6
- package/charts/core/components/sparkline-display/Sparkline.sty.js +2 -2
- package/charts/core/components/text-ellipsis/ChartTextEllipsis.css +7 -7
- package/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js +3 -3
- package/charts/core/components/threshold-bar/styles.css +9 -9
- package/charts/core/components/threshold-bar/styles.sty.js +2 -2
- package/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
- package/charts/core/components/toolbar/ChartToolbarRenderer.sty.js +8 -8
- package/charts/core/components/toolbar/components/ChartDataMenu.css +2 -2
- package/charts/core/components/toolbar/components/ChartDataMenu.sty.js +1 -1
- package/charts/core/components/toolbar/components/Control.css +17 -17
- package/charts/core/components/toolbar/components/Control.sty.js +5 -5
- package/charts/core/components/toolbar/components/ToolbarMenu.css +4 -4
- package/charts/core/components/toolbar/components/ToolbarMenu.sty.js +2 -2
- package/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
- package/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js +2 -2
- package/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.css +8 -8
- package/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js +3 -3
- package/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.css +2 -2
- package/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js +1 -1
- package/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.css +1 -1
- package/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js +1 -1
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.css +6 -6
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js +2 -2
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.css +7 -7
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js +6 -6
- package/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.css +1 -1
- package/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
- package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
- package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
- package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
- package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
- package/charts/core/components/tooltip/section-components/atoms/styles.css +3 -3
- package/charts/core/components/tooltip/section-components/atoms/styles.sty.js +3 -3
- package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
- package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
- package/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
- package/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
- package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
- package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
- package/charts/core/components/tooltip-atoms/components/styles.css +4 -4
- package/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
- package/charts/core/components/zoom/ZoomCursors.css +2 -2
- package/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
- package/charts/core/hooks/useOverlayEventHandlers.js +8 -25
- package/charts/core/slots/toolbar/CompactToolbar.d.ts +2 -2
- package/charts/core/slots/toolbar/CompactToolbar.js +2 -2
- package/charts/core/typographyStyles.css +1 -1
- package/charts/core/typographyStyles.sty.js +1 -1
- package/charts/core/utils/adaptively-reduce-horizontal-ticks.d.ts +32 -0
- package/charts/core/utils/adaptively-reduce-horizontal-ticks.js +61 -0
- package/charts/core/utils/extract-behavior-tracking-props.js +1 -1
- package/charts/core/utils/has-horizontal-label-collision.d.ts +29 -0
- package/charts/core/utils/has-horizontal-label-collision.js +75 -0
- package/charts/core/utils/is-feature-enabled.d.ts +1 -0
- package/charts/core/utils/is-feature-enabled.js +2 -1
- package/charts/gantt-chart/GanttChartLine.css +1 -1
- package/charts/gantt-chart/GanttChartLine.sty.js +1 -1
- package/charts/gantt-chart/components/GanttChartLineRenderer.css +1 -1
- package/charts/gantt-chart/components/GanttChartLineRenderer.sty.js +1 -1
- package/charts/gantt-chart/components/tooltip/GanttChartTooltip.css +1 -1
- package/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js +1 -1
- package/charts/gauge/GaugeChart.d.ts +1 -1
- package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.css +1 -1
- package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js +1 -1
- package/charts/gauge/components/GaugeChartTooltip/GaugeOverlayTooltip.js +12 -2
- package/charts/gauge/components/GaugeLabel/GaugeLabel.css +6 -6
- package/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
- package/charts/gauge/components/GaugeLabels.js +3 -4
- package/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.css +3 -3
- package/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js +1 -1
- package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.css +4 -4
- package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js +12 -11
- package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js +3 -3
- package/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.css +2 -2
- package/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js +2 -2
- package/charts/gauge/constants.d.ts +1 -0
- package/charts/gauge/constants.js +2 -0
- package/charts/gauge/contexts/GaugeChartTooltipContext.d.ts +9 -0
- package/charts/gauge/contexts/GaugeChartTooltipContext.js +27 -0
- package/charts/gauge/hooks/useGaugeChartMinMaxLabelsPosition.d.ts +1 -0
- package/charts/gauge/hooks/useGaugeChartMinMaxLabelsPosition.js +12 -1
- package/charts/gauge/providers/GaugeChartProviders.js +11 -3
- package/charts/gauge/slots/Tooltip.d.ts +58 -1
- package/charts/gauge/slots/Tooltip.js +1 -1
- package/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.css +1 -1
- package/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js +1 -1
- package/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.css +1 -1
- package/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js +1 -1
- package/charts/histogram/components/overlays/HistogramOverlays.css +2 -2
- package/charts/histogram/components/overlays/HistogramOverlays.sty.js +2 -2
- package/charts/histogram/types/histogram-props.d.ts +5 -4
- package/charts/honeycomb/HoneycombChart.css +1 -1
- package/charts/honeycomb/HoneycombChart.d.ts +4 -0
- package/charts/honeycomb/HoneycombChart.js +3 -1
- package/charts/honeycomb/HoneycombChart.sty.js +1 -1
- package/charts/honeycomb/components/HiveOverlay.css +1 -1
- package/charts/honeycomb/components/HiveOverlay.sty.js +1 -1
- package/charts/honeycomb/components/canvas/HiveCanvasLayout.css +1 -1
- package/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js +1 -1
- package/charts/honeycomb/components/tooltip/HoneycombOverlayTooltip.js +16 -1
- package/charts/honeycomb/context/honeycomb-custom-tooltip.context.d.ts +2 -0
- package/charts/honeycomb/context/honeycomb-custom-tooltip.context.js +24 -0
- package/charts/honeycomb/hooks/use-honeycomb-custom-tooltip.d.ts +1 -0
- package/charts/{gauge/contexts/GaugeChartTooltipNameContext.js → honeycomb/hooks/use-honeycomb-custom-tooltip.js} +6 -9
- package/charts/honeycomb/providers/honeycomb-configuration.provider.js +2 -1
- package/charts/honeycomb/slots/Tooltip.d.ts +5 -0
- package/charts/{core/components/annotations/components/tooltip/AnnotationsTooltip.sty.js → honeycomb/slots/Tooltip.js} +6 -6
- package/charts/honeycomb/types/honeycomb-config-properties.d.ts +4 -1
- package/charts/honeycomb/types/honeycomb-internal.d.ts +36 -0
- package/charts/honeycomb/utils/build-honeycomb-config.js +2 -1
- package/charts/honeycomb/utils/build-overlay-tooltip-data.js +5 -1
- package/charts/honeycomb/utils/iterate-honeycomb-slots.js +11 -1
- package/charts/index.d.ts +10 -7
- package/charts/index.js +5 -3
- package/charts/meter-bar/multi-meter-bar/MultiMeterBarChart.js +1 -1
- package/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlay.js +1 -1
- package/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.js +34 -8
- package/charts/meter-bar/multi-meter-bar/default.d.ts +1 -1
- package/charts/meter-bar/multi-meter-bar/default.js +1 -1
- package/charts/meter-bar/multi-meter-bar/hooks/useMultiMeterBarChartTooltipHandlers.js +10 -37
- package/charts/meter-bar/multi-meter-bar/types/multi-meter-bar-chart-config.d.ts +2 -2
- package/charts/meter-bar/multi-meter-bar/types/multi-meter-bar-chart-internal.d.ts +5 -3
- package/charts/meter-bar/multi-meter-bar/types/multi-meter-bar-chart.d.ts +39 -0
- package/charts/meter-bar/multi-meter-bar/utils/build-multi-meter-bar-chart-config.js +10 -7
- package/charts/meter-bar/multi-meter-bar/utils/iterate-slots.js +5 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.css +15 -15
- package/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js +10 -10
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.css +2 -2
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-toolbar/MeterBarToolbar.js +3 -3
- package/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.sty.js +1 -1
- package/charts/meter-bar/shared/styles/element-size.css +4 -4
- package/charts/meter-bar/shared/styles/element-size.sty.js +1 -1
- package/charts/meter-bar/shared/styles.css +1 -1
- package/charts/meter-bar/shared/styles.sty.js +1 -1
- package/charts/meter-bar/shared/utils/slot-handlers.d.ts +0 -2
- package/charts/meter-bar/shared/utils/slot-handlers.js +0 -10
- package/charts/meter-bar/single-meter-bar/MeterBarChart.js +1 -1
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlay.js +1 -1
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlayWithTooltip.js +61 -16
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.css +1 -1
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js +1 -1
- package/charts/meter-bar/single-meter-bar/context/MeterBarChartInternalConfigContext.d.ts +1 -1
- package/charts/meter-bar/single-meter-bar/types/default.d.ts +3 -0
- package/charts/meter-bar/single-meter-bar/types/default.js +2 -1
- package/charts/meter-bar/single-meter-bar/types/meter-bar-chart-internal.d.ts +4 -2
- package/charts/meter-bar/single-meter-bar/types/meter-bar-chart.d.ts +37 -0
- package/charts/meter-bar/single-meter-bar/utils/build-meter-bar-chart-config.js +5 -1
- package/charts/meter-bar/single-meter-bar/utils/iterate-slots.js +5 -1
- package/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.css +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.css +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js +1 -1
- package/charts/pie/components/PieChartOverlays/PieChartOverlays.css +1 -1
- package/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js +1 -1
- package/charts/pie/components/PieChartPlot/PieChartPlot.css +1 -1
- package/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
- package/charts/pie/hooks/usePieHandlers.js +3 -3
- package/charts/pie/hooks/useSliceHandlers.js +7 -41
- package/charts/single-value/SingleValue.css +1 -1
- package/charts/single-value/SingleValue.js +4 -1
- package/charts/single-value/SingleValue.sty.js +1 -1
- package/charts/single-value-grid/SingleValueGrid.css +2 -2
- package/charts/single-value-grid/SingleValueGrid.js +4 -1
- package/charts/single-value-grid/SingleValueGrid.sty.js +1 -1
- package/charts/single-value-grid/components/GlobalFontSizeVariables.css +1 -1
- package/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js +1 -1
- package/charts/single-value-grid/defaults.js +4 -4
- package/charts/single-value-grid/types/single-value-grid.d.ts +5 -1
- package/charts/single-value-grid/utils/iterate-slots.js +2 -2
- package/charts/timeseries/TimeseriesChart.d.ts +99 -5
- package/charts/timeseries/TimeseriesChart.js +63 -126
- package/charts/timeseries/TimeseriesChartInternal.d.ts +8 -0
- package/charts/timeseries/TimeseriesChartInternal.js +151 -0
- package/charts/timeseries/TimeseriesChartRoot.d.ts +3 -92
- package/charts/timeseries/TimeseriesChartRoot.js +3 -55
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +2 -2
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.js +4 -2
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js +1 -1
- package/charts/timeseries/components/overlays/TimeseriesOverlays.css +4 -4
- package/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js +4 -4
- package/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
- package/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
- package/charts/tree-map/TreeMap.d.ts +1 -1
- package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
- package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
- package/charts/tree-map/components/TreeMapTooltip/TreeMapOverlayTooltip.js +12 -1
- package/charts/tree-map/components/canvas/TreeMapSquareRenderer.js +3 -2
- package/charts/tree-map/components/canvas/utils/canvas-label-utils.d.ts +3 -1
- package/charts/tree-map/components/canvas/utils/canvas-label-utils.js +7 -7
- package/charts/tree-map/constants.js +1 -0
- package/charts/tree-map/contexts/TreeMapCustomTooltipContext.d.ts +3 -0
- package/charts/tree-map/contexts/TreeMapCustomTooltipContext.js +28 -0
- package/charts/tree-map/hooks/useTreeMapCustomTooltip.d.ts +1 -0
- package/charts/tree-map/hooks/useTreeMapCustomTooltip.js +25 -0
- package/charts/tree-map/providers/TreeMapChartProviders.d.ts +2 -0
- package/charts/tree-map/providers/TreeMapChartProviders.js +10 -2
- package/charts/tree-map/slots/Tooltip.d.ts +2 -1
- package/charts/tree-map/slots/Tooltip.js +1 -1
- package/charts/tree-map/types/canvas.d.ts +1 -1
- package/charts/tree-map/types/treemap-chart.config.d.ts +34 -2
- package/charts/tree-map/utils/build-overlay-tooltip-data.js +3 -1
- package/charts/tree-map/utils/build-tree-map-chart-config.js +2 -1
- package/charts/tree-map/utils/iterate-slots.js +8 -2
- package/charts/xy-chart/XYChart.js +2 -0
- package/charts/xy-chart/XYChartRoot.d.ts +1 -4
- package/charts/xy-chart/XYChartRoot.js +55 -39
- package/charts/xy-chart/components/axes/AxisArea.css +1 -1
- package/charts/xy-chart/components/axes/AxisArea.sty.js +1 -1
- package/charts/xy-chart/components/axes/AxisTickWithTruncation.css +3 -3
- package/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js +3 -3
- package/charts/xy-chart/components/axes/XYChartBottomAxisArea.js +77 -59
- package/charts/xy-chart/components/axes/XYChartTopAxisArea.js +77 -59
- package/charts/xy-chart/components/axes/utils/compute-collision-aware-max-space.d.ts +14 -0
- package/charts/xy-chart/components/axes/utils/compute-collision-aware-max-space.js +50 -0
- package/charts/xy-chart/components/displays/{BarDisplay.d.ts → BarDisplay/BarDisplay.d.ts} +3 -3
- package/charts/xy-chart/components/displays/{BarDisplay.js → BarDisplay/BarDisplay.js} +10 -10
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelLayout.d.ts +10 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelLayout.js +64 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +19 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.d.ts +24 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js +170 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.d.ts +3 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +28 -0
- package/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.d.ts +34 -0
- package/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js +81 -0
- package/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.d.ts +34 -0
- package/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js +82 -0
- package/charts/xy-chart/components/displays/BarDisplay/label-utils.d.ts +8 -0
- package/charts/xy-chart/components/displays/BarDisplay/label-utils.js +25 -0
- package/charts/xy-chart/components/displays/bar-accessors.js +7 -6
- package/charts/xy-chart/components/legend/XYLegend/xy-legend.css +1 -1
- package/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js +1 -1
- package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
- package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js +1 -1
- package/charts/xy-chart/components/overlay/explore/XYChartExplore.css +2 -2
- package/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js +2 -2
- package/charts/xy-chart/components/overlay/hooks/useApplyPanDelta.js +3 -3
- package/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js +3 -3
- package/charts/xy-chart/components/overlay/hooks/useOverlayEvents.d.ts +1 -1
- package/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js +27 -39
- package/charts/xy-chart/components/overlay/hooks/useResetInteractions.js +3 -3
- package/charts/xy-chart/components/overlay/utils/get-selected-datapoints.js +1 -1
- package/charts/xy-chart/components/overlay/utils/serialize-rectangle-series-values.js +1 -1
- package/charts/xy-chart/components/selection/TooltipHeader.css +2 -2
- package/charts/xy-chart/components/selection/TooltipHeader.sty.js +2 -2
- package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
- package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
- package/charts/xy-chart/components/tooltip/BarSeriesTooltip.js +11 -0
- package/charts/xy-chart/components/tooltip/TopListTooltip.d.ts +7 -0
- package/charts/xy-chart/components/tooltip/TopListTooltip.js +84 -0
- package/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.css +1 -1
- package/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.sty.js +1 -1
- package/charts/xy-chart/components/tooltip/utils/tooltip-styles.css +5 -5
- package/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js +4 -4
- package/charts/xy-chart/context/XYChartLegendHidden.context.d.ts +2 -0
- package/charts/xy-chart/context/XYChartLegendHidden.context.js +27 -0
- package/charts/xy-chart/layout/XYChartLayout.css +2 -2
- package/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
- package/charts/xy-chart/layout/XYChartShiftedDisplay.js +1 -1
- package/charts/xy-chart/processing-strategies/strategies/area-series.js +2 -1
- package/charts/xy-chart/processing-strategies/strategies/bar-series.d.ts +2 -0
- package/charts/xy-chart/processing-strategies/strategies/bar-series.js +9 -3
- package/charts/xy-chart/processing-strategies/strategies/groupable-series.d.ts +13 -3
- package/charts/xy-chart/processing-strategies/strategies/groupable-series.js +38 -4
- package/charts/xy-chart/processing-strategies/strategies/stackable-series.d.ts +14 -4
- package/charts/xy-chart/processing-strategies/strategies/stackable-series.js +38 -4
- package/charts/xy-chart/processing-strategies/utils/access-datapoint/get-bar-datapoints.d.ts +1 -0
- package/charts/xy-chart/processing-strategies/utils/access-datapoint/get-bar-datapoints.js +13 -1
- package/charts/xy-chart/providers/XYChartAxesTicksProvider.js +9 -2
- package/charts/xy-chart/slots/Tooltip.d.ts +2 -6
- package/charts/xy-chart/types/xy-chart-internals.d.ts +2 -0
- package/charts/xy-chart/types/xy-chart-props.d.ts +14 -0
- package/charts/xy-chart/types/xy-chart.d.ts +4 -0
- package/charts/xy-chart/utils/generate-nice-unit-ticks.d.ts +13 -1
- package/charts/xy-chart/utils/generate-nice-unit-ticks.js +39 -8
- package/charts/xy-chart/utils/get-ticks-formatted-by-config.d.ts +21 -1
- package/charts/xy-chart/utils/get-ticks-formatted-by-config.js +93 -11
- package/charts/xy-chart/utils/query-hovered.d.ts +1 -1
- package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.d.ts +6 -0
- package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +79 -0
- package/charts/xy-chart-adoption/timeseries/iterate-slots.d.ts +11 -0
- package/charts/xy-chart-adoption/timeseries/iterate-slots.js +78 -0
- package/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.d.ts +16 -6
- package/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js +54 -18
- package/charts/xy-chart-adoption/timeseries/types/timeseries.d.ts +41 -0
- package/charts/xy-chart-adoption/timeseries/types/timeseries.js +25 -0
- package/charts/xy-chart-adoption/timeseries/utils/render-series.d.ts +8 -0
- package/charts/xy-chart-adoption/timeseries/utils/render-series.js +60 -0
- package/content/accordion/Accordion.css +14 -14
- package/content/accordion/Accordion.sty.js +8 -8
- package/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
- package/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
- package/content/ai-response/AiResponse.css +5 -5
- package/content/ai-response/AiResponse.sty.js +2 -2
- package/content/ai-response/tests/AiResponse-reduced-motion.spec.js +4 -7
- package/content/avatar/Avatar.css +13 -13
- package/content/avatar/Avatar.sty.js +4 -4
- package/content/avatar-group/AvatarGroup.css +3 -3
- package/content/avatar-group/AvatarGroup.sty.js +2 -2
- package/content/chip/BaseChip.css +40 -40
- package/content/chip/BaseChip.sty.js +5 -5
- package/content/chip/ChipContent.css +11 -11
- package/content/chip/ChipContent.sty.js +2 -2
- package/content/chip/ChipDeleteButton.css +19 -19
- package/content/chip/ChipDeleteButton.sty.js +4 -4
- package/content/chip/ChipKey.css +6 -6
- package/content/chip/ChipKey.sty.js +1 -1
- package/content/chip/GroupedChip.css +3 -3
- package/content/chip/GroupedChip.sty.js +3 -3
- package/content/chip-group/ChipGroup.css +4 -4
- package/content/chip-group/ChipGroup.sty.js +1 -1
- package/content/chip-group/Control.css +4 -4
- package/content/chip-group/Control.sty.js +1 -1
- package/content/code-snippet/CodeHighlight.css +25 -25
- package/content/code-snippet/CodeHighlight.sty.js +5 -5
- package/content/code-snippet/CodeSnippet.css +5 -5
- package/content/code-snippet/CodeSnippet.sty.js +2 -2
- package/content/code-snippet/prism-dql-language.d.ts +4 -0
- package/content/code-snippet/prism-dql-language.js +8 -5
- package/content/empty-state/EmptyState.css +28 -28
- package/content/empty-state/EmptyState.sty.js +7 -7
- package/content/empty-state/assets/VisualPresetVariants.js +1 -1
- package/content/empty-state/empty-state-utils.d.ts +1 -1
- package/content/empty-state/empty-state-utils.js +11 -4
- package/content/empty-state/slot-components/Footer.css +1 -1
- package/content/empty-state/slot-components/Footer.sty.js +1 -1
- package/content/empty-state/slot-components/Visual.css +3 -3
- package/content/empty-state/slot-components/Visual.sty.js +1 -1
- package/content/empty-state/slot-components/VisualPreset.js +1 -5
- package/content/expandable-text/ExpandableText.css +7 -7
- package/content/expandable-text/ExpandableText.sty.js +2 -2
- package/content/feature-highlight/FeatureHighlight.css +12 -12
- package/content/feature-highlight/FeatureHighlight.sty.js +3 -3
- package/content/health-indicator/styles.css +23 -23
- package/content/health-indicator/styles.sty.js +1 -1
- package/content/information-overlay/InformationOverlay.css +25 -25
- package/content/information-overlay/InformationOverlay.sty.js +5 -5
- package/content/information-overlay/Trigger.d.ts +2 -3
- package/content/keyboard-shortcut/KeyboardShortcut.css +14 -14
- package/content/keyboard-shortcut/KeyboardShortcut.sty.js +2 -2
- package/content/markdown/Markdown.css +3 -3
- package/content/markdown/Markdown.sty.js +1 -1
- package/content/markdown/transformers/typography-mapping.css +9 -9
- package/content/markdown/transformers/typography-mapping.sty.js +6 -6
- package/content/microguide/Microguide.css +11 -11
- package/content/microguide/Microguide.sty.js +7 -7
- package/content/progress/ProgressBar.css +71 -71
- package/content/progress/ProgressBar.sty.js +5 -5
- package/content/progress/ProgressBarIcon.css +2 -2
- package/content/progress/ProgressBarIcon.sty.js +1 -1
- package/content/progress/ProgressBarLabel.css +3 -3
- package/content/progress/ProgressBarLabel.sty.js +1 -1
- package/content/progress/ProgressBarValue.css +5 -5
- package/content/progress/ProgressBarValue.sty.js +1 -1
- package/content/progress/ProgressCircle.css +40 -40
- package/content/progress/ProgressCircle.sty.js +5 -5
- package/content/shared-components/Visual.css +3 -3
- package/content/shared-components/Visual.sty.js +1 -1
- package/content/skeleton/Skeleton.css +7 -7
- package/content/skeleton/Skeleton.sty.js +5 -5
- package/content/terminology-overlay/TerminologyOverlay.css +4 -4
- package/content/terminology-overlay/TerminologyOverlay.js +16 -4
- package/content/terminology-overlay/TerminologyOverlay.sty.js +1 -1
- package/content/terminology-overlay/Trigger.d.ts +2 -1
- package/content/terminology-overlay/Trigger.js +5 -1
- package/core/components/app-root/AppRoot.css +2 -2
- package/core/components/app-root/AppRoot.sty.js +1 -1
- package/core/components/visually-hidden/VisuallyHidden.css +1 -1
- package/core/components/visually-hidden/VisuallyHidden.sty.js +1 -1
- package/core/contexts/PermissionsContext.d.ts +15 -0
- package/core/contexts/PermissionsContext.js +35 -0
- package/core/dql/dql-common.d.ts +6 -0
- package/core/dql/dql-common.js +2 -0
- package/core/external-links.d.ts +15 -0
- package/core/external-links.js +29 -0
- package/core/hooks/useBehavioralTrackingProps.js +1 -1
- package/core/hooks/usePermissions.d.ts +24 -0
- package/core/hooks/usePermissions.js +55 -0
- package/core/index.d.ts +1 -0
- package/core/index.js +2 -0
- package/core/sdk/sdk-logger.js +2 -2
- package/core/styles/defaultChartValues.css +1 -1
- package/core/styles/defaultChartValues.sty.js +1 -1
- package/core/styles/focusRing.css +66 -66
- package/core/styles/focusRing.sty.js +2 -2
- package/core/styles/focusRingStatic.css +34 -35
- package/core/styles/focusRingStatic.sty.js +1 -1
- package/core/styles/virtualFocus.css +2 -2
- package/core/styles/virtualFocus.sty.js +1 -1
- package/core/time/timeframeStore/actions/dateTimePicker.js +4 -5
- package/core/time/timeframeStore/actions/dateTimeRangePicker.js +4 -6
- package/core/time/timeframeStore/actions/timeframeSelector.js +9 -9
- package/core/time/timeframeStore/timeframeSelector.types.d.ts +5 -1
- package/core/time/useDateTimeMessages.js +1 -1
- package/core/time/validation.js +2 -2
- package/core/types/behavior-tracking-props.d.ts +8 -2
- package/core/utils/colorUtils.css +60 -60
- package/core/utils/colorUtils.sty.js +2 -2
- package/core/utils/extract-behavior-tracking-props.js +1 -1
- package/core/utils/permissionsQueryClient.d.ts +7 -0
- package/core/utils/permissionsQueryClient.js +33 -0
- package/editors/base-code-editor/BaseCodeEditor.css +133 -133
- package/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
- package/editors/dql-editor/DQLEditor.d.ts +55 -22
- package/editors/dql-editor/DQLEditor.js +122 -73
- package/editors/dql-editor/actions-menu/ActionsMenu.css +28 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.d.ts +27 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.js +100 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.sty.d.ts +28 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.sty.js +29 -0
- package/editors/dql-editor/actions-menu/actions-menu-messages.d.ts +17 -0
- package/editors/dql-editor/actions-menu/actions-menu-messages.js +40 -0
- package/editors/dql-editor/dql/DocumentationLink.d.ts +0 -1
- package/editors/dql-editor/dql/DocumentationLink.js +2 -3
- package/editors/dql-editor/dql/SuggestionPart.css +1 -1
- package/editors/dql-editor/dql/SuggestionPart.sty.js +1 -1
- package/editors/dql-editor/dql/dql-language.js +25 -11
- package/editors/dql-editor/dql/dql.js +7 -2
- package/editors/dql-editor/dql/open-autocomplete.d.ts +0 -1
- package/editors/dql-editor/dql/open-autocomplete.js +4 -11
- package/esm/buttons/button/Button.css +15 -15
- package/esm/buttons/button/Button.sty.js +4 -4
- package/esm/buttons/button/Button.sty.js.map +1 -1
- package/esm/buttons/intent-button/IntentButton.css +1 -1
- package/esm/buttons/intent-button/IntentButton.sty.js +1 -1
- package/esm/buttons/intent-button/IntentButton.sty.js.map +1 -1
- package/esm/buttons/notify-button/NotifyButton.css +2 -2
- package/esm/buttons/notify-button/NotifyButton.sty.js +2 -2
- package/esm/buttons/notify-button/NotifyButton.sty.js.map +1 -1
- package/esm/charts/annotations-chart/AnnotationsChart.js +9 -1
- package/esm/charts/annotations-chart/AnnotationsChart.js.map +2 -2
- package/esm/charts/annotations-chart/components/AnnotationsDisplay.js.map +2 -2
- package/esm/charts/annotations-chart/constants.js +3 -1
- package/esm/charts/annotations-chart/constants.js.map +2 -2
- package/esm/charts/annotations-chart/utils/annotations-chart-config.js +2 -0
- package/esm/charts/annotations-chart/utils/annotations-chart-config.js.map +2 -2
- package/esm/charts/annotations-chart/utils/populate-missing-tooltip-props.js +8 -3
- package/esm/charts/annotations-chart/utils/populate-missing-tooltip-props.js.map +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.css +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.css +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.sty.js +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/AnnotationsRenderer.js +4 -3
- package/esm/charts/core/components/annotations/components/AnnotationsRenderer.js.map +2 -2
- package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.css +1 -1
- package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js +1 -1
- package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/displays/AnnotationsContainer.js +12 -0
- package/esm/charts/core/components/annotations/components/displays/AnnotationsContainer.js.map +7 -0
- package/esm/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.js +13 -18
- package/esm/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.js.map +2 -2
- package/esm/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.js +13 -18
- package/esm/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.js.map +2 -2
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.css +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.css +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsCustomizedTooltip.js +3 -2
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsCustomizedTooltip.js.map +2 -2
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.js +131 -0
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.js.map +7 -0
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js +121 -0
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js.map +7 -0
- package/esm/charts/core/components/annotations/components/tooltip/utils/prepare-custom-tooltip-data.js +8 -11
- package/esm/charts/core/components/annotations/components/tooltip/utils/prepare-custom-tooltip-data.js.map +2 -2
- package/esm/charts/core/components/annotations/constants.js +2 -0
- package/esm/charts/core/components/annotations/constants.js.map +2 -2
- package/esm/charts/core/components/annotations/hooks/useOverlayEvents.js +18 -0
- package/esm/charts/core/components/annotations/hooks/useOverlayEvents.js.map +2 -2
- package/esm/charts/core/components/axes/Axis.css +1 -1
- package/esm/charts/core/components/axes/Axis.sty.js +1 -1
- package/esm/charts/core/components/axes/Axis.sty.js.map +1 -1
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.css +16 -16
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.sty.js +2 -2
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.sty.js.map +1 -1
- package/esm/charts/core/components/axes/utils/calculate-axis-size.js +4 -2
- package/esm/charts/core/components/axes/utils/calculate-axis-size.js.map +2 -2
- package/esm/charts/core/components/axes/utils/get-tick-label-props.js +47 -1
- package/esm/charts/core/components/axes/utils/get-tick-label-props.js.map +2 -2
- package/esm/charts/core/components/axes/utils/tick-formatters.js +9 -1
- package/esm/charts/core/components/axes/utils/tick-formatters.js.map +2 -2
- package/esm/charts/core/components/chart-grid/ChartGrid.css +3 -3
- package/esm/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
- package/esm/charts/core/components/chart-grid/ChartGrid.sty.js.map +1 -1
- package/esm/charts/core/components/chart-layout/components/styles.css +15 -15
- package/esm/charts/core/components/chart-layout/components/styles.sty.js +4 -4
- package/esm/charts/core/components/chart-layout/components/styles.sty.js.map +1 -1
- package/esm/charts/core/components/chart-states/ChartState.css +4 -4
- package/esm/charts/core/components/chart-states/ChartState.sty.js +4 -4
- package/esm/charts/core/components/chart-states/ChartState.sty.js.map +1 -1
- package/esm/charts/core/components/crosshair/components/Magnifier.css +7 -7
- package/esm/charts/core/components/crosshair/components/Magnifier.sty.js +7 -7
- package/esm/charts/core/components/crosshair/components/Magnifier.sty.js.map +1 -1
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.css +5 -5
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js +2 -2
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.css +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.sty.js +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.css +3 -3
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js +3 -3
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.css +17 -17
- package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js +6 -6
- package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.css +3 -3
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.css +8 -8
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js +4 -4
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/RangeLegend.css +3 -3
- package/esm/charts/core/components/legend/range/RangeLegend.sty.js +1 -1
- package/esm/charts/core/components/legend/range/RangeLegend.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.css +2 -2
- package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.css +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.css +3 -3
- package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.css +3 -3
- package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.css +5 -5
- package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js.map +1 -1
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.css +2 -2
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.sty.js +2 -2
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/OverlayTooltip.js +4 -0
- package/esm/charts/core/components/overlay-tooltip/OverlayTooltip.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/_to-be-removed/DummyInteractionsOverlay.js +8 -5
- package/esm/charts/core/components/overlay-tooltip/_to-be-removed/DummyInteractionsOverlay.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/_to-be-removed/_OverlayTooltipWIPStory.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/_to-be-removed/_OverlayTooltipWIPStory.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js +7 -6
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/{TooltipFooter.js → Footer.js} +3 -6
- package/esm/charts/core/components/overlay-tooltip/components/Footer.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/Action.js +6 -0
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/Action.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/GlobalActions.js +4 -14
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/GlobalActions.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.css +4 -4
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.css +6 -6
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js +6 -6
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItem.js +31 -8
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItem.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItemContent.js +38 -3
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItemContent.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesSymbol.js +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesSymbol.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/hooks/use-series-item-display-state.js +58 -6
- package/esm/charts/core/components/overlay-tooltip/components/series/hooks/use-series-item-display-state.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.css +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/utils/get-name-text-style.js +6 -4
- package/esm/charts/core/components/overlay-tooltip/components/series/utils/get-name-text-style.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/hooks/useTooltipImperativeHandle.js +3 -11
- package/esm/charts/core/components/overlay-tooltip/hooks/useTooltipImperativeHandle.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/overlay.js +8 -8
- package/esm/charts/core/components/overlay-tooltip/overlay.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/tooltip.css +92 -44
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js +46 -34
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/types.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/useTooltipActions.js +67 -0
- package/esm/charts/core/components/overlay-tooltip/useTooltipActions.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/useTooltipReducer.js +9 -11
- package/esm/charts/core/components/overlay-tooltip/useTooltipReducer.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/utils/build-content.js +41 -36
- package/esm/charts/core/components/overlay-tooltip/utils/build-content.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/utils/estimate-series-item-size.js +19 -3
- package/esm/charts/core/components/overlay-tooltip/utils/estimate-series-item-size.js.map +2 -2
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.css +5 -5
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js +5 -5
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js.map +1 -1
- package/esm/charts/core/components/selection-area/SelectionArea.css +9 -9
- package/esm/charts/core/components/selection-area/SelectionArea.sty.js +4 -4
- package/esm/charts/core/components/selection-area/SelectionArea.sty.js.map +1 -1
- package/esm/charts/core/components/shape/BubbleShape/BubbleShape.css +5 -5
- package/esm/charts/core/components/shape/BubbleShape/BubbleShape.sty.js +3 -3
- package/esm/charts/core/components/shape/BubbleShape/BubbleShape.sty.js.map +1 -1
- package/esm/charts/core/components/shape/EmojiShape/EmojiShape.css +3 -3
- package/esm/charts/core/components/shape/EmojiShape/EmojiShape.sty.js +1 -1
- package/esm/charts/core/components/shape/EmojiShape/EmojiShape.sty.js.map +1 -1
- package/esm/charts/core/components/shape/IconShape/IconShape.css +3 -3
- package/esm/charts/core/components/shape/IconShape/IconShape.sty.js +1 -1
- package/esm/charts/core/components/shape/IconShape/IconShape.sty.js.map +1 -1
- package/esm/charts/core/components/shape/styles/DataPointShape.css +8 -8
- package/esm/charts/core/components/shape/styles/DataPointShape.sty.js +4 -4
- package/esm/charts/core/components/shape/styles/DataPointShape.sty.js.map +1 -1
- package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.css +1 -1
- package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js +1 -1
- package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.css +5 -5
- package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js +5 -5
- package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/ContentGrid.css +1 -1
- package/esm/charts/core/components/single-value-renderer/components/ContentGrid.sty.js +1 -1
- package/esm/charts/core/components/single-value-renderer/components/ContentGrid.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Icon.css +3 -3
- package/esm/charts/core/components/single-value-renderer/components/Icon.sty.js +2 -2
- package/esm/charts/core/components/single-value-renderer/components/Icon.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Label.css +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Label.sty.js +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Label.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.css +1 -1
- package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js +1 -1
- package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Value.css +5 -5
- package/esm/charts/core/components/single-value-renderer/components/Value.sty.js +3 -3
- package/esm/charts/core/components/single-value-renderer/components/Value.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/trend/Trend.css +3 -3
- package/esm/charts/core/components/single-value-renderer/components/trend/Trend.sty.js +3 -3
- package/esm/charts/core/components/single-value-renderer/components/trend/Trend.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.css +2 -2
- package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js +1 -1
- package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js.map +1 -1
- package/esm/charts/core/components/sparkline-display/Sparkline.css +6 -6
- package/esm/charts/core/components/sparkline-display/Sparkline.sty.js +2 -2
- package/esm/charts/core/components/sparkline-display/Sparkline.sty.js.map +1 -1
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.css +7 -7
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js +3 -3
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js.map +1 -1
- package/esm/charts/core/components/threshold-bar/styles.css +9 -9
- package/esm/charts/core/components/threshold-bar/styles.sty.js +2 -2
- package/esm/charts/core/components/threshold-bar/styles.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.sty.js +8 -8
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.css +2 -2
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.sty.js +1 -1
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/Control.css +17 -17
- package/esm/charts/core/components/toolbar/components/Control.sty.js +5 -5
- package/esm/charts/core/components/toolbar/components/Control.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.css +4 -4
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.sty.js +2 -2
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js +2 -2
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.css +8 -8
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js +3 -3
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.css +2 -2
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.css +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.css +6 -6
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js +2 -2
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.css +7 -7
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js +6 -6
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.css +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/atoms/styles.css +3 -3
- package/esm/charts/core/components/tooltip/section-components/atoms/styles.sty.js +3 -3
- package/esm/charts/core/components/tooltip/section-components/atoms/styles.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/styles.css +4 -4
- package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
- package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js.map +1 -1
- package/esm/charts/core/components/zoom/ZoomCursors.css +2 -2
- package/esm/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
- package/esm/charts/core/components/zoom/ZoomCursors.sty.js.map +1 -1
- package/esm/charts/core/hooks/useOverlayEventHandlers.js +8 -25
- package/esm/charts/core/hooks/useOverlayEventHandlers.js.map +2 -2
- package/esm/charts/core/slots/toolbar/CompactToolbar.js +2 -2
- package/esm/charts/core/slots/toolbar/CompactToolbar.js.map +1 -1
- package/esm/charts/core/typographyStyles.css +1 -1
- package/esm/charts/core/typographyStyles.sty.js +1 -1
- package/esm/charts/core/typographyStyles.sty.js.map +1 -1
- package/esm/charts/core/utils/adaptively-reduce-horizontal-ticks.js +45 -0
- package/esm/charts/core/utils/adaptively-reduce-horizontal-ticks.js.map +7 -0
- package/esm/charts/core/utils/extract-behavior-tracking-props.js +1 -1
- package/esm/charts/core/utils/extract-behavior-tracking-props.js.map +2 -2
- package/esm/charts/core/utils/has-horizontal-label-collision.js +57 -0
- package/esm/charts/core/utils/has-horizontal-label-collision.js.map +7 -0
- package/esm/charts/core/utils/is-feature-enabled.js +2 -1
- package/esm/charts/core/utils/is-feature-enabled.js.map +2 -2
- package/esm/charts/gantt-chart/GanttChartLine.css +1 -1
- package/esm/charts/gantt-chart/GanttChartLine.sty.js +1 -1
- package/esm/charts/gantt-chart/GanttChartLine.sty.js.map +1 -1
- package/esm/charts/gantt-chart/components/GanttChartLineRenderer.css +1 -1
- package/esm/charts/gantt-chart/components/GanttChartLineRenderer.sty.js +1 -1
- package/esm/charts/gantt-chart/components/GanttChartLineRenderer.sty.js.map +1 -1
- package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.css +1 -1
- package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js +1 -1
- package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.css +1 -1
- package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js +1 -1
- package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeChartTooltip/GaugeOverlayTooltip.js +12 -2
- package/esm/charts/gauge/components/GaugeChartTooltip/GaugeOverlayTooltip.js.map +2 -2
- package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.css +6 -6
- package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
- package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeLabels.js +3 -4
- package/esm/charts/gauge/components/GaugeLabels.js.map +2 -2
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.css +3 -3
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js +1 -1
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.css +4 -4
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js +12 -11
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js.map +2 -2
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js +3 -3
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.css +2 -2
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js +2 -2
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js.map +1 -1
- package/esm/charts/gauge/constants.js +2 -0
- package/esm/charts/gauge/constants.js.map +2 -2
- package/esm/charts/gauge/contexts/GaugeChartTooltipContext.js +9 -0
- package/esm/charts/gauge/contexts/GaugeChartTooltipContext.js.map +7 -0
- package/esm/charts/gauge/hooks/useGaugeChartMinMaxLabelsPosition.js +20 -2
- package/esm/charts/gauge/hooks/useGaugeChartMinMaxLabelsPosition.js.map +2 -2
- package/esm/charts/gauge/providers/GaugeChartProviders.js +11 -3
- package/esm/charts/gauge/providers/GaugeChartProviders.js.map +2 -2
- package/esm/charts/gauge/slots/Tooltip.js +1 -1
- package/esm/charts/gauge/slots/Tooltip.js.map +2 -2
- package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.css +1 -1
- package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js +1 -1
- package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js.map +1 -1
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.css +1 -1
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js +1 -1
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js.map +1 -1
- package/esm/charts/histogram/components/overlays/HistogramOverlays.css +2 -2
- package/esm/charts/histogram/components/overlays/HistogramOverlays.sty.js +2 -2
- package/esm/charts/histogram/components/overlays/HistogramOverlays.sty.js.map +1 -1
- package/esm/charts/honeycomb/HoneycombChart.css +1 -1
- package/esm/charts/honeycomb/HoneycombChart.js +3 -1
- package/esm/charts/honeycomb/HoneycombChart.js.map +2 -2
- package/esm/charts/honeycomb/HoneycombChart.sty.js +1 -1
- package/esm/charts/honeycomb/HoneycombChart.sty.js.map +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.css +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.sty.js +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.sty.js.map +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.css +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js.map +1 -1
- package/esm/charts/honeycomb/components/tooltip/HoneycombOverlayTooltip.js +16 -1
- package/esm/charts/honeycomb/components/tooltip/HoneycombOverlayTooltip.js.map +2 -2
- package/esm/charts/honeycomb/context/honeycomb-custom-tooltip.context.js +6 -0
- package/esm/charts/honeycomb/context/honeycomb-custom-tooltip.context.js.map +7 -0
- package/esm/charts/honeycomb/hooks/use-honeycomb-custom-tooltip.js +7 -0
- package/esm/charts/honeycomb/hooks/use-honeycomb-custom-tooltip.js.map +7 -0
- package/esm/charts/honeycomb/providers/honeycomb-configuration.provider.js +2 -1
- package/esm/charts/honeycomb/providers/honeycomb-configuration.provider.js.map +2 -2
- package/esm/charts/honeycomb/slots/Tooltip.js +6 -0
- package/esm/charts/honeycomb/slots/Tooltip.js.map +7 -0
- package/esm/charts/honeycomb/utils/build-honeycomb-config.js +2 -1
- package/esm/charts/honeycomb/utils/build-honeycomb-config.js.map +2 -2
- package/esm/charts/honeycomb/utils/build-overlay-tooltip-data.js +5 -1
- package/esm/charts/honeycomb/utils/build-overlay-tooltip-data.js.map +2 -2
- package/esm/charts/honeycomb/utils/iterate-honeycomb-slots.js +11 -1
- package/esm/charts/honeycomb/utils/iterate-honeycomb-slots.js.map +2 -2
- package/esm/charts/index.js +5 -1
- package/esm/charts/index.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/MultiMeterBarChart.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/MultiMeterBarChart.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlay.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlay.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.js +34 -8
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/default.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/default.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/hooks/useMultiMeterBarChartTooltipHandlers.js +10 -37
- package/esm/charts/meter-bar/multi-meter-bar/hooks/useMultiMeterBarChartTooltipHandlers.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/types/multi-meter-bar-chart.js.map +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/utils/build-multi-meter-bar-chart-config.js +10 -7
- package/esm/charts/meter-bar/multi-meter-bar/utils/build-multi-meter-bar-chart-config.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/utils/iterate-slots.js +4 -1
- package/esm/charts/meter-bar/multi-meter-bar/utils/iterate-slots.js.map +2 -2
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.css +15 -15
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js +10 -10
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.css +2 -2
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-toolbar/MeterBarToolbar.js +3 -3
- package/esm/charts/meter-bar/shared/components/meter-bar-toolbar/MeterBarToolbar.js.map +2 -2
- package/esm/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/styles/element-size.css +4 -4
- package/esm/charts/meter-bar/shared/styles/element-size.sty.js +1 -1
- package/esm/charts/meter-bar/shared/styles/element-size.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/styles.css +1 -1
- package/esm/charts/meter-bar/shared/styles.sty.js +1 -1
- package/esm/charts/meter-bar/shared/styles.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/utils/slot-handlers.js +0 -10
- package/esm/charts/meter-bar/shared/utils/slot-handlers.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/MeterBarChart.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/MeterBarChart.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlay.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlay.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlayWithTooltip.js +61 -16
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlayWithTooltip.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.css +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js.map +1 -1
- package/esm/charts/meter-bar/single-meter-bar/context/MeterBarChartInternalConfigContext.js.map +1 -1
- package/esm/charts/meter-bar/single-meter-bar/types/default.js +2 -1
- package/esm/charts/meter-bar/single-meter-bar/types/default.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/utils/build-meter-bar-chart-config.js +5 -1
- package/esm/charts/meter-bar/single-meter-bar/utils/build-meter-bar-chart-config.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/utils/iterate-slots.js +4 -1
- package/esm/charts/meter-bar/single-meter-bar/utils/iterate-slots.js.map +2 -2
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.css +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js.map +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.css +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js.map +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.css +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js.map +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.css +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js.map +1 -1
- package/esm/charts/pie/hooks/usePieHandlers.js +3 -3
- package/esm/charts/pie/hooks/usePieHandlers.js.map +2 -2
- package/esm/charts/pie/hooks/useSliceHandlers.js +7 -41
- package/esm/charts/pie/hooks/useSliceHandlers.js.map +2 -2
- package/esm/charts/single-value/SingleValue.css +1 -1
- package/esm/charts/single-value/SingleValue.js +4 -1
- package/esm/charts/single-value/SingleValue.js.map +2 -2
- package/esm/charts/single-value/SingleValue.sty.js +1 -1
- package/esm/charts/single-value/SingleValue.sty.js.map +1 -1
- package/esm/charts/single-value-grid/SingleValueGrid.css +2 -2
- package/esm/charts/single-value-grid/SingleValueGrid.js +4 -1
- package/esm/charts/single-value-grid/SingleValueGrid.js.map +2 -2
- package/esm/charts/single-value-grid/SingleValueGrid.sty.js +1 -1
- package/esm/charts/single-value-grid/SingleValueGrid.sty.js.map +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.css +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js.map +1 -1
- package/esm/charts/single-value-grid/defaults.js +4 -4
- package/esm/charts/single-value-grid/defaults.js.map +1 -1
- package/esm/charts/single-value-grid/utils/iterate-slots.js +2 -2
- package/esm/charts/single-value-grid/utils/iterate-slots.js.map +1 -1
- package/esm/charts/timeseries/TimeseriesChart.js +65 -131
- package/esm/charts/timeseries/TimeseriesChart.js.map +2 -2
- package/esm/charts/timeseries/TimeseriesChartInternal.js +136 -0
- package/esm/charts/timeseries/TimeseriesChartInternal.js.map +7 -0
- package/esm/charts/timeseries/TimeseriesChartRoot.js +2 -54
- package/esm/charts/timeseries/TimeseriesChartRoot.js.map +2 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +2 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.js +4 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.js.map +2 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js +1 -1
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js.map +1 -1
- package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.css +4 -4
- package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js +4 -4
- package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js.map +1 -1
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapTooltip/TreeMapOverlayTooltip.js +12 -1
- package/esm/charts/tree-map/components/TreeMapTooltip/TreeMapOverlayTooltip.js.map +2 -2
- package/esm/charts/tree-map/components/canvas/TreeMapSquareRenderer.js +3 -2
- package/esm/charts/tree-map/components/canvas/TreeMapSquareRenderer.js.map +2 -2
- package/esm/charts/tree-map/components/canvas/utils/canvas-label-utils.js +7 -7
- package/esm/charts/tree-map/components/canvas/utils/canvas-label-utils.js.map +2 -2
- package/esm/charts/tree-map/constants.js +1 -0
- package/esm/charts/tree-map/constants.js.map +2 -2
- package/esm/charts/tree-map/contexts/TreeMapCustomTooltipContext.js +10 -0
- package/esm/charts/tree-map/contexts/TreeMapCustomTooltipContext.js.map +7 -0
- package/esm/charts/tree-map/hooks/useTreeMapCustomTooltip.js +7 -0
- package/esm/charts/tree-map/hooks/useTreeMapCustomTooltip.js.map +7 -0
- package/esm/charts/tree-map/providers/TreeMapChartProviders.js +13 -2
- package/esm/charts/tree-map/providers/TreeMapChartProviders.js.map +2 -2
- package/esm/charts/tree-map/slots/Tooltip.js +1 -1
- package/esm/charts/tree-map/slots/Tooltip.js.map +2 -2
- package/esm/charts/tree-map/utils/build-overlay-tooltip-data.js +3 -1
- package/esm/charts/tree-map/utils/build-overlay-tooltip-data.js.map +2 -2
- package/esm/charts/tree-map/utils/build-tree-map-chart-config.js +2 -1
- package/esm/charts/tree-map/utils/build-tree-map-chart-config.js.map +2 -2
- package/esm/charts/tree-map/utils/iterate-slots.js +8 -2
- package/esm/charts/tree-map/utils/iterate-slots.js.map +2 -2
- package/esm/charts/xy-chart/XYChart.js +2 -0
- package/esm/charts/xy-chart/XYChart.js.map +2 -2
- package/esm/charts/xy-chart/XYChartRoot.js +55 -39
- package/esm/charts/xy-chart/XYChartRoot.js.map +2 -2
- package/esm/charts/xy-chart/components/axes/AxisArea.css +1 -1
- package/esm/charts/xy-chart/components/axes/AxisArea.sty.js +1 -1
- package/esm/charts/xy-chart/components/axes/AxisArea.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.css +3 -3
- package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js +3 -3
- package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/axes/XYChartBottomAxisArea.js +78 -63
- package/esm/charts/xy-chart/components/axes/XYChartBottomAxisArea.js.map +2 -2
- package/esm/charts/xy-chart/components/axes/XYChartTopAxisArea.js +78 -63
- package/esm/charts/xy-chart/components/axes/XYChartTopAxisArea.js.map +2 -2
- package/esm/charts/xy-chart/components/axes/utils/compute-collision-aware-max-space.js +35 -0
- package/esm/charts/xy-chart/components/axes/utils/compute-collision-aware-max-space.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/{BarDisplay.js → BarDisplay/BarDisplay.js} +13 -10
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarDisplay.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelLayout.js +46 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelLayout.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +19 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js +150 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +10 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js +63 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js +64 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/label-utils.js +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/label-utils.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/bar-accessors.js +7 -6
- package/esm/charts/xy-chart/components/displays/bar-accessors.js.map +2 -2
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.css +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.css +2 -2
- package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js +2 -2
- package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyPanDelta.js +3 -3
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyPanDelta.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js +3 -3
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js +27 -39
- package/esm/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useResetInteractions.js +3 -3
- package/esm/charts/xy-chart/components/overlay/hooks/useResetInteractions.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/utils/get-selected-datapoints.js +1 -1
- package/esm/charts/xy-chart/components/overlay/utils/get-selected-datapoints.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/utils/serialize-rectangle-series-values.js +1 -1
- package/esm/charts/xy-chart/components/overlay/utils/serialize-rectangle-series-values.js.map +1 -1
- package/esm/charts/xy-chart/components/selection/TooltipHeader.css +2 -2
- package/esm/charts/xy-chart/components/selection/TooltipHeader.sty.js +2 -2
- package/esm/charts/xy-chart/components/selection/TooltipHeader.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/tooltip/BarSeriesTooltip.js +11 -0
- package/esm/charts/xy-chart/components/tooltip/BarSeriesTooltip.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/TopListTooltip.js +66 -0
- package/esm/charts/xy-chart/components/tooltip/TopListTooltip.js.map +7 -0
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.css +1 -1
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.sty.js +1 -1
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.css +5 -5
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js +4 -4
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js.map +1 -1
- package/esm/charts/xy-chart/context/XYChartLegendHidden.context.js +9 -0
- package/esm/charts/xy-chart/context/XYChartLegendHidden.context.js.map +7 -0
- package/esm/charts/xy-chart/layout/XYChartLayout.css +2 -2
- package/esm/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
- package/esm/charts/xy-chart/layout/XYChartLayout.sty.js.map +1 -1
- package/esm/charts/xy-chart/layout/XYChartShiftedDisplay.js +1 -1
- package/esm/charts/xy-chart/layout/XYChartShiftedDisplay.js.map +1 -1
- package/esm/charts/xy-chart/processing-strategies/strategies/area-series.js +2 -1
- package/esm/charts/xy-chart/processing-strategies/strategies/area-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/bar-series.js +9 -3
- package/esm/charts/xy-chart/processing-strategies/strategies/bar-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/groupable-series.js +42 -5
- package/esm/charts/xy-chart/processing-strategies/strategies/groupable-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/stackable-series.js +39 -4
- package/esm/charts/xy-chart/processing-strategies/strategies/stackable-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/utils/access-datapoint/get-bar-datapoints.js +14 -2
- package/esm/charts/xy-chart/processing-strategies/utils/access-datapoint/get-bar-datapoints.js.map +2 -2
- package/esm/charts/xy-chart/providers/XYChartAxesTicksProvider.js +9 -2
- package/esm/charts/xy-chart/providers/XYChartAxesTicksProvider.js.map +2 -2
- package/esm/charts/xy-chart/slots/Tooltip.js.map +2 -2
- package/esm/charts/xy-chart/types/xy-chart-internals.js.map +2 -2
- package/esm/charts/xy-chart/types/xy-chart.js.map +1 -1
- package/esm/charts/xy-chart/utils/generate-nice-unit-ticks.js +39 -8
- package/esm/charts/xy-chart/utils/generate-nice-unit-ticks.js.map +2 -2
- package/esm/charts/xy-chart/utils/get-ticks-formatted-by-config.js +93 -11
- package/esm/charts/xy-chart/utils/get-ticks-formatted-by-config.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +70 -0
- package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js +60 -0
- package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js +54 -18
- package/esm/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries.js +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/render-series.js +42 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/render-series.js.map +7 -0
- package/esm/content/accordion/Accordion.css +14 -14
- package/esm/content/accordion/Accordion.sty.js +8 -8
- package/esm/content/accordion/Accordion.sty.js.map +1 -1
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js.map +1 -1
- package/esm/content/ai-response/AiResponse.css +5 -5
- package/esm/content/ai-response/AiResponse.sty.js +2 -2
- package/esm/content/ai-response/AiResponse.sty.js.map +1 -1
- package/esm/content/ai-response/tests/AiResponse-reduced-motion.spec.js +4 -7
- package/esm/content/ai-response/tests/AiResponse-reduced-motion.spec.js.map +2 -2
- package/esm/content/avatar/Avatar.css +13 -13
- package/esm/content/avatar/Avatar.sty.js +4 -4
- package/esm/content/avatar/Avatar.sty.js.map +1 -1
- package/esm/content/avatar-group/AvatarGroup.css +3 -3
- package/esm/content/avatar-group/AvatarGroup.sty.js +2 -2
- package/esm/content/avatar-group/AvatarGroup.sty.js.map +1 -1
- package/esm/content/chip/BaseChip.css +40 -40
- package/esm/content/chip/BaseChip.sty.js +5 -5
- package/esm/content/chip/BaseChip.sty.js.map +1 -1
- package/esm/content/chip/ChipContent.css +11 -11
- package/esm/content/chip/ChipContent.sty.js +2 -2
- package/esm/content/chip/ChipContent.sty.js.map +1 -1
- package/esm/content/chip/ChipDeleteButton.css +19 -19
- package/esm/content/chip/ChipDeleteButton.sty.js +4 -4
- package/esm/content/chip/ChipDeleteButton.sty.js.map +1 -1
- package/esm/content/chip/ChipKey.css +6 -6
- package/esm/content/chip/ChipKey.sty.js +1 -1
- package/esm/content/chip/ChipKey.sty.js.map +1 -1
- package/esm/content/chip/GroupedChip.css +3 -3
- package/esm/content/chip/GroupedChip.sty.js +3 -3
- package/esm/content/chip/GroupedChip.sty.js.map +1 -1
- package/esm/content/chip-group/ChipGroup.css +4 -4
- package/esm/content/chip-group/ChipGroup.sty.js +1 -1
- package/esm/content/chip-group/ChipGroup.sty.js.map +1 -1
- package/esm/content/chip-group/Control.css +4 -4
- package/esm/content/chip-group/Control.sty.js +1 -1
- package/esm/content/chip-group/Control.sty.js.map +1 -1
- package/esm/content/code-snippet/CodeHighlight.css +25 -25
- package/esm/content/code-snippet/CodeHighlight.sty.js +5 -5
- package/esm/content/code-snippet/CodeHighlight.sty.js.map +1 -1
- package/esm/content/code-snippet/CodeSnippet.css +5 -5
- package/esm/content/code-snippet/CodeSnippet.sty.js +2 -2
- package/esm/content/code-snippet/CodeSnippet.sty.js.map +1 -1
- package/esm/content/code-snippet/prism-dql-language.js +9 -5
- package/esm/content/code-snippet/prism-dql-language.js.map +2 -2
- package/esm/content/empty-state/EmptyState.css +28 -28
- package/esm/content/empty-state/EmptyState.sty.js +7 -7
- package/esm/content/empty-state/EmptyState.sty.js.map +1 -1
- package/esm/content/empty-state/assets/VisualPresetVariants.js +1 -1
- package/esm/content/empty-state/assets/VisualPresetVariants.js.map +1 -1
- package/esm/content/empty-state/empty-state-utils.js +11 -4
- package/esm/content/empty-state/empty-state-utils.js.map +2 -2
- package/esm/content/empty-state/slot-components/Footer.css +1 -1
- package/esm/content/empty-state/slot-components/Footer.sty.js +1 -1
- package/esm/content/empty-state/slot-components/Footer.sty.js.map +1 -1
- package/esm/content/empty-state/slot-components/Visual.css +3 -3
- package/esm/content/empty-state/slot-components/Visual.sty.js +1 -1
- package/esm/content/empty-state/slot-components/Visual.sty.js.map +1 -1
- package/esm/content/empty-state/slot-components/VisualPreset.js +2 -6
- package/esm/content/empty-state/slot-components/VisualPreset.js.map +2 -2
- package/esm/content/expandable-text/ExpandableText.css +7 -7
- package/esm/content/expandable-text/ExpandableText.sty.js +2 -2
- package/esm/content/expandable-text/ExpandableText.sty.js.map +1 -1
- package/esm/content/feature-highlight/FeatureHighlight.css +12 -12
- package/esm/content/feature-highlight/FeatureHighlight.sty.js +3 -3
- package/esm/content/feature-highlight/FeatureHighlight.sty.js.map +1 -1
- package/esm/content/health-indicator/styles.css +23 -23
- package/esm/content/health-indicator/styles.sty.js +1 -1
- package/esm/content/health-indicator/styles.sty.js.map +1 -1
- package/esm/content/information-overlay/InformationOverlay.css +25 -25
- package/esm/content/information-overlay/InformationOverlay.sty.js +5 -5
- package/esm/content/information-overlay/InformationOverlay.sty.js.map +1 -1
- package/esm/content/information-overlay/Trigger.js +2 -2
- package/esm/content/information-overlay/Trigger.js.map +2 -2
- package/esm/content/keyboard-shortcut/KeyboardShortcut.css +14 -14
- package/esm/content/keyboard-shortcut/KeyboardShortcut.sty.js +2 -2
- package/esm/content/keyboard-shortcut/KeyboardShortcut.sty.js.map +1 -1
- package/esm/content/markdown/Markdown.css +3 -3
- package/esm/content/markdown/Markdown.sty.js +1 -1
- package/esm/content/markdown/Markdown.sty.js.map +1 -1
- package/esm/content/markdown/transformers/typography-mapping.css +9 -9
- package/esm/content/markdown/transformers/typography-mapping.sty.js +6 -6
- package/esm/content/markdown/transformers/typography-mapping.sty.js.map +1 -1
- package/esm/content/microguide/Microguide.css +11 -11
- package/esm/content/microguide/Microguide.sty.js +7 -7
- package/esm/content/microguide/Microguide.sty.js.map +1 -1
- package/esm/content/progress/ProgressBar.css +71 -71
- package/esm/content/progress/ProgressBar.sty.js +5 -5
- package/esm/content/progress/ProgressBar.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarIcon.css +2 -2
- package/esm/content/progress/ProgressBarIcon.sty.js +1 -1
- package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarLabel.css +3 -3
- package/esm/content/progress/ProgressBarLabel.sty.js +1 -1
- package/esm/content/progress/ProgressBarLabel.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarValue.css +5 -5
- package/esm/content/progress/ProgressBarValue.sty.js +1 -1
- package/esm/content/progress/ProgressBarValue.sty.js.map +1 -1
- package/esm/content/progress/ProgressCircle.css +40 -40
- package/esm/content/progress/ProgressCircle.sty.js +5 -5
- package/esm/content/progress/ProgressCircle.sty.js.map +1 -1
- package/esm/content/shared-components/Visual.css +3 -3
- package/esm/content/shared-components/Visual.sty.js +1 -1
- package/esm/content/shared-components/Visual.sty.js.map +1 -1
- package/esm/content/skeleton/Skeleton.css +7 -7
- package/esm/content/skeleton/Skeleton.sty.js +5 -5
- package/esm/content/skeleton/Skeleton.sty.js.map +1 -1
- package/esm/content/terminology-overlay/TerminologyOverlay.css +4 -4
- package/esm/content/terminology-overlay/TerminologyOverlay.js +16 -4
- package/esm/content/terminology-overlay/TerminologyOverlay.js.map +2 -2
- package/esm/content/terminology-overlay/TerminologyOverlay.sty.js +1 -1
- package/esm/content/terminology-overlay/TerminologyOverlay.sty.js.map +1 -1
- package/esm/content/terminology-overlay/Trigger.js +5 -1
- package/esm/content/terminology-overlay/Trigger.js.map +2 -2
- package/esm/core/components/app-root/AppRoot.css +2 -2
- package/esm/core/components/app-root/AppRoot.sty.js +1 -1
- package/esm/core/components/app-root/AppRoot.sty.js.map +1 -1
- package/esm/core/components/visually-hidden/VisuallyHidden.css +1 -1
- package/esm/core/components/visually-hidden/VisuallyHidden.sty.js +1 -1
- package/esm/core/components/visually-hidden/VisuallyHidden.sty.js.map +1 -1
- package/esm/core/contexts/PermissionsContext.js +17 -0
- package/esm/core/contexts/PermissionsContext.js.map +7 -0
- package/esm/core/dql/dql-common.js +2 -0
- package/esm/core/dql/dql-common.js.map +2 -2
- package/esm/core/external-links.js +11 -0
- package/esm/core/external-links.js.map +7 -0
- package/esm/core/hooks/useBehavioralTrackingProps.js +1 -1
- package/esm/core/hooks/useBehavioralTrackingProps.js.map +2 -2
- package/esm/core/hooks/usePermissions.js +37 -0
- package/esm/core/hooks/usePermissions.js.map +7 -0
- package/esm/core/index.js +4 -0
- package/esm/core/index.js.map +2 -2
- package/esm/core/sdk/sdk-logger.js +2 -2
- package/esm/core/styles/defaultChartValues.css +1 -1
- package/esm/core/styles/defaultChartValues.sty.js +1 -1
- package/esm/core/styles/defaultChartValues.sty.js.map +1 -1
- package/esm/core/styles/focusRing.css +66 -66
- package/esm/core/styles/focusRing.sty.js +2 -2
- package/esm/core/styles/focusRing.sty.js.map +1 -1
- package/esm/core/styles/focusRingStatic.css +34 -35
- package/esm/core/styles/focusRingStatic.sty.js +1 -1
- package/esm/core/styles/focusRingStatic.sty.js.map +1 -1
- package/esm/core/styles/virtualFocus.css +2 -2
- package/esm/core/styles/virtualFocus.sty.js +1 -1
- package/esm/core/styles/virtualFocus.sty.js.map +1 -1
- package/esm/core/time/timeframeStore/actions/dateTimePicker.js +5 -6
- package/esm/core/time/timeframeStore/actions/dateTimePicker.js.map +2 -2
- package/esm/core/time/timeframeStore/actions/dateTimeRangePicker.js +5 -7
- package/esm/core/time/timeframeStore/actions/dateTimeRangePicker.js.map +2 -2
- package/esm/core/time/timeframeStore/actions/timeframeSelector.js +10 -10
- package/esm/core/time/timeframeStore/actions/timeframeSelector.js.map +2 -2
- package/esm/core/time/useDateTimeMessages.js +6 -6
- package/esm/core/time/useDateTimeMessages.js.map +2 -2
- package/esm/core/time/validation.js +2 -2
- package/esm/core/time/validation.js.map +2 -2
- package/esm/core/utils/colorUtils.css +60 -60
- package/esm/core/utils/colorUtils.sty.js +2 -2
- package/esm/core/utils/colorUtils.sty.js.map +1 -1
- package/esm/core/utils/extract-behavior-tracking-props.js +1 -1
- package/esm/core/utils/extract-behavior-tracking-props.js.map +2 -2
- package/esm/core/utils/permissionsQueryClient.js +15 -0
- package/esm/core/utils/permissionsQueryClient.js.map +7 -0
- package/esm/editors/base-code-editor/BaseCodeEditor.css +133 -133
- package/esm/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
- package/esm/editors/base-code-editor/BaseCodeEditor.sty.js.map +1 -1
- package/esm/editors/dql-editor/DQLEditor.js +124 -75
- package/esm/editors/dql-editor/DQLEditor.js.map +2 -2
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.css +28 -0
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.js +76 -0
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.js.map +7 -0
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js +11 -0
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js.map +7 -0
- package/esm/editors/dql-editor/actions-menu/actions-menu-messages.js +22 -0
- package/esm/editors/dql-editor/actions-menu/actions-menu-messages.js.map +7 -0
- package/esm/editors/dql-editor/dql/DocumentationLink.js +2 -3
- package/esm/editors/dql-editor/dql/DocumentationLink.js.map +2 -2
- package/esm/editors/dql-editor/dql/SuggestionPart.css +1 -1
- package/esm/editors/dql-editor/dql/SuggestionPart.sty.js +1 -1
- package/esm/editors/dql-editor/dql/SuggestionPart.sty.js.map +1 -1
- package/esm/editors/dql-editor/dql/dql-language.js +27 -13
- package/esm/editors/dql-editor/dql/dql-language.js.map +2 -2
- package/esm/editors/dql-editor/dql/dql.js +8 -2
- package/esm/editors/dql-editor/dql/dql.js.map +2 -2
- package/esm/editors/dql-editor/dql/open-autocomplete.js +4 -11
- package/esm/editors/dql-editor/dql/open-autocomplete.js.map +2 -2
- package/esm/filters/filter-field/FilterField.css +119 -116
- package/esm/filters/filter-field/FilterField.js +89 -68
- package/esm/filters/filter-field/FilterField.js.map +2 -2
- package/esm/filters/filter-field/FilterField.sty.js +28 -28
- package/esm/filters/filter-field/FilterField.sty.js.map +1 -1
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.js +1 -0
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.js.map +2 -2
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js.map +1 -1
- package/esm/filters/filter-field/components/FilterStatement.css +13 -13
- package/esm/filters/filter-field/components/FilterStatement.sty.js +6 -6
- package/esm/filters/filter-field/components/FilterStatement.sty.js.map +1 -1
- package/esm/filters/filter-field/hooks/useSuggestions.js +7 -1
- package/esm/filters/filter-field/hooks/useSuggestions.js.map +2 -2
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.css +9 -9
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js +2 -2
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/Suggestion.css +24 -24
- package/esm/filters/filter-field/suggestions/Suggestion.js +10 -1
- package/esm/filters/filter-field/suggestions/Suggestion.js.map +2 -2
- package/esm/filters/filter-field/suggestions/Suggestion.sty.js +17 -15
- package/esm/filters/filter-field/suggestions/Suggestion.sty.js.map +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionDetails.css +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionDetails.sty.js +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionDetails.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroup.css +6 -6
- package/esm/filters/filter-field/suggestions/SuggestionGroup.sty.js +3 -3
- package/esm/filters/filter-field/suggestions/SuggestionGroup.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.css +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionTips.css +7 -7
- package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js +5 -5
- package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/Suggestions.js +1 -1
- package/esm/filters/filter-field/suggestions/Suggestions.js.map +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionsOverlay.css +7 -7
- package/esm/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
- package/esm/filters/filter-field/suggestions/SuggestionsOverlay.sty.js.map +1 -1
- package/esm/filters/filter-field/utils/get-suggestion-transaction.js +1 -1
- package/esm/filters/filter-field/utils/get-suggestion-transaction.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/get-suggestions.js +15 -18
- package/esm/filters/filter-field/utils/suggestions-utils/get-suggestions.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/operator-suggestions.js +4 -2
- package/esm/filters/filter-field/utils/suggestions-utils/operator-suggestions.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/suggestion-matching.js +46 -0
- package/esm/filters/filter-field/utils/suggestions-utils/suggestion-matching.js.map +7 -0
- package/esm/filters/segment-selector/SegmentSelector.css +4 -4
- package/esm/filters/segment-selector/SegmentSelector.js +4 -4
- package/esm/filters/segment-selector/SegmentSelector.js.map +2 -2
- package/esm/filters/segment-selector/SegmentSelector.sty.js +4 -4
- package/esm/filters/segment-selector/SegmentSelector.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/EmptySegments.css +1 -1
- package/esm/filters/segment-selector/parts/EmptySegments.js +7 -3
- package/esm/filters/segment-selector/parts/EmptySegments.js.map +2 -2
- package/esm/filters/segment-selector/parts/EmptySegments.sty.js +1 -1
- package/esm/filters/segment-selector/parts/EmptySegments.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/Overlay.css +8 -8
- package/esm/filters/segment-selector/parts/Overlay.js +8 -4
- package/esm/filters/segment-selector/parts/Overlay.js.map +2 -2
- package/esm/filters/segment-selector/parts/Overlay.sty.js +8 -8
- package/esm/filters/segment-selector/parts/Overlay.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/SegmentFooter.js +7 -3
- package/esm/filters/segment-selector/parts/SegmentFooter.js.map +2 -2
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/noAccessRights/CopyPermissionsButton.js +3 -5
- package/esm/filters/segment-selector/parts/noAccessRights/CopyPermissionsButton.js.map +2 -2
- package/esm/filters/segment-selector/parts/noAccessRights/NoAccessWithoutSelection.js +2 -1
- package/esm/filters/segment-selector/parts/noAccessRights/NoAccessWithoutSelection.js.map +2 -2
- package/esm/filters/segment-selector/parts/segmentManagementHref.js +8 -0
- package/esm/filters/segment-selector/parts/segmentManagementHref.js.map +7 -0
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +32 -32
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js +10 -10
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.css +22 -22
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.js +8 -4
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.js.map +2 -2
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js +7 -7
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js +39 -14
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.css +5 -1
- package/esm/filters/timeframe-selector/TimeframeSelector.js +3 -10
- package/esm/filters/timeframe-selector/TimeframeSelector.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.sty.js +4 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.sty.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js +5 -3
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js.map +2 -2
- package/esm/filters/timeframe-selector/components/TimeframeSelectorTooltip.js +1 -1
- package/esm/filters/timeframe-selector/components/TimeframeSelectorTooltip.js.map +2 -2
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.js +4 -0
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.js.map +2 -2
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js +3 -3
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.css +4 -4
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js +4 -4
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js +6 -7
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js.map +2 -2
- package/esm/filters/timeframe-selector/components/presets/Presets.css +27 -27
- package/esm/filters/timeframe-selector/components/presets/Presets.sty.js +11 -11
- package/esm/filters/timeframe-selector/components/presets/Presets.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/components/stepper/StepperButton.js +1 -1
- package/esm/filters/timeframe-selector/components/stepper/StepperButton.js.map +2 -2
- package/esm/filters/timeframe-selector/components/trigger/Trigger.css +11 -11
- package/esm/filters/timeframe-selector/components/trigger/Trigger.js +1 -0
- package/esm/filters/timeframe-selector/components/trigger/Trigger.js.map +2 -2
- package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
- package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/utils/getTimeframeDisplayValueProps.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.css +99 -99
- package/esm/forms/_base-input/BaseInput.js +35 -20
- package/esm/forms/_base-input/BaseInput.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.sty.js +12 -12
- package/esm/forms/_base-input/BaseInput.sty.js.map +2 -2
- package/esm/forms/_base-input/BaseInputContent.css +7 -7
- package/esm/forms/_base-input/BaseInputContent.js +2 -0
- package/esm/forms/_base-input/BaseInputContent.js.map +2 -2
- package/esm/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/esm/forms/_base-input/BaseInputContent.sty.js.map +1 -1
- package/esm/forms/_base-input/ClearButton.js +25 -0
- package/esm/forms/_base-input/ClearButton.js.map +7 -0
- package/esm/forms/calendar/Calendar.css +47 -47
- package/esm/forms/calendar/Calendar.sty.js +11 -11
- package/esm/forms/calendar/Calendar.sty.js.map +1 -1
- package/esm/forms/calendar/components/CalendarItem.css +7 -7
- package/esm/forms/calendar/components/CalendarItem.sty.js +4 -4
- package/esm/forms/calendar/components/CalendarItem.sty.js.map +1 -1
- package/esm/forms/calendar/components/CalendarOutlineIcon.css +8 -8
- package/esm/forms/calendar/components/CalendarOutlineIcon.sty.js +5 -5
- package/esm/forms/calendar/components/CalendarOutlineIcon.sty.js.map +1 -1
- package/esm/forms/calendar/variables.sty.js +2 -2
- package/esm/forms/calendar/variables.sty.js.map +1 -1
- package/esm/forms/checkbox/Checkbox.css +20 -20
- package/esm/forms/checkbox/Checkbox.sty.js +3 -3
- package/esm/forms/checkbox/Checkbox.sty.js.map +1 -1
- package/esm/forms/date-time-picker/DateTimePicker.css +75 -75
- package/esm/forms/date-time-picker/DateTimePicker.sty.js +6 -6
- package/esm/forms/date-time-picker/DateTimePicker.sty.js.map +1 -1
- package/esm/forms/date-time-picker/DateTimePickerRoot.js +4 -0
- package/esm/forms/date-time-picker/DateTimePickerRoot.js.map +2 -2
- package/esm/forms/date-time-picker/hooks/useDateTimePicker.js +4 -5
- package/esm/forms/date-time-picker/hooks/useDateTimePicker.js.map +2 -2
- package/esm/forms/date-time-picker/utils/focusDateTimeInput.js +23 -0
- package/esm/forms/date-time-picker/utils/focusDateTimeInput.js.map +2 -2
- package/esm/forms/date-time-range-picker/DateRangeSelector.css +1 -1
- package/esm/forms/date-time-range-picker/DateRangeSelector.sty.js +1 -1
- package/esm/forms/date-time-range-picker/DateRangeSelector.sty.js.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeInput.css +11 -11
- package/esm/forms/date-time-range-picker/DateTimeInput.js +4 -0
- package/esm/forms/date-time-range-picker/DateTimeInput.js.map +2 -2
- package/esm/forms/date-time-range-picker/DateTimeInput.sty.js +3 -3
- package/esm/forms/date-time-range-picker/DateTimeInput.sty.js.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.css +27 -27
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.js +3 -7
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.js.map +2 -2
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.sty.js +4 -4
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.sty.js.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeRangePickerRoot.js +24 -8
- package/esm/forms/date-time-range-picker/DateTimeRangePickerRoot.js.map +2 -2
- package/esm/forms/date-time-range-picker/helpers.js +56 -17
- package/esm/forms/date-time-range-picker/helpers.js.map +2 -2
- package/esm/forms/date-time-range-picker/hooks/useDateTimeInput.js +95 -58
- package/esm/forms/date-time-range-picker/hooks/useDateTimeInput.js.map +3 -3
- package/esm/forms/date-time-range-picker/hooks/useDateTimeRangePicker.js +60 -19
- package/esm/forms/date-time-range-picker/hooks/useDateTimeRangePicker.js.map +2 -2
- package/esm/forms/date-time-range-picker/selection-copy-helpers.js +53 -24
- package/esm/forms/date-time-range-picker/selection-copy-helpers.js.map +2 -2
- package/esm/forms/date-time-range-picker/selection-helpers.js +146 -48
- package/esm/forms/date-time-range-picker/selection-helpers.js.map +2 -2
- package/esm/forms/date-time-range-picker/useSelectionInteractionHandlers.js +5 -47
- package/esm/forms/date-time-range-picker/useSelectionInteractionHandlers.js.map +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.css +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.sty.js +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field/FormField.sty.js +1 -1
- package/esm/forms/forms-core/components/form-field/FormField.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js +2 -2
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js +1 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js.map +1 -1
- package/esm/forms/forms-core/components/label/Label.css +5 -5
- package/esm/forms/forms-core/components/label/Label.sty.js +2 -2
- package/esm/forms/forms-core/components/label/Label.sty.js.map +1 -1
- package/esm/forms/forms-core/time/helpers.js +1 -1
- package/esm/forms/forms-core/time/helpers.js.map +2 -2
- package/esm/forms/hooks/useAutofillEvent.css +8 -8
- package/esm/forms/hooks/useAutofillEvent.sty.js +4 -4
- package/esm/forms/hooks/useAutofillEvent.sty.js.map +1 -1
- package/esm/forms/index.js.map +2 -2
- package/esm/forms/number-input/NumberInputBase.js +2 -2
- package/esm/forms/number-input/NumberInputBase.js.map +2 -2
- package/esm/forms/number-input-v2/NumberInput.js +3 -3
- package/esm/forms/number-input-v2/NumberInput.js.map +2 -2
- package/esm/forms/radio/styles.css +18 -18
- package/esm/forms/radio/styles.sty.js +8 -8
- package/esm/forms/radio/styles.sty.js.map +1 -1
- package/esm/forms/search-input/SearchInput.css +4 -1
- package/esm/forms/search-input/SearchInput.js +35 -3
- package/esm/forms/search-input/SearchInput.js.map +2 -2
- package/esm/forms/search-input/SearchInput.sty.js +2 -1
- package/esm/forms/search-input/SearchInput.sty.js.map +2 -2
- package/esm/forms/search-input/Stepper.css +21 -0
- package/esm/forms/search-input/Stepper.js +92 -0
- package/esm/forms/search-input/Stepper.js.map +7 -0
- package/esm/forms/search-input/Stepper.sty.js +16 -0
- package/esm/forms/search-input/Stepper.sty.js.map +7 -0
- package/esm/forms/select/Select.js +6 -2
- package/esm/forms/select/Select.js.map +2 -2
- package/esm/forms/select/components/Control.js +1 -0
- package/esm/forms/select/components/Control.js.map +2 -2
- package/esm/forms/select/components/MenuList.js +1 -0
- package/esm/forms/select/components/MenuList.js.map +2 -2
- package/esm/forms/select/components/Option.js +2 -0
- package/esm/forms/select/components/Option.js.map +2 -2
- package/esm/forms/select/hooks/use-select-options.js +0 -3
- package/esm/forms/select/hooks/use-select-options.js.map +2 -2
- package/esm/forms/select/styles/Select.css +47 -47
- package/esm/forms/select/styles/Select.sty.js +24 -24
- package/esm/forms/select/styles/Select.sty.js.map +1 -1
- package/esm/forms/spin-buttons/SpinButton.css +8 -8
- package/esm/forms/spin-buttons/SpinButton.sty.js +2 -2
- package/esm/forms/spin-buttons/SpinButton.sty.js.map +1 -1
- package/esm/forms/spin-buttons/spin-button-group/hooks/useNavigateSpinButton.js +1 -1
- package/esm/forms/spin-buttons/spin-button-group/hooks/useNavigateSpinButton.js.map +2 -2
- package/esm/forms/switch/Switch.css +36 -36
- package/esm/forms/switch/Switch.sty.js +5 -5
- package/esm/forms/switch/Switch.sty.js.map +1 -1
- package/esm/forms/text-area/TextArea.css +59 -59
- package/esm/forms/text-area/TextArea.sty.js +3 -3
- package/esm/forms/text-area/TextArea.sty.js.map +1 -1
- package/esm/forms/toggle-button-group/styles.css +58 -58
- package/esm/forms/toggle-button-group/styles.sty.js +15 -15
- package/esm/forms/toggle-button-group/styles.sty.js.map +1 -1
- package/esm/layouts/app-header/AppHeader.css +1 -1
- package/esm/layouts/app-header/AppHeader.sty.js +1 -1
- package/esm/layouts/app-header/AppHeader.sty.js.map +1 -1
- package/esm/layouts/app-header/Navigation.css +9 -9
- package/esm/layouts/app-header/Navigation.sty.js +5 -5
- package/esm/layouts/app-header/Navigation.sty.js.map +1 -1
- package/esm/layouts/app-header/action-group/ActionButton.css +17 -17
- package/esm/layouts/app-header/action-group/ActionButton.sty.js +3 -3
- package/esm/layouts/app-header/action-group/ActionButton.sty.js.map +1 -1
- package/esm/layouts/app-header/action-group/ActionGroup.css +1 -1
- package/esm/layouts/app-header/action-group/ActionGroup.sty.js +1 -1
- package/esm/layouts/app-header/action-group/ActionGroup.sty.js.map +1 -1
- package/esm/layouts/app-header/action-group/NavItem.css +4 -4
- package/esm/layouts/app-header/action-group/NavItem.sty.js +3 -3
- package/esm/layouts/app-header/action-group/NavItem.sty.js.map +1 -1
- package/esm/layouts/app-header/app-icon/AppIcon.css +4 -4
- package/esm/layouts/app-header/app-icon/AppIcon.sty.js +1 -1
- package/esm/layouts/app-header/app-icon/AppIcon.sty.js.map +1 -1
- package/esm/layouts/container/Container.css +5 -5
- package/esm/layouts/container/Container.sty.js +1 -1
- package/esm/layouts/container/Container.sty.js.map +1 -1
- package/esm/layouts/divider/Divider.css +6 -6
- package/esm/layouts/divider/Divider.sty.js +1 -1
- package/esm/layouts/divider/Divider.sty.js.map +1 -1
- package/esm/layouts/input-group/InputGroup.css +23 -23
- package/esm/layouts/input-group/InputGroup.sty.js +1 -1
- package/esm/layouts/input-group/InputGroup.sty.js.map +1 -1
- package/esm/layouts/page/DetailView.css +3 -3
- package/esm/layouts/page/DetailView.sty.js +2 -2
- package/esm/layouts/page/DetailView.sty.js.map +1 -1
- package/esm/layouts/page/Header.css +2 -2
- package/esm/layouts/page/Header.sty.js +1 -1
- package/esm/layouts/page/Header.sty.js.map +1 -1
- package/esm/layouts/page/Main.css +6 -6
- package/esm/layouts/page/Main.sty.js +4 -4
- package/esm/layouts/page/Main.sty.js.map +1 -1
- package/esm/layouts/page/Page.css +2 -2
- package/esm/layouts/page/Page.sty.js +1 -1
- package/esm/layouts/page/Page.sty.js.map +1 -1
- package/esm/layouts/page/Sidebar.css +22 -22
- package/esm/layouts/page/Sidebar.sty.js +8 -8
- package/esm/layouts/page/Sidebar.sty.js.map +1 -1
- package/esm/layouts/page/panel.css +18 -18
- package/esm/layouts/page/panel.sty.js +10 -10
- package/esm/layouts/page/panel.sty.js.map +1 -1
- package/esm/layouts/page-layout/PageLayout.css +10 -10
- package/esm/layouts/page-layout/PageLayout.sty.js +6 -6
- package/esm/layouts/page-layout/PageLayout.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.sty.js +3 -3
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/DetailsLayout.css +6 -6
- package/esm/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
- package/esm/layouts/page-layout/details-layout/DetailsLayout.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/Overlay.css +21 -21
- package/esm/layouts/page-layout/details-layout/Overlay.sty.js +4 -4
- package/esm/layouts/page-layout/details-layout/Overlay.sty.js.map +1 -1
- package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.css +38 -38
- package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +15 -15
- package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js.map +1 -1
- package/esm/layouts/split-layout/SplitLayout.css +17 -17
- package/esm/layouts/split-layout/SplitLayout.sty.js +7 -7
- package/esm/layouts/split-layout/SplitLayout.sty.js.map +1 -1
- package/esm/layouts/surface/Surface.css +39 -39
- package/esm/layouts/surface/Surface.sty.js +2 -2
- package/esm/layouts/surface/Surface.sty.js.map +1 -1
- package/esm/layouts/surface/variables.sty.js +1 -1
- package/esm/layouts/surface/variables.sty.js.map +1 -1
- package/esm/layouts/title-bar/TitleBar.css +5 -5
- package/esm/layouts/title-bar/TitleBar.sty.js +4 -4
- package/esm/layouts/title-bar/TitleBar.sty.js.map +1 -1
- package/esm/navigation/breadcrumbs/Breadcrumbs.css +9 -9
- package/esm/navigation/breadcrumbs/Breadcrumbs.sty.js +5 -5
- package/esm/navigation/breadcrumbs/Breadcrumbs.sty.js.map +1 -1
- package/esm/navigation/menu/Content.js +0 -2
- package/esm/navigation/menu/Content.js.map +2 -2
- package/esm/navigation/menu/ItemTooltip.js.map +2 -2
- package/esm/navigation/menu/Menu.css +15 -15
- package/esm/navigation/menu/Menu.js +2 -15
- package/esm/navigation/menu/Menu.js.map +2 -2
- package/esm/navigation/menu/Menu.sty.js +8 -8
- package/esm/navigation/menu/Menu.sty.js.map +1 -1
- package/esm/navigation/menu/Sub.js +2 -15
- package/esm/navigation/menu/Sub.js.map +2 -2
- package/esm/navigation/menu/hooks/useMenuAutoClose.js +33 -0
- package/esm/navigation/menu/hooks/useMenuAutoClose.js.map +7 -0
- package/esm/navigation/tabs/RenderTab.css +14 -14
- package/esm/navigation/tabs/RenderTab.sty.js +3 -3
- package/esm/navigation/tabs/RenderTab.sty.js.map +1 -1
- package/esm/navigation/tabs/TabPanel.css +3 -3
- package/esm/navigation/tabs/TabPanel.sty.js +2 -2
- package/esm/navigation/tabs/TabPanel.sty.js.map +1 -1
- package/esm/navigation/tabs/Tabs.css +9 -9
- package/esm/navigation/tabs/Tabs.sty.js +5 -5
- package/esm/navigation/tabs/Tabs.sty.js.map +1 -1
- package/esm/notifications/notification-settings/NotificationSettings.css +1 -1
- package/esm/notifications/notification-settings/NotificationSettings.sty.js +1 -1
- package/esm/notifications/notification-settings/NotificationSettings.sty.js.map +1 -1
- package/esm/notifications/toast/Toast.css +5 -5
- package/esm/notifications/toast/Toast.sty.js +4 -4
- package/esm/notifications/toast/Toast.sty.js.map +1 -1
- package/esm/notifications/toast/ToastContainer.css +17 -17
- package/esm/notifications/toast/ToastContainer.sty.js +1 -1
- package/esm/notifications/toast/ToastContainer.sty.js.map +1 -1
- package/esm/overlays/drawer/Drawer.css +9 -9
- package/esm/overlays/drawer/Drawer.sty.js +5 -5
- package/esm/overlays/drawer/Drawer.sty.js.map +1 -1
- package/esm/overlays/hooks/useOverlay.js +21 -0
- package/esm/overlays/hooks/useOverlay.js.map +2 -2
- package/esm/overlays/modal/Modal.css +7 -7
- package/esm/overlays/modal/Modal.sty.js +4 -4
- package/esm/overlays/modal/Modal.sty.js.map +1 -1
- package/esm/overlays/overlay/Overlay.css +1 -1
- package/esm/overlays/overlay/Overlay.sty.js +1 -1
- package/esm/overlays/overlay/Overlay.sty.js.map +1 -1
- package/esm/overlays/sheet/Sheet.css +6 -6
- package/esm/overlays/sheet/Sheet.sty.js +5 -5
- package/esm/overlays/sheet/Sheet.sty.js.map +1 -1
- package/esm/overlays/tooltip/tooltip.css +18 -18
- package/esm/overlays/tooltip/tooltip.sty.js +3 -3
- package/esm/overlays/tooltip/tooltip.sty.js.map +1 -1
- package/esm/styles/colorUtils.css +60 -60
- package/esm/styles/colorUtils.sty.js +2 -2
- package/esm/styles/colorUtils.sty.js.map +1 -1
- package/esm/styles/container.css +47 -47
- package/esm/styles/container.sty.js +2 -2
- package/esm/styles/container.sty.js.map +1 -1
- package/esm/styles/ellipsis.css +1 -1
- package/esm/styles/ellipsis.sty.js +1 -1
- package/esm/styles/ellipsis.sty.js.map +1 -1
- package/esm/styles/field.css +290 -290
- package/esm/styles/field.sty.js +2 -2
- package/esm/styles/field.sty.js.map +1 -1
- package/esm/styles/screen-reader-only.css +1 -1
- package/esm/styles/screen-reader-only.sty.js +1 -1
- package/esm/styles/screen-reader-only.sty.js.map +1 -1
- package/esm/styles/sprinkles.css +262 -262
- package/esm/styles/sprinkles.sty.js +1 -1
- package/esm/styles/sprinkles.sty.js.map +1 -1
- package/esm/styles/textStyle.css +8 -8
- package/esm/styles/textStyle.sty.js +1 -1
- package/esm/styles/textStyle.sty.js.map +1 -1
- package/esm/tables/DataTable/DataTable.css +2 -2
- package/esm/tables/DataTable/DataTable.sty.js +7 -7
- package/esm/tables/DataTable/DataTable.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Alignment.css +6 -6
- package/esm/tables/DataTable/components/Alignment.sty.js +2 -2
- package/esm/tables/DataTable/components/Alignment.sty.js.map +1 -1
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.css +6 -6
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableBody.css +2 -2
- package/esm/tables/DataTable/components/DataTableBody.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableBody.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableCell.css +99 -99
- package/esm/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/esm/tables/DataTable/components/DataTableCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableDefaultCell.css +21 -21
- package/esm/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableDefaultCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableEmptyState.css +2 -2
- package/esm/tables/DataTable/components/DataTableEmptyState.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableEmptyState.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableHeader.css +2 -2
- package/esm/tables/DataTable/components/DataTableHeader.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableHeader.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableHeaderCell.css +64 -64
- package/esm/tables/DataTable/components/DataTableHeaderCell.js +4 -3
- package/esm/tables/DataTable/components/DataTableHeaderCell.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
- package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableRow.css +13 -13
- package/esm/tables/DataTable/components/DataTableRow.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableRow.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableScrollShadow.css +10 -10
- package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.css +20 -20
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js.map +1 -1
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.css +5 -5
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js +2 -2
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.css +7 -7
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnOrderSettings.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js +21 -7
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +5 -5
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +7 -7
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.css +5 -5
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js +8 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js +2 -2
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js.map +1 -1
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.css +8 -8
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js +4 -4
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js.map +1 -1
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js.map +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.css +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.css +3 -3
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js +2 -2
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.css +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.css +4 -4
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js.map +1 -1
- package/esm/tables/DataTable/features/LoadingState/LoadingState.css +2 -2
- package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js +2 -2
- package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js.map +1 -1
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.js +8 -2
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.js.map +2 -2
- package/esm/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
- package/esm/tables/DataTable/features/RowDetails/RowDetails.sty.js +3 -3
- package/esm/tables/DataTable/features/RowDetails/RowDetails.sty.js.map +1 -1
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.css +14 -14
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js +1 -1
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js.map +1 -1
- package/esm/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
- package/esm/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
- package/esm/tables/DataTable/features/RowOrder/RowOrder.sty.js.map +1 -1
- package/esm/tables/DataTable/features/Sorting/Sorting.css +34 -34
- package/esm/tables/DataTable/features/Sorting/Sorting.sty.js +3 -3
- package/esm/tables/DataTable/features/Sorting/Sorting.sty.js.map +1 -1
- package/esm/tables/DataTable/features/SubRows/SubRows.css +19 -19
- package/esm/tables/DataTable/features/SubRows/SubRows.sty.js +5 -5
- package/esm/tables/DataTable/features/SubRows/SubRows.sty.js.map +1 -1
- package/esm/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
- package/esm/tables/DataTable/features/Thresholds/Thresholds.sty.js +3 -3
- package/esm/tables/DataTable/features/Thresholds/Thresholds.sty.js.map +1 -1
- package/esm/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/esm/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/esm/tables/DataTable/features/UserActions/RowActions.sty.js.map +1 -1
- package/esm/tables/DataTable/features/UserActions/UserActions.css +18 -18
- package/esm/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
- package/esm/tables/DataTable/features/UserActions/UserActions.sty.js.map +1 -1
- package/esm/tables/DataTable/hooks/useHeaderCellInteractions.js +38 -15
- package/esm/tables/DataTable/hooks/useHeaderCellInteractions.js.map +2 -2
- package/esm/tables/SimpleTable/SimpleTable.css +27 -27
- package/esm/tables/SimpleTable/SimpleTable.sty.js +1 -1
- package/esm/tables/SimpleTable/SimpleTable.sty.js.map +1 -1
- package/esm/tables/index.js.map +2 -2
- package/esm/typography/block-quote/Blockquote.css +2 -2
- package/esm/typography/block-quote/Blockquote.sty.js +1 -1
- package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
- package/esm/typography/code/Code.css +1 -1
- package/esm/typography/code/Code.sty.js +1 -1
- package/esm/typography/code/Code.sty.js.map +1 -1
- package/esm/typography/emphasis/Emphasis.css +1 -1
- package/esm/typography/emphasis/Emphasis.sty.js +1 -1
- package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
- package/esm/typography/external-link/ExternalLink.css +6 -6
- package/esm/typography/external-link/ExternalLink.sty.js +1 -1
- package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
- package/esm/typography/heading/Heading.css +7 -7
- package/esm/typography/heading/Heading.sty.js +1 -1
- package/esm/typography/heading/Heading.sty.js.map +1 -1
- package/esm/typography/highlight/Highlight.css +2 -2
- package/esm/typography/highlight/Highlight.sty.js +1 -1
- package/esm/typography/highlight/Highlight.sty.js.map +1 -1
- package/esm/typography/link/Link.css +4 -4
- package/esm/typography/link/Link.sty.js +1 -1
- package/esm/typography/link/Link.sty.js.map +1 -1
- package/esm/typography/list/List.css +4 -4
- package/esm/typography/list/List.sty.js +2 -2
- package/esm/typography/list/List.sty.js.map +1 -1
- package/esm/typography/paragraph/Paragraph.css +3 -3
- package/esm/typography/paragraph/Paragraph.sty.js +1 -1
- package/esm/typography/paragraph/Paragraph.sty.js.map +1 -1
- package/esm/typography/strikethrough/Strikethrough.css +1 -1
- package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
- package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
- package/esm/typography/strong/Strong.css +1 -1
- package/esm/typography/strong/Strong.sty.js +1 -1
- package/esm/typography/strong/Strong.sty.js.map +1 -1
- package/esm/typography/text/Text.css +3 -3
- package/esm/typography/text/Text.sty.js +1 -1
- package/esm/typography/text/Text.sty.js.map +1 -1
- package/esm/typography/text-ellipsis/TextEllipsis.css +6 -6
- package/esm/typography/text-ellipsis/TextEllipsis.js +2 -6
- package/esm/typography/text-ellipsis/TextEllipsis.js.map +2 -2
- package/esm/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
- package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +1 -1
- package/filters/filter-field/FilterField.css +119 -116
- package/filters/filter-field/FilterField.js +89 -68
- package/filters/filter-field/FilterField.sty.js +28 -28
- package/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
- package/filters/filter-field/components/FilterFieldSuffixButtons.js +1 -0
- package/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
- package/filters/filter-field/components/FilterStatement.css +13 -13
- package/filters/filter-field/components/FilterStatement.sty.js +6 -6
- package/filters/filter-field/hooks/useSuggestions.js +7 -1
- package/filters/filter-field/suggestions/RecentPinnedSuggestionItem.css +9 -9
- package/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js +2 -2
- package/filters/filter-field/suggestions/Suggestion.css +24 -24
- package/filters/filter-field/suggestions/Suggestion.js +9 -1
- package/filters/filter-field/suggestions/Suggestion.sty.d.ts +7 -0
- package/filters/filter-field/suggestions/Suggestion.sty.js +17 -15
- package/filters/filter-field/suggestions/SuggestionDetails.css +2 -2
- package/filters/filter-field/suggestions/SuggestionDetails.sty.js +2 -2
- package/filters/filter-field/suggestions/SuggestionGroup.css +6 -6
- package/filters/filter-field/suggestions/SuggestionGroup.sty.js +3 -3
- package/filters/filter-field/suggestions/SuggestionGroupLabel.css +1 -1
- package/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js +1 -1
- package/filters/filter-field/suggestions/SuggestionTips.css +7 -7
- package/filters/filter-field/suggestions/SuggestionTips.sty.js +5 -5
- package/filters/filter-field/suggestions/Suggestions.js +1 -1
- package/filters/filter-field/suggestions/SuggestionsOverlay.css +7 -7
- package/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
- package/filters/filter-field/utils/get-suggestion-transaction.js +1 -1
- package/filters/filter-field/utils/suggestions-utils/get-suggestions.d.ts +8 -1
- package/filters/filter-field/utils/suggestions-utils/get-suggestions.js +11 -18
- package/filters/filter-field/utils/suggestions-utils/operator-suggestions.js +4 -2
- package/filters/filter-field/utils/suggestions-utils/suggestion-matching.d.ts +43 -0
- package/filters/filter-field/utils/suggestions-utils/suggestion-matching.js +64 -0
- package/filters/segment-selector/SegmentSelector.css +4 -4
- package/filters/segment-selector/SegmentSelector.js +4 -4
- package/filters/segment-selector/SegmentSelector.sty.js +4 -4
- package/filters/segment-selector/parts/EmptySegments.css +1 -1
- package/filters/segment-selector/parts/EmptySegments.js +7 -3
- package/filters/segment-selector/parts/EmptySegments.sty.js +1 -1
- package/filters/segment-selector/parts/Overlay.css +8 -8
- package/filters/segment-selector/parts/Overlay.js +8 -4
- package/filters/segment-selector/parts/Overlay.sty.js +8 -8
- package/filters/segment-selector/parts/SegmentFooter.js +7 -3
- package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
- package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
- package/filters/segment-selector/parts/noAccessRights/CopyPermissionsButton.js +3 -5
- package/filters/segment-selector/parts/noAccessRights/NoAccessWithoutSelection.js +2 -1
- package/filters/segment-selector/parts/segmentManagementHref.d.ts +2 -0
- package/filters/segment-selector/parts/segmentManagementHref.js +26 -0
- package/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +32 -32
- package/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js +10 -10
- package/filters/segment-selector/parts/selectionBar/SegmentSelect.css +22 -22
- package/filters/segment-selector/parts/selectionBar/SegmentSelect.js +8 -4
- package/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js +7 -7
- package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
- package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
- package/filters/segment-selector/parts/selectionBar/ValueSelect.js +39 -14
- package/filters/timeframe-selector/TimeframeSelector.css +5 -1
- package/filters/timeframe-selector/TimeframeSelector.js +6 -13
- package/filters/timeframe-selector/TimeframeSelector.sty.d.ts +1 -0
- package/filters/timeframe-selector/TimeframeSelector.sty.js +4 -2
- package/filters/timeframe-selector/TimeframeSelectorRoot.js +15 -3
- package/filters/timeframe-selector/components/TimeframeSelectorTooltip.d.ts +2 -2
- package/filters/timeframe-selector/components/TimeframeSelectorTooltip.js +1 -1
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.js +4 -0
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js +3 -3
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.css +4 -4
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js +4 -4
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js +5 -3
- package/filters/timeframe-selector/components/presets/Presets.css +27 -27
- package/filters/timeframe-selector/components/presets/Presets.sty.js +11 -11
- package/filters/timeframe-selector/components/stepper/StepperButton.js +1 -1
- package/filters/timeframe-selector/components/trigger/Trigger.css +11 -11
- package/filters/timeframe-selector/components/trigger/Trigger.js +1 -0
- package/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
- package/filters/timeframe-selector/utils/getTimeframeDisplayValueProps.d.ts +2 -2
- package/forms/_base-input/BaseInput.css +99 -99
- package/forms/_base-input/BaseInput.d.ts +1 -0
- package/forms/_base-input/BaseInput.js +30 -19
- package/forms/_base-input/BaseInput.sty.d.ts +1 -1
- package/forms/_base-input/BaseInput.sty.js +12 -12
- package/forms/_base-input/BaseInputContent.css +7 -7
- package/forms/_base-input/BaseInputContent.d.ts +5 -0
- package/forms/_base-input/BaseInputContent.js +2 -0
- package/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/forms/_base-input/ClearButton.d.ts +3 -0
- package/forms/_base-input/ClearButton.js +53 -0
- package/forms/_base-input/base-input.types.d.ts +1 -0
- package/forms/calendar/Calendar.css +47 -47
- package/forms/calendar/Calendar.sty.js +11 -11
- package/forms/calendar/components/CalendarItem.css +7 -7
- package/forms/calendar/components/CalendarItem.sty.js +4 -4
- package/forms/calendar/components/CalendarOutlineIcon.css +8 -8
- package/forms/calendar/components/CalendarOutlineIcon.sty.js +5 -5
- package/forms/calendar/variables.sty.js +2 -2
- package/forms/checkbox/Checkbox.css +20 -20
- package/forms/checkbox/Checkbox.sty.js +3 -3
- package/forms/date-time-picker/DateTimePicker.css +75 -75
- package/forms/date-time-picker/DateTimePicker.sty.js +6 -6
- package/forms/date-time-picker/DateTimePickerRoot.js +4 -0
- package/forms/date-time-picker/hooks/useDateTimePicker.d.ts +1 -1
- package/forms/date-time-picker/hooks/useDateTimePicker.js +4 -5
- package/forms/date-time-picker/utils/focusDateTimeInput.d.ts +9 -0
- package/forms/date-time-picker/utils/focusDateTimeInput.js +23 -0
- package/forms/date-time-range-picker/DateRangeSelector.css +1 -1
- package/forms/date-time-range-picker/DateRangeSelector.sty.js +1 -1
- package/forms/date-time-range-picker/DateTimeInput.css +11 -11
- package/forms/date-time-range-picker/DateTimeInput.js +4 -0
- package/forms/date-time-range-picker/DateTimeInput.sty.js +3 -3
- package/forms/date-time-range-picker/DateTimeRangePicker.css +27 -27
- package/forms/date-time-range-picker/DateTimeRangePicker.js +6 -10
- package/forms/date-time-range-picker/DateTimeRangePicker.sty.js +4 -4
- package/forms/date-time-range-picker/DateTimeRangePickerRoot.js +22 -8
- package/forms/date-time-range-picker/helpers.d.ts +22 -4
- package/forms/date-time-range-picker/helpers.js +52 -13
- package/forms/date-time-range-picker/hooks/useDateTimeInput.d.ts +2 -0
- package/forms/date-time-range-picker/hooks/useDateTimeInput.js +91 -58
- package/forms/date-time-range-picker/hooks/useDateTimeRangePicker.js +56 -19
- package/forms/date-time-range-picker/selection-copy-helpers.js +53 -24
- package/forms/date-time-range-picker/selection-helpers.d.ts +19 -4
- package/forms/date-time-range-picker/selection-helpers.js +146 -48
- package/forms/date-time-range-picker/types.d.ts +17 -0
- package/forms/date-time-range-picker/useSelectionInteractionHandlers.js +4 -44
- package/forms/forms-core/components/field-set/FieldSet.css +2 -2
- package/forms/forms-core/components/field-set/FieldSet.sty.js +2 -2
- package/forms/forms-core/components/form-field/FormField.sty.js +1 -1
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js +2 -2
- package/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js +1 -1
- package/forms/forms-core/components/label/Label.css +5 -5
- package/forms/forms-core/components/label/Label.sty.js +2 -2
- package/forms/forms-core/time/helpers.js +1 -1
- package/forms/hooks/useAutofillEvent.css +8 -8
- package/forms/hooks/useAutofillEvent.sty.js +4 -4
- package/forms/index.d.ts +1 -0
- package/forms/number-input/NumberInputBase.js +2 -2
- package/forms/number-input-v2/NumberInput.js +3 -3
- package/forms/radio/styles.css +18 -18
- package/forms/radio/styles.sty.js +8 -8
- package/forms/search-input/SearchInput.css +4 -1
- package/forms/search-input/SearchInput.d.ts +1 -0
- package/forms/search-input/SearchInput.js +35 -3
- package/forms/search-input/SearchInput.sty.d.ts +7 -1
- package/forms/search-input/SearchInput.sty.js +2 -1
- package/forms/search-input/Stepper.css +21 -0
- package/forms/search-input/Stepper.d.ts +13 -0
- package/forms/search-input/Stepper.js +120 -0
- package/forms/search-input/Stepper.sty.d.ts +3 -0
- package/forms/search-input/Stepper.sty.js +34 -0
- package/forms/select/Select.js +6 -2
- package/forms/select/components/Control.js +1 -0
- package/forms/select/components/MenuList.js +1 -0
- package/forms/select/components/Option.js +2 -0
- package/forms/select/hooks/use-select-options.js +0 -3
- package/forms/select/styles/Select.css +47 -47
- package/forms/select/styles/Select.sty.js +24 -24
- package/forms/spin-buttons/SpinButton.css +8 -8
- package/forms/spin-buttons/SpinButton.sty.js +2 -2
- package/forms/spin-buttons/spin-button-group/hooks/useNavigateSpinButton.js +1 -1
- package/forms/switch/Switch.css +36 -36
- package/forms/switch/Switch.sty.js +5 -5
- package/forms/text-area/TextArea.css +59 -59
- package/forms/text-area/TextArea.sty.js +3 -3
- package/forms/toggle-button-group/styles.css +58 -58
- package/forms/toggle-button-group/styles.sty.js +15 -15
- package/lang/en.json +507 -485
- package/lang/ja.json +542 -560
- package/lang/uncompiled/en.json +24 -4
- package/lang/uncompiled/ja.json +68 -71
- package/layouts/app-header/AppHeader.css +1 -1
- package/layouts/app-header/AppHeader.sty.js +1 -1
- package/layouts/app-header/Navigation.css +9 -9
- package/layouts/app-header/Navigation.sty.js +5 -5
- package/layouts/app-header/action-group/ActionButton.css +17 -17
- package/layouts/app-header/action-group/ActionButton.sty.js +3 -3
- package/layouts/app-header/action-group/ActionGroup.css +1 -1
- package/layouts/app-header/action-group/ActionGroup.sty.js +1 -1
- package/layouts/app-header/action-group/NavItem.css +4 -4
- package/layouts/app-header/action-group/NavItem.sty.js +3 -3
- package/layouts/app-header/app-icon/AppIcon.css +4 -4
- package/layouts/app-header/app-icon/AppIcon.sty.js +1 -1
- package/layouts/container/Container.css +5 -5
- package/layouts/container/Container.sty.js +1 -1
- package/layouts/divider/Divider.css +6 -6
- package/layouts/divider/Divider.sty.js +1 -1
- package/layouts/input-group/InputGroup.css +23 -23
- package/layouts/input-group/InputGroup.sty.js +1 -1
- package/layouts/page/DetailView.css +3 -3
- package/layouts/page/DetailView.sty.js +2 -2
- package/layouts/page/Header.css +2 -2
- package/layouts/page/Header.sty.js +1 -1
- package/layouts/page/Main.css +6 -6
- package/layouts/page/Main.sty.js +4 -4
- package/layouts/page/Page.css +2 -2
- package/layouts/page/Page.sty.js +1 -1
- package/layouts/page/Sidebar.css +22 -22
- package/layouts/page/Sidebar.sty.js +8 -8
- package/layouts/page/panel.css +18 -18
- package/layouts/page/panel.sty.js +10 -10
- package/layouts/page-layout/PageLayout.css +10 -10
- package/layouts/page-layout/PageLayout.sty.js +6 -6
- package/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
- package/layouts/page-layout/details-layout/DetailsControlBar.sty.js +3 -3
- package/layouts/page-layout/details-layout/DetailsLayout.css +6 -6
- package/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
- package/layouts/page-layout/details-layout/Overlay.css +21 -21
- package/layouts/page-layout/details-layout/Overlay.sty.js +4 -4
- package/layouts/page-layout/sidebar-layout/SidebarLayout.css +38 -38
- package/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +15 -15
- package/layouts/split-layout/SplitLayout.css +17 -17
- package/layouts/split-layout/SplitLayout.sty.js +7 -7
- package/layouts/surface/Surface.css +39 -39
- package/layouts/surface/Surface.sty.js +2 -2
- package/layouts/surface/variables.sty.js +1 -1
- package/layouts/title-bar/TitleBar.css +5 -5
- package/layouts/title-bar/TitleBar.sty.js +4 -4
- package/navigation/breadcrumbs/Breadcrumbs.css +9 -9
- package/navigation/breadcrumbs/Breadcrumbs.sty.js +5 -5
- package/navigation/menu/Content.js +0 -2
- package/navigation/menu/Menu.css +15 -15
- package/navigation/menu/Menu.js +2 -13
- package/navigation/menu/Menu.sty.js +8 -8
- package/navigation/menu/Sub.js +2 -13
- package/navigation/menu/hooks/useMenuAutoClose.d.ts +16 -0
- package/navigation/menu/hooks/useMenuAutoClose.js +48 -0
- package/navigation/tabs/RenderTab.css +14 -14
- package/navigation/tabs/RenderTab.sty.js +3 -3
- package/navigation/tabs/TabPanel.css +3 -3
- package/navigation/tabs/TabPanel.sty.js +2 -2
- package/navigation/tabs/Tabs.css +9 -9
- package/navigation/tabs/Tabs.sty.js +5 -5
- package/notifications/notification-settings/NotificationSettings.css +1 -1
- package/notifications/notification-settings/NotificationSettings.sty.js +1 -1
- package/notifications/toast/Toast.css +5 -5
- package/notifications/toast/Toast.sty.js +4 -4
- package/notifications/toast/ToastContainer.css +17 -17
- package/notifications/toast/ToastContainer.sty.js +1 -1
- package/overlays/drawer/Drawer.css +9 -9
- package/overlays/drawer/Drawer.sty.js +5 -5
- package/overlays/hooks/useOverlay.d.ts +18 -0
- package/overlays/hooks/useOverlay.js +21 -0
- package/overlays/modal/Modal.css +7 -7
- package/overlays/modal/Modal.sty.js +4 -4
- package/overlays/overlay/Overlay.css +1 -1
- package/overlays/overlay/Overlay.sty.js +1 -1
- package/overlays/sheet/Sheet.css +6 -6
- package/overlays/sheet/Sheet.sty.js +5 -5
- package/overlays/tooltip/tooltip.css +18 -18
- package/overlays/tooltip/tooltip.sty.js +3 -3
- package/package.json +1 -1
- package/styles/colorUtils.css +60 -60
- package/styles/colorUtils.sty.js +2 -2
- package/styles/container.css +47 -47
- package/styles/container.sty.js +2 -2
- package/styles/ellipsis.css +1 -1
- package/styles/ellipsis.sty.js +1 -1
- package/styles/field.css +290 -290
- package/styles/field.sty.js +2 -2
- package/styles/screen-reader-only.css +1 -1
- package/styles/screen-reader-only.sty.js +1 -1
- package/styles/sprinkles.css +262 -262
- package/styles/sprinkles.sty.js +1 -1
- package/styles/textStyle.css +8 -8
- package/styles/textStyle.sty.js +1 -1
- package/tables/DataTable/DataTable.css +2 -2
- package/tables/DataTable/DataTable.sty.js +7 -7
- package/tables/DataTable/components/Alignment.css +6 -6
- package/tables/DataTable/components/Alignment.sty.js +2 -2
- package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.css +6 -6
- package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
- package/tables/DataTable/components/DataTableBody.css +2 -2
- package/tables/DataTable/components/DataTableBody.sty.js +2 -2
- package/tables/DataTable/components/DataTableCell.css +99 -99
- package/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/tables/DataTable/components/DataTableDefaultCell.css +21 -21
- package/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
- package/tables/DataTable/components/DataTableEmptyState.css +2 -2
- package/tables/DataTable/components/DataTableEmptyState.sty.js +1 -1
- package/tables/DataTable/components/DataTableHeader.css +2 -2
- package/tables/DataTable/components/DataTableHeader.sty.js +2 -2
- package/tables/DataTable/components/DataTableHeaderCell.css +64 -64
- package/tables/DataTable/components/DataTableHeaderCell.js +4 -3
- package/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
- package/tables/DataTable/components/DataTableRow.css +13 -13
- package/tables/DataTable/components/DataTableRow.sty.js +1 -1
- package/tables/DataTable/components/DataTableScrollShadow.css +10 -10
- package/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
- package/tables/DataTable/components/DataTableVirtualizationContainer.css +20 -20
- package/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
- package/tables/DataTable/components/TableActions/DataTableSelectionChip.css +5 -5
- package/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js +2 -2
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.css +7 -7
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnOrderSettings.d.ts +1 -11
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js +18 -6
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +5 -5
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +7 -7
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.css +5 -5
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-types.d.ts +24 -13
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.d.ts +21 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js +8 -0
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js +2 -2
- package/tables/DataTable/features/ColumnOrder/ColumnOrder.css +8 -8
- package/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js +4 -4
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.css +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttChartCell.css +3 -3
- package/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js +2 -2
- package/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.css +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.css +4 -4
- package/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js +1 -1
- package/tables/DataTable/features/LoadingState/LoadingState.css +2 -2
- package/tables/DataTable/features/LoadingState/LoadingState.sty.js +2 -2
- package/tables/DataTable/features/MeterBarChart/MeterBarChart.js +8 -2
- package/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
- package/tables/DataTable/features/RowDetails/RowDetails.sty.js +3 -3
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.css +14 -14
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js +1 -1
- package/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
- package/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
- package/tables/DataTable/features/Sorting/Sorting.css +34 -34
- package/tables/DataTable/features/Sorting/Sorting.sty.js +3 -3
- package/tables/DataTable/features/SubRows/SubRows.css +19 -19
- package/tables/DataTable/features/SubRows/SubRows.sty.js +5 -5
- package/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
- package/tables/DataTable/features/Thresholds/Thresholds.sty.js +3 -3
- package/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/tables/DataTable/features/UserActions/UserActions.css +18 -18
- package/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
- package/tables/DataTable/hooks/useHeaderCellInteractions.d.ts +3 -2
- package/tables/DataTable/hooks/useHeaderCellInteractions.js +33 -14
- package/tables/DataTable/public.api.d.ts +20 -5
- package/tables/SimpleTable/SimpleTable.css +27 -27
- package/tables/SimpleTable/SimpleTable.sty.js +1 -1
- package/tables/index.d.ts +2 -3
- package/typography/block-quote/Blockquote.css +2 -2
- package/typography/block-quote/Blockquote.sty.js +1 -1
- package/typography/code/Code.css +1 -1
- package/typography/code/Code.sty.js +1 -1
- package/typography/emphasis/Emphasis.css +1 -1
- package/typography/emphasis/Emphasis.sty.js +1 -1
- package/typography/external-link/ExternalLink.css +6 -6
- package/typography/external-link/ExternalLink.sty.js +1 -1
- package/typography/heading/Heading.css +7 -7
- package/typography/heading/Heading.sty.js +1 -1
- package/typography/highlight/Highlight.css +2 -2
- package/typography/highlight/Highlight.sty.js +1 -1
- package/typography/link/Link.css +4 -4
- package/typography/link/Link.sty.js +1 -1
- package/typography/list/List.css +4 -4
- package/typography/list/List.sty.js +2 -2
- package/typography/paragraph/Paragraph.css +3 -3
- package/typography/paragraph/Paragraph.sty.js +1 -1
- package/typography/strikethrough/Strikethrough.css +1 -1
- package/typography/strikethrough/Strikethrough.sty.js +1 -1
- package/typography/strong/Strong.css +1 -1
- package/typography/strong/Strong.sty.js +1 -1
- package/typography/text/Text.css +3 -3
- package/typography/text/Text.sty.js +1 -1
- package/typography/text-ellipsis/TextEllipsis.css +6 -6
- package/typography/text-ellipsis/TextEllipsis.js +2 -6
- package/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
- package/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltip.d.ts +0 -7
- package/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltip.js +0 -61
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.css +0 -4
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.d.ts +0 -13
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.js +0 -113
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.sty.d.ts +0 -1
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltipHeaders.d.ts +0 -7
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltipHeaders.js +0 -43
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltipItem.d.ts +0 -9
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltipItem.js +0 -95
- package/charts/core/components/annotations/components/tooltip/hooks/useRegisterTooltipHandlerCallbacks.d.ts +0 -10
- package/charts/core/components/annotations/components/tooltip/hooks/useRegisterTooltipHandlerCallbacks.js +0 -49
- package/charts/core/components/overlay-tooltip/components/TooltipFooter.d.ts +0 -7
- package/charts/gauge/contexts/GaugeChartTooltipNameContext.d.ts +0 -8
- package/charts/gauge/hooks/useGaugeChartOverlayEvents.d.ts +0 -12
- package/charts/gauge/hooks/useGaugeChartOverlayEvents.js +0 -66
- package/charts/meter-bar/single-meter-bar/hooks/useMeterBarChartTooltipHandlers.d.ts +0 -7
- package/charts/meter-bar/single-meter-bar/hooks/useMeterBarChartTooltipHandlers.js +0 -61
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltip.js +0 -46
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltip.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.css +0 -4
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.js +0 -100
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.sty.js +0 -6
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.sty.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltipHeaders.js +0 -25
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltipHeaders.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltipItem.js +0 -67
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltipItem.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/hooks/useRegisterTooltipHandlerCallbacks.js +0 -31
- package/esm/charts/core/components/annotations/components/tooltip/hooks/useRegisterTooltipHandlerCallbacks.js.map +0 -7
- package/esm/charts/core/components/overlay-tooltip/components/TooltipFooter.js.map +0 -7
- package/esm/charts/gauge/contexts/GaugeChartTooltipNameContext.js +0 -10
- package/esm/charts/gauge/contexts/GaugeChartTooltipNameContext.js.map +0 -7
- package/esm/charts/gauge/hooks/useGaugeChartOverlayEvents.js +0 -48
- package/esm/charts/gauge/hooks/useGaugeChartOverlayEvents.js.map +0 -7
- package/esm/charts/meter-bar/single-meter-bar/hooks/useMeterBarChartTooltipHandlers.js +0 -43
- package/esm/charts/meter-bar/single-meter-bar/hooks/useMeterBarChartTooltipHandlers.js.map +0 -7
- package/esm/charts/xy-chart/components/displays/BarDisplay.js.map +0 -7
- package/esm/filters/segment-selector/parts/sendSegmentManagementAddOnIntent.js +0 -27
- package/esm/filters/segment-selector/parts/sendSegmentManagementAddOnIntent.js.map +0 -7
- package/filters/segment-selector/parts/sendSegmentManagementAddOnIntent.d.ts +0 -2
- package/filters/segment-selector/parts/sendSegmentManagementAddOnIntent.js +0 -43
|
@@ -16,6 +16,9 @@ import * as styles from "./DateTimeRangePicker.sty.js";
|
|
|
16
16
|
import { isExpressionTriggerKey } from "./expression-trigger-helpers.js";
|
|
17
17
|
import { useDateTimeRangePicker } from "./hooks/useDateTimeRangePicker.js";
|
|
18
18
|
import { onTimeframeCopyCapture } from "./selection-copy-helpers.js";
|
|
19
|
+
import {
|
|
20
|
+
peekPreRestoreEndpoints
|
|
21
|
+
} from "./selection-helpers.js";
|
|
19
22
|
import { useSelectionInteractionHandlers } from "./useSelectionInteractionHandlers.js";
|
|
20
23
|
import { Button } from "../../buttons/button/Button.js";
|
|
21
24
|
import { useAriaLabelingProps } from "../../core/hooks/useAriaLabelingProps.js";
|
|
@@ -37,7 +40,7 @@ import { FormFieldMessageContext } from "../forms-core/contexts/FormFieldMessage
|
|
|
37
40
|
import { useFormFieldMessagesContext } from "../forms-core/hooks/useFormFieldMessagesContext.js";
|
|
38
41
|
import { useSyncedFormControlProps } from "../forms-core/hooks/useSyncedFormControlProps.js";
|
|
39
42
|
import { FormFieldMessagesAction } from "../forms-core/state/formfield-messages-state-reducer.js";
|
|
40
|
-
function isInputInSelectionOrFocused(ref) {
|
|
43
|
+
function isInputInSelectionOrFocused(ref, preRestoreEndpoints) {
|
|
41
44
|
const element = ref.current?.element;
|
|
42
45
|
if (!element) {
|
|
43
46
|
return false;
|
|
@@ -46,11 +49,12 @@ function isInputInSelectionOrFocused(ref) {
|
|
|
46
49
|
return true;
|
|
47
50
|
}
|
|
48
51
|
const selection = window.getSelection();
|
|
49
|
-
if (
|
|
50
|
-
|
|
52
|
+
if (selection && selection.rangeCount > 0 && !selection.isCollapsed) {
|
|
53
|
+
if (selection.getRangeAt(0).intersectsNode(element)) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
51
56
|
}
|
|
52
|
-
|
|
53
|
-
return range.intersectsNode(element);
|
|
57
|
+
return !!preRestoreEndpoints && (element.contains(preRestoreEndpoints.anchorNode) || element.contains(preRestoreEndpoints.focusNode));
|
|
54
58
|
}
|
|
55
59
|
function focusExpressionInputAtEnd(ref) {
|
|
56
60
|
const expressionElement = ref.current?.expressionInputRef;
|
|
@@ -223,10 +227,20 @@ const DateTimeRangePickerRoot = forwardRef((props, forwardedRef) => {
|
|
|
223
227
|
handleSelectionKeyDown(event);
|
|
224
228
|
return;
|
|
225
229
|
}
|
|
230
|
+
const preRestoreEndpoints = peekPreRestoreEndpoints(
|
|
231
|
+
event.currentTarget
|
|
232
|
+
);
|
|
226
233
|
const fromInputIsIso = dateTimeFromRef.current?.element?.getAttribute("data-valuetype") === "iso8601";
|
|
227
234
|
const toInputIsIso = dateTimeToRef.current?.element?.getAttribute("data-valuetype") === "iso8601";
|
|
228
|
-
const
|
|
229
|
-
|
|
235
|
+
const bothInSelection = isInputInSelectionOrFocused(dateTimeFromRef, preRestoreEndpoints) && isInputInSelectionOrFocused(dateTimeToRef, preRestoreEndpoints);
|
|
236
|
+
if (bothInSelection && isExpressionTriggerKey(event)) {
|
|
237
|
+
setValue(null);
|
|
238
|
+
if (dateTimeToRef.current?.expressionInputRef) {
|
|
239
|
+
dateTimeToRef.current.expressionInputRef.textContent = "";
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
const switchFromToExpression = isInputInSelectionOrFocused(dateTimeFromRef, preRestoreEndpoints) && fromInputIsIso;
|
|
243
|
+
const switchToToExpression = isInputInSelectionOrFocused(dateTimeToRef, preRestoreEndpoints) && toInputIsIso;
|
|
230
244
|
if (isExpressionTriggerKey(event) && (switchFromToExpression || switchToToExpression)) {
|
|
231
245
|
const char = event.key;
|
|
232
246
|
const primaryRef = switchFromToExpression ? dateTimeFromRef : dateTimeToRef;
|
|
@@ -238,7 +252,7 @@ const DateTimeRangePickerRoot = forwardRef((props, forwardedRef) => {
|
|
|
238
252
|
event.stopPropagation();
|
|
239
253
|
return;
|
|
240
254
|
}
|
|
241
|
-
if (isInputInSelectionOrFocused(dateTimeFromRef) && isInputInSelectionOrFocused(dateTimeToRef) && !fromInputIsIso && !toInputIsIso && event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
255
|
+
if (isInputInSelectionOrFocused(dateTimeFromRef, preRestoreEndpoints) && isInputInSelectionOrFocused(dateTimeToRef, preRestoreEndpoints) && !fromInputIsIso && !toInputIsIso && event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
242
256
|
const char = event.key;
|
|
243
257
|
const fromExpressionElement = dateTimeFromRef.current?.expressionInputRef;
|
|
244
258
|
const toExpressionElement = dateTimeToRef.current?.expressionInputRef;
|
|
@@ -411,6 +425,7 @@ const DateTimeRangePickerRoot = forwardRef((props, forwardedRef) => {
|
|
|
411
425
|
controlId: id,
|
|
412
426
|
onTrailingEdge: handleFromTrailingEdge,
|
|
413
427
|
onTrailingOverflow: handleFromTrailingOverflow,
|
|
428
|
+
partialTimeAnchorDate: value?.to?.absoluteDate || void 0,
|
|
414
429
|
onPasteComplete: () => {
|
|
415
430
|
dateTimeToRef.current?.focus?.();
|
|
416
431
|
}
|
|
@@ -437,6 +452,7 @@ const DateTimeRangePickerRoot = forwardRef((props, forwardedRef) => {
|
|
|
437
452
|
required,
|
|
438
453
|
onLeadingEdge: handleToLeadingEdge,
|
|
439
454
|
dateOnlyPasteAnchor: "endOfDay",
|
|
455
|
+
partialTimeAnchorDate: value?.from?.absoluteDate || void 0,
|
|
440
456
|
onPasteComplete: () => {
|
|
441
457
|
requestAnimationFrame(() => {
|
|
442
458
|
dateTimeToRef.current?.focusLast();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/forms/date-time-range-picker/DateTimeRangePickerRoot.tsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {\n type FocusEvent,\n forwardRef,\n type KeyboardEvent as ReactKeyboardEvent,\n type RefObject,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { XmarkIcon } from '@dynatrace/strato-icons';\n\nimport { DateRangeSelector } from './DateRangeSelector.js';\nimport { DateTimeInput } from './DateTimeInput.js';\nimport * as styles from './DateTimeRangePicker.sty.js';\nimport { isExpressionTriggerKey } from './expression-trigger-helpers.js';\nimport { useDateTimeRangePicker } from './hooks/useDateTimeRangePicker.js';\nimport { onTimeframeCopyCapture } from './selection-copy-helpers.js';\nimport type {\n DateTimeRangePickerProps,\n DateTimeRangePickerRef,\n} from './types.js';\nimport { DateRangeSelectorRef, DateTimeInputRef } from './types.js';\nimport { useSelectionInteractionHandlers } from './useSelectionInteractionHandlers.js';\nimport { Button } from '../../buttons/button/Button.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useBehavioralTrackingProps } from '../../core/hooks/useBehavioralTrackingProps.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport { TimeErrorKey } from '../../core/time/shared.types.js';\nimport { useDateTimeRangePickerStore } from '../../core/time/timeframeStore/useTimeframeStore.js';\nimport { validate } from '../../core/time/validation.js';\nimport { Flex } from '../../layouts/flex/Flex.js';\nimport { inputGroupClassName } from '../../layouts/input-group/InputGroup.sty.js';\nimport { InputGroup } from '../../layouts/input-group/InputGroup.js';\nimport { fieldTokens } from '../../styles/field.sty.js';\nimport { textStyle } from '../../styles/textStyle.sty.js';\nimport {\n clearIconButton,\n dateTimePicker,\n} from '../date-time-picker/DateTimePicker.sty.js';\nimport { focusDateTimeInput } from '../date-time-picker/utils/focusDateTimeInput.js';\nimport { FormFieldMessageContext } from '../forms-core/contexts/FormFieldMessageContext.js';\nimport { useFormFieldMessagesContext } from '../forms-core/hooks/useFormFieldMessagesContext.js';\nimport { useSyncedFormControlProps } from '../forms-core/hooks/useSyncedFormControlProps.js';\nimport { FormFieldMessagesAction } from '../forms-core/state/formfield-messages-state-reducer.js';\nimport { SpinButtonHandler } from '../spin-buttons/spin-button-group/types.js';\n\n/**\n * Returns true if a given DateTimeInput element contains the active (focused)\n * element *or* the window selection intersects it.\n *\n * The focus-based check covers the common case where a single spin button is\n * focused \u2013 including empty (placeholder) spin buttons whose `selectAll()` is\n * a no-op and therefore leave the window selection collapsed.\n *\n * The selection-based check covers cross-input scenarios such as Ctrl+A or\n * drag-select spanning both \"from\" and \"to\" inputs.\n */\nfunction isInputInSelectionOrFocused(\n ref: RefObject<DateTimeInputRef | null>,\n): boolean {\n const element = ref.current?.element;\n if (!element) {\n return false;\n }\n\n if (element.contains(document.activeElement)) {\n return true;\n }\n\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0 || selection.isCollapsed) {\n return false;\n }\n const range = selection.getRangeAt(0);\n return range.intersectsNode(element);\n}\n\nfunction focusExpressionInputAtEnd(\n ref: RefObject<DateTimeInputRef | null>,\n): void {\n const expressionElement = ref.current?.expressionInputRef;\n if (!expressionElement) {\n return;\n }\n\n expressionElement.focus();\n\n const selection = window.getSelection();\n if (!selection) {\n return;\n }\n\n const range = document.createRange();\n range.selectNodeContents(expressionElement);\n range.collapse(false);\n selection.removeAllRanges();\n selection.addRange(range);\n}\n\nfunction getOffsetWithinElement(\n element: HTMLElement,\n container: Node,\n offset: number,\n): number {\n const range = document.createRange();\n range.selectNodeContents(element);\n range.setEnd(container, offset);\n return range.toString().length;\n}\n\n/**@internal */\nexport const DateTimeRangePickerRoot = forwardRef<\n DateTimeRangePickerRef,\n Omit<DateTimeRangePickerProps, 'value' | 'defaultValue' | 'onChange'>\n>((props, forwardedRef) => {\n const {\n id: propId,\n disabled: propDisabled,\n readOnly = false,\n name,\n style: consumerStyle,\n className: consumerClassName,\n required: propRequired,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n 'aria-disabled': ariaDisabledProp,\n placeholder: placeholderProp,\n onBlur,\n ...remainingProps\n }: Omit<\n DateTimeRangePickerProps,\n 'value' | 'defaultValue' | 'onChange'\n > = props;\n const [behavioralTrackingProps] = useBehavioralTrackingProps(remainingProps);\n const ariaProps = useAriaLabelingProps(props);\n const COMPONENT_NAME = 'DateTimeRangePicker';\n\n const rootRef = useRef<HTMLDivElement>(null);\n const touchedContainerRef = useRef<HTMLDivElement>(null);\n const dateTimeToRef = useRef<DateTimeInputRef>(null);\n const dateRangeSelectorRef = useRef<DateRangeSelectorRef>(null);\n\n const [hasInputContent, setHasInputContent] = useState(false);\n\n const setValue = useDateTimeRangePickerStore(\n (state) => state.setDateTimeRangePickerTimeframe,\n );\n const value = useDateTimeRangePickerStore(\n (state) => state.dateTimeRangePickerTimeframe,\n );\n const dateTimeFromRef = useDateTimeRangePickerStore(\n (state) => state.dateTimeFromRef,\n );\n const precision = useDateTimeRangePickerStore((state) => state.precision);\n const min = useDateTimeRangePickerStore((state) => state.min);\n const max = useDateTimeRangePickerStore((state) => state.max);\n const formatString = useDateTimeRangePickerStore(\n (state) => state.formatString,\n );\n\n const { disabled, required, id, ariaDisabled } = useSyncedFormControlProps({\n propDisabled,\n propRequired,\n propId,\n propAriaDisabled: ariaDisabledProp,\n });\n const disabledOrAriaDisabled = disabled || ariaDisabled || false;\n\n const { placeholder, onPasteCapture, onUndoPasteKeyDown } =\n useDateTimeRangePicker({\n placeholder: placeholderProp,\n readOnly,\n dateTimeFromRef,\n dateTimeToRef,\n });\n\n const intl = useIntl();\n\n const {\n state: { showError },\n dispatch: formMessageDispatch,\n } = useFormFieldMessagesContext();\n\n // Track the last error key returned by the imperative validate() so we can\n // pass it as `formerError` on the next call and clean up stale messages.\n const lastValidationErrorRef = useRef<TimeErrorKey | undefined>();\n\n // Provide root and input element reference and functions to interact with the calendar overlay\n useImperativeHandle(\n forwardedRef,\n (): DateTimeRangePickerRef => ({\n element: rootRef.current,\n inputRef: {\n from: dateTimeFromRef.current?.inputRef,\n to: dateTimeToRef.current?.inputRef,\n },\n open: () => dateRangeSelectorRef.current?.open(),\n close: () => dateRangeSelectorRef.current?.close(),\n focus: () => dateTimeFromRef.current?.focus?.(),\n getCurrentValue: () => ({\n from: value?.from ?? null,\n to: value?.to ?? null,\n }),\n validate() {\n lastValidationErrorRef.current = validate(value, min, max, {\n formMessageDispatch,\n formerError: lastValidationErrorRef.current,\n precision,\n showError: true,\n checkOrder: true,\n ref: rootRef,\n expectedFormat: formatString,\n valueMode: 'dateTimePicker',\n required,\n });\n formMessageDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n },\n }),\n [\n value,\n min,\n max,\n formMessageDispatch,\n precision,\n formatString,\n required,\n dateTimeFromRef,\n ],\n );\n\n const { focusClassName } = useFocusRing({\n focusWithin: true,\n ignoreModality: true,\n isMinimal: false,\n disabled,\n color: showError ? 'critical' : 'neutral',\n });\n\n const dateTimeFromLabel = intl.formatMessage({\n defaultMessage: 'DateTime from',\n id: 'fMy6q/KKOqbvCA3H',\n description:\n 'Textbox to enter a relative or absolute timeframe from value.',\n });\n\n const dateTimeToLabel = intl.formatMessage({\n defaultMessage: 'DateTime to',\n id: 'uuhhc3nEZptwtV2E',\n description: 'Textbox to enter a relative or absolute timeframe to value.',\n });\n const clearButtonLabel = intl.formatMessage({\n defaultMessage: 'Clear date and time range',\n id: 'zX4r/Y8gJL1C8+5e',\n description: 'Aria label for the DateTimeRangePicker clear button.',\n });\n const formFieldMessageContextValue = useMemo(\n () => ({\n state: {\n customMessages: [],\n formControlMessages: [],\n showError,\n },\n }),\n [showError],\n );\n\n const { onMouseDown, onKeyDown: handleSelectionKeyDown } =\n useSelectionInteractionHandlers(\n touchedContainerRef,\n useCallback(() => {\n focusDateTimeInput(null, dateTimeFromRef, dateTimeToRef);\n }, [dateTimeFromRef]),\n dateTimeFromRef,\n dateTimeToRef,\n );\n\n const onKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n handleSelectionKeyDown(event);\n return;\n }\n\n const fromInputIsIso =\n dateTimeFromRef.current?.element?.getAttribute('data-valuetype') ===\n 'iso8601';\n const toInputIsIso =\n dateTimeToRef.current?.element?.getAttribute('data-valuetype') ===\n 'iso8601';\n\n const switchFromToExpression =\n isInputInSelectionOrFocused(dateTimeFromRef) && fromInputIsIso;\n const switchToToExpression =\n isInputInSelectionOrFocused(dateTimeToRef) && toInputIsIso;\n if (\n isExpressionTriggerKey(event) &&\n (switchFromToExpression || switchToToExpression)\n ) {\n const char = event.key;\n\n // The primary input receives the character and focus.\n // When both are selected, 'from' receives the character and focus.\n const primaryRef = switchFromToExpression\n ? dateTimeFromRef\n : dateTimeToRef;\n\n primaryRef.current?.setExpressionValue(char);\n\n requestAnimationFrame(() => {\n focusExpressionInputAtEnd(primaryRef);\n });\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n // Handle regular character input when both inputs are selected\n if (\n isInputInSelectionOrFocused(dateTimeFromRef) &&\n isInputInSelectionOrFocused(dateTimeToRef) &&\n !fromInputIsIso &&\n !toInputIsIso &&\n event.key.length === 1 &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n ) {\n const char = event.key;\n const fromExpressionElement =\n dateTimeFromRef.current?.expressionInputRef;\n const toExpressionElement = dateTimeToRef.current?.expressionInputRef;\n const selection = window.getSelection();\n\n if (\n fromExpressionElement &&\n toExpressionElement &&\n selection &&\n selection.rangeCount > 0 &&\n !selection.isCollapsed\n ) {\n const range = selection.getRangeAt(0);\n const fromValue = fromExpressionElement.textContent ?? '';\n const toValue = toExpressionElement.textContent ?? '';\n\n const fromStart = fromExpressionElement.contains(range.startContainer)\n ? getOffsetWithinElement(\n fromExpressionElement,\n range.startContainer,\n range.startOffset,\n )\n : 0;\n const toEnd = toExpressionElement.contains(range.endContainer)\n ? getOffsetWithinElement(\n toExpressionElement,\n range.endContainer,\n range.endOffset,\n )\n : toValue.length;\n\n dateTimeFromRef.current?.setExpressionValue(\n `${fromValue.slice(0, fromStart)}${char}`,\n );\n dateTimeToRef.current?.setExpressionValue(toValue.slice(toEnd));\n\n requestAnimationFrame(() => {\n focusExpressionInputAtEnd(dateTimeFromRef);\n });\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n // Replace the selected expression in \"from\" and keep \"to\" unchanged.\n dateTimeFromRef.current?.setExpressionValue(char);\n\n requestAnimationFrame(() => {\n focusExpressionInputAtEnd(dateTimeFromRef);\n });\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n handleSelectionKeyDown(event);\n },\n [\n disabled,\n readOnly,\n handleSelectionKeyDown,\n dateTimeFromRef,\n dateTimeToRef,\n setValue,\n ],\n );\n\n // Move from the last \"from\" segment to the first \"to\" segment.\n const handleFromTrailingEdge = useCallback(() => {\n dateTimeToRef.current?.focus?.();\n }, []);\n\n // Move from the first \"to\" segment to the last \"from\" segment.\n const handleToLeadingEdge = useCallback(() => {\n dateTimeFromRef.current?.focusLast();\n }, [dateTimeFromRef]);\n\n // Carry trailing overflow from \"from\" into the first \"to\" segment.\n const handleFromTrailingOverflow = useCallback(\n (overflowChar: string) => {\n const handlers = Array.from(\n dateTimeToRef.current?.spinButtonHandlers?.values() ?? [],\n ).filter((h): h is SpinButtonHandler => h !== null && h !== undefined);\n\n const firstHandler = handlers[0];\n if (!firstHandler) {\n return;\n }\n\n if (value?.to?.type === 'expression' || value?.to === null) {\n dateTimeToRef.current?.setExpressionValue(overflowChar);\n requestAnimationFrame(() => {\n const exprEl = dateTimeToRef.current?.expressionInputRef;\n if (exprEl) {\n // Focus first so that expressionOnFocusHandler fires and selects all,\n // then immediately collapse the selection to the end so the cursor\n // lands after the overflow character instead of selecting everything.\n exprEl.focus();\n const sel = window.getSelection();\n if (sel) {\n const range = document.createRange();\n range.selectNodeContents(exprEl);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n });\n return;\n }\n\n if (firstHandler.type === 'number') {\n firstHandler.applyText(overflowChar, true);\n firstHandler.element.current?.focus();\n firstHandler.setSelection({ start: 0, end: 0, rtl: true });\n }\n },\n [value?.to],\n );\n\n return (\n <Flex\n ref={rootRef}\n flexDirection=\"column\"\n data-testid={dataTestId}\n style={consumerStyle}\n className={consumerClassName}\n {...ariaProps}\n {...behavioralTrackingProps}\n data-dt-component={COMPONENT_NAME}\n >\n <FormFieldMessageContext.Provider value={formFieldMessageContextValue}>\n <InputGroup style={{ gridTemplateColumns: '1fr auto' }}>\n <Flex\n ref={touchedContainerRef}\n className={clsx(\n inputGroupClassName,\n dateTimePicker({\n readOnly,\n showError,\n disabled,\n type: 'datetime',\n }),\n textStyle({ textStyle: 'base' }),\n fieldTokens({\n color: showError ? 'critical' : 'neutral',\n disabled: disabledOrAriaDisabled,\n variant: 'emphasized',\n }),\n focusClassName,\n styles.dateTimeRange({\n showError,\n disabled: disabledOrAriaDisabled,\n readOnly: readOnly,\n }),\n )}\n onCopyCapture={onTimeframeCopyCapture}\n onPasteCapture={onPasteCapture}\n onBlur={(event) => {\n // onFocus synchronously redirects focus from the container to a spin button,\n // causing a spurious onBlur; rAF defers the call until focus has settled.\n requestAnimationFrame(() => {\n onBlur?.(event);\n });\n }}\n onInput={() => {\n setHasInputContent(\n !!dateTimeFromRef.current?.expressionInputRef?.textContent ||\n !!dateTimeToRef.current?.expressionInputRef?.textContent,\n );\n }}\n tabIndex={disabled ? undefined : 0}\n onMouseDown={onMouseDown}\n onKeyDownCapture={(e) => {\n // Handles undo for from and to inputs with Ctrl+Z.\n // Uses capture phase so it fires before the input-level undo handler.\n onUndoPasteKeyDown(e);\n }}\n onKeyDown={onKeyDown}\n onFocus={(e: FocusEvent) => {\n // Forward the focus only if it is coming from outside this component.\n // Focus the first spin button with textContent; otherwise, focus the input.\n\n if (!rootRef.current?.contains(e.relatedTarget)) {\n focusDateTimeInput(e, dateTimeFromRef, dateTimeToRef);\n }\n }}\n >\n <span className={styles.scrollContainer}>\n <DateTimeInput\n ref={dateTimeFromRef}\n className={styles.dateTimeInput}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder.from}\n name={name === undefined ? undefined : `${name}-from`}\n // Maintains its own state to separate single and range value manipulations\n value={value === null ? null : value.from}\n onChange={(newValue) => {\n if (typeof newValue !== 'string') {\n setValue({ from: newValue ?? null });\n }\n }}\n aria-label={dateTimeFromLabel}\n aria-disabled={ariaDisabled}\n required={required}\n controlId={id}\n onTrailingEdge={handleFromTrailingEdge}\n onTrailingOverflow={handleFromTrailingOverflow}\n onPasteComplete={() => {\n dateTimeToRef.current?.focus?.();\n }}\n />\n\n <span className={styles.timeframeSeparator}>\u2192</span>\n <DateTimeInput\n ref={dateTimeToRef}\n className={styles.dateTimeInput}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder.to}\n name={name === undefined ? undefined : `${name}-to`}\n // Maintains its own state to separate single and range value manipulations\n value={value === null ? null : value.to}\n onChange={(newValue) => {\n if (typeof newValue !== 'string') {\n setValue({ to: newValue ?? null });\n }\n }}\n aria-label={dateTimeToLabel}\n aria-disabled={ariaDisabled}\n required={required}\n onLeadingEdge={handleToLeadingEdge}\n dateOnlyPasteAnchor=\"endOfDay\"\n onPasteComplete={() => {\n requestAnimationFrame(() => {\n dateTimeToRef.current?.focusLast();\n });\n }}\n />\n </span>\n {!readOnly &&\n !disabledOrAriaDisabled &&\n ((value &&\n (value.from?.value !== '' || value.to?.value !== '')) ||\n hasInputContent) && (\n <Button\n onFocus={() => {\n formMessageDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n }}\n onClick={() => {\n setValue(null);\n if (dateTimeFromRef.current?.expressionInputRef) {\n dateTimeFromRef.current.expressionInputRef.textContent =\n '';\n }\n if (dateTimeToRef.current?.expressionInputRef) {\n dateTimeToRef.current.expressionInputRef.textContent = '';\n }\n setHasInputContent(false);\n requestAnimationFrame(() => {\n dateTimeFromRef.current?.expressionInputRef?.focus();\n });\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n }\n }}\n className={clearIconButton}\n color={showError ? 'critical' : 'neutral'}\n size=\"condensed\"\n aria-label={clearButtonLabel}\n >\n <XmarkIcon />\n </Button>\n )}\n </Flex>\n <DateRangeSelector\n ref={dateRangeSelectorRef}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n error={showError}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n />\n </InputGroup>\n </FormFieldMessageContext.Provider>\n </Flex>\n );\n});\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n type FocusEvent,\n forwardRef,\n type KeyboardEvent as ReactKeyboardEvent,\n type RefObject,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { XmarkIcon } from '@dynatrace/strato-icons';\n\nimport { DateRangeSelector } from './DateRangeSelector.js';\nimport { DateTimeInput } from './DateTimeInput.js';\nimport * as styles from './DateTimeRangePicker.sty.js';\nimport { isExpressionTriggerKey } from './expression-trigger-helpers.js';\nimport { useDateTimeRangePicker } from './hooks/useDateTimeRangePicker.js';\nimport { onTimeframeCopyCapture } from './selection-copy-helpers.js';\nimport {\n peekPreRestoreEndpoints,\n type SelectionEndpoints,\n} from './selection-helpers.js';\nimport type {\n DateTimeRangePickerProps,\n DateTimeRangePickerRef,\n} from './types.js';\nimport { DateRangeSelectorRef, DateTimeInputRef } from './types.js';\nimport { useSelectionInteractionHandlers } from './useSelectionInteractionHandlers.js';\nimport { Button } from '../../buttons/button/Button.js';\nimport { useAriaLabelingProps } from '../../core/hooks/useAriaLabelingProps.js';\nimport { useBehavioralTrackingProps } from '../../core/hooks/useBehavioralTrackingProps.js';\nimport { useFocusRing } from '../../core/styles/useFocusRing.js';\nimport { TimeErrorKey } from '../../core/time/shared.types.js';\nimport { useDateTimeRangePickerStore } from '../../core/time/timeframeStore/useTimeframeStore.js';\nimport { validate } from '../../core/time/validation.js';\nimport { Flex } from '../../layouts/flex/Flex.js';\nimport { inputGroupClassName } from '../../layouts/input-group/InputGroup.sty.js';\nimport { InputGroup } from '../../layouts/input-group/InputGroup.js';\nimport { fieldTokens } from '../../styles/field.sty.js';\nimport { textStyle } from '../../styles/textStyle.sty.js';\nimport {\n clearIconButton,\n dateTimePicker,\n} from '../date-time-picker/DateTimePicker.sty.js';\nimport { focusDateTimeInput } from '../date-time-picker/utils/focusDateTimeInput.js';\nimport { FormFieldMessageContext } from '../forms-core/contexts/FormFieldMessageContext.js';\nimport { useFormFieldMessagesContext } from '../forms-core/hooks/useFormFieldMessagesContext.js';\nimport { useSyncedFormControlProps } from '../forms-core/hooks/useSyncedFormControlProps.js';\nimport { FormFieldMessagesAction } from '../forms-core/state/formfield-messages-state-reducer.js';\nimport { SpinButtonHandler } from '../spin-buttons/spin-button-group/types.js';\n\n/**\n * Returns true if a given DateTimeInput element contains the active (focused)\n * element *or* the window selection intersects it.\n *\n * The focus-based check covers the common case where a single spin button is\n * focused \u2013 including empty (placeholder) spin buttons whose `selectAll()` is\n * a no-op and therefore leave the window selection collapsed.\n *\n * The selection-based check covers cross-input scenarios such as Ctrl+A or\n * drag-select spanning both \"from\" and \"to\" inputs.\n */\nfunction isInputInSelectionOrFocused(\n ref: RefObject<DateTimeInputRef | null>,\n preRestoreEndpoints?: SelectionEndpoints,\n): boolean {\n const element = ref.current?.element;\n if (!element) {\n return false;\n }\n\n if (element.contains(document.activeElement)) {\n return true;\n }\n\n const selection = window.getSelection();\n if (selection && selection.rangeCount > 0 && !selection.isCollapsed) {\n if (selection.getRangeAt(0).intersectsNode(element)) {\n return true;\n }\n }\n\n // Safari clips the live selection to the active CE host after contenteditable\n // is re-attached in the keydown capture phase. Fall back to the pre-restore\n // endpoints stashed by deferContentEditableRestore, which still span both inputs.\n return (\n !!preRestoreEndpoints &&\n (element.contains(preRestoreEndpoints.anchorNode) ||\n element.contains(preRestoreEndpoints.focusNode))\n );\n}\n\nfunction focusExpressionInputAtEnd(\n ref: RefObject<DateTimeInputRef | null>,\n): void {\n const expressionElement = ref.current?.expressionInputRef;\n if (!expressionElement) {\n return;\n }\n\n expressionElement.focus();\n\n const selection = window.getSelection();\n if (!selection) {\n return;\n }\n\n const range = document.createRange();\n range.selectNodeContents(expressionElement);\n range.collapse(false);\n selection.removeAllRanges();\n selection.addRange(range);\n}\n\nfunction getOffsetWithinElement(\n element: HTMLElement,\n container: Node,\n offset: number,\n): number {\n const range = document.createRange();\n range.selectNodeContents(element);\n range.setEnd(container, offset);\n return range.toString().length;\n}\n\n/**@internal */\nexport const DateTimeRangePickerRoot = forwardRef<\n DateTimeRangePickerRef,\n Omit<DateTimeRangePickerProps, 'value' | 'defaultValue' | 'onChange'>\n>((props, forwardedRef) => {\n const {\n id: propId,\n disabled: propDisabled,\n readOnly = false,\n name,\n style: consumerStyle,\n className: consumerClassName,\n required: propRequired,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n 'aria-disabled': ariaDisabledProp,\n placeholder: placeholderProp,\n onBlur,\n ...remainingProps\n }: Omit<\n DateTimeRangePickerProps,\n 'value' | 'defaultValue' | 'onChange'\n > = props;\n const [behavioralTrackingProps] = useBehavioralTrackingProps(remainingProps);\n const ariaProps = useAriaLabelingProps(props);\n const COMPONENT_NAME = 'DateTimeRangePicker';\n\n const rootRef = useRef<HTMLDivElement>(null);\n const touchedContainerRef = useRef<HTMLDivElement>(null);\n const dateTimeToRef = useRef<DateTimeInputRef>(null);\n const dateRangeSelectorRef = useRef<DateRangeSelectorRef>(null);\n\n const [hasInputContent, setHasInputContent] = useState(false);\n\n const setValue = useDateTimeRangePickerStore(\n (state) => state.setDateTimeRangePickerTimeframe,\n );\n const value = useDateTimeRangePickerStore(\n (state) => state.dateTimeRangePickerTimeframe,\n );\n const dateTimeFromRef = useDateTimeRangePickerStore(\n (state) => state.dateTimeFromRef,\n );\n const precision = useDateTimeRangePickerStore((state) => state.precision);\n const min = useDateTimeRangePickerStore((state) => state.min);\n const max = useDateTimeRangePickerStore((state) => state.max);\n const formatString = useDateTimeRangePickerStore(\n (state) => state.formatString,\n );\n\n const { disabled, required, id, ariaDisabled } = useSyncedFormControlProps({\n propDisabled,\n propRequired,\n propId,\n propAriaDisabled: ariaDisabledProp,\n });\n const disabledOrAriaDisabled = disabled || ariaDisabled || false;\n\n const { placeholder, onPasteCapture, onUndoPasteKeyDown } =\n useDateTimeRangePicker({\n placeholder: placeholderProp,\n readOnly,\n dateTimeFromRef,\n dateTimeToRef,\n });\n\n const intl = useIntl();\n\n const {\n state: { showError },\n dispatch: formMessageDispatch,\n } = useFormFieldMessagesContext();\n\n // Track the last error key returned by the imperative validate() so we can\n // pass it as `formerError` on the next call and clean up stale messages.\n const lastValidationErrorRef = useRef<TimeErrorKey | undefined>();\n\n // Provide root and input element reference and functions to interact with the calendar overlay\n useImperativeHandle(\n forwardedRef,\n (): DateTimeRangePickerRef => ({\n element: rootRef.current,\n inputRef: {\n from: dateTimeFromRef.current?.inputRef,\n to: dateTimeToRef.current?.inputRef,\n },\n open: () => dateRangeSelectorRef.current?.open(),\n close: () => dateRangeSelectorRef.current?.close(),\n focus: () => dateTimeFromRef.current?.focus?.(),\n getCurrentValue: () => ({\n from: value?.from ?? null,\n to: value?.to ?? null,\n }),\n validate() {\n lastValidationErrorRef.current = validate(value, min, max, {\n formMessageDispatch,\n formerError: lastValidationErrorRef.current,\n precision,\n showError: true,\n checkOrder: true,\n ref: rootRef,\n expectedFormat: formatString,\n valueMode: 'dateTimePicker',\n required,\n });\n formMessageDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n },\n }),\n [\n value,\n min,\n max,\n formMessageDispatch,\n precision,\n formatString,\n required,\n dateTimeFromRef,\n ],\n );\n\n const { focusClassName } = useFocusRing({\n focusWithin: true,\n ignoreModality: true,\n isMinimal: false,\n disabled,\n color: showError ? 'critical' : 'neutral',\n });\n\n const dateTimeFromLabel = intl.formatMessage({\n defaultMessage: 'DateTime from',\n id: 'fMy6q/KKOqbvCA3H',\n description:\n 'Textbox to enter a relative or absolute timeframe from value.',\n });\n\n const dateTimeToLabel = intl.formatMessage({\n defaultMessage: 'DateTime to',\n id: 'uuhhc3nEZptwtV2E',\n description: 'Textbox to enter a relative or absolute timeframe to value.',\n });\n const clearButtonLabel = intl.formatMessage({\n defaultMessage: 'Clear date and time range',\n id: 'zX4r/Y8gJL1C8+5e',\n description: 'Aria label for the DateTimeRangePicker clear button.',\n });\n const formFieldMessageContextValue = useMemo(\n () => ({\n state: {\n customMessages: [],\n formControlMessages: [],\n showError,\n },\n }),\n [showError],\n );\n\n const { onMouseDown, onKeyDown: handleSelectionKeyDown } =\n useSelectionInteractionHandlers(\n touchedContainerRef,\n useCallback(() => {\n focusDateTimeInput(null, dateTimeFromRef, dateTimeToRef);\n }, [dateTimeFromRef]),\n dateTimeFromRef,\n dateTimeToRef,\n );\n\n const onKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n handleSelectionKeyDown(event);\n return;\n }\n\n // Safari: Reads the stash set by deferContentEditableRestore\n const preRestoreEndpoints = peekPreRestoreEndpoints(\n event.currentTarget as HTMLElement,\n );\n\n const fromInputIsIso =\n dateTimeFromRef.current?.element?.getAttribute('data-valuetype') ===\n 'iso8601';\n const toInputIsIso =\n dateTimeToRef.current?.element?.getAttribute('data-valuetype') ===\n 'iso8601';\n\n const bothInSelection =\n isInputInSelectionOrFocused(dateTimeFromRef, preRestoreEndpoints) &&\n isInputInSelectionOrFocused(dateTimeToRef, preRestoreEndpoints);\n\n // When both inputs are selected, allow expression trigger keys to switch the entire range to expression mode.\n if (bothInSelection && isExpressionTriggerKey(event)) {\n setValue(null);\n if (dateTimeToRef.current?.expressionInputRef) {\n dateTimeToRef.current.expressionInputRef.textContent = '';\n }\n }\n\n const switchFromToExpression =\n isInputInSelectionOrFocused(dateTimeFromRef, preRestoreEndpoints) &&\n fromInputIsIso;\n const switchToToExpression =\n isInputInSelectionOrFocused(dateTimeToRef, preRestoreEndpoints) &&\n toInputIsIso;\n if (\n isExpressionTriggerKey(event) &&\n (switchFromToExpression || switchToToExpression)\n ) {\n const char = event.key;\n\n // The primary input receives the character and focus.\n // When both are selected, 'from' receives the character and focus.\n const primaryRef = switchFromToExpression\n ? dateTimeFromRef\n : dateTimeToRef;\n\n primaryRef.current?.setExpressionValue(char);\n\n requestAnimationFrame(() => {\n focusExpressionInputAtEnd(primaryRef);\n });\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n // Handle regular character input when both inputs are selected\n if (\n isInputInSelectionOrFocused(dateTimeFromRef, preRestoreEndpoints) &&\n isInputInSelectionOrFocused(dateTimeToRef, preRestoreEndpoints) &&\n !fromInputIsIso &&\n !toInputIsIso &&\n event.key.length === 1 &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n ) {\n const char = event.key;\n const fromExpressionElement =\n dateTimeFromRef.current?.expressionInputRef;\n const toExpressionElement = dateTimeToRef.current?.expressionInputRef;\n const selection = window.getSelection();\n\n if (\n fromExpressionElement &&\n toExpressionElement &&\n selection &&\n selection.rangeCount > 0 &&\n !selection.isCollapsed\n ) {\n const range = selection.getRangeAt(0);\n const fromValue = fromExpressionElement.textContent ?? '';\n const toValue = toExpressionElement.textContent ?? '';\n\n const fromStart = fromExpressionElement.contains(range.startContainer)\n ? getOffsetWithinElement(\n fromExpressionElement,\n range.startContainer,\n range.startOffset,\n )\n : 0;\n const toEnd = toExpressionElement.contains(range.endContainer)\n ? getOffsetWithinElement(\n toExpressionElement,\n range.endContainer,\n range.endOffset,\n )\n : toValue.length;\n\n dateTimeFromRef.current?.setExpressionValue(\n `${fromValue.slice(0, fromStart)}${char}`,\n );\n dateTimeToRef.current?.setExpressionValue(toValue.slice(toEnd));\n\n requestAnimationFrame(() => {\n focusExpressionInputAtEnd(dateTimeFromRef);\n });\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n // Replace the selected expression in \"from\" and keep \"to\" unchanged.\n dateTimeFromRef.current?.setExpressionValue(char);\n\n requestAnimationFrame(() => {\n focusExpressionInputAtEnd(dateTimeFromRef);\n });\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n handleSelectionKeyDown(event);\n },\n [\n disabled,\n readOnly,\n handleSelectionKeyDown,\n dateTimeFromRef,\n dateTimeToRef,\n setValue,\n ],\n );\n\n // Move from the last \"from\" segment to the first \"to\" segment.\n const handleFromTrailingEdge = useCallback(() => {\n dateTimeToRef.current?.focus?.();\n }, []);\n\n // Move from the first \"to\" segment to the last \"from\" segment.\n const handleToLeadingEdge = useCallback(() => {\n dateTimeFromRef.current?.focusLast();\n }, [dateTimeFromRef]);\n\n // Carry trailing overflow from \"from\" into the first \"to\" segment.\n const handleFromTrailingOverflow = useCallback(\n (overflowChar: string) => {\n const handlers = Array.from(\n dateTimeToRef.current?.spinButtonHandlers?.values() ?? [],\n ).filter((h): h is SpinButtonHandler => h !== null && h !== undefined);\n\n const firstHandler = handlers[0];\n if (!firstHandler) {\n return;\n }\n\n if (value?.to?.type === 'expression' || value?.to === null) {\n dateTimeToRef.current?.setExpressionValue(overflowChar);\n requestAnimationFrame(() => {\n const exprEl = dateTimeToRef.current?.expressionInputRef;\n if (exprEl) {\n // Focus first so that expressionOnFocusHandler fires and selects all,\n // then immediately collapse the selection to the end so the cursor\n // lands after the overflow character instead of selecting everything.\n exprEl.focus();\n const sel = window.getSelection();\n if (sel) {\n const range = document.createRange();\n range.selectNodeContents(exprEl);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n });\n return;\n }\n\n if (firstHandler.type === 'number') {\n firstHandler.applyText(overflowChar, true);\n firstHandler.element.current?.focus();\n firstHandler.setSelection({ start: 0, end: 0, rtl: true });\n }\n },\n [value?.to],\n );\n\n return (\n <Flex\n ref={rootRef}\n flexDirection=\"column\"\n data-testid={dataTestId}\n style={consumerStyle}\n className={consumerClassName}\n {...ariaProps}\n {...behavioralTrackingProps}\n data-dt-component={COMPONENT_NAME}\n >\n <FormFieldMessageContext.Provider value={formFieldMessageContextValue}>\n <InputGroup style={{ gridTemplateColumns: '1fr auto' }}>\n <Flex\n ref={touchedContainerRef}\n className={clsx(\n inputGroupClassName,\n dateTimePicker({\n readOnly,\n showError,\n disabled,\n type: 'datetime',\n }),\n textStyle({ textStyle: 'base' }),\n fieldTokens({\n color: showError ? 'critical' : 'neutral',\n disabled: disabledOrAriaDisabled,\n variant: 'emphasized',\n }),\n focusClassName,\n styles.dateTimeRange({\n showError,\n disabled: disabledOrAriaDisabled,\n readOnly: readOnly,\n }),\n )}\n onCopyCapture={onTimeframeCopyCapture}\n onPasteCapture={onPasteCapture}\n onBlur={(event) => {\n // onFocus synchronously redirects focus from the container to a spin button,\n // causing a spurious onBlur; rAF defers the call until focus has settled.\n requestAnimationFrame(() => {\n onBlur?.(event);\n });\n }}\n onInput={() => {\n setHasInputContent(\n !!dateTimeFromRef.current?.expressionInputRef?.textContent ||\n !!dateTimeToRef.current?.expressionInputRef?.textContent,\n );\n }}\n tabIndex={disabled ? undefined : 0}\n onMouseDown={onMouseDown}\n onKeyDownCapture={(e) => {\n // Handles undo for from and to inputs with Ctrl+Z.\n // Uses capture phase so it fires before the input-level undo handler.\n onUndoPasteKeyDown(e);\n }}\n onKeyDown={onKeyDown}\n onFocus={(e: FocusEvent) => {\n // Forward the focus only if it is coming from outside this component.\n // Focus the first spin button with textContent; otherwise, focus the input.\n\n if (!rootRef.current?.contains(e.relatedTarget)) {\n focusDateTimeInput(e, dateTimeFromRef, dateTimeToRef);\n }\n }}\n >\n <span className={styles.scrollContainer}>\n <DateTimeInput\n ref={dateTimeFromRef}\n className={styles.dateTimeInput}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder.from}\n name={name === undefined ? undefined : `${name}-from`}\n // Maintains its own state to separate single and range value manipulations\n value={value === null ? null : value.from}\n onChange={(newValue) => {\n if (typeof newValue !== 'string') {\n setValue({ from: newValue ?? null });\n }\n }}\n aria-label={dateTimeFromLabel}\n aria-disabled={ariaDisabled}\n required={required}\n controlId={id}\n onTrailingEdge={handleFromTrailingEdge}\n onTrailingOverflow={handleFromTrailingOverflow}\n partialTimeAnchorDate={value?.to?.absoluteDate || undefined}\n onPasteComplete={() => {\n dateTimeToRef.current?.focus?.();\n }}\n />\n\n <span className={styles.timeframeSeparator}>\u2192</span>\n <DateTimeInput\n ref={dateTimeToRef}\n className={styles.dateTimeInput}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder.to}\n name={name === undefined ? undefined : `${name}-to`}\n // Maintains its own state to separate single and range value manipulations\n value={value === null ? null : value.to}\n onChange={(newValue) => {\n if (typeof newValue !== 'string') {\n setValue({ to: newValue ?? null });\n }\n }}\n aria-label={dateTimeToLabel}\n aria-disabled={ariaDisabled}\n required={required}\n onLeadingEdge={handleToLeadingEdge}\n dateOnlyPasteAnchor=\"endOfDay\"\n partialTimeAnchorDate={value?.from?.absoluteDate || undefined}\n onPasteComplete={() => {\n requestAnimationFrame(() => {\n dateTimeToRef.current?.focusLast();\n });\n }}\n />\n </span>\n {!readOnly &&\n !disabledOrAriaDisabled &&\n ((value &&\n (value.from?.value !== '' || value.to?.value !== '')) ||\n hasInputContent) && (\n <Button\n onFocus={() => {\n formMessageDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n }}\n onClick={() => {\n setValue(null);\n if (dateTimeFromRef.current?.expressionInputRef) {\n dateTimeFromRef.current.expressionInputRef.textContent =\n '';\n }\n if (dateTimeToRef.current?.expressionInputRef) {\n dateTimeToRef.current.expressionInputRef.textContent = '';\n }\n setHasInputContent(false);\n requestAnimationFrame(() => {\n dateTimeFromRef.current?.expressionInputRef?.focus();\n });\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n }\n }}\n className={clearIconButton}\n color={showError ? 'critical' : 'neutral'}\n size=\"condensed\"\n aria-label={clearButtonLabel}\n >\n <XmarkIcon />\n </Button>\n )}\n </Flex>\n <DateRangeSelector\n ref={dateRangeSelectorRef}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n error={showError}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n />\n </InputGroup>\n </FormFieldMessageContext.Provider>\n </Flex>\n );\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { TZDateMini } from "@date-fns/tz";
|
|
2
2
|
import { endOfDay, startOfDay } from "date-fns";
|
|
3
|
+
import { getTimezone } from "@dynatrace-sdk/user-preferences";
|
|
3
4
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} from "
|
|
7
|
-
import { getDayPeriodValues } from "../forms-core/time/helpers.js";
|
|
5
|
+
getDayPeriodValues,
|
|
6
|
+
getSafeRegionalFormat
|
|
7
|
+
} from "../forms-core/time/helpers.js";
|
|
8
8
|
const DATE_ONLY_REGEX = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])[Zz]?$/;
|
|
9
9
|
const TIME_ONLY_REGEX = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.(\d{1,3}))?)?([Zz]|[+-](?:[01]\d|2[0-3]):[0-5]\d)?$/;
|
|
10
10
|
const FULL_ISO_DATETIME_REGEX = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])[Tt]([01]\d|2[0-3])(?::([0-5]\d)(?::([0-5]\d)(?:\.(\d{1,3}))?)?)?([Zz]|[+-]\d{2}:?\d{2})?$/;
|
|
@@ -115,11 +115,23 @@ const captureUndoSnapshot = (spinButtonHandlers, expressionRef, value, valueType
|
|
|
115
115
|
expressionText: expressionRef?.textContent ?? ""
|
|
116
116
|
};
|
|
117
117
|
};
|
|
118
|
+
function isContentModifyingKey(event) {
|
|
119
|
+
if (event.ctrlKey || event.metaKey) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
if (event.key === "ArrowUp" || event.key === "ArrowDown" || event.key === "Backspace" || event.key === "Delete") {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
if (event.key.length === 1) {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
118
130
|
function isDateFieldPart(part) {
|
|
119
131
|
return part.type === "day" || part.type === "month" || part.type === "year";
|
|
120
132
|
}
|
|
121
133
|
function getRegionalDateFormat() {
|
|
122
|
-
const parts = new Intl.DateTimeFormat(
|
|
134
|
+
const parts = new Intl.DateTimeFormat(getSafeRegionalFormat(), {
|
|
123
135
|
year: "numeric",
|
|
124
136
|
month: "2-digit",
|
|
125
137
|
day: "2-digit"
|
|
@@ -128,11 +140,22 @@ function getRegionalDateFormat() {
|
|
|
128
140
|
const fieldOrder = parts.filter(isDateFieldPart).map((p) => p.type);
|
|
129
141
|
return { delimiter, fieldOrder };
|
|
130
142
|
}
|
|
143
|
+
const PLACEHOLDER_TOKEN_PATTERN = "[A-Za-z]{1,4}";
|
|
144
|
+
function orPlaceholder(numericPattern) {
|
|
145
|
+
return `${numericPattern}|${PLACEHOLDER_TOKEN_PATTERN}`;
|
|
146
|
+
}
|
|
147
|
+
function isPlaceholderToken(value) {
|
|
148
|
+
return /^[A-Za-z]+$/.test(value);
|
|
149
|
+
}
|
|
131
150
|
function tryParsePartialDate(input) {
|
|
132
151
|
const { delimiter, fieldOrder } = getRegionalDateFormat();
|
|
133
152
|
const escapedDelimiter = delimiter.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
134
153
|
const regex = new RegExp(
|
|
135
|
-
`(?<=^|[\\s,])(
|
|
154
|
+
`(?<=^|[\\s,])(${orPlaceholder(
|
|
155
|
+
"\\d{1,4}"
|
|
156
|
+
)})${escapedDelimiter}(${orPlaceholder(
|
|
157
|
+
"\\d{1,4}"
|
|
158
|
+
)})${escapedDelimiter}?(${orPlaceholder("\\d{1,4}")})?(?=[\\s,]|$)`
|
|
136
159
|
);
|
|
137
160
|
const match = regex.exec(input);
|
|
138
161
|
if (!match) {
|
|
@@ -141,11 +164,12 @@ function tryParsePartialDate(input) {
|
|
|
141
164
|
const rawValues = [match[1], match[2], match[3]].filter(
|
|
142
165
|
(value) => value !== void 0
|
|
143
166
|
);
|
|
167
|
+
const looksLikeYear = (value) => value.length === 4;
|
|
144
168
|
const hasDisplacedYear = rawValues.some(
|
|
145
|
-
(value, index) => value
|
|
169
|
+
(value, index) => looksLikeYear(value) && fieldOrder[index] !== "year"
|
|
146
170
|
);
|
|
147
171
|
const isYearFirstLocale = fieldOrder[0] === "year";
|
|
148
|
-
const hasNoExplicitYear = !rawValues.some(
|
|
172
|
+
const hasNoExplicitYear = !rawValues.some(looksLikeYear);
|
|
149
173
|
const fields = hasDisplacedYear || isYearFirstLocale && hasNoExplicitYear ? fieldOrder.slice(fieldOrder.length - rawValues.length) : fieldOrder.slice(0, rawValues.length);
|
|
150
174
|
const maxDigits = {
|
|
151
175
|
year: 4,
|
|
@@ -156,6 +180,9 @@ function tryParsePartialDate(input) {
|
|
|
156
180
|
for (let i = 0; i < fields.length; i++) {
|
|
157
181
|
const raw = rawValues[i];
|
|
158
182
|
const field = fields[i];
|
|
183
|
+
if (isPlaceholderToken(raw)) {
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
159
186
|
if (raw.length > maxDigits[field]) {
|
|
160
187
|
return null;
|
|
161
188
|
}
|
|
@@ -171,7 +198,7 @@ function tryParsePartialDate(input) {
|
|
|
171
198
|
return result;
|
|
172
199
|
}
|
|
173
200
|
function getRegionalTimeFormat() {
|
|
174
|
-
const parts = new Intl.DateTimeFormat(
|
|
201
|
+
const parts = new Intl.DateTimeFormat(getSafeRegionalFormat(), {
|
|
175
202
|
hour: "numeric",
|
|
176
203
|
minute: "2-digit"
|
|
177
204
|
}).formatToParts(/* @__PURE__ */ new Date());
|
|
@@ -179,23 +206,32 @@ function getRegionalTimeFormat() {
|
|
|
179
206
|
const dayPeriodValues = getDayPeriodValues();
|
|
180
207
|
return { is12Hour: hasDayPeriod, dayPeriodValues };
|
|
181
208
|
}
|
|
209
|
+
function parseTimeField(raw) {
|
|
210
|
+
if (raw === void 0 || isPlaceholderToken(raw)) {
|
|
211
|
+
return void 0;
|
|
212
|
+
}
|
|
213
|
+
return parseInt(raw);
|
|
214
|
+
}
|
|
182
215
|
function tryParsePartialTime(input) {
|
|
183
216
|
const { is12Hour, dayPeriodValues } = getRegionalTimeFormat();
|
|
184
217
|
const escapedPeriods = dayPeriodValues.map(
|
|
185
218
|
(value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
|
186
219
|
);
|
|
187
|
-
const dayPeriodPattern = is12Hour ? `(?:\\s*(${escapedPeriods.join("|")}))?` : "";
|
|
220
|
+
const dayPeriodPattern = is12Hour ? `(?:\\s*(${escapedPeriods.join("|")}|[A-Za-z]+))?` : "";
|
|
221
|
+
const hourPattern = orPlaceholder("[01]?\\d|2[0-3]");
|
|
222
|
+
const minuteOrSecondPattern = orPlaceholder("[0-5]\\d");
|
|
223
|
+
const millisecondPattern = orPlaceholder("\\d{1,3}");
|
|
188
224
|
const regex = new RegExp(
|
|
189
|
-
`(?<=^|[\\s,])(
|
|
225
|
+
`(?<=^|[\\s,])(${hourPattern}):(${minuteOrSecondPattern})(?::(${minuteOrSecondPattern})(?:[.](${millisecondPattern}))?)?${dayPeriodPattern}(?=[\\s,]|$)`,
|
|
190
226
|
"i"
|
|
191
227
|
);
|
|
192
228
|
const match = regex.exec(input);
|
|
193
229
|
if (match) {
|
|
194
230
|
const result = {};
|
|
195
|
-
result.hour =
|
|
196
|
-
result.minute =
|
|
197
|
-
result.second =
|
|
198
|
-
result.millisecond =
|
|
231
|
+
result.hour = parseTimeField(match[1]);
|
|
232
|
+
result.minute = parseTimeField(match[2]);
|
|
233
|
+
result.second = parseTimeField(match[3]);
|
|
234
|
+
result.millisecond = parseTimeField(match[4]);
|
|
199
235
|
if (is12Hour && match[5] !== void 0) {
|
|
200
236
|
const matched = match[5].toLowerCase();
|
|
201
237
|
result.dayPeriod = dayPeriodValues.find(
|
|
@@ -309,9 +345,11 @@ function partialDateTimeToISO(date, time) {
|
|
|
309
345
|
millisecond
|
|
310
346
|
);
|
|
311
347
|
}
|
|
312
|
-
|
|
348
|
+
if (time === null) {
|
|
349
|
+
return buildDateOnlyISO(year, month, day);
|
|
350
|
+
}
|
|
313
351
|
}
|
|
314
|
-
if (
|
|
352
|
+
if (date === null && hour24 !== void 0 && minute !== void 0) {
|
|
315
353
|
return buildTimeOnlyISO(hour24, minute, second, millisecond);
|
|
316
354
|
}
|
|
317
355
|
const now = TZDateMini.tz(getTimezone());
|
|
@@ -336,6 +374,7 @@ function partialDateTimeToISO(date, time) {
|
|
|
336
374
|
}
|
|
337
375
|
export {
|
|
338
376
|
captureUndoSnapshot,
|
|
377
|
+
isContentModifyingKey,
|
|
339
378
|
normalizeISOInput,
|
|
340
379
|
parseDateOnlyToISO,
|
|
341
380
|
parseTimeOnlyToISO,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/forms/date-time-range-picker/helpers.ts"],
|
|
4
|
-
"sourcesContent": ["import { TZDateMini } from '@date-fns/tz';\nimport { endOfDay, startOfDay } from 'date-fns';\n\nimport {\n getRegionalFormat,\n getTimezone,\n} from '@dynatrace-sdk/user-preferences';\n\nimport type { UndoSnapshot } from './types.js';\nimport type { TimeValue } from '../../core/types/time.js';\nimport { getDayPeriodValues } from '../forms-core/time/helpers.js';\nimport type { SpinButtonHandler } from '../spin-buttons/spin-button-group/types.js';\n\n// Matches strict ISO 8601 date-only: YYYY-MM-DD or YYYY-MM-DDZ (with optional trailing Z/z)\n// Examples https://regex101.com/r/Jz81ww/1\nconst DATE_ONLY_REGEX = /^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])[Zz]?$/;\n// Matches common time-only strings: HH:MM, HH:MM:SS, HH:MM:SS.mmm \u2014 all with optional Z or \u00B1hh:mm offset\n// Examples: https://regex101.com/r/bSW29n/1\nconst TIME_ONLY_REGEX =\n /^([01]\\d|2[0-3]):([0-5]\\d)(?::([0-5]\\d)(?:\\.(\\d{1,3}))?)?([Zz]|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)?$/;\n\n// Matches a full ISO 8601 datetime: YYYY-MM-DDT\u2026 with optional timezone.\n// Used to detect ISO strings that need case normalisation or a missing TZ suffix.\n// Validates value ranges: month 01\u201312, day 01\u201331, hour 00\u201323, minute/second 00\u201359.\n// Examples: https://regex101.com/r/OI3HwW/1\nconst FULL_ISO_DATETIME_REGEX =\n /^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])[Tt]([01]\\d|2[0-3])(?::([0-5]\\d)(?::([0-5]\\d)(?:\\.(\\d{1,3}))?)?)?([Zz]|[+-]\\d{2}:?\\d{2})?$/;\n\n/**\n * Normalises a pasted ISO-like string so that downstream parsers can handle it:\n * - Uppercases the `T` separator and any trailing `z` / `Z` in the timezone.\n * - When a full ISO datetime has no timezone suffix, interprets it as local time\n * in the user's configured timezone (per ISO 8601) and converts to UTC.\n * Non-ISO input is returned unchanged.\n * @internal\n */\nexport function normalizeISOInput(input: string): string {\n const match = FULL_ISO_DATETIME_REGEX.exec(input);\n if (!match) {\n return input;\n }\n\n // Uppercase the T separator and any trailing z\n // The regex finds ISO timestamps with lowercase t and uppercase T\n // Examples: https://regex101.com/r/HMInC0/1\n let normalized = input.replace(/^(\\d{4}-\\d{2}-\\d{2})[Tt]/, '$1T');\n\n const tzSuffix = match[8];\n if (tzSuffix) {\n // Uppercase a lowercase 'z' at the end\n if (tzSuffix === 'z') {\n normalized = normalized.slice(0, -1) + 'Z';\n }\n } else {\n // No timezone suffix \u2014 per ISO 8601 this means local time.\n // Interpret in the user's configured timezone and convert to UTC.\n const year = Number(match[1]);\n const month = Number(match[2]) - 1; // 0-indexed\n const day = Number(match[3]);\n const hours = Number(match[4]);\n const minutes = match[5] !== undefined ? Number(match[5]) : 0;\n const seconds = match[6] !== undefined ? Number(match[6]) : 0;\n const milliseconds =\n match[7] !== undefined ? Number(match[7].padEnd(3, '0')) : 0;\n\n const local = TZDateMini.tz(\n getTimezone(),\n year,\n month,\n day,\n hours,\n minutes,\n seconds,\n milliseconds,\n );\n\n if (!isNaN(local.getTime())) {\n // Guard against impossible dates like Feb 31 \u2014 TZDateMini rolls them\n // over to the next month, so if the resulting date doesn't match the\n // input, return the input unchanged (not a valid ISO datetime).\n if (local.getMonth() !== month || local.getDate() !== day) {\n return input;\n }\n return local.toISOString();\n }\n\n // Fallback: append Z if the date is somehow invalid for the timezone\n normalized += 'Z';\n }\n\n return normalized;\n}\n\n/**\n * Parses a time-only string to a full ISO UTC datetime string anchored at `2000-01-01`.\n * Accepts: `HH:MM`, `HH:MMZ`, `HH:MM:SS`, `HH:MM:SS.mmm`, with optional `Z` / `\u00B1hh:mm` offset.\n * Returns `null` if the input does not represent a valid time.\n * @internal\n */\nexport function parseTimeOnlyToISO(input: string): string | null {\n const match = TIME_ONLY_REGEX.exec(input);\n if (!match) {\n return null;\n }\n\n const hours = Number(match[1]);\n const minutes = Number(match[2]);\n const seconds = match[3] !== undefined ? Number(match[3]) : 0;\n const milliseconds =\n match[4] !== undefined ? Number(match[4].padEnd(3, '0')) : 0;\n const timezoneSuffix = match[5];\n\n const now = TZDateMini.tz(getTimezone());\n const year = now.getFullYear();\n const month = now.getMonth(); // 0-indexed\n const day = now.getDate();\n\n if (timezoneSuffix) {\n // Explicit offset (Z, +02:00, \u2026): build the full ISO string with that offset\n // and let the Date parser convert it to UTC correctly.\n\n const ISOdate = `${year}-${String(month + 1).padStart(2, '0')}-${String(\n day,\n ).padStart(2, '0')}`;\n const ISOtime = `T${match[1]}:${match[2]}:${String(seconds).padStart(\n 2,\n '0',\n )}.${String(milliseconds).padStart(3, '0')}${timezoneSuffix.toUpperCase()}`;\n const fullISO = ISOdate + ISOtime;\n const parsedDate = new Date(fullISO);\n\n return isNaN(parsedDate.getTime()) ? null : parsedDate.toISOString();\n }\n\n // No TZ suffix: the user means local time \u2014 interpret it in the user's timezone\n // and convert to UTC via .toISOString().\n const local = TZDateMini.tz(\n getTimezone(),\n year,\n month,\n day,\n hours,\n minutes,\n seconds,\n milliseconds,\n );\n return isNaN(local.getTime()) ? null : local.toISOString();\n}\n\n/**\n * Parses a date-only string matched against the strict ISO 8601 date format (`YYYY-MM-DD`).\n * Returns a full ISO UTC midnight datetime string, or `null` if the input is not a valid date.\n * @internal\n */\nexport function parseDateOnlyToISO(\n input: string,\n anchor: 'startOfDay' | 'endOfDay' = 'startOfDay',\n): string | null {\n const match = DATE_ONLY_REGEX.exec(input);\n if (!match) {\n return null;\n }\n\n const date = TZDateMini.tz(\n getTimezone(),\n Number(match[1]),\n Number(match[2]) - 1, // 0-indexed month\n Number(match[3]),\n );\n\n // Guard against impossible dates like Feb 31 \u2014 TZDateMini rolls them over to\n // the next month, so if the resulting month doesn't match the input, reject it.\n if (date.getMonth() !== Number(match[2]) - 1) {\n return null;\n }\n\n const anchored = anchor === 'endOfDay' ? endOfDay(date) : startOfDay(date);\n return anchored.toISOString();\n}\n\n/**\n * Captures the current state of a DateTimeInput's spinbuttons and expression input.\n * @internal\n */\nexport const captureUndoSnapshot = (\n spinButtonHandlers: Map<\n keyof Intl.DateTimeFormatPartTypesRegistry,\n SpinButtonHandler | null | undefined\n >,\n expressionRef: HTMLSpanElement | null | undefined,\n value: TimeValue | null,\n valueType: 'expression' | 'iso8601',\n): UndoSnapshot => {\n const spinButtonTexts = new Map<Intl.DateTimeFormatPart['type'], string>();\n spinButtonHandlers.forEach((handler, type) => {\n spinButtonTexts.set(type, handler?.element.current?.textContent ?? '');\n });\n return {\n value,\n valueType,\n spinButtonTexts,\n expressionText: expressionRef?.textContent ?? '',\n };\n};\n\ntype DateFieldType = 'day' | 'month' | 'year';\n\nfunction isDateFieldPart(\n part: Intl.DateTimeFormatPart,\n): part is Intl.DateTimeFormatPart & { type: DateFieldType } {\n return part.type === 'day' || part.type === 'month' || part.type === 'year';\n}\n\n/**\n * Returns the locale-specific date delimiter and field order (e.g. DMY, MDY, YMD)\n * by inspecting `Intl.DateTimeFormat.formatToParts`.\n */\nfunction getRegionalDateFormat(): {\n delimiter: string;\n fieldOrder: [DateFieldType, DateFieldType, DateFieldType];\n} {\n const parts = new Intl.DateTimeFormat(getRegionalFormat(), {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n }).formatToParts(new Date());\n\n const delimiter = parts.find((p) => p.type === 'literal')?.value ?? '/';\n const fieldOrder = parts.filter(isDateFieldPart).map((p) => p.type) as [\n DateFieldType,\n DateFieldType,\n DateFieldType,\n ];\n\n return { delimiter, fieldOrder };\n}\n\nexport type PartialDate = Partial<Record<DateFieldType, number>>;\n\n/**\n * Extracts a partial date from an input string using the user's regional date format.\n * Returns a `PartialDate` with `day`, `month`, and/or `year` fields mapped according\n * to the locale's field order. Handles incomplete inputs like `\"12/\"` or `\"12.2024\"`.\n * Returns `null` if no date pattern is found.\n * @internal\n */\nexport function tryParsePartialDate(input: string): PartialDate | null {\n const { delimiter, fieldOrder } = getRegionalDateFormat();\n // Escape the delimiter for use in the regex pattern\n // Examples: https://regex101.com/r/KjhFqd/1\n const escapedDelimiter = delimiter.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n // Match two or three groups of digits separated by the locale's date delimiter.\n // The middle group allows 1-4 digits because with only 2 groups it may be a year\n // (e.g. \"12.2024\"). When all 3 groups are present the field-level validation\n // below rejects a middle value that is too long for its assigned field.\n // Examples: https://regex101.com/r/h0AFRV/1\n const regex = new RegExp(\n `(?<=^|[\\\\s,])(\\\\d{1,4})${escapedDelimiter}(\\\\d{1,4})${escapedDelimiter}?(\\\\d{1,4})?(?=[\\\\s,]|$)`,\n );\n\n const match = regex.exec(input);\n if (!match) {\n return null;\n }\n\n const rawValues = [match[1], match[2], match[3]].filter(\n (value): value is string => value !== undefined,\n );\n\n // If a 4-digit number appears in a position that the locale doesn't assign to\n // 'year', the user likely omitted leading fields (e.g. \"12.2024\" in DMY means\n // month.year, not day.month). Right-align the values to the field order so the\n // 4-digit value lands on the year slot.\n const hasDisplacedYear = rawValues.some(\n (value, index) => value.length === 4 && fieldOrder[index] !== 'year',\n );\n const isYearFirstLocale = fieldOrder[0] === 'year';\n const hasNoExplicitYear = !rawValues.some((value) => value.length === 4);\n // In these cases, we assume the user omitted leading fields and right-align the values.\n const fields =\n hasDisplacedYear || (isYearFirstLocale && hasNoExplicitYear)\n ? fieldOrder.slice(fieldOrder.length - rawValues.length)\n : fieldOrder.slice(0, rawValues.length);\n\n const maxDigits: Record<DateFieldType, number> = {\n year: 4,\n day: 2,\n month: 2,\n };\n const result: PartialDate = {};\n\n for (let i = 0; i < fields.length; i++) {\n const raw = rawValues[i];\n const field = fields[i];\n\n // Day and month must be at most 2 digits; year must be exactly 4 digits.\n if (raw.length > maxDigits[field]) {\n return null;\n }\n\n const value = parseInt(raw);\n\n // Reject values outside valid ranges so that downstream code never sees\n // e.g. month 20 and wraps it into a different month via Date rollover.\n if (field === 'month' && (value < 1 || value > 12)) {\n return null;\n }\n if (field === 'day' && (value < 1 || value > 31)) {\n return null;\n }\n\n result[field] = value;\n }\n\n return result;\n}\n\ntype TimeFieldType = 'hour' | 'minute' | 'second' | 'millisecond';\n\nexport type PartialTime = Partial<Record<TimeFieldType, number>> & {\n dayPeriod?: string;\n};\n\n/**\n * Returns whether the user's locale uses a 12-hour clock and the locale-specific\n * day period labels (e.g. AM/PM, a.m./p.m.).\n */\nfunction getRegionalTimeFormat(): {\n is12Hour: boolean;\n dayPeriodValues: [string, string];\n} {\n const parts = new Intl.DateTimeFormat(getRegionalFormat(), {\n hour: 'numeric',\n minute: '2-digit',\n }).formatToParts(new Date());\n\n const hasDayPeriod = parts.some((p) => p.type === 'dayPeriod');\n const dayPeriodValues = getDayPeriodValues() as [string, string];\n\n return { is12Hour: hasDayPeriod, dayPeriodValues };\n}\n\n/**\n * Extracts a partial time from an input string using the user's regional time format.\n * Returns a `PartialTime` with `hour`, `minute`, `second`, `millisecond`, and/or\n * `dayPeriod` fields. Requires two-digit hours, minutes, and seconds.\n * For 12-hour locales, optionally matches the locale-specific AM/PM label.\n * Returns `null` if no time pattern is found.\n * @internal\n */\nexport function tryParsePartialTime(input: string): PartialTime | null {\n const { is12Hour, dayPeriodValues } = getRegionalTimeFormat();\n\n // Build day period matching: escape for regex and match case-insensitively.\n // Examples: https://regex101.com/r/KjhFqd/1\n const escapedPeriods = dayPeriodValues.map((value) =>\n value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'),\n );\n const dayPeriodPattern = is12Hour\n ? `(?:\\\\s*(${escapedPeriods.join('|')}))?`\n : '';\n\n // Match: hours : minutes : seconds? . milliseconds? dayPeriod? with appropriate\n // lookarounds to ensure we capture standalone time patterns in the input.\n // Minutes are required to avoid matching bare two-digit numbers as times.\n // Examples: https://regex101.com/r/MTnOAG/2\n const regex = new RegExp(\n `(?<=^|[\\\\s,])((?:[01]?\\\\d|2[0-3])):([0-5]\\\\d)(?::([0-5]\\\\d)(?:[.](\\\\d{1,3}))?)?${dayPeriodPattern}(?=[\\\\s,]|$)`,\n 'i',\n );\n\n const match = regex.exec(input);\n if (match) {\n const result: PartialTime = {};\n\n result.hour = parseInt(match[1]);\n result.minute = parseInt(match[2]);\n result.second = match[3] !== undefined ? parseInt(match[3]) : undefined;\n result.millisecond =\n match[4] !== undefined ? parseInt(match[4]) : undefined;\n\n if (is12Hour && match[5] !== undefined) {\n // Normalize to the canonical day period value (preserve locale casing)\n const matched = match[5].toLowerCase();\n result.dayPeriod = dayPeriodValues.find(\n (p) => p.toLowerCase() === matched,\n );\n }\n\n return result;\n }\n\n // Secondary: mm:ss.f{1,3} \u2014 fractional part is required to disambiguate from hh:mm.\n // Examples: https://regex101.com/r/hoRKbs/1\n const millisecondsRegex =\n /(?<=^|[\\s,])([0-5]\\d):([0-5]\\d)\\.(\\d{1,3})(?=[\\s,]|$)/;\n const millisecondsMatch = millisecondsRegex.exec(input);\n if (millisecondsMatch) {\n return {\n minute: parseInt(millisecondsMatch[1]),\n second: parseInt(millisecondsMatch[2]),\n millisecond: parseInt(millisecondsMatch[3]),\n };\n }\n\n return null;\n}\n\nexport type PartialDateTimeResult = {\n /** Normalized ISO string that can be applied to spin buttons. */\n iso: string;\n /**\n * If set, only these spin button parts should be updated (partial result).\n * When absent the result is complete and can be fed through the existing\n * paste pipeline (date-only / time-only / full ISO).\n */\n partsToUpdate?: Set<keyof Intl.DateTimeFormatPartTypesRegistry>;\n};\n\n/** Converts a 12-hour clock value to 24-hour using the locale's day-period labels. */\nfunction convertTo24Hour(hour: number, dayPeriod: string): number {\n const { dayPeriodValues } = getRegionalTimeFormat();\n const isPM = dayPeriod.toLowerCase() === dayPeriodValues[1].toLowerCase();\n const isAM = dayPeriod.toLowerCase() === dayPeriodValues[0].toLowerCase();\n if (isPM && hour < 12) {\n return hour + 12;\n }\n if (isAM && hour === 12) {\n return 0;\n }\n return hour;\n}\n\n/** Builds a complete ISO datetime from fully-specified date and time fields. */\nfunction buildFullDateTimeISO(\n year: number,\n month: number,\n day: number,\n hour: number,\n minute: number,\n second: number | undefined,\n millisecond: number | undefined,\n): PartialDateTimeResult | null {\n const d = TZDateMini.tz(\n getTimezone(),\n year,\n month - 1,\n day,\n hour,\n minute,\n second ?? 0,\n millisecond ?? 0,\n );\n return isNaN(d.getTime()) ? null : { iso: d.toISOString() };\n}\n\n/** Builds a date-only ISO string (YYYY-MM-DD) after validating the date. */\nfunction buildDateOnlyISO(\n year: number,\n month: number,\n day: number,\n): PartialDateTimeResult | null {\n const validationDate = TZDateMini.tz(getTimezone(), year, month - 1, day);\n if (\n isNaN(validationDate.getTime()) ||\n validationDate.getFullYear() !== year ||\n validationDate.getMonth() !== month - 1 ||\n validationDate.getDate() !== day\n ) {\n return null;\n }\n const yearString = String(year).padStart(4, '0');\n const monthString = String(month).padStart(2, '0');\n const dayString = String(day).padStart(2, '0');\n return { iso: `${yearString}-${monthString}-${dayString}` };\n}\n\n/** Builds a time-only ISO string (HH:MM[:SS[.mmm]]). */\nfunction buildTimeOnlyISO(\n hour: number,\n minute: number,\n second: number | undefined,\n millisecond: number | undefined,\n): PartialDateTimeResult {\n const hourString = String(hour).padStart(2, '0');\n const minuteString = String(minute).padStart(2, '0');\n let isoTime = `${hourString}:${minuteString}`;\n if (second !== undefined) {\n const secondString = String(second).padStart(2, '0');\n isoTime += `:${secondString}`;\n if (millisecond !== undefined) {\n const millisecondString = String(millisecond).padStart(3, '0');\n isoTime += `.${millisecondString}`;\n }\n }\n return { iso: isoTime };\n}\n\n/** Collects the set of spin-button part types that have defined values. */\nfunction collectPartsToUpdate(\n date: PartialDate | null,\n time: PartialTime | null,\n): Set<keyof Intl.DateTimeFormatPartTypesRegistry> {\n const partsToUpdate = new Set<keyof Intl.DateTimeFormatPartTypesRegistry>();\n\n const fieldMapping: Array<\n [unknown, keyof Intl.DateTimeFormatPartTypesRegistry]\n > = [\n [date?.day, 'day'],\n [date?.month, 'month'],\n [date?.year, 'year'],\n [time?.hour, 'hour'],\n [time?.minute, 'minute'],\n [time?.second, 'second'],\n [time?.millisecond, 'fractionalSecond'],\n [time?.dayPeriod, 'dayPeriod'],\n ];\n\n for (const [value, part] of fieldMapping) {\n if (value !== undefined) {\n partsToUpdate.add(part);\n }\n }\n\n return partsToUpdate;\n}\n\n/**\n * Converts partial date and/or time objects into an ISO-compatible string.\n *\n * - Complete date + complete time \u2192 full ISO datetime (no `partsToUpdate`).\n * - Complete date only \u2192 `\"YYYY-MM-DD\"` (no `partsToUpdate`).\n * - Complete time only \u2192 `\"HH:MM[:SS[.mmm]]\"` (no `partsToUpdate`).\n * - Partial fields \u2192 ISO string with defaults filled in, plus a `partsToUpdate`\n * set that lists only the spin button parts that should actually be applied.\n * - No fields at all \u2192 `null`.\n *\n * A date is \"complete\" when it has `day`, `month`, and `year`.\n * A time is \"complete\" when it has `hour` and `minute`.\n * @internal\n */\nexport function partialDateTimeToISO(\n date: PartialDate | null,\n time: PartialTime | null,\n): PartialDateTimeResult | null {\n if (!date && !time) {\n return null;\n }\n\n const year = date?.year;\n const month = date?.month;\n const day = date?.day;\n const minute = time?.minute;\n const second = time?.second;\n const millisecond = time?.millisecond;\n\n let hour24 = time?.hour;\n if (hour24 !== undefined && time?.dayPeriod) {\n hour24 = convertTo24Hour(hour24, time.dayPeriod);\n }\n\n if (year !== undefined && month !== undefined && day !== undefined) {\n if (hour24 !== undefined && minute !== undefined) {\n return buildFullDateTimeISO(\n year,\n month,\n day,\n hour24,\n minute,\n second,\n millisecond,\n );\n }\n return buildDateOnlyISO(year, month, day);\n }\n\n if (!date && hour24 !== undefined && minute !== undefined) {\n return buildTimeOnlyISO(hour24, minute, second, millisecond);\n }\n\n // Partial result: fill defaults from \"now\" for missing fields.\n const now = TZDateMini.tz(getTimezone());\n const fallback = TZDateMini.tz(\n getTimezone(),\n year ?? now.getFullYear(),\n (month ?? now.getMonth() + 1) - 1,\n day ?? now.getDate(),\n hour24 ?? now.getHours(),\n minute ?? now.getMinutes(),\n second ?? 0,\n millisecond ?? 0,\n );\n if (isNaN(fallback.getTime())) {\n return null;\n }\n\n const partsToUpdate = collectPartsToUpdate(date, time);\n if (partsToUpdate.size === 0) {\n return null;\n }\n\n return { iso: fallback.toISOString(), partsToUpdate };\n}\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,UAAU,kBAAkB;AAErC;AAAA,EACE;AAAA,EACA;AAAA,OACK;
|
|
4
|
+
"sourcesContent": ["import { TZDateMini } from '@date-fns/tz';\nimport { endOfDay, startOfDay } from 'date-fns';\n\nimport { getTimezone } from '@dynatrace-sdk/user-preferences';\n\nimport type { UndoSnapshot } from './types.js';\nimport type { TimeValue } from '../../core/types/time.js';\nimport {\n getDayPeriodValues,\n getSafeRegionalFormat,\n} from '../forms-core/time/helpers.js';\nimport type { SpinButtonHandler } from '../spin-buttons/spin-button-group/types.js';\n\n// Matches strict ISO 8601 date-only: YYYY-MM-DD or YYYY-MM-DDZ (with optional trailing Z/z)\n// Examples https://regex101.com/r/Jz81ww/1\nconst DATE_ONLY_REGEX = /^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])[Zz]?$/;\n// Matches common time-only strings: HH:MM, HH:MM:SS, HH:MM:SS.mmm \u2014 all with optional Z or \u00B1hh:mm offset\n// Examples: https://regex101.com/r/bSW29n/1\nconst TIME_ONLY_REGEX =\n /^([01]\\d|2[0-3]):([0-5]\\d)(?::([0-5]\\d)(?:\\.(\\d{1,3}))?)?([Zz]|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)?$/;\n\n// Matches a full ISO 8601 datetime: YYYY-MM-DDT\u2026 with optional timezone.\n// Used to detect ISO strings that need case normalisation or a missing TZ suffix.\n// Validates value ranges: month 01\u201312, day 01\u201331, hour 00\u201323, minute/second 00\u201359.\n// Examples: https://regex101.com/r/OI3HwW/1\nconst FULL_ISO_DATETIME_REGEX =\n /^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])[Tt]([01]\\d|2[0-3])(?::([0-5]\\d)(?::([0-5]\\d)(?:\\.(\\d{1,3}))?)?)?([Zz]|[+-]\\d{2}:?\\d{2})?$/;\n\n/**\n * Normalises a pasted ISO-like string so that downstream parsers can handle it:\n * - Uppercases the `T` separator and any trailing `z` / `Z` in the timezone.\n * - When a full ISO datetime has no timezone suffix, interprets it as local time\n * in the user's configured timezone (per ISO 8601) and converts to UTC.\n * Non-ISO input is returned unchanged.\n * @internal\n */\nexport function normalizeISOInput(input: string): string {\n const match = FULL_ISO_DATETIME_REGEX.exec(input);\n if (!match) {\n return input;\n }\n\n // Uppercase the T separator and any trailing z\n // The regex finds ISO timestamps with lowercase t and uppercase T\n // Examples: https://regex101.com/r/HMInC0/1\n let normalized = input.replace(/^(\\d{4}-\\d{2}-\\d{2})[Tt]/, '$1T');\n\n const tzSuffix = match[8];\n if (tzSuffix) {\n // Uppercase a lowercase 'z' at the end\n if (tzSuffix === 'z') {\n normalized = normalized.slice(0, -1) + 'Z';\n }\n } else {\n // No timezone suffix \u2014 per ISO 8601 this means local time.\n // Interpret in the user's configured timezone and convert to UTC.\n const year = Number(match[1]);\n const month = Number(match[2]) - 1; // 0-indexed\n const day = Number(match[3]);\n const hours = Number(match[4]);\n const minutes = match[5] !== undefined ? Number(match[5]) : 0;\n const seconds = match[6] !== undefined ? Number(match[6]) : 0;\n const milliseconds =\n match[7] !== undefined ? Number(match[7].padEnd(3, '0')) : 0;\n\n const local = TZDateMini.tz(\n getTimezone(),\n year,\n month,\n day,\n hours,\n minutes,\n seconds,\n milliseconds,\n );\n\n if (!isNaN(local.getTime())) {\n // Guard against impossible dates like Feb 31 \u2014 TZDateMini rolls them\n // over to the next month, so if the resulting date doesn't match the\n // input, return the input unchanged (not a valid ISO datetime).\n if (local.getMonth() !== month || local.getDate() !== day) {\n return input;\n }\n return local.toISOString();\n }\n\n // Fallback: append Z if the date is somehow invalid for the timezone\n normalized += 'Z';\n }\n\n return normalized;\n}\n\n/**\n * Parses a time-only string to a full ISO UTC datetime string anchored at `2000-01-01`.\n * Accepts: `HH:MM`, `HH:MMZ`, `HH:MM:SS`, `HH:MM:SS.mmm`, with optional `Z` / `\u00B1hh:mm` offset.\n * Returns `null` if the input does not represent a valid time.\n * @internal\n */\nexport function parseTimeOnlyToISO(input: string): string | null {\n const match = TIME_ONLY_REGEX.exec(input);\n if (!match) {\n return null;\n }\n\n const hours = Number(match[1]);\n const minutes = Number(match[2]);\n const seconds = match[3] !== undefined ? Number(match[3]) : 0;\n const milliseconds =\n match[4] !== undefined ? Number(match[4].padEnd(3, '0')) : 0;\n const timezoneSuffix = match[5];\n\n const now = TZDateMini.tz(getTimezone());\n const year = now.getFullYear();\n const month = now.getMonth(); // 0-indexed\n const day = now.getDate();\n\n if (timezoneSuffix) {\n // Explicit offset (Z, +02:00, \u2026): build the full ISO string with that offset\n // and let the Date parser convert it to UTC correctly.\n\n const ISOdate = `${year}-${String(month + 1).padStart(2, '0')}-${String(\n day,\n ).padStart(2, '0')}`;\n const ISOtime = `T${match[1]}:${match[2]}:${String(seconds).padStart(\n 2,\n '0',\n )}.${String(milliseconds).padStart(3, '0')}${timezoneSuffix.toUpperCase()}`;\n const fullISO = ISOdate + ISOtime;\n const parsedDate = new Date(fullISO);\n\n return isNaN(parsedDate.getTime()) ? null : parsedDate.toISOString();\n }\n\n // No TZ suffix: the user means local time \u2014 interpret it in the user's timezone\n // and convert to UTC via .toISOString().\n const local = TZDateMini.tz(\n getTimezone(),\n year,\n month,\n day,\n hours,\n minutes,\n seconds,\n milliseconds,\n );\n return isNaN(local.getTime()) ? null : local.toISOString();\n}\n\n/**\n * Parses a date-only string matched against the strict ISO 8601 date format (`YYYY-MM-DD`).\n * Returns a full ISO UTC midnight datetime string, or `null` if the input is not a valid date.\n * @internal\n */\nexport function parseDateOnlyToISO(\n input: string,\n anchor: 'startOfDay' | 'endOfDay' = 'startOfDay',\n): string | null {\n const match = DATE_ONLY_REGEX.exec(input);\n if (!match) {\n return null;\n }\n\n const date = TZDateMini.tz(\n getTimezone(),\n Number(match[1]),\n Number(match[2]) - 1, // 0-indexed month\n Number(match[3]),\n );\n\n // Guard against impossible dates like Feb 31 \u2014 TZDateMini rolls them over to\n // the next month, so if the resulting month doesn't match the input, reject it.\n if (date.getMonth() !== Number(match[2]) - 1) {\n return null;\n }\n\n const anchored = anchor === 'endOfDay' ? endOfDay(date) : startOfDay(date);\n return anchored.toISOString();\n}\n\n/**\n * Captures the current state of a DateTimeInput's spinbuttons and expression input.\n * @internal\n */\nexport const captureUndoSnapshot = (\n spinButtonHandlers: Map<\n keyof Intl.DateTimeFormatPartTypesRegistry,\n SpinButtonHandler | null | undefined\n >,\n expressionRef: HTMLSpanElement | null | undefined,\n value: TimeValue | null,\n valueType: 'expression' | 'iso8601',\n): UndoSnapshot => {\n const spinButtonTexts = new Map<Intl.DateTimeFormatPart['type'], string>();\n spinButtonHandlers.forEach((handler, type) => {\n spinButtonTexts.set(type, handler?.element.current?.textContent ?? '');\n });\n return {\n value,\n valueType,\n spinButtonTexts,\n expressionText: expressionRef?.textContent ?? '',\n };\n};\n\n/**\n * Returns true if the keyboard event represents a key that could modify input\n * content (printable characters, arrows that change spinbutton values,\n * deletion keys).\n * @internal\n */\nexport function isContentModifyingKey(event: {\n key: string;\n ctrlKey: boolean;\n metaKey: boolean;\n}): boolean {\n if (event.ctrlKey || event.metaKey) {\n return false;\n }\n if (\n event.key === 'ArrowUp' ||\n event.key === 'ArrowDown' ||\n event.key === 'Backspace' ||\n event.key === 'Delete'\n ) {\n return true;\n }\n // Printable characters have a key value of length 1\n if (event.key.length === 1) {\n return true;\n }\n return false;\n}\n\ntype DateFieldType = 'day' | 'month' | 'year';\n\nfunction isDateFieldPart(\n part: Intl.DateTimeFormatPart,\n): part is Intl.DateTimeFormatPart & { type: DateFieldType } {\n return part.type === 'day' || part.type === 'month' || part.type === 'year';\n}\n\n/**\n * Returns the locale-specific date delimiter and field order (e.g. DMY, MDY, YMD)\n * by inspecting `Intl.DateTimeFormat.formatToParts`.\n */\nfunction getRegionalDateFormat(): {\n delimiter: string;\n fieldOrder: [DateFieldType, DateFieldType, DateFieldType];\n} {\n const parts = new Intl.DateTimeFormat(getSafeRegionalFormat(), {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n }).formatToParts(new Date());\n\n const delimiter = parts.find((p) => p.type === 'literal')?.value ?? '/';\n const fieldOrder = parts.filter(isDateFieldPart).map((p) => p.type) as [\n DateFieldType,\n DateFieldType,\n DateFieldType,\n ];\n\n return { delimiter, fieldOrder };\n}\n\nexport type PartialDate = Partial<Record<DateFieldType, number>>;\n\n/**\n * Short alphabetic tokens (e.g. `dd`, `MM`, `yyyy`, `HH`, `mm`, `ss`) \u2014 the same\n * text that empty spin buttons render via their `:empty::before` pseudo-element\n * and emit when copied. Accepting them in our parsers means a copied\n * `\"25/mm/2024\"` round-trips back to a partial date with the month intentionally\n * left empty.\n */\nconst PLACEHOLDER_TOKEN_PATTERN = '[A-Za-z]{1,4}';\n\n/** Wraps a numeric field pattern with a placeholder-token alternative. */\nfunction orPlaceholder(numericPattern: string): string {\n return `${numericPattern}|${PLACEHOLDER_TOKEN_PATTERN}`;\n}\n\n/** Whether `value` is a placeholder token rather than digits. */\nfunction isPlaceholderToken(value: string): boolean {\n return /^[A-Za-z]+$/.test(value);\n}\n\n/**\n * Extracts a partial date from an input string using the user's regional date format.\n * Returns a `PartialDate` with `day`, `month`, and/or `year` fields mapped according\n * to the locale's field order. Handles incomplete inputs like `\"12/\"` or `\"12.2024\"`,\n * and treats placeholder tokens (e.g. the `MM` in `\"25/MM/2024\"`) as intentionally\n * empty fields so the corresponding spin buttons are left untouched.\n * Returns `null` if no date pattern is found.\n * @internal\n */\nexport function tryParsePartialDate(input: string): PartialDate | null {\n const { delimiter, fieldOrder } = getRegionalDateFormat();\n // Escape the delimiter for use in the regex pattern\n // Examples: https://regex101.com/r/KjhFqd/1\n const escapedDelimiter = delimiter.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n // Match two or three field tokens separated by the locale's date delimiter.\n // Each field is digits (1-4) or a placeholder token (1-4 letters). The middle\n // group allows 1-4 digits because with only 2 groups it may be a year\n // (e.g. \"12.2024\"). When all 3 groups are present the field-level validation\n // below rejects a middle value that is too long for its assigned field.\n // Examples: https://regex101.com/r/h0AFRV/1\n const regex = new RegExp(\n `(?<=^|[\\\\s,])(${orPlaceholder(\n '\\\\d{1,4}',\n )})${escapedDelimiter}(${orPlaceholder(\n '\\\\d{1,4}',\n )})${escapedDelimiter}?(${orPlaceholder('\\\\d{1,4}')})?(?=[\\\\s,]|$)`,\n );\n\n const match = regex.exec(input);\n if (!match) {\n return null;\n }\n\n const rawValues = [match[1], match[2], match[3]].filter(\n (value): value is string => value !== undefined,\n );\n\n // Treat 4-character placeholder tokens (e.g. `yyyy`) the same as 4-digit\n // years for field alignment purposes \u2014 both signal that the slot represents\n // the year, so right-alignment shouldn't be triggered when one is present.\n const looksLikeYear = (value: string): boolean => value.length === 4;\n\n // If a 4-character value appears in a position that the locale doesn't assign\n // to 'year', the user likely omitted leading fields (e.g. \"12.2024\" in DMY\n // means month.year, not day.month). Right-align the values to the field order\n // so the 4-character value lands on the year slot.\n const hasDisplacedYear = rawValues.some(\n (value, index) => looksLikeYear(value) && fieldOrder[index] !== 'year',\n );\n const isYearFirstLocale = fieldOrder[0] === 'year';\n const hasNoExplicitYear = !rawValues.some(looksLikeYear);\n // In these cases, we assume the user omitted leading fields and right-align the values.\n const fields =\n hasDisplacedYear || (isYearFirstLocale && hasNoExplicitYear)\n ? fieldOrder.slice(fieldOrder.length - rawValues.length)\n : fieldOrder.slice(0, rawValues.length);\n\n const maxDigits: Record<DateFieldType, number> = {\n year: 4,\n day: 2,\n month: 2,\n };\n const result: PartialDate = {};\n\n for (let i = 0; i < fields.length; i++) {\n const raw = rawValues[i];\n const field = fields[i];\n\n // A placeholder token means the user copied an empty spin button; leave the\n // field undefined so downstream code keeps that spin button as-is.\n if (isPlaceholderToken(raw)) {\n continue;\n }\n\n // Day and month must be at most 2 digits; year must be exactly 4 digits.\n if (raw.length > maxDigits[field]) {\n return null;\n }\n\n const value = parseInt(raw);\n\n // Reject values outside valid ranges so that downstream code never sees\n // e.g. month 20 and wraps it into a different month via Date rollover.\n if (field === 'month' && (value < 1 || value > 12)) {\n return null;\n }\n if (field === 'day' && (value < 1 || value > 31)) {\n return null;\n }\n\n result[field] = value;\n }\n\n return result;\n}\n\ntype TimeFieldType = 'hour' | 'minute' | 'second' | 'millisecond';\n\nexport type PartialTime = Partial<Record<TimeFieldType, number>> & {\n dayPeriod?: string;\n};\n\n/**\n * Returns whether the user's locale uses a 12-hour clock and the locale-specific\n * day period labels (e.g. AM/PM, a.m./p.m.).\n */\nfunction getRegionalTimeFormat(): {\n is12Hour: boolean;\n dayPeriodValues: [string, string];\n} {\n const parts = new Intl.DateTimeFormat(getSafeRegionalFormat(), {\n hour: 'numeric',\n minute: '2-digit',\n }).formatToParts(new Date());\n\n const hasDayPeriod = parts.some((p) => p.type === 'dayPeriod');\n const dayPeriodValues = getDayPeriodValues() as [string, string];\n\n return { is12Hour: hasDayPeriod, dayPeriodValues };\n}\n\n/**\n * Parses a single field as a digit value, returning `undefined` for placeholder\n * tokens (e.g. `HH`, `mm`) so the caller leaves the corresponding spin button\n * untouched.\n */\nfunction parseTimeField(raw: string | undefined): number | undefined {\n if (raw === undefined || isPlaceholderToken(raw)) {\n return undefined;\n }\n return parseInt(raw);\n}\n\n/**\n * Extracts a partial time from an input string using the user's regional time format.\n * Returns a `PartialTime` with `hour`, `minute`, `second`, `millisecond`, and/or\n * `dayPeriod` fields. Requires two-digit hours, minutes, and seconds for digit\n * inputs, and accepts placeholder tokens (e.g. the `mm` in `\"14:mm\"`) for fields\n * the user intentionally left empty.\n * For 12-hour locales, optionally matches the locale-specific AM/PM label.\n * Returns `null` if no time pattern is found.\n * @internal\n */\nexport function tryParsePartialTime(input: string): PartialTime | null {\n const { is12Hour, dayPeriodValues } = getRegionalTimeFormat();\n\n // Build day period matching: escape for regex and match case-insensitively.\n // The trailing `[A-Za-z]+` allows placeholder tokens (e.g. `aa`) to be consumed\n // so the time portion still matches; unrecognised tokens fall through to an\n // undefined `dayPeriod` below.\n // Examples: https://regex101.com/r/KjhFqd/1\n const escapedPeriods = dayPeriodValues.map((value) =>\n value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'),\n );\n const dayPeriodPattern = is12Hour\n ? `(?:\\\\s*(${escapedPeriods.join('|')}|[A-Za-z]+))?`\n : '';\n\n // Each field below accepts either its numeric range or a placeholder token\n // (1-4 letters). Minutes are required to avoid matching bare two-digit numbers\n // as times.\n const hourPattern = orPlaceholder('[01]?\\\\d|2[0-3]');\n const minuteOrSecondPattern = orPlaceholder('[0-5]\\\\d');\n const millisecondPattern = orPlaceholder('\\\\d{1,3}');\n // Examples: https://regex101.com/r/pQ8liS/1\n const regex = new RegExp(\n `(?<=^|[\\\\s,])(${hourPattern}):(${minuteOrSecondPattern})(?::(${minuteOrSecondPattern})(?:[.](${millisecondPattern}))?)?${dayPeriodPattern}(?=[\\\\s,]|$)`,\n 'i',\n );\n\n const match = regex.exec(input);\n if (match) {\n const result: PartialTime = {};\n\n result.hour = parseTimeField(match[1]);\n result.minute = parseTimeField(match[2]);\n result.second = parseTimeField(match[3]);\n result.millisecond = parseTimeField(match[4]);\n\n if (is12Hour && match[5] !== undefined) {\n // Normalize to the canonical day period value (preserve locale casing).\n // Placeholder tokens that don't match a known period leave dayPeriod unset.\n const matched = match[5].toLowerCase();\n result.dayPeriod = dayPeriodValues.find(\n (p) => p.toLowerCase() === matched,\n );\n }\n\n return result;\n }\n\n // Secondary: mm:ss.f{1,3} \u2014 fractional part is required to disambiguate from hh:mm.\n // Examples: https://regex101.com/r/hoRKbs/1\n const millisecondsRegex =\n /(?<=^|[\\s,])([0-5]\\d):([0-5]\\d)\\.(\\d{1,3})(?=[\\s,]|$)/;\n const millisecondsMatch = millisecondsRegex.exec(input);\n if (millisecondsMatch) {\n return {\n minute: parseInt(millisecondsMatch[1]),\n second: parseInt(millisecondsMatch[2]),\n millisecond: parseInt(millisecondsMatch[3]),\n };\n }\n\n return null;\n}\n\nexport type PartialDateTimeResult = {\n /** Normalized ISO string that can be applied to spin buttons. */\n iso: string;\n /**\n * If set, only these spin button parts should be updated (partial result).\n * When absent the result is complete and can be fed through the existing\n * paste pipeline (date-only / time-only / full ISO).\n */\n partsToUpdate?: Set<keyof Intl.DateTimeFormatPartTypesRegistry>;\n};\n\n/** Converts a 12-hour clock value to 24-hour using the locale's day-period labels. */\nfunction convertTo24Hour(hour: number, dayPeriod: string): number {\n const { dayPeriodValues } = getRegionalTimeFormat();\n const isPM = dayPeriod.toLowerCase() === dayPeriodValues[1].toLowerCase();\n const isAM = dayPeriod.toLowerCase() === dayPeriodValues[0].toLowerCase();\n if (isPM && hour < 12) {\n return hour + 12;\n }\n if (isAM && hour === 12) {\n return 0;\n }\n return hour;\n}\n\n/** Builds a complete ISO datetime from fully-specified date and time fields. */\nfunction buildFullDateTimeISO(\n year: number,\n month: number,\n day: number,\n hour: number,\n minute: number,\n second: number | undefined,\n millisecond: number | undefined,\n): PartialDateTimeResult | null {\n const d = TZDateMini.tz(\n getTimezone(),\n year,\n month - 1,\n day,\n hour,\n minute,\n second ?? 0,\n millisecond ?? 0,\n );\n return isNaN(d.getTime()) ? null : { iso: d.toISOString() };\n}\n\n/** Builds a date-only ISO string (YYYY-MM-DD) after validating the date. */\nfunction buildDateOnlyISO(\n year: number,\n month: number,\n day: number,\n): PartialDateTimeResult | null {\n const validationDate = TZDateMini.tz(getTimezone(), year, month - 1, day);\n if (\n isNaN(validationDate.getTime()) ||\n validationDate.getFullYear() !== year ||\n validationDate.getMonth() !== month - 1 ||\n validationDate.getDate() !== day\n ) {\n return null;\n }\n const yearString = String(year).padStart(4, '0');\n const monthString = String(month).padStart(2, '0');\n const dayString = String(day).padStart(2, '0');\n return { iso: `${yearString}-${monthString}-${dayString}` };\n}\n\n/** Builds a time-only ISO string (HH:MM[:SS[.mmm]]). */\nfunction buildTimeOnlyISO(\n hour: number,\n minute: number,\n second: number | undefined,\n millisecond: number | undefined,\n): PartialDateTimeResult {\n const hourString = String(hour).padStart(2, '0');\n const minuteString = String(minute).padStart(2, '0');\n let isoTime = `${hourString}:${minuteString}`;\n if (second !== undefined) {\n const secondString = String(second).padStart(2, '0');\n isoTime += `:${secondString}`;\n if (millisecond !== undefined) {\n const millisecondString = String(millisecond).padStart(3, '0');\n isoTime += `.${millisecondString}`;\n }\n }\n return { iso: isoTime };\n}\n\n/** Collects the set of spin-button part types that have defined values. */\nfunction collectPartsToUpdate(\n date: PartialDate | null,\n time: PartialTime | null,\n): Set<keyof Intl.DateTimeFormatPartTypesRegistry> {\n const partsToUpdate = new Set<keyof Intl.DateTimeFormatPartTypesRegistry>();\n\n const fieldMapping: Array<\n [unknown, keyof Intl.DateTimeFormatPartTypesRegistry]\n > = [\n [date?.day, 'day'],\n [date?.month, 'month'],\n [date?.year, 'year'],\n [time?.hour, 'hour'],\n [time?.minute, 'minute'],\n [time?.second, 'second'],\n [time?.millisecond, 'fractionalSecond'],\n [time?.dayPeriod, 'dayPeriod'],\n ];\n\n for (const [value, part] of fieldMapping) {\n if (value !== undefined) {\n partsToUpdate.add(part);\n }\n }\n\n return partsToUpdate;\n}\n\n/**\n * Converts partial date and/or time objects into an ISO-compatible string.\n *\n * - Complete date + complete time \u2192 full ISO datetime (no `partsToUpdate`).\n * - Complete date only (time absent) \u2192 `\"YYYY-MM-DD\"` (no `partsToUpdate`).\n * - Complete time only (date absent) \u2192 `\"HH:MM[:SS[.mmm]]\"` (no `partsToUpdate`).\n * - Partial fields \u2192 ISO string with defaults filled in, plus a `partsToUpdate`\n * set that lists only the spin button parts that should actually be applied.\n * Inputs with placeholder tokens for the missing side (e.g. `\"25/12/2024 HH:mm\"`)\n * take this path so the corresponding spin buttons are left untouched rather\n * than auto-filled with `00:00` or \"now\".\n * - No fields at all \u2192 `null`.\n *\n * A date is \"complete\" when it has `day`, `month`, and `year`.\n * A time is \"complete\" when it has `hour` and `minute`.\n * @internal\n */\nexport function partialDateTimeToISO(\n date: PartialDate | null,\n time: PartialTime | null,\n): PartialDateTimeResult | null {\n if (!date && !time) {\n return null;\n }\n\n const year = date?.year;\n const month = date?.month;\n const day = date?.day;\n const minute = time?.minute;\n const second = time?.second;\n const millisecond = time?.millisecond;\n\n let hour24 = time?.hour;\n if (hour24 !== undefined && time?.dayPeriod) {\n hour24 = convertTo24Hour(hour24, time.dayPeriod);\n }\n\n // Only short-circuit to a \"{date,time}-only\" ISO when the other side is\n // genuinely absent. If `time` (or `date`) is provided as a placeholder-only\n // object, fall through to the partial path so the placeholder fields stay\n // empty in the spin buttons.\n if (year !== undefined && month !== undefined && day !== undefined) {\n if (hour24 !== undefined && minute !== undefined) {\n return buildFullDateTimeISO(\n year,\n month,\n day,\n hour24,\n minute,\n second,\n millisecond,\n );\n }\n if (time === null) {\n return buildDateOnlyISO(year, month, day);\n }\n }\n\n if (date === null && hour24 !== undefined && minute !== undefined) {\n return buildTimeOnlyISO(hour24, minute, second, millisecond);\n }\n\n // Partial result: fill defaults from \"now\" for missing fields.\n const now = TZDateMini.tz(getTimezone());\n const fallback = TZDateMini.tz(\n getTimezone(),\n year ?? now.getFullYear(),\n (month ?? now.getMonth() + 1) - 1,\n day ?? now.getDate(),\n hour24 ?? now.getHours(),\n minute ?? now.getMinutes(),\n second ?? 0,\n millisecond ?? 0,\n );\n if (isNaN(fallback.getTime())) {\n return null;\n }\n\n const partsToUpdate = collectPartsToUpdate(date, time);\n if (partsToUpdate.size === 0) {\n return null;\n }\n\n return { iso: fallback.toISOString(), partsToUpdate };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,UAAU,kBAAkB;AAErC,SAAS,mBAAmB;AAI5B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAKP,MAAM,kBAAkB;AAGxB,MAAM,kBACJ;AAMF,MAAM,0BACJ;AAUK,SAAS,kBAAkB,OAAuB;AACvD,QAAM,QAAQ,wBAAwB,KAAK,KAAK;AAChD,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAKA,MAAI,aAAa,MAAM,QAAQ,4BAA4B,KAAK;AAEhE,QAAM,WAAW,MAAM,CAAC;AACxB,MAAI,UAAU;AAEZ,QAAI,aAAa,KAAK;AACpB,mBAAa,WAAW,MAAM,GAAG,EAAE,IAAI;AAAA,IACzC;AAAA,EACF,OAAO;AAGL,UAAM,OAAO,OAAO,MAAM,CAAC,CAAC;AAC5B,UAAM,QAAQ,OAAO,MAAM,CAAC,CAAC,IAAI;AACjC,UAAM,MAAM,OAAO,MAAM,CAAC,CAAC;AAC3B,UAAM,QAAQ,OAAO,MAAM,CAAC,CAAC;AAC7B,UAAM,UAAU,MAAM,CAAC,MAAM,SAAY,OAAO,MAAM,CAAC,CAAC,IAAI;AAC5D,UAAM,UAAU,MAAM,CAAC,MAAM,SAAY,OAAO,MAAM,CAAC,CAAC,IAAI;AAC5D,UAAM,eACJ,MAAM,CAAC,MAAM,SAAY,OAAO,MAAM,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,IAAI;AAE7D,UAAM,QAAQ,WAAW;AAAA,MACvB,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,CAAC,MAAM,MAAM,QAAQ,CAAC,GAAG;AAI3B,UAAI,MAAM,SAAS,MAAM,SAAS,MAAM,QAAQ,MAAM,KAAK;AACzD,eAAO;AAAA,MACT;AACA,aAAO,MAAM,YAAY;AAAA,IAC3B;AAGA,kBAAc;AAAA,EAChB;AAEA,SAAO;AACT;AAQO,SAAS,mBAAmB,OAA8B;AAC/D,QAAM,QAAQ,gBAAgB,KAAK,KAAK;AACxC,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,OAAO,MAAM,CAAC,CAAC;AAC7B,QAAM,UAAU,OAAO,MAAM,CAAC,CAAC;AAC/B,QAAM,UAAU,MAAM,CAAC,MAAM,SAAY,OAAO,MAAM,CAAC,CAAC,IAAI;AAC5D,QAAM,eACJ,MAAM,CAAC,MAAM,SAAY,OAAO,MAAM,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,IAAI;AAC7D,QAAM,iBAAiB,MAAM,CAAC;AAE9B,QAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AACvC,QAAM,OAAO,IAAI,YAAY;AAC7B,QAAM,QAAQ,IAAI,SAAS;AAC3B,QAAM,MAAM,IAAI,QAAQ;AAExB,MAAI,gBAAgB;AAIlB,UAAM,UAAU,GAAG,IAAI,IAAI,OAAO,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI;AAAA,MAC/D;AAAA,IACF,EAAE,SAAS,GAAG,GAAG,CAAC;AAClB,UAAM,UAAU,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,OAAO,OAAO,EAAE;AAAA,MAC1D;AAAA,MACA;AAAA,IACF,CAAC,IAAI,OAAO,YAAY,EAAE,SAAS,GAAG,GAAG,CAAC,GAAG,eAAe,YAAY,CAAC;AACzE,UAAM,UAAU,UAAU;AAC1B,UAAM,aAAa,IAAI,KAAK,OAAO;AAEnC,WAAO,MAAM,WAAW,QAAQ,CAAC,IAAI,OAAO,WAAW,YAAY;AAAA,EACrE;AAIA,QAAM,QAAQ,WAAW;AAAA,IACvB,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO,MAAM,MAAM,QAAQ,CAAC,IAAI,OAAO,MAAM,YAAY;AAC3D;AAOO,SAAS,mBACd,OACA,SAAoC,cACrB;AACf,QAAM,QAAQ,gBAAgB,KAAK,KAAK;AACxC,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,QAAM,OAAO,WAAW;AAAA,IACtB,YAAY;AAAA,IACZ,OAAO,MAAM,CAAC,CAAC;AAAA,IACf,OAAO,MAAM,CAAC,CAAC,IAAI;AAAA;AAAA,IACnB,OAAO,MAAM,CAAC,CAAC;AAAA,EACjB;AAIA,MAAI,KAAK,SAAS,MAAM,OAAO,MAAM,CAAC,CAAC,IAAI,GAAG;AAC5C,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,WAAW,aAAa,SAAS,IAAI,IAAI,WAAW,IAAI;AACzE,SAAO,SAAS,YAAY;AAC9B;AAMO,MAAM,sBAAsB,CACjC,oBAIA,eACA,OACA,cACiB;AACjB,QAAM,kBAAkB,oBAAI,IAA6C;AACzE,qBAAmB,QAAQ,CAAC,SAAS,SAAS;AAC5C,oBAAgB,IAAI,MAAM,SAAS,QAAQ,SAAS,eAAe,EAAE;AAAA,EACvE,CAAC;AACD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,eAAe,eAAe;AAAA,EAChD;AACF;AAQO,SAAS,sBAAsB,OAI1B;AACV,MAAI,MAAM,WAAW,MAAM,SAAS;AAClC,WAAO;AAAA,EACT;AACA,MACE,MAAM,QAAQ,aACd,MAAM,QAAQ,eACd,MAAM,QAAQ,eACd,MAAM,QAAQ,UACd;AACA,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,IAAI,WAAW,GAAG;AAC1B,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAIA,SAAS,gBACP,MAC2D;AAC3D,SAAO,KAAK,SAAS,SAAS,KAAK,SAAS,WAAW,KAAK,SAAS;AACvE;AAMA,SAAS,wBAGP;AACA,QAAM,QAAQ,IAAI,KAAK,eAAe,sBAAsB,GAAG;AAAA,IAC7D,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,EACP,CAAC,EAAE,cAAc,oBAAI,KAAK,CAAC;AAE3B,QAAM,YAAY,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,SAAS,GAAG,SAAS;AACpE,QAAM,aAAa,MAAM,OAAO,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;AAMlE,SAAO,EAAE,WAAW,WAAW;AACjC;AAWA,MAAM,4BAA4B;AAGlC,SAAS,cAAc,gBAAgC;AACrD,SAAO,GAAG,cAAc,IAAI,yBAAyB;AACvD;AAGA,SAAS,mBAAmB,OAAwB;AAClD,SAAO,cAAc,KAAK,KAAK;AACjC;AAWO,SAAS,oBAAoB,OAAmC;AACrE,QAAM,EAAE,WAAW,WAAW,IAAI,sBAAsB;AAGxD,QAAM,mBAAmB,UAAU,QAAQ,uBAAuB,MAAM;AAOxE,QAAM,QAAQ,IAAI;AAAA,IAChB,iBAAiB;AAAA,MACf;AAAA,IACF,CAAC,IAAI,gBAAgB,IAAI;AAAA,MACvB;AAAA,IACF,CAAC,IAAI,gBAAgB,KAAK,cAAc,UAAU,CAAC;AAAA,EACrD;AAEA,QAAM,QAAQ,MAAM,KAAK,KAAK;AAC9B,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE;AAAA,IAC/C,CAAC,UAA2B,UAAU;AAAA,EACxC;AAKA,QAAM,gBAAgB,CAAC,UAA2B,MAAM,WAAW;AAMnE,QAAM,mBAAmB,UAAU;AAAA,IACjC,CAAC,OAAO,UAAU,cAAc,KAAK,KAAK,WAAW,KAAK,MAAM;AAAA,EAClE;AACA,QAAM,oBAAoB,WAAW,CAAC,MAAM;AAC5C,QAAM,oBAAoB,CAAC,UAAU,KAAK,aAAa;AAEvD,QAAM,SACJ,oBAAqB,qBAAqB,oBACtC,WAAW,MAAM,WAAW,SAAS,UAAU,MAAM,IACrD,WAAW,MAAM,GAAG,UAAU,MAAM;AAE1C,QAAM,YAA2C;AAAA,IAC/C,MAAM;AAAA,IACN,KAAK;AAAA,IACL,OAAO;AAAA,EACT;AACA,QAAM,SAAsB,CAAC;AAE7B,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,UAAM,MAAM,UAAU,CAAC;AACvB,UAAM,QAAQ,OAAO,CAAC;AAItB,QAAI,mBAAmB,GAAG,GAAG;AAC3B;AAAA,IACF;AAGA,QAAI,IAAI,SAAS,UAAU,KAAK,GAAG;AACjC,aAAO;AAAA,IACT;AAEA,UAAM,QAAQ,SAAS,GAAG;AAI1B,QAAI,UAAU,YAAY,QAAQ,KAAK,QAAQ,KAAK;AAClD,aAAO;AAAA,IACT;AACA,QAAI,UAAU,UAAU,QAAQ,KAAK,QAAQ,KAAK;AAChD,aAAO;AAAA,IACT;AAEA,WAAO,KAAK,IAAI;AAAA,EAClB;AAEA,SAAO;AACT;AAYA,SAAS,wBAGP;AACA,QAAM,QAAQ,IAAI,KAAK,eAAe,sBAAsB,GAAG;AAAA,IAC7D,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC,EAAE,cAAc,oBAAI,KAAK,CAAC;AAE3B,QAAM,eAAe,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,WAAW;AAC7D,QAAM,kBAAkB,mBAAmB;AAE3C,SAAO,EAAE,UAAU,cAAc,gBAAgB;AACnD;AAOA,SAAS,eAAe,KAA6C;AACnE,MAAI,QAAQ,UAAa,mBAAmB,GAAG,GAAG;AAChD,WAAO;AAAA,EACT;AACA,SAAO,SAAS,GAAG;AACrB;AAYO,SAAS,oBAAoB,OAAmC;AACrE,QAAM,EAAE,UAAU,gBAAgB,IAAI,sBAAsB;AAO5D,QAAM,iBAAiB,gBAAgB;AAAA,IAAI,CAAC,UAC1C,MAAM,QAAQ,uBAAuB,MAAM;AAAA,EAC7C;AACA,QAAM,mBAAmB,WACrB,WAAW,eAAe,KAAK,GAAG,CAAC,kBACnC;AAKJ,QAAM,cAAc,cAAc,iBAAiB;AACnD,QAAM,wBAAwB,cAAc,UAAU;AACtD,QAAM,qBAAqB,cAAc,UAAU;AAEnD,QAAM,QAAQ,IAAI;AAAA,IAChB,iBAAiB,WAAW,MAAM,qBAAqB,SAAS,qBAAqB,WAAW,kBAAkB,QAAQ,gBAAgB;AAAA,IAC1I;AAAA,EACF;AAEA,QAAM,QAAQ,MAAM,KAAK,KAAK;AAC9B,MAAI,OAAO;AACT,UAAM,SAAsB,CAAC;AAE7B,WAAO,OAAO,eAAe,MAAM,CAAC,CAAC;AACrC,WAAO,SAAS,eAAe,MAAM,CAAC,CAAC;AACvC,WAAO,SAAS,eAAe,MAAM,CAAC,CAAC;AACvC,WAAO,cAAc,eAAe,MAAM,CAAC,CAAC;AAE5C,QAAI,YAAY,MAAM,CAAC,MAAM,QAAW;AAGtC,YAAM,UAAU,MAAM,CAAC,EAAE,YAAY;AACrC,aAAO,YAAY,gBAAgB;AAAA,QACjC,CAAC,MAAM,EAAE,YAAY,MAAM;AAAA,MAC7B;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAIA,QAAM,oBACJ;AACF,QAAM,oBAAoB,kBAAkB,KAAK,KAAK;AACtD,MAAI,mBAAmB;AACrB,WAAO;AAAA,MACL,QAAQ,SAAS,kBAAkB,CAAC,CAAC;AAAA,MACrC,QAAQ,SAAS,kBAAkB,CAAC,CAAC;AAAA,MACrC,aAAa,SAAS,kBAAkB,CAAC,CAAC;AAAA,IAC5C;AAAA,EACF;AAEA,SAAO;AACT;AAcA,SAAS,gBAAgB,MAAc,WAA2B;AAChE,QAAM,EAAE,gBAAgB,IAAI,sBAAsB;AAClD,QAAM,OAAO,UAAU,YAAY,MAAM,gBAAgB,CAAC,EAAE,YAAY;AACxE,QAAM,OAAO,UAAU,YAAY,MAAM,gBAAgB,CAAC,EAAE,YAAY;AACxE,MAAI,QAAQ,OAAO,IAAI;AACrB,WAAO,OAAO;AAAA,EAChB;AACA,MAAI,QAAQ,SAAS,IAAI;AACvB,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAGA,SAAS,qBACP,MACA,OACA,KACA,MACA,QACA,QACA,aAC8B;AAC9B,QAAM,IAAI,WAAW;AAAA,IACnB,YAAY;AAAA,IACZ;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,eAAe;AAAA,EACjB;AACA,SAAO,MAAM,EAAE,QAAQ,CAAC,IAAI,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE;AAC5D;AAGA,SAAS,iBACP,MACA,OACA,KAC8B;AAC9B,QAAM,iBAAiB,WAAW,GAAG,YAAY,GAAG,MAAM,QAAQ,GAAG,GAAG;AACxE,MACE,MAAM,eAAe,QAAQ,CAAC,KAC9B,eAAe,YAAY,MAAM,QACjC,eAAe,SAAS,MAAM,QAAQ,KACtC,eAAe,QAAQ,MAAM,KAC7B;AACA,WAAO;AAAA,EACT;AACA,QAAM,aAAa,OAAO,IAAI,EAAE,SAAS,GAAG,GAAG;AAC/C,QAAM,cAAc,OAAO,KAAK,EAAE,SAAS,GAAG,GAAG;AACjD,QAAM,YAAY,OAAO,GAAG,EAAE,SAAS,GAAG,GAAG;AAC7C,SAAO,EAAE,KAAK,GAAG,UAAU,IAAI,WAAW,IAAI,SAAS,GAAG;AAC5D;AAGA,SAAS,iBACP,MACA,QACA,QACA,aACuB;AACvB,QAAM,aAAa,OAAO,IAAI,EAAE,SAAS,GAAG,GAAG;AAC/C,QAAM,eAAe,OAAO,MAAM,EAAE,SAAS,GAAG,GAAG;AACnD,MAAI,UAAU,GAAG,UAAU,IAAI,YAAY;AAC3C,MAAI,WAAW,QAAW;AACxB,UAAM,eAAe,OAAO,MAAM,EAAE,SAAS,GAAG,GAAG;AACnD,eAAW,IAAI,YAAY;AAC3B,QAAI,gBAAgB,QAAW;AAC7B,YAAM,oBAAoB,OAAO,WAAW,EAAE,SAAS,GAAG,GAAG;AAC7D,iBAAW,IAAI,iBAAiB;AAAA,IAClC;AAAA,EACF;AACA,SAAO,EAAE,KAAK,QAAQ;AACxB;AAGA,SAAS,qBACP,MACA,MACiD;AACjD,QAAM,gBAAgB,oBAAI,IAAgD;AAE1E,QAAM,eAEF;AAAA,IACF,CAAC,MAAM,KAAK,KAAK;AAAA,IACjB,CAAC,MAAM,OAAO,OAAO;AAAA,IACrB,CAAC,MAAM,MAAM,MAAM;AAAA,IACnB,CAAC,MAAM,MAAM,MAAM;AAAA,IACnB,CAAC,MAAM,QAAQ,QAAQ;AAAA,IACvB,CAAC,MAAM,QAAQ,QAAQ;AAAA,IACvB,CAAC,MAAM,aAAa,kBAAkB;AAAA,IACtC,CAAC,MAAM,WAAW,WAAW;AAAA,EAC/B;AAEA,aAAW,CAAC,OAAO,IAAI,KAAK,cAAc;AACxC,QAAI,UAAU,QAAW;AACvB,oBAAc,IAAI,IAAI;AAAA,IACxB;AAAA,EACF;AAEA,SAAO;AACT;AAmBO,SAAS,qBACd,MACA,MAC8B;AAC9B,MAAI,CAAC,QAAQ,CAAC,MAAM;AAClB,WAAO;AAAA,EACT;AAEA,QAAM,OAAO,MAAM;AACnB,QAAM,QAAQ,MAAM;AACpB,QAAM,MAAM,MAAM;AAClB,QAAM,SAAS,MAAM;AACrB,QAAM,SAAS,MAAM;AACrB,QAAM,cAAc,MAAM;AAE1B,MAAI,SAAS,MAAM;AACnB,MAAI,WAAW,UAAa,MAAM,WAAW;AAC3C,aAAS,gBAAgB,QAAQ,KAAK,SAAS;AAAA,EACjD;AAMA,MAAI,SAAS,UAAa,UAAU,UAAa,QAAQ,QAAW;AAClE,QAAI,WAAW,UAAa,WAAW,QAAW;AAChD,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,QAAI,SAAS,MAAM;AACjB,aAAO,iBAAiB,MAAM,OAAO,GAAG;AAAA,IAC1C;AAAA,EACF;AAEA,MAAI,SAAS,QAAQ,WAAW,UAAa,WAAW,QAAW;AACjE,WAAO,iBAAiB,QAAQ,QAAQ,QAAQ,WAAW;AAAA,EAC7D;AAGA,QAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AACvC,QAAM,WAAW,WAAW;AAAA,IAC1B,YAAY;AAAA,IACZ,QAAQ,IAAI,YAAY;AAAA,KACvB,SAAS,IAAI,SAAS,IAAI,KAAK;AAAA,IAChC,OAAO,IAAI,QAAQ;AAAA,IACnB,UAAU,IAAI,SAAS;AAAA,IACvB,UAAU,IAAI,WAAW;AAAA,IACzB,UAAU;AAAA,IACV,eAAe;AAAA,EACjB;AACA,MAAI,MAAM,SAAS,QAAQ,CAAC,GAAG;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,qBAAqB,MAAM,IAAI;AACrD,MAAI,cAAc,SAAS,GAAG;AAC5B,WAAO;AAAA,EACT;AAEA,SAAO,EAAE,KAAK,SAAS,YAAY,GAAG,cAAc;AACtD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|