@dynatrace/strato-components 3.8.0 → 3.9.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/CHANGELOG.md +145 -0
- 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/categorical-bar/components/interactions/hooks/useSeriesActionClickHandler.d.ts +2 -2
- package/charts/categorical-bar/components/interactions/hooks/useSeriesActionClickHandler.js +1 -12
- 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/categorical-bar/components/interactions/tooltip/CategoricalBarChartTooltip.js +67 -38
- package/charts/core/components/annotations/AnnotationsAtom.css +1 -1
- package/charts/core/components/annotations/AnnotationsAtom.d.ts +7 -0
- package/charts/core/components/annotations/AnnotationsAtom.js +4 -2
- package/charts/core/components/annotations/AnnotationsAtom.sty.js +1 -1
- package/charts/core/components/annotations/components/AnnotationsRenderer.d.ts +1 -0
- package/charts/core/components/annotations/components/AnnotationsRenderer.js +22 -5
- 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/canvas/displays/AnnotationsChartDisplay.js +18 -12
- package/charts/core/components/annotations/components/canvas/displays/AnnotationsMarkersDisplay.js +3 -1
- package/charts/core/components/annotations/components/canvas/displays/AnnotationsTrackDisplay.d.ts +1 -1
- package/charts/core/components/annotations/components/canvas/displays/AnnotationsTrackDisplay.js +9 -4
- package/charts/core/components/annotations/components/canvas/renderers/RangeMarkerRenderer.js +6 -3
- package/charts/core/components/annotations/components/canvas/renderers/value-marker-renderer/ValueMarkerRenderer.d.ts +1 -0
- package/charts/core/components/annotations/components/canvas/renderers/value-marker-renderer/ValueMarkerRenderer.js +11 -6
- package/charts/core/components/annotations/components/canvas/utils/render-text-in-canvas.d.ts +1 -1
- package/charts/core/components/annotations/components/canvas/utils/render-text-in-canvas.js +3 -7
- package/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.d.ts +1 -0
- package/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.d.ts +1 -0
- package/charts/core/components/annotations/components/overlays/AnnotationsOverlays.css +1 -1
- package/charts/core/components/annotations/components/overlays/AnnotationsOverlays.js +4 -2
- 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/AnnotationsDefaultTooltipContent.js +161 -73
- package/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.d.ts +1 -1
- package/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js +1 -1
- package/charts/core/components/annotations/constants.d.ts +0 -1
- package/charts/core/components/annotations/constants.js +0 -2
- package/charts/core/components/annotations/contexts/AnnotationsConfig.context.d.ts +7 -0
- package/charts/core/components/annotations/contexts/AnnotationsConfig.context.js +2 -1
- package/charts/core/components/annotations/hooks/useAnnotationsHandlers.d.ts +4 -2
- package/charts/core/components/annotations/hooks/useAnnotationsHandlers.js +7 -2
- package/charts/core/components/annotations/hooks/useGroupedAnnotationsData.d.ts +7 -2
- package/charts/core/components/annotations/hooks/useGroupedAnnotationsData.js +10 -3
- package/charts/core/components/annotations/hooks/useMarkerEventHandlers.d.ts +3 -2
- package/charts/core/components/annotations/hooks/useMarkerEventHandlers.js +12 -5
- package/charts/core/components/annotations/hooks/useOverlayEvents.d.ts +3 -2
- package/charts/core/components/annotations/hooks/useOverlayEvents.js +36 -17
- package/charts/core/components/annotations/types/annotations-marker-props.d.ts +5 -0
- package/charts/core/components/annotations/types/event-handlers.d.ts +3 -2
- package/charts/core/components/annotations/types/marker.d.ts +10 -4
- package/charts/core/components/annotations/utils/aggregate-markers-coords.js +5 -12
- package/charts/core/components/annotations/utils/calculate-marker-dimension.d.ts +2 -1
- package/charts/core/components/annotations/utils/define-marker-color.d.ts +9 -4
- package/charts/core/components/annotations/utils/define-marker-color.js +6 -3
- package/charts/core/components/annotations/utils/get-marker-pixel-extent.d.ts +4 -0
- package/charts/core/components/annotations/utils/get-marker-pixel-extent.js +88 -0
- package/charts/core/components/annotations/utils/process-annotation-tracks-data.d.ts +7 -1
- package/charts/core/components/annotations/utils/process-annotation-tracks-data.js +88 -36
- 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/chart-grid/ChartGrid.css +3 -3
- package/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
- package/charts/core/components/chart-grid/ChartGridArea.js +2 -12
- package/charts/core/components/chart-grid/providers/GridPlotSizeProvider.js +2 -12
- 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/components/DynamicTooltipRenderer.js +3 -3
- 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.sty.js +6 -6
- package/charts/core/components/overlay-tooltip/components/series/Series.js +2 -2
- 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/defaults.js +1 -1
- package/charts/core/components/overlay-tooltip/tooltip.css +52 -52
- package/charts/core/components/overlay-tooltip/tooltip.sty.js +39 -39
- package/charts/core/components/overlay-tooltip/types.d.ts +1 -1
- package/charts/core/components/overlays/ChartOverlaysBorder.css +8 -5
- package/charts/core/components/overlays/ChartOverlaysBorder.d.ts +3 -1
- package/charts/core/components/overlays/ChartOverlaysBorder.js +11 -3
- package/charts/core/components/overlays/ChartOverlaysBorder.sty.d.ts +1 -0
- package/charts/core/components/overlays/ChartOverlaysBorder.sty.js +7 -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/sparkline-display/Sparkline.css +6 -6
- package/charts/core/components/sparkline-display/Sparkline.sty.js +2 -2
- package/charts/core/components/sparkline-display/SparklineContainer.js +8 -5
- package/charts/core/components/sparkline-display/utils/get-sparkline-y-scale.js +4 -0
- 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/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/useThrottledCallbackOnResize.js +2 -12
- package/charts/core/hooks/useThrottledResizeObserver.js +2 -12
- package/charts/core/typographyStyles.css +1 -1
- package/charts/core/typographyStyles.sty.js +1 -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/components/GaugeChartLayout/GaugeChartLayout.css +1 -1
- package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js +1 -1
- package/charts/gauge/components/GaugeChartTooltip/GaugeOverlayTooltip.js +1 -1
- package/charts/gauge/components/GaugeLabel/GaugeLabel.css +6 -6
- package/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
- 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 +26 -3
- 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/utils/is-in-gauge-hit-area.d.ts +9 -0
- package/charts/gauge/utils/is-in-gauge-hit-area.js +37 -0
- package/charts/histogram/HistogramChartInternal.js +11 -13
- package/charts/histogram/components/annotations-histogram/HistogramAnnotationsArea.js +26 -34
- 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/components/overlays/HistogramOverlaysBorder.js +5 -1
- package/charts/histogram/components/toolbar/HistogramToolbar.js +0 -1
- package/charts/honeycomb/HoneycombChart.css +1 -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 +1 -1
- package/charts/index.d.ts +1 -1
- package/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.js +1 -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/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/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlayWithTooltip.js +1 -1
- 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/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/components/PieChartTooltip/PieChartTooltip.js +1 -1
- package/charts/single-value/SingleValue.css +1 -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.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/timeseries/TimeseriesChartInternal.js +15 -17
- package/charts/timeseries/components/annotations-timeseries/TimeseriesChartAnnotationsArea.js +25 -33
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +2 -2
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js +1 -1
- package/charts/timeseries/components/overlays/TimeseriesChartOverlaysBorder.js +5 -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/timeseries/components/toolbar/TimeseriesChartToolbar.js +0 -1
- package/charts/timeseries/slots/Tooltip.d.ts +4 -1
- package/charts/top-list/TopList.css +1 -1
- package/charts/top-list/TopList.d.ts +13 -1
- package/charts/top-list/TopList.js +14 -3
- package/charts/top-list/TopList.sty.js +1 -1
- package/charts/top-list/types/top-list.d.ts +5 -0
- package/charts/tree-map/components/TreeMapCanvas.d.ts +1 -1
- package/charts/tree-map/components/TreeMapCluster.d.ts +1 -1
- package/charts/tree-map/components/TreeMapInternal.js +28 -32
- 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 +1 -1
- package/charts/tree-map/hooks/useSetHierarchyNodes.d.ts +1 -1
- package/charts/tree-map/hooks/useVisibleNodes.js +7 -1
- package/charts/tree-map/store/selectors.d.ts +2 -2
- package/charts/tree-map/types/state.d.ts +1 -1
- package/charts/tree-map/utils/build-overlay-tooltip-data.d.ts +1 -1
- package/charts/tree-map/utils/get-cluster-position.d.ts +1 -1
- package/charts/tree-map/utils/get-filtered-nodes.d.ts +2 -1
- package/charts/tree-map/utils/get-filtered-nodes.js +23 -2
- package/charts/tree-map/utils/get-node-color.d.ts +1 -1
- package/charts/tree-map/utils/get-node-dimension.d.ts +1 -1
- package/charts/tree-map/utils/get-node-opacity.d.ts +1 -1
- package/charts/tree-map/utils/get-node-position.d.ts +1 -1
- package/charts/tree-map/utils/get-tooltip-data.d.ts +1 -1
- package/charts/tree-map/utils/get-tooltip-item.d.ts +1 -1
- package/charts/tree-map/utils/node-padding.d.ts +1 -1
- package/charts/tree-map/utils/should-draw-leaf-node.d.ts +1 -1
- package/charts/tree-map/utils/split-nodes-by-depth.d.ts +1 -1
- package/charts/xy-chart/XYChart.js +1 -3
- package/charts/xy-chart/components/annotations/XYChartAnnotationsArea.js +29 -34
- package/charts/xy-chart/components/annotations/utils/get-indicators-from-annotations.js +1 -0
- 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/displays/BarDisplay/BarDisplay.js +1 -1
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +3 -3
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js +4 -2
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +3 -3
- package/charts/xy-chart/components/displays/bar-accessors.d.ts +7 -0
- package/charts/xy-chart/components/displays/bar-accessors.js +7 -0
- package/charts/xy-chart/components/legend/XYLegend/XYLegend.js +1 -1
- 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 +5 -1
- package/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js +5 -1
- package/charts/xy-chart/components/overlay/hooks/useResetInteractions.js +11 -6
- package/charts/xy-chart/components/overlay/hooks/useZoomToSelection.js +10 -6
- 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/toolbar/XYChartToolbar.js +0 -1
- package/charts/xy-chart/components/tooltip/ClosestPointTooltip/ClosestPointTooltip.js +8 -3
- package/charts/xy-chart/components/tooltip/ClosestPointTooltip/closestPointTooltipHeaderUtils.d.ts +1 -0
- package/charts/xy-chart/components/tooltip/ClosestPointTooltip/closestPointTooltipHeaderUtils.js +2 -1
- package/charts/xy-chart/components/tooltip/HoveredPointTooltip/HoveredPointTooltip.js +8 -3
- package/charts/xy-chart/components/tooltip/HoveredPointTooltip/hoveredPointTooltipHeaderUtils.d.ts +7 -0
- package/charts/xy-chart/components/tooltip/HoveredPointTooltip/hoveredPointTooltipHeaderUtils.js +14 -2
- package/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js +26 -7
- package/charts/xy-chart/components/tooltip/SharedXYChartTooltip/sharedXYChartTooltipUtils.d.ts +1 -0
- package/charts/xy-chart/components/tooltip/SharedXYChartTooltip/sharedXYChartTooltipUtils.js +9 -2
- package/charts/xy-chart/components/tooltip/TopListTooltip.js +1 -1
- package/charts/xy-chart/components/tooltip/XYChartTooltipContent.js +1 -1
- package/charts/xy-chart/components/tooltip/utils/get-color.js +3 -0
- 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/constants/defaults.d.ts +0 -2
- package/charts/xy-chart/constants/defaults.js +0 -2
- package/charts/xy-chart/context/XYChartTooltip.context.d.ts +2 -1
- package/charts/xy-chart/hooks/useColorRule.js +10 -0
- package/charts/xy-chart/layout/XYChartLayout.css +2 -2
- package/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
- package/charts/xy-chart/processing-strategies/strategies/area-series.d.ts +10 -2
- package/charts/xy-chart/processing-strategies/strategies/area-series.js +241 -4
- package/charts/xy-chart/processing-strategies/strategies/bar-series.d.ts +3 -0
- package/charts/xy-chart/processing-strategies/strategies/bar-series.js +36 -23
- package/charts/xy-chart/processing-strategies/strategies/base-series.d.ts +1 -1
- package/charts/xy-chart/processing-strategies/strategies/dot-series.d.ts +1 -0
- package/charts/xy-chart/processing-strategies/strategies/dot-series.js +5 -2
- package/charts/xy-chart/processing-strategies/strategies/line-series.d.ts +6 -3
- package/charts/xy-chart/processing-strategies/strategies/line-series.js +112 -4
- package/charts/xy-chart/processing-strategies/strategies/rect-series.d.ts +1 -0
- package/charts/xy-chart/processing-strategies/strategies/rect-series.js +4 -1
- package/charts/xy-chart/processing-strategies/utils/series-naming/get-series-name.d.ts +1 -1
- package/charts/xy-chart/processing-strategies/utils/series-naming/get-series-name.js +25 -7
- package/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js +3 -1
- package/charts/xy-chart/slots/Annotations/Marker.d.ts +2 -0
- package/charts/xy-chart/types/xy-chart-internals.d.ts +1 -0
- package/charts/xy-chart/types/xy-chart-props.d.ts +9 -1
- package/charts/xy-chart/utils/build-and-download-csv.js +2 -1
- package/charts/xy-chart/utils/coloring/apply-color-rule-to-bar-series.d.ts +3 -0
- package/charts/xy-chart/utils/coloring/apply-color-rule-to-bar-series.js +58 -0
- package/charts/xy-chart/utils/coloring/apply-color-rule-to-series-metadata.js +2 -1
- package/charts/xy-chart/utils/coloring/bar-datapoint-matches-color-rule.d.ts +4 -0
- package/charts/xy-chart/utils/coloring/bar-datapoint-matches-color-rule.js +29 -0
- package/charts/xy-chart/utils/coloring/has-series-matching-datapoint.js +3 -1
- package/charts/xy-chart/utils/iterate-slots.js +2 -1
- package/charts/xy-chart/utils/query-get-closest-point.d.ts +6 -2
- package/charts/xy-chart/utils/query-get-closest-point.js +59 -0
- package/charts/xy-chart/utils/query-single.d.ts +6 -2
- package/charts/xy-chart/utils/query-single.js +17 -2
- package/charts/xy-chart-adoption/categorical-bar/transformer-data-to-xy.d.ts +9 -0
- package/charts/xy-chart-adoption/categorical-bar/transformer-data-to-xy.js +49 -0
- package/charts/xy-chart-adoption/histogram/HistogramToXY.js +10 -5
- package/charts/xy-chart-adoption/histogram/transformer-annotations-to-xy.js +1 -0
- package/charts/xy-chart-adoption/histogram/transformer-thresholds-to-xy.d.ts +2 -2
- package/charts/xy-chart-adoption/histogram/transformer-thresholds-to-xy.js +13 -61
- package/charts/xy-chart-adoption/shared/utils/render-xy-annotations.d.ts +1 -0
- package/charts/xy-chart-adoption/shared/utils/render-xy-annotations.js +2 -0
- package/charts/xy-chart-adoption/shared/utils/thresholds/reduce-thresholds-to-xy.d.ts +15 -0
- package/charts/xy-chart-adoption/shared/utils/thresholds/reduce-thresholds-to-xy.js +58 -0
- package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +75 -48
- package/charts/xy-chart-adoption/timeseries/constants.d.ts +21 -0
- package/charts/xy-chart-adoption/timeseries/constants.js +76 -0
- package/charts/xy-chart-adoption/timeseries/hooks/use-timeseries-chart-config.d.ts +9 -0
- package/charts/xy-chart-adoption/timeseries/hooks/use-timeseries-chart-config.js +37 -0
- package/charts/xy-chart-adoption/timeseries/iterate-slots.d.ts +5 -2
- package/charts/xy-chart-adoption/timeseries/iterate-slots.js +11 -1
- package/charts/xy-chart-adoption/timeseries/map-series-actions.js +2 -2
- package/charts/xy-chart-adoption/timeseries/transformer-annotations-to-xy.js +1 -0
- package/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js +4 -5
- package/charts/xy-chart-adoption/timeseries/types/internal-types.d.ts +2 -2
- package/charts/xy-chart-adoption/timeseries/types/timeseries-config.d.ts +100 -0
- package/charts/{timeseries/components/annotations-timeseries/constants.js → xy-chart-adoption/timeseries/types/timeseries-config.js} +2 -10
- package/charts/xy-chart-adoption/timeseries/types/timeseries.d.ts +4 -0
- package/charts/xy-chart-adoption/timeseries/types/toolbar.d.ts +10 -0
- package/charts/xy-chart-adoption/timeseries/types/toolbar.js +15 -0
- package/charts/xy-chart-adoption/timeseries/utils/build-timeseries-imperative-handle.d.ts +11 -2
- package/charts/xy-chart-adoption/timeseries/utils/build-timeseries-imperative-handle.js +3 -2
- package/charts/xy-chart-adoption/timeseries/utils/chart-configuration.d.ts +39 -0
- package/charts/xy-chart-adoption/timeseries/utils/chart-configuration.js +289 -0
- package/charts/xy-chart-adoption/timeseries/utils/derive-xychart-props-from-config.d.ts +27 -0
- package/charts/xy-chart-adoption/timeseries/utils/derive-xychart-props-from-config.js +30 -0
- package/charts/xy-chart-adoption/timeseries/utils/iterate-config-slots.d.ts +3 -0
- package/charts/xy-chart-adoption/timeseries/utils/iterate-config-slots.js +189 -0
- package/charts/xy-chart-adoption/timeseries/utils/render-series.js +8 -2
- package/charts/xy-chart-adoption/timeseries/utils/serialize-timeseries-config.d.ts +13 -0
- package/charts/xy-chart-adoption/timeseries/utils/serialize-timeseries-config.js +37 -0
- package/charts/xy-chart-adoption/timeseries/utils/transformer-thresholds-to-xy.d.ts +4 -0
- package/charts/xy-chart-adoption/timeseries/utils/transformer-thresholds-to-xy.js +36 -0
- package/content/accordion/Accordion.css +14 -14
- package/content/accordion/Accordion.sty.js +8 -8
- package/content/accordion/AccordionSection.js +2 -2
- 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/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 +6 -6
- package/content/code-snippet/CodeSnippet.css +18 -18
- package/content/code-snippet/CodeSnippet.sty.js +4 -4
- package/content/empty-state/EmptyState.css +28 -28
- package/content/empty-state/EmptyState.sty.js +7 -7
- package/content/empty-state/EmptyStateWrapper.js +2 -2
- 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/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/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.sty.js +1 -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/hooks/useResizeObserver.d.ts +26 -0
- package/core/hooks/useResizeObserver.js +136 -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 -34
- 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/timeframeSelector.js +5 -2
- package/core/types/form-control-state.d.ts +10 -3
- package/core/utils/colorUtils.css +60 -60
- package/core/utils/colorUtils.sty.js +2 -2
- package/editors/base-code-editor/BaseCodeEditor.css +142 -145
- package/editors/base-code-editor/BaseCodeEditor.js +42 -26
- package/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
- package/editors/base-code-editor/configuration/getDefaultConfigurations.js +9 -11
- package/editors/base-code-editor/utils/compute-minimal-change.d.ts +9 -0
- package/{forms/hooks/useInputHint.js → editors/base-code-editor/utils/compute-minimal-change.js} +16 -24
- package/editors/base-code-editor/utils/run-foldings.d.ts +6 -3
- package/editors/base-code-editor/utils/run-foldings.js +37 -15
- package/editors/code-editor/CodeEditor.js +1 -0
- package/editors/dql-editor/DQLEditor.js +10 -11
- package/editors/dql-editor/actions-menu/ActionsMenu.css +13 -9
- package/editors/dql-editor/actions-menu/ActionsMenu.js +12 -1
- package/editors/dql-editor/actions-menu/ActionsMenu.sty.d.ts +1 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.sty.js +7 -5
- package/editors/dql-editor/dql/SuggestionPart.css +1 -1
- package/editors/dql-editor/dql/SuggestionPart.sty.js +1 -1
- package/editors/dql-editor/dql/SuggestionsInfoSection.css +7 -7
- package/editors/dql-editor/dql/SuggestionsInfoSection.sty.js +3 -3
- package/editors/dql-editor/dql/dql-fold-service.d.ts +9 -0
- package/editors/dql-editor/dql/dql-fold-service.js +181 -0
- package/editors/dql-editor/dql/dql-language.js +4 -1
- package/editors/dql-editor/dql/get-suggestions.d.ts +5 -2
- package/editors/dql-editor/dql/get-suggestions.js +1 -2
- package/editors/dql-editor/dql/open-autocomplete.js +4 -1
- package/editors/dql-editor/dql/suggestion-autocompletions.d.ts +8 -1
- package/editors/dql-editor/dql/suggestion-autocompletions.js +30 -16
- 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/categorical-bar/components/interactions/hooks/useSeriesActionClickHandler.js +1 -12
- package/esm/charts/categorical-bar/components/interactions/hooks/useSeriesActionClickHandler.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/categorical-bar/components/interactions/tooltip/CategoricalBarChartTooltip.js +67 -38
- package/esm/charts/categorical-bar/components/interactions/tooltip/CategoricalBarChartTooltip.js.map +2 -2
- package/esm/charts/core/components/annotations/AnnotationsAtom.css +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.js +4 -2
- package/esm/charts/core/components/annotations/AnnotationsAtom.js.map +2 -2
- 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 +23 -6
- 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/canvas/displays/AnnotationsChartDisplay.js +18 -12
- package/esm/charts/core/components/annotations/components/canvas/displays/AnnotationsChartDisplay.js.map +2 -2
- package/esm/charts/core/components/annotations/components/canvas/displays/AnnotationsMarkersDisplay.js +3 -1
- package/esm/charts/core/components/annotations/components/canvas/displays/AnnotationsMarkersDisplay.js.map +2 -2
- package/esm/charts/core/components/annotations/components/canvas/displays/AnnotationsTrackDisplay.js +9 -5
- package/esm/charts/core/components/annotations/components/canvas/displays/AnnotationsTrackDisplay.js.map +2 -2
- package/esm/charts/core/components/annotations/components/canvas/renderers/RangeMarkerRenderer.js +6 -3
- package/esm/charts/core/components/annotations/components/canvas/renderers/RangeMarkerRenderer.js.map +2 -2
- package/esm/charts/core/components/annotations/components/canvas/renderers/value-marker-renderer/ValueMarkerRenderer.js +11 -6
- package/esm/charts/core/components/annotations/components/canvas/renderers/value-marker-renderer/ValueMarkerRenderer.js.map +2 -2
- package/esm/charts/core/components/annotations/components/canvas/utils/render-text-in-canvas.js +3 -7
- package/esm/charts/core/components/annotations/components/canvas/utils/render-text-in-canvas.js.map +2 -2
- package/esm/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.js.map +2 -2
- 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.js +4 -2
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.js.map +2 -2
- 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/AnnotationsDefaultTooltipContent.js +165 -74
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.js.map +2 -2
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js +1 -1
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js.map +2 -2
- package/esm/charts/core/components/annotations/constants.js +0 -2
- package/esm/charts/core/components/annotations/constants.js.map +2 -2
- package/esm/charts/core/components/annotations/contexts/AnnotationsConfig.context.js +2 -1
- package/esm/charts/core/components/annotations/contexts/AnnotationsConfig.context.js.map +2 -2
- package/esm/charts/core/components/annotations/hooks/useAnnotationsHandlers.js +7 -2
- package/esm/charts/core/components/annotations/hooks/useAnnotationsHandlers.js.map +2 -2
- package/esm/charts/core/components/annotations/hooks/useGroupedAnnotationsData.js +10 -3
- package/esm/charts/core/components/annotations/hooks/useGroupedAnnotationsData.js.map +2 -2
- package/esm/charts/core/components/annotations/hooks/useMarkerEventHandlers.js +12 -5
- package/esm/charts/core/components/annotations/hooks/useMarkerEventHandlers.js.map +2 -2
- package/esm/charts/core/components/annotations/hooks/useOverlayEvents.js +39 -21
- package/esm/charts/core/components/annotations/hooks/useOverlayEvents.js.map +2 -2
- package/esm/charts/core/components/annotations/utils/aggregate-markers-coords.js +5 -12
- package/esm/charts/core/components/annotations/utils/aggregate-markers-coords.js.map +2 -2
- package/esm/charts/core/components/annotations/utils/calculate-marker-dimension.js.map +2 -2
- package/esm/charts/core/components/annotations/utils/define-marker-color.js +6 -3
- package/esm/charts/core/components/annotations/utils/define-marker-color.js.map +2 -2
- package/esm/charts/core/components/annotations/utils/get-marker-pixel-extent.js +72 -0
- package/esm/charts/core/components/annotations/utils/get-marker-pixel-extent.js.map +7 -0
- package/esm/charts/core/components/annotations/utils/process-annotation-tracks-data.js +92 -37
- package/esm/charts/core/components/annotations/utils/process-annotation-tracks-data.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/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-grid/ChartGridArea.js +1 -1
- package/esm/charts/core/components/chart-grid/ChartGridArea.js.map +2 -2
- package/esm/charts/core/components/chart-grid/providers/GridPlotSizeProvider.js +1 -1
- package/esm/charts/core/components/chart-grid/providers/GridPlotSizeProvider.js.map +2 -2
- 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/components/DynamicTooltipRenderer.js +3 -3
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.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.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/Series.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/Series.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/defaults.js +1 -1
- package/esm/charts/core/components/overlay-tooltip/defaults.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/tooltip.css +52 -52
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js +39 -39
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/types.js.map +1 -1
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.css +8 -5
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.js +12 -3
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.js.map +2 -2
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js +7 -5
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js.map +2 -2
- 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/sparkline-display/SparklineContainer.js +8 -5
- package/esm/charts/core/components/sparkline-display/SparklineContainer.js.map +2 -2
- package/esm/charts/core/components/sparkline-display/utils/get-sparkline-y-scale.js +4 -0
- package/esm/charts/core/components/sparkline-display/utils/get-sparkline-y-scale.js.map +2 -2
- 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/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/useThrottledCallbackOnResize.js +1 -1
- package/esm/charts/core/hooks/useThrottledCallbackOnResize.js.map +2 -2
- package/esm/charts/core/hooks/useThrottledResizeObserver.js +1 -1
- package/esm/charts/core/hooks/useThrottledResizeObserver.js.map +2 -2
- 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/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 +1 -1
- 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/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 +29 -3
- 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/utils/is-in-gauge-hit-area.js +19 -0
- package/esm/charts/gauge/utils/is-in-gauge-hit-area.js.map +7 -0
- package/esm/charts/histogram/HistogramChartInternal.js +1 -3
- package/esm/charts/histogram/HistogramChartInternal.js.map +2 -2
- package/esm/charts/histogram/components/annotations-histogram/HistogramAnnotationsArea.js +24 -32
- package/esm/charts/histogram/components/annotations-histogram/HistogramAnnotationsArea.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/histogram/components/overlays/HistogramOverlaysBorder.js +5 -1
- package/esm/charts/histogram/components/overlays/HistogramOverlaysBorder.js.map +2 -2
- package/esm/charts/histogram/components/toolbar/HistogramToolbar.js +0 -1
- package/esm/charts/histogram/components/toolbar/HistogramToolbar.js.map +2 -2
- package/esm/charts/honeycomb/HoneycombChart.css +1 -1
- 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 +1 -1
- package/esm/charts/honeycomb/components/tooltip/HoneycombOverlayTooltip.js.map +2 -2
- package/esm/charts/index.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.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/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/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlayWithTooltip.js +1 -1
- 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/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/components/PieChartTooltip/PieChartTooltip.js +1 -1
- package/esm/charts/pie/components/PieChartTooltip/PieChartTooltip.js.map +2 -2
- package/esm/charts/single-value/SingleValue.css +1 -1
- 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.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/timeseries/TimeseriesChartInternal.js +1 -3
- package/esm/charts/timeseries/TimeseriesChartInternal.js.map +2 -2
- package/esm/charts/timeseries/components/annotations-timeseries/TimeseriesChartAnnotationsArea.js +24 -32
- package/esm/charts/timeseries/components/annotations-timeseries/TimeseriesChartAnnotationsArea.js.map +2 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +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/TimeseriesChartOverlaysBorder.js +5 -1
- package/esm/charts/timeseries/components/overlays/TimeseriesChartOverlaysBorder.js.map +2 -2
- 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/timeseries/components/toolbar/TimeseriesChartToolbar.js +0 -1
- package/esm/charts/timeseries/components/toolbar/TimeseriesChartToolbar.js.map +2 -2
- package/esm/charts/timeseries/slots/Tooltip.js.map +2 -2
- package/esm/charts/top-list/TopList.css +1 -1
- package/esm/charts/top-list/TopList.js +14 -3
- package/esm/charts/top-list/TopList.js.map +2 -2
- package/esm/charts/top-list/TopList.sty.js +1 -1
- package/esm/charts/top-list/TopList.sty.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapCanvas.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapCluster.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapInternal.js +29 -33
- package/esm/charts/tree-map/components/TreeMapInternal.js.map +2 -2
- 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 +1 -1
- package/esm/charts/tree-map/components/TreeMapTooltip/TreeMapOverlayTooltip.js.map +2 -2
- package/esm/charts/tree-map/hooks/useOverlayHandlers.js.map +2 -2
- package/esm/charts/tree-map/hooks/useSetHierarchyNodes.js.map +1 -1
- package/esm/charts/tree-map/hooks/useVisibleNodes.js +7 -1
- package/esm/charts/tree-map/hooks/useVisibleNodes.js.map +2 -2
- package/esm/charts/tree-map/utils/build-overlay-tooltip-data.js.map +1 -1
- package/esm/charts/tree-map/utils/get-cluster-position.js.map +1 -1
- package/esm/charts/tree-map/utils/get-filtered-nodes.js +23 -2
- package/esm/charts/tree-map/utils/get-filtered-nodes.js.map +2 -2
- package/esm/charts/tree-map/utils/get-node-color.js.map +1 -1
- package/esm/charts/tree-map/utils/get-node-dimension.js.map +1 -1
- package/esm/charts/tree-map/utils/get-node-opacity.js.map +1 -1
- package/esm/charts/tree-map/utils/get-node-position.js.map +1 -1
- package/esm/charts/tree-map/utils/get-tooltip-data.js.map +1 -1
- package/esm/charts/tree-map/utils/get-tooltip-item.js.map +1 -1
- package/esm/charts/tree-map/utils/node-padding.js.map +1 -1
- package/esm/charts/tree-map/utils/should-draw-leaf-node.js.map +1 -1
- package/esm/charts/tree-map/utils/split-nodes-by-depth.js.map +1 -1
- package/esm/charts/xy-chart/XYChart.js +2 -7
- package/esm/charts/xy-chart/XYChart.js.map +2 -2
- package/esm/charts/xy-chart/components/annotations/XYChartAnnotationsArea.js +29 -34
- package/esm/charts/xy-chart/components/annotations/XYChartAnnotationsArea.js.map +2 -2
- package/esm/charts/xy-chart/components/annotations/utils/get-indicators-from-annotations.js +1 -0
- package/esm/charts/xy-chart/components/annotations/utils/get-indicators-from-annotations.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/displays/BarDisplay/BarDisplay.js +2 -1
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarDisplay.js.map +2 -2
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +3 -3
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js +4 -2
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js.map +2 -2
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +3 -3
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/displays/bar-accessors.js +7 -0
- package/esm/charts/xy-chart/components/displays/bar-accessors.js.map +2 -2
- package/esm/charts/xy-chart/components/legend/XYLegend/XYLegend.js +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/XYLegend.js.map +1 -1
- 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 +5 -1
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyPanDelta.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js +5 -1
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useResetInteractions.js +12 -7
- package/esm/charts/xy-chart/components/overlay/hooks/useResetInteractions.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useZoomToSelection.js +10 -6
- package/esm/charts/xy-chart/components/overlay/hooks/useZoomToSelection.js.map +2 -2
- 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/toolbar/XYChartToolbar.js +0 -1
- package/esm/charts/xy-chart/components/toolbar/XYChartToolbar.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/ClosestPointTooltip/ClosestPointTooltip.js +8 -3
- package/esm/charts/xy-chart/components/tooltip/ClosestPointTooltip/ClosestPointTooltip.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/ClosestPointTooltip/closestPointTooltipHeaderUtils.js +2 -1
- package/esm/charts/xy-chart/components/tooltip/ClosestPointTooltip/closestPointTooltipHeaderUtils.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/HoveredPointTooltip/HoveredPointTooltip.js +8 -3
- package/esm/charts/xy-chart/components/tooltip/HoveredPointTooltip/HoveredPointTooltip.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/HoveredPointTooltip/hoveredPointTooltipHeaderUtils.js +14 -2
- package/esm/charts/xy-chart/components/tooltip/HoveredPointTooltip/hoveredPointTooltipHeaderUtils.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js +26 -7
- package/esm/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/SharedXYChartTooltip/sharedXYChartTooltipUtils.js +9 -2
- package/esm/charts/xy-chart/components/tooltip/SharedXYChartTooltip/sharedXYChartTooltipUtils.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/TopListTooltip.js +1 -1
- package/esm/charts/xy-chart/components/tooltip/TopListTooltip.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipContent.js +1 -1
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipContent.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/utils/get-color.js +4 -1
- package/esm/charts/xy-chart/components/tooltip/utils/get-color.js.map +2 -2
- 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/constants/defaults.js +0 -2
- package/esm/charts/xy-chart/constants/defaults.js.map +2 -2
- package/esm/charts/xy-chart/context/XYChartTooltip.context.js.map +2 -2
- package/esm/charts/xy-chart/hooks/useColorRule.js +11 -0
- package/esm/charts/xy-chart/hooks/useColorRule.js.map +2 -2
- package/esm/charts/xy-chart/layout/XYChartAxisBorder.js.map +2 -2
- 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/processing-strategies/strategies/area-series.js +243 -5
- 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 +37 -24
- package/esm/charts/xy-chart/processing-strategies/strategies/bar-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/dot-series.js +5 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/dot-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/line-series.js +114 -5
- package/esm/charts/xy-chart/processing-strategies/strategies/line-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/rect-series.js +4 -1
- package/esm/charts/xy-chart/processing-strategies/strategies/rect-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/utils/series-naming/get-series-name.js +25 -7
- package/esm/charts/xy-chart/processing-strategies/utils/series-naming/get-series-name.js.map +2 -2
- package/esm/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js +3 -1
- package/esm/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js.map +2 -2
- package/esm/charts/xy-chart/slots/Annotations/Marker.js.map +2 -2
- package/esm/charts/xy-chart/types/xy-chart-internals.js.map +2 -2
- package/esm/charts/xy-chart/utils/build-and-download-csv.js +2 -1
- package/esm/charts/xy-chart/utils/build-and-download-csv.js.map +2 -2
- package/esm/charts/xy-chart/utils/coloring/apply-color-rule-to-bar-series.js +40 -0
- package/esm/charts/xy-chart/utils/coloring/apply-color-rule-to-bar-series.js.map +7 -0
- package/esm/charts/xy-chart/utils/coloring/apply-color-rule-to-series-metadata.js +2 -1
- package/esm/charts/xy-chart/utils/coloring/apply-color-rule-to-series-metadata.js.map +2 -2
- package/esm/charts/xy-chart/utils/coloring/bar-datapoint-matches-color-rule.js +11 -0
- package/esm/charts/xy-chart/utils/coloring/bar-datapoint-matches-color-rule.js.map +7 -0
- package/esm/charts/xy-chart/utils/coloring/has-series-matching-datapoint.js +3 -1
- package/esm/charts/xy-chart/utils/coloring/has-series-matching-datapoint.js.map +2 -2
- package/esm/charts/xy-chart/utils/iterate-slots.js +2 -1
- package/esm/charts/xy-chart/utils/iterate-slots.js.map +2 -2
- package/esm/charts/xy-chart/utils/query-get-closest-point.js +59 -0
- package/esm/charts/xy-chart/utils/query-get-closest-point.js.map +2 -2
- package/esm/charts/xy-chart/utils/query-single.js +20 -2
- package/esm/charts/xy-chart/utils/query-single.js.map +2 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/transformer-data-to-xy.js +31 -0
- package/esm/charts/xy-chart-adoption/categorical-bar/transformer-data-to-xy.js.map +7 -0
- package/esm/charts/xy-chart-adoption/histogram/HistogramToXY.js +10 -5
- package/esm/charts/xy-chart-adoption/histogram/HistogramToXY.js.map +2 -2
- package/esm/charts/xy-chart-adoption/histogram/transformer-annotations-to-xy.js +1 -0
- package/esm/charts/xy-chart-adoption/histogram/transformer-annotations-to-xy.js.map +2 -2
- package/esm/charts/xy-chart-adoption/histogram/transformer-thresholds-to-xy.js +16 -64
- package/esm/charts/xy-chart-adoption/histogram/transformer-thresholds-to-xy.js.map +2 -2
- package/esm/charts/xy-chart-adoption/shared/utils/render-xy-annotations.js +2 -0
- package/esm/charts/xy-chart-adoption/shared/utils/render-xy-annotations.js.map +2 -2
- package/esm/charts/xy-chart-adoption/shared/utils/thresholds/reduce-thresholds-to-xy.js +40 -0
- package/esm/charts/xy-chart-adoption/shared/utils/thresholds/reduce-thresholds-to-xy.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +75 -48
- package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/constants.js +60 -0
- package/esm/charts/xy-chart-adoption/timeseries/constants.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/hooks/use-timeseries-chart-config.js +22 -0
- package/esm/charts/xy-chart-adoption/timeseries/hooks/use-timeseries-chart-config.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js +13 -1
- package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/map-series-actions.js +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/map-series-actions.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/transformer-annotations-to-xy.js +1 -0
- package/esm/charts/xy-chart-adoption/timeseries/transformer-annotations-to-xy.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js +4 -5
- package/esm/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries-config.js +1 -0
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries-config.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/types/toolbar.js +1 -0
- package/esm/charts/xy-chart-adoption/timeseries/types/toolbar.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/build-timeseries-imperative-handle.js +3 -2
- package/esm/charts/xy-chart-adoption/timeseries/utils/build-timeseries-imperative-handle.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/utils/chart-configuration.js +288 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/chart-configuration.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/derive-xychart-props-from-config.js +12 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/derive-xychart-props-from-config.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/iterate-config-slots.js +173 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/iterate-config-slots.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/render-series.js +8 -2
- package/esm/charts/xy-chart-adoption/timeseries/utils/render-series.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/utils/serialize-timeseries-config.js +19 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/serialize-timeseries-config.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/transformer-thresholds-to-xy.js +20 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/transformer-thresholds-to-xy.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/accordion/AccordionSection.js +1 -1
- package/esm/content/accordion/AccordionSection.js.map +2 -2
- 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/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 +6 -6
- package/esm/content/code-snippet/CodeHighlight.sty.js.map +1 -1
- package/esm/content/code-snippet/CodeSnippet.css +18 -18
- package/esm/content/code-snippet/CodeSnippet.sty.js +4 -4
- package/esm/content/code-snippet/CodeSnippet.sty.js.map +1 -1
- 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/EmptyStateWrapper.js +1 -1
- package/esm/content/empty-state/EmptyStateWrapper.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/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/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.sty.js +1 -1
- package/esm/content/terminology-overlay/TerminologyOverlay.sty.js.map +1 -1
- 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/hooks/useFormControlState.js.map +2 -2
- package/esm/core/hooks/useResizeObserver.js +124 -0
- package/esm/core/hooks/useResizeObserver.js.map +7 -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 -34
- 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/timeframeSelector.js +5 -2
- package/esm/core/time/timeframeStore/actions/timeframeSelector.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/editors/base-code-editor/BaseCodeEditor.css +142 -145
- package/esm/editors/base-code-editor/BaseCodeEditor.js +42 -26
- package/esm/editors/base-code-editor/BaseCodeEditor.js.map +2 -2
- 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/base-code-editor/configuration/getDefaultConfigurations.js +9 -11
- package/esm/editors/base-code-editor/configuration/getDefaultConfigurations.js.map +3 -3
- package/esm/editors/base-code-editor/utils/compute-minimal-change.js +17 -0
- package/esm/editors/base-code-editor/utils/compute-minimal-change.js.map +7 -0
- package/esm/editors/base-code-editor/utils/run-foldings.js +38 -16
- package/esm/editors/base-code-editor/utils/run-foldings.js.map +2 -2
- package/esm/editors/code-editor/CodeEditor.js +1 -0
- package/esm/editors/code-editor/CodeEditor.js.map +2 -2
- package/esm/editors/dql-editor/DQLEditor.js +10 -11
- package/esm/editors/dql-editor/DQLEditor.js.map +2 -2
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.css +13 -9
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.js +12 -1
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.js.map +2 -2
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js +7 -5
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.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/SuggestionsInfoSection.css +7 -7
- package/esm/editors/dql-editor/dql/SuggestionsInfoSection.sty.js +3 -3
- package/esm/editors/dql-editor/dql/SuggestionsInfoSection.sty.js.map +1 -1
- package/esm/editors/dql-editor/dql/dql-fold-service.js +163 -0
- package/esm/editors/dql-editor/dql/dql-fold-service.js.map +7 -0
- package/esm/editors/dql-editor/dql/dql-language.js +5 -2
- package/esm/editors/dql-editor/dql/dql-language.js.map +2 -2
- package/esm/editors/dql-editor/dql/get-suggestions.js +1 -2
- package/esm/editors/dql-editor/dql/get-suggestions.js.map +2 -2
- package/esm/editors/dql-editor/dql/open-autocomplete.js +4 -1
- package/esm/editors/dql-editor/dql/open-autocomplete.js.map +2 -2
- package/esm/editors/dql-editor/dql/suggestion-autocompletions.js +30 -16
- package/esm/editors/dql-editor/dql/suggestion-autocompletions.js.map +3 -3
- package/esm/filters/filter-field/FilterField.css +130 -130
- package/esm/filters/filter-field/FilterField.js +26 -47
- 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.sty.js +3 -3
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js.map +1 -1
- package/esm/filters/filter-field/components/FilterStatement.css +17 -13
- package/esm/filters/filter-field/components/FilterStatement.js +124 -28
- package/esm/filters/filter-field/components/FilterStatement.js.map +3 -3
- package/esm/filters/filter-field/components/FilterStatement.sty.js +8 -6
- package/esm/filters/filter-field/components/FilterStatement.sty.js.map +2 -2
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.css +9 -9
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.js +1 -1
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.js.map +1 -1
- 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.sty.js +16 -16
- package/esm/filters/filter-field/suggestions/Suggestion.sty.js.map +1 -1
- 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/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/conversion/lezer-tree-conversion/parent-node/group.js +7 -1
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/group.js.map +2 -2
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.js +6 -1
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.js.map +2 -2
- package/esm/filters/filter-field/utils/conversion/tree-precedence.js +1 -1
- package/esm/filters/filter-field/utils/conversion/tree-precedence.js.map +2 -2
- package/esm/filters/filter-field/utils/statement-status-registry.js +5 -0
- package/esm/filters/filter-field/utils/statement-status-registry.js.map +7 -0
- package/esm/filters/segment-selector/SegmentSelector.css +4 -4
- package/esm/filters/segment-selector/SegmentSelector.js +13 -6
- 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/contexts/SegmentsCache/SegmentsCache.js +1 -17
- package/esm/filters/segment-selector/contexts/SegmentsCache/SegmentsCache.js.map +2 -2
- package/esm/filters/segment-selector/contexts/SegmentsUI/SegmentsUIReducer.js +14 -11
- package/esm/filters/segment-selector/contexts/SegmentsUI/SegmentsUIReducer.js.map +3 -3
- package/esm/filters/segment-selector/contexts/SegmentsUI/segmentValidationHelper.js +65 -7
- package/esm/filters/segment-selector/contexts/SegmentsUI/segmentValidationHelper.js.map +2 -2
- package/esm/filters/segment-selector/parts/EmptySegments.css +1 -1
- 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.sty.js +8 -8
- package/esm/filters/segment-selector/parts/Overlay.sty.js.map +1 -1
- 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/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.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/SelectionBar.js +27 -17
- package/esm/filters/segment-selector/parts/selectionBar/SelectionBar.js.map +2 -2
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js +43 -36
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js.map +3 -3
- package/esm/filters/segment-selector/segmentMessages.js +5 -0
- package/esm/filters/segment-selector/segmentMessages.js.map +2 -2
- package/esm/filters/segment-selector/utils.js +2 -1
- package/esm/filters/segment-selector/utils.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.css +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.js +10 -10
- package/esm/filters/timeframe-selector/TimeframeSelector.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.sty.js +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js +19 -16
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.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 +25 -3
- 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/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 +2 -2
- 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.sty.js +4 -4
- package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/utils/stepper-helpers.js +10 -17
- package/esm/filters/timeframe-selector/utils/stepper-helpers.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.css +99 -99
- package/esm/forms/_base-input/BaseInput.js +25 -22
- package/esm/forms/_base-input/BaseInput.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.sty.js +11 -11
- package/esm/forms/_base-input/BaseInput.sty.js.map +1 -1
- package/esm/forms/_base-input/BaseInputContent.css +7 -7
- package/esm/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/esm/forms/_base-input/BaseInputContent.sty.js.map +1 -1
- package/esm/forms/calendar/Calendar.css +48 -48
- package/esm/forms/calendar/Calendar.js +13 -5
- package/esm/forms/calendar/Calendar.js.map +2 -2
- package/esm/forms/calendar/Calendar.sty.js +12 -12
- 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.js +14 -16
- package/esm/forms/checkbox/Checkbox.js.map +2 -2
- 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.js +8 -10
- package/esm/forms/date-time-picker/DateTimePicker.js.map +2 -2
- 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 +17 -26
- package/esm/forms/date-time-picker/DateTimePickerRoot.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 +2 -10
- 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 +9 -11
- 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 +15 -18
- package/esm/forms/date-time-range-picker/DateTimeRangePickerRoot.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.js +3 -1
- package/esm/forms/forms-core/components/form-field/FormField.js.map +2 -2
- 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/FormFieldContextProvider.js +82 -16
- package/esm/forms/forms-core/components/form-field/FormFieldContextProvider.js.map +2 -2
- package/esm/forms/forms-core/components/form-field/FormFieldMessageContextProvider.js +45 -7
- package/esm/forms/forms-core/components/form-field/FormFieldMessageContextProvider.js.map +2 -2
- package/esm/forms/forms-core/components/form-field-group/FormFieldGroup.js +149 -0
- package/esm/forms/forms-core/components/form-field-group/FormFieldGroup.js.map +7 -0
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js +2 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js.map +2 -2
- 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.js +18 -5
- package/esm/forms/forms-core/components/label/Label.js.map +2 -2
- 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/contexts/FormFieldContext.js +12 -2
- package/esm/forms/forms-core/contexts/FormFieldContext.js.map +2 -2
- package/esm/forms/forms-core/hooks/useFormControl.js +143 -0
- package/esm/forms/forms-core/hooks/useFormControl.js.map +7 -0
- package/esm/forms/forms-core/hooks/useFormFieldContext.js +12 -1
- package/esm/forms/forms-core/hooks/useFormFieldContext.js.map +2 -2
- package/esm/forms/forms-core/state/formfield-messages-state-reducer.js +27 -11
- package/esm/forms/forms-core/state/formfield-messages-state-reducer.js.map +2 -2
- package/esm/forms/forms-core/state/formfield-state-reducer.js +20 -5
- package/esm/forms/forms-core/state/formfield-state-reducer.js.map +2 -2
- 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 +10 -11
- package/esm/forms/number-input/NumberInputBase.js.map +2 -2
- package/esm/forms/number-input-v2/NumberInput.js +55 -136
- package/esm/forms/number-input-v2/NumberInput.js.map +2 -2
- package/esm/forms/number-input-v2/utils/validation.js +0 -17
- package/esm/forms/number-input-v2/utils/validation.js.map +2 -2
- package/esm/forms/password-input/PasswordInput.js +1 -0
- package/esm/forms/password-input/PasswordInput.js.map +2 -2
- package/esm/forms/radio/Radio.js +11 -5
- package/esm/forms/radio/Radio.js.map +2 -2
- package/esm/forms/radio/RadioGroup.js +26 -22
- package/esm/forms/radio/RadioGroup.js.map +2 -2
- package/esm/forms/radio/RadioGroupContext.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 +2 -2
- package/esm/forms/search-input/SearchInput.js.map +2 -2
- package/esm/forms/search-input/SearchInput.sty.js +1 -1
- package/esm/forms/search-input/SearchInput.sty.js.map +1 -1
- package/esm/forms/search-input/Stepper.css +5 -5
- package/esm/forms/search-input/Stepper.sty.js +3 -3
- package/esm/forms/search-input/Stepper.sty.js.map +1 -1
- package/esm/forms/select/Select.js +20 -9
- package/esm/forms/select/Select.js.map +2 -2
- package/esm/forms/select/components/Control.js +3 -7
- package/esm/forms/select/components/Control.js.map +2 -2
- package/esm/forms/select/components/HiddenSelect.js.map +2 -2
- package/esm/forms/select/styles/Select.css +46 -46
- 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/switch/Switch.css +36 -36
- package/esm/forms/switch/Switch.js +17 -14
- package/esm/forms/switch/Switch.js.map +2 -2
- 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.js +22 -16
- package/esm/forms/text-area/TextArea.js.map +2 -2
- 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/Item.js +10 -4
- package/esm/forms/toggle-button-group/Item.js.map +2 -2
- package/esm/forms/toggle-button-group/ToggleButtonGroup.js +15 -9
- package/esm/forms/toggle-button-group/ToggleButtonGroup.js.map +2 -2
- 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/forms/validation/types.js +3 -2
- package/esm/forms/validation/types.js.map +2 -2
- package/esm/forms/validation/useCustomMessageEmitter.js +3 -3
- package/esm/forms/validation/useCustomMessageEmitter.js.map +2 -2
- 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.js.map +2 -2
- 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.js.map +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.js.map +2 -2
- 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.js.map +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/Panel.js.map +2 -2
- package/esm/layouts/page/PanelControlButton.js.map +2 -2
- package/esm/layouts/page/Sidebar.css +35 -35
- package/esm/layouts/page/Sidebar.js.map +2 -2
- package/esm/layouts/page/Sidebar.sty.js +8 -8
- package/esm/layouts/page/Sidebar.sty.js.map +1 -1
- package/esm/layouts/page/page-context.js.map +2 -2
- package/esm/layouts/page/page-types.js.map +2 -2
- package/esm/layouts/page/panel-context.js.map +2 -2
- package/esm/layouts/page/panel-types.js.map +2 -2
- package/esm/layouts/page/panel.css +19 -19
- 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.js +63 -15
- package/esm/layouts/page-layout/details-layout/DetailsLayout.js.map +2 -2
- 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 +18 -18
- package/esm/layouts/page-layout/details-layout/Overlay.js +12 -6
- package/esm/layouts/page-layout/details-layout/Overlay.js.map +2 -2
- 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/details-layout/useLayoutState.js +3 -1
- package/esm/layouts/page-layout/details-layout/useLayoutState.js.map +2 -2
- package/esm/layouts/page-layout/shared/portal-slots.js +23 -3
- package/esm/layouts/page-layout/shared/portal-slots.js.map +2 -2
- package/esm/layouts/page-layout/shared/useBreakpointCollapse.js +16 -4
- package/esm/layouts/page-layout/shared/useBreakpointCollapse.js.map +2 -2
- 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/page-layout/sidebar-layout/useLayoutState.js +3 -1
- package/esm/layouts/page-layout/sidebar-layout/useLayoutState.js.map +2 -2
- package/esm/layouts/split-layout/SplitLayout.css +21 -18
- package/esm/layouts/split-layout/SplitLayout.js +2 -1
- package/esm/layouts/split-layout/SplitLayout.js.map +2 -2
- package/esm/layouts/split-layout/SplitLayout.sty.js +7 -7
- package/esm/layouts/split-layout/SplitLayout.sty.js.map +1 -1
- package/esm/layouts/split-layout/slots.js +3 -1
- package/esm/layouts/split-layout/slots.js.map +2 -2
- package/esm/layouts/split-layout/useSplitSizing.js +45 -21
- package/esm/layouts/split-layout/useSplitSizing.js.map +2 -2
- 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/Menu.css +19 -19
- package/esm/navigation/menu/Menu.sty.js +9 -9
- package/esm/navigation/menu/Menu.sty.js.map +1 -1
- 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.js +1 -1
- package/esm/navigation/tabs/Tabs.js.map +2 -2
- 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/notification-settings/components/PermissionInfo.js +17 -20
- package/esm/notifications/notification-settings/components/PermissionInfo.js.map +2 -2
- package/esm/notifications/toast/Toast.css +6 -6
- 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/modal/Modal.css +56 -8
- package/esm/overlays/modal/Modal.js +3 -34
- package/esm/overlays/modal/Modal.js.map +2 -2
- package/esm/overlays/modal/Modal.sty.js +10 -4
- package/esm/overlays/modal/Modal.sty.js.map +2 -2
- 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 +14 -8
- 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.js +5 -2
- package/esm/tables/DataTable/DataTable.js.map +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 +83 -83
- 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 +23 -23
- 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 +6 -6
- package/esm/tables/DataTable/components/DataTableEmptyState.sty.js +2 -2
- 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.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 +21 -21
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.js +6 -0
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.js.map +2 -2
- 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/SettingsModal/DataTableSettingsModal.css +2 -2
- package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.sty.js +1 -1
- package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.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.js +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.js.map +2 -2
- 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/ColumnOrderSettings/column-order-settings-dnd-utils.js +11 -20
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/column-order-settings-dnd-utils.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnPinningMenu.js +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnPinningMenu.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityToggle.js +52 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityToggle.js.map +7 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +20 -15
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js +70 -25
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +32 -14
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.js +39 -15
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +12 -4
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.css +12 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.js +29 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.js.map +7 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.sty.js +8 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.sty.js.map +7 -0
- 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-test-utils.js +34 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-test-utils.js.map +7 -0
- package/esm/tables/DataTable/components/Toolbar/DataTableToolbar.js +3 -0
- package/esm/tables/DataTable/components/Toolbar/DataTableToolbar.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/DataTableToolbarMenu.js +2 -1
- package/esm/tables/DataTable/components/Toolbar/DataTableToolbarMenu.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.js +11 -4
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.js.map +2 -2
- 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/ColumnOrder/column-order-dnd-utils.js +1 -1
- package/esm/tables/DataTable/features/ColumnOrder/column-order-dnd-utils.js.map +2 -2
- 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/Config.js +8 -4
- package/esm/tables/DataTable/features/Config.js.map +2 -2
- package/esm/tables/DataTable/features/Download/Download.js +73 -16
- package/esm/tables/DataTable/features/Download/Download.js.map +2 -2
- package/esm/tables/DataTable/features/Download/useDownload.js +1 -0
- package/esm/tables/DataTable/features/Download/useDownload.js.map +2 -2
- 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.js +2 -0
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.js.map +2 -2
- 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 +3 -3
- package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js +3 -3
- package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js.map +1 -1
- 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/RowOrder/RowOrderColumnDef.js +46 -13
- package/esm/tables/DataTable/features/RowOrder/RowOrderColumnDef.js.map +2 -2
- package/esm/tables/DataTable/features/RowOrder/useRowOrder.js +6 -0
- package/esm/tables/DataTable/features/RowOrder/useRowOrder.js.map +2 -2
- 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/FloatingMenu.js +19 -10
- package/esm/tables/DataTable/features/UserActions/FloatingMenu.js.map +2 -2
- package/esm/tables/DataTable/features/UserActions/InlineUserActionsMenu.js +24 -7
- package/esm/tables/DataTable/features/UserActions/InlineUserActionsMenu.js.map +2 -2
- 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/RowActionsColumnDef.js +23 -4
- package/esm/tables/DataTable/features/UserActions/RowActionsColumnDef.js.map +2 -2
- package/esm/tables/DataTable/features/UserActions/UserActions.css +19 -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/features/UserActions/useCloseFloatingMenuOnScroll.js +88 -0
- package/esm/tables/DataTable/features/UserActions/useCloseFloatingMenuOnScroll.js.map +7 -0
- package/esm/tables/DataTable/features/UserActions/useCloseMenuOnScroll.js +60 -0
- package/esm/tables/DataTable/features/UserActions/useCloseMenuOnScroll.js.map +7 -0
- package/esm/tables/DataTable/hooks/useTableRootResize.js +3 -1
- package/esm/tables/DataTable/hooks/useTableRootResize.js.map +2 -2
- package/esm/tables/DataTable/messages.js +45 -0
- package/esm/tables/DataTable/messages.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/hooks/useLockedRowOrder.js +9 -3
- package/esm/tables/hooks/useLockedRowOrder.js.map +2 -2
- package/esm/tables/index.js.map +2 -2
- package/esm/tables/utils/replace-urls-with-links.js +15 -3
- package/esm/tables/utils/replace-urls-with-links.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.js +12 -0
- package/esm/typography/external-link/ExternalLink.js.map +2 -2
- 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 +1 -1
- 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 +130 -130
- package/filters/filter-field/FilterField.js +26 -47
- package/filters/filter-field/FilterField.sty.js +28 -28
- package/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
- package/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
- package/filters/filter-field/components/FilterStatement.css +17 -13
- package/filters/filter-field/components/FilterStatement.js +121 -25
- package/filters/filter-field/components/FilterStatement.sty.d.ts +1 -0
- package/filters/filter-field/components/FilterStatement.sty.js +8 -6
- package/filters/filter-field/suggestions/RecentPinnedSuggestionItem.css +9 -9
- package/filters/filter-field/suggestions/RecentPinnedSuggestionItem.js +1 -1
- 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.sty.js +16 -16
- 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/SuggestionsOverlay.css +7 -7
- package/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
- package/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/group.js +7 -1
- package/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.d.ts +3 -1
- package/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.js +6 -1
- package/filters/filter-field/utils/conversion/tree-precedence.js +1 -1
- package/filters/filter-field/utils/statement-status-registry.d.ts +3 -0
- package/{charts/histogram/components/annotations-histogram/constants.js → filters/filter-field/utils/statement-status-registry.js} +5 -5
- package/filters/segment-selector/SegmentSelector.css +4 -4
- package/filters/segment-selector/SegmentSelector.js +13 -6
- package/filters/segment-selector/SegmentSelector.sty.js +4 -4
- package/filters/segment-selector/contexts/SegmentsCache/SegmentsCache.d.ts +7 -3
- package/filters/segment-selector/contexts/SegmentsCache/SegmentsCache.js +1 -17
- package/filters/segment-selector/contexts/SegmentsUI/SegmentsUIReducer.js +14 -11
- package/filters/segment-selector/contexts/SegmentsUI/segmentValidationHelper.d.ts +9 -0
- package/filters/segment-selector/contexts/SegmentsUI/segmentValidationHelper.js +61 -7
- package/filters/segment-selector/parts/EmptySegments.css +1 -1
- 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.sty.js +8 -8
- 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/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.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/SelectionBar.js +27 -17
- package/filters/segment-selector/parts/selectionBar/ValueSelect.js +43 -36
- package/filters/segment-selector/segmentMessages.d.ts +5 -0
- package/filters/segment-selector/segmentMessages.js +5 -0
- package/filters/segment-selector/utils.d.ts +8 -0
- package/filters/segment-selector/utils.js +2 -1
- package/filters/timeframe-selector/TimeframeSelector.css +2 -2
- package/filters/timeframe-selector/TimeframeSelector.js +10 -10
- package/filters/timeframe-selector/TimeframeSelector.sty.js +2 -2
- package/filters/timeframe-selector/TimeframeSelectorRoot.d.ts +4 -1
- package/filters/timeframe-selector/TimeframeSelectorRoot.js +19 -16
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.js +25 -3
- 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/presets/Presets.css +27 -27
- package/filters/timeframe-selector/components/presets/Presets.sty.js +11 -11
- package/filters/timeframe-selector/components/stepper/StepperButton.js +2 -2
- package/filters/timeframe-selector/components/trigger/Trigger.css +11 -11
- package/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
- package/filters/timeframe-selector/utils/stepper-helpers.d.ts +2 -2
- package/filters/timeframe-selector/utils/stepper-helpers.js +10 -17
- package/forms/_base-input/BaseInput.css +99 -99
- package/forms/_base-input/BaseInput.js +25 -22
- package/forms/_base-input/BaseInput.sty.js +11 -11
- package/forms/_base-input/BaseInputContent.css +7 -7
- package/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/forms/calendar/Calendar.css +48 -48
- package/forms/calendar/Calendar.js +13 -5
- package/forms/calendar/Calendar.sty.js +12 -12
- 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.js +14 -16
- package/forms/checkbox/Checkbox.sty.js +3 -3
- package/forms/date-time-picker/DateTimePicker.css +75 -75
- package/forms/date-time-picker/DateTimePicker.js +8 -10
- package/forms/date-time-picker/DateTimePicker.sty.js +6 -6
- package/forms/date-time-picker/DateTimePickerRoot.d.ts +4 -1
- package/forms/date-time-picker/DateTimePickerRoot.js +17 -26
- 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 +2 -10
- 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 +9 -11
- package/forms/date-time-range-picker/DateTimeRangePicker.sty.js +4 -4
- package/forms/date-time-range-picker/DateTimeRangePickerRoot.d.ts +4 -1
- package/forms/date-time-range-picker/DateTimeRangePickerRoot.js +15 -18
- package/forms/date-time-range-picker/types.d.ts +3 -0
- 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.js +3 -1
- package/forms/forms-core/components/form-field/FormField.sty.js +1 -1
- package/forms/forms-core/components/form-field/FormFieldContextProvider.d.ts +6 -1
- package/forms/forms-core/components/form-field/FormFieldContextProvider.js +78 -14
- package/forms/forms-core/components/form-field/FormFieldMessageContextProvider.d.ts +4 -1
- package/forms/forms-core/components/form-field/FormFieldMessageContextProvider.js +43 -7
- package/forms/forms-core/components/form-field-group/FormFieldGroup.d.ts +47 -0
- package/forms/forms-core/components/form-field-group/FormFieldGroup.js +159 -0
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js +2 -1
- 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.js +17 -4
- package/forms/forms-core/components/label/Label.sty.js +2 -2
- package/forms/forms-core/contexts/FormFieldContext.d.ts +35 -0
- package/forms/forms-core/contexts/FormFieldContext.js +12 -2
- package/forms/forms-core/hooks/useFormControl.d.ts +105 -0
- package/forms/forms-core/hooks/useFormControl.js +154 -0
- package/forms/forms-core/hooks/useFormFieldContext.d.ts +13 -1
- package/forms/forms-core/hooks/useFormFieldContext.js +12 -1
- package/forms/forms-core/state/formfield-messages-state-reducer.d.ts +12 -6
- package/forms/forms-core/state/formfield-messages-state-reducer.js +27 -11
- package/forms/forms-core/state/formfield-state-reducer.d.ts +12 -0
- package/forms/forms-core/state/formfield-state-reducer.js +20 -5
- package/forms/forms-core/time/helpers.js +1 -1
- package/forms/forms-core/types/formfield-messages.types.d.ts +6 -1
- package/forms/forms-core/types/formfield.types.d.ts +6 -1
- package/forms/hooks/useAutofillEvent.css +8 -8
- package/forms/hooks/useAutofillEvent.sty.js +4 -4
- package/forms/number-input/NumberInputBase.js +10 -11
- package/forms/number-input-v2/NumberInput.js +50 -134
- package/forms/number-input-v2/utils/validation.d.ts +0 -7
- package/forms/number-input-v2/utils/validation.js +0 -15
- package/forms/password-input/PasswordInput.js +1 -0
- package/forms/radio/Radio.js +11 -5
- package/forms/radio/RadioGroup.js +26 -22
- package/forms/radio/styles.css +18 -18
- package/forms/radio/styles.sty.js +8 -8
- package/forms/search-input/SearchInput.css +2 -2
- package/forms/search-input/SearchInput.sty.js +1 -1
- package/forms/search-input/Stepper.css +5 -5
- package/forms/search-input/Stepper.sty.js +3 -3
- package/forms/select/Select.d.ts +9 -0
- package/forms/select/Select.js +20 -9
- package/forms/select/components/Control.js +3 -7
- package/forms/select/styles/Select.css +46 -46
- 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/switch/Switch.css +36 -36
- package/forms/switch/Switch.js +17 -14
- package/forms/switch/Switch.sty.js +5 -5
- package/forms/text-area/TextArea.css +59 -59
- package/forms/text-area/TextArea.js +22 -16
- package/forms/text-area/TextArea.sty.js +3 -3
- package/forms/toggle-button-group/Item.js +10 -4
- package/forms/toggle-button-group/ToggleButtonGroup.js +15 -9
- package/forms/toggle-button-group/styles.css +58 -58
- package/forms/toggle-button-group/styles.sty.js +15 -15
- package/forms/validation/types.d.ts +3 -2
- package/forms/validation/types.js +3 -2
- package/forms/validation/useCustomMessageEmitter.js +3 -3
- package/lang/en.json +179 -0
- package/lang/ja.json +168 -12
- package/lang/uncompiled/en.json +36 -0
- package/lang/uncompiled/ja.json +48 -6
- 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 +35 -35
- package/layouts/page/Sidebar.sty.js +8 -8
- package/layouts/page/panel.css +19 -19
- 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.js +59 -13
- package/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
- package/layouts/page-layout/details-layout/Overlay.css +18 -18
- package/layouts/page-layout/details-layout/Overlay.d.ts +6 -1
- package/layouts/page-layout/details-layout/Overlay.js +12 -6
- package/layouts/page-layout/details-layout/Overlay.sty.js +4 -4
- package/layouts/page-layout/details-layout/slots.d.ts +11 -1
- package/layouts/page-layout/details-layout/useLayoutState.js +3 -1
- package/layouts/page-layout/shared/collapsible.d.ts +8 -0
- package/layouts/page-layout/shared/portal-slots.js +20 -2
- package/layouts/page-layout/shared/useBreakpointCollapse.d.ts +15 -12
- package/layouts/page-layout/shared/useBreakpointCollapse.js +17 -15
- package/layouts/page-layout/sidebar-layout/SidebarLayout.css +38 -38
- package/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +15 -15
- package/layouts/page-layout/sidebar-layout/slots.d.ts +1 -0
- package/layouts/page-layout/sidebar-layout/useLayoutState.js +3 -1
- package/layouts/split-layout/SplitLayout.css +21 -18
- package/layouts/split-layout/SplitLayout.js +2 -1
- package/layouts/split-layout/SplitLayout.sty.js +7 -7
- package/layouts/split-layout/slots.d.ts +7 -0
- package/layouts/split-layout/slots.js +3 -1
- package/layouts/split-layout/useSplitSizing.d.ts +1 -0
- package/layouts/split-layout/useSplitSizing.js +46 -32
- 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/Menu.css +19 -19
- package/navigation/menu/Menu.sty.js +9 -9
- 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.js +2 -2
- 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/notification-settings/components/PermissionInfo.js +17 -20
- package/notifications/toast/Toast.css +6 -6
- 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/modal/Modal.css +56 -8
- package/overlays/modal/Modal.js +3 -34
- package/overlays/modal/Modal.sty.d.ts +3 -0
- package/overlays/modal/Modal.sty.js +10 -4
- package/overlays/overlay/Overlay.css +1 -1
- package/overlays/overlay/Overlay.sty.js +1 -1
- package/overlays/sheet/Sheet.css +14 -8
- 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 +10 -11
- 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.js +5 -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 +83 -83
- package/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/tables/DataTable/components/DataTableDefaultCell.css +23 -23
- package/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
- package/tables/DataTable/components/DataTableEmptyState.css +6 -6
- package/tables/DataTable/components/DataTableEmptyState.sty.js +2 -2
- 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.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 +21 -21
- package/tables/DataTable/components/DataTableVirtualizationContainer.js +6 -0
- package/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
- package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.css +2 -2
- package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.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.js +1 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/column-order-settings-dnd-utils.d.ts +1 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/column-order-settings-dnd-utils.js +11 -20
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnPinningMenu.js +1 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityToggle.d.ts +30 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityToggle.js +70 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +20 -15
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.d.ts +1 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js +70 -25
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.d.ts +8 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +32 -14
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.d.ts +8 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.js +39 -15
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.d.ts +4 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +12 -4
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.css +12 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.d.ts +23 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/{ColumnVisibilityCheckbox.js → DataTableColumnsSectionHeader.js} +23 -23
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.sty.d.ts +2 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.sty.js +26 -0
- 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-test-utils.d.ts +8 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-test-utils.js +52 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-types.d.ts +12 -0
- package/tables/DataTable/components/Toolbar/DataTableToolbar.d.ts +9 -0
- package/tables/DataTable/components/Toolbar/DataTableToolbar.js +3 -0
- package/tables/DataTable/components/Toolbar/DataTableToolbarMenu.d.ts +4 -0
- package/tables/DataTable/components/Toolbar/DataTableToolbarMenu.js +2 -1
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.d.ts +2 -1
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.js +11 -4
- 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/ColumnOrder/column-order-dnd-utils.js +1 -1
- 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/Config.js +8 -4
- package/tables/DataTable/features/Download/Download.d.ts +7 -5
- package/tables/DataTable/features/Download/Download.js +73 -16
- package/tables/DataTable/features/Download/download-types.d.ts +52 -3
- package/tables/DataTable/features/Download/useDownload.d.ts +2 -0
- package/tables/DataTable/features/Download/useDownload.js +1 -0
- 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.js +2 -0
- package/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js +1 -1
- package/tables/DataTable/features/LoadingState/LoadingState.css +3 -3
- package/tables/DataTable/features/LoadingState/LoadingState.sty.js +3 -3
- 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/RowOrder/RowOrderColumnDef.js +46 -13
- package/tables/DataTable/features/RowOrder/row-order-types.d.ts +27 -0
- package/tables/DataTable/features/RowOrder/useRowOrder.js +6 -0
- 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/FloatingMenu.js +18 -9
- package/tables/DataTable/features/UserActions/InlineUserActionsMenu.js +19 -6
- package/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/tables/DataTable/features/UserActions/RowActionsColumnDef.js +22 -4
- package/tables/DataTable/features/UserActions/UserActions.css +19 -18
- package/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
- package/tables/DataTable/features/UserActions/useCloseFloatingMenuOnScroll.d.ts +14 -0
- package/tables/DataTable/features/UserActions/useCloseFloatingMenuOnScroll.js +106 -0
- package/tables/DataTable/features/UserActions/useCloseMenuOnScroll.d.ts +13 -0
- package/tables/DataTable/features/UserActions/useCloseMenuOnScroll.js +78 -0
- package/tables/DataTable/hooks/useTableRootResize.d.ts +2 -2
- package/tables/DataTable/hooks/useTableRootResize.js +2 -12
- package/tables/DataTable/messages.d.ts +45 -0
- package/tables/DataTable/messages.js +45 -0
- package/tables/DataTable/public.api.d.ts +15 -3
- package/tables/SimpleTable/SimpleTable.css +27 -27
- package/tables/SimpleTable/SimpleTable.sty.js +1 -1
- package/tables/hooks/useLockedRowOrder.d.ts +22 -1
- package/tables/hooks/useLockedRowOrder.js +9 -3
- package/tables/index.d.ts +1 -1
- package/tables/utils/replace-urls-with-links.js +15 -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.js +12 -0
- 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 -2
- package/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
- package/charts/histogram/components/annotations-histogram/constants.d.ts +0 -2
- package/charts/timeseries/components/annotations-timeseries/constants.d.ts +0 -2
- package/esm/charts/histogram/components/annotations-histogram/constants.js +0 -5
- package/esm/charts/histogram/components/annotations-histogram/constants.js.map +0 -7
- package/esm/charts/timeseries/components/annotations-timeseries/constants.js +0 -5
- package/esm/charts/timeseries/components/annotations-timeseries/constants.js.map +0 -7
- package/esm/forms/forms-core/hooks/useSyncedFormControlProps.js +0 -61
- package/esm/forms/forms-core/hooks/useSyncedFormControlProps.js.map +0 -7
- package/esm/forms/hooks/useInputHint.js +0 -25
- package/esm/forms/hooks/useInputHint.js.map +0 -7
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityCheckbox.js +0 -29
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityCheckbox.js.map +0 -7
- package/forms/forms-core/hooks/useSyncedFormControlProps.d.ts +0 -18
- package/forms/forms-core/hooks/useSyncedFormControlProps.js +0 -79
- package/forms/hooks/useInputHint.d.ts +0 -23
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityCheckbox.d.ts +0 -26
package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../src/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.ts"],
|
|
4
|
-
"sourcesContent": ["import type { SyntaxNodeRef } from '@lezer/common';\n\nimport { convertInclusionValue } from './inclusion.js';\nimport { isDev } from '../../../../../../core/utils/is-node-environment.js';\nimport { postSpotErrorMark } from '../../../../decorations/decoration-marks.js';\nimport type { FilterFieldProps } from '../../../../FilterField.types.js';\nimport type { NumberFormatParser } from '../../../../parser/getNumberParser.js';\nimport type { ConvertedLezerNode } from '../../../../types/conversion-utils.js';\nimport type { FilterFieldError } from '../../../../types/filter-field-error.js';\nimport type {\n FilterFieldLezerNodeType,\n FilterFieldStatementNode,\n} from '../../../../types/tree-nodes.js';\nimport type {\n PositionOperators,\n FilterFieldCustomTypes,\n} from '../../../../types/validation.js';\nimport type { InternalValidatorMap } from '../../../../utils/validation-utils/normalize-validator-map.js';\nimport {\n getErrorMessageForType,\n isCustomType,\n} from '../../../error-utils/error-message-helpers.js';\nimport { getTextFromRange } from '../../../get-text.js';\nimport { getValidValueTypes } from '../../../suggestions-utils/suggestion-type.js';\nimport {\n getColoredSearchOperator,\n getValidOperatorsColored,\n isValidOperator,\n isValidValue,\n} from '../../../validation-utils/validation-helper-functions.js';\nimport { convertExistsOperator } from '../comparator/exists.js';\nimport { convertComparisonOperator } from '../comparator/operator.js';\nimport { convertSearchOperator } from '../comparator/search.js';\nimport { convertFilterKey } from '../key/key.js';\nimport { convertToErrorNode } from '../node-mutations.js';\nimport { nodeTypeOverrides } from '../node-type-mapping.js';\nimport { convertFreeText } from '../value/free-text.js';\nimport { convertSimpleValue } from '../value/simple-value.js';\n\n/**\n * If the filter field value contains position operators, the statement's operator node\n * needs to reflect them accordingly ((not) starts-with, ends-with, contains).\n * Errors are generated for invalid combinations of operators and position operators.\n */\nfunction convertPositionOperators(\n convertedStatement: FilterFieldStatementNode,\n internalValidatorMap: InternalValidatorMap | undefined,\n positionOperators: PositionOperators,\n errors: FilterFieldError[],\n parserConfig?: FilterFieldProps['parserConfig'],\n) {\n if (!convertedStatement.comparisonOperator || !positionOperators) {\n return;\n }\n\n const operator = convertedStatement.comparisonOperator;\n const value = operator?.value;\n\n if (value === '=' || value === '!=' || operator?.type === 'SearchOperator') {\n const newValue = `${value === '!=' ? 'not-' : ''}${positionOperators.type}`;\n if (convertedStatement.comparisonOperator) {\n convertedStatement.comparisonOperator.value = newValue;\n }\n\n // Check if position operators are limited by the validatorMap and generate errors if need be.\n if (\n !isValidOperator(\n newValue,\n convertedStatement.key?.textValue,\n internalValidatorMap,\n parserConfig,\n )\n ) {\n convertToErrorNode(convertedStatement.value);\n for (const positionOperator of positionOperators.ranges) {\n errors.push({\n range: positionOperator,\n message: 'invalidWildCardOperator',\n });\n }\n }\n } else {\n convertToErrorNode(convertedStatement.value);\n\n for (const positionOperator of positionOperators.ranges) {\n errors.push({\n range: positionOperator,\n message: 'invalidPositionOperator',\n });\n }\n }\n}\n\n/**\n * Validate the key and value of a filter field statement\n * according to the provided validatorMap.\n */\nfunction validateKeyAndValue(\n internalValidatorMap: InternalValidatorMap | undefined,\n convertedStatement: FilterFieldStatementNode,\n doc: string,\n errors: FilterFieldError[],\n customTypes?: FilterFieldCustomTypes,\n parserConfig?: FilterFieldProps['parserConfig'],\n) {\n if (\n !internalValidatorMap ||\n internalValidatorMap.normalizedKeys.byKey.size === 0 ||\n !convertedStatement.key\n ) {\n return;\n }\n\n if (convertedStatement.key.type !== 'Error') {\n validateKey(convertedStatement.key, internalValidatorMap, errors);\n }\n\n if (!convertedStatement.value) {\n return;\n }\n\n // Check each validity of each value for lists\n if (Array.isArray(convertedStatement.value.value)) {\n for (const value of convertedStatement.value.value) {\n validateSingleValue(\n value,\n doc,\n { ...convertedStatement, value },\n internalValidatorMap,\n errors,\n customTypes,\n parserConfig,\n );\n }\n } else {\n const isValid = validateSingleValue(\n convertedStatement.value,\n doc,\n convertedStatement,\n internalValidatorMap,\n errors,\n customTypes,\n parserConfig,\n );\n\n if (!isValid) {\n // If the value is an error, we also need to update the statement's operator node.\n // It may have changed to 'contains' or similar already, but should not reflect\n // position operators in case the value is an error.\n if (convertedStatement.comparisonOperator) {\n convertedStatement.comparisonOperator.value =\n convertedStatement.comparisonOperator.textValue;\n }\n }\n }\n}\n\n/**\n * Validate a single value of a filter field statement\n * according to the provided validatorMap.\n */\nfunction validateSingleValue(\n value: FilterFieldStatementNode['value'],\n doc: string,\n convertedStatement: FilterFieldStatementNode,\n internalValidatorMap?: InternalValidatorMap,\n errors: FilterFieldError[] = [],\n customTypes?: FilterFieldCustomTypes,\n parserConfig?: FilterFieldProps['parserConfig'],\n): boolean {\n if (!value || !convertedStatement.key) {\n return true;\n }\n\n const { isValid, message, validTypes } = isValidValue(\n convertedStatement.key.value,\n value.type === 'String' ? value.value : value.textValue,\n value.type,\n internalValidatorMap,\n convertedStatement,\n doc.toString(),\n customTypes,\n parserConfig,\n );\n\n if (!isValid) {\n convertToErrorNode(value);\n if (!validTypes || validTypes.length === 1) {\n const singleType = validTypes ? validTypes[0] : undefined;\n if (singleType && isCustomType(singleType)) {\n errors.push({\n range: value.range,\n message: message ?? {\n type: 'invalidValueErrorMultipleTypes',\n details: validTypes,\n },\n });\n } else {\n errors.push({\n range: value.range,\n message: message ?? getErrorMessageForType(singleType),\n });\n }\n } else {\n errors.push({\n range: value.range,\n message: message ?? {\n type: 'invalidValueErrorMultipleTypes',\n details: validTypes,\n },\n });\n }\n }\n\n return isValid;\n}\n\n/**\n * Validate a key of a filter field statement\n * according to the provided validatorMap.\n */\nfunction validateKey(\n key: FilterFieldStatementNode['key'],\n internalValidatorMap?: InternalValidatorMap,\n errors: FilterFieldError[] = [],\n) {\n if (!internalValidatorMap || !key) {\n return;\n }\n\n const isExhaustive = internalValidatorMap.exhaustive ?? true;\n let { value } = key;\n\n let isValidJsonPath = true;\n\n if (key.type === 'JSONPath') {\n value = key.root;\n\n isValidJsonPath = hasJSONPathTypePredicate(internalValidatorMap, value);\n }\n\n const keyIsInValidatorMap =\n internalValidatorMap.normalizedKeys.byKey.has(value);\n\n if ((!keyIsInValidatorMap || !isValidJsonPath) && isExhaustive) {\n convertToErrorNode(key);\n errors.push({\n range: key.range,\n message: 'invalidKey',\n });\n }\n}\n\n/**\n * Convert a filter field statement node.\n * @internal\n */\nexport function convertFilterStatement(\n node: SyntaxNodeRef,\n doc: string,\n numberParser: NumberFormatParser,\n internalValidatorMap: InternalValidatorMap | undefined,\n customTypes?: FilterFieldCustomTypes,\n parserConfig?: FilterFieldProps['parserConfig'],\n context?: FilterFieldLezerNodeType,\n): ConvertedLezerNode<FilterFieldStatementNode> {\n const nodeName = node.name as FilterFieldLezerNodeType;\n const { from, to } = node;\n const cursor = node.node.cursor();\n\n const convertedStatement: FilterFieldStatementNode = {\n type: (nodeTypeOverrides[nodeName] ??\n nodeName) as FilterFieldStatementNode['type'],\n range: {\n from,\n to,\n },\n };\n const errors: FilterFieldError[] = [];\n let positionOperators: PositionOperators | undefined;\n let prevNode: FilterFieldLezerNodeType | undefined;\n\n /**\n * Update the previous node and return false to not go any deeper when iterating.\n * Iteration continues with the next sibling, if any.\n */\n function updatePreviousAndContinue(\n nodeName: FilterFieldLezerNodeType | undefined,\n ): false {\n prevNode = nodeName;\n return false;\n }\n\n cursor.iterate((childNode) => {\n const nodeName = childNode.name as FilterFieldLezerNodeType;\n const { from: childFrom, to: childTo } = childNode;\n\n switch (nodeName) {\n case 'FilterStatement': {\n // Intentionally left empty.\n // Duplicating the tree cursor starts at the statement node again.\n break;\n }\n case 'FilterKey': {\n const { convertedNode: filterKey, errors: keyErrors } =\n convertFilterKey(childNode, doc, parserConfig);\n if (filterKey !== undefined) {\n convertedStatement.key = filterKey;\n }\n errors.push(...keyErrors);\n return updatePreviousAndContinue(nodeName);\n }\n case 'InvalidComparisonOperator':\n case 'ComparisonOperator':\n case 'InclusionOperator': {\n const { convertedNode: operator } = convertComparisonOperator(\n childNode,\n doc,\n );\n convertedStatement.comparisonOperator = operator;\n return updatePreviousAndContinue(nodeName);\n }\n case 'SearchOperator': {\n const { convertedNode: operator, errors: operatorErrors } =\n convertSearchOperator(childNode, doc, parserConfig, context);\n convertedStatement.comparisonOperator = operator;\n errors.push(...operatorErrors);\n break;\n }\n case 'ExistsOperator': {\n const { convertedNode: operator } = convertExistsOperator(\n childNode,\n doc,\n );\n convertedStatement.comparisonOperator = operator;\n break;\n }\n case 'FilterSimpleValue': {\n const {\n convertedNode: value,\n errors: valueErrors,\n positionOperators: valuePositionOperators,\n } = convertSimpleValue(\n childNode,\n doc,\n numberParser,\n customTypes,\n parserConfig,\n );\n\n convertedStatement.value = value;\n errors.push(...valueErrors);\n positionOperators = valuePositionOperators;\n return updatePreviousAndContinue(nodeName);\n }\n case 'FilterIncludesValue': {\n const { convertedNode: value, errors: valueErrors } =\n convertInclusionValue(\n childNode,\n doc,\n numberParser,\n customTypes,\n parserConfig,\n );\n convertedStatement.value = value;\n errors.push(...valueErrors);\n return updatePreviousAndContinue(nodeName);\n }\n case 'FreeText': {\n const { convertedNode: freeTextNode, errors: freeTextErrors } =\n convertFreeText(childNode, doc, parserConfig);\n convertedStatement.key = freeTextNode;\n errors.push(...freeTextErrors);\n return updatePreviousAndContinue(nodeName);\n }\n // An error node may occur as direct child of a 'FilterStatement'.\n // Depending on the context, it needs to be added to the corresponding node (key, comparator, or value).\n case '\u26A0':\n switch (prevNode) {\n case 'FilterKey':\n case 'FreeText':\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (parserConfig?.searchConversion) {\n errors.push({\n range: { from: childFrom - 1, to: childTo },\n message: {\n type: 'incompleteStatementWithEnabledSearchError',\n details: getColoredSearchOperator(),\n },\n decoration: postSpotErrorMark,\n });\n } else {\n errors.push({\n range: { from: childFrom - 1, to: childTo },\n message: 'incompleteStatementError',\n decoration: postSpotErrorMark,\n });\n }\n break;\n case 'ComparisonOperator':\n case 'InvalidComparisonOperator':\n case 'SearchOperator':\n if (convertedStatement.comparisonOperator !== undefined) {\n if (childFrom !== childTo) {\n const childAfter = childNode.node.nextSibling;\n if (childAfter) {\n // Update range.to for both if they exist\n if (convertedStatement.comparisonOperator) {\n convertedStatement.comparisonOperator.range.to = childTo;\n const textValue = getTextFromRange(\n convertedStatement.comparisonOperator.range,\n doc,\n );\n convertedStatement.comparisonOperator.textValue =\n convertedStatement.comparisonOperator.value = textValue;\n }\n return updatePreviousAndContinue(prevNode);\n } else {\n const range = {\n from: childFrom,\n to: childTo,\n };\n\n const textValue = getTextFromRange(range, doc);\n\n convertedStatement.value = {\n type: 'Error',\n value: textValue,\n textValue,\n range,\n };\n\n errors.push({\n range,\n message: 'invalidValueErrorGeneric',\n });\n }\n } else {\n errors.push({\n range: {\n from: childFrom - (childFrom === childTo ? 1 : 0),\n to: childTo,\n },\n message: 'missingValueError',\n decoration: postSpotErrorMark,\n });\n }\n }\n break;\n case 'InclusionOperator':\n errors.push({\n range: { from: childFrom - 1, to: childTo },\n message: 'missingValueError',\n });\n break;\n default:\n if (isDev()) {\n // eslint-disable-next-line no-console\n console.log(\n `${doc.toString()} | Syntax node '${nodeName}' is not yet handled after a '${prevNode}' node. Please make sure to handle all nodes accordingly.`,\n );\n }\n }\n\n return updatePreviousAndContinue(nodeName);\n default:\n // eslint-disable-next-line no-console\n console.log(\n `${doc.toString()} | Syntax node '${nodeName}' is not yet handled in the statement conversion. Please make sure to handle all nodes accordingly.`,\n );\n }\n\n prevNode = nodeName;\n });\n\n if (convertedStatement.comparisonOperator && positionOperators) {\n convertPositionOperators(\n convertedStatement,\n internalValidatorMap,\n positionOperators,\n errors,\n parserConfig,\n );\n }\n\n /**\n * Custom validation\n */\n validateKeyAndValue(\n internalValidatorMap,\n convertedStatement,\n doc,\n errors,\n customTypes,\n parserConfig,\n );\n\n // Check the validity of the operator node, regardless of whether there\n // is a validatorMap, as there are default global operators.\n const operator = convertedStatement.comparisonOperator;\n if (\n operator &&\n !positionOperators &&\n (!isValidOperator(\n operator.textValue,\n convertedStatement.key?.value,\n internalValidatorMap,\n parserConfig,\n ) ||\n (operator.type === 'Error' && operator.value !== '*~'))\n ) {\n convertToErrorNode(operator);\n\n if (convertedStatement.comparisonOperator) {\n convertToErrorNode(convertedStatement.comparisonOperator);\n }\n errors.push({\n range: operator.range,\n message: {\n type: 'invalidComparatorError',\n details: getValidOperatorsColored(\n convertedStatement.key?.textValue,\n internalValidatorMap,\n parserConfig,\n ),\n },\n });\n }\n\n return { convertedNode: convertedStatement, errors };\n}\n\nfunction hasJSONPathTypePredicate(\n internalValidatorMap: InternalValidatorMap,\n key: string,\n): boolean {\n const config = internalValidatorMap.normalizedKeys.byKey.get(key);\n\n if (!config) {\n return false;\n }\n\n if (config.valueType) {\n const types = Array.isArray(config.valueType)\n ? config.valueType\n : [config.valueType];\n return types.includes('JSONPath');\n }\n\n const validValues = config.valuePredicate;\n\n if (!validValues || typeof validValues === 'function') {\n return false;\n }\n\n const { types: validTypes } = getValidValueTypes(validValues);\n\n return validTypes.includes('JSONPath');\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import type { SyntaxNodeRef } from '@lezer/common';\n\nimport { convertInclusionValue } from './inclusion.js';\nimport { isDev } from '../../../../../../core/utils/is-node-environment.js';\nimport { postSpotErrorMark } from '../../../../decorations/decoration-marks.js';\nimport type { FilterFieldProps } from '../../../../FilterField.types.js';\nimport type { NumberFormatParser } from '../../../../parser/getNumberParser.js';\nimport type { ConvertedLezerNode } from '../../../../types/conversion-utils.js';\nimport type { FilterFieldError } from '../../../../types/filter-field-error.js';\nimport type {\n FilterFieldLezerNodeType,\n FilterFieldStatementNode,\n} from '../../../../types/tree-nodes.js';\nimport type {\n PositionOperators,\n FilterFieldCustomTypes,\n} from '../../../../types/validation.js';\nimport type { InternalValidatorMap } from '../../../../utils/validation-utils/normalize-validator-map.js';\nimport {\n getErrorMessageForType,\n isCustomType,\n} from '../../../error-utils/error-message-helpers.js';\nimport { getStatementStatus } from '../../../get-statement-status.js';\nimport { getTextFromRange } from '../../../get-text.js';\nimport { getValidValueTypes } from '../../../suggestions-utils/suggestion-type.js';\nimport {\n getColoredSearchOperator,\n getValidOperatorsColored,\n isValidOperator,\n isValidValue,\n} from '../../../validation-utils/validation-helper-functions.js';\nimport { convertExistsOperator } from '../comparator/exists.js';\nimport { convertComparisonOperator } from '../comparator/operator.js';\nimport { convertSearchOperator } from '../comparator/search.js';\nimport { convertFilterKey } from '../key/key.js';\nimport { convertToErrorNode } from '../node-mutations.js';\nimport { nodeTypeOverrides } from '../node-type-mapping.js';\nimport { convertFreeText } from '../value/free-text.js';\nimport { convertSimpleValue } from '../value/simple-value.js';\n\n/**\n * If the filter field value contains position operators, the statement's operator node\n * needs to reflect them accordingly ((not) starts-with, ends-with, contains).\n * Errors are generated for invalid combinations of operators and position operators.\n */\nfunction convertPositionOperators(\n convertedStatement: FilterFieldStatementNode,\n internalValidatorMap: InternalValidatorMap | undefined,\n positionOperators: PositionOperators,\n errors: FilterFieldError[],\n parserConfig?: FilterFieldProps['parserConfig'],\n) {\n if (!convertedStatement.comparisonOperator || !positionOperators) {\n return;\n }\n\n const operator = convertedStatement.comparisonOperator;\n const value = operator?.value;\n\n if (value === '=' || value === '!=' || operator?.type === 'SearchOperator') {\n const newValue = `${value === '!=' ? 'not-' : ''}${positionOperators.type}`;\n if (convertedStatement.comparisonOperator) {\n convertedStatement.comparisonOperator.value = newValue;\n }\n\n // Check if position operators are limited by the validatorMap and generate errors if need be.\n if (\n !isValidOperator(\n newValue,\n convertedStatement.key?.textValue,\n internalValidatorMap,\n parserConfig,\n )\n ) {\n convertToErrorNode(convertedStatement.value);\n for (const positionOperator of positionOperators.ranges) {\n errors.push({\n range: positionOperator,\n message: 'invalidWildCardOperator',\n });\n }\n }\n } else {\n convertToErrorNode(convertedStatement.value);\n\n for (const positionOperator of positionOperators.ranges) {\n errors.push({\n range: positionOperator,\n message: 'invalidPositionOperator',\n });\n }\n }\n}\n\n/**\n * Validate the key and value of a filter field statement\n * according to the provided validatorMap.\n */\nfunction validateKeyAndValue(\n internalValidatorMap: InternalValidatorMap | undefined,\n convertedStatement: FilterFieldStatementNode,\n doc: string,\n errors: FilterFieldError[],\n customTypes?: FilterFieldCustomTypes,\n parserConfig?: FilterFieldProps['parserConfig'],\n) {\n if (\n !internalValidatorMap ||\n internalValidatorMap.normalizedKeys.byKey.size === 0 ||\n !convertedStatement.key\n ) {\n return;\n }\n\n if (convertedStatement.key.type !== 'Error') {\n validateKey(convertedStatement.key, internalValidatorMap, errors);\n }\n\n if (!convertedStatement.value) {\n return;\n }\n\n // Check each validity of each value for lists\n if (Array.isArray(convertedStatement.value.value)) {\n for (const value of convertedStatement.value.value) {\n validateSingleValue(\n value,\n doc,\n { ...convertedStatement, value },\n internalValidatorMap,\n errors,\n customTypes,\n parserConfig,\n );\n }\n } else {\n const isValid = validateSingleValue(\n convertedStatement.value,\n doc,\n convertedStatement,\n internalValidatorMap,\n errors,\n customTypes,\n parserConfig,\n );\n\n if (!isValid) {\n // If the value is an error, we also need to update the statement's operator node.\n // It may have changed to 'contains' or similar already, but should not reflect\n // position operators in case the value is an error.\n if (convertedStatement.comparisonOperator) {\n convertedStatement.comparisonOperator.value =\n convertedStatement.comparisonOperator.textValue;\n }\n }\n }\n}\n\n/**\n * Validate a single value of a filter field statement\n * according to the provided validatorMap.\n */\nfunction validateSingleValue(\n value: FilterFieldStatementNode['value'],\n doc: string,\n convertedStatement: FilterFieldStatementNode,\n internalValidatorMap?: InternalValidatorMap,\n errors: FilterFieldError[] = [],\n customTypes?: FilterFieldCustomTypes,\n parserConfig?: FilterFieldProps['parserConfig'],\n): boolean {\n if (!value || !convertedStatement.key) {\n return true;\n }\n\n const { isValid, message, validTypes } = isValidValue(\n convertedStatement.key.value,\n value.type === 'String' ? value.value : value.textValue,\n value.type,\n internalValidatorMap,\n convertedStatement,\n doc.toString(),\n customTypes,\n parserConfig,\n );\n\n if (!isValid) {\n convertToErrorNode(value);\n if (!validTypes || validTypes.length === 1) {\n const singleType = validTypes ? validTypes[0] : undefined;\n if (singleType && isCustomType(singleType)) {\n errors.push({\n range: value.range,\n message: message ?? {\n type: 'invalidValueErrorMultipleTypes',\n details: validTypes,\n },\n });\n } else {\n errors.push({\n range: value.range,\n message: message ?? getErrorMessageForType(singleType),\n });\n }\n } else {\n errors.push({\n range: value.range,\n message: message ?? {\n type: 'invalidValueErrorMultipleTypes',\n details: validTypes,\n },\n });\n }\n }\n\n return isValid;\n}\n\n/**\n * Validate a key of a filter field statement\n * according to the provided validatorMap.\n */\nfunction validateKey(\n key: FilterFieldStatementNode['key'],\n internalValidatorMap?: InternalValidatorMap,\n errors: FilterFieldError[] = [],\n) {\n if (!internalValidatorMap || !key) {\n return;\n }\n\n const isExhaustive = internalValidatorMap.exhaustive ?? true;\n let { value } = key;\n\n let isValidJsonPath = true;\n\n if (key.type === 'JSONPath') {\n value = key.root;\n\n isValidJsonPath = hasJSONPathTypePredicate(internalValidatorMap, value);\n }\n\n const keyIsInValidatorMap =\n internalValidatorMap.normalizedKeys.byKey.has(value);\n\n if ((!keyIsInValidatorMap || !isValidJsonPath) && isExhaustive) {\n convertToErrorNode(key);\n errors.push({\n range: key.range,\n message: 'invalidKey',\n });\n }\n}\n\n/**\n * Convert a filter field statement node.\n * @internal\n */\nexport function convertFilterStatement(\n node: SyntaxNodeRef,\n doc: string,\n numberParser: NumberFormatParser,\n internalValidatorMap: InternalValidatorMap | undefined,\n customTypes?: FilterFieldCustomTypes,\n parserConfig?: FilterFieldProps['parserConfig'],\n context?: FilterFieldLezerNodeType,\n): ConvertedLezerNode<\n FilterFieldStatementNode,\n { status: 'complete' | 'incomplete' | 'indeterminate' }\n> {\n const nodeName = node.name as FilterFieldLezerNodeType;\n const { from, to } = node;\n const cursor = node.node.cursor();\n\n const convertedStatement: FilterFieldStatementNode = {\n type: (nodeTypeOverrides[nodeName] ??\n nodeName) as FilterFieldStatementNode['type'],\n range: {\n from,\n to,\n },\n };\n const errors: FilterFieldError[] = [];\n let positionOperators: PositionOperators | undefined;\n let prevNode: FilterFieldLezerNodeType | undefined;\n\n /**\n * Update the previous node and return false to not go any deeper when iterating.\n * Iteration continues with the next sibling, if any.\n */\n function updatePreviousAndContinue(\n nodeName: FilterFieldLezerNodeType | undefined,\n ): false {\n prevNode = nodeName;\n return false;\n }\n\n cursor.iterate((childNode) => {\n const nodeName = childNode.name as FilterFieldLezerNodeType;\n const { from: childFrom, to: childTo } = childNode;\n\n switch (nodeName) {\n case 'FilterStatement': {\n // Intentionally left empty.\n // Duplicating the tree cursor starts at the statement node again.\n break;\n }\n case 'FilterKey': {\n const { convertedNode: filterKey, errors: keyErrors } =\n convertFilterKey(childNode, doc, parserConfig);\n if (filterKey !== undefined) {\n convertedStatement.key = filterKey;\n }\n errors.push(...keyErrors);\n return updatePreviousAndContinue(nodeName);\n }\n case 'InvalidComparisonOperator':\n case 'ComparisonOperator':\n case 'InclusionOperator': {\n const { convertedNode: operator } = convertComparisonOperator(\n childNode,\n doc,\n );\n convertedStatement.comparisonOperator = operator;\n return updatePreviousAndContinue(nodeName);\n }\n case 'SearchOperator': {\n const { convertedNode: operator, errors: operatorErrors } =\n convertSearchOperator(childNode, doc, parserConfig, context);\n convertedStatement.comparisonOperator = operator;\n errors.push(...operatorErrors);\n break;\n }\n case 'ExistsOperator': {\n const { convertedNode: operator } = convertExistsOperator(\n childNode,\n doc,\n );\n convertedStatement.comparisonOperator = operator;\n break;\n }\n case 'FilterSimpleValue': {\n const {\n convertedNode: value,\n errors: valueErrors,\n positionOperators: valuePositionOperators,\n } = convertSimpleValue(\n childNode,\n doc,\n numberParser,\n customTypes,\n parserConfig,\n );\n\n convertedStatement.value = value;\n errors.push(...valueErrors);\n positionOperators = valuePositionOperators;\n return updatePreviousAndContinue(nodeName);\n }\n case 'FilterIncludesValue': {\n const { convertedNode: value, errors: valueErrors } =\n convertInclusionValue(\n childNode,\n doc,\n numberParser,\n customTypes,\n parserConfig,\n );\n convertedStatement.value = value;\n errors.push(...valueErrors);\n return updatePreviousAndContinue(nodeName);\n }\n case 'FreeText': {\n const { convertedNode: freeTextNode, errors: freeTextErrors } =\n convertFreeText(childNode, doc, parserConfig);\n convertedStatement.key = freeTextNode;\n errors.push(...freeTextErrors);\n return updatePreviousAndContinue(nodeName);\n }\n // An error node may occur as direct child of a 'FilterStatement'.\n // Depending on the context, it needs to be added to the corresponding node (key, comparator, or value).\n case '\u26A0':\n switch (prevNode) {\n case 'FilterKey':\n case 'FreeText':\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (parserConfig?.searchConversion) {\n errors.push({\n range: { from: childFrom - 1, to: childTo },\n message: {\n type: 'incompleteStatementWithEnabledSearchError',\n details: getColoredSearchOperator(),\n },\n decoration: postSpotErrorMark,\n });\n } else {\n errors.push({\n range: { from: childFrom - 1, to: childTo },\n message: 'incompleteStatementError',\n decoration: postSpotErrorMark,\n });\n }\n break;\n case 'ComparisonOperator':\n case 'InvalidComparisonOperator':\n case 'SearchOperator':\n if (convertedStatement.comparisonOperator !== undefined) {\n if (childFrom !== childTo) {\n const childAfter = childNode.node.nextSibling;\n if (childAfter) {\n // Update range.to for both if they exist\n if (convertedStatement.comparisonOperator) {\n convertedStatement.comparisonOperator.range.to = childTo;\n const textValue = getTextFromRange(\n convertedStatement.comparisonOperator.range,\n doc,\n );\n convertedStatement.comparisonOperator.textValue =\n convertedStatement.comparisonOperator.value = textValue;\n }\n return updatePreviousAndContinue(prevNode);\n } else {\n const range = {\n from: childFrom,\n to: childTo,\n };\n\n const textValue = getTextFromRange(range, doc);\n\n convertedStatement.value = {\n type: 'Error',\n value: textValue,\n textValue,\n range,\n };\n\n errors.push({\n range,\n message: 'invalidValueErrorGeneric',\n });\n }\n } else {\n errors.push({\n range: {\n from: childFrom - (childFrom === childTo ? 1 : 0),\n to: childTo,\n },\n message: 'missingValueError',\n decoration: postSpotErrorMark,\n });\n }\n }\n break;\n case 'InclusionOperator':\n errors.push({\n range: { from: childFrom - 1, to: childTo },\n message: 'missingValueError',\n });\n break;\n default:\n if (isDev()) {\n // eslint-disable-next-line no-console\n console.log(\n `${doc.toString()} | Syntax node '${nodeName}' is not yet handled after a '${prevNode}' node. Please make sure to handle all nodes accordingly.`,\n );\n }\n }\n\n return updatePreviousAndContinue(nodeName);\n default:\n // eslint-disable-next-line no-console\n console.log(\n `${doc.toString()} | Syntax node '${nodeName}' is not yet handled in the statement conversion. Please make sure to handle all nodes accordingly.`,\n );\n }\n\n prevNode = nodeName;\n });\n\n if (convertedStatement.comparisonOperator && positionOperators) {\n convertPositionOperators(\n convertedStatement,\n internalValidatorMap,\n positionOperators,\n errors,\n parserConfig,\n );\n }\n\n /**\n * Custom validation\n */\n validateKeyAndValue(\n internalValidatorMap,\n convertedStatement,\n doc,\n errors,\n customTypes,\n parserConfig,\n );\n\n // Check the validity of the operator node, regardless of whether there\n // is a validatorMap, as there are default global operators.\n const operator = convertedStatement.comparisonOperator;\n if (\n operator &&\n !positionOperators &&\n (!isValidOperator(\n operator.textValue,\n convertedStatement.key?.value,\n internalValidatorMap,\n parserConfig,\n ) ||\n (operator.type === 'Error' && operator.value !== '*~'))\n ) {\n convertToErrorNode(operator);\n\n if (convertedStatement.comparisonOperator) {\n convertToErrorNode(convertedStatement.comparisonOperator);\n }\n errors.push({\n range: operator.range,\n message: {\n type: 'invalidComparatorError',\n details: getValidOperatorsColored(\n convertedStatement.key?.textValue,\n internalValidatorMap,\n parserConfig,\n ),\n },\n });\n }\n\n return {\n convertedNode: convertedStatement,\n errors,\n status: getStatementStatus(node.node.cursor(), doc),\n };\n}\n\nfunction hasJSONPathTypePredicate(\n internalValidatorMap: InternalValidatorMap,\n key: string,\n): boolean {\n const config = internalValidatorMap.normalizedKeys.byKey.get(key);\n\n if (!config) {\n return false;\n }\n\n if (config.valueType) {\n const types = Array.isArray(config.valueType)\n ? config.valueType\n : [config.valueType];\n return types.includes('JSONPath');\n }\n\n const validValues = config.valuePredicate;\n\n if (!validValues || typeof validValues === 'function') {\n return false;\n }\n\n const { types: validTypes } = getValidValueTypes(validValues);\n\n return validTypes.includes('JSONPath');\n}\n"],
|
|
5
|
+
"mappings": "AAEA,SAAS,6BAA6B;AACtC,SAAS,aAAa;AACtB,SAAS,yBAAyB;AAclC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,6BAA6B;AACtC,SAAS,iCAAiC;AAC1C,SAAS,6BAA6B;AACtC,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAOnC,SAAS,yBACP,oBACA,sBACA,mBACA,QACA,cACA;AACA,MAAI,CAAC,mBAAmB,sBAAsB,CAAC,mBAAmB;AAChE;AAAA,EACF;AAEA,QAAM,WAAW,mBAAmB;AACpC,QAAM,QAAQ,UAAU;AAExB,MAAI,UAAU,OAAO,UAAU,QAAQ,UAAU,SAAS,kBAAkB;AAC1E,UAAM,WAAW,GAAG,UAAU,OAAO,SAAS,EAAE,GAAG,kBAAkB,IAAI;AACzE,QAAI,mBAAmB,oBAAoB;AACzC,yBAAmB,mBAAmB,QAAQ;AAAA,IAChD;AAGA,QACE,CAAC;AAAA,MACC;AAAA,MACA,mBAAmB,KAAK;AAAA,MACxB;AAAA,MACA;AAAA,IACF,GACA;AACA,yBAAmB,mBAAmB,KAAK;AAC3C,iBAAW,oBAAoB,kBAAkB,QAAQ;AACvD,eAAO,KAAK;AAAA,UACV,OAAO;AAAA,UACP,SAAS;AAAA,QACX,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,OAAO;AACL,uBAAmB,mBAAmB,KAAK;AAE3C,eAAW,oBAAoB,kBAAkB,QAAQ;AACvD,aAAO,KAAK;AAAA,QACV,OAAO;AAAA,QACP,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAMA,SAAS,oBACP,sBACA,oBACA,KACA,QACA,aACA,cACA;AACA,MACE,CAAC,wBACD,qBAAqB,eAAe,MAAM,SAAS,KACnD,CAAC,mBAAmB,KACpB;AACA;AAAA,EACF;AAEA,MAAI,mBAAmB,IAAI,SAAS,SAAS;AAC3C,gBAAY,mBAAmB,KAAK,sBAAsB,MAAM;AAAA,EAClE;AAEA,MAAI,CAAC,mBAAmB,OAAO;AAC7B;AAAA,EACF;AAGA,MAAI,MAAM,QAAQ,mBAAmB,MAAM,KAAK,GAAG;AACjD,eAAW,SAAS,mBAAmB,MAAM,OAAO;AAClD;AAAA,QACE;AAAA,QACA;AAAA,QACA,EAAE,GAAG,oBAAoB,MAAM;AAAA,QAC/B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,UAAM,UAAU;AAAA,MACd,mBAAmB;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,CAAC,SAAS;AAIZ,UAAI,mBAAmB,oBAAoB;AACzC,2BAAmB,mBAAmB,QACpC,mBAAmB,mBAAmB;AAAA,MAC1C;AAAA,IACF;AAAA,EACF;AACF;AAMA,SAAS,oBACP,OACA,KACA,oBACA,sBACA,SAA6B,CAAC,GAC9B,aACA,cACS;AACT,MAAI,CAAC,SAAS,CAAC,mBAAmB,KAAK;AACrC,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,SAAS,SAAS,WAAW,IAAI;AAAA,IACvC,mBAAmB,IAAI;AAAA,IACvB,MAAM,SAAS,WAAW,MAAM,QAAQ,MAAM;AAAA,IAC9C,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,IAAI,SAAS;AAAA,IACb;AAAA,IACA;AAAA,EACF;AAEA,MAAI,CAAC,SAAS;AACZ,uBAAmB,KAAK;AACxB,QAAI,CAAC,cAAc,WAAW,WAAW,GAAG;AAC1C,YAAM,aAAa,aAAa,WAAW,CAAC,IAAI;AAChD,UAAI,cAAc,aAAa,UAAU,GAAG;AAC1C,eAAO,KAAK;AAAA,UACV,OAAO,MAAM;AAAA,UACb,SAAS,WAAW;AAAA,YAClB,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF,CAAC;AAAA,MACH,OAAO;AACL,eAAO,KAAK;AAAA,UACV,OAAO,MAAM;AAAA,UACb,SAAS,WAAW,uBAAuB,UAAU;AAAA,QACvD,CAAC;AAAA,MACH;AAAA,IACF,OAAO;AACL,aAAO,KAAK;AAAA,QACV,OAAO,MAAM;AAAA,QACb,SAAS,WAAW;AAAA,UAClB,MAAM;AAAA,UACN,SAAS;AAAA,QACX;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;AAMA,SAAS,YACP,KACA,sBACA,SAA6B,CAAC,GAC9B;AACA,MAAI,CAAC,wBAAwB,CAAC,KAAK;AACjC;AAAA,EACF;AAEA,QAAM,eAAe,qBAAqB,cAAc;AACxD,MAAI,EAAE,MAAM,IAAI;AAEhB,MAAI,kBAAkB;AAEtB,MAAI,IAAI,SAAS,YAAY;AAC3B,YAAQ,IAAI;AAEZ,sBAAkB,yBAAyB,sBAAsB,KAAK;AAAA,EACxE;AAEA,QAAM,sBACJ,qBAAqB,eAAe,MAAM,IAAI,KAAK;AAErD,OAAK,CAAC,uBAAuB,CAAC,oBAAoB,cAAc;AAC9D,uBAAmB,GAAG;AACtB,WAAO,KAAK;AAAA,MACV,OAAO,IAAI;AAAA,MACX,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AACF;AAMO,SAAS,uBACd,MACA,KACA,cACA,sBACA,aACA,cACA,SAIA;AACA,QAAM,WAAW,KAAK;AACtB,QAAM,EAAE,MAAM,GAAG,IAAI;AACrB,QAAM,SAAS,KAAK,KAAK,OAAO;AAEhC,QAAM,qBAA+C;AAAA,IACnD,MAAO,kBAAkB,QAAQ,KAC/B;AAAA,IACF,OAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,SAA6B,CAAC;AACpC,MAAI;AACJ,MAAI;AAMJ,WAAS,0BACPA,WACO;AACP,eAAWA;AACX,WAAO;AAAA,EACT;AAEA,SAAO,QAAQ,CAAC,cAAc;AAC5B,UAAMA,YAAW,UAAU;AAC3B,UAAM,EAAE,MAAM,WAAW,IAAI,QAAQ,IAAI;AAEzC,YAAQA,WAAU;AAAA,MAChB,KAAK,mBAAmB;AAGtB;AAAA,MACF;AAAA,MACA,KAAK,aAAa;AAChB,cAAM,EAAE,eAAe,WAAW,QAAQ,UAAU,IAClD,iBAAiB,WAAW,KAAK,YAAY;AAC/C,YAAI,cAAc,QAAW;AAC3B,6BAAmB,MAAM;AAAA,QAC3B;AACA,eAAO,KAAK,GAAG,SAAS;AACxB,eAAO,0BAA0BA,SAAQ;AAAA,MAC3C;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,qBAAqB;AACxB,cAAM,EAAE,eAAeC,UAAS,IAAI;AAAA,UAClC;AAAA,UACA;AAAA,QACF;AACA,2BAAmB,qBAAqBA;AACxC,eAAO,0BAA0BD,SAAQ;AAAA,MAC3C;AAAA,MACA,KAAK,kBAAkB;AACrB,cAAM,EAAE,eAAeC,WAAU,QAAQ,eAAe,IACtD,sBAAsB,WAAW,KAAK,cAAc,OAAO;AAC7D,2BAAmB,qBAAqBA;AACxC,eAAO,KAAK,GAAG,cAAc;AAC7B;AAAA,MACF;AAAA,MACA,KAAK,kBAAkB;AACrB,cAAM,EAAE,eAAeA,UAAS,IAAI;AAAA,UAClC;AAAA,UACA;AAAA,QACF;AACA,2BAAmB,qBAAqBA;AACxC;AAAA,MACF;AAAA,MACA,KAAK,qBAAqB;AACxB,cAAM;AAAA,UACJ,eAAe;AAAA,UACf,QAAQ;AAAA,UACR,mBAAmB;AAAA,QACrB,IAAI;AAAA,UACF;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAEA,2BAAmB,QAAQ;AAC3B,eAAO,KAAK,GAAG,WAAW;AAC1B,4BAAoB;AACpB,eAAO,0BAA0BD,SAAQ;AAAA,MAC3C;AAAA,MACA,KAAK,uBAAuB;AAC1B,cAAM,EAAE,eAAe,OAAO,QAAQ,YAAY,IAChD;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AACF,2BAAmB,QAAQ;AAC3B,eAAO,KAAK,GAAG,WAAW;AAC1B,eAAO,0BAA0BA,SAAQ;AAAA,MAC3C;AAAA,MACA,KAAK,YAAY;AACf,cAAM,EAAE,eAAe,cAAc,QAAQ,eAAe,IAC1D,gBAAgB,WAAW,KAAK,YAAY;AAC9C,2BAAmB,MAAM;AACzB,eAAO,KAAK,GAAG,cAAc;AAC7B,eAAO,0BAA0BA,SAAQ;AAAA,MAC3C;AAAA;AAAA;AAAA,MAGA,KAAK;AACH,gBAAQ,UAAU;AAAA,UAChB,KAAK;AAAA,UACL,KAAK;AAEH,gBAAI,cAAc,kBAAkB;AAClC,qBAAO,KAAK;AAAA,gBACV,OAAO,EAAE,MAAM,YAAY,GAAG,IAAI,QAAQ;AAAA,gBAC1C,SAAS;AAAA,kBACP,MAAM;AAAA,kBACN,SAAS,yBAAyB;AAAA,gBACpC;AAAA,gBACA,YAAY;AAAA,cACd,CAAC;AAAA,YACH,OAAO;AACL,qBAAO,KAAK;AAAA,gBACV,OAAO,EAAE,MAAM,YAAY,GAAG,IAAI,QAAQ;AAAA,gBAC1C,SAAS;AAAA,gBACT,YAAY;AAAA,cACd,CAAC;AAAA,YACH;AACA;AAAA,UACF,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AACH,gBAAI,mBAAmB,uBAAuB,QAAW;AACvD,kBAAI,cAAc,SAAS;AACzB,sBAAM,aAAa,UAAU,KAAK;AAClC,oBAAI,YAAY;AAEd,sBAAI,mBAAmB,oBAAoB;AACzC,uCAAmB,mBAAmB,MAAM,KAAK;AACjD,0BAAM,YAAY;AAAA,sBAChB,mBAAmB,mBAAmB;AAAA,sBACtC;AAAA,oBACF;AACA,uCAAmB,mBAAmB,YACpC,mBAAmB,mBAAmB,QAAQ;AAAA,kBAClD;AACA,yBAAO,0BAA0B,QAAQ;AAAA,gBAC3C,OAAO;AACL,wBAAM,QAAQ;AAAA,oBACZ,MAAM;AAAA,oBACN,IAAI;AAAA,kBACN;AAEA,wBAAM,YAAY,iBAAiB,OAAO,GAAG;AAE7C,qCAAmB,QAAQ;AAAA,oBACzB,MAAM;AAAA,oBACN,OAAO;AAAA,oBACP;AAAA,oBACA;AAAA,kBACF;AAEA,yBAAO,KAAK;AAAA,oBACV;AAAA,oBACA,SAAS;AAAA,kBACX,CAAC;AAAA,gBACH;AAAA,cACF,OAAO;AACL,uBAAO,KAAK;AAAA,kBACV,OAAO;AAAA,oBACL,MAAM,aAAa,cAAc,UAAU,IAAI;AAAA,oBAC/C,IAAI;AAAA,kBACN;AAAA,kBACA,SAAS;AAAA,kBACT,YAAY;AAAA,gBACd,CAAC;AAAA,cACH;AAAA,YACF;AACA;AAAA,UACF,KAAK;AACH,mBAAO,KAAK;AAAA,cACV,OAAO,EAAE,MAAM,YAAY,GAAG,IAAI,QAAQ;AAAA,cAC1C,SAAS;AAAA,YACX,CAAC;AACD;AAAA,UACF;AACE,gBAAI,MAAM,GAAG;AAEX,sBAAQ;AAAA,gBACN,GAAG,IAAI,SAAS,CAAC,mBAAmBA,SAAQ,iCAAiC,QAAQ;AAAA,cACvF;AAAA,YACF;AAAA,QACJ;AAEA,eAAO,0BAA0BA,SAAQ;AAAA,MAC3C;AAEE,gBAAQ;AAAA,UACN,GAAG,IAAI,SAAS,CAAC,mBAAmBA,SAAQ;AAAA,QAC9C;AAAA,IACJ;AAEA,eAAWA;AAAA,EACb,CAAC;AAED,MAAI,mBAAmB,sBAAsB,mBAAmB;AAC9D;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAKA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAIA,QAAM,WAAW,mBAAmB;AACpC,MACE,YACA,CAAC,sBACA,CAAC;AAAA,IACA,SAAS;AAAA,IACT,mBAAmB,KAAK;AAAA,IACxB;AAAA,IACA;AAAA,EACF,KACG,SAAS,SAAS,WAAW,SAAS,UAAU,OACnD;AACA,uBAAmB,QAAQ;AAE3B,QAAI,mBAAmB,oBAAoB;AACzC,yBAAmB,mBAAmB,kBAAkB;AAAA,IAC1D;AACA,WAAO,KAAK;AAAA,MACV,OAAO,SAAS;AAAA,MAChB,SAAS;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,UACP,mBAAmB,KAAK;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,eAAe;AAAA,IACf;AAAA,IACA,QAAQ,mBAAmB,KAAK,KAAK,OAAO,GAAG,GAAG;AAAA,EACpD;AACF;AAEA,SAAS,yBACP,sBACA,KACS;AACT,QAAM,SAAS,qBAAqB,eAAe,MAAM,IAAI,GAAG;AAEhE,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,WAAW;AACpB,UAAM,QAAQ,MAAM,QAAQ,OAAO,SAAS,IACxC,OAAO,YACP,CAAC,OAAO,SAAS;AACrB,WAAO,MAAM,SAAS,UAAU;AAAA,EAClC;AAEA,QAAM,cAAc,OAAO;AAE3B,MAAI,CAAC,eAAe,OAAO,gBAAgB,YAAY;AACrD,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,OAAO,WAAW,IAAI,mBAAmB,WAAW;AAE5D,SAAO,WAAW,SAAS,UAAU;AACvC;",
|
|
6
6
|
"names": ["nodeName", "operator"]
|
|
7
7
|
}
|
|
@@ -53,7 +53,7 @@ function groupByLogicalOperators(data, group) {
|
|
|
53
53
|
}
|
|
54
54
|
for (const [index, child] of tree.children.entries()) {
|
|
55
55
|
if (child.type === "Error" && !isLogicalOperator(child)) {
|
|
56
|
-
sortedTree.children.push(child);
|
|
56
|
+
(nestedTree ?? sortedTree).children.push(child);
|
|
57
57
|
}
|
|
58
58
|
if (child.type === "Statement" || child.type === "Group" && child.explicit) {
|
|
59
59
|
const prevNode = tree.children[index - 1];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/filters/filter-field/utils/conversion/tree-precedence.ts"],
|
|
4
|
-
"sourcesContent": ["import Colors from '@dynatrace/strato-design-tokens/colors';\n\nimport type { FilterFieldError } from '../../types/filter-field-error.js';\nimport type {\n FilterFieldGroupNode,\n FilterFieldNode,\n FilterFieldSearchOperatorNode,\n} from '../../types/tree-nodes.js';\nimport {\n isFilterFieldStatementNode,\n isLogicalOperator,\n} from '../tree-node-guards.js';\nimport { convertToErrorNode } from './lezer-tree-conversion/node-mutations.js';\nimport type { FilterFieldProps } from '../../FilterField.types.js';\nimport type {\n FilterFieldFlatGroupNode,\n FilterFieldFlatNode,\n FilterFieldLogicalOperatorNode,\n} from '../../types/conversion-utils.js';\n\n/**\n * Iterate over the parsed document and convert the lezer tree to an object.\n * @internal\n */\nexport function sortFilterFieldTree(\n tree: FilterFieldFlatGroupNode | undefined,\n parserConfig: FilterFieldProps['parserConfig'],\n doc?: string,\n): {\n tree: FilterFieldGroupNode | undefined;\n errors: FilterFieldError[];\n isValidSearch: boolean;\n} {\n if (!tree) {\n return { tree, errors: [], isValidSearch: true };\n }\n\n const { tree: _cleanedTree, searchOperators } = groupByLogicalOperators({\n tree,\n });\n let errors: FilterFieldError[] = [];\n\n let cleanedTree = _cleanedTree;\n let isValidSearch;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (parserConfig?.searchConversion === true) {\n ({\n tree: cleanedTree,\n errors,\n isValidSearch,\n } = checkValidSearchOperators(cleanedTree, searchOperators, doc));\n }\n\n return {\n tree: cleanedTree,\n errors,\n isValidSearch: isValidSearch ?? false,\n };\n}\n\ntype LogicalOperator = FilterFieldGroupNode['logicalOperator'];\n\n/**\n * Function to group the filter statements depending on the logical operators used.\n */\nfunction groupByLogicalOperators(\n data: {\n tree: FilterFieldFlatGroupNode;\n searchOperators?: FilterFieldSearchOperatorNode[];\n },\n group?: FilterFieldGroupNode,\n): {\n tree: FilterFieldGroupNode;\n searchOperators: FilterFieldSearchOperatorNode[];\n} {\n const { tree, searchOperators = [] } = data;\n const sortedTree: FilterFieldGroupNode = group ?? {\n type: 'Group',\n range: tree.range,\n logicalOperator: 'AND',\n explicit: tree.explicit,\n explicitLogicalOperator: false,\n children: [],\n };\n\n let prevLogicalOperator: LogicalOperator | null | undefined;\n let currentLogicalOperator: LogicalOperator | undefined | null;\n let nestedTree: FilterFieldGroupNode | undefined;\n\n // In case of an empty group, return an empty group.\n if (\n tree.type === 'Group' &&\n (tree.children.length === 0 || tree.children[0].type === 'Error')\n ) {\n return {\n tree: {\n ...tree,\n logicalOperator: 'AND',\n explicitLogicalOperator: false,\n children: tree.children as FilterFieldNode[],\n },\n searchOperators,\n };\n }\n\n for (const [index, child] of tree.children.entries()) {\n // push error nodes to the tree, except logical operators\n // as they need to be handled separately\n if (child.type === 'Error' && !isLogicalOperator(child)) {\n sortedTree.children.push(child);\n }\n\n if (\n child.type === 'Statement' ||\n (child.type === 'Group' && child.explicit)\n ) {\n const prevNode: FilterFieldFlatNode | undefined =\n tree.children[index - 1];\n\n if (\n child.type === 'Statement' &&\n child.comparisonOperator?.type === 'SearchOperator'\n ) {\n // Store search operator to potentially mark all of them as errors in a later step.\n searchOperators.push(child.comparisonOperator);\n }\n\n prevLogicalOperator = currentLogicalOperator;\n currentLogicalOperator = (\n isLogicalOperator(prevNode)\n ? // DEPRECATION: [APPDEV-13773] BREAKING-CHANGE: Exclude logical operator node from public tree type.\n // Check how to best deal with the logical operator conversion here.\n\n (prevNode as FilterFieldLogicalOperatorNode).value.toUpperCase()\n : null\n ) as FilterFieldGroupNode['logicalOperator'];\n\n if (prevNode === undefined) {\n currentLogicalOperator = undefined;\n }\n\n // In case the previous logical operator is not equal to the current, we need to group the\n // previous statement and the current statement and nest them in the tree.\n // An undefined logical operator indicates that there are no previous statements yet.\n // E.g.:\n /*\n a = 1 OR b = 2 c = 2\n tree before implicit and: { or: ['a = 1', 'b = 2' ]}\n -> pop the last statement of the current tree and add it to a new nested\n tree with the current statement\n tree after implicit and: { or: ['a = 1', { and: ['b = 2', 'c = 2]} ]}\n */\n const shouldCreateNestedTree =\n prevLogicalOperator !== undefined &&\n currentLogicalOperator !== undefined &&\n currentLogicalOperator !== prevLogicalOperator &&\n // For an explicit logical operator, a nested tree has already been created when handling the logical operator.\n prevNode?.type !== 'LogicalOperator';\n\n if (shouldCreateNestedTree) {\n // Pop last node of previous tree.\n const prevNode = sortedTree.children.pop();\n if (!prevNode) {\n continue;\n }\n\n let nestedChildren: FilterFieldNode;\n if (child.type === 'Group') {\n ({ tree: nestedChildren } = groupByLogicalOperators({\n tree: child,\n searchOperators,\n }));\n } else {\n nestedChildren = child;\n }\n\n // Create new nested tree to push to the previous group.\n const groupedChildren: FilterFieldNode[] = [prevNode, nestedChildren];\n\n nestedTree = {\n type: 'Group',\n range: {\n from: prevNode.range.from,\n to: groupedChildren[groupedChildren.length - 1]?.range.to,\n },\n children: groupedChildren,\n logicalOperator: currentLogicalOperator ?? 'AND',\n explicitLogicalOperator:\n currentLogicalOperator !== null &&\n currentLogicalOperator !== undefined,\n explicit: false,\n };\n\n sortedTree.children.push(nestedTree);\n\n // Update the nested tree's range to include all of the new group if need be.\n if (sortedTree.range.to < nestedTree.range.to) {\n sortedTree.range.to = nestedTree.range.to;\n }\n } else {\n let nestedChildren: FilterFieldNode;\n if (child.type === 'Group') {\n ({ tree: nestedChildren } = groupByLogicalOperators(\n { tree: child, searchOperators },\n // Pass the created nested tree for implicit groups only to avoid circular structures.\n // The sorted tree returned at the end of the function is set to the 'group' parameter = nestedTree.\n // If the child is an explicit group and we would pass the nestedTree, it would be pushed into the\n // sortedTree of the previous recursion again when returning the current sortedTree.\n child.explicit ? undefined : nestedTree,\n ));\n } else {\n nestedChildren = child;\n }\n\n // If the current node is a group, recursively add the group to the tree.\n (nestedTree ?? sortedTree).children.push(nestedChildren);\n\n if (nestedTree) {\n nestedTree.range.to = child.range.to;\n }\n if (!sortedTree.explicit && sortedTree.range.to < child.range.to) {\n sortedTree.range.to = child.range.to;\n }\n }\n }\n\n // If the child is an explicit logical operator, depending on the previous\n // logical operator, we either just push it to the current tree, or create\n // a nested tree to group the relevant statements and logical operators.\n // E.g.:\n /*\n a = 1 b = 1 OR c = 2\n Once at the explicit 'OR', group the previous statements (a, b).\n\n a = 1 OR b = 2 c = 2\n Once at the implicit 'AND', group the previous statement\n and the current statement (b, c).\n */\n if (isLogicalOperator(child)) {\n // DEPRECATION: [APPDEV-13773] BREAKING-CHANGE: Exclude logical operator node from public tree type.\n // Check how to best deal with the logical operator conversion here.\n\n const convertedChild: FilterFieldLogicalOperatorNode =\n child as FilterFieldLogicalOperatorNode;\n\n prevLogicalOperator = currentLogicalOperator;\n currentLogicalOperator =\n convertedChild.value.toUpperCase() as FilterFieldGroupNode['logicalOperator'];\n\n if (\n prevLogicalOperator !== undefined &&\n prevLogicalOperator !== currentLogicalOperator\n ) {\n if (\n !nestedTree ||\n (currentLogicalOperator === 'OR' &&\n currentLogicalOperator !== sortedTree.logicalOperator &&\n // Either of the trees has an explicit logical operator. The current logical operator does not match\n // the operator of the sorted tree. We need to move the existing sorted tree to a nested tree.\n (sortedTree.explicitLogicalOperator ||\n nestedTree.explicitLogicalOperator ||\n // Some deeper nested mixture of implicit and explicit logical and.\n // With a current logical OR operator, we need to move the existing sorted tree to a nested tree.\n sortedTree.logicalOperator === nestedTree.logicalOperator)) ||\n // The current logical operator is an explicit AND with a previous implicit AND and logical OR.\n // E.g.: b=2 OR c=3 d=4 AND e=5\n // In this case, we already have a nested tree, but still have to create a new one to group\n // The implicit and explicit logical AND while not losing the logical OR.\n (sortedTree.logicalOperator === 'OR' &&\n currentLogicalOperator === 'AND')\n ) {\n // Create a new nested tree.\n nestedTree = {\n type: 'Group',\n logicalOperator: 'AND',\n range: { from: -1, to: -1 },\n explicit: false,\n explicitLogicalOperator:\n currentLogicalOperator === 'AND' ||\n (currentLogicalOperator === 'OR' &&\n sortedTree.explicitLogicalOperator),\n children: [],\n };\n\n // Add all the previous nodes to the new tree until we get to an explicit\n // logical operator 'OR' operator.\n // E.g.:\n /*\n a = 1 AND b = 1 c = 1 OR d = 2 e = 2\n Once at the logical 'OR', create a new nested tree to group all the previous statements\n that are connected with 'AND'.\n All of them need to be removed from the current tree and pushed to the nested tree.\n\n a = 1 OR b = 2 AND c = 2\n Once at the logical 'AND', create a new nested tree, but only include the previous statement (b)\n and don't move anything before.\n\n a = 1 b = 2 AND c = 2\n Once at the logical 'AND', create a new nested tree, but only include the previous statement (b)\n and don't move anything before to be able to distinguish between explicit and implicit logical and.\n */\n let abortGrouping = false;\n do {\n const previousNode = sortedTree.children.pop();\n // Nothing left in the tree -> break;\n if (!previousNode) {\n break;\n }\n\n nestedTree.children.push(previousNode);\n\n // If the previous node is a logical 'OR' operator or the sorted tree does not have an explicit logical operator, but\n // the current logical operator is an explicit 'AND', stop pushing nodes to the nested tree.\n if (\n // Switching from logical and to logical or.\n (sortedTree.explicitLogicalOperator &&\n sortedTree.logicalOperator === 'OR') ||\n // Mixture of implicit and explicit logical and.\n (!sortedTree.explicitLogicalOperator &&\n currentLogicalOperator === 'AND')\n ) {\n abortGrouping = true;\n }\n } while (!abortGrouping);\n\n // Reverse the nested tree to restore the original order of the nodes.\n nestedTree.children.reverse();\n\n // Set the start and end index of the nested tree.\n nestedTree.range.from = nestedTree.children[0]?.range.from;\n nestedTree.range.to =\n nestedTree.children[nestedTree.children.length - 1]?.range.to;\n\n if (\n currentLogicalOperator === 'AND' &&\n nestedTree.range.to < child.range.to\n ) {\n nestedTree.range.to = child.range.to;\n }\n\n if (!nestedTree.children[0]) {\n nestedTree = undefined;\n } else {\n // Push the nested tree to the current tree.\n sortedTree.children.push(nestedTree);\n if (currentLogicalOperator === 'OR') {\n sortedTree.logicalOperator = currentLogicalOperator;\n }\n }\n }\n\n if (\n currentLogicalOperator === 'OR' ||\n (nestedTree?.explicitLogicalOperator === false &&\n currentLogicalOperator === 'AND')\n ) {\n nestedTree = undefined;\n }\n } else {\n (nestedTree ?? sortedTree).explicitLogicalOperator =\n child.type !== 'Error';\n }\n\n // Add the logical operator node to the tree if it is an error node\n if (child.type === 'Error') {\n (nestedTree ?? sortedTree).children.push(child);\n }\n\n if (!nestedTree) {\n if (!prevLogicalOperator) {\n sortedTree.logicalOperator = currentLogicalOperator;\n }\n\n if (currentLogicalOperator && child.type !== 'Error') {\n sortedTree.explicitLogicalOperator = true;\n }\n if (sortedTree.range.to < child.range.to) {\n sortedTree.range.to = child.range.to;\n }\n }\n }\n\n if (\n child.type === 'Error' &&\n (child.value === 'OR' || child.value === 'AND')\n ) {\n (nestedTree ?? sortedTree).explicitLogicalOperator = false;\n }\n }\n\n return { tree: sortedTree, searchOperators };\n}\n\n/**\n * Function to check whether search operators are only used in a valid context.\n * A combination of logical or with statements other than search statements is not allowed.\n * Due to the higher precedence of logical and, it is sufficient to check only the root level of the tree\n * and only if the root node's logical operator is a logical or.\n */\nfunction checkValidSearchOperators(\n root: FilterFieldGroupNode,\n searchOperators?: FilterFieldSearchOperatorNode[],\n doc?: string,\n): {\n tree: FilterFieldGroupNode;\n errors: FilterFieldError[];\n isValidSearch: boolean;\n} {\n const errors: FilterFieldError[] = [];\n const hasStatementsOtherThanSearch = hasNonSearchStatements(root);\n const isSearchInNestedGroup = isSearchOperatorInsideGroup(root, true);\n\n // Check if the document ends with 'OR ' to catch incomplete logical operators at the end of the input.\n const endsWithOR = typeof doc === 'string' && doc.endsWith('OR ');\n const hasOr = root.logicalOperator === 'OR' || endsWithOR;\n\n if (\n // For a group with an explicit or, we need at least two children that are not logical operators\n // for it to invalidate search operators.\n // E.g.:\n // \u203Afoo = bar or\u2039 should still show the search suggestion, since the user may want to search for \"or\".\n // At this point, the \"or\" is already detected as logical operator (converted to an error node).\n searchOperators &&\n ((root.children.filter((child) => !isLogicalOperator(child)).length > 1 &&\n hasStatementsOtherThanSearch &&\n hasOr &&\n searchOperators) ||\n isSearchInNestedGroup)\n ) {\n for (const node of searchOperators) {\n convertToErrorNode(node);\n errors.push({\n range: node.range,\n message: {\n type: 'unsupportedSearchWithLogicalOr',\n details: `<span style=\"color: ${Colors.Syntax.Operators}\">AND</span>`,\n },\n });\n }\n }\n\n const isValidSearch =\n errors.length === 0 &&\n !(hasOr && hasStatementsOtherThanSearch) &&\n !isSearchInNestedGroup;\n\n return { tree: root, errors, isValidSearch };\n}\n\n/** Check if any statements other than search statements are used in a tree. */\nfunction hasNonSearchStatements(root: FilterFieldGroupNode): boolean {\n return root.children.some((node) => {\n if (node.type === 'Group') {\n return hasNonSearchStatements(node);\n }\n\n return (\n isFilterFieldStatementNode(node) &&\n node.comparisonOperator !== undefined &&\n node.comparisonOperator.type !== 'SearchOperator'\n );\n });\n}\n\n/**\n * Recursively checks if a search operator or a related error node\n * exists inside any non-root group in the filter tree.\n */\nfunction isSearchOperatorInsideGroup(\n node: FilterFieldGroupNode,\n isRoot: boolean = true,\n): boolean {\n for (const child of node.children) {\n // Recursively check nested groups\n if (child.type === 'Group') {\n if (isSearchOperatorInsideGroup(child, false)) {\n return true;\n }\n }\n // Check for search operator or error in non-root groups\n if (\n !isRoot &&\n isFilterFieldStatementNode(child) &&\n child.comparisonOperator?.type === 'Error' &&\n (child.comparisonOperator.value === '* ~' ||\n child.comparisonOperator.value === '*~')\n ) {\n return true;\n }\n }\n return false;\n}\n"],
|
|
5
|
-
"mappings": "AAAA,OAAO,YAAY;AAQnB;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,0BAA0B;AAY5B,SAAS,oBACd,MACA,cACA,KAKA;AACA,MAAI,CAAC,MAAM;AACT,WAAO,EAAE,MAAM,QAAQ,CAAC,GAAG,eAAe,KAAK;AAAA,EACjD;AAEA,QAAM,EAAE,MAAM,cAAc,gBAAgB,IAAI,wBAAwB;AAAA,IACtE;AAAA,EACF,CAAC;AACD,MAAI,SAA6B,CAAC;AAElC,MAAI,cAAc;AAClB,MAAI;AAEJ,MAAI,cAAc,qBAAqB,MAAM;AAC3C,KAAC;AAAA,MACC,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF,IAAI,0BAA0B,aAAa,iBAAiB,GAAG;AAAA,EACjE;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,eAAe,iBAAiB;AAAA,EAClC;AACF;AAOA,SAAS,wBACP,MAIA,OAIA;AACA,QAAM,EAAE,MAAM,kBAAkB,CAAC,EAAE,IAAI;AACvC,QAAM,aAAmC,SAAS;AAAA,IAChD,MAAM;AAAA,IACN,OAAO,KAAK;AAAA,IACZ,iBAAiB;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,yBAAyB;AAAA,IACzB,UAAU,CAAC;AAAA,EACb;AAEA,MAAI;AACJ,MAAI;AACJ,MAAI;AAGJ,MACE,KAAK,SAAS,YACb,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,UACzD;AACA,WAAO;AAAA,MACL,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,iBAAiB;AAAA,QACjB,yBAAyB;AAAA,QACzB,UAAU,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,aAAW,CAAC,OAAO,KAAK,KAAK,KAAK,SAAS,QAAQ,GAAG;AAGpD,QAAI,MAAM,SAAS,WAAW,CAAC,kBAAkB,KAAK,GAAG;AACvD,
|
|
4
|
+
"sourcesContent": ["import Colors from '@dynatrace/strato-design-tokens/colors';\n\nimport type { FilterFieldError } from '../../types/filter-field-error.js';\nimport type {\n FilterFieldGroupNode,\n FilterFieldNode,\n FilterFieldSearchOperatorNode,\n} from '../../types/tree-nodes.js';\nimport {\n isFilterFieldStatementNode,\n isLogicalOperator,\n} from '../tree-node-guards.js';\nimport { convertToErrorNode } from './lezer-tree-conversion/node-mutations.js';\nimport type { FilterFieldProps } from '../../FilterField.types.js';\nimport type {\n FilterFieldFlatGroupNode,\n FilterFieldFlatNode,\n FilterFieldLogicalOperatorNode,\n} from '../../types/conversion-utils.js';\n\n/**\n * Iterate over the parsed document and convert the lezer tree to an object.\n * @internal\n */\nexport function sortFilterFieldTree(\n tree: FilterFieldFlatGroupNode | undefined,\n parserConfig: FilterFieldProps['parserConfig'],\n doc?: string,\n): {\n tree: FilterFieldGroupNode | undefined;\n errors: FilterFieldError[];\n isValidSearch: boolean;\n} {\n if (!tree) {\n return { tree, errors: [], isValidSearch: true };\n }\n\n const { tree: _cleanedTree, searchOperators } = groupByLogicalOperators({\n tree,\n });\n let errors: FilterFieldError[] = [];\n\n let cleanedTree = _cleanedTree;\n let isValidSearch;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (parserConfig?.searchConversion === true) {\n ({\n tree: cleanedTree,\n errors,\n isValidSearch,\n } = checkValidSearchOperators(cleanedTree, searchOperators, doc));\n }\n\n return {\n tree: cleanedTree,\n errors,\n isValidSearch: isValidSearch ?? false,\n };\n}\n\ntype LogicalOperator = FilterFieldGroupNode['logicalOperator'];\n\n/**\n * Function to group the filter statements depending on the logical operators used.\n */\nfunction groupByLogicalOperators(\n data: {\n tree: FilterFieldFlatGroupNode;\n searchOperators?: FilterFieldSearchOperatorNode[];\n },\n group?: FilterFieldGroupNode,\n): {\n tree: FilterFieldGroupNode;\n searchOperators: FilterFieldSearchOperatorNode[];\n} {\n const { tree, searchOperators = [] } = data;\n const sortedTree: FilterFieldGroupNode = group ?? {\n type: 'Group',\n range: tree.range,\n logicalOperator: 'AND',\n explicit: tree.explicit,\n explicitLogicalOperator: false,\n children: [],\n };\n\n let prevLogicalOperator: LogicalOperator | null | undefined;\n let currentLogicalOperator: LogicalOperator | undefined | null;\n let nestedTree: FilterFieldGroupNode | undefined;\n\n // In case of an empty group, return an empty group.\n if (\n tree.type === 'Group' &&\n (tree.children.length === 0 || tree.children[0].type === 'Error')\n ) {\n return {\n tree: {\n ...tree,\n logicalOperator: 'AND',\n explicitLogicalOperator: false,\n children: tree.children as FilterFieldNode[],\n },\n searchOperators,\n };\n }\n\n for (const [index, child] of tree.children.entries()) {\n // push error nodes to the tree, except logical operators\n // as they need to be handled separately\n if (child.type === 'Error' && !isLogicalOperator(child)) {\n (nestedTree ?? sortedTree).children.push(child);\n }\n\n if (\n child.type === 'Statement' ||\n (child.type === 'Group' && child.explicit)\n ) {\n const prevNode: FilterFieldFlatNode | undefined =\n tree.children[index - 1];\n\n if (\n child.type === 'Statement' &&\n child.comparisonOperator?.type === 'SearchOperator'\n ) {\n // Store search operator to potentially mark all of them as errors in a later step.\n searchOperators.push(child.comparisonOperator);\n }\n\n prevLogicalOperator = currentLogicalOperator;\n currentLogicalOperator = (\n isLogicalOperator(prevNode)\n ? // DEPRECATION: [APPDEV-13773] BREAKING-CHANGE: Exclude logical operator node from public tree type.\n // Check how to best deal with the logical operator conversion here.\n\n (prevNode as FilterFieldLogicalOperatorNode).value.toUpperCase()\n : null\n ) as FilterFieldGroupNode['logicalOperator'];\n\n if (prevNode === undefined) {\n currentLogicalOperator = undefined;\n }\n\n // In case the previous logical operator is not equal to the current, we need to group the\n // previous statement and the current statement and nest them in the tree.\n // An undefined logical operator indicates that there are no previous statements yet.\n // E.g.:\n /*\n a = 1 OR b = 2 c = 2\n tree before implicit and: { or: ['a = 1', 'b = 2' ]}\n -> pop the last statement of the current tree and add it to a new nested\n tree with the current statement\n tree after implicit and: { or: ['a = 1', { and: ['b = 2', 'c = 2]} ]}\n */\n const shouldCreateNestedTree =\n prevLogicalOperator !== undefined &&\n currentLogicalOperator !== undefined &&\n currentLogicalOperator !== prevLogicalOperator &&\n // For an explicit logical operator, a nested tree has already been created when handling the logical operator.\n prevNode?.type !== 'LogicalOperator';\n\n if (shouldCreateNestedTree) {\n // Pop last node of previous tree.\n const prevNode = sortedTree.children.pop();\n if (!prevNode) {\n continue;\n }\n\n let nestedChildren: FilterFieldNode;\n if (child.type === 'Group') {\n ({ tree: nestedChildren } = groupByLogicalOperators({\n tree: child,\n searchOperators,\n }));\n } else {\n nestedChildren = child;\n }\n\n // Create new nested tree to push to the previous group.\n const groupedChildren: FilterFieldNode[] = [prevNode, nestedChildren];\n\n nestedTree = {\n type: 'Group',\n range: {\n from: prevNode.range.from,\n to: groupedChildren[groupedChildren.length - 1]?.range.to,\n },\n children: groupedChildren,\n logicalOperator: currentLogicalOperator ?? 'AND',\n explicitLogicalOperator:\n currentLogicalOperator !== null &&\n currentLogicalOperator !== undefined,\n explicit: false,\n };\n\n sortedTree.children.push(nestedTree);\n\n // Update the nested tree's range to include all of the new group if need be.\n if (sortedTree.range.to < nestedTree.range.to) {\n sortedTree.range.to = nestedTree.range.to;\n }\n } else {\n let nestedChildren: FilterFieldNode;\n if (child.type === 'Group') {\n ({ tree: nestedChildren } = groupByLogicalOperators(\n { tree: child, searchOperators },\n // Pass the created nested tree for implicit groups only to avoid circular structures.\n // The sorted tree returned at the end of the function is set to the 'group' parameter = nestedTree.\n // If the child is an explicit group and we would pass the nestedTree, it would be pushed into the\n // sortedTree of the previous recursion again when returning the current sortedTree.\n child.explicit ? undefined : nestedTree,\n ));\n } else {\n nestedChildren = child;\n }\n\n // If the current node is a group, recursively add the group to the tree.\n (nestedTree ?? sortedTree).children.push(nestedChildren);\n\n if (nestedTree) {\n nestedTree.range.to = child.range.to;\n }\n if (!sortedTree.explicit && sortedTree.range.to < child.range.to) {\n sortedTree.range.to = child.range.to;\n }\n }\n }\n\n // If the child is an explicit logical operator, depending on the previous\n // logical operator, we either just push it to the current tree, or create\n // a nested tree to group the relevant statements and logical operators.\n // E.g.:\n /*\n a = 1 b = 1 OR c = 2\n Once at the explicit 'OR', group the previous statements (a, b).\n\n a = 1 OR b = 2 c = 2\n Once at the implicit 'AND', group the previous statement\n and the current statement (b, c).\n */\n if (isLogicalOperator(child)) {\n // DEPRECATION: [APPDEV-13773] BREAKING-CHANGE: Exclude logical operator node from public tree type.\n // Check how to best deal with the logical operator conversion here.\n\n const convertedChild: FilterFieldLogicalOperatorNode =\n child as FilterFieldLogicalOperatorNode;\n\n prevLogicalOperator = currentLogicalOperator;\n currentLogicalOperator =\n convertedChild.value.toUpperCase() as FilterFieldGroupNode['logicalOperator'];\n\n if (\n prevLogicalOperator !== undefined &&\n prevLogicalOperator !== currentLogicalOperator\n ) {\n if (\n !nestedTree ||\n (currentLogicalOperator === 'OR' &&\n currentLogicalOperator !== sortedTree.logicalOperator &&\n // Either of the trees has an explicit logical operator. The current logical operator does not match\n // the operator of the sorted tree. We need to move the existing sorted tree to a nested tree.\n (sortedTree.explicitLogicalOperator ||\n nestedTree.explicitLogicalOperator ||\n // Some deeper nested mixture of implicit and explicit logical and.\n // With a current logical OR operator, we need to move the existing sorted tree to a nested tree.\n sortedTree.logicalOperator === nestedTree.logicalOperator)) ||\n // The current logical operator is an explicit AND with a previous implicit AND and logical OR.\n // E.g.: b=2 OR c=3 d=4 AND e=5\n // In this case, we already have a nested tree, but still have to create a new one to group\n // The implicit and explicit logical AND while not losing the logical OR.\n (sortedTree.logicalOperator === 'OR' &&\n currentLogicalOperator === 'AND')\n ) {\n // Create a new nested tree.\n nestedTree = {\n type: 'Group',\n logicalOperator: 'AND',\n range: { from: -1, to: -1 },\n explicit: false,\n explicitLogicalOperator:\n currentLogicalOperator === 'AND' ||\n (currentLogicalOperator === 'OR' &&\n sortedTree.explicitLogicalOperator),\n children: [],\n };\n\n // Add all the previous nodes to the new tree until we get to an explicit\n // logical operator 'OR' operator.\n // E.g.:\n /*\n a = 1 AND b = 1 c = 1 OR d = 2 e = 2\n Once at the logical 'OR', create a new nested tree to group all the previous statements\n that are connected with 'AND'.\n All of them need to be removed from the current tree and pushed to the nested tree.\n\n a = 1 OR b = 2 AND c = 2\n Once at the logical 'AND', create a new nested tree, but only include the previous statement (b)\n and don't move anything before.\n\n a = 1 b = 2 AND c = 2\n Once at the logical 'AND', create a new nested tree, but only include the previous statement (b)\n and don't move anything before to be able to distinguish between explicit and implicit logical and.\n */\n let abortGrouping = false;\n do {\n const previousNode = sortedTree.children.pop();\n // Nothing left in the tree -> break;\n if (!previousNode) {\n break;\n }\n\n nestedTree.children.push(previousNode);\n\n // If the previous node is a logical 'OR' operator or the sorted tree does not have an explicit logical operator, but\n // the current logical operator is an explicit 'AND', stop pushing nodes to the nested tree.\n if (\n // Switching from logical and to logical or.\n (sortedTree.explicitLogicalOperator &&\n sortedTree.logicalOperator === 'OR') ||\n // Mixture of implicit and explicit logical and.\n (!sortedTree.explicitLogicalOperator &&\n currentLogicalOperator === 'AND')\n ) {\n abortGrouping = true;\n }\n } while (!abortGrouping);\n\n // Reverse the nested tree to restore the original order of the nodes.\n nestedTree.children.reverse();\n\n // Set the start and end index of the nested tree.\n nestedTree.range.from = nestedTree.children[0]?.range.from;\n nestedTree.range.to =\n nestedTree.children[nestedTree.children.length - 1]?.range.to;\n\n if (\n currentLogicalOperator === 'AND' &&\n nestedTree.range.to < child.range.to\n ) {\n nestedTree.range.to = child.range.to;\n }\n\n if (!nestedTree.children[0]) {\n nestedTree = undefined;\n } else {\n // Push the nested tree to the current tree.\n sortedTree.children.push(nestedTree);\n if (currentLogicalOperator === 'OR') {\n sortedTree.logicalOperator = currentLogicalOperator;\n }\n }\n }\n\n if (\n currentLogicalOperator === 'OR' ||\n (nestedTree?.explicitLogicalOperator === false &&\n currentLogicalOperator === 'AND')\n ) {\n nestedTree = undefined;\n }\n } else {\n (nestedTree ?? sortedTree).explicitLogicalOperator =\n child.type !== 'Error';\n }\n\n // Add the logical operator node to the tree if it is an error node\n if (child.type === 'Error') {\n (nestedTree ?? sortedTree).children.push(child);\n }\n\n if (!nestedTree) {\n if (!prevLogicalOperator) {\n sortedTree.logicalOperator = currentLogicalOperator;\n }\n\n if (currentLogicalOperator && child.type !== 'Error') {\n sortedTree.explicitLogicalOperator = true;\n }\n if (sortedTree.range.to < child.range.to) {\n sortedTree.range.to = child.range.to;\n }\n }\n }\n\n if (\n child.type === 'Error' &&\n (child.value === 'OR' || child.value === 'AND')\n ) {\n (nestedTree ?? sortedTree).explicitLogicalOperator = false;\n }\n }\n\n return { tree: sortedTree, searchOperators };\n}\n\n/**\n * Function to check whether search operators are only used in a valid context.\n * A combination of logical or with statements other than search statements is not allowed.\n * Due to the higher precedence of logical and, it is sufficient to check only the root level of the tree\n * and only if the root node's logical operator is a logical or.\n */\nfunction checkValidSearchOperators(\n root: FilterFieldGroupNode,\n searchOperators?: FilterFieldSearchOperatorNode[],\n doc?: string,\n): {\n tree: FilterFieldGroupNode;\n errors: FilterFieldError[];\n isValidSearch: boolean;\n} {\n const errors: FilterFieldError[] = [];\n const hasStatementsOtherThanSearch = hasNonSearchStatements(root);\n const isSearchInNestedGroup = isSearchOperatorInsideGroup(root, true);\n\n // Check if the document ends with 'OR ' to catch incomplete logical operators at the end of the input.\n const endsWithOR = typeof doc === 'string' && doc.endsWith('OR ');\n const hasOr = root.logicalOperator === 'OR' || endsWithOR;\n\n if (\n // For a group with an explicit or, we need at least two children that are not logical operators\n // for it to invalidate search operators.\n // E.g.:\n // \u203Afoo = bar or\u2039 should still show the search suggestion, since the user may want to search for \"or\".\n // At this point, the \"or\" is already detected as logical operator (converted to an error node).\n searchOperators &&\n ((root.children.filter((child) => !isLogicalOperator(child)).length > 1 &&\n hasStatementsOtherThanSearch &&\n hasOr &&\n searchOperators) ||\n isSearchInNestedGroup)\n ) {\n for (const node of searchOperators) {\n convertToErrorNode(node);\n errors.push({\n range: node.range,\n message: {\n type: 'unsupportedSearchWithLogicalOr',\n details: `<span style=\"color: ${Colors.Syntax.Operators}\">AND</span>`,\n },\n });\n }\n }\n\n const isValidSearch =\n errors.length === 0 &&\n !(hasOr && hasStatementsOtherThanSearch) &&\n !isSearchInNestedGroup;\n\n return { tree: root, errors, isValidSearch };\n}\n\n/** Check if any statements other than search statements are used in a tree. */\nfunction hasNonSearchStatements(root: FilterFieldGroupNode): boolean {\n return root.children.some((node) => {\n if (node.type === 'Group') {\n return hasNonSearchStatements(node);\n }\n\n return (\n isFilterFieldStatementNode(node) &&\n node.comparisonOperator !== undefined &&\n node.comparisonOperator.type !== 'SearchOperator'\n );\n });\n}\n\n/**\n * Recursively checks if a search operator or a related error node\n * exists inside any non-root group in the filter tree.\n */\nfunction isSearchOperatorInsideGroup(\n node: FilterFieldGroupNode,\n isRoot: boolean = true,\n): boolean {\n for (const child of node.children) {\n // Recursively check nested groups\n if (child.type === 'Group') {\n if (isSearchOperatorInsideGroup(child, false)) {\n return true;\n }\n }\n // Check for search operator or error in non-root groups\n if (\n !isRoot &&\n isFilterFieldStatementNode(child) &&\n child.comparisonOperator?.type === 'Error' &&\n (child.comparisonOperator.value === '* ~' ||\n child.comparisonOperator.value === '*~')\n ) {\n return true;\n }\n }\n return false;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["prevNode"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/filters/filter-field/utils/statement-status-registry.ts"],
|
|
4
|
+
"sourcesContent": ["import type { FilterFieldStatementNode } from '../types/tree-nodes.js';\n\n/** @internal */\nexport const statementStatusRegistry = new WeakMap<\n FilterFieldStatementNode,\n 'complete' | 'incomplete' | 'indeterminate'\n>();\n"],
|
|
5
|
+
"mappings": "AAGO,MAAM,0BAA0B,oBAAI,QAGzC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
._11m6jkl0-3-
|
|
1
|
+
._11m6jkl0-3-9-0 {
|
|
2
2
|
all: unset;
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
5
5
|
gap: var(--dt-spacings-size-8, 8px);
|
|
6
6
|
}
|
|
7
|
-
._11m6jkl1-3-
|
|
7
|
+
._11m6jkl1-3-9-0 {
|
|
8
8
|
all: unset;
|
|
9
9
|
width: 100%;
|
|
10
10
|
display: flex;
|
|
11
11
|
flex-direction: column;
|
|
12
12
|
gap: var(--dt-spacings-size-4, 4px);
|
|
13
13
|
}
|
|
14
|
-
._11m6jkl2-3-
|
|
14
|
+
._11m6jkl2-3-9-0 {
|
|
15
15
|
max-height: 100px;
|
|
16
16
|
overflow-y: auto;
|
|
17
17
|
overflow-x: hidden;
|
|
18
18
|
padding-right: var(--dt-spacings-size-12, 12px);
|
|
19
19
|
}
|
|
20
|
-
._11m6jkl3-3-
|
|
20
|
+
._11m6jkl3-3-9-0 > div {
|
|
21
21
|
padding-right: var(--dt-spacings-size-0, 0);
|
|
22
22
|
}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "react";
|
|
11
11
|
import { useIntl } from "react-intl";
|
|
12
12
|
import { isElement } from "react-is";
|
|
13
|
-
import {
|
|
13
|
+
import { useFormControl } from "../../forms/forms-core/hooks/useFormControl.js";
|
|
14
14
|
import { FormFieldMessagesAction } from "../../forms/forms-core/state/formfield-messages-state-reducer.js";
|
|
15
15
|
import { segmentsClient } from "./contexts/SegmentsCache/SegmentsCache.js";
|
|
16
16
|
import { SegmentsTriggerContext } from "./contexts/SegmentsUI/SegmentsTriggerContext.js";
|
|
@@ -39,7 +39,6 @@ import { StratoLoggerContext } from "../../core/sdk/StratoLoggerContext.js";
|
|
|
39
39
|
import { isDev } from "../../core/utils/is-node-environment.js";
|
|
40
40
|
import { mergeProps } from "../../core/utils/merge-props.js";
|
|
41
41
|
import { withFormFieldMessageContextProvider } from "../../forms/forms-core/components/form-field/FormFieldMessageContextProvider.js";
|
|
42
|
-
import { useFormFieldMessagesContext } from "../../forms/forms-core/hooks/useFormFieldMessagesContext.js";
|
|
43
42
|
import {
|
|
44
43
|
getI18nValidationState,
|
|
45
44
|
useFormFieldValidation
|
|
@@ -95,7 +94,16 @@ const SegmentSelectorFwd = forwardRef((props, forwardedRef) => {
|
|
|
95
94
|
const inputRef = useRef(null);
|
|
96
95
|
const internalButtonRef = useRef(null);
|
|
97
96
|
const _emitValidationState = useValidationStateEmitter(onValidityChange);
|
|
98
|
-
const {
|
|
97
|
+
const {
|
|
98
|
+
disabled,
|
|
99
|
+
required,
|
|
100
|
+
id,
|
|
101
|
+
ariaDisabled,
|
|
102
|
+
readOnly,
|
|
103
|
+
showError,
|
|
104
|
+
messageState: formFieldMessagesState,
|
|
105
|
+
messageDispatch: formFieldMessagesDispatch
|
|
106
|
+
} = useFormControl({
|
|
99
107
|
propDisabled,
|
|
100
108
|
propRequired,
|
|
101
109
|
propId,
|
|
@@ -114,7 +122,6 @@ const SegmentSelectorFwd = forwardRef((props, forwardedRef) => {
|
|
|
114
122
|
triggerAriaProps,
|
|
115
123
|
id
|
|
116
124
|
);
|
|
117
|
-
const { state: formFieldMessagesState, dispatch: formFieldMessagesDispatch } = useFormFieldMessagesContext();
|
|
118
125
|
const errorId = useId();
|
|
119
126
|
const { segments } = useSegments();
|
|
120
127
|
const stringifiedValue = JSON.stringify(segments);
|
|
@@ -324,7 +331,7 @@ const SegmentSelectorFwd = forwardRef((props, forwardedRef) => {
|
|
|
324
331
|
onBlur: handleOnBlur
|
|
325
332
|
},
|
|
326
333
|
buttonRef,
|
|
327
|
-
showError
|
|
334
|
+
showError,
|
|
328
335
|
...ariaProps
|
|
329
336
|
}),
|
|
330
337
|
[
|
|
@@ -332,7 +339,7 @@ const SegmentSelectorFwd = forwardRef((props, forwardedRef) => {
|
|
|
332
339
|
text,
|
|
333
340
|
overlayTriggerProps,
|
|
334
341
|
buttonRef,
|
|
335
|
-
|
|
342
|
+
showError,
|
|
336
343
|
ariaProps,
|
|
337
344
|
handleOnBlur
|
|
338
345
|
]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/filters/segment-selector/SegmentSelector.tsx"],
|
|
4
|
-
"sourcesContent": ["\uFEFFimport {\n Children,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { useIntl } from 'react-intl';\nimport { isElement } from 'react-is';\n\nimport { useSyncedFormControlProps } from '../../forms/forms-core/hooks/useSyncedFormControlProps.js';\nimport { FormFieldMessagesAction } from '../../forms/forms-core/state/formfield-messages-state-reducer.js';\nimport type { FormControlWithOverlayRef } from '../../forms/shared-types.js';\nimport { segmentsClient } from './contexts/SegmentsCache/SegmentsCache.js';\nimport { SegmentsTriggerContext } from './contexts/SegmentsUI/SegmentsTriggerContext.js';\nimport { UISegmentsProvider } from './contexts/SegmentsUI/SegmentsUIContext.js';\nimport {\n getErrorKey,\n validateSegments,\n} from './contexts/SegmentsUI/segmentValidationHelper.js';\nimport { CustomTrigger } from './CustomTrigger.js';\nimport { useSegments } from './hooks/useSegments.js';\nimport { useTooltipHandler } from './hooks/useTooltipHandler.js';\nimport { useTriggerProps } from './hooks/useTriggerProps.js';\nimport { SegmentsOverlay } from './parts/Overlay.js';\nimport { SegmentSelectorTrigger } from './parts/selectionBar/SegmentSelectorTrigger.js';\nimport { TooltipMessages } from './parts/TooltipMessages.js';\nimport { SEGMENTSELECTOR_MESSAGES } from './segmentMessages.js';\nimport * as styles from './SegmentSelector.sty.js';\nimport type {\n SegmentSelectorProps,\n SegmentSelectorRef,\n} from './SegmentSelector.types.js';\nimport { FocusScope } from '../../core/components/focus-scope/FocusScope.js';\nimport { OverlayContainer } from '../../core/components/OverlayContainer.js';\nimport { VisuallyHidden } from '../../core/components/visually-hidden/VisuallyHidden.js';\nimport { useBehavioralTrackingProps } from '../../core/hooks/useBehavioralTrackingProps.js';\nimport { useId } from '../../core/hooks/useId.js';\nimport { useMergeRefs } from '../../core/hooks/useMergeRefs.js';\nimport { createStratoLogger } from '../../core/sdk/sdk-logger.js';\nimport { StratoLoggerContext } from '../../core/sdk/StratoLoggerContext.js';\nimport { isDev } from '../../core/utils/is-node-environment.js';\nimport { mergeProps } from '../../core/utils/merge-props.js';\nimport { withFormFieldMessageContextProvider } from '../../forms/forms-core/components/form-field/FormFieldMessageContextProvider.js';\nimport { useFormFieldMessagesContext } from '../../forms/forms-core/hooks/useFormFieldMessagesContext.js';\nimport {\n getI18nValidationState,\n useFormFieldValidation,\n} from '../../forms/forms-core/hooks/useFormFieldValidation.js';\nimport type {\n ValidationState,\n ValidationTrigger,\n} from '../../forms/validation/types.js';\nimport { useCustomMessageEmitter } from '../../forms/validation/useCustomMessageEmitter.js';\nimport { useValidationStateEmitter } from '../../forms/validation/useValidationStateEmitter.js';\nimport { getValidationState } from '../../forms/validation/validation-builders.js';\nimport { useOverlayWithTrigger } from '../../overlays/hooks/useOverlayWithTrigger.js';\nimport { overlayCSS } from '../../overlays/overlay/Overlay.sty.js';\nimport { Tooltip } from '../../overlays/tooltip/Tooltip.js';\n\nconst COMPONENT_NAME = 'SegmentSelector';\n\n/** Iterates over child nodes to extract the content component slot. */\nfunction getCustomTriggerSlot(children: ReactNode) {\n let customTrigger: ReactElement | undefined;\n\n Children.forEach(children, (child) => {\n if (isElement(child)) {\n switch (child.type) {\n case CustomTrigger:\n customTrigger = child;\n break;\n default: {\n if (isDev()) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Only CustomTrigger is a valid child of the SegmentSelector.',\n );\n }\n break;\n }\n }\n } else if (child && isDev()) {\n // eslint-disable-next-line no-console\n console.warn('The used child is not supported by the SegmentSelector.');\n }\n });\n\n return customTrigger;\n}\n\nconst SegmentSelectorFwd = forwardRef<\n SegmentSelectorRef<HTMLButtonElement>,\n SegmentSelectorProps\n>((props, forwardedRef) => {\n const {\n className: consumerClassName,\n style: consumerStyle,\n id: propId,\n 'data-testid': dataTestId,\n 'data-dtrum-allow': dataDtrumAllow,\n 'data-dtrum-mask': dataDtrumMask,\n variant = 'default',\n onOpenChange,\n onValidityChange,\n readOnly: propReadOnly,\n disabled: propDisabled,\n required: propRequired,\n name,\n ...remainingProps\n }: SegmentSelectorProps = props;\n\n const intl = useIntl();\n const inputRef = useRef<HTMLInputElement>(null);\n const internalButtonRef = useRef<HTMLButtonElement>(null);\n const _emitValidationState = useValidationStateEmitter(onValidityChange);\n\n const { disabled, required, id, ariaDisabled, readOnly } =\n useSyncedFormControlProps({\n propDisabled,\n propRequired,\n propId,\n propAriaDisabled: remainingProps['aria-disabled'],\n propReadOnly,\n });\n\n const {\n isLoading,\n text,\n ariaProps: triggerAriaProps,\n } = useTriggerProps(variant, remainingProps);\n\n const [behavioralTrackingProps] = useBehavioralTrackingProps(remainingProps);\n\n const { onChange, onInvalid, ariaProps } = useFormFieldValidation(\n inputRef,\n { required },\n triggerAriaProps,\n id,\n );\n\n const { state: formFieldMessagesState, dispatch: formFieldMessagesDispatch } =\n useFormFieldMessagesContext();\n\n const errorId = useId();\n\n const { segments } = useSegments();\n const stringifiedValue = JSON.stringify(segments);\n\n const getSegmentValidationState = useCallback(\n async (trigger: ValidationTrigger): Promise<ValidationState> => {\n if (inputRef.current && !inputRef.current.validity.valid) {\n return getI18nValidationState(intl, inputRef.current, trigger);\n }\n\n const errorKeys = await Promise.all(segments.map(getErrorKey));\n return getValidationState(\n errorKeys.find((key) => key !== null) ?? undefined,\n trigger,\n );\n },\n [intl, segments],\n );\n\n const emitValidationState = useCustomMessageEmitter(\n _emitValidationState,\n () => getSegmentValidationState('manual'),\n );\n\n const segmentSelectorProps = {\n 'data-dtrum-allow': dataDtrumAllow,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-testid': dataTestId,\n style: consumerStyle,\n className: consumerClassName,\n ...mergeProps(behavioralTrackingProps, ariaProps),\n };\n\n const customTrigger = useMemo(\n () => getCustomTriggerSlot(remainingProps.children),\n [remainingProps.children],\n );\n\n const {\n targetRef,\n triggerRef,\n overlayRef,\n overlayState,\n overlayProps: _overlayProps,\n overlayTriggerProps,\n overlayContainerProps,\n } = useOverlayWithTrigger({\n placement: 'bottom-start',\n placementFallbacks: ['bottom-end', 'top-start', 'top-end'],\n offset: 4,\n shouldCloseOnBlur: false,\n onOpenChange: (isOpen) => {\n if (\n !isOpen &&\n !formFieldMessagesState.isTouched &&\n segmentsClient.hasAccessRights !== false\n ) {\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n\n inputRef.current?.checkValidity();\n void getSegmentValidationState('blur').then(emitValidationState);\n }\n\n if (!isOpen) {\n validateSegments(\n segments,\n onChange,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n errorId,\n true,\n ).catch(() => undefined);\n }\n\n onOpenChange?.(isOpen);\n },\n additionalElevation: 'overlay',\n disabled,\n });\n const { trapFocus, ...overlayProps } = _overlayProps;\n\n const { onOpenTooltip, isOpen, textEllipsisRef } = useTooltipHandler(\n !customTrigger && variant === 'default',\n );\n const overlayAriaLabelledById = useId();\n\n useImperativeHandle(\n forwardedRef,\n (): SegmentSelectorRef<HTMLButtonElement> => ({\n element: internalButtonRef.current,\n triggerRef: internalButtonRef.current,\n inputRef: inputRef.current,\n focus: () => internalButtonRef.current?.focus(),\n open: overlayState.open,\n close: overlayState.close,\n validate: async () => {\n inputRef.current?.checkValidity();\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n if (segmentsClient.hasAccessRights === false) {\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.ADDMESSAGE,\n payload: {\n id: errorId,\n variant: 'error',\n validityStateKey: 'customError',\n messageType: 'formcontrol',\n showError: true,\n message: intl.formatMessage(\n SEGMENTSELECTOR_MESSAGES.noReadAndWriteAccess,\n ),\n },\n });\n }\n\n await validateSegments(\n segments,\n onChange,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n errorId,\n true,\n ).catch(() => undefined);\n\n emitValidationState(await getSegmentValidationState('manual'));\n },\n // DEPRECATION: [APPDEV-18178] BREAKING-CHANGE: Remove validateAsync() and change validate() to return Promise<ValidationState>.\n validateAsync: async () => {\n inputRef.current?.checkValidity();\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n if (segmentsClient.hasAccessRights === false) {\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.ADDMESSAGE,\n payload: {\n id: errorId,\n variant: 'error',\n validityStateKey: 'customError',\n messageType: 'formcontrol',\n showError: true,\n message: intl.formatMessage(\n SEGMENTSELECTOR_MESSAGES.noReadAndWriteAccess,\n ),\n },\n });\n }\n\n await validateSegments(\n segments,\n onChange,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n errorId,\n true,\n ).catch(() => undefined);\n\n const state = await getSegmentValidationState('manual');\n return emitValidationState(state);\n },\n }),\n [\n errorId,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n intl,\n onChange,\n emitValidationState,\n overlayState.close,\n overlayState.open,\n segments,\n getSegmentValidationState,\n ],\n );\n\n const buttonRef = useMergeRefs([triggerRef, targetRef, internalButtonRef]);\n\n const handleOnBlur = useCallback(() => {\n if (!overlayState.isOpen) {\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n\n if (!formFieldMessagesState.isTouched) {\n inputRef.current?.checkValidity();\n void getSegmentValidationState('blur').then(emitValidationState);\n }\n }\n }, [\n overlayState.isOpen,\n formFieldMessagesDispatch,\n formFieldMessagesState.isTouched,\n getSegmentValidationState,\n emitValidationState,\n ]);\n\n // Since the value update is delayed by the async fetching of the data\n // we need to check the validity as soon as the value is up to date.\n useEffect(() => {\n validateSegments(\n segments,\n onChange,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n errorId,\n ).catch(() => undefined);\n }, [\n errorId,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n onChange,\n segments,\n stringifiedValue,\n ]);\n\n // Surface validation state whenever the selected segments change (`change`\n // trigger), keeping `onValidityChange` in sync as the selection is edited.\n useEffect(() => {\n void getSegmentValidationState('change').then(emitValidationState);\n // Fire only on actual segment changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stringifiedValue]);\n\n const providerValue = useMemo(\n () => ({\n isLoading,\n displayValue: text,\n triggerProps: {\n ...overlayTriggerProps,\n 'data-dt-component': COMPONENT_NAME,\n onBlur: handleOnBlur,\n },\n buttonRef,\n showError: formFieldMessagesState.showError,\n ...ariaProps,\n }),\n [\n isLoading,\n text,\n overlayTriggerProps,\n buttonRef,\n formFieldMessagesState.showError,\n ariaProps,\n handleOnBlur,\n ],\n );\n\n const stratoLogger = useMemo(() => {\n return createStratoLogger.bind({\n name,\n id: propId,\n ariaLabel: triggerAriaProps['aria-label'],\n })(COMPONENT_NAME);\n }, [name, propId, triggerAriaProps]);\n\n return (\n <>\n <SegmentsTriggerContext.Provider value={providerValue}>\n <Tooltip\n text={<TooltipMessages ariaLabel={triggerAriaProps['aria-label']} />}\n className={styles.overwriteTooltipElementPadding}\n onOpenChange={onOpenTooltip}\n open={isOpen}\n >\n {customTrigger ?? (\n <SegmentSelectorTrigger\n textEllipsisRef={textEllipsisRef}\n {...segmentSelectorProps}\n />\n )}\n </Tooltip>\n <VisuallyHidden>\n <input\n ref={inputRef}\n id={id}\n value={segments.length > 0 ? stringifiedValue : ''}\n onChange={() => undefined}\n aria-hidden={true}\n readOnly={readOnly}\n disabled={disabled}\n name={name}\n required={required}\n tabIndex={-1}\n aria-disabled={ariaDisabled}\n onInvalid={onInvalid}\n />\n </VisuallyHidden>\n </SegmentsTriggerContext.Provider>\n\n {overlayState.isOpen && (\n <StratoLoggerContext.Provider value={stratoLogger}>\n <OverlayContainer\n data-testid={dataTestId}\n {...overlayContainerProps}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n >\n <FocusScope autoFocus contain={trapFocus}>\n <div\n ref={overlayRef}\n className={overlayCSS}\n {...overlayProps}\n aria-labelledby={overlayAriaLabelledById}\n >\n <UISegmentsProvider\n readOnly={readOnly}\n overlayState={overlayState}\n >\n <SegmentsOverlay labelId={overlayAriaLabelledById} />\n </UISegmentsProvider>\n </div>\n </FocusScope>\n </OverlayContainer>\n </StratoLoggerContext.Provider>\n )}\n </>\n );\n});\n\n/**\n * SegmentSelector component that uses a fallback formFieldMessages-context if it wasn't wrapped in a FormField.\n */\nconst SegmentSelectorRoot = withFormFieldMessageContextProvider<\n SegmentSelectorProps,\n FormControlWithOverlayRef<HTMLButtonElement>\n>(SegmentSelectorFwd);\n\n/**\n * `SegmentSelector` is a top-level filter component that filters data by segments, setting the scope for additional filters.\n *\n * @public\n */\nexport const SegmentSelector = Object.assign(SegmentSelectorRoot, {\n CustomTrigger,\n});\n\n(\n SegmentSelector as typeof SegmentSelector & { displayName: string }\n).displayName = COMPONENT_NAME;\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["\uFEFFimport {\n Children,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { useIntl } from 'react-intl';\nimport { isElement } from 'react-is';\n\nimport { useFormControl } from '../../forms/forms-core/hooks/useFormControl.js';\nimport { FormFieldMessagesAction } from '../../forms/forms-core/state/formfield-messages-state-reducer.js';\nimport type { FormControlWithOverlayRef } from '../../forms/shared-types.js';\nimport { segmentsClient } from './contexts/SegmentsCache/SegmentsCache.js';\nimport { SegmentsTriggerContext } from './contexts/SegmentsUI/SegmentsTriggerContext.js';\nimport { UISegmentsProvider } from './contexts/SegmentsUI/SegmentsUIContext.js';\nimport {\n getErrorKey,\n validateSegments,\n} from './contexts/SegmentsUI/segmentValidationHelper.js';\nimport { CustomTrigger } from './CustomTrigger.js';\nimport { useSegments } from './hooks/useSegments.js';\nimport { useTooltipHandler } from './hooks/useTooltipHandler.js';\nimport { useTriggerProps } from './hooks/useTriggerProps.js';\nimport { SegmentsOverlay } from './parts/Overlay.js';\nimport { SegmentSelectorTrigger } from './parts/selectionBar/SegmentSelectorTrigger.js';\nimport { TooltipMessages } from './parts/TooltipMessages.js';\nimport { SEGMENTSELECTOR_MESSAGES } from './segmentMessages.js';\nimport * as styles from './SegmentSelector.sty.js';\nimport type {\n SegmentSelectorProps,\n SegmentSelectorRef,\n} from './SegmentSelector.types.js';\nimport { FocusScope } from '../../core/components/focus-scope/FocusScope.js';\nimport { OverlayContainer } from '../../core/components/OverlayContainer.js';\nimport { VisuallyHidden } from '../../core/components/visually-hidden/VisuallyHidden.js';\nimport { useBehavioralTrackingProps } from '../../core/hooks/useBehavioralTrackingProps.js';\nimport { useId } from '../../core/hooks/useId.js';\nimport { useMergeRefs } from '../../core/hooks/useMergeRefs.js';\nimport { createStratoLogger } from '../../core/sdk/sdk-logger.js';\nimport { StratoLoggerContext } from '../../core/sdk/StratoLoggerContext.js';\nimport { isDev } from '../../core/utils/is-node-environment.js';\nimport { mergeProps } from '../../core/utils/merge-props.js';\nimport { withFormFieldMessageContextProvider } from '../../forms/forms-core/components/form-field/FormFieldMessageContextProvider.js';\nimport {\n getI18nValidationState,\n useFormFieldValidation,\n} from '../../forms/forms-core/hooks/useFormFieldValidation.js';\nimport type {\n ValidationState,\n ValidationTrigger,\n} from '../../forms/validation/types.js';\nimport { useCustomMessageEmitter } from '../../forms/validation/useCustomMessageEmitter.js';\nimport { useValidationStateEmitter } from '../../forms/validation/useValidationStateEmitter.js';\nimport { getValidationState } from '../../forms/validation/validation-builders.js';\nimport { useOverlayWithTrigger } from '../../overlays/hooks/useOverlayWithTrigger.js';\nimport { overlayCSS } from '../../overlays/overlay/Overlay.sty.js';\nimport { Tooltip } from '../../overlays/tooltip/Tooltip.js';\n\nconst COMPONENT_NAME = 'SegmentSelector';\n\n/** Iterates over child nodes to extract the content component slot. */\nfunction getCustomTriggerSlot(children: ReactNode) {\n let customTrigger: ReactElement | undefined;\n\n Children.forEach(children, (child) => {\n if (isElement(child)) {\n switch (child.type) {\n case CustomTrigger:\n customTrigger = child;\n break;\n default: {\n if (isDev()) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Only CustomTrigger is a valid child of the SegmentSelector.',\n );\n }\n break;\n }\n }\n } else if (child && isDev()) {\n // eslint-disable-next-line no-console\n console.warn('The used child is not supported by the SegmentSelector.');\n }\n });\n\n return customTrigger;\n}\n\nconst SegmentSelectorFwd = forwardRef<\n SegmentSelectorRef<HTMLButtonElement>,\n SegmentSelectorProps\n>((props, forwardedRef) => {\n const {\n className: consumerClassName,\n style: consumerStyle,\n id: propId,\n 'data-testid': dataTestId,\n 'data-dtrum-allow': dataDtrumAllow,\n 'data-dtrum-mask': dataDtrumMask,\n variant = 'default',\n onOpenChange,\n onValidityChange,\n readOnly: propReadOnly,\n disabled: propDisabled,\n required: propRequired,\n name,\n ...remainingProps\n }: SegmentSelectorProps = props;\n\n const intl = useIntl();\n const inputRef = useRef<HTMLInputElement>(null);\n const internalButtonRef = useRef<HTMLButtonElement>(null);\n const _emitValidationState = useValidationStateEmitter(onValidityChange);\n\n const {\n disabled,\n required,\n id,\n ariaDisabled,\n readOnly,\n showError,\n messageState: formFieldMessagesState,\n messageDispatch: formFieldMessagesDispatch,\n } = useFormControl({\n propDisabled,\n propRequired,\n propId,\n propAriaDisabled: remainingProps['aria-disabled'],\n propReadOnly,\n });\n\n const {\n isLoading,\n text,\n ariaProps: triggerAriaProps,\n } = useTriggerProps(variant, remainingProps);\n\n const [behavioralTrackingProps] = useBehavioralTrackingProps(remainingProps);\n\n const { onChange, onInvalid, ariaProps } = useFormFieldValidation(\n inputRef,\n { required },\n triggerAriaProps,\n id,\n );\n\n const errorId = useId();\n\n const { segments } = useSegments();\n const stringifiedValue = JSON.stringify(segments);\n\n const getSegmentValidationState = useCallback(\n async (trigger: ValidationTrigger): Promise<ValidationState> => {\n if (inputRef.current && !inputRef.current.validity.valid) {\n return getI18nValidationState(intl, inputRef.current, trigger);\n }\n\n const errorKeys = await Promise.all(segments.map(getErrorKey));\n return getValidationState(\n errorKeys.find((key) => key !== null) ?? undefined,\n trigger,\n );\n },\n [intl, segments],\n );\n\n const emitValidationState = useCustomMessageEmitter(\n _emitValidationState,\n () => getSegmentValidationState('manual'),\n );\n\n const segmentSelectorProps = {\n 'data-dtrum-allow': dataDtrumAllow,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-testid': dataTestId,\n style: consumerStyle,\n className: consumerClassName,\n ...mergeProps(behavioralTrackingProps, ariaProps),\n };\n\n const customTrigger = useMemo(\n () => getCustomTriggerSlot(remainingProps.children),\n [remainingProps.children],\n );\n\n const {\n targetRef,\n triggerRef,\n overlayRef,\n overlayState,\n overlayProps: _overlayProps,\n overlayTriggerProps,\n overlayContainerProps,\n } = useOverlayWithTrigger({\n placement: 'bottom-start',\n placementFallbacks: ['bottom-end', 'top-start', 'top-end'],\n offset: 4,\n shouldCloseOnBlur: false,\n onOpenChange: (isOpen) => {\n if (\n !isOpen &&\n !formFieldMessagesState.isTouched &&\n segmentsClient.hasAccessRights !== false\n ) {\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n\n inputRef.current?.checkValidity();\n void getSegmentValidationState('blur').then(emitValidationState);\n }\n\n if (!isOpen) {\n validateSegments(\n segments,\n onChange,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n errorId,\n true,\n ).catch(() => undefined);\n }\n\n onOpenChange?.(isOpen);\n },\n additionalElevation: 'overlay',\n disabled,\n });\n const { trapFocus, ...overlayProps } = _overlayProps;\n\n const { onOpenTooltip, isOpen, textEllipsisRef } = useTooltipHandler(\n !customTrigger && variant === 'default',\n );\n const overlayAriaLabelledById = useId();\n\n useImperativeHandle(\n forwardedRef,\n (): SegmentSelectorRef<HTMLButtonElement> => ({\n element: internalButtonRef.current,\n triggerRef: internalButtonRef.current,\n inputRef: inputRef.current,\n focus: () => internalButtonRef.current?.focus(),\n open: overlayState.open,\n close: overlayState.close,\n validate: async () => {\n inputRef.current?.checkValidity();\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n if (segmentsClient.hasAccessRights === false) {\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.ADDMESSAGE,\n payload: {\n id: errorId,\n variant: 'error',\n validityStateKey: 'customError',\n messageType: 'formcontrol',\n showError: true,\n message: intl.formatMessage(\n SEGMENTSELECTOR_MESSAGES.noReadAndWriteAccess,\n ),\n },\n });\n }\n\n await validateSegments(\n segments,\n onChange,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n errorId,\n true,\n ).catch(() => undefined);\n\n emitValidationState(await getSegmentValidationState('manual'));\n },\n // DEPRECATION: [APPDEV-18178] BREAKING-CHANGE: Remove validateAsync() and change validate() to return Promise<ValidationState>.\n validateAsync: async () => {\n inputRef.current?.checkValidity();\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n if (segmentsClient.hasAccessRights === false) {\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.ADDMESSAGE,\n payload: {\n id: errorId,\n variant: 'error',\n validityStateKey: 'customError',\n messageType: 'formcontrol',\n showError: true,\n message: intl.formatMessage(\n SEGMENTSELECTOR_MESSAGES.noReadAndWriteAccess,\n ),\n },\n });\n }\n\n await validateSegments(\n segments,\n onChange,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n errorId,\n true,\n ).catch(() => undefined);\n\n const state = await getSegmentValidationState('manual');\n return emitValidationState(state);\n },\n }),\n [\n errorId,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n intl,\n onChange,\n emitValidationState,\n overlayState.close,\n overlayState.open,\n segments,\n getSegmentValidationState,\n ],\n );\n\n const buttonRef = useMergeRefs([triggerRef, targetRef, internalButtonRef]);\n\n const handleOnBlur = useCallback(() => {\n if (!overlayState.isOpen) {\n formFieldMessagesDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n\n if (!formFieldMessagesState.isTouched) {\n inputRef.current?.checkValidity();\n void getSegmentValidationState('blur').then(emitValidationState);\n }\n }\n }, [\n overlayState.isOpen,\n formFieldMessagesDispatch,\n formFieldMessagesState.isTouched,\n getSegmentValidationState,\n emitValidationState,\n ]);\n\n // Since the value update is delayed by the async fetching of the data\n // we need to check the validity as soon as the value is up to date.\n useEffect(() => {\n validateSegments(\n segments,\n onChange,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n errorId,\n ).catch(() => undefined);\n }, [\n errorId,\n formFieldMessagesDispatch,\n formFieldMessagesState.formControlMessages,\n onChange,\n segments,\n stringifiedValue,\n ]);\n\n // Surface validation state whenever the selected segments change (`change`\n // trigger), keeping `onValidityChange` in sync as the selection is edited.\n useEffect(() => {\n void getSegmentValidationState('change').then(emitValidationState);\n // Fire only on actual segment changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stringifiedValue]);\n\n const providerValue = useMemo(\n () => ({\n isLoading,\n displayValue: text,\n triggerProps: {\n ...overlayTriggerProps,\n 'data-dt-component': COMPONENT_NAME,\n onBlur: handleOnBlur,\n },\n buttonRef,\n showError,\n ...ariaProps,\n }),\n [\n isLoading,\n text,\n overlayTriggerProps,\n buttonRef,\n showError,\n ariaProps,\n handleOnBlur,\n ],\n );\n\n const stratoLogger = useMemo(() => {\n return createStratoLogger.bind({\n name,\n id: propId,\n ariaLabel: triggerAriaProps['aria-label'],\n })(COMPONENT_NAME);\n }, [name, propId, triggerAriaProps]);\n\n return (\n <>\n <SegmentsTriggerContext.Provider value={providerValue}>\n <Tooltip\n text={<TooltipMessages ariaLabel={triggerAriaProps['aria-label']} />}\n className={styles.overwriteTooltipElementPadding}\n onOpenChange={onOpenTooltip}\n open={isOpen}\n >\n {customTrigger ?? (\n <SegmentSelectorTrigger\n textEllipsisRef={textEllipsisRef}\n {...segmentSelectorProps}\n />\n )}\n </Tooltip>\n <VisuallyHidden>\n <input\n ref={inputRef}\n id={id}\n value={segments.length > 0 ? stringifiedValue : ''}\n onChange={() => undefined}\n aria-hidden={true}\n readOnly={readOnly}\n disabled={disabled}\n name={name}\n required={required}\n tabIndex={-1}\n aria-disabled={ariaDisabled}\n onInvalid={onInvalid}\n />\n </VisuallyHidden>\n </SegmentsTriggerContext.Provider>\n\n {overlayState.isOpen && (\n <StratoLoggerContext.Provider value={stratoLogger}>\n <OverlayContainer\n data-testid={dataTestId}\n {...overlayContainerProps}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n >\n <FocusScope autoFocus contain={trapFocus}>\n <div\n ref={overlayRef}\n className={overlayCSS}\n {...overlayProps}\n aria-labelledby={overlayAriaLabelledById}\n >\n <UISegmentsProvider\n readOnly={readOnly}\n overlayState={overlayState}\n >\n <SegmentsOverlay labelId={overlayAriaLabelledById} />\n </UISegmentsProvider>\n </div>\n </FocusScope>\n </OverlayContainer>\n </StratoLoggerContext.Provider>\n )}\n </>\n );\n});\n\n/**\n * SegmentSelector component that uses a fallback formFieldMessages-context if it wasn't wrapped in a FormField.\n */\nconst SegmentSelectorRoot = withFormFieldMessageContextProvider<\n SegmentSelectorProps,\n FormControlWithOverlayRef<HTMLButtonElement>\n>(SegmentSelectorFwd);\n\n/**\n * `SegmentSelector` is a top-level filter component that filters data by segments, setting the scope for additional filters.\n *\n * @public\n */\nexport const SegmentSelector = Object.assign(SegmentSelectorRoot, {\n CustomTrigger,\n});\n\n(\n SegmentSelector as typeof SegmentSelector & { displayName: string }\n).displayName = COMPONENT_NAME;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["isOpen"]
|
|
7
7
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./SegmentSelector.css";
|
|
2
|
-
var overwriteTooltipElementPadding = "_11m6jkl3-3-
|
|
3
|
-
var segmentSelectorList = "_11m6jkl0-3-
|
|
4
|
-
var segmentSelectorListItem = "_11m6jkl1-3-
|
|
5
|
-
var tooltipMaxHeight = "_11m6jkl2-3-
|
|
2
|
+
var overwriteTooltipElementPadding = "_11m6jkl3-3-9-0";
|
|
3
|
+
var segmentSelectorList = "_11m6jkl0-3-9-0";
|
|
4
|
+
var segmentSelectorListItem = "_11m6jkl1-3-9-0";
|
|
5
|
+
var tooltipMaxHeight = "_11m6jkl2-3-9-0";
|
|
6
6
|
export {
|
|
7
7
|
overwriteTooltipElementPadding,
|
|
8
8
|
segmentSelectorList,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/filters/segment-selector/SegmentSelector.css.ts"],
|
|
4
|
-
"sourcesContent": ["import './SegmentSelector.css';\nexport var overwriteTooltipElementPadding = '_11m6jkl3-3-
|
|
4
|
+
"sourcesContent": ["import './SegmentSelector.css';\nexport var overwriteTooltipElementPadding = '_11m6jkl3-3-9-0';\nexport var segmentSelectorList = '_11m6jkl0-3-9-0';\nexport var segmentSelectorListItem = '_11m6jkl1-3-9-0';\nexport var tooltipMaxHeight = '_11m6jkl2-3-9-0';"],
|
|
5
5
|
"mappings": "AAAA,OAAO;AACA,IAAI,iCAAiC;AACrC,IAAI,sBAAsB;AAC1B,IAAI,0BAA0B;AAC9B,IAAI,mBAAmB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -22,14 +22,6 @@ function catchError(error) {
|
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
function getSegmentFromCache(id) {
|
|
26
|
-
const allSegments = segmentsClient.queryClient.getQueryData(["getAllSegments"]);
|
|
27
|
-
const singleSegment = segmentsClient.queryClient.getQueryData([
|
|
28
|
-
"getSegment",
|
|
29
|
-
id
|
|
30
|
-
]);
|
|
31
|
-
return allSegments?.get(id) ?? singleSegment ?? null;
|
|
32
|
-
}
|
|
33
25
|
const segmentsClient = {
|
|
34
26
|
/** react-query's queryClient used for segments queries. */
|
|
35
27
|
queryClient: segmentQueryClient,
|
|
@@ -50,18 +42,10 @@ async function getSegment(uid) {
|
|
|
50
42
|
if (segmentsClient.hasAccessRights === false) {
|
|
51
43
|
throw new Error("403");
|
|
52
44
|
}
|
|
53
|
-
if (segmentsClient.queryClient.isFetching({ queryKey: ["getAllSegments"] }) === 0 && !segmentsClient.queryClient.getQueryState([
|
|
54
|
-
"getAllSegments"
|
|
55
|
-
])?.isInvalidated) {
|
|
56
|
-
const cachedSegment = getSegmentFromCache(uid);
|
|
57
|
-
if (cachedSegment) {
|
|
58
|
-
return cachedSegment;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
45
|
return new Promise((resolve, reject) => {
|
|
62
46
|
filterSegmentsClient.getFilterSegment({
|
|
63
47
|
filterSegmentUid: uid,
|
|
64
|
-
addFields: ["VARIABLES"]
|
|
48
|
+
addFields: ["VARIABLES", "INCLUDES"]
|
|
65
49
|
}).then((storeSegment) => {
|
|
66
50
|
const newCachedSegment = processSegment(storeSegment);
|
|
67
51
|
segmentsClient.hasAccessRights = true;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/filters/segment-selector/contexts/SegmentsCache/SegmentsCache.tsx"],
|
|
4
|
-
"sourcesContent": ["import { QueryClient } from '@tanstack/react-query';\n\nimport { getCurrentUserDetails } from '@dynatrace-sdk/app-environment';\nimport {\n filterSegmentsClient,\n type FilterSegment,\n type DetailedFilterSegment,\n} from '@dynatrace-sdk/client-filter-segment-management';\n\n/**\n * React-query's queryClient to coordinate queries.\n * @internal\n */\nconst segmentQueryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false,\n refetchOnMount: true,\n retry: false,\n staleTime: Infinity,\n },\n },\n});\n\nexport type CachedSegment = {\n segment: Omit<DetailedFilterSegment
|
|
5
|
-
"mappings": "AAAA,SAAS,mBAAmB;AAE5B,SAAS,6BAA6B;AACtC;AAAA,EACE;AAAA,OAGK;AAMP,MAAM,qBAAqB,IAAI,YAAY;AAAA,EACzC,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,sBAAsB;AAAA,MACtB,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAOD,MAAM,cAAc,sBAAsB;AAE1C,SAAS,WAAW,OAAc;AAChC,MAAI,MAAM,SAAS,SAAS,MAAM,YAAY,OAAO;AACnD,mBAAe,kBAAkB;AACjC,mBAAe,YAAY,kBAAkB;AAAA,MAC3C,SAAS,EAAE,SAAS,MAAM;AAAA,IAC5B,CAAC;AAAA,EACH;AACF;
|
|
4
|
+
"sourcesContent": ["import { QueryClient } from '@tanstack/react-query';\n\nimport { getCurrentUserDetails } from '@dynatrace-sdk/app-environment';\nimport {\n filterSegmentsClient,\n type FilterSegment,\n type DetailedFilterSegment,\n} from '@dynatrace-sdk/client-filter-segment-management';\n\n/**\n * React-query's queryClient to coordinate queries.\n * @internal\n */\nconst segmentQueryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false,\n refetchOnMount: true,\n retry: false,\n staleTime: Infinity,\n },\n },\n});\n\nexport type CachedSegment = {\n segment: Omit<DetailedFilterSegment, 'uid'> & { id: string };\n temporarilyApplied: boolean;\n};\n\nconst currentUser = getCurrentUserDetails();\n\nfunction catchError(error: Error) {\n if (error.name === '403' || error.message === '403') {\n segmentsClient.hasAccessRights = false;\n segmentsClient.queryClient.setDefaultOptions({\n queries: { enabled: false },\n });\n }\n}\n\n/**\n * @internal\n */\nexport const segmentsClient: {\n queryClient: QueryClient;\n hasAccessRights: boolean | undefined;\n} = {\n /** react-query's queryClient used for segments queries. */\n queryClient: segmentQueryClient,\n /** flag for missing access rights (403) for any segments query. */\n hasAccessRights: undefined,\n};\n\nfunction processSegment(\n segment: DetailedFilterSegment | FilterSegment,\n): CachedSegment {\n const { uid, ...remainingSegment } = segment;\n\n return {\n segment: { ...remainingSegment, id: uid },\n temporarilyApplied: !(segment.isPublic || segment.owner === currentUser.id),\n };\n}\n\n/**\n * Returns a Promise<CachedSegment> with VARIABLES and INCLUDES always populated.\n * The single-segment endpoint always returns INCLUDES; the bulk (getAllSegments)\n * endpoint never does. A cached result is reused only when it already contains\n * INCLUDES (i.e. it came from a prior direct fetch), otherwise a fresh\n * getFilterSegment call is made.\n * @internal\n */\nexport async function getSegment(uid?: string): Promise<CachedSegment> {\n if (!uid) {\n throw new Error('Segment id is required');\n }\n\n if (segmentsClient.hasAccessRights === false) {\n throw new Error('403');\n }\n\n return new Promise<CachedSegment>((resolve, reject) => {\n filterSegmentsClient\n .getFilterSegment({\n filterSegmentUid: uid,\n addFields: ['VARIABLES', 'INCLUDES'],\n })\n .then((storeSegment) => {\n const newCachedSegment = processSegment(storeSegment);\n segmentsClient.hasAccessRights = true;\n resolve(newCachedSegment);\n })\n .catch((error: Error) => {\n catchError(error);\n reject(error);\n return null;\n });\n });\n}\n\n/**\n * Returns a Promise for all Cached Segments.\n * @internal\n */\nasync function getAllSegments() {\n if (segmentsClient.hasAccessRights === false) {\n throw new Error('403');\n }\n\n return new Promise<Map<string, CachedSegment>>((resolve, reject) => {\n filterSegmentsClient\n .getFilterSegments({\n addFields: ['VARIABLES'],\n })\n .then((segments) => {\n const updatedCache = new Map();\n segments.filterSegments.forEach((storeSegment) => {\n const newCachedSegment = processSegment(storeSegment);\n updatedCache.set(storeSegment.uid, newCachedSegment);\n segmentsClient.hasAccessRights = true;\n });\n\n resolve(updatedCache);\n })\n .catch((error: Error) => {\n catchError(error);\n reject(error);\n });\n });\n}\n\n/**\n * Hook to access cached segments.\n * @internal\n * @returns\n */\nexport function useSegmentsCache() {\n return {\n getAllSegments,\n getSegment,\n };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,mBAAmB;AAE5B,SAAS,6BAA6B;AACtC;AAAA,EACE;AAAA,OAGK;AAMP,MAAM,qBAAqB,IAAI,YAAY;AAAA,EACzC,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,sBAAsB;AAAA,MACtB,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAOD,MAAM,cAAc,sBAAsB;AAE1C,SAAS,WAAW,OAAc;AAChC,MAAI,MAAM,SAAS,SAAS,MAAM,YAAY,OAAO;AACnD,mBAAe,kBAAkB;AACjC,mBAAe,YAAY,kBAAkB;AAAA,MAC3C,SAAS,EAAE,SAAS,MAAM;AAAA,IAC5B,CAAC;AAAA,EACH;AACF;AAKO,MAAM,iBAGT;AAAA;AAAA,EAEF,aAAa;AAAA;AAAA,EAEb,iBAAiB;AACnB;AAEA,SAAS,eACP,SACe;AACf,QAAM,EAAE,KAAK,GAAG,iBAAiB,IAAI;AAErC,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,kBAAkB,IAAI,IAAI;AAAA,IACxC,oBAAoB,EAAE,QAAQ,YAAY,QAAQ,UAAU,YAAY;AAAA,EAC1E;AACF;AAUA,eAAsB,WAAW,KAAsC;AACrE,MAAI,CAAC,KAAK;AACR,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,MAAI,eAAe,oBAAoB,OAAO;AAC5C,UAAM,IAAI,MAAM,KAAK;AAAA,EACvB;AAEA,SAAO,IAAI,QAAuB,CAAC,SAAS,WAAW;AACrD,yBACG,iBAAiB;AAAA,MAChB,kBAAkB;AAAA,MAClB,WAAW,CAAC,aAAa,UAAU;AAAA,IACrC,CAAC,EACA,KAAK,CAAC,iBAAiB;AACtB,YAAM,mBAAmB,eAAe,YAAY;AACpD,qBAAe,kBAAkB;AACjC,cAAQ,gBAAgB;AAAA,IAC1B,CAAC,EACA,MAAM,CAAC,UAAiB;AACvB,iBAAW,KAAK;AAChB,aAAO,KAAK;AACZ,aAAO;AAAA,IACT,CAAC;AAAA,EACL,CAAC;AACH;AAMA,eAAe,iBAAiB;AAC9B,MAAI,eAAe,oBAAoB,OAAO;AAC5C,UAAM,IAAI,MAAM,KAAK;AAAA,EACvB;AAEA,SAAO,IAAI,QAAoC,CAAC,SAAS,WAAW;AAClE,yBACG,kBAAkB;AAAA,MACjB,WAAW,CAAC,WAAW;AAAA,IACzB,CAAC,EACA,KAAK,CAAC,aAAa;AAClB,YAAM,eAAe,oBAAI,IAAI;AAC7B,eAAS,eAAe,QAAQ,CAAC,iBAAiB;AAChD,cAAM,mBAAmB,eAAe,YAAY;AACpD,qBAAa,IAAI,aAAa,KAAK,gBAAgB;AACnD,uBAAe,kBAAkB;AAAA,MACnC,CAAC;AAED,cAAQ,YAAY;AAAA,IACtB,CAAC,EACA,MAAM,CAAC,UAAiB;AACvB,iBAAW,KAAK;AAChB,aAAO,KAAK;AAAA,IACd,CAAC;AAAA,EACL,CAAC;AACH;AAOO,SAAS,mBAAmB;AACjC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|