@dynatrace/strato-components 3.5.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/buttons/button/Button.css +15 -15
- package/buttons/button/Button.sty.js +4 -4
- package/buttons/intent-button/IntentButton.css +1 -1
- package/buttons/intent-button/IntentButton.sty.js +1 -1
- package/buttons/notify-button/NotifyButton.css +2 -2
- package/buttons/notify-button/NotifyButton.sty.js +2 -2
- package/charts/annotations-chart/AnnotationsChart.js +9 -1
- package/charts/annotations-chart/components/AnnotationsDisplay.d.ts +1 -0
- package/charts/annotations-chart/constants.js +2 -1
- package/charts/annotations-chart/types/annotations-chart-config-props.d.ts +9 -0
- package/charts/annotations-chart/types/annotations-chart-props.d.ts +8 -0
- package/charts/annotations-chart/utils/annotations-chart-config.js +1 -0
- package/charts/annotations-chart/utils/populate-missing-tooltip-props.d.ts +5 -5
- package/charts/annotations-chart/utils/populate-missing-tooltip-props.js +8 -3
- package/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.css +2 -2
- package/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js +2 -2
- package/charts/core/components/annotations/AnnotationsAtom.css +1 -1
- package/charts/core/components/annotations/AnnotationsAtom.sty.js +1 -1
- package/charts/core/components/annotations/components/AnnotationsRenderer.d.ts +0 -2
- package/charts/core/components/annotations/components/AnnotationsRenderer.js +4 -3
- package/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.css +1 -1
- package/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js +1 -1
- package/charts/core/components/annotations/components/displays/AnnotationsContainer.d.ts +14 -0
- package/charts/core/components/annotations/components/displays/AnnotationsContainer.js +30 -0
- package/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.d.ts +1 -0
- package/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.js +13 -18
- package/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.d.ts +1 -0
- package/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.js +13 -18
- package/charts/core/components/annotations/components/overlays/AnnotationsOverlays.css +1 -1
- package/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js +1 -1
- package/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.css +1 -1
- package/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js +1 -1
- package/charts/core/components/annotations/components/tooltip/AnnotationsCustomizedTooltip.js +2 -1
- package/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.d.ts +20 -0
- package/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.js +145 -0
- package/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.d.ts +24 -0
- package/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js +136 -0
- package/charts/core/components/annotations/components/tooltip/types/annotations-tooltip-props.d.ts +1 -1
- package/charts/core/components/annotations/components/tooltip/utils/prepare-custom-tooltip-data.js +8 -11
- package/charts/core/components/annotations/constants.d.ts +1 -0
- package/charts/core/components/annotations/constants.js +2 -0
- package/charts/core/components/annotations/hooks/useOverlayEvents.js +15 -0
- package/charts/core/components/axes/Axis.css +1 -1
- package/charts/core/components/axes/Axis.sty.js +1 -1
- package/charts/core/components/axes/components/PanningControls/PanningControls.css +16 -16
- package/charts/core/components/axes/components/PanningControls/PanningControls.sty.js +2 -2
- package/charts/core/components/axes/utils/calculate-axis-size.d.ts +1 -1
- package/charts/core/components/axes/utils/calculate-axis-size.js +3 -1
- package/charts/core/components/axes/utils/get-tick-label-props.d.ts +34 -0
- package/charts/core/components/axes/utils/get-tick-label-props.js +47 -1
- package/charts/core/components/axes/utils/tick-formatters.js +9 -1
- package/charts/core/components/chart-grid/ChartGrid.css +3 -3
- package/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
- package/charts/core/components/chart-layout/components/styles.css +15 -15
- package/charts/core/components/chart-layout/components/styles.sty.js +4 -4
- package/charts/core/components/chart-states/ChartState.css +4 -4
- package/charts/core/components/chart-states/ChartState.sty.js +4 -4
- package/charts/core/components/crosshair/components/Magnifier.css +7 -7
- package/charts/core/components/crosshair/components/Magnifier.sty.js +7 -7
- package/charts/core/components/interactions-overlay/InteractionsOverlay.css +5 -5
- package/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js +2 -2
- package/charts/core/components/legend/categorical/ChartLegend.css +1 -1
- package/charts/core/components/legend/categorical/ChartLegend.sty.js +1 -1
- package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.css +3 -3
- package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js +3 -3
- package/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.css +17 -17
- package/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js +6 -6
- package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.css +3 -3
- package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js +1 -1
- package/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.css +8 -8
- package/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js +4 -4
- package/charts/core/components/legend/range/RangeLegend.css +3 -3
- package/charts/core/components/legend/range/RangeLegend.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.css +2 -2
- package/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.css +1 -1
- package/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.css +3 -3
- package/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.css +3 -3
- package/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js +1 -1
- package/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.css +5 -5
- package/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js +1 -1
- package/charts/core/components/loader-overlay/LoaderOverlay.css +2 -2
- package/charts/core/components/loader-overlay/LoaderOverlay.sty.js +2 -2
- package/charts/core/components/overlay-tooltip/OverlayTooltip.d.ts +3 -0
- package/charts/core/components/overlay-tooltip/OverlayTooltip.js +4 -0
- package/charts/core/components/overlay-tooltip/_to-be-removed/DummyInteractionsOverlay.js +8 -5
- package/charts/core/components/overlay-tooltip/_to-be-removed/_OverlayTooltipWIPStory.js +2 -2
- package/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js +7 -6
- package/charts/core/components/overlay-tooltip/components/Footer.d.ts +13 -0
- package/charts/core/components/overlay-tooltip/components/{TooltipFooter.js → Footer.js} +5 -8
- package/charts/core/components/overlay-tooltip/components/global-actions/Action.js +6 -0
- package/charts/core/components/overlay-tooltip/components/global-actions/GlobalActions.d.ts +2 -2
- package/charts/core/components/overlay-tooltip/components/global-actions/GlobalActions.js +4 -14
- package/charts/core/components/overlay-tooltip/components/global-actions/actions.css +4 -4
- package/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js +2 -2
- package/charts/core/components/overlay-tooltip/components/header/Header.css +6 -6
- package/charts/core/components/overlay-tooltip/components/header/Header.d.ts +1 -0
- package/charts/core/components/overlay-tooltip/components/header/Header.sty.js +6 -6
- package/charts/core/components/overlay-tooltip/components/header/types/header.d.ts +3 -3
- package/charts/core/components/overlay-tooltip/components/series/SeriesItem.js +31 -8
- package/charts/core/components/overlay-tooltip/components/series/SeriesItemContent.d.ts +5 -0
- package/charts/core/components/overlay-tooltip/components/series/SeriesItemContent.js +35 -3
- package/charts/core/components/overlay-tooltip/components/series/SeriesSymbol.js +1 -1
- package/charts/core/components/overlay-tooltip/components/series/hooks/use-series-item-display-state.d.ts +5 -0
- package/charts/core/components/overlay-tooltip/components/series/hooks/use-series-item-display-state.js +58 -6
- package/charts/core/components/overlay-tooltip/components/series/seriesSymbol.css +2 -2
- package/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js +2 -2
- package/charts/core/components/overlay-tooltip/components/series/utils/get-name-text-style.d.ts +1 -1
- package/charts/core/components/overlay-tooltip/components/series/utils/get-name-text-style.js +4 -3
- package/charts/core/components/overlay-tooltip/hooks/useTooltipImperativeHandle.js +3 -11
- package/charts/core/components/overlay-tooltip/overlay.js +8 -8
- package/charts/core/components/overlay-tooltip/tooltip.css +92 -44
- package/charts/core/components/overlay-tooltip/tooltip.sty.d.ts +22 -0
- package/charts/core/components/overlay-tooltip/tooltip.sty.js +46 -34
- package/charts/core/components/overlay-tooltip/types/series.d.ts +2 -0
- package/charts/core/components/overlay-tooltip/types.d.ts +11 -32
- package/charts/core/components/overlay-tooltip/useTooltipActions.d.ts +21 -0
- package/charts/core/components/overlay-tooltip/useTooltipActions.js +85 -0
- package/charts/core/components/overlay-tooltip/useTooltipReducer.d.ts +1 -4
- package/charts/core/components/overlay-tooltip/useTooltipReducer.js +9 -11
- package/charts/core/components/overlay-tooltip/utils/build-content.d.ts +1 -0
- package/charts/core/components/overlay-tooltip/utils/build-content.js +41 -36
- package/charts/core/components/overlay-tooltip/utils/estimate-series-item-size.js +19 -3
- package/charts/core/components/overlays/ChartOverlaysBorder.css +5 -5
- package/charts/core/components/overlays/ChartOverlaysBorder.sty.js +5 -5
- package/charts/core/components/selection-area/SelectionArea.css +9 -9
- package/charts/core/components/selection-area/SelectionArea.sty.js +4 -4
- package/charts/core/components/shape/BubbleShape/BubbleShape.css +5 -5
- package/charts/core/components/shape/BubbleShape/BubbleShape.sty.js +3 -3
- package/charts/core/components/shape/EmojiShape/EmojiShape.css +3 -3
- package/charts/core/components/shape/EmojiShape/EmojiShape.sty.js +1 -1
- package/charts/core/components/shape/IconShape/IconShape.css +3 -3
- package/charts/core/components/shape/IconShape/IconShape.sty.js +1 -1
- package/charts/core/components/shape/styles/DataPointShape.css +8 -8
- package/charts/core/components/shape/styles/DataPointShape.sty.js +4 -4
- package/charts/core/components/shared-chart-interactions/SharedChartInteractions.css +1 -1
- package/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js +1 -1
- package/charts/core/components/single-value-renderer/SingleValueRenderer.css +5 -5
- package/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js +5 -5
- package/charts/core/components/single-value-renderer/components/ContentGrid.css +1 -1
- package/charts/core/components/single-value-renderer/components/ContentGrid.sty.js +1 -1
- package/charts/core/components/single-value-renderer/components/Icon.css +3 -3
- package/charts/core/components/single-value-renderer/components/Icon.sty.js +2 -2
- package/charts/core/components/single-value-renderer/components/Label.css +1 -1
- package/charts/core/components/single-value-renderer/components/Label.sty.js +1 -1
- package/charts/core/components/single-value-renderer/components/SingleValueToolbar.css +1 -1
- package/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js +1 -1
- package/charts/core/components/single-value-renderer/components/Value.css +5 -5
- package/charts/core/components/single-value-renderer/components/Value.sty.js +3 -3
- package/charts/core/components/single-value-renderer/components/trend/Trend.css +3 -3
- package/charts/core/components/single-value-renderer/components/trend/Trend.sty.js +3 -3
- package/charts/core/components/single-value-renderer/components/trend/components/Icon.css +2 -2
- package/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js +1 -1
- package/charts/core/components/single-value-renderer/types/single-value-base-props.d.ts +4 -0
- package/charts/core/components/sparkline-display/Sparkline.css +6 -6
- package/charts/core/components/sparkline-display/Sparkline.sty.js +2 -2
- package/charts/core/components/text-ellipsis/ChartTextEllipsis.css +7 -7
- package/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js +3 -3
- package/charts/core/components/threshold-bar/styles.css +9 -9
- package/charts/core/components/threshold-bar/styles.sty.js +2 -2
- package/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
- package/charts/core/components/toolbar/ChartToolbarRenderer.sty.js +8 -8
- package/charts/core/components/toolbar/components/ChartDataMenu.css +2 -2
- package/charts/core/components/toolbar/components/ChartDataMenu.sty.js +1 -1
- package/charts/core/components/toolbar/components/Control.css +17 -17
- package/charts/core/components/toolbar/components/Control.sty.js +5 -5
- package/charts/core/components/toolbar/components/ToolbarMenu.css +4 -4
- package/charts/core/components/toolbar/components/ToolbarMenu.sty.js +2 -2
- package/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
- package/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js +2 -2
- package/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.css +8 -8
- package/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js +3 -3
- package/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.css +2 -2
- package/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js +1 -1
- package/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.css +1 -1
- package/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js +1 -1
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.css +6 -6
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js +2 -2
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.css +7 -7
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js +6 -6
- package/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.css +1 -1
- package/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
- package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
- package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
- package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
- package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
- package/charts/core/components/tooltip/section-components/atoms/styles.css +3 -3
- package/charts/core/components/tooltip/section-components/atoms/styles.sty.js +3 -3
- package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
- package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
- package/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
- package/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
- package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
- package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
- package/charts/core/components/tooltip-atoms/components/styles.css +4 -4
- package/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
- package/charts/core/components/zoom/ZoomCursors.css +2 -2
- package/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
- package/charts/core/hooks/useOverlayEventHandlers.js +8 -25
- package/charts/core/slots/toolbar/CompactToolbar.d.ts +2 -2
- package/charts/core/slots/toolbar/CompactToolbar.js +2 -2
- package/charts/core/typographyStyles.css +1 -1
- package/charts/core/typographyStyles.sty.js +1 -1
- package/charts/core/utils/adaptively-reduce-horizontal-ticks.d.ts +32 -0
- package/charts/core/utils/adaptively-reduce-horizontal-ticks.js +61 -0
- package/charts/core/utils/extract-behavior-tracking-props.js +1 -1
- package/charts/core/utils/has-horizontal-label-collision.d.ts +29 -0
- package/charts/core/utils/has-horizontal-label-collision.js +75 -0
- package/charts/core/utils/is-feature-enabled.d.ts +1 -0
- package/charts/core/utils/is-feature-enabled.js +2 -1
- package/charts/gantt-chart/GanttChartLine.css +1 -1
- package/charts/gantt-chart/GanttChartLine.sty.js +1 -1
- package/charts/gantt-chart/components/GanttChartLineRenderer.css +1 -1
- package/charts/gantt-chart/components/GanttChartLineRenderer.sty.js +1 -1
- package/charts/gantt-chart/components/tooltip/GanttChartTooltip.css +1 -1
- package/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js +1 -1
- package/charts/gauge/GaugeChart.d.ts +1 -1
- package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.css +1 -1
- package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js +1 -1
- package/charts/gauge/components/GaugeChartTooltip/GaugeOverlayTooltip.js +12 -2
- package/charts/gauge/components/GaugeLabel/GaugeLabel.css +6 -6
- package/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
- package/charts/gauge/components/GaugeLabels.js +3 -4
- package/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.css +3 -3
- package/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js +1 -1
- package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.css +4 -4
- package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js +12 -11
- package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js +3 -3
- package/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.css +2 -2
- package/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js +2 -2
- package/charts/gauge/constants.d.ts +1 -0
- package/charts/gauge/constants.js +2 -0
- package/charts/gauge/contexts/GaugeChartTooltipContext.d.ts +9 -0
- package/charts/gauge/contexts/GaugeChartTooltipContext.js +27 -0
- package/charts/gauge/hooks/useGaugeChartMinMaxLabelsPosition.d.ts +1 -0
- package/charts/gauge/hooks/useGaugeChartMinMaxLabelsPosition.js +12 -1
- package/charts/gauge/providers/GaugeChartProviders.js +11 -3
- package/charts/gauge/slots/Tooltip.d.ts +58 -1
- package/charts/gauge/slots/Tooltip.js +1 -1
- package/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.css +1 -1
- package/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js +1 -1
- package/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.css +1 -1
- package/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js +1 -1
- package/charts/histogram/components/overlays/HistogramOverlays.css +2 -2
- package/charts/histogram/components/overlays/HistogramOverlays.sty.js +2 -2
- package/charts/histogram/types/histogram-props.d.ts +5 -4
- package/charts/honeycomb/HoneycombChart.css +1 -1
- package/charts/honeycomb/HoneycombChart.d.ts +4 -0
- package/charts/honeycomb/HoneycombChart.js +3 -1
- package/charts/honeycomb/HoneycombChart.sty.js +1 -1
- package/charts/honeycomb/components/HiveOverlay.css +1 -1
- package/charts/honeycomb/components/HiveOverlay.sty.js +1 -1
- package/charts/honeycomb/components/canvas/HiveCanvasLayout.css +1 -1
- package/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js +1 -1
- package/charts/honeycomb/components/tooltip/HoneycombOverlayTooltip.js +16 -1
- package/charts/honeycomb/context/honeycomb-custom-tooltip.context.d.ts +2 -0
- package/charts/honeycomb/context/honeycomb-custom-tooltip.context.js +24 -0
- package/charts/honeycomb/hooks/use-honeycomb-custom-tooltip.d.ts +1 -0
- package/charts/{gauge/contexts/GaugeChartTooltipNameContext.js → honeycomb/hooks/use-honeycomb-custom-tooltip.js} +6 -9
- package/charts/honeycomb/providers/honeycomb-configuration.provider.js +2 -1
- package/charts/honeycomb/slots/Tooltip.d.ts +5 -0
- package/charts/{core/components/annotations/components/tooltip/AnnotationsTooltip.sty.js → honeycomb/slots/Tooltip.js} +6 -6
- package/charts/honeycomb/types/honeycomb-config-properties.d.ts +4 -1
- package/charts/honeycomb/types/honeycomb-internal.d.ts +36 -0
- package/charts/honeycomb/utils/build-honeycomb-config.js +2 -1
- package/charts/honeycomb/utils/build-overlay-tooltip-data.js +5 -1
- package/charts/honeycomb/utils/iterate-honeycomb-slots.js +11 -1
- package/charts/index.d.ts +10 -7
- package/charts/index.js +5 -3
- package/charts/meter-bar/multi-meter-bar/MultiMeterBarChart.js +1 -1
- package/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlay.js +1 -1
- package/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.js +34 -8
- package/charts/meter-bar/multi-meter-bar/default.d.ts +1 -1
- package/charts/meter-bar/multi-meter-bar/default.js +1 -1
- package/charts/meter-bar/multi-meter-bar/hooks/useMultiMeterBarChartTooltipHandlers.js +10 -37
- package/charts/meter-bar/multi-meter-bar/types/multi-meter-bar-chart-config.d.ts +2 -2
- package/charts/meter-bar/multi-meter-bar/types/multi-meter-bar-chart-internal.d.ts +5 -3
- package/charts/meter-bar/multi-meter-bar/types/multi-meter-bar-chart.d.ts +39 -0
- package/charts/meter-bar/multi-meter-bar/utils/build-multi-meter-bar-chart-config.js +10 -7
- package/charts/meter-bar/multi-meter-bar/utils/iterate-slots.js +5 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.css +15 -15
- package/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js +10 -10
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.css +2 -2
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-toolbar/MeterBarToolbar.js +3 -3
- package/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.sty.js +1 -1
- package/charts/meter-bar/shared/styles/element-size.css +4 -4
- package/charts/meter-bar/shared/styles/element-size.sty.js +1 -1
- package/charts/meter-bar/shared/styles.css +1 -1
- package/charts/meter-bar/shared/styles.sty.js +1 -1
- package/charts/meter-bar/shared/utils/slot-handlers.d.ts +0 -2
- package/charts/meter-bar/shared/utils/slot-handlers.js +0 -10
- package/charts/meter-bar/single-meter-bar/MeterBarChart.js +1 -1
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlay.js +1 -1
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlayWithTooltip.js +61 -16
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.css +1 -1
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js +1 -1
- package/charts/meter-bar/single-meter-bar/context/MeterBarChartInternalConfigContext.d.ts +1 -1
- package/charts/meter-bar/single-meter-bar/types/default.d.ts +3 -0
- package/charts/meter-bar/single-meter-bar/types/default.js +2 -1
- package/charts/meter-bar/single-meter-bar/types/meter-bar-chart-internal.d.ts +4 -2
- package/charts/meter-bar/single-meter-bar/types/meter-bar-chart.d.ts +37 -0
- package/charts/meter-bar/single-meter-bar/utils/build-meter-bar-chart-config.js +5 -1
- package/charts/meter-bar/single-meter-bar/utils/iterate-slots.js +5 -1
- package/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.css +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.css +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js +1 -1
- package/charts/pie/components/PieChartOverlays/PieChartOverlays.css +1 -1
- package/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js +1 -1
- package/charts/pie/components/PieChartPlot/PieChartPlot.css +1 -1
- package/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
- package/charts/pie/hooks/usePieHandlers.js +3 -3
- package/charts/pie/hooks/useSliceHandlers.js +7 -41
- package/charts/single-value/SingleValue.css +1 -1
- package/charts/single-value/SingleValue.js +4 -1
- package/charts/single-value/SingleValue.sty.js +1 -1
- package/charts/single-value-grid/SingleValueGrid.css +2 -2
- package/charts/single-value-grid/SingleValueGrid.js +4 -1
- package/charts/single-value-grid/SingleValueGrid.sty.js +1 -1
- package/charts/single-value-grid/components/GlobalFontSizeVariables.css +1 -1
- package/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js +1 -1
- package/charts/single-value-grid/defaults.js +4 -4
- package/charts/single-value-grid/types/single-value-grid.d.ts +5 -1
- package/charts/single-value-grid/utils/iterate-slots.js +2 -2
- package/charts/timeseries/TimeseriesChart.d.ts +99 -5
- package/charts/timeseries/TimeseriesChart.js +63 -126
- package/charts/timeseries/TimeseriesChartInternal.d.ts +8 -0
- package/charts/timeseries/TimeseriesChartInternal.js +151 -0
- package/charts/timeseries/TimeseriesChartRoot.d.ts +3 -92
- package/charts/timeseries/TimeseriesChartRoot.js +3 -55
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +2 -2
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.js +4 -2
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js +1 -1
- package/charts/timeseries/components/overlays/TimeseriesOverlays.css +4 -4
- package/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js +4 -4
- package/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
- package/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
- package/charts/tree-map/TreeMap.d.ts +1 -1
- package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
- package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
- package/charts/tree-map/components/TreeMapTooltip/TreeMapOverlayTooltip.js +12 -1
- package/charts/tree-map/components/canvas/TreeMapSquareRenderer.js +3 -2
- package/charts/tree-map/components/canvas/utils/canvas-label-utils.d.ts +3 -1
- package/charts/tree-map/components/canvas/utils/canvas-label-utils.js +7 -7
- package/charts/tree-map/constants.js +1 -0
- package/charts/tree-map/contexts/TreeMapCustomTooltipContext.d.ts +3 -0
- package/charts/tree-map/contexts/TreeMapCustomTooltipContext.js +28 -0
- package/charts/tree-map/hooks/useTreeMapCustomTooltip.d.ts +1 -0
- package/charts/tree-map/hooks/useTreeMapCustomTooltip.js +25 -0
- package/charts/tree-map/providers/TreeMapChartProviders.d.ts +2 -0
- package/charts/tree-map/providers/TreeMapChartProviders.js +10 -2
- package/charts/tree-map/slots/Tooltip.d.ts +2 -1
- package/charts/tree-map/slots/Tooltip.js +1 -1
- package/charts/tree-map/types/canvas.d.ts +1 -1
- package/charts/tree-map/types/treemap-chart.config.d.ts +34 -2
- package/charts/tree-map/utils/build-overlay-tooltip-data.js +3 -1
- package/charts/tree-map/utils/build-tree-map-chart-config.js +2 -1
- package/charts/tree-map/utils/iterate-slots.js +8 -2
- package/charts/xy-chart/XYChart.js +2 -0
- package/charts/xy-chart/XYChartRoot.d.ts +1 -4
- package/charts/xy-chart/XYChartRoot.js +55 -39
- package/charts/xy-chart/components/axes/AxisArea.css +1 -1
- package/charts/xy-chart/components/axes/AxisArea.sty.js +1 -1
- package/charts/xy-chart/components/axes/AxisTickWithTruncation.css +3 -3
- package/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js +3 -3
- package/charts/xy-chart/components/axes/XYChartBottomAxisArea.js +77 -59
- package/charts/xy-chart/components/axes/XYChartTopAxisArea.js +77 -59
- package/charts/xy-chart/components/axes/utils/compute-collision-aware-max-space.d.ts +14 -0
- package/charts/xy-chart/components/axes/utils/compute-collision-aware-max-space.js +50 -0
- package/charts/xy-chart/components/displays/{BarDisplay.d.ts → BarDisplay/BarDisplay.d.ts} +3 -3
- package/charts/xy-chart/components/displays/{BarDisplay.js → BarDisplay/BarDisplay.js} +10 -10
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelLayout.d.ts +10 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelLayout.js +64 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +19 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.d.ts +24 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js +170 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.d.ts +3 -0
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +28 -0
- package/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.d.ts +34 -0
- package/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js +81 -0
- package/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.d.ts +34 -0
- package/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js +82 -0
- package/charts/xy-chart/components/displays/BarDisplay/label-utils.d.ts +8 -0
- package/charts/xy-chart/components/displays/BarDisplay/label-utils.js +25 -0
- package/charts/xy-chart/components/displays/bar-accessors.js +7 -6
- package/charts/xy-chart/components/legend/XYLegend/xy-legend.css +1 -1
- package/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js +1 -1
- package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
- package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js +1 -1
- package/charts/xy-chart/components/overlay/explore/XYChartExplore.css +2 -2
- package/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js +2 -2
- package/charts/xy-chart/components/overlay/hooks/useApplyPanDelta.js +3 -3
- package/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js +3 -3
- package/charts/xy-chart/components/overlay/hooks/useOverlayEvents.d.ts +1 -1
- package/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js +27 -39
- package/charts/xy-chart/components/overlay/hooks/useResetInteractions.js +3 -3
- package/charts/xy-chart/components/overlay/utils/get-selected-datapoints.js +1 -1
- package/charts/xy-chart/components/overlay/utils/serialize-rectangle-series-values.js +1 -1
- package/charts/xy-chart/components/selection/TooltipHeader.css +2 -2
- package/charts/xy-chart/components/selection/TooltipHeader.sty.js +2 -2
- package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
- package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
- package/charts/xy-chart/components/tooltip/BarSeriesTooltip.js +11 -0
- package/charts/xy-chart/components/tooltip/TopListTooltip.d.ts +7 -0
- package/charts/xy-chart/components/tooltip/TopListTooltip.js +84 -0
- package/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.css +1 -1
- package/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.sty.js +1 -1
- package/charts/xy-chart/components/tooltip/utils/tooltip-styles.css +5 -5
- package/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js +4 -4
- package/charts/xy-chart/context/XYChartLegendHidden.context.d.ts +2 -0
- package/charts/xy-chart/context/XYChartLegendHidden.context.js +27 -0
- package/charts/xy-chart/layout/XYChartLayout.css +2 -2
- package/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
- package/charts/xy-chart/layout/XYChartShiftedDisplay.js +1 -1
- package/charts/xy-chart/processing-strategies/strategies/area-series.js +2 -1
- package/charts/xy-chart/processing-strategies/strategies/bar-series.d.ts +2 -0
- package/charts/xy-chart/processing-strategies/strategies/bar-series.js +9 -3
- package/charts/xy-chart/processing-strategies/strategies/groupable-series.d.ts +13 -3
- package/charts/xy-chart/processing-strategies/strategies/groupable-series.js +38 -4
- package/charts/xy-chart/processing-strategies/strategies/stackable-series.d.ts +14 -4
- package/charts/xy-chart/processing-strategies/strategies/stackable-series.js +38 -4
- package/charts/xy-chart/processing-strategies/utils/access-datapoint/get-bar-datapoints.d.ts +1 -0
- package/charts/xy-chart/processing-strategies/utils/access-datapoint/get-bar-datapoints.js +13 -1
- package/charts/xy-chart/providers/XYChartAxesTicksProvider.js +9 -2
- package/charts/xy-chart/slots/Tooltip.d.ts +2 -6
- package/charts/xy-chart/types/xy-chart-internals.d.ts +2 -0
- package/charts/xy-chart/types/xy-chart-props.d.ts +14 -0
- package/charts/xy-chart/types/xy-chart.d.ts +4 -0
- package/charts/xy-chart/utils/generate-nice-unit-ticks.d.ts +13 -1
- package/charts/xy-chart/utils/generate-nice-unit-ticks.js +39 -8
- package/charts/xy-chart/utils/get-ticks-formatted-by-config.d.ts +21 -1
- package/charts/xy-chart/utils/get-ticks-formatted-by-config.js +93 -11
- package/charts/xy-chart/utils/query-hovered.d.ts +1 -1
- package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.d.ts +6 -0
- package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +79 -0
- package/charts/xy-chart-adoption/timeseries/iterate-slots.d.ts +11 -0
- package/charts/xy-chart-adoption/timeseries/iterate-slots.js +78 -0
- package/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.d.ts +16 -6
- package/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js +54 -18
- package/charts/xy-chart-adoption/timeseries/types/timeseries.d.ts +41 -0
- package/charts/xy-chart-adoption/timeseries/types/timeseries.js +25 -0
- package/charts/xy-chart-adoption/timeseries/utils/render-series.d.ts +8 -0
- package/charts/xy-chart-adoption/timeseries/utils/render-series.js +60 -0
- package/content/accordion/Accordion.css +14 -14
- package/content/accordion/Accordion.sty.js +8 -8
- package/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
- package/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
- package/content/ai-response/AiResponse.css +5 -5
- package/content/ai-response/AiResponse.sty.js +2 -2
- package/content/ai-response/tests/AiResponse-reduced-motion.spec.js +4 -7
- package/content/avatar/Avatar.css +13 -13
- package/content/avatar/Avatar.sty.js +4 -4
- package/content/avatar-group/AvatarGroup.css +3 -3
- package/content/avatar-group/AvatarGroup.sty.js +2 -2
- package/content/chip/BaseChip.css +40 -40
- package/content/chip/BaseChip.sty.js +5 -5
- package/content/chip/ChipContent.css +11 -11
- package/content/chip/ChipContent.sty.js +2 -2
- package/content/chip/ChipDeleteButton.css +19 -19
- package/content/chip/ChipDeleteButton.sty.js +4 -4
- package/content/chip/ChipKey.css +6 -6
- package/content/chip/ChipKey.sty.js +1 -1
- package/content/chip/GroupedChip.css +3 -3
- package/content/chip/GroupedChip.sty.js +3 -3
- package/content/chip-group/ChipGroup.css +4 -4
- package/content/chip-group/ChipGroup.sty.js +1 -1
- package/content/chip-group/Control.css +4 -4
- package/content/chip-group/Control.sty.js +1 -1
- package/content/code-snippet/CodeHighlight.css +25 -25
- package/content/code-snippet/CodeHighlight.sty.js +5 -5
- package/content/code-snippet/CodeSnippet.css +5 -5
- package/content/code-snippet/CodeSnippet.sty.js +2 -2
- package/content/code-snippet/prism-dql-language.d.ts +4 -0
- package/content/code-snippet/prism-dql-language.js +8 -5
- package/content/empty-state/EmptyState.css +28 -28
- package/content/empty-state/EmptyState.sty.js +7 -7
- package/content/empty-state/assets/VisualPresetVariants.js +1 -1
- package/content/empty-state/empty-state-utils.d.ts +1 -1
- package/content/empty-state/empty-state-utils.js +11 -4
- package/content/empty-state/slot-components/Footer.css +1 -1
- package/content/empty-state/slot-components/Footer.sty.js +1 -1
- package/content/empty-state/slot-components/Visual.css +3 -3
- package/content/empty-state/slot-components/Visual.sty.js +1 -1
- package/content/empty-state/slot-components/VisualPreset.js +1 -5
- package/content/expandable-text/ExpandableText.css +7 -7
- package/content/expandable-text/ExpandableText.sty.js +2 -2
- package/content/feature-highlight/FeatureHighlight.css +12 -12
- package/content/feature-highlight/FeatureHighlight.sty.js +3 -3
- package/content/health-indicator/styles.css +23 -23
- package/content/health-indicator/styles.sty.js +1 -1
- package/content/information-overlay/InformationOverlay.css +25 -25
- package/content/information-overlay/InformationOverlay.sty.js +5 -5
- package/content/information-overlay/Trigger.d.ts +2 -3
- package/content/keyboard-shortcut/KeyboardShortcut.css +14 -14
- package/content/keyboard-shortcut/KeyboardShortcut.sty.js +2 -2
- package/content/markdown/Markdown.css +3 -3
- package/content/markdown/Markdown.sty.js +1 -1
- package/content/markdown/transformers/typography-mapping.css +9 -9
- package/content/markdown/transformers/typography-mapping.sty.js +6 -6
- package/content/microguide/Microguide.css +11 -11
- package/content/microguide/Microguide.sty.js +7 -7
- package/content/progress/ProgressBar.css +71 -71
- package/content/progress/ProgressBar.sty.js +5 -5
- package/content/progress/ProgressBarIcon.css +2 -2
- package/content/progress/ProgressBarIcon.sty.js +1 -1
- package/content/progress/ProgressBarLabel.css +3 -3
- package/content/progress/ProgressBarLabel.sty.js +1 -1
- package/content/progress/ProgressBarValue.css +5 -5
- package/content/progress/ProgressBarValue.sty.js +1 -1
- package/content/progress/ProgressCircle.css +40 -40
- package/content/progress/ProgressCircle.sty.js +5 -5
- package/content/shared-components/Visual.css +3 -3
- package/content/shared-components/Visual.sty.js +1 -1
- package/content/skeleton/Skeleton.css +7 -7
- package/content/skeleton/Skeleton.sty.js +5 -5
- package/content/terminology-overlay/TerminologyOverlay.css +4 -4
- package/content/terminology-overlay/TerminologyOverlay.js +16 -4
- package/content/terminology-overlay/TerminologyOverlay.sty.js +1 -1
- package/content/terminology-overlay/Trigger.d.ts +2 -1
- package/content/terminology-overlay/Trigger.js +5 -1
- package/core/components/app-root/AppRoot.css +2 -2
- package/core/components/app-root/AppRoot.sty.js +1 -1
- package/core/components/visually-hidden/VisuallyHidden.css +1 -1
- package/core/components/visually-hidden/VisuallyHidden.sty.js +1 -1
- package/core/contexts/PermissionsContext.d.ts +15 -0
- package/core/contexts/PermissionsContext.js +35 -0
- package/core/dql/dql-common.d.ts +6 -0
- package/core/dql/dql-common.js +2 -0
- package/core/external-links.d.ts +15 -0
- package/core/external-links.js +29 -0
- package/core/hooks/useBehavioralTrackingProps.js +1 -1
- package/core/hooks/usePermissions.d.ts +24 -0
- package/core/hooks/usePermissions.js +55 -0
- package/core/index.d.ts +1 -0
- package/core/index.js +2 -0
- package/core/sdk/sdk-logger.js +2 -2
- package/core/styles/defaultChartValues.css +1 -1
- package/core/styles/defaultChartValues.sty.js +1 -1
- package/core/styles/focusRing.css +66 -66
- package/core/styles/focusRing.sty.js +2 -2
- package/core/styles/focusRingStatic.css +34 -35
- package/core/styles/focusRingStatic.sty.js +1 -1
- package/core/styles/virtualFocus.css +2 -2
- package/core/styles/virtualFocus.sty.js +1 -1
- package/core/time/timeframeStore/actions/dateTimePicker.js +4 -5
- package/core/time/timeframeStore/actions/dateTimeRangePicker.js +4 -6
- package/core/time/timeframeStore/actions/timeframeSelector.js +9 -9
- package/core/time/timeframeStore/timeframeSelector.types.d.ts +5 -1
- package/core/time/useDateTimeMessages.js +1 -1
- package/core/time/validation.js +2 -2
- package/core/types/behavior-tracking-props.d.ts +8 -2
- package/core/utils/colorUtils.css +60 -60
- package/core/utils/colorUtils.sty.js +2 -2
- package/core/utils/extract-behavior-tracking-props.js +1 -1
- package/core/utils/permissionsQueryClient.d.ts +7 -0
- package/core/utils/permissionsQueryClient.js +33 -0
- package/editors/base-code-editor/BaseCodeEditor.css +133 -133
- package/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
- package/editors/dql-editor/DQLEditor.d.ts +55 -22
- package/editors/dql-editor/DQLEditor.js +122 -73
- package/editors/dql-editor/actions-menu/ActionsMenu.css +28 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.d.ts +27 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.js +100 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.sty.d.ts +28 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.sty.js +29 -0
- package/editors/dql-editor/actions-menu/actions-menu-messages.d.ts +17 -0
- package/editors/dql-editor/actions-menu/actions-menu-messages.js +40 -0
- package/editors/dql-editor/dql/DocumentationLink.d.ts +0 -1
- package/editors/dql-editor/dql/DocumentationLink.js +2 -3
- package/editors/dql-editor/dql/SuggestionPart.css +1 -1
- package/editors/dql-editor/dql/SuggestionPart.sty.js +1 -1
- package/editors/dql-editor/dql/dql-language.js +25 -11
- package/editors/dql-editor/dql/dql.js +7 -2
- package/editors/dql-editor/dql/open-autocomplete.d.ts +0 -1
- package/editors/dql-editor/dql/open-autocomplete.js +4 -11
- package/esm/buttons/button/Button.css +15 -15
- package/esm/buttons/button/Button.sty.js +4 -4
- package/esm/buttons/button/Button.sty.js.map +1 -1
- package/esm/buttons/intent-button/IntentButton.css +1 -1
- package/esm/buttons/intent-button/IntentButton.sty.js +1 -1
- package/esm/buttons/intent-button/IntentButton.sty.js.map +1 -1
- package/esm/buttons/notify-button/NotifyButton.css +2 -2
- package/esm/buttons/notify-button/NotifyButton.sty.js +2 -2
- package/esm/buttons/notify-button/NotifyButton.sty.js.map +1 -1
- package/esm/charts/annotations-chart/AnnotationsChart.js +9 -1
- package/esm/charts/annotations-chart/AnnotationsChart.js.map +2 -2
- package/esm/charts/annotations-chart/components/AnnotationsDisplay.js.map +2 -2
- package/esm/charts/annotations-chart/constants.js +3 -1
- package/esm/charts/annotations-chart/constants.js.map +2 -2
- package/esm/charts/annotations-chart/utils/annotations-chart-config.js +2 -0
- package/esm/charts/annotations-chart/utils/annotations-chart-config.js.map +2 -2
- package/esm/charts/annotations-chart/utils/populate-missing-tooltip-props.js +8 -3
- package/esm/charts/annotations-chart/utils/populate-missing-tooltip-props.js.map +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.css +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.css +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.sty.js +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/AnnotationsRenderer.js +4 -3
- package/esm/charts/core/components/annotations/components/AnnotationsRenderer.js.map +2 -2
- package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.css +1 -1
- package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js +1 -1
- package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/displays/AnnotationsContainer.js +12 -0
- package/esm/charts/core/components/annotations/components/displays/AnnotationsContainer.js.map +7 -0
- package/esm/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.js +13 -18
- package/esm/charts/core/components/annotations/components/displays/AnnotationsNumericalDisplay.js.map +2 -2
- package/esm/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.js +13 -18
- package/esm/charts/core/components/annotations/components/displays/AnnotationsTimeDisplay.js.map +2 -2
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.css +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.css +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js +1 -1
- package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsCustomizedTooltip.js +3 -2
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsCustomizedTooltip.js.map +2 -2
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.js +131 -0
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltipContent.js.map +7 -0
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js +121 -0
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js.map +7 -0
- package/esm/charts/core/components/annotations/components/tooltip/utils/prepare-custom-tooltip-data.js +8 -11
- package/esm/charts/core/components/annotations/components/tooltip/utils/prepare-custom-tooltip-data.js.map +2 -2
- package/esm/charts/core/components/annotations/constants.js +2 -0
- package/esm/charts/core/components/annotations/constants.js.map +2 -2
- package/esm/charts/core/components/annotations/hooks/useOverlayEvents.js +18 -0
- package/esm/charts/core/components/annotations/hooks/useOverlayEvents.js.map +2 -2
- package/esm/charts/core/components/axes/Axis.css +1 -1
- package/esm/charts/core/components/axes/Axis.sty.js +1 -1
- package/esm/charts/core/components/axes/Axis.sty.js.map +1 -1
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.css +16 -16
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.sty.js +2 -2
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.sty.js.map +1 -1
- package/esm/charts/core/components/axes/utils/calculate-axis-size.js +4 -2
- package/esm/charts/core/components/axes/utils/calculate-axis-size.js.map +2 -2
- package/esm/charts/core/components/axes/utils/get-tick-label-props.js +47 -1
- package/esm/charts/core/components/axes/utils/get-tick-label-props.js.map +2 -2
- package/esm/charts/core/components/axes/utils/tick-formatters.js +9 -1
- package/esm/charts/core/components/axes/utils/tick-formatters.js.map +2 -2
- package/esm/charts/core/components/chart-grid/ChartGrid.css +3 -3
- package/esm/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
- package/esm/charts/core/components/chart-grid/ChartGrid.sty.js.map +1 -1
- package/esm/charts/core/components/chart-layout/components/styles.css +15 -15
- package/esm/charts/core/components/chart-layout/components/styles.sty.js +4 -4
- package/esm/charts/core/components/chart-layout/components/styles.sty.js.map +1 -1
- package/esm/charts/core/components/chart-states/ChartState.css +4 -4
- package/esm/charts/core/components/chart-states/ChartState.sty.js +4 -4
- package/esm/charts/core/components/chart-states/ChartState.sty.js.map +1 -1
- package/esm/charts/core/components/crosshair/components/Magnifier.css +7 -7
- package/esm/charts/core/components/crosshair/components/Magnifier.sty.js +7 -7
- package/esm/charts/core/components/crosshair/components/Magnifier.sty.js.map +1 -1
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.css +5 -5
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js +2 -2
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.css +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.sty.js +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.css +3 -3
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js +3 -3
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.css +17 -17
- package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js +6 -6
- package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.css +3 -3
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.css +8 -8
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js +4 -4
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/RangeLegend.css +3 -3
- package/esm/charts/core/components/legend/range/RangeLegend.sty.js +1 -1
- package/esm/charts/core/components/legend/range/RangeLegend.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.css +2 -2
- package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.css +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.css +3 -3
- package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.css +3 -3
- package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js.map +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.css +5 -5
- package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js +1 -1
- package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js.map +1 -1
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.css +2 -2
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.sty.js +2 -2
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/OverlayTooltip.js +4 -0
- package/esm/charts/core/components/overlay-tooltip/OverlayTooltip.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/_to-be-removed/DummyInteractionsOverlay.js +8 -5
- package/esm/charts/core/components/overlay-tooltip/_to-be-removed/DummyInteractionsOverlay.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/_to-be-removed/_OverlayTooltipWIPStory.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/_to-be-removed/_OverlayTooltipWIPStory.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js +7 -6
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/{TooltipFooter.js → Footer.js} +3 -6
- package/esm/charts/core/components/overlay-tooltip/components/Footer.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/Action.js +6 -0
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/Action.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/GlobalActions.js +4 -14
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/GlobalActions.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.css +4 -4
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.css +6 -6
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js +6 -6
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItem.js +31 -8
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItem.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItemContent.js +38 -3
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItemContent.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesSymbol.js +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesSymbol.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/hooks/use-series-item-display-state.js +58 -6
- package/esm/charts/core/components/overlay-tooltip/components/series/hooks/use-series-item-display-state.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.css +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/utils/get-name-text-style.js +6 -4
- package/esm/charts/core/components/overlay-tooltip/components/series/utils/get-name-text-style.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/hooks/useTooltipImperativeHandle.js +3 -11
- package/esm/charts/core/components/overlay-tooltip/hooks/useTooltipImperativeHandle.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/overlay.js +8 -8
- package/esm/charts/core/components/overlay-tooltip/overlay.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/tooltip.css +92 -44
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js +46 -34
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/types.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/useTooltipActions.js +67 -0
- package/esm/charts/core/components/overlay-tooltip/useTooltipActions.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/useTooltipReducer.js +9 -11
- package/esm/charts/core/components/overlay-tooltip/useTooltipReducer.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/utils/build-content.js +41 -36
- package/esm/charts/core/components/overlay-tooltip/utils/build-content.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/utils/estimate-series-item-size.js +19 -3
- package/esm/charts/core/components/overlay-tooltip/utils/estimate-series-item-size.js.map +2 -2
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.css +5 -5
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js +5 -5
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js.map +1 -1
- package/esm/charts/core/components/selection-area/SelectionArea.css +9 -9
- package/esm/charts/core/components/selection-area/SelectionArea.sty.js +4 -4
- package/esm/charts/core/components/selection-area/SelectionArea.sty.js.map +1 -1
- package/esm/charts/core/components/shape/BubbleShape/BubbleShape.css +5 -5
- package/esm/charts/core/components/shape/BubbleShape/BubbleShape.sty.js +3 -3
- package/esm/charts/core/components/shape/BubbleShape/BubbleShape.sty.js.map +1 -1
- package/esm/charts/core/components/shape/EmojiShape/EmojiShape.css +3 -3
- package/esm/charts/core/components/shape/EmojiShape/EmojiShape.sty.js +1 -1
- package/esm/charts/core/components/shape/EmojiShape/EmojiShape.sty.js.map +1 -1
- package/esm/charts/core/components/shape/IconShape/IconShape.css +3 -3
- package/esm/charts/core/components/shape/IconShape/IconShape.sty.js +1 -1
- package/esm/charts/core/components/shape/IconShape/IconShape.sty.js.map +1 -1
- package/esm/charts/core/components/shape/styles/DataPointShape.css +8 -8
- package/esm/charts/core/components/shape/styles/DataPointShape.sty.js +4 -4
- package/esm/charts/core/components/shape/styles/DataPointShape.sty.js.map +1 -1
- package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.css +1 -1
- package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js +1 -1
- package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.css +5 -5
- package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js +5 -5
- package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/ContentGrid.css +1 -1
- package/esm/charts/core/components/single-value-renderer/components/ContentGrid.sty.js +1 -1
- package/esm/charts/core/components/single-value-renderer/components/ContentGrid.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Icon.css +3 -3
- package/esm/charts/core/components/single-value-renderer/components/Icon.sty.js +2 -2
- package/esm/charts/core/components/single-value-renderer/components/Icon.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Label.css +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Label.sty.js +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Label.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.css +1 -1
- package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js +1 -1
- package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/Value.css +5 -5
- package/esm/charts/core/components/single-value-renderer/components/Value.sty.js +3 -3
- package/esm/charts/core/components/single-value-renderer/components/Value.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/trend/Trend.css +3 -3
- package/esm/charts/core/components/single-value-renderer/components/trend/Trend.sty.js +3 -3
- package/esm/charts/core/components/single-value-renderer/components/trend/Trend.sty.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.css +2 -2
- package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js +1 -1
- package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js.map +1 -1
- package/esm/charts/core/components/sparkline-display/Sparkline.css +6 -6
- package/esm/charts/core/components/sparkline-display/Sparkline.sty.js +2 -2
- package/esm/charts/core/components/sparkline-display/Sparkline.sty.js.map +1 -1
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.css +7 -7
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js +3 -3
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js.map +1 -1
- package/esm/charts/core/components/threshold-bar/styles.css +9 -9
- package/esm/charts/core/components/threshold-bar/styles.sty.js +2 -2
- package/esm/charts/core/components/threshold-bar/styles.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.sty.js +8 -8
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.css +2 -2
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.sty.js +1 -1
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/Control.css +17 -17
- package/esm/charts/core/components/toolbar/components/Control.sty.js +5 -5
- package/esm/charts/core/components/toolbar/components/Control.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.css +4 -4
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.sty.js +2 -2
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js +2 -2
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.css +8 -8
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js +3 -3
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.css +2 -2
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.css +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.css +6 -6
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js +2 -2
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.css +7 -7
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js +6 -6
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.css +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/atoms/styles.css +3 -3
- package/esm/charts/core/components/tooltip/section-components/atoms/styles.sty.js +3 -3
- package/esm/charts/core/components/tooltip/section-components/atoms/styles.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/styles.css +4 -4
- package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
- package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js.map +1 -1
- package/esm/charts/core/components/zoom/ZoomCursors.css +2 -2
- package/esm/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
- package/esm/charts/core/components/zoom/ZoomCursors.sty.js.map +1 -1
- package/esm/charts/core/hooks/useOverlayEventHandlers.js +8 -25
- package/esm/charts/core/hooks/useOverlayEventHandlers.js.map +2 -2
- package/esm/charts/core/slots/toolbar/CompactToolbar.js +2 -2
- package/esm/charts/core/slots/toolbar/CompactToolbar.js.map +1 -1
- package/esm/charts/core/typographyStyles.css +1 -1
- package/esm/charts/core/typographyStyles.sty.js +1 -1
- package/esm/charts/core/typographyStyles.sty.js.map +1 -1
- package/esm/charts/core/utils/adaptively-reduce-horizontal-ticks.js +45 -0
- package/esm/charts/core/utils/adaptively-reduce-horizontal-ticks.js.map +7 -0
- package/esm/charts/core/utils/extract-behavior-tracking-props.js +1 -1
- package/esm/charts/core/utils/extract-behavior-tracking-props.js.map +2 -2
- package/esm/charts/core/utils/has-horizontal-label-collision.js +57 -0
- package/esm/charts/core/utils/has-horizontal-label-collision.js.map +7 -0
- package/esm/charts/core/utils/is-feature-enabled.js +2 -1
- package/esm/charts/core/utils/is-feature-enabled.js.map +2 -2
- package/esm/charts/gantt-chart/GanttChartLine.css +1 -1
- package/esm/charts/gantt-chart/GanttChartLine.sty.js +1 -1
- package/esm/charts/gantt-chart/GanttChartLine.sty.js.map +1 -1
- package/esm/charts/gantt-chart/components/GanttChartLineRenderer.css +1 -1
- package/esm/charts/gantt-chart/components/GanttChartLineRenderer.sty.js +1 -1
- package/esm/charts/gantt-chart/components/GanttChartLineRenderer.sty.js.map +1 -1
- package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.css +1 -1
- package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js +1 -1
- package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.css +1 -1
- package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js +1 -1
- package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeChartTooltip/GaugeOverlayTooltip.js +12 -2
- package/esm/charts/gauge/components/GaugeChartTooltip/GaugeOverlayTooltip.js.map +2 -2
- package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.css +6 -6
- package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
- package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeLabels.js +3 -4
- package/esm/charts/gauge/components/GaugeLabels.js.map +2 -2
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.css +3 -3
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js +1 -1
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.css +4 -4
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js +12 -11
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js.map +2 -2
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js +3 -3
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.css +2 -2
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js +2 -2
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js.map +1 -1
- package/esm/charts/gauge/constants.js +2 -0
- package/esm/charts/gauge/constants.js.map +2 -2
- package/esm/charts/gauge/contexts/GaugeChartTooltipContext.js +9 -0
- package/esm/charts/gauge/contexts/GaugeChartTooltipContext.js.map +7 -0
- package/esm/charts/gauge/hooks/useGaugeChartMinMaxLabelsPosition.js +20 -2
- package/esm/charts/gauge/hooks/useGaugeChartMinMaxLabelsPosition.js.map +2 -2
- package/esm/charts/gauge/providers/GaugeChartProviders.js +11 -3
- package/esm/charts/gauge/providers/GaugeChartProviders.js.map +2 -2
- package/esm/charts/gauge/slots/Tooltip.js +1 -1
- package/esm/charts/gauge/slots/Tooltip.js.map +2 -2
- package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.css +1 -1
- package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js +1 -1
- package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js.map +1 -1
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.css +1 -1
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js +1 -1
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js.map +1 -1
- package/esm/charts/histogram/components/overlays/HistogramOverlays.css +2 -2
- package/esm/charts/histogram/components/overlays/HistogramOverlays.sty.js +2 -2
- package/esm/charts/histogram/components/overlays/HistogramOverlays.sty.js.map +1 -1
- package/esm/charts/honeycomb/HoneycombChart.css +1 -1
- package/esm/charts/honeycomb/HoneycombChart.js +3 -1
- package/esm/charts/honeycomb/HoneycombChart.js.map +2 -2
- package/esm/charts/honeycomb/HoneycombChart.sty.js +1 -1
- package/esm/charts/honeycomb/HoneycombChart.sty.js.map +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.css +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.sty.js +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.sty.js.map +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.css +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js.map +1 -1
- package/esm/charts/honeycomb/components/tooltip/HoneycombOverlayTooltip.js +16 -1
- package/esm/charts/honeycomb/components/tooltip/HoneycombOverlayTooltip.js.map +2 -2
- package/esm/charts/honeycomb/context/honeycomb-custom-tooltip.context.js +6 -0
- package/esm/charts/honeycomb/context/honeycomb-custom-tooltip.context.js.map +7 -0
- package/esm/charts/honeycomb/hooks/use-honeycomb-custom-tooltip.js +7 -0
- package/esm/charts/honeycomb/hooks/use-honeycomb-custom-tooltip.js.map +7 -0
- package/esm/charts/honeycomb/providers/honeycomb-configuration.provider.js +2 -1
- package/esm/charts/honeycomb/providers/honeycomb-configuration.provider.js.map +2 -2
- package/esm/charts/honeycomb/slots/Tooltip.js +6 -0
- package/esm/charts/honeycomb/slots/Tooltip.js.map +7 -0
- package/esm/charts/honeycomb/utils/build-honeycomb-config.js +2 -1
- package/esm/charts/honeycomb/utils/build-honeycomb-config.js.map +2 -2
- package/esm/charts/honeycomb/utils/build-overlay-tooltip-data.js +5 -1
- package/esm/charts/honeycomb/utils/build-overlay-tooltip-data.js.map +2 -2
- package/esm/charts/honeycomb/utils/iterate-honeycomb-slots.js +11 -1
- package/esm/charts/honeycomb/utils/iterate-honeycomb-slots.js.map +2 -2
- package/esm/charts/index.js +5 -1
- package/esm/charts/index.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/MultiMeterBarChart.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/MultiMeterBarChart.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlay.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlay.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.js +34 -8
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartOverlay/MultiMeterBarChartOverlayWithTooltip.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/default.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/default.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/hooks/useMultiMeterBarChartTooltipHandlers.js +10 -37
- package/esm/charts/meter-bar/multi-meter-bar/hooks/useMultiMeterBarChartTooltipHandlers.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/types/multi-meter-bar-chart.js.map +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/utils/build-multi-meter-bar-chart-config.js +10 -7
- package/esm/charts/meter-bar/multi-meter-bar/utils/build-multi-meter-bar-chart-config.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/utils/iterate-slots.js +4 -1
- package/esm/charts/meter-bar/multi-meter-bar/utils/iterate-slots.js.map +2 -2
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.css +15 -15
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js +10 -10
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.css +2 -2
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-toolbar/MeterBarToolbar.js +3 -3
- package/esm/charts/meter-bar/shared/components/meter-bar-toolbar/MeterBarToolbar.js.map +2 -2
- package/esm/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-tooltip/MeterBarTooltipItem/MeterBarTooltipItem.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/styles/element-size.css +4 -4
- package/esm/charts/meter-bar/shared/styles/element-size.sty.js +1 -1
- package/esm/charts/meter-bar/shared/styles/element-size.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/styles.css +1 -1
- package/esm/charts/meter-bar/shared/styles.sty.js +1 -1
- package/esm/charts/meter-bar/shared/styles.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/utils/slot-handlers.js +0 -10
- package/esm/charts/meter-bar/shared/utils/slot-handlers.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/MeterBarChart.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/MeterBarChart.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlay.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlay.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlayWithTooltip.js +61 -16
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartOverlay/MeterBarChartOverlayWithTooltip.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.css +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js.map +1 -1
- package/esm/charts/meter-bar/single-meter-bar/context/MeterBarChartInternalConfigContext.js.map +1 -1
- package/esm/charts/meter-bar/single-meter-bar/types/default.js +2 -1
- package/esm/charts/meter-bar/single-meter-bar/types/default.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/utils/build-meter-bar-chart-config.js +5 -1
- package/esm/charts/meter-bar/single-meter-bar/utils/build-meter-bar-chart-config.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/utils/iterate-slots.js +4 -1
- package/esm/charts/meter-bar/single-meter-bar/utils/iterate-slots.js.map +2 -2
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.css +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js.map +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.css +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js.map +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.css +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js.map +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.css +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js.map +1 -1
- package/esm/charts/pie/hooks/usePieHandlers.js +3 -3
- package/esm/charts/pie/hooks/usePieHandlers.js.map +2 -2
- package/esm/charts/pie/hooks/useSliceHandlers.js +7 -41
- package/esm/charts/pie/hooks/useSliceHandlers.js.map +2 -2
- package/esm/charts/single-value/SingleValue.css +1 -1
- package/esm/charts/single-value/SingleValue.js +4 -1
- package/esm/charts/single-value/SingleValue.js.map +2 -2
- package/esm/charts/single-value/SingleValue.sty.js +1 -1
- package/esm/charts/single-value/SingleValue.sty.js.map +1 -1
- package/esm/charts/single-value-grid/SingleValueGrid.css +2 -2
- package/esm/charts/single-value-grid/SingleValueGrid.js +4 -1
- package/esm/charts/single-value-grid/SingleValueGrid.js.map +2 -2
- package/esm/charts/single-value-grid/SingleValueGrid.sty.js +1 -1
- package/esm/charts/single-value-grid/SingleValueGrid.sty.js.map +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.css +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js.map +1 -1
- package/esm/charts/single-value-grid/defaults.js +4 -4
- package/esm/charts/single-value-grid/defaults.js.map +1 -1
- package/esm/charts/single-value-grid/utils/iterate-slots.js +2 -2
- package/esm/charts/single-value-grid/utils/iterate-slots.js.map +1 -1
- package/esm/charts/timeseries/TimeseriesChart.js +65 -131
- package/esm/charts/timeseries/TimeseriesChart.js.map +2 -2
- package/esm/charts/timeseries/TimeseriesChartInternal.js +136 -0
- package/esm/charts/timeseries/TimeseriesChartInternal.js.map +7 -0
- package/esm/charts/timeseries/TimeseriesChartRoot.js +2 -54
- package/esm/charts/timeseries/TimeseriesChartRoot.js.map +2 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +2 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.js +4 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.js.map +2 -2
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js +1 -1
- package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js.map +1 -1
- package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.css +4 -4
- package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js +4 -4
- package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js.map +1 -1
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapTooltip/TreeMapOverlayTooltip.js +12 -1
- package/esm/charts/tree-map/components/TreeMapTooltip/TreeMapOverlayTooltip.js.map +2 -2
- package/esm/charts/tree-map/components/canvas/TreeMapSquareRenderer.js +3 -2
- package/esm/charts/tree-map/components/canvas/TreeMapSquareRenderer.js.map +2 -2
- package/esm/charts/tree-map/components/canvas/utils/canvas-label-utils.js +7 -7
- package/esm/charts/tree-map/components/canvas/utils/canvas-label-utils.js.map +2 -2
- package/esm/charts/tree-map/constants.js +1 -0
- package/esm/charts/tree-map/constants.js.map +2 -2
- package/esm/charts/tree-map/contexts/TreeMapCustomTooltipContext.js +10 -0
- package/esm/charts/tree-map/contexts/TreeMapCustomTooltipContext.js.map +7 -0
- package/esm/charts/tree-map/hooks/useTreeMapCustomTooltip.js +7 -0
- package/esm/charts/tree-map/hooks/useTreeMapCustomTooltip.js.map +7 -0
- package/esm/charts/tree-map/providers/TreeMapChartProviders.js +13 -2
- package/esm/charts/tree-map/providers/TreeMapChartProviders.js.map +2 -2
- package/esm/charts/tree-map/slots/Tooltip.js +1 -1
- package/esm/charts/tree-map/slots/Tooltip.js.map +2 -2
- package/esm/charts/tree-map/utils/build-overlay-tooltip-data.js +3 -1
- package/esm/charts/tree-map/utils/build-overlay-tooltip-data.js.map +2 -2
- package/esm/charts/tree-map/utils/build-tree-map-chart-config.js +2 -1
- package/esm/charts/tree-map/utils/build-tree-map-chart-config.js.map +2 -2
- package/esm/charts/tree-map/utils/iterate-slots.js +8 -2
- package/esm/charts/tree-map/utils/iterate-slots.js.map +2 -2
- package/esm/charts/xy-chart/XYChart.js +2 -0
- package/esm/charts/xy-chart/XYChart.js.map +2 -2
- package/esm/charts/xy-chart/XYChartRoot.js +55 -39
- package/esm/charts/xy-chart/XYChartRoot.js.map +2 -2
- package/esm/charts/xy-chart/components/axes/AxisArea.css +1 -1
- package/esm/charts/xy-chart/components/axes/AxisArea.sty.js +1 -1
- package/esm/charts/xy-chart/components/axes/AxisArea.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.css +3 -3
- package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js +3 -3
- package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/axes/XYChartBottomAxisArea.js +78 -63
- package/esm/charts/xy-chart/components/axes/XYChartBottomAxisArea.js.map +2 -2
- package/esm/charts/xy-chart/components/axes/XYChartTopAxisArea.js +78 -63
- package/esm/charts/xy-chart/components/axes/XYChartTopAxisArea.js.map +2 -2
- package/esm/charts/xy-chart/components/axes/utils/compute-collision-aware-max-space.js +35 -0
- package/esm/charts/xy-chart/components/axes/utils/compute-collision-aware-max-space.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/{BarDisplay.js → BarDisplay/BarDisplay.js} +13 -10
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarDisplay.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelLayout.js +46 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelLayout.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +19 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js +150 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +10 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js +63 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js +64 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/label-utils.js +7 -0
- package/esm/charts/xy-chart/components/displays/BarDisplay/label-utils.js.map +7 -0
- package/esm/charts/xy-chart/components/displays/bar-accessors.js +7 -6
- package/esm/charts/xy-chart/components/displays/bar-accessors.js.map +2 -2
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.css +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.css +2 -2
- package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js +2 -2
- package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyPanDelta.js +3 -3
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyPanDelta.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js +3 -3
- package/esm/charts/xy-chart/components/overlay/hooks/useApplyZoomDelta.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js +27 -39
- package/esm/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/hooks/useResetInteractions.js +3 -3
- package/esm/charts/xy-chart/components/overlay/hooks/useResetInteractions.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/utils/get-selected-datapoints.js +1 -1
- package/esm/charts/xy-chart/components/overlay/utils/get-selected-datapoints.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/utils/serialize-rectangle-series-values.js +1 -1
- package/esm/charts/xy-chart/components/overlay/utils/serialize-rectangle-series-values.js.map +1 -1
- package/esm/charts/xy-chart/components/selection/TooltipHeader.css +2 -2
- package/esm/charts/xy-chart/components/selection/TooltipHeader.sty.js +2 -2
- package/esm/charts/xy-chart/components/selection/TooltipHeader.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/tooltip/BarSeriesTooltip.js +11 -0
- package/esm/charts/xy-chart/components/tooltip/BarSeriesTooltip.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/TopListTooltip.js +66 -0
- package/esm/charts/xy-chart/components/tooltip/TopListTooltip.js.map +7 -0
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.css +1 -1
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.sty.js +1 -1
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipTemplate/XYChartTooltipTemplate.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.css +5 -5
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js +4 -4
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js.map +1 -1
- package/esm/charts/xy-chart/context/XYChartLegendHidden.context.js +9 -0
- package/esm/charts/xy-chart/context/XYChartLegendHidden.context.js.map +7 -0
- package/esm/charts/xy-chart/layout/XYChartLayout.css +2 -2
- package/esm/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
- package/esm/charts/xy-chart/layout/XYChartLayout.sty.js.map +1 -1
- package/esm/charts/xy-chart/layout/XYChartShiftedDisplay.js +1 -1
- package/esm/charts/xy-chart/layout/XYChartShiftedDisplay.js.map +1 -1
- package/esm/charts/xy-chart/processing-strategies/strategies/area-series.js +2 -1
- package/esm/charts/xy-chart/processing-strategies/strategies/area-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/bar-series.js +9 -3
- package/esm/charts/xy-chart/processing-strategies/strategies/bar-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/groupable-series.js +42 -5
- package/esm/charts/xy-chart/processing-strategies/strategies/groupable-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/stackable-series.js +39 -4
- package/esm/charts/xy-chart/processing-strategies/strategies/stackable-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/utils/access-datapoint/get-bar-datapoints.js +14 -2
- package/esm/charts/xy-chart/processing-strategies/utils/access-datapoint/get-bar-datapoints.js.map +2 -2
- package/esm/charts/xy-chart/providers/XYChartAxesTicksProvider.js +9 -2
- package/esm/charts/xy-chart/providers/XYChartAxesTicksProvider.js.map +2 -2
- package/esm/charts/xy-chart/slots/Tooltip.js.map +2 -2
- package/esm/charts/xy-chart/types/xy-chart-internals.js.map +2 -2
- package/esm/charts/xy-chart/types/xy-chart.js.map +1 -1
- package/esm/charts/xy-chart/utils/generate-nice-unit-ticks.js +39 -8
- package/esm/charts/xy-chart/utils/generate-nice-unit-ticks.js.map +2 -2
- package/esm/charts/xy-chart/utils/get-ticks-formatted-by-config.js +93 -11
- package/esm/charts/xy-chart/utils/get-ticks-formatted-by-config.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +70 -0
- package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js +60 -0
- package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js +54 -18
- package/esm/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries.js +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/render-series.js +42 -0
- package/esm/charts/xy-chart-adoption/timeseries/utils/render-series.js.map +7 -0
- package/esm/content/accordion/Accordion.css +14 -14
- package/esm/content/accordion/Accordion.sty.js +8 -8
- package/esm/content/accordion/Accordion.sty.js.map +1 -1
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js.map +1 -1
- package/esm/content/ai-response/AiResponse.css +5 -5
- package/esm/content/ai-response/AiResponse.sty.js +2 -2
- package/esm/content/ai-response/AiResponse.sty.js.map +1 -1
- package/esm/content/ai-response/tests/AiResponse-reduced-motion.spec.js +4 -7
- package/esm/content/ai-response/tests/AiResponse-reduced-motion.spec.js.map +2 -2
- package/esm/content/avatar/Avatar.css +13 -13
- package/esm/content/avatar/Avatar.sty.js +4 -4
- package/esm/content/avatar/Avatar.sty.js.map +1 -1
- package/esm/content/avatar-group/AvatarGroup.css +3 -3
- package/esm/content/avatar-group/AvatarGroup.sty.js +2 -2
- package/esm/content/avatar-group/AvatarGroup.sty.js.map +1 -1
- package/esm/content/chip/BaseChip.css +40 -40
- package/esm/content/chip/BaseChip.sty.js +5 -5
- package/esm/content/chip/BaseChip.sty.js.map +1 -1
- package/esm/content/chip/ChipContent.css +11 -11
- package/esm/content/chip/ChipContent.sty.js +2 -2
- package/esm/content/chip/ChipContent.sty.js.map +1 -1
- package/esm/content/chip/ChipDeleteButton.css +19 -19
- package/esm/content/chip/ChipDeleteButton.sty.js +4 -4
- package/esm/content/chip/ChipDeleteButton.sty.js.map +1 -1
- package/esm/content/chip/ChipKey.css +6 -6
- package/esm/content/chip/ChipKey.sty.js +1 -1
- package/esm/content/chip/ChipKey.sty.js.map +1 -1
- package/esm/content/chip/GroupedChip.css +3 -3
- package/esm/content/chip/GroupedChip.sty.js +3 -3
- package/esm/content/chip/GroupedChip.sty.js.map +1 -1
- package/esm/content/chip-group/ChipGroup.css +4 -4
- package/esm/content/chip-group/ChipGroup.sty.js +1 -1
- package/esm/content/chip-group/ChipGroup.sty.js.map +1 -1
- package/esm/content/chip-group/Control.css +4 -4
- package/esm/content/chip-group/Control.sty.js +1 -1
- package/esm/content/chip-group/Control.sty.js.map +1 -1
- package/esm/content/code-snippet/CodeHighlight.css +25 -25
- package/esm/content/code-snippet/CodeHighlight.sty.js +5 -5
- package/esm/content/code-snippet/CodeHighlight.sty.js.map +1 -1
- package/esm/content/code-snippet/CodeSnippet.css +5 -5
- package/esm/content/code-snippet/CodeSnippet.sty.js +2 -2
- package/esm/content/code-snippet/CodeSnippet.sty.js.map +1 -1
- package/esm/content/code-snippet/prism-dql-language.js +9 -5
- package/esm/content/code-snippet/prism-dql-language.js.map +2 -2
- package/esm/content/empty-state/EmptyState.css +28 -28
- package/esm/content/empty-state/EmptyState.sty.js +7 -7
- package/esm/content/empty-state/EmptyState.sty.js.map +1 -1
- package/esm/content/empty-state/assets/VisualPresetVariants.js +1 -1
- package/esm/content/empty-state/assets/VisualPresetVariants.js.map +1 -1
- package/esm/content/empty-state/empty-state-utils.js +11 -4
- package/esm/content/empty-state/empty-state-utils.js.map +2 -2
- package/esm/content/empty-state/slot-components/Footer.css +1 -1
- package/esm/content/empty-state/slot-components/Footer.sty.js +1 -1
- package/esm/content/empty-state/slot-components/Footer.sty.js.map +1 -1
- package/esm/content/empty-state/slot-components/Visual.css +3 -3
- package/esm/content/empty-state/slot-components/Visual.sty.js +1 -1
- package/esm/content/empty-state/slot-components/Visual.sty.js.map +1 -1
- package/esm/content/empty-state/slot-components/VisualPreset.js +2 -6
- package/esm/content/empty-state/slot-components/VisualPreset.js.map +2 -2
- package/esm/content/expandable-text/ExpandableText.css +7 -7
- package/esm/content/expandable-text/ExpandableText.sty.js +2 -2
- package/esm/content/expandable-text/ExpandableText.sty.js.map +1 -1
- package/esm/content/feature-highlight/FeatureHighlight.css +12 -12
- package/esm/content/feature-highlight/FeatureHighlight.sty.js +3 -3
- package/esm/content/feature-highlight/FeatureHighlight.sty.js.map +1 -1
- package/esm/content/health-indicator/styles.css +23 -23
- package/esm/content/health-indicator/styles.sty.js +1 -1
- package/esm/content/health-indicator/styles.sty.js.map +1 -1
- package/esm/content/information-overlay/InformationOverlay.css +25 -25
- package/esm/content/information-overlay/InformationOverlay.sty.js +5 -5
- package/esm/content/information-overlay/InformationOverlay.sty.js.map +1 -1
- package/esm/content/information-overlay/Trigger.js +2 -2
- package/esm/content/information-overlay/Trigger.js.map +2 -2
- package/esm/content/keyboard-shortcut/KeyboardShortcut.css +14 -14
- package/esm/content/keyboard-shortcut/KeyboardShortcut.sty.js +2 -2
- package/esm/content/keyboard-shortcut/KeyboardShortcut.sty.js.map +1 -1
- package/esm/content/markdown/Markdown.css +3 -3
- package/esm/content/markdown/Markdown.sty.js +1 -1
- package/esm/content/markdown/Markdown.sty.js.map +1 -1
- package/esm/content/markdown/transformers/typography-mapping.css +9 -9
- package/esm/content/markdown/transformers/typography-mapping.sty.js +6 -6
- package/esm/content/markdown/transformers/typography-mapping.sty.js.map +1 -1
- package/esm/content/microguide/Microguide.css +11 -11
- package/esm/content/microguide/Microguide.sty.js +7 -7
- package/esm/content/microguide/Microguide.sty.js.map +1 -1
- package/esm/content/progress/ProgressBar.css +71 -71
- package/esm/content/progress/ProgressBar.sty.js +5 -5
- package/esm/content/progress/ProgressBar.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarIcon.css +2 -2
- package/esm/content/progress/ProgressBarIcon.sty.js +1 -1
- package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarLabel.css +3 -3
- package/esm/content/progress/ProgressBarLabel.sty.js +1 -1
- package/esm/content/progress/ProgressBarLabel.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarValue.css +5 -5
- package/esm/content/progress/ProgressBarValue.sty.js +1 -1
- package/esm/content/progress/ProgressBarValue.sty.js.map +1 -1
- package/esm/content/progress/ProgressCircle.css +40 -40
- package/esm/content/progress/ProgressCircle.sty.js +5 -5
- package/esm/content/progress/ProgressCircle.sty.js.map +1 -1
- package/esm/content/shared-components/Visual.css +3 -3
- package/esm/content/shared-components/Visual.sty.js +1 -1
- package/esm/content/shared-components/Visual.sty.js.map +1 -1
- package/esm/content/skeleton/Skeleton.css +7 -7
- package/esm/content/skeleton/Skeleton.sty.js +5 -5
- package/esm/content/skeleton/Skeleton.sty.js.map +1 -1
- package/esm/content/terminology-overlay/TerminologyOverlay.css +4 -4
- package/esm/content/terminology-overlay/TerminologyOverlay.js +16 -4
- package/esm/content/terminology-overlay/TerminologyOverlay.js.map +2 -2
- package/esm/content/terminology-overlay/TerminologyOverlay.sty.js +1 -1
- package/esm/content/terminology-overlay/TerminologyOverlay.sty.js.map +1 -1
- package/esm/content/terminology-overlay/Trigger.js +5 -1
- package/esm/content/terminology-overlay/Trigger.js.map +2 -2
- package/esm/core/components/app-root/AppRoot.css +2 -2
- package/esm/core/components/app-root/AppRoot.sty.js +1 -1
- package/esm/core/components/app-root/AppRoot.sty.js.map +1 -1
- package/esm/core/components/visually-hidden/VisuallyHidden.css +1 -1
- package/esm/core/components/visually-hidden/VisuallyHidden.sty.js +1 -1
- package/esm/core/components/visually-hidden/VisuallyHidden.sty.js.map +1 -1
- package/esm/core/contexts/PermissionsContext.js +17 -0
- package/esm/core/contexts/PermissionsContext.js.map +7 -0
- package/esm/core/dql/dql-common.js +2 -0
- package/esm/core/dql/dql-common.js.map +2 -2
- package/esm/core/external-links.js +11 -0
- package/esm/core/external-links.js.map +7 -0
- package/esm/core/hooks/useBehavioralTrackingProps.js +1 -1
- package/esm/core/hooks/useBehavioralTrackingProps.js.map +2 -2
- package/esm/core/hooks/usePermissions.js +37 -0
- package/esm/core/hooks/usePermissions.js.map +7 -0
- package/esm/core/index.js +4 -0
- package/esm/core/index.js.map +2 -2
- package/esm/core/sdk/sdk-logger.js +2 -2
- package/esm/core/styles/defaultChartValues.css +1 -1
- package/esm/core/styles/defaultChartValues.sty.js +1 -1
- package/esm/core/styles/defaultChartValues.sty.js.map +1 -1
- package/esm/core/styles/focusRing.css +66 -66
- package/esm/core/styles/focusRing.sty.js +2 -2
- package/esm/core/styles/focusRing.sty.js.map +1 -1
- package/esm/core/styles/focusRingStatic.css +34 -35
- package/esm/core/styles/focusRingStatic.sty.js +1 -1
- package/esm/core/styles/focusRingStatic.sty.js.map +1 -1
- package/esm/core/styles/virtualFocus.css +2 -2
- package/esm/core/styles/virtualFocus.sty.js +1 -1
- package/esm/core/styles/virtualFocus.sty.js.map +1 -1
- package/esm/core/time/timeframeStore/actions/dateTimePicker.js +5 -6
- package/esm/core/time/timeframeStore/actions/dateTimePicker.js.map +2 -2
- package/esm/core/time/timeframeStore/actions/dateTimeRangePicker.js +5 -7
- package/esm/core/time/timeframeStore/actions/dateTimeRangePicker.js.map +2 -2
- package/esm/core/time/timeframeStore/actions/timeframeSelector.js +10 -10
- package/esm/core/time/timeframeStore/actions/timeframeSelector.js.map +2 -2
- package/esm/core/time/useDateTimeMessages.js +6 -6
- package/esm/core/time/useDateTimeMessages.js.map +2 -2
- package/esm/core/time/validation.js +2 -2
- package/esm/core/time/validation.js.map +2 -2
- package/esm/core/utils/colorUtils.css +60 -60
- package/esm/core/utils/colorUtils.sty.js +2 -2
- package/esm/core/utils/colorUtils.sty.js.map +1 -1
- package/esm/core/utils/extract-behavior-tracking-props.js +1 -1
- package/esm/core/utils/extract-behavior-tracking-props.js.map +2 -2
- package/esm/core/utils/permissionsQueryClient.js +15 -0
- package/esm/core/utils/permissionsQueryClient.js.map +7 -0
- package/esm/editors/base-code-editor/BaseCodeEditor.css +133 -133
- package/esm/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
- package/esm/editors/base-code-editor/BaseCodeEditor.sty.js.map +1 -1
- package/esm/editors/dql-editor/DQLEditor.js +124 -75
- package/esm/editors/dql-editor/DQLEditor.js.map +2 -2
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.css +28 -0
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.js +76 -0
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.js.map +7 -0
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js +11 -0
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js.map +7 -0
- package/esm/editors/dql-editor/actions-menu/actions-menu-messages.js +22 -0
- package/esm/editors/dql-editor/actions-menu/actions-menu-messages.js.map +7 -0
- package/esm/editors/dql-editor/dql/DocumentationLink.js +2 -3
- package/esm/editors/dql-editor/dql/DocumentationLink.js.map +2 -2
- package/esm/editors/dql-editor/dql/SuggestionPart.css +1 -1
- package/esm/editors/dql-editor/dql/SuggestionPart.sty.js +1 -1
- package/esm/editors/dql-editor/dql/SuggestionPart.sty.js.map +1 -1
- package/esm/editors/dql-editor/dql/dql-language.js +27 -13
- package/esm/editors/dql-editor/dql/dql-language.js.map +2 -2
- package/esm/editors/dql-editor/dql/dql.js +8 -2
- package/esm/editors/dql-editor/dql/dql.js.map +2 -2
- package/esm/editors/dql-editor/dql/open-autocomplete.js +4 -11
- package/esm/editors/dql-editor/dql/open-autocomplete.js.map +2 -2
- package/esm/filters/filter-field/FilterField.css +119 -116
- package/esm/filters/filter-field/FilterField.js +89 -68
- package/esm/filters/filter-field/FilterField.js.map +2 -2
- package/esm/filters/filter-field/FilterField.sty.js +28 -28
- package/esm/filters/filter-field/FilterField.sty.js.map +1 -1
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.js +1 -0
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.js.map +2 -2
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js.map +1 -1
- package/esm/filters/filter-field/components/FilterStatement.css +13 -13
- package/esm/filters/filter-field/components/FilterStatement.sty.js +6 -6
- package/esm/filters/filter-field/components/FilterStatement.sty.js.map +1 -1
- package/esm/filters/filter-field/hooks/useSuggestions.js +7 -1
- package/esm/filters/filter-field/hooks/useSuggestions.js.map +2 -2
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.css +9 -9
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js +2 -2
- package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/Suggestion.css +24 -24
- package/esm/filters/filter-field/suggestions/Suggestion.js +10 -1
- package/esm/filters/filter-field/suggestions/Suggestion.js.map +2 -2
- package/esm/filters/filter-field/suggestions/Suggestion.sty.js +17 -15
- package/esm/filters/filter-field/suggestions/Suggestion.sty.js.map +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionDetails.css +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionDetails.sty.js +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionDetails.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroup.css +6 -6
- package/esm/filters/filter-field/suggestions/SuggestionGroup.sty.js +3 -3
- package/esm/filters/filter-field/suggestions/SuggestionGroup.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.css +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionTips.css +7 -7
- package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js +5 -5
- package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/Suggestions.js +1 -1
- package/esm/filters/filter-field/suggestions/Suggestions.js.map +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionsOverlay.css +7 -7
- package/esm/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
- package/esm/filters/filter-field/suggestions/SuggestionsOverlay.sty.js.map +1 -1
- package/esm/filters/filter-field/utils/get-suggestion-transaction.js +1 -1
- package/esm/filters/filter-field/utils/get-suggestion-transaction.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/get-suggestions.js +15 -18
- package/esm/filters/filter-field/utils/suggestions-utils/get-suggestions.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/operator-suggestions.js +4 -2
- package/esm/filters/filter-field/utils/suggestions-utils/operator-suggestions.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/suggestion-matching.js +46 -0
- package/esm/filters/filter-field/utils/suggestions-utils/suggestion-matching.js.map +7 -0
- package/esm/filters/segment-selector/SegmentSelector.css +4 -4
- package/esm/filters/segment-selector/SegmentSelector.js +4 -4
- package/esm/filters/segment-selector/SegmentSelector.js.map +2 -2
- package/esm/filters/segment-selector/SegmentSelector.sty.js +4 -4
- package/esm/filters/segment-selector/SegmentSelector.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/EmptySegments.css +1 -1
- package/esm/filters/segment-selector/parts/EmptySegments.js +7 -3
- package/esm/filters/segment-selector/parts/EmptySegments.js.map +2 -2
- package/esm/filters/segment-selector/parts/EmptySegments.sty.js +1 -1
- package/esm/filters/segment-selector/parts/EmptySegments.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/Overlay.css +8 -8
- package/esm/filters/segment-selector/parts/Overlay.js +8 -4
- package/esm/filters/segment-selector/parts/Overlay.js.map +2 -2
- package/esm/filters/segment-selector/parts/Overlay.sty.js +8 -8
- package/esm/filters/segment-selector/parts/Overlay.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/SegmentFooter.js +7 -3
- package/esm/filters/segment-selector/parts/SegmentFooter.js.map +2 -2
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/noAccessRights/CopyPermissionsButton.js +3 -5
- package/esm/filters/segment-selector/parts/noAccessRights/CopyPermissionsButton.js.map +2 -2
- package/esm/filters/segment-selector/parts/noAccessRights/NoAccessWithoutSelection.js +2 -1
- package/esm/filters/segment-selector/parts/noAccessRights/NoAccessWithoutSelection.js.map +2 -2
- package/esm/filters/segment-selector/parts/segmentManagementHref.js +8 -0
- package/esm/filters/segment-selector/parts/segmentManagementHref.js.map +7 -0
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +32 -32
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js +10 -10
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.css +22 -22
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.js +8 -4
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.js.map +2 -2
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js +7 -7
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js +39 -14
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.css +5 -1
- package/esm/filters/timeframe-selector/TimeframeSelector.js +3 -10
- package/esm/filters/timeframe-selector/TimeframeSelector.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.sty.js +4 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.sty.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js +5 -3
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js.map +2 -2
- package/esm/filters/timeframe-selector/components/TimeframeSelectorTooltip.js +1 -1
- package/esm/filters/timeframe-selector/components/TimeframeSelectorTooltip.js.map +2 -2
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.js +4 -0
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.js.map +2 -2
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js +3 -3
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.css +4 -4
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js +4 -4
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js +6 -7
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js.map +2 -2
- package/esm/filters/timeframe-selector/components/presets/Presets.css +27 -27
- package/esm/filters/timeframe-selector/components/presets/Presets.sty.js +11 -11
- package/esm/filters/timeframe-selector/components/presets/Presets.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/components/stepper/StepperButton.js +1 -1
- package/esm/filters/timeframe-selector/components/stepper/StepperButton.js.map +2 -2
- package/esm/filters/timeframe-selector/components/trigger/Trigger.css +11 -11
- package/esm/filters/timeframe-selector/components/trigger/Trigger.js +1 -0
- package/esm/filters/timeframe-selector/components/trigger/Trigger.js.map +2 -2
- package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
- package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/utils/getTimeframeDisplayValueProps.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.css +99 -99
- package/esm/forms/_base-input/BaseInput.js +35 -20
- package/esm/forms/_base-input/BaseInput.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.sty.js +12 -12
- package/esm/forms/_base-input/BaseInput.sty.js.map +2 -2
- package/esm/forms/_base-input/BaseInputContent.css +7 -7
- package/esm/forms/_base-input/BaseInputContent.js +2 -0
- package/esm/forms/_base-input/BaseInputContent.js.map +2 -2
- package/esm/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/esm/forms/_base-input/BaseInputContent.sty.js.map +1 -1
- package/esm/forms/_base-input/ClearButton.js +25 -0
- package/esm/forms/_base-input/ClearButton.js.map +7 -0
- package/esm/forms/calendar/Calendar.css +47 -47
- package/esm/forms/calendar/Calendar.sty.js +11 -11
- package/esm/forms/calendar/Calendar.sty.js.map +1 -1
- package/esm/forms/calendar/components/CalendarItem.css +7 -7
- package/esm/forms/calendar/components/CalendarItem.sty.js +4 -4
- package/esm/forms/calendar/components/CalendarItem.sty.js.map +1 -1
- package/esm/forms/calendar/components/CalendarOutlineIcon.css +8 -8
- package/esm/forms/calendar/components/CalendarOutlineIcon.sty.js +5 -5
- package/esm/forms/calendar/components/CalendarOutlineIcon.sty.js.map +1 -1
- package/esm/forms/calendar/variables.sty.js +2 -2
- package/esm/forms/calendar/variables.sty.js.map +1 -1
- package/esm/forms/checkbox/Checkbox.css +20 -20
- package/esm/forms/checkbox/Checkbox.sty.js +3 -3
- package/esm/forms/checkbox/Checkbox.sty.js.map +1 -1
- package/esm/forms/date-time-picker/DateTimePicker.css +75 -75
- package/esm/forms/date-time-picker/DateTimePicker.sty.js +6 -6
- package/esm/forms/date-time-picker/DateTimePicker.sty.js.map +1 -1
- package/esm/forms/date-time-picker/DateTimePickerRoot.js +4 -0
- package/esm/forms/date-time-picker/DateTimePickerRoot.js.map +2 -2
- package/esm/forms/date-time-picker/hooks/useDateTimePicker.js +4 -5
- package/esm/forms/date-time-picker/hooks/useDateTimePicker.js.map +2 -2
- package/esm/forms/date-time-picker/utils/focusDateTimeInput.js +23 -0
- package/esm/forms/date-time-picker/utils/focusDateTimeInput.js.map +2 -2
- package/esm/forms/date-time-range-picker/DateRangeSelector.css +1 -1
- package/esm/forms/date-time-range-picker/DateRangeSelector.sty.js +1 -1
- package/esm/forms/date-time-range-picker/DateRangeSelector.sty.js.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeInput.css +11 -11
- package/esm/forms/date-time-range-picker/DateTimeInput.js +4 -0
- package/esm/forms/date-time-range-picker/DateTimeInput.js.map +2 -2
- package/esm/forms/date-time-range-picker/DateTimeInput.sty.js +3 -3
- package/esm/forms/date-time-range-picker/DateTimeInput.sty.js.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.css +27 -27
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.js +3 -7
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.js.map +2 -2
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.sty.js +4 -4
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.sty.js.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeRangePickerRoot.js +24 -8
- package/esm/forms/date-time-range-picker/DateTimeRangePickerRoot.js.map +2 -2
- package/esm/forms/date-time-range-picker/helpers.js +56 -17
- package/esm/forms/date-time-range-picker/helpers.js.map +2 -2
- package/esm/forms/date-time-range-picker/hooks/useDateTimeInput.js +95 -58
- package/esm/forms/date-time-range-picker/hooks/useDateTimeInput.js.map +3 -3
- package/esm/forms/date-time-range-picker/hooks/useDateTimeRangePicker.js +60 -19
- package/esm/forms/date-time-range-picker/hooks/useDateTimeRangePicker.js.map +2 -2
- package/esm/forms/date-time-range-picker/selection-copy-helpers.js +53 -24
- package/esm/forms/date-time-range-picker/selection-copy-helpers.js.map +2 -2
- package/esm/forms/date-time-range-picker/selection-helpers.js +146 -48
- package/esm/forms/date-time-range-picker/selection-helpers.js.map +2 -2
- package/esm/forms/date-time-range-picker/useSelectionInteractionHandlers.js +5 -47
- package/esm/forms/date-time-range-picker/useSelectionInteractionHandlers.js.map +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.css +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.sty.js +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field/FormField.sty.js +1 -1
- package/esm/forms/forms-core/components/form-field/FormField.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js +2 -2
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js +1 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js.map +1 -1
- package/esm/forms/forms-core/components/label/Label.css +5 -5
- package/esm/forms/forms-core/components/label/Label.sty.js +2 -2
- package/esm/forms/forms-core/components/label/Label.sty.js.map +1 -1
- package/esm/forms/forms-core/time/helpers.js +1 -1
- package/esm/forms/forms-core/time/helpers.js.map +2 -2
- package/esm/forms/hooks/useAutofillEvent.css +8 -8
- package/esm/forms/hooks/useAutofillEvent.sty.js +4 -4
- package/esm/forms/hooks/useAutofillEvent.sty.js.map +1 -1
- package/esm/forms/index.js.map +2 -2
- package/esm/forms/number-input/NumberInputBase.js +2 -2
- package/esm/forms/number-input/NumberInputBase.js.map +2 -2
- package/esm/forms/number-input-v2/NumberInput.js +3 -3
- package/esm/forms/number-input-v2/NumberInput.js.map +2 -2
- package/esm/forms/radio/styles.css +18 -18
- package/esm/forms/radio/styles.sty.js +8 -8
- package/esm/forms/radio/styles.sty.js.map +1 -1
- package/esm/forms/search-input/SearchInput.css +4 -1
- package/esm/forms/search-input/SearchInput.js +35 -3
- package/esm/forms/search-input/SearchInput.js.map +2 -2
- package/esm/forms/search-input/SearchInput.sty.js +2 -1
- package/esm/forms/search-input/SearchInput.sty.js.map +2 -2
- package/esm/forms/search-input/Stepper.css +21 -0
- package/esm/forms/search-input/Stepper.js +92 -0
- package/esm/forms/search-input/Stepper.js.map +7 -0
- package/esm/forms/search-input/Stepper.sty.js +16 -0
- package/esm/forms/search-input/Stepper.sty.js.map +7 -0
- package/esm/forms/select/Select.js +6 -2
- package/esm/forms/select/Select.js.map +2 -2
- package/esm/forms/select/components/Control.js +1 -0
- package/esm/forms/select/components/Control.js.map +2 -2
- package/esm/forms/select/components/MenuList.js +1 -0
- package/esm/forms/select/components/MenuList.js.map +2 -2
- package/esm/forms/select/components/Option.js +2 -0
- package/esm/forms/select/components/Option.js.map +2 -2
- package/esm/forms/select/hooks/use-select-options.js +0 -3
- package/esm/forms/select/hooks/use-select-options.js.map +2 -2
- package/esm/forms/select/styles/Select.css +47 -47
- package/esm/forms/select/styles/Select.sty.js +24 -24
- package/esm/forms/select/styles/Select.sty.js.map +1 -1
- package/esm/forms/spin-buttons/SpinButton.css +8 -8
- package/esm/forms/spin-buttons/SpinButton.sty.js +2 -2
- package/esm/forms/spin-buttons/SpinButton.sty.js.map +1 -1
- package/esm/forms/spin-buttons/spin-button-group/hooks/useNavigateSpinButton.js +1 -1
- package/esm/forms/spin-buttons/spin-button-group/hooks/useNavigateSpinButton.js.map +2 -2
- package/esm/forms/switch/Switch.css +36 -36
- package/esm/forms/switch/Switch.sty.js +5 -5
- package/esm/forms/switch/Switch.sty.js.map +1 -1
- package/esm/forms/text-area/TextArea.css +59 -59
- package/esm/forms/text-area/TextArea.sty.js +3 -3
- package/esm/forms/text-area/TextArea.sty.js.map +1 -1
- package/esm/forms/toggle-button-group/styles.css +58 -58
- package/esm/forms/toggle-button-group/styles.sty.js +15 -15
- package/esm/forms/toggle-button-group/styles.sty.js.map +1 -1
- package/esm/layouts/app-header/AppHeader.css +1 -1
- package/esm/layouts/app-header/AppHeader.sty.js +1 -1
- package/esm/layouts/app-header/AppHeader.sty.js.map +1 -1
- package/esm/layouts/app-header/Navigation.css +9 -9
- package/esm/layouts/app-header/Navigation.sty.js +5 -5
- package/esm/layouts/app-header/Navigation.sty.js.map +1 -1
- package/esm/layouts/app-header/action-group/ActionButton.css +17 -17
- package/esm/layouts/app-header/action-group/ActionButton.sty.js +3 -3
- package/esm/layouts/app-header/action-group/ActionButton.sty.js.map +1 -1
- package/esm/layouts/app-header/action-group/ActionGroup.css +1 -1
- package/esm/layouts/app-header/action-group/ActionGroup.sty.js +1 -1
- package/esm/layouts/app-header/action-group/ActionGroup.sty.js.map +1 -1
- package/esm/layouts/app-header/action-group/NavItem.css +4 -4
- package/esm/layouts/app-header/action-group/NavItem.sty.js +3 -3
- package/esm/layouts/app-header/action-group/NavItem.sty.js.map +1 -1
- package/esm/layouts/app-header/app-icon/AppIcon.css +4 -4
- package/esm/layouts/app-header/app-icon/AppIcon.sty.js +1 -1
- package/esm/layouts/app-header/app-icon/AppIcon.sty.js.map +1 -1
- package/esm/layouts/container/Container.css +5 -5
- package/esm/layouts/container/Container.sty.js +1 -1
- package/esm/layouts/container/Container.sty.js.map +1 -1
- package/esm/layouts/divider/Divider.css +6 -6
- package/esm/layouts/divider/Divider.sty.js +1 -1
- package/esm/layouts/divider/Divider.sty.js.map +1 -1
- package/esm/layouts/input-group/InputGroup.css +23 -23
- package/esm/layouts/input-group/InputGroup.sty.js +1 -1
- package/esm/layouts/input-group/InputGroup.sty.js.map +1 -1
- package/esm/layouts/page/DetailView.css +3 -3
- package/esm/layouts/page/DetailView.sty.js +2 -2
- package/esm/layouts/page/DetailView.sty.js.map +1 -1
- package/esm/layouts/page/Header.css +2 -2
- package/esm/layouts/page/Header.sty.js +1 -1
- package/esm/layouts/page/Header.sty.js.map +1 -1
- package/esm/layouts/page/Main.css +6 -6
- package/esm/layouts/page/Main.sty.js +4 -4
- package/esm/layouts/page/Main.sty.js.map +1 -1
- package/esm/layouts/page/Page.css +2 -2
- package/esm/layouts/page/Page.sty.js +1 -1
- package/esm/layouts/page/Page.sty.js.map +1 -1
- package/esm/layouts/page/Sidebar.css +22 -22
- package/esm/layouts/page/Sidebar.sty.js +8 -8
- package/esm/layouts/page/Sidebar.sty.js.map +1 -1
- package/esm/layouts/page/panel.css +18 -18
- package/esm/layouts/page/panel.sty.js +10 -10
- package/esm/layouts/page/panel.sty.js.map +1 -1
- package/esm/layouts/page-layout/PageLayout.css +10 -10
- package/esm/layouts/page-layout/PageLayout.sty.js +6 -6
- package/esm/layouts/page-layout/PageLayout.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.sty.js +3 -3
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/DetailsLayout.css +6 -6
- package/esm/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
- package/esm/layouts/page-layout/details-layout/DetailsLayout.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/Overlay.css +21 -21
- package/esm/layouts/page-layout/details-layout/Overlay.sty.js +4 -4
- package/esm/layouts/page-layout/details-layout/Overlay.sty.js.map +1 -1
- package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.css +38 -38
- package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +15 -15
- package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js.map +1 -1
- package/esm/layouts/split-layout/SplitLayout.css +17 -17
- package/esm/layouts/split-layout/SplitLayout.sty.js +7 -7
- package/esm/layouts/split-layout/SplitLayout.sty.js.map +1 -1
- package/esm/layouts/surface/Surface.css +39 -39
- package/esm/layouts/surface/Surface.sty.js +2 -2
- package/esm/layouts/surface/Surface.sty.js.map +1 -1
- package/esm/layouts/surface/variables.sty.js +1 -1
- package/esm/layouts/surface/variables.sty.js.map +1 -1
- package/esm/layouts/title-bar/TitleBar.css +5 -5
- package/esm/layouts/title-bar/TitleBar.sty.js +4 -4
- package/esm/layouts/title-bar/TitleBar.sty.js.map +1 -1
- package/esm/navigation/breadcrumbs/Breadcrumbs.css +9 -9
- package/esm/navigation/breadcrumbs/Breadcrumbs.sty.js +5 -5
- package/esm/navigation/breadcrumbs/Breadcrumbs.sty.js.map +1 -1
- package/esm/navigation/menu/Content.js +0 -2
- package/esm/navigation/menu/Content.js.map +2 -2
- package/esm/navigation/menu/ItemTooltip.js.map +2 -2
- package/esm/navigation/menu/Menu.css +15 -15
- package/esm/navigation/menu/Menu.js +2 -15
- package/esm/navigation/menu/Menu.js.map +2 -2
- package/esm/navigation/menu/Menu.sty.js +8 -8
- package/esm/navigation/menu/Menu.sty.js.map +1 -1
- package/esm/navigation/menu/Sub.js +2 -15
- package/esm/navigation/menu/Sub.js.map +2 -2
- package/esm/navigation/menu/hooks/useMenuAutoClose.js +33 -0
- package/esm/navigation/menu/hooks/useMenuAutoClose.js.map +7 -0
- package/esm/navigation/tabs/RenderTab.css +14 -14
- package/esm/navigation/tabs/RenderTab.sty.js +3 -3
- package/esm/navigation/tabs/RenderTab.sty.js.map +1 -1
- package/esm/navigation/tabs/TabPanel.css +3 -3
- package/esm/navigation/tabs/TabPanel.sty.js +2 -2
- package/esm/navigation/tabs/TabPanel.sty.js.map +1 -1
- package/esm/navigation/tabs/Tabs.css +9 -9
- package/esm/navigation/tabs/Tabs.sty.js +5 -5
- package/esm/navigation/tabs/Tabs.sty.js.map +1 -1
- package/esm/notifications/notification-settings/NotificationSettings.css +1 -1
- package/esm/notifications/notification-settings/NotificationSettings.sty.js +1 -1
- package/esm/notifications/notification-settings/NotificationSettings.sty.js.map +1 -1
- package/esm/notifications/toast/Toast.css +5 -5
- package/esm/notifications/toast/Toast.sty.js +4 -4
- package/esm/notifications/toast/Toast.sty.js.map +1 -1
- package/esm/notifications/toast/ToastContainer.css +17 -17
- package/esm/notifications/toast/ToastContainer.sty.js +1 -1
- package/esm/notifications/toast/ToastContainer.sty.js.map +1 -1
- package/esm/overlays/drawer/Drawer.css +9 -9
- package/esm/overlays/drawer/Drawer.sty.js +5 -5
- package/esm/overlays/drawer/Drawer.sty.js.map +1 -1
- package/esm/overlays/hooks/useOverlay.js +21 -0
- package/esm/overlays/hooks/useOverlay.js.map +2 -2
- package/esm/overlays/modal/Modal.css +7 -7
- package/esm/overlays/modal/Modal.sty.js +4 -4
- package/esm/overlays/modal/Modal.sty.js.map +1 -1
- package/esm/overlays/overlay/Overlay.css +1 -1
- package/esm/overlays/overlay/Overlay.sty.js +1 -1
- package/esm/overlays/overlay/Overlay.sty.js.map +1 -1
- package/esm/overlays/sheet/Sheet.css +6 -6
- package/esm/overlays/sheet/Sheet.sty.js +5 -5
- package/esm/overlays/sheet/Sheet.sty.js.map +1 -1
- package/esm/overlays/tooltip/tooltip.css +18 -18
- package/esm/overlays/tooltip/tooltip.sty.js +3 -3
- package/esm/overlays/tooltip/tooltip.sty.js.map +1 -1
- package/esm/styles/colorUtils.css +60 -60
- package/esm/styles/colorUtils.sty.js +2 -2
- package/esm/styles/colorUtils.sty.js.map +1 -1
- package/esm/styles/container.css +47 -47
- package/esm/styles/container.sty.js +2 -2
- package/esm/styles/container.sty.js.map +1 -1
- package/esm/styles/ellipsis.css +1 -1
- package/esm/styles/ellipsis.sty.js +1 -1
- package/esm/styles/ellipsis.sty.js.map +1 -1
- package/esm/styles/field.css +290 -290
- package/esm/styles/field.sty.js +2 -2
- package/esm/styles/field.sty.js.map +1 -1
- package/esm/styles/screen-reader-only.css +1 -1
- package/esm/styles/screen-reader-only.sty.js +1 -1
- package/esm/styles/screen-reader-only.sty.js.map +1 -1
- package/esm/styles/sprinkles.css +262 -262
- package/esm/styles/sprinkles.sty.js +1 -1
- package/esm/styles/sprinkles.sty.js.map +1 -1
- package/esm/styles/textStyle.css +8 -8
- package/esm/styles/textStyle.sty.js +1 -1
- package/esm/styles/textStyle.sty.js.map +1 -1
- package/esm/tables/DataTable/DataTable.css +2 -2
- package/esm/tables/DataTable/DataTable.sty.js +7 -7
- package/esm/tables/DataTable/DataTable.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Alignment.css +6 -6
- package/esm/tables/DataTable/components/Alignment.sty.js +2 -2
- package/esm/tables/DataTable/components/Alignment.sty.js.map +1 -1
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.css +6 -6
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableBody.css +2 -2
- package/esm/tables/DataTable/components/DataTableBody.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableBody.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableCell.css +99 -99
- package/esm/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/esm/tables/DataTable/components/DataTableCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableDefaultCell.css +21 -21
- package/esm/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableDefaultCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableEmptyState.css +2 -2
- package/esm/tables/DataTable/components/DataTableEmptyState.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableEmptyState.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableHeader.css +2 -2
- package/esm/tables/DataTable/components/DataTableHeader.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableHeader.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableHeaderCell.css +64 -64
- package/esm/tables/DataTable/components/DataTableHeaderCell.js +4 -3
- package/esm/tables/DataTable/components/DataTableHeaderCell.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
- package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableRow.css +13 -13
- package/esm/tables/DataTable/components/DataTableRow.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableRow.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableScrollShadow.css +10 -10
- package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.css +20 -20
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js.map +1 -1
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.css +5 -5
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js +2 -2
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.css +7 -7
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnOrderSettings.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js +21 -7
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +5 -5
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +7 -7
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.css +5 -5
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js +8 -0
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js +2 -2
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js.map +1 -1
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.css +8 -8
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js +4 -4
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js.map +1 -1
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js.map +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.css +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.css +3 -3
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js +2 -2
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.css +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.css +4 -4
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js.map +1 -1
- package/esm/tables/DataTable/features/LoadingState/LoadingState.css +2 -2
- package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js +2 -2
- package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js.map +1 -1
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.js +8 -2
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.js.map +2 -2
- package/esm/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
- package/esm/tables/DataTable/features/RowDetails/RowDetails.sty.js +3 -3
- package/esm/tables/DataTable/features/RowDetails/RowDetails.sty.js.map +1 -1
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.css +14 -14
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js +1 -1
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js.map +1 -1
- package/esm/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
- package/esm/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
- package/esm/tables/DataTable/features/RowOrder/RowOrder.sty.js.map +1 -1
- package/esm/tables/DataTable/features/Sorting/Sorting.css +34 -34
- package/esm/tables/DataTable/features/Sorting/Sorting.sty.js +3 -3
- package/esm/tables/DataTable/features/Sorting/Sorting.sty.js.map +1 -1
- package/esm/tables/DataTable/features/SubRows/SubRows.css +19 -19
- package/esm/tables/DataTable/features/SubRows/SubRows.sty.js +5 -5
- package/esm/tables/DataTable/features/SubRows/SubRows.sty.js.map +1 -1
- package/esm/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
- package/esm/tables/DataTable/features/Thresholds/Thresholds.sty.js +3 -3
- package/esm/tables/DataTable/features/Thresholds/Thresholds.sty.js.map +1 -1
- package/esm/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/esm/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/esm/tables/DataTable/features/UserActions/RowActions.sty.js.map +1 -1
- package/esm/tables/DataTable/features/UserActions/UserActions.css +18 -18
- package/esm/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
- package/esm/tables/DataTable/features/UserActions/UserActions.sty.js.map +1 -1
- package/esm/tables/DataTable/hooks/useHeaderCellInteractions.js +38 -15
- package/esm/tables/DataTable/hooks/useHeaderCellInteractions.js.map +2 -2
- package/esm/tables/SimpleTable/SimpleTable.css +27 -27
- package/esm/tables/SimpleTable/SimpleTable.sty.js +1 -1
- package/esm/tables/SimpleTable/SimpleTable.sty.js.map +1 -1
- package/esm/tables/index.js.map +2 -2
- package/esm/typography/block-quote/Blockquote.css +2 -2
- package/esm/typography/block-quote/Blockquote.sty.js +1 -1
- package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
- package/esm/typography/code/Code.css +1 -1
- package/esm/typography/code/Code.sty.js +1 -1
- package/esm/typography/code/Code.sty.js.map +1 -1
- package/esm/typography/emphasis/Emphasis.css +1 -1
- package/esm/typography/emphasis/Emphasis.sty.js +1 -1
- package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
- package/esm/typography/external-link/ExternalLink.css +6 -6
- package/esm/typography/external-link/ExternalLink.sty.js +1 -1
- package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
- package/esm/typography/heading/Heading.css +7 -7
- package/esm/typography/heading/Heading.sty.js +1 -1
- package/esm/typography/heading/Heading.sty.js.map +1 -1
- package/esm/typography/highlight/Highlight.css +2 -2
- package/esm/typography/highlight/Highlight.sty.js +1 -1
- package/esm/typography/highlight/Highlight.sty.js.map +1 -1
- package/esm/typography/link/Link.css +4 -4
- package/esm/typography/link/Link.sty.js +1 -1
- package/esm/typography/link/Link.sty.js.map +1 -1
- package/esm/typography/list/List.css +4 -4
- package/esm/typography/list/List.sty.js +2 -2
- package/esm/typography/list/List.sty.js.map +1 -1
- package/esm/typography/paragraph/Paragraph.css +3 -3
- package/esm/typography/paragraph/Paragraph.sty.js +1 -1
- package/esm/typography/paragraph/Paragraph.sty.js.map +1 -1
- package/esm/typography/strikethrough/Strikethrough.css +1 -1
- package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
- package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
- package/esm/typography/strong/Strong.css +1 -1
- package/esm/typography/strong/Strong.sty.js +1 -1
- package/esm/typography/strong/Strong.sty.js.map +1 -1
- package/esm/typography/text/Text.css +3 -3
- package/esm/typography/text/Text.sty.js +1 -1
- package/esm/typography/text/Text.sty.js.map +1 -1
- package/esm/typography/text-ellipsis/TextEllipsis.css +6 -6
- package/esm/typography/text-ellipsis/TextEllipsis.js +2 -6
- package/esm/typography/text-ellipsis/TextEllipsis.js.map +2 -2
- package/esm/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
- package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +1 -1
- package/filters/filter-field/FilterField.css +119 -116
- package/filters/filter-field/FilterField.js +89 -68
- package/filters/filter-field/FilterField.sty.js +28 -28
- package/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
- package/filters/filter-field/components/FilterFieldSuffixButtons.js +1 -0
- package/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
- package/filters/filter-field/components/FilterStatement.css +13 -13
- package/filters/filter-field/components/FilterStatement.sty.js +6 -6
- package/filters/filter-field/hooks/useSuggestions.js +7 -1
- package/filters/filter-field/suggestions/RecentPinnedSuggestionItem.css +9 -9
- package/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js +2 -2
- package/filters/filter-field/suggestions/Suggestion.css +24 -24
- package/filters/filter-field/suggestions/Suggestion.js +9 -1
- package/filters/filter-field/suggestions/Suggestion.sty.d.ts +7 -0
- package/filters/filter-field/suggestions/Suggestion.sty.js +17 -15
- package/filters/filter-field/suggestions/SuggestionDetails.css +2 -2
- package/filters/filter-field/suggestions/SuggestionDetails.sty.js +2 -2
- package/filters/filter-field/suggestions/SuggestionGroup.css +6 -6
- package/filters/filter-field/suggestions/SuggestionGroup.sty.js +3 -3
- package/filters/filter-field/suggestions/SuggestionGroupLabel.css +1 -1
- package/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js +1 -1
- package/filters/filter-field/suggestions/SuggestionTips.css +7 -7
- package/filters/filter-field/suggestions/SuggestionTips.sty.js +5 -5
- package/filters/filter-field/suggestions/Suggestions.js +1 -1
- package/filters/filter-field/suggestions/SuggestionsOverlay.css +7 -7
- package/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
- package/filters/filter-field/utils/get-suggestion-transaction.js +1 -1
- package/filters/filter-field/utils/suggestions-utils/get-suggestions.d.ts +8 -1
- package/filters/filter-field/utils/suggestions-utils/get-suggestions.js +11 -18
- package/filters/filter-field/utils/suggestions-utils/operator-suggestions.js +4 -2
- package/filters/filter-field/utils/suggestions-utils/suggestion-matching.d.ts +43 -0
- package/filters/filter-field/utils/suggestions-utils/suggestion-matching.js +64 -0
- package/filters/segment-selector/SegmentSelector.css +4 -4
- package/filters/segment-selector/SegmentSelector.js +4 -4
- package/filters/segment-selector/SegmentSelector.sty.js +4 -4
- package/filters/segment-selector/parts/EmptySegments.css +1 -1
- package/filters/segment-selector/parts/EmptySegments.js +7 -3
- package/filters/segment-selector/parts/EmptySegments.sty.js +1 -1
- package/filters/segment-selector/parts/Overlay.css +8 -8
- package/filters/segment-selector/parts/Overlay.js +8 -4
- package/filters/segment-selector/parts/Overlay.sty.js +8 -8
- package/filters/segment-selector/parts/SegmentFooter.js +7 -3
- package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
- package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
- package/filters/segment-selector/parts/noAccessRights/CopyPermissionsButton.js +3 -5
- package/filters/segment-selector/parts/noAccessRights/NoAccessWithoutSelection.js +2 -1
- package/filters/segment-selector/parts/segmentManagementHref.d.ts +2 -0
- package/filters/segment-selector/parts/segmentManagementHref.js +26 -0
- package/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +32 -32
- package/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js +10 -10
- package/filters/segment-selector/parts/selectionBar/SegmentSelect.css +22 -22
- package/filters/segment-selector/parts/selectionBar/SegmentSelect.js +8 -4
- package/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js +7 -7
- package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
- package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
- package/filters/segment-selector/parts/selectionBar/ValueSelect.js +39 -14
- package/filters/timeframe-selector/TimeframeSelector.css +5 -1
- package/filters/timeframe-selector/TimeframeSelector.js +6 -13
- package/filters/timeframe-selector/TimeframeSelector.sty.d.ts +1 -0
- package/filters/timeframe-selector/TimeframeSelector.sty.js +4 -2
- package/filters/timeframe-selector/TimeframeSelectorRoot.js +15 -3
- package/filters/timeframe-selector/components/TimeframeSelectorTooltip.d.ts +2 -2
- package/filters/timeframe-selector/components/TimeframeSelectorTooltip.js +1 -1
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.js +4 -0
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js +3 -3
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.css +4 -4
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js +4 -4
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js +5 -3
- package/filters/timeframe-selector/components/presets/Presets.css +27 -27
- package/filters/timeframe-selector/components/presets/Presets.sty.js +11 -11
- package/filters/timeframe-selector/components/stepper/StepperButton.js +1 -1
- package/filters/timeframe-selector/components/trigger/Trigger.css +11 -11
- package/filters/timeframe-selector/components/trigger/Trigger.js +1 -0
- package/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
- package/filters/timeframe-selector/utils/getTimeframeDisplayValueProps.d.ts +2 -2
- package/forms/_base-input/BaseInput.css +99 -99
- package/forms/_base-input/BaseInput.d.ts +1 -0
- package/forms/_base-input/BaseInput.js +30 -19
- package/forms/_base-input/BaseInput.sty.d.ts +1 -1
- package/forms/_base-input/BaseInput.sty.js +12 -12
- package/forms/_base-input/BaseInputContent.css +7 -7
- package/forms/_base-input/BaseInputContent.d.ts +5 -0
- package/forms/_base-input/BaseInputContent.js +2 -0
- package/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/forms/_base-input/ClearButton.d.ts +3 -0
- package/forms/_base-input/ClearButton.js +53 -0
- package/forms/_base-input/base-input.types.d.ts +1 -0
- package/forms/calendar/Calendar.css +47 -47
- package/forms/calendar/Calendar.sty.js +11 -11
- package/forms/calendar/components/CalendarItem.css +7 -7
- package/forms/calendar/components/CalendarItem.sty.js +4 -4
- package/forms/calendar/components/CalendarOutlineIcon.css +8 -8
- package/forms/calendar/components/CalendarOutlineIcon.sty.js +5 -5
- package/forms/calendar/variables.sty.js +2 -2
- package/forms/checkbox/Checkbox.css +20 -20
- package/forms/checkbox/Checkbox.sty.js +3 -3
- package/forms/date-time-picker/DateTimePicker.css +75 -75
- package/forms/date-time-picker/DateTimePicker.sty.js +6 -6
- package/forms/date-time-picker/DateTimePickerRoot.js +4 -0
- package/forms/date-time-picker/hooks/useDateTimePicker.d.ts +1 -1
- package/forms/date-time-picker/hooks/useDateTimePicker.js +4 -5
- package/forms/date-time-picker/utils/focusDateTimeInput.d.ts +9 -0
- package/forms/date-time-picker/utils/focusDateTimeInput.js +23 -0
- package/forms/date-time-range-picker/DateRangeSelector.css +1 -1
- package/forms/date-time-range-picker/DateRangeSelector.sty.js +1 -1
- package/forms/date-time-range-picker/DateTimeInput.css +11 -11
- package/forms/date-time-range-picker/DateTimeInput.js +4 -0
- package/forms/date-time-range-picker/DateTimeInput.sty.js +3 -3
- package/forms/date-time-range-picker/DateTimeRangePicker.css +27 -27
- package/forms/date-time-range-picker/DateTimeRangePicker.js +6 -10
- package/forms/date-time-range-picker/DateTimeRangePicker.sty.js +4 -4
- package/forms/date-time-range-picker/DateTimeRangePickerRoot.js +22 -8
- package/forms/date-time-range-picker/helpers.d.ts +22 -4
- package/forms/date-time-range-picker/helpers.js +52 -13
- package/forms/date-time-range-picker/hooks/useDateTimeInput.d.ts +2 -0
- package/forms/date-time-range-picker/hooks/useDateTimeInput.js +91 -58
- package/forms/date-time-range-picker/hooks/useDateTimeRangePicker.js +56 -19
- package/forms/date-time-range-picker/selection-copy-helpers.js +53 -24
- package/forms/date-time-range-picker/selection-helpers.d.ts +19 -4
- package/forms/date-time-range-picker/selection-helpers.js +146 -48
- package/forms/date-time-range-picker/types.d.ts +17 -0
- package/forms/date-time-range-picker/useSelectionInteractionHandlers.js +4 -44
- package/forms/forms-core/components/field-set/FieldSet.css +2 -2
- package/forms/forms-core/components/field-set/FieldSet.sty.js +2 -2
- package/forms/forms-core/components/form-field/FormField.sty.js +1 -1
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js +2 -2
- package/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js +1 -1
- package/forms/forms-core/components/label/Label.css +5 -5
- package/forms/forms-core/components/label/Label.sty.js +2 -2
- package/forms/forms-core/time/helpers.js +1 -1
- package/forms/hooks/useAutofillEvent.css +8 -8
- package/forms/hooks/useAutofillEvent.sty.js +4 -4
- package/forms/index.d.ts +1 -0
- package/forms/number-input/NumberInputBase.js +2 -2
- package/forms/number-input-v2/NumberInput.js +3 -3
- package/forms/radio/styles.css +18 -18
- package/forms/radio/styles.sty.js +8 -8
- package/forms/search-input/SearchInput.css +4 -1
- package/forms/search-input/SearchInput.d.ts +1 -0
- package/forms/search-input/SearchInput.js +35 -3
- package/forms/search-input/SearchInput.sty.d.ts +7 -1
- package/forms/search-input/SearchInput.sty.js +2 -1
- package/forms/search-input/Stepper.css +21 -0
- package/forms/search-input/Stepper.d.ts +13 -0
- package/forms/search-input/Stepper.js +120 -0
- package/forms/search-input/Stepper.sty.d.ts +3 -0
- package/forms/search-input/Stepper.sty.js +34 -0
- package/forms/select/Select.js +6 -2
- package/forms/select/components/Control.js +1 -0
- package/forms/select/components/MenuList.js +1 -0
- package/forms/select/components/Option.js +2 -0
- package/forms/select/hooks/use-select-options.js +0 -3
- package/forms/select/styles/Select.css +47 -47
- package/forms/select/styles/Select.sty.js +24 -24
- package/forms/spin-buttons/SpinButton.css +8 -8
- package/forms/spin-buttons/SpinButton.sty.js +2 -2
- package/forms/spin-buttons/spin-button-group/hooks/useNavigateSpinButton.js +1 -1
- package/forms/switch/Switch.css +36 -36
- package/forms/switch/Switch.sty.js +5 -5
- package/forms/text-area/TextArea.css +59 -59
- package/forms/text-area/TextArea.sty.js +3 -3
- package/forms/toggle-button-group/styles.css +58 -58
- package/forms/toggle-button-group/styles.sty.js +15 -15
- package/lang/en.json +507 -485
- package/lang/ja.json +542 -560
- package/lang/uncompiled/en.json +24 -4
- package/lang/uncompiled/ja.json +68 -71
- package/layouts/app-header/AppHeader.css +1 -1
- package/layouts/app-header/AppHeader.sty.js +1 -1
- package/layouts/app-header/Navigation.css +9 -9
- package/layouts/app-header/Navigation.sty.js +5 -5
- package/layouts/app-header/action-group/ActionButton.css +17 -17
- package/layouts/app-header/action-group/ActionButton.sty.js +3 -3
- package/layouts/app-header/action-group/ActionGroup.css +1 -1
- package/layouts/app-header/action-group/ActionGroup.sty.js +1 -1
- package/layouts/app-header/action-group/NavItem.css +4 -4
- package/layouts/app-header/action-group/NavItem.sty.js +3 -3
- package/layouts/app-header/app-icon/AppIcon.css +4 -4
- package/layouts/app-header/app-icon/AppIcon.sty.js +1 -1
- package/layouts/container/Container.css +5 -5
- package/layouts/container/Container.sty.js +1 -1
- package/layouts/divider/Divider.css +6 -6
- package/layouts/divider/Divider.sty.js +1 -1
- package/layouts/input-group/InputGroup.css +23 -23
- package/layouts/input-group/InputGroup.sty.js +1 -1
- package/layouts/page/DetailView.css +3 -3
- package/layouts/page/DetailView.sty.js +2 -2
- package/layouts/page/Header.css +2 -2
- package/layouts/page/Header.sty.js +1 -1
- package/layouts/page/Main.css +6 -6
- package/layouts/page/Main.sty.js +4 -4
- package/layouts/page/Page.css +2 -2
- package/layouts/page/Page.sty.js +1 -1
- package/layouts/page/Sidebar.css +22 -22
- package/layouts/page/Sidebar.sty.js +8 -8
- package/layouts/page/panel.css +18 -18
- package/layouts/page/panel.sty.js +10 -10
- package/layouts/page-layout/PageLayout.css +10 -10
- package/layouts/page-layout/PageLayout.sty.js +6 -6
- package/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
- package/layouts/page-layout/details-layout/DetailsControlBar.sty.js +3 -3
- package/layouts/page-layout/details-layout/DetailsLayout.css +6 -6
- package/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
- package/layouts/page-layout/details-layout/Overlay.css +21 -21
- package/layouts/page-layout/details-layout/Overlay.sty.js +4 -4
- package/layouts/page-layout/sidebar-layout/SidebarLayout.css +38 -38
- package/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +15 -15
- package/layouts/split-layout/SplitLayout.css +17 -17
- package/layouts/split-layout/SplitLayout.sty.js +7 -7
- package/layouts/surface/Surface.css +39 -39
- package/layouts/surface/Surface.sty.js +2 -2
- package/layouts/surface/variables.sty.js +1 -1
- package/layouts/title-bar/TitleBar.css +5 -5
- package/layouts/title-bar/TitleBar.sty.js +4 -4
- package/navigation/breadcrumbs/Breadcrumbs.css +9 -9
- package/navigation/breadcrumbs/Breadcrumbs.sty.js +5 -5
- package/navigation/menu/Content.js +0 -2
- package/navigation/menu/Menu.css +15 -15
- package/navigation/menu/Menu.js +2 -13
- package/navigation/menu/Menu.sty.js +8 -8
- package/navigation/menu/Sub.js +2 -13
- package/navigation/menu/hooks/useMenuAutoClose.d.ts +16 -0
- package/navigation/menu/hooks/useMenuAutoClose.js +48 -0
- package/navigation/tabs/RenderTab.css +14 -14
- package/navigation/tabs/RenderTab.sty.js +3 -3
- package/navigation/tabs/TabPanel.css +3 -3
- package/navigation/tabs/TabPanel.sty.js +2 -2
- package/navigation/tabs/Tabs.css +9 -9
- package/navigation/tabs/Tabs.sty.js +5 -5
- package/notifications/notification-settings/NotificationSettings.css +1 -1
- package/notifications/notification-settings/NotificationSettings.sty.js +1 -1
- package/notifications/toast/Toast.css +5 -5
- package/notifications/toast/Toast.sty.js +4 -4
- package/notifications/toast/ToastContainer.css +17 -17
- package/notifications/toast/ToastContainer.sty.js +1 -1
- package/overlays/drawer/Drawer.css +9 -9
- package/overlays/drawer/Drawer.sty.js +5 -5
- package/overlays/hooks/useOverlay.d.ts +18 -0
- package/overlays/hooks/useOverlay.js +21 -0
- package/overlays/modal/Modal.css +7 -7
- package/overlays/modal/Modal.sty.js +4 -4
- package/overlays/overlay/Overlay.css +1 -1
- package/overlays/overlay/Overlay.sty.js +1 -1
- package/overlays/sheet/Sheet.css +6 -6
- package/overlays/sheet/Sheet.sty.js +5 -5
- package/overlays/tooltip/tooltip.css +18 -18
- package/overlays/tooltip/tooltip.sty.js +3 -3
- package/package.json +1 -1
- package/styles/colorUtils.css +60 -60
- package/styles/colorUtils.sty.js +2 -2
- package/styles/container.css +47 -47
- package/styles/container.sty.js +2 -2
- package/styles/ellipsis.css +1 -1
- package/styles/ellipsis.sty.js +1 -1
- package/styles/field.css +290 -290
- package/styles/field.sty.js +2 -2
- package/styles/screen-reader-only.css +1 -1
- package/styles/screen-reader-only.sty.js +1 -1
- package/styles/sprinkles.css +262 -262
- package/styles/sprinkles.sty.js +1 -1
- package/styles/textStyle.css +8 -8
- package/styles/textStyle.sty.js +1 -1
- package/tables/DataTable/DataTable.css +2 -2
- package/tables/DataTable/DataTable.sty.js +7 -7
- package/tables/DataTable/components/Alignment.css +6 -6
- package/tables/DataTable/components/Alignment.sty.js +2 -2
- package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.css +6 -6
- package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
- package/tables/DataTable/components/DataTableBody.css +2 -2
- package/tables/DataTable/components/DataTableBody.sty.js +2 -2
- package/tables/DataTable/components/DataTableCell.css +99 -99
- package/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/tables/DataTable/components/DataTableDefaultCell.css +21 -21
- package/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
- package/tables/DataTable/components/DataTableEmptyState.css +2 -2
- package/tables/DataTable/components/DataTableEmptyState.sty.js +1 -1
- package/tables/DataTable/components/DataTableHeader.css +2 -2
- package/tables/DataTable/components/DataTableHeader.sty.js +2 -2
- package/tables/DataTable/components/DataTableHeaderCell.css +64 -64
- package/tables/DataTable/components/DataTableHeaderCell.js +4 -3
- package/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
- package/tables/DataTable/components/DataTableRow.css +13 -13
- package/tables/DataTable/components/DataTableRow.sty.js +1 -1
- package/tables/DataTable/components/DataTableScrollShadow.css +10 -10
- package/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
- package/tables/DataTable/components/DataTableVirtualizationContainer.css +20 -20
- package/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
- package/tables/DataTable/components/TableActions/DataTableSelectionChip.css +5 -5
- package/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js +2 -2
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.css +7 -7
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnOrderSettings.d.ts +1 -11
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js +18 -6
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +5 -5
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +7 -7
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.css +5 -5
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-types.d.ts +24 -13
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.d.ts +21 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js +8 -0
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js +2 -2
- package/tables/DataTable/features/ColumnOrder/ColumnOrder.css +8 -8
- package/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js +4 -4
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.css +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttChartCell.css +3 -3
- package/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js +2 -2
- package/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.css +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js +1 -1
- package/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.css +4 -4
- package/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js +1 -1
- package/tables/DataTable/features/LoadingState/LoadingState.css +2 -2
- package/tables/DataTable/features/LoadingState/LoadingState.sty.js +2 -2
- package/tables/DataTable/features/MeterBarChart/MeterBarChart.js +8 -2
- package/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
- package/tables/DataTable/features/RowDetails/RowDetails.sty.js +3 -3
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.css +14 -14
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js +1 -1
- package/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
- package/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
- package/tables/DataTable/features/Sorting/Sorting.css +34 -34
- package/tables/DataTable/features/Sorting/Sorting.sty.js +3 -3
- package/tables/DataTable/features/SubRows/SubRows.css +19 -19
- package/tables/DataTable/features/SubRows/SubRows.sty.js +5 -5
- package/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
- package/tables/DataTable/features/Thresholds/Thresholds.sty.js +3 -3
- package/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/tables/DataTable/features/UserActions/UserActions.css +18 -18
- package/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
- package/tables/DataTable/hooks/useHeaderCellInteractions.d.ts +3 -2
- package/tables/DataTable/hooks/useHeaderCellInteractions.js +33 -14
- package/tables/DataTable/public.api.d.ts +20 -5
- package/tables/SimpleTable/SimpleTable.css +27 -27
- package/tables/SimpleTable/SimpleTable.sty.js +1 -1
- package/tables/index.d.ts +2 -3
- package/typography/block-quote/Blockquote.css +2 -2
- package/typography/block-quote/Blockquote.sty.js +1 -1
- package/typography/code/Code.css +1 -1
- package/typography/code/Code.sty.js +1 -1
- package/typography/emphasis/Emphasis.css +1 -1
- package/typography/emphasis/Emphasis.sty.js +1 -1
- package/typography/external-link/ExternalLink.css +6 -6
- package/typography/external-link/ExternalLink.sty.js +1 -1
- package/typography/heading/Heading.css +7 -7
- package/typography/heading/Heading.sty.js +1 -1
- package/typography/highlight/Highlight.css +2 -2
- package/typography/highlight/Highlight.sty.js +1 -1
- package/typography/link/Link.css +4 -4
- package/typography/link/Link.sty.js +1 -1
- package/typography/list/List.css +4 -4
- package/typography/list/List.sty.js +2 -2
- package/typography/paragraph/Paragraph.css +3 -3
- package/typography/paragraph/Paragraph.sty.js +1 -1
- package/typography/strikethrough/Strikethrough.css +1 -1
- package/typography/strikethrough/Strikethrough.sty.js +1 -1
- package/typography/strong/Strong.css +1 -1
- package/typography/strong/Strong.sty.js +1 -1
- package/typography/text/Text.css +3 -3
- package/typography/text/Text.sty.js +1 -1
- package/typography/text-ellipsis/TextEllipsis.css +6 -6
- package/typography/text-ellipsis/TextEllipsis.js +2 -6
- package/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
- package/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltip.d.ts +0 -7
- package/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltip.js +0 -61
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.css +0 -4
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.d.ts +0 -13
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.js +0 -113
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.sty.d.ts +0 -1
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltipHeaders.d.ts +0 -7
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltipHeaders.js +0 -43
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltipItem.d.ts +0 -9
- package/charts/core/components/annotations/components/tooltip/AnnotationsTooltipItem.js +0 -95
- package/charts/core/components/annotations/components/tooltip/hooks/useRegisterTooltipHandlerCallbacks.d.ts +0 -10
- package/charts/core/components/annotations/components/tooltip/hooks/useRegisterTooltipHandlerCallbacks.js +0 -49
- package/charts/core/components/overlay-tooltip/components/TooltipFooter.d.ts +0 -7
- package/charts/gauge/contexts/GaugeChartTooltipNameContext.d.ts +0 -8
- package/charts/gauge/hooks/useGaugeChartOverlayEvents.d.ts +0 -12
- package/charts/gauge/hooks/useGaugeChartOverlayEvents.js +0 -66
- package/charts/meter-bar/single-meter-bar/hooks/useMeterBarChartTooltipHandlers.d.ts +0 -7
- package/charts/meter-bar/single-meter-bar/hooks/useMeterBarChartTooltipHandlers.js +0 -61
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltip.js +0 -46
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsDefaultTooltip.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.css +0 -4
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.js +0 -100
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.sty.js +0 -6
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltip.sty.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltipHeaders.js +0 -25
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltipHeaders.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltipItem.js +0 -67
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsTooltipItem.js.map +0 -7
- package/esm/charts/core/components/annotations/components/tooltip/hooks/useRegisterTooltipHandlerCallbacks.js +0 -31
- package/esm/charts/core/components/annotations/components/tooltip/hooks/useRegisterTooltipHandlerCallbacks.js.map +0 -7
- package/esm/charts/core/components/overlay-tooltip/components/TooltipFooter.js.map +0 -7
- package/esm/charts/gauge/contexts/GaugeChartTooltipNameContext.js +0 -10
- package/esm/charts/gauge/contexts/GaugeChartTooltipNameContext.js.map +0 -7
- package/esm/charts/gauge/hooks/useGaugeChartOverlayEvents.js +0 -48
- package/esm/charts/gauge/hooks/useGaugeChartOverlayEvents.js.map +0 -7
- package/esm/charts/meter-bar/single-meter-bar/hooks/useMeterBarChartTooltipHandlers.js +0 -43
- package/esm/charts/meter-bar/single-meter-bar/hooks/useMeterBarChartTooltipHandlers.js.map +0 -7
- package/esm/charts/xy-chart/components/displays/BarDisplay.js.map +0 -7
- package/esm/filters/segment-selector/parts/sendSegmentManagementAddOnIntent.js +0 -27
- package/esm/filters/segment-selector/parts/sendSegmentManagementAddOnIntent.js.map +0 -7
- package/filters/segment-selector/parts/sendSegmentManagementAddOnIntent.d.ts +0 -2
- package/filters/segment-selector/parts/sendSegmentManagementAddOnIntent.js +0 -43
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/filters/filter-field/utils/get-suggestion-transaction.ts"],
|
|
4
|
-
"sourcesContent": ["import { syntaxTree } from '@codemirror/language';\nimport { EditorState } from '@codemirror/state';\n\nimport { escapeSuggestion } from './escape-suggestion.js';\nimport { getStatementStatus } from './get-statement-status.js';\nimport { getTextFromRange } from './get-text.js';\nimport {\n getStatementCursorAtPosition,\n hasNextSibling,\n hasNextStatement,\n} from './tree-navigation.js';\nimport { isLogicalOperator } from './tree-node-guards.js';\nimport { filterFieldLanguageExtension } from '../parser/filterfield-language.js';\nimport type { FilterFieldSuggestionProps } from '../suggestions/Suggestion.types.js';\nimport type { FilterFieldSuggestionsContext } from '../suggestions/suggestions-extension.js';\nimport type {\n FilterFieldNodeBase,\n FilterFieldStatementNode,\n FilterFieldValueNode,\n} from '../types/tree-nodes.js';\n\n/** @internal */\nexport function getSuggestionTransaction(\n suggestionValue: string,\n range: FilterFieldNodeBase['range'] | undefined,\n shouldEscapeSuggestion: boolean | undefined,\n trailing: string | undefined,\n insertionStrategy: FilterFieldSuggestionProps['insertionStrategy'],\n cursorBeforeTrailing: boolean | undefined,\n suggestionsContext: FilterFieldSuggestionsContext,\n editorState: EditorState,\n) {\n const { token, currentStatement: _currentStatement } = suggestionsContext;\n const currentSelection = editorState.selection;\n const { head } = currentSelection.main;\n\n let currentStatement = _currentStatement;\n if (!currentStatement) {\n currentStatement = {\n type: 'Statement',\n range: { from: token.range.from, to: token.range.to },\n };\n }\n\n const autoEscapeSuggestion =\n (insertionStrategy === 'replace-token' &&\n shouldEscapeSuggestion === undefined) ||\n shouldEscapeSuggestion;\n\n const currentDocumentLength = editorState.doc.toString().length;\n\n const isWildcardSuggestionWithValuePlaceholder = trailing?.includes('value');\n const isInclusionOperatorSuggestion = ['in (', 'not in ('].includes(\n suggestionValue,\n ); // these values come from our defined defaultComparisonOperatorSuggestions values when we have autosuggestions\n const isSuggestionWithWildcard = ['= *', '!= *'].includes(suggestionValue);\n\n const nextStatement = hasNextStatement(head, editorState);\n\n // Handle insertion of the inclusion operator suggestion separately,\n // as we have to take care of potential existing values and brackets and\n // always want to place the cursor right before the closing bracket so users\n // can start/continue typing values.\n if (isInclusionOperatorSuggestion && range === undefined) {\n return getSuggestionTransactionForInclusionOperatorSuggestion(\n suggestionValue,\n currentStatement,\n token,\n trailing,\n head,\n currentDocumentLength,\n editorState,\n nextStatement,\n );\n }\n\n const appliedSuggestionValue = `${\n autoEscapeSuggestion && !isWildcardSuggestionWithValuePlaceholder\n ? escapeSuggestion(suggestionValue)\n : suggestionValue\n }${trailing ?? ''}`;\n\n const trimmedValue = appliedSuggestionValue.trimEnd();\n const isExistsOperator = trimmedValue.match(/^(= \\*)$|^(!= \\*)$/);\n const addSpace = appliedSuggestionValue.slice(-1) === ' ';\n\n let insertedValue = appliedSuggestionValue;\n let replaceFrom = token.range.from;\n let replaceUntil = token.range.to;\n let nextSibling = false;\n let isLastListValue = false;\n let startsWithOperator = false;\n let endsWithOperator = false;\n let hasSpaceAfterQuotes = false;\n\n const followedByOpeningParenthesis = _isFollowedByOpeningBracket(\n editorState,\n head,\n );\n\n // If the token at the cursor position is a list, only replace single list values if the cursor\n // is positioned inside the list's brackets.\n if (\n token.type === 'List' &&\n head > token.range.from &&\n head < token.range.to &&\n insertionStrategy === 'replace-token'\n ) {\n replaceFrom = head;\n replaceUntil = head;\n }\n\n const { value } = currentStatement ?? {};\n const isValueToken =\n token.range.from === value?.range.from &&\n token.range.to === value?.range.to;\n\n // If the current statement is undefined, it is definitely not followed by any\n // other node and we want to automatically add the default trailing space\n // (unless overridden) when applying a suggestion.\n // If there is a statement, we want to override the added space in certain cases.\n if (currentStatement) {\n nextSibling = !nextStatement\n ? hasNextSibling(head, editorState, { ignorePositionOperators: true })\n : nextStatement;\n startsWithOperator =\n isValueToken &&\n currentStatement.comparisonOperator?.type === 'ComparisonOperator' &&\n (currentStatement.comparisonOperator.value === 'starts-with' ||\n currentStatement.comparisonOperator.value === 'contains');\n endsWithOperator =\n isValueToken &&\n currentStatement.comparisonOperator?.type === 'ComparisonOperator' &&\n (currentStatement.comparisonOperator.value === 'ends-with' ||\n currentStatement.comparisonOperator.value === 'contains');\n\n if (nextSibling && insertionIsLastListValue(head, editorState)) {\n // We need this flag to not move the cursor outside of the brackets when\n // adding a value as the last value in a list. (e.g. a in (a|))\n isLastListValue = true;\n }\n\n // If the applied suggestion is an exists operator (= * | != *), we want to also\n // replace the value of the current filter statement.\n // e.g.:\n // foo =| bar\n // insert \"= *\"\n // foo = *\n if (\n insertionStrategy === 'replace-statement' ||\n (isExistsOperator &&\n currentStatement.value &&\n !followedByOpeningParenthesis) ||\n startsWithOperator\n ) {\n nextSibling = nextStatement;\n replaceUntil = currentStatement.range.to;\n }\n\n insertedValue =\n nextSibling || insertionStrategy === 'insert'\n ? trimmedValue\n : appliedSuggestionValue;\n const containsOperator = startsWithOperator && endsWithOperator;\n\n // When replacing a value that has a starts-with operator, we want to replace\n // the value while keeping the operator. If a space is supposed to be added, we\n // have to add it after the position operator.\n if (\n (startsWithOperator || endsWithOperator) &&\n insertionStrategy === 'replace-token'\n ) {\n let { from, to } = {\n from: currentStatement.range.to,\n to: currentStatement.range.to,\n };\n\n if (currentStatement.value) {\n ({ from, to } = currentStatement.value.range);\n }\n\n if (\n startsWithOperator &&\n ((head > from && head < to) || (!containsOperator && head === from))\n ) {\n startsWithOperator = false;\n if (!trimmedValue.endsWith('*')) {\n insertedValue =\n containsOperator && !trimmedValue.startsWith('*')\n ? `*${trimmedValue}*`\n : `${trimmedValue}*`;\n\n insertedValue = `${insertedValue}${\n !nextSibling && addSpace ? ' ' : ''\n }`;\n }\n } else {\n if (head === from || (startsWithOperator && head === to)) {\n replaceFrom = from;\n insertedValue = appliedSuggestionValue;\n }\n\n replaceUntil = to;\n startsWithOperator = false;\n nextSibling = nextStatement;\n }\n }\n } else {\n insertedValue = nextSibling ? trimmedValue : appliedSuggestionValue;\n }\n\n let insertionRange: { from: number; to: number };\n\n switch (insertionStrategy) {\n case 'insert':\n insertionRange = {\n from: head,\n to: head,\n };\n break;\n case 'replace-statement': {\n const editorState = EditorState.create({\n doc: appliedSuggestionValue,\n extensions: [filterFieldLanguageExtension],\n });\n const suggestionCursor = getStatementCursorAtPosition(\n appliedSuggestionValue.length,\n editorState,\n );\n\n if (getStatementStatus(suggestionCursor) !== 'complete') {\n insertedValue = appliedSuggestionValue;\n nextSibling = false;\n }\n\n insertionRange = {\n from: Math.min(\n currentDocumentLength,\n currentStatement?.range.from ?? head,\n ),\n to: Math.min(currentDocumentLength, currentStatement?.range.to ?? head),\n };\n\n if (isLogicalOperator(token)) {\n nextSibling = nextStatement;\n if (nextSibling) {\n insertedValue = trimmedValue;\n }\n\n insertionRange = {\n from: Math.min(currentDocumentLength, token.range.from),\n to: Math.min(currentDocumentLength, token.range.to),\n };\n }\n break;\n }\n case 'replace-all':\n // Reset inserted value to the initial suggestion value, including all trailing characters.\n insertedValue = appliedSuggestionValue;\n nextSibling = false;\n insertionRange = {\n from: 0,\n to: editorState.doc.toString().length,\n };\n break;\n default: {\n if (\n (token.type === 'String' ||\n token.type === 'Key' ||\n token.type === 'Error') &&\n range === undefined\n ) {\n // The current token may end before the enclosing statement, e.g. '\"foo\"| ' -> current token '\"foo\"' doesn't\n // include the space, which is included in the statement's range.\n // We need to check whether there's a space after the current token to properly insert the suggestion.\n if (token.range.to < (currentStatement?.range.to ?? 0)) {\n const characterAfterToken = getTextFromRange(\n {\n from: token.range.to,\n to: token.range.to + 1,\n },\n editorState.doc.toString(),\n );\n\n // If there's already a space after the current token, handle insertion as if there was a next sibling.\n if (characterAfterToken === ' ') {\n nextSibling = true;\n insertedValue = trimmedValue;\n }\n }\n\n if (head > token.range.from && head < token.range.to) {\n const isTokenEscaped = token.textValue.match(/^\"[^\"]*\"$/);\n const isAppliedSuggestionValueEscaped =\n appliedSuggestionValue.match(/^\"[^\"]*\"$/) ??\n appliedSuggestionValue.match(/^\"[^\"]*\" $/);\n\n if (isTokenEscaped && !isAppliedSuggestionValueEscaped) {\n replaceFrom = token.range.from + 1;\n replaceUntil = token.range.to;\n\n const addSpace = insertedValue.slice(-1) !== ' ';\n\n insertedValue = addSpace ? `${trimmedValue}\" ` : `${trimmedValue}\"`;\n hasSpaceAfterQuotes = addSpace;\n }\n }\n } else if (range) {\n ({ from: replaceFrom, to: replaceUntil } = range);\n }\n\n insertionRange = {\n from: Math.min(currentDocumentLength, replaceFrom),\n to: Math.min(currentDocumentLength, replaceUntil),\n };\n }\n }\n\n let anchor =\n insertionStrategy === 'insert'\n ? head + insertedValue.length\n : Math.min(currentDocumentLength, insertionRange.from) +\n (nextSibling && !isLastListValue\n ? appliedSuggestionValue.length\n : insertedValue.length) +\n (insertionStrategy === 'replace-token' ? +startsWithOperator : 0) +\n +hasSpaceAfterQuotes;\n\n // When a custom suggestion with trailing `value` is provided, we automatically adjust the selection\n // so the placeholder is selected to have the same behaviour as for ootb wildcard suggestions.\n if (cursorBeforeTrailing || isWildcardSuggestionWithValuePlaceholder) {\n const trailingLength = trailing ? trailing.length : 0;\n anchor -=\n trailingLength +\n (autoEscapeSuggestion &&\n !(isSuggestionWithWildcard || isWildcardSuggestionWithValuePlaceholder)\n ? 1\n : 0);\n }\n\n // Additional safeguard:\n // Clamp anchor to be within the new document length to prevent\n // \"Selection points outside of document\" errors.\n const newDocLength =\n currentDocumentLength -\n (insertionRange.to - insertionRange.from) +\n insertedValue.length;\n anchor = Math.max(0, Math.min(anchor, newDocLength));\n\n insertionRange = getSortedRange(insertionRange);\n\n return {\n changes: {\n ...insertionRange,\n insert: insertedValue,\n },\n selection: {\n anchor,\n // Select the value placeholder if inserting a wildcard suggestion with a placeholder\n ...(isWildcardSuggestionWithValuePlaceholder ? { head: anchor + 5 } : {}), // 5 = 'value'.length;\n },\n };\n}\n\n/**\n * Handles the insertion and cursor position of the inclusion operator\n * suggestions (\"in ()\" and \"not in ()\")\n */\nfunction getSuggestionTransactionForInclusionOperatorSuggestion(\n suggestionValue: string,\n currentStatement: FilterFieldStatementNode | undefined,\n token: FilterFieldValueNode,\n trailing: string | undefined,\n head: number,\n currentDocumentLength: number,\n editorState: EditorState,\n nextStatement: boolean | undefined,\n) {\n let insertedValue = suggestionValue;\n\n // If a value already exists we have to take care of potential brackets\n if (currentStatement?.value) {\n let stringifiedValue = currentStatement.value.textValue;\n\n // we remove potential brackets from the value so that they are not\n // added twice (e.g. \"a in (b\" should be \"a in (b)\" not \"a in ((b)\")\n // (For type List we know that the brackets are present, but the value could be an\n // error node with incomplete / no brackets)\n stringifiedValue = stringifiedValue\n .replace(/^\\(/, '') // remove starting opening bracket if present\n .replace(/(?<!\\\\)\\)$/, ''); // only remove a closing bracket if it's not escaped\n\n if (currentStatement.value.type !== 'List') {\n // if the value is not a list, we also want to clean up any extra\n // spaces that might be present e.g. \"a in (b \" -> \"a in (b)\"\n insertedValue = `${insertedValue}${stringifiedValue.trimEnd()}`;\n } else {\n insertedValue = `${insertedValue}${stringifiedValue}`;\n }\n }\n\n // We want to insert / reinsert both operator and value\n // as we have to place the brackets before and after the value\n let insertionRange = {\n from: Math.min(\n currentDocumentLength,\n currentStatement?.comparisonOperator?.range.from ?? token.range.from,\n ),\n to: Math.min(\n currentDocumentLength,\n currentStatement?.value?.range.to ?? token.range.to,\n ),\n };\n\n insertionRange = getSortedRange(insertionRange);\n let anchor = insertionRange.from + insertedValue.length;\n\n // Add the trailing closing bracket\n insertedValue = `${insertedValue}${trailing}`;\n\n // Only add a space at the end if there is not yet a space or another statement\n // after the current statement\n const nextSibling = !nextStatement\n ? hasNextSibling(head, editorState, { ignorePositionOperators: true })\n : nextStatement;\n insertedValue = `${insertedValue.trimEnd()}${!nextSibling ? ' ' : ''}`;\n\n // Additional safeguard:\n // Clamp anchor to be within the new document length to prevent\n // \"Selection points outside of document\" errors.\n const newDocLength =\n currentDocumentLength -\n (insertionRange.to - insertionRange.from) +\n insertedValue.length;\n anchor = Math.max(0, Math.min(anchor, newDocLength));\n\n return {\n changes: {\n ...insertionRange,\n insert: insertedValue,\n },\n selection: {\n anchor: anchor,\n },\n };\n}\n\n/**\n * Returns the given range with the from and to values sorted so that from is always smaller than to.\n * This is only needed in some edge cases (e.g. when choosing the in operator suggestions here \"foo | b\"),\n * but to be safe we want sort the range.\n * @internal\n */\nfunction getSortedRange(range: { from: number; to: number }) {\n if (range.to < range.from) {\n return { from: range.to, to: range.from };\n }\n\n return range;\n}\n\n/**\n * Check if the next node after cursor position contains an opening bracket.\n * @internal\n */\nexport function _isFollowedByOpeningBracket(\n editorState: EditorState,\n head: number,\n) {\n const tree = syntaxTree(editorState);\n\n let cursor = tree.cursorAt(head, 1);\n\n if (cursor.name === 'OpeningBracket') {\n return true;\n }\n\n if (cursor.node.name === 'Filter' || cursor.node.name === 'FilterStatement') {\n cursor = tree.cursorAt(head, -1);\n }\n\n if (!cursor.next()) {\n return false;\n }\n\n if (cursor.name === 'OpeningBracket' && cursor.node.from >= head) {\n return true;\n }\n\n if (cursor.name === '\u26A0') {\n if (cursor.next() && cursor.node.from >= head) {\n // the first check handles cases like `foo = (bar` and the FilterGroup check handles cases like `foo = (bar, baz)`, that already includes an opening bracket\n // @ts-expect-error the cursor name type changed by calling next, but typescript doesn't recognize it\n if (cursor.name === 'OpeningBracket' || cursor.name === 'FilterGroup') {\n return true;\n }\n }\n }\n\n if (cursor.name === 'FilterIncludesValue') {\n if (cursor.next() && cursor.node.from >= head) {\n // if the node is a list node, we know it already includes an opening bracket and otherwise we check if it's just an opening bracket node\n // @ts-expect-error the cursor name type changed by calling next, but typescript doesn't recognize it\n if (cursor.name === 'OpeningBracket' || cursor.name === 'List') {\n return true;\n }\n }\n }\n\n // keep track of the cursor at the next position for cases like (a = 1) (a = b) at index 6 or foo = bar (test, bla) at index 8\n const cursorAtExactPosition = tree.cursorAt(head + 1, 1);\n\n if (cursorAtExactPosition.node.name === 'OpeningBracket') {\n return true;\n }\n\n cursorAtExactPosition.parent();\n\n if (\n cursorAtExactPosition.node.name !== 'Filter' &&\n cursor.node.name === 'FilterGroup'\n ) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Check whether the node that is be entered at the given position is the last value in a list.\n * @internal\n */\nexport function insertionIsLastListValue(\n cursorPosition: number,\n editorState: EditorState,\n): boolean {\n const tree = syntaxTree(editorState);\n const cursor = tree.cursorAt(cursorPosition, 1);\n\n // If the cursor is right before a closing bracket, we definitely have a next sibling.\n if (\n cursor.node.name === 'ClosingBracket' &&\n cursorPosition === cursor.node.from\n ) {\n if (cursor.parent() && cursor.name === 'List') {\n return true;\n }\n }\n\n return false;\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { syntaxTree } from '@codemirror/language';\nimport { EditorState } from '@codemirror/state';\n\nimport { escapeSuggestion } from './escape-suggestion.js';\nimport { getStatementStatus } from './get-statement-status.js';\nimport { getTextFromRange } from './get-text.js';\nimport {\n getStatementCursorAtPosition,\n hasNextSibling,\n hasNextStatement,\n} from './tree-navigation.js';\nimport { isLogicalOperator } from './tree-node-guards.js';\nimport { filterFieldLanguageExtension } from '../parser/filterfield-language.js';\nimport type { FilterFieldSuggestionProps } from '../suggestions/Suggestion.types.js';\nimport type { FilterFieldSuggestionsContext } from '../suggestions/suggestions-extension.js';\nimport type {\n FilterFieldNodeBase,\n FilterFieldStatementNode,\n FilterFieldValueNode,\n} from '../types/tree-nodes.js';\n\n/** @internal */\nexport function getSuggestionTransaction(\n suggestionValue: string,\n range: FilterFieldNodeBase['range'] | undefined,\n shouldEscapeSuggestion: boolean | undefined,\n trailing: string | undefined,\n insertionStrategy: FilterFieldSuggestionProps['insertionStrategy'],\n cursorBeforeTrailing: boolean | undefined,\n suggestionsContext: FilterFieldSuggestionsContext,\n editorState: EditorState,\n) {\n const { token, currentStatement: _currentStatement } = suggestionsContext;\n const currentSelection = editorState.selection;\n const { head } = currentSelection.main;\n\n let currentStatement = _currentStatement;\n if (!currentStatement) {\n currentStatement = {\n type: 'Statement',\n range: { from: token.range.from, to: token.range.to },\n };\n }\n\n const autoEscapeSuggestion =\n (insertionStrategy === 'replace-token' &&\n shouldEscapeSuggestion === undefined) ||\n shouldEscapeSuggestion;\n\n const currentDocumentLength = editorState.doc.toString().length;\n\n const isWildcardSuggestionWithValuePlaceholder = trailing?.includes('value');\n const isInclusionOperatorSuggestion = ['in (', 'not in ('].includes(\n suggestionValue,\n ); // these values come from our defined defaultComparisonOperatorSuggestions values when we have autosuggestions\n const isSuggestionWithWildcard = ['= *', '!= *'].includes(suggestionValue);\n\n const nextStatement = hasNextStatement(head, editorState);\n\n // Handle insertion of the inclusion operator suggestion separately,\n // as we have to take care of potential existing values and brackets and\n // always want to place the cursor right before the closing bracket so users\n // can start/continue typing values.\n if (isInclusionOperatorSuggestion && range === undefined) {\n return getSuggestionTransactionForInclusionOperatorSuggestion(\n suggestionValue,\n currentStatement,\n token,\n trailing,\n head,\n currentDocumentLength,\n editorState,\n nextStatement,\n );\n }\n\n const appliedSuggestionValue = `${\n autoEscapeSuggestion && !isWildcardSuggestionWithValuePlaceholder\n ? escapeSuggestion(suggestionValue)\n : suggestionValue\n }${trailing ?? ''}`;\n\n const trimmedValue = appliedSuggestionValue.trimEnd();\n const isExistsOperator = trimmedValue.match(/^(= \\*)$|^(!= \\*)$/);\n const addSpace = appliedSuggestionValue.slice(-1) === ' ';\n\n let insertedValue = appliedSuggestionValue;\n let replaceFrom = token.range.from;\n let replaceUntil = token.range.to;\n let nextSibling = false;\n let isLastListValue = false;\n let startsWithOperator = false;\n let endsWithOperator = false;\n let hasSpaceAfterQuotes = false;\n\n const followedByOpeningParenthesis = _isFollowedByOpeningBracket(\n editorState,\n head,\n );\n\n // If the token at the cursor position is a list, only replace single list values if the cursor\n // is positioned inside the list's brackets.\n if (\n token.type === 'List' &&\n head > token.range.from &&\n head < token.range.to &&\n insertionStrategy === 'replace-token'\n ) {\n replaceFrom = head;\n replaceUntil = head;\n }\n\n const { value } = currentStatement ?? {};\n const isValueToken =\n token.range.from === value?.range.from &&\n token.range.to === value?.range.to;\n\n // If the current statement is undefined, it is definitely not followed by any\n // other node and we want to automatically add the default trailing space\n // (unless overridden) when applying a suggestion.\n // If there is a statement, we want to override the added space in certain cases.\n if (currentStatement) {\n nextSibling = !nextStatement\n ? hasNextSibling(head, editorState, { ignorePositionOperators: true })\n : nextStatement;\n startsWithOperator =\n isValueToken &&\n currentStatement.comparisonOperator?.type === 'ComparisonOperator' &&\n (currentStatement.comparisonOperator.value === 'starts-with' ||\n currentStatement.comparisonOperator.value === 'contains');\n endsWithOperator =\n isValueToken &&\n currentStatement.comparisonOperator?.type === 'ComparisonOperator' &&\n (currentStatement.comparisonOperator.value === 'ends-with' ||\n currentStatement.comparisonOperator.value === 'contains');\n\n if (nextSibling && insertionIsLastListValue(head, editorState)) {\n // We need this flag to not move the cursor outside of the brackets when\n // adding a value as the last value in a list. (e.g. a in (a|))\n isLastListValue = true;\n }\n\n // If the applied suggestion is an exists operator (= * | != *), we want to also\n // replace the value of the current filter statement.\n // e.g.:\n // foo =| bar\n // insert \"= *\"\n // foo = *\n if (\n insertionStrategy === 'replace-statement' ||\n (isExistsOperator &&\n currentStatement.value &&\n !followedByOpeningParenthesis) ||\n startsWithOperator\n ) {\n nextSibling = nextStatement;\n replaceUntil = currentStatement.range.to;\n }\n\n insertedValue =\n nextSibling || insertionStrategy === 'insert'\n ? trimmedValue\n : appliedSuggestionValue;\n const containsOperator = startsWithOperator && endsWithOperator;\n\n // When replacing a value that has a starts-with operator, we want to replace\n // the value while keeping the operator. If a space is supposed to be added, we\n // have to add it after the position operator.\n if (\n (startsWithOperator || endsWithOperator) &&\n insertionStrategy === 'replace-token'\n ) {\n let { from, to } = {\n from: currentStatement.range.to,\n to: currentStatement.range.to,\n };\n\n if (currentStatement.value) {\n ({ from, to } = currentStatement.value.range);\n }\n\n if (\n startsWithOperator &&\n ((head > from && head < to) || (!containsOperator && head === from))\n ) {\n startsWithOperator = false;\n if (!trimmedValue.endsWith('*')) {\n insertedValue =\n containsOperator && !trimmedValue.startsWith('*')\n ? `*${trimmedValue}*`\n : `${trimmedValue}*`;\n\n insertedValue = `${insertedValue}${\n !nextSibling && addSpace ? ' ' : ''\n }`;\n }\n } else {\n if (head === from || (startsWithOperator && head === to)) {\n replaceFrom = from;\n insertedValue = appliedSuggestionValue;\n }\n\n replaceUntil = to;\n startsWithOperator = false;\n nextSibling = nextStatement;\n }\n }\n } else {\n insertedValue = nextSibling ? trimmedValue : appliedSuggestionValue;\n }\n\n let insertionRange: { from: number; to: number };\n\n switch (insertionStrategy) {\n case 'insert':\n insertionRange = {\n from: head,\n to: head,\n };\n break;\n case 'replace-statement': {\n const editorState = EditorState.create({\n doc: appliedSuggestionValue,\n extensions: [filterFieldLanguageExtension],\n });\n const suggestionCursor = getStatementCursorAtPosition(\n appliedSuggestionValue.length,\n editorState,\n );\n\n if (getStatementStatus(suggestionCursor) !== 'complete') {\n insertedValue = appliedSuggestionValue;\n nextSibling = false;\n }\n\n insertionRange = {\n from: Math.min(\n currentDocumentLength,\n currentStatement?.range.from ?? head,\n ),\n to: Math.min(currentDocumentLength, currentStatement?.range.to ?? head),\n };\n\n if (isLogicalOperator(token)) {\n nextSibling = nextStatement;\n if (nextSibling) {\n insertedValue = trimmedValue;\n }\n\n insertionRange = {\n from: Math.min(currentDocumentLength, token.range.from),\n to: Math.min(currentDocumentLength, token.range.to),\n };\n }\n break;\n }\n case 'replace-all':\n // Reset inserted value to the initial suggestion value, including all trailing characters.\n insertedValue = appliedSuggestionValue;\n nextSibling = false;\n insertionRange = {\n from: 0,\n to: editorState.doc.toString().length,\n };\n break;\n default: {\n if (\n (token.type === 'String' ||\n token.type === 'Key' ||\n token.type === 'Error') &&\n range === undefined\n ) {\n // The current token may end before the enclosing statement, e.g. '\"foo\"| ' -> current token '\"foo\"' doesn't\n // include the space, which is included in the statement's range.\n // We need to check whether there's a space after the current token to properly insert the suggestion.\n if (token.range.to < (currentStatement?.range.to ?? 0)) {\n const characterAfterToken = getTextFromRange(\n {\n from: token.range.to,\n to: token.range.to + 1,\n },\n editorState.doc.toString(),\n );\n\n // If there's already a space after the current token, handle insertion as if there was a next sibling.\n if (characterAfterToken === ' ') {\n nextSibling = true;\n insertedValue = trimmedValue;\n }\n }\n\n if (head > token.range.from && head < token.range.to) {\n const isTokenEscaped = token.textValue.match(/^\"[^\"]*\"$/);\n const isAppliedSuggestionValueEscaped =\n appliedSuggestionValue.match(/^\"[^\"]*\"$/) ??\n appliedSuggestionValue.match(/^\"[^\"]*\" $/);\n\n if (isTokenEscaped && !isAppliedSuggestionValueEscaped) {\n replaceFrom = token.range.from + 1;\n replaceUntil = token.range.to;\n\n const addSpace = insertedValue.slice(-1) !== ' ';\n\n insertedValue = addSpace ? `${trimmedValue}\" ` : `${trimmedValue}\"`;\n hasSpaceAfterQuotes = addSpace;\n }\n }\n } else if (range) {\n ({ from: replaceFrom, to: replaceUntil } = range);\n }\n\n insertionRange = {\n from: Math.min(currentDocumentLength, replaceFrom),\n to: Math.min(currentDocumentLength, replaceUntil),\n };\n }\n }\n\n // Public insertion ranges can be provided in reverse order. Normalize before\n // calculating selection bounds so CodeMirror does not reject the transaction.\n insertionRange = getSortedRange(insertionRange);\n\n let anchor =\n insertionStrategy === 'insert'\n ? head + insertedValue.length\n : Math.min(currentDocumentLength, insertionRange.from) +\n (nextSibling && !isLastListValue\n ? appliedSuggestionValue.length\n : insertedValue.length) +\n (insertionStrategy === 'replace-token' ? +startsWithOperator : 0) +\n +hasSpaceAfterQuotes;\n\n // When a custom suggestion with trailing `value` is provided, we automatically adjust the selection\n // so the placeholder is selected to have the same behaviour as for ootb wildcard suggestions.\n if (cursorBeforeTrailing || isWildcardSuggestionWithValuePlaceholder) {\n const trailingLength = trailing ? trailing.length : 0;\n anchor -=\n trailingLength +\n (autoEscapeSuggestion &&\n !(isSuggestionWithWildcard || isWildcardSuggestionWithValuePlaceholder)\n ? 1\n : 0);\n }\n\n // Additional safeguard:\n // Clamp anchor to be within the new document length to prevent\n // \"Selection points outside of document\" errors.\n const newDocLength =\n currentDocumentLength -\n (insertionRange.to - insertionRange.from) +\n insertedValue.length;\n anchor = Math.max(0, Math.min(anchor, newDocLength));\n\n return {\n changes: {\n ...insertionRange,\n insert: insertedValue,\n },\n selection: {\n anchor,\n // Select the value placeholder if inserting a wildcard suggestion with a placeholder\n ...(isWildcardSuggestionWithValuePlaceholder ? { head: anchor + 5 } : {}), // 5 = 'value'.length;\n },\n };\n}\n\n/**\n * Handles the insertion and cursor position of the inclusion operator\n * suggestions (\"in ()\" and \"not in ()\")\n */\nfunction getSuggestionTransactionForInclusionOperatorSuggestion(\n suggestionValue: string,\n currentStatement: FilterFieldStatementNode | undefined,\n token: FilterFieldValueNode,\n trailing: string | undefined,\n head: number,\n currentDocumentLength: number,\n editorState: EditorState,\n nextStatement: boolean | undefined,\n) {\n let insertedValue = suggestionValue;\n\n // If a value already exists we have to take care of potential brackets\n if (currentStatement?.value) {\n let stringifiedValue = currentStatement.value.textValue;\n\n // we remove potential brackets from the value so that they are not\n // added twice (e.g. \"a in (b\" should be \"a in (b)\" not \"a in ((b)\")\n // (For type List we know that the brackets are present, but the value could be an\n // error node with incomplete / no brackets)\n stringifiedValue = stringifiedValue\n .replace(/^\\(/, '') // remove starting opening bracket if present\n .replace(/(?<!\\\\)\\)$/, ''); // only remove a closing bracket if it's not escaped\n\n if (currentStatement.value.type !== 'List') {\n // if the value is not a list, we also want to clean up any extra\n // spaces that might be present e.g. \"a in (b \" -> \"a in (b)\"\n insertedValue = `${insertedValue}${stringifiedValue.trimEnd()}`;\n } else {\n insertedValue = `${insertedValue}${stringifiedValue}`;\n }\n }\n\n // We want to insert / reinsert both operator and value\n // as we have to place the brackets before and after the value\n let insertionRange = {\n from: Math.min(\n currentDocumentLength,\n currentStatement?.comparisonOperator?.range.from ?? token.range.from,\n ),\n to: Math.min(\n currentDocumentLength,\n currentStatement?.value?.range.to ?? token.range.to,\n ),\n };\n\n insertionRange = getSortedRange(insertionRange);\n let anchor = insertionRange.from + insertedValue.length;\n\n // Add the trailing closing bracket\n insertedValue = `${insertedValue}${trailing}`;\n\n // Only add a space at the end if there is not yet a space or another statement\n // after the current statement\n const nextSibling = !nextStatement\n ? hasNextSibling(head, editorState, { ignorePositionOperators: true })\n : nextStatement;\n insertedValue = `${insertedValue.trimEnd()}${!nextSibling ? ' ' : ''}`;\n\n // Additional safeguard:\n // Clamp anchor to be within the new document length to prevent\n // \"Selection points outside of document\" errors.\n const newDocLength =\n currentDocumentLength -\n (insertionRange.to - insertionRange.from) +\n insertedValue.length;\n anchor = Math.max(0, Math.min(anchor, newDocLength));\n\n return {\n changes: {\n ...insertionRange,\n insert: insertedValue,\n },\n selection: {\n anchor: anchor,\n },\n };\n}\n\n/**\n * Returns the given range with the from and to values sorted so that from is always smaller than to.\n * This is only needed in some edge cases (e.g. when choosing the in operator suggestions here \"foo | b\"),\n * but to be safe we want sort the range.\n * @internal\n */\nfunction getSortedRange(range: { from: number; to: number }) {\n if (range.to < range.from) {\n return { from: range.to, to: range.from };\n }\n\n return range;\n}\n\n/**\n * Check if the next node after cursor position contains an opening bracket.\n * @internal\n */\nexport function _isFollowedByOpeningBracket(\n editorState: EditorState,\n head: number,\n) {\n const tree = syntaxTree(editorState);\n\n let cursor = tree.cursorAt(head, 1);\n\n if (cursor.name === 'OpeningBracket') {\n return true;\n }\n\n if (cursor.node.name === 'Filter' || cursor.node.name === 'FilterStatement') {\n cursor = tree.cursorAt(head, -1);\n }\n\n if (!cursor.next()) {\n return false;\n }\n\n if (cursor.name === 'OpeningBracket' && cursor.node.from >= head) {\n return true;\n }\n\n if (cursor.name === '\u26A0') {\n if (cursor.next() && cursor.node.from >= head) {\n // the first check handles cases like `foo = (bar` and the FilterGroup check handles cases like `foo = (bar, baz)`, that already includes an opening bracket\n // @ts-expect-error the cursor name type changed by calling next, but typescript doesn't recognize it\n if (cursor.name === 'OpeningBracket' || cursor.name === 'FilterGroup') {\n return true;\n }\n }\n }\n\n if (cursor.name === 'FilterIncludesValue') {\n if (cursor.next() && cursor.node.from >= head) {\n // if the node is a list node, we know it already includes an opening bracket and otherwise we check if it's just an opening bracket node\n // @ts-expect-error the cursor name type changed by calling next, but typescript doesn't recognize it\n if (cursor.name === 'OpeningBracket' || cursor.name === 'List') {\n return true;\n }\n }\n }\n\n // keep track of the cursor at the next position for cases like (a = 1) (a = b) at index 6 or foo = bar (test, bla) at index 8\n const cursorAtExactPosition = tree.cursorAt(head + 1, 1);\n\n if (cursorAtExactPosition.node.name === 'OpeningBracket') {\n return true;\n }\n\n cursorAtExactPosition.parent();\n\n if (\n cursorAtExactPosition.node.name !== 'Filter' &&\n cursor.node.name === 'FilterGroup'\n ) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Check whether the node that is be entered at the given position is the last value in a list.\n * @internal\n */\nexport function insertionIsLastListValue(\n cursorPosition: number,\n editorState: EditorState,\n): boolean {\n const tree = syntaxTree(editorState);\n const cursor = tree.cursorAt(cursorPosition, 1);\n\n // If the cursor is right before a closing bracket, we definitely have a next sibling.\n if (\n cursor.node.name === 'ClosingBracket' &&\n cursorPosition === cursor.node.from\n ) {\n if (cursor.parent() && cursor.name === 'List') {\n return true;\n }\n }\n\n return false;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,yBAAyB;AAClC,SAAS,oCAAoC;AAUtC,SAAS,yBACd,iBACA,OACA,wBACA,UACA,mBACA,sBACA,oBACA,aACA;AACA,QAAM,EAAE,OAAO,kBAAkB,kBAAkB,IAAI;AACvD,QAAM,mBAAmB,YAAY;AACrC,QAAM,EAAE,KAAK,IAAI,iBAAiB;AAElC,MAAI,mBAAmB;AACvB,MAAI,CAAC,kBAAkB;AACrB,uBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,MAAM,GAAG;AAAA,IACtD;AAAA,EACF;AAEA,QAAM,uBACH,sBAAsB,mBACrB,2BAA2B,UAC7B;AAEF,QAAM,wBAAwB,YAAY,IAAI,SAAS,EAAE;AAEzD,QAAM,2CAA2C,UAAU,SAAS,OAAO;AAC3E,QAAM,gCAAgC,CAAC,QAAQ,UAAU,EAAE;AAAA,IACzD;AAAA,EACF;AACA,QAAM,2BAA2B,CAAC,OAAO,MAAM,EAAE,SAAS,eAAe;AAEzE,QAAM,gBAAgB,iBAAiB,MAAM,WAAW;AAMxD,MAAI,iCAAiC,UAAU,QAAW;AACxD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,yBAAyB,GAC7B,wBAAwB,CAAC,2CACrB,iBAAiB,eAAe,IAChC,eACN,GAAG,YAAY,EAAE;AAEjB,QAAM,eAAe,uBAAuB,QAAQ;AACpD,QAAM,mBAAmB,aAAa,MAAM,oBAAoB;AAChE,QAAM,WAAW,uBAAuB,MAAM,EAAE,MAAM;AAEtD,MAAI,gBAAgB;AACpB,MAAI,cAAc,MAAM,MAAM;AAC9B,MAAI,eAAe,MAAM,MAAM;AAC/B,MAAI,cAAc;AAClB,MAAI,kBAAkB;AACtB,MAAI,qBAAqB;AACzB,MAAI,mBAAmB;AACvB,MAAI,sBAAsB;AAE1B,QAAM,+BAA+B;AAAA,IACnC;AAAA,IACA;AAAA,EACF;AAIA,MACE,MAAM,SAAS,UACf,OAAO,MAAM,MAAM,QACnB,OAAO,MAAM,MAAM,MACnB,sBAAsB,iBACtB;AACA,kBAAc;AACd,mBAAe;AAAA,EACjB;AAEA,QAAM,EAAE,MAAM,IAAI,oBAAoB,CAAC;AACvC,QAAM,eACJ,MAAM,MAAM,SAAS,OAAO,MAAM,QAClC,MAAM,MAAM,OAAO,OAAO,MAAM;AAMlC,MAAI,kBAAkB;AACpB,kBAAc,CAAC,gBACX,eAAe,MAAM,aAAa,EAAE,yBAAyB,KAAK,CAAC,IACnE;AACJ,yBACE,gBACA,iBAAiB,oBAAoB,SAAS,yBAC7C,iBAAiB,mBAAmB,UAAU,iBAC7C,iBAAiB,mBAAmB,UAAU;AAClD,uBACE,gBACA,iBAAiB,oBAAoB,SAAS,yBAC7C,iBAAiB,mBAAmB,UAAU,eAC7C,iBAAiB,mBAAmB,UAAU;AAElD,QAAI,eAAe,yBAAyB,MAAM,WAAW,GAAG;AAG9D,wBAAkB;AAAA,IACpB;AAQA,QACE,sBAAsB,uBACrB,oBACC,iBAAiB,SACjB,CAAC,gCACH,oBACA;AACA,oBAAc;AACd,qBAAe,iBAAiB,MAAM;AAAA,IACxC;AAEA,oBACE,eAAe,sBAAsB,WACjC,eACA;AACN,UAAM,mBAAmB,sBAAsB;AAK/C,SACG,sBAAsB,qBACvB,sBAAsB,iBACtB;AACA,UAAI,EAAE,MAAM,GAAG,IAAI;AAAA,QACjB,MAAM,iBAAiB,MAAM;AAAA,QAC7B,IAAI,iBAAiB,MAAM;AAAA,MAC7B;AAEA,UAAI,iBAAiB,OAAO;AAC1B,SAAC,EAAE,MAAM,GAAG,IAAI,iBAAiB,MAAM;AAAA,MACzC;AAEA,UACE,uBACE,OAAO,QAAQ,OAAO,MAAQ,CAAC,oBAAoB,SAAS,OAC9D;AACA,6BAAqB;AACrB,YAAI,CAAC,aAAa,SAAS,GAAG,GAAG;AAC/B,0BACE,oBAAoB,CAAC,aAAa,WAAW,GAAG,IAC5C,IAAI,YAAY,MAChB,GAAG,YAAY;AAErB,0BAAgB,GAAG,aAAa,GAC9B,CAAC,eAAe,WAAW,MAAM,EACnC;AAAA,QACF;AAAA,MACF,OAAO;AACL,YAAI,SAAS,QAAS,sBAAsB,SAAS,IAAK;AACxD,wBAAc;AACd,0BAAgB;AAAA,QAClB;AAEA,uBAAe;AACf,6BAAqB;AACrB,sBAAc;AAAA,MAChB;AAAA,IACF;AAAA,EACF,OAAO;AACL,oBAAgB,cAAc,eAAe;AAAA,EAC/C;AAEA,MAAI;AAEJ,UAAQ,mBAAmB;AAAA,IACzB,KAAK;AACH,uBAAiB;AAAA,QACf,MAAM;AAAA,QACN,IAAI;AAAA,MACN;AACA;AAAA,IACF,KAAK,qBAAqB;AACxB,YAAMA,eAAc,YAAY,OAAO;AAAA,QACrC,KAAK;AAAA,QACL,YAAY,CAAC,4BAA4B;AAAA,MAC3C,CAAC;AACD,YAAM,mBAAmB;AAAA,QACvB,uBAAuB;AAAA,QACvBA;AAAA,MACF;AAEA,UAAI,mBAAmB,gBAAgB,MAAM,YAAY;AACvD,wBAAgB;AAChB,sBAAc;AAAA,MAChB;AAEA,uBAAiB;AAAA,QACf,MAAM,KAAK;AAAA,UACT;AAAA,UACA,kBAAkB,MAAM,QAAQ;AAAA,QAClC;AAAA,QACA,IAAI,KAAK,IAAI,uBAAuB,kBAAkB,MAAM,MAAM,IAAI;AAAA,MACxE;AAEA,UAAI,kBAAkB,KAAK,GAAG;AAC5B,sBAAc;AACd,YAAI,aAAa;AACf,0BAAgB;AAAA,QAClB;AAEA,yBAAiB;AAAA,UACf,MAAM,KAAK,IAAI,uBAAuB,MAAM,MAAM,IAAI;AAAA,UACtD,IAAI,KAAK,IAAI,uBAAuB,MAAM,MAAM,EAAE;AAAA,QACpD;AAAA,MACF;AACA;AAAA,IACF;AAAA,IACA,KAAK;AAEH,sBAAgB;AAChB,oBAAc;AACd,uBAAiB;AAAA,QACf,MAAM;AAAA,QACN,IAAI,YAAY,IAAI,SAAS,EAAE;AAAA,MACjC;AACA;AAAA,IACF,SAAS;AACP,WACG,MAAM,SAAS,YACd,MAAM,SAAS,SACf,MAAM,SAAS,YACjB,UAAU,QACV;AAIA,YAAI,MAAM,MAAM,MAAM,kBAAkB,MAAM,MAAM,IAAI;AACtD,gBAAM,sBAAsB;AAAA,YAC1B;AAAA,cACE,MAAM,MAAM,MAAM;AAAA,cAClB,IAAI,MAAM,MAAM,KAAK;AAAA,YACvB;AAAA,YACA,YAAY,IAAI,SAAS;AAAA,UAC3B;AAGA,cAAI,wBAAwB,KAAK;AAC/B,0BAAc;AACd,4BAAgB;AAAA,UAClB;AAAA,QACF;AAEA,YAAI,OAAO,MAAM,MAAM,QAAQ,OAAO,MAAM,MAAM,IAAI;AACpD,gBAAM,iBAAiB,MAAM,UAAU,MAAM,WAAW;AACxD,gBAAM,kCACJ,uBAAuB,MAAM,WAAW,KACxC,uBAAuB,MAAM,YAAY;AAE3C,cAAI,kBAAkB,CAAC,iCAAiC;AACtD,0BAAc,MAAM,MAAM,OAAO;AACjC,2BAAe,MAAM,MAAM;AAE3B,kBAAMC,YAAW,cAAc,MAAM,EAAE,MAAM;AAE7C,4BAAgBA,YAAW,GAAG,YAAY,OAAO,GAAG,YAAY;AAChE,kCAAsBA;AAAA,UACxB;AAAA,QACF;AAAA,MACF,WAAW,OAAO;AAChB,SAAC,EAAE,MAAM,aAAa,IAAI,aAAa,IAAI;AAAA,MAC7C;AAEA,uBAAiB;AAAA,QACf,MAAM,KAAK,IAAI,uBAAuB,WAAW;AAAA,QACjD,IAAI,KAAK,IAAI,uBAAuB,YAAY;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AAIA,mBAAiB,eAAe,cAAc;AAE9C,MAAI,SACF,sBAAsB,WAClB,OAAO,cAAc,SACrB,KAAK,IAAI,uBAAuB,eAAe,IAAI,KAClD,eAAe,CAAC,kBACb,uBAAuB,SACvB,cAAc,WACjB,sBAAsB,kBAAkB,CAAC,qBAAqB,KAC/D,CAAC;AAIP,MAAI,wBAAwB,0CAA0C;AACpE,UAAM,iBAAiB,WAAW,SAAS,SAAS;AACpD,cACE,kBACC,wBACD,EAAE,4BAA4B,4CAC1B,IACA;AAAA,EACR;AAKA,QAAM,eACJ,yBACC,eAAe,KAAK,eAAe,QACpC,cAAc;AAChB,WAAS,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,YAAY,CAAC;AAEnD,SAAO;AAAA,IACL,SAAS;AAAA,MACP,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT;AAAA;AAAA,MAEA,GAAI,2CAA2C,EAAE,MAAM,SAAS,EAAE,IAAI,CAAC;AAAA;AAAA,IACzE;AAAA,EACF;AACF;AAMA,SAAS,uDACP,iBACA,kBACA,OACA,UACA,MACA,uBACA,aACA,eACA;AACA,MAAI,gBAAgB;AAGpB,MAAI,kBAAkB,OAAO;AAC3B,QAAI,mBAAmB,iBAAiB,MAAM;AAM9C,uBAAmB,iBAChB,QAAQ,OAAO,EAAE,EACjB,QAAQ,cAAc,EAAE;AAE3B,QAAI,iBAAiB,MAAM,SAAS,QAAQ;AAG1C,sBAAgB,GAAG,aAAa,GAAG,iBAAiB,QAAQ,CAAC;AAAA,IAC/D,OAAO;AACL,sBAAgB,GAAG,aAAa,GAAG,gBAAgB;AAAA,IACrD;AAAA,EACF;AAIA,MAAI,iBAAiB;AAAA,IACnB,MAAM,KAAK;AAAA,MACT;AAAA,MACA,kBAAkB,oBAAoB,MAAM,QAAQ,MAAM,MAAM;AAAA,IAClE;AAAA,IACA,IAAI,KAAK;AAAA,MACP;AAAA,MACA,kBAAkB,OAAO,MAAM,MAAM,MAAM,MAAM;AAAA,IACnD;AAAA,EACF;AAEA,mBAAiB,eAAe,cAAc;AAC9C,MAAI,SAAS,eAAe,OAAO,cAAc;AAGjD,kBAAgB,GAAG,aAAa,GAAG,QAAQ;AAI3C,QAAM,cAAc,CAAC,gBACjB,eAAe,MAAM,aAAa,EAAE,yBAAyB,KAAK,CAAC,IACnE;AACJ,kBAAgB,GAAG,cAAc,QAAQ,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE;AAKpE,QAAM,eACJ,yBACC,eAAe,KAAK,eAAe,QACpC,cAAc;AAChB,WAAS,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,YAAY,CAAC;AAEnD,SAAO;AAAA,IACL,SAAS;AAAA,MACP,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAQA,SAAS,eAAe,OAAqC;AAC3D,MAAI,MAAM,KAAK,MAAM,MAAM;AACzB,WAAO,EAAE,MAAM,MAAM,IAAI,IAAI,MAAM,KAAK;AAAA,EAC1C;AAEA,SAAO;AACT;AAMO,SAAS,4BACd,aACA,MACA;AACA,QAAM,OAAO,WAAW,WAAW;AAEnC,MAAI,SAAS,KAAK,SAAS,MAAM,CAAC;AAElC,MAAI,OAAO,SAAS,kBAAkB;AACpC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,KAAK,SAAS,YAAY,OAAO,KAAK,SAAS,mBAAmB;AAC3E,aAAS,KAAK,SAAS,MAAM,EAAE;AAAA,EACjC;AAEA,MAAI,CAAC,OAAO,KAAK,GAAG;AAClB,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,SAAS,oBAAoB,OAAO,KAAK,QAAQ,MAAM;AAChE,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,SAAS,UAAK;AACvB,QAAI,OAAO,KAAK,KAAK,OAAO,KAAK,QAAQ,MAAM;AAG7C,UAAI,OAAO,SAAS,oBAAoB,OAAO,SAAS,eAAe;AACrE,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,uBAAuB;AACzC,QAAI,OAAO,KAAK,KAAK,OAAO,KAAK,QAAQ,MAAM;AAG7C,UAAI,OAAO,SAAS,oBAAoB,OAAO,SAAS,QAAQ;AAC9D,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAGA,QAAM,wBAAwB,KAAK,SAAS,OAAO,GAAG,CAAC;AAEvD,MAAI,sBAAsB,KAAK,SAAS,kBAAkB;AACxD,WAAO;AAAA,EACT;AAEA,wBAAsB,OAAO;AAE7B,MACE,sBAAsB,KAAK,SAAS,YACpC,OAAO,KAAK,SAAS,eACrB;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAMO,SAAS,yBACd,gBACA,aACS;AACT,QAAM,OAAO,WAAW,WAAW;AACnC,QAAM,SAAS,KAAK,SAAS,gBAAgB,CAAC;AAG9C,MACE,OAAO,KAAK,SAAS,oBACrB,mBAAmB,OAAO,KAAK,MAC/B;AACA,QAAI,OAAO,OAAO,KAAK,OAAO,SAAS,QAAQ;AAC7C,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;",
|
|
6
6
|
"names": ["editorState", "addSpace"]
|
|
7
7
|
}
|
|
@@ -7,6 +7,11 @@ import {
|
|
|
7
7
|
getComparisonOperatorSuggestions
|
|
8
8
|
} from "./operator-suggestions.js";
|
|
9
9
|
import { getJSONPathHint, getPastingSuggestion } from "./shared-suggestions.js";
|
|
10
|
+
import {
|
|
11
|
+
getSuggestionMatchPriority,
|
|
12
|
+
normalizeSuggestionMatchText,
|
|
13
|
+
suggestionMatchesTerm
|
|
14
|
+
} from "./suggestion-matching.js";
|
|
10
15
|
import { getValidValueTypes } from "./suggestion-type.js";
|
|
11
16
|
import {
|
|
12
17
|
getValueSuggestionGroups,
|
|
@@ -121,7 +126,10 @@ function getSuggestions({
|
|
|
121
126
|
comparisonOperatorSuggestions = filterSuggestions(
|
|
122
127
|
comparisonOperatorSuggestions,
|
|
123
128
|
currentToken,
|
|
124
|
-
overlappingSuggestions ? overlappingSuggestions.subToken.textValue.trim() : getTypedOperatorFromCurrentStatement(currentStatement)
|
|
129
|
+
overlappingSuggestions ? overlappingSuggestions.subToken.textValue.trim() : getTypedOperatorFromCurrentStatement(currentStatement),
|
|
130
|
+
// Operator details (e.g. "equals", "not equals") are display-only
|
|
131
|
+
// localized labels — never a match target.
|
|
132
|
+
{ includeDetails: false }
|
|
125
133
|
);
|
|
126
134
|
if (overlappingSuggestions) {
|
|
127
135
|
comparisonOperatorSuggestions = comparisonOperatorSuggestions.map(
|
|
@@ -152,7 +160,8 @@ function getSuggestions({
|
|
|
152
160
|
logicalOperatorSuggestions = filterSuggestions(
|
|
153
161
|
defaultLogicalOperatorSuggestions,
|
|
154
162
|
currentToken,
|
|
155
|
-
currentValue
|
|
163
|
+
currentValue,
|
|
164
|
+
{ includeDetails: false }
|
|
156
165
|
);
|
|
157
166
|
}
|
|
158
167
|
if (suggestionTypes.find((value) => value === "key") && (currentToken.type === "JSONPath" || currentToken.type === "Error" && currentToken.textValue.match(JSONPATH_PATTERN_PARTIAL))) {
|
|
@@ -168,9 +177,9 @@ function getSuggestions({
|
|
|
168
177
|
};
|
|
169
178
|
}
|
|
170
179
|
function trimEscapedCharacters(value) {
|
|
171
|
-
return value
|
|
180
|
+
return normalizeSuggestionMatchText(value);
|
|
172
181
|
}
|
|
173
|
-
function filterSuggestions(providedSuggestions, currentToken, currentValue) {
|
|
182
|
+
function filterSuggestions(providedSuggestions, currentToken, currentValue, options) {
|
|
174
183
|
const textValue = trimEscapedCharacters(currentValue);
|
|
175
184
|
return providedSuggestions.filter((suggestion) => {
|
|
176
185
|
if (Array.isArray(currentToken.value)) {
|
|
@@ -182,10 +191,7 @@ function filterSuggestions(providedSuggestions, currentToken, currentValue) {
|
|
|
182
191
|
if (suggestion.value === "OR" && currentToken.value !== currentToken.textValue) {
|
|
183
192
|
return false;
|
|
184
193
|
}
|
|
185
|
-
|
|
186
|
-
const trimmedDisplayValue = typeof suggestion.displayValue === "string" ? trimEscapedCharacters(suggestion.displayValue) : void 0;
|
|
187
|
-
const matchTarget = trimmedDisplayValue ?? trimmedValue;
|
|
188
|
-
return matchTarget.includes(`${textValue ?? ""}`);
|
|
194
|
+
return suggestionMatchesTerm(suggestion, textValue, options);
|
|
189
195
|
});
|
|
190
196
|
}
|
|
191
197
|
function isSuggestionTypeNumber(suggestion) {
|
|
@@ -227,15 +233,6 @@ function compareDurations(a, b) {
|
|
|
227
233
|
}
|
|
228
234
|
return getDurationNumericValue(a) - getDurationNumericValue(b);
|
|
229
235
|
}
|
|
230
|
-
function getMatchPriority(normalizedValue, needle) {
|
|
231
|
-
if (normalizedValue === needle) {
|
|
232
|
-
return 0;
|
|
233
|
-
}
|
|
234
|
-
if (normalizedValue.startsWith(needle)) {
|
|
235
|
-
return 1;
|
|
236
|
-
}
|
|
237
|
-
return 2;
|
|
238
|
-
}
|
|
239
236
|
function sortSuggestions(suggestions, isSortingEnabled, currentValue, suggestionsTypeOrder) {
|
|
240
237
|
const { validatorMapSuggestions, otherSuggestions } = suggestions.reduce(
|
|
241
238
|
(acc, currentSuggestion) => {
|
|
@@ -303,7 +300,7 @@ function sortSuggestionsGroup(suggestionsGroup, currentValue) {
|
|
|
303
300
|
return suggestionsGroup.sort((a, b) => {
|
|
304
301
|
const aNorm = trimEscapedCharacters(a.value ?? "");
|
|
305
302
|
const bNorm = trimEscapedCharacters(b.value ?? "");
|
|
306
|
-
const priorityDiff =
|
|
303
|
+
const priorityDiff = getSuggestionMatchPriority(a, currentValue) - getSuggestionMatchPriority(b, currentValue);
|
|
307
304
|
if (priorityDiff !== 0) {
|
|
308
305
|
return priorityDiff;
|
|
309
306
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/filters/filter-field/utils/suggestions-utils/get-suggestions.ts"],
|
|
4
|
-
"sourcesContent": ["import type { FilterFieldOverlappingSuggestions } from './get-suggestion-category.js';\nimport {\n getKeySuggestions,\n JSONPATH_PATTERN_PARTIAL,\n} from './key-suggestions.js';\nimport {\n defaultLogicalOperatorSuggestions,\n getComparisonOperatorSuggestions,\n} from './operator-suggestions.js';\nimport { getJSONPathHint, getPastingSuggestion } from './shared-suggestions.js';\nimport type { SuggestionGroup } from './suggestion-group-utils.js';\nimport { getValidValueTypes } from './suggestion-type.js';\nimport {\n getValueSuggestionGroups,\n VALUE_GROUP_ID,\n} from './value-suggestions.js';\nimport type { FilterFieldProps } from '../../FilterField.types.js';\nimport type {\n FilterFieldSuggestion,\n FilterFieldSuggestionProps,\n} from '../../suggestions/Suggestion.types.js';\nimport type {\n FilterFieldGroupedSuggestions,\n FilterFieldSuggestionsCallback,\n} from '../../types/suggestions.js';\nimport type {\n FilterFieldLezerNodeType,\n FilterFieldStatementNode,\n FilterFieldStatementTokenType,\n FilterFieldValueNode,\n} from '../../types/tree-nodes.js';\nimport type {\n FilterFieldComparisonOperators,\n FilterFieldCustomTypes,\n} from '../../types/validation.js';\nimport { NEEDS_ESCAPING_REGEX } from '../escape-suggestion.js';\nimport { KEY_GROUP_ID } from '../validation-utils/normalize-validator-map.js';\nimport type {\n InternalValidatorMap,\n NormalizedKeyConfig,\n} from '../validation-utils/normalize-validator-map.js';\nimport { isWildCardOperator } from '../validation-utils/validation-helper-functions.js';\n\nconst comparisonOperatorAlias: Record<string, string> = {\n '=*': '= *',\n '!=*': '!= *',\n};\n\nfunction getCurrentValueFromToken(token: FilterFieldValueNode): string {\n return token.type === 'String' || token.type === 'Key'\n ? token.value\n : token.textValue;\n}\n\nfunction getValueSuggestionsTypesFromKeyPredicate(\n internalValidatorMap: InternalValidatorMap | undefined,\n currentStatement: FilterFieldStatementNode | undefined,\n): string[] {\n if (!internalValidatorMap || !currentStatement?.key?.value) {\n return [];\n }\n\n const keyConfig: NormalizedKeyConfig | undefined =\n internalValidatorMap.normalizedKeys.byKey.get(currentStatement.key.value);\n\n if (!keyConfig) {\n return [];\n }\n\n // Prefer the explicit valueType from the new array format; fall back to\n // inferring types from the legacy valuePredicate.\n // DEPRECATION: [APPDEV-16872] BREAKING-CHANGE: Remove support for inferring value types from the legacy valuePredicate.\n // The new array format with explicit valueType should be used exclusively.\n if (keyConfig.valueType) {\n return getValidValueTypes({ type: keyConfig.valueType }).types;\n }\n\n return getValidValueTypes(keyConfig.valuePredicate).types;\n}\n\nfunction getTypedOperatorFromCurrentStatement(\n currentStatement: FilterFieldStatementNode | undefined,\n): string {\n const needle = currentStatement?.comparisonOperator\n ? currentStatement.comparisonOperator.textValue\n : '';\n return comparisonOperatorAlias[needle] ?? needle;\n}\n\n/** @internal */\nexport function getSuggestions({\n suggestionTypes,\n overlappingSuggestions,\n currentStatement,\n currentToken,\n currentTokenType,\n prevNode,\n internalValidatorMap,\n customTypes,\n parserConfig,\n showLogicalOperators,\n showInclusionOperators,\n doc,\n suggestionTypeForToken,\n}: {\n suggestionTypes: NonNullable<\n Parameters<FilterFieldSuggestionsCallback>[0]\n >['suggestionTypes'];\n overlappingSuggestions?: FilterFieldOverlappingSuggestions;\n currentStatement: FilterFieldStatementNode | undefined;\n currentToken: FilterFieldValueNode;\n currentTokenType?: FilterFieldStatementTokenType;\n prevNode: FilterFieldLezerNodeType | 'FilterValue';\n internalValidatorMap?: InternalValidatorMap;\n customTypes?: FilterFieldCustomTypes;\n parserConfig?: FilterFieldProps['parserConfig'];\n showLogicalOperators: boolean;\n showInclusionOperators: boolean;\n doc: string;\n suggestionTypeForToken?: {\n type: NonNullable<\n Parameters<FilterFieldSuggestionsCallback>[0]\n >['suggestionTypes'][number];\n token: FilterFieldValueNode;\n }[];\n}): {\n groupedSuggestions: FilterFieldGroupedSuggestions;\n logicalOperatorSuggestions: FilterFieldSuggestion[];\n pastedContentSuggestions: FilterFieldSuggestion[];\n} {\n const groupedSuggestions: FilterFieldGroupedSuggestions = {};\n\n const currentValue = getCurrentValueFromToken(currentToken);\n\n let pastedContentSuggestions: FilterFieldSuggestion[] = [];\n const shouldSortAlphabetically =\n internalValidatorMap?.sortSuggestions ?? true;\n\n for (const { type: suggestionType, token } of suggestionTypeForToken ?? []) {\n if (suggestionType === 'key') {\n const currentValue = getCurrentValueFromToken(token);\n\n const keySuggestionGroups = getKeySuggestions(\n internalValidatorMap,\n suggestionTypes,\n customTypes,\n doc,\n token,\n );\n\n assignGroupsToSlots({\n groups: keySuggestionGroups,\n groupedSuggestions,\n slotName: 'key',\n implicitIdPrefix: KEY_GROUP_ID,\n token,\n currentValue,\n shouldSortAlphabetically,\n });\n } else if (suggestionType === 'value') {\n // These are the suggestions shown when no specific value is entered yet, inserting the \"value\" placeholder when applied.\n const showDefaultValueOrWildcardSuggestions =\n typeof currentStatement?.comparisonOperator?.value === 'string' &&\n currentStatement?.comparisonOperator?.type !== 'Error' &&\n isWildCardOperator(currentStatement);\n\n // These are the suggestion to apply a specific value in combination with a wildcard operator.\n // E.g. Contains \"foo\" or Ends with \"foo\"\n const showWildcardValueSuggestions =\n (prevNode === 'ExistsOperator' &&\n currentTokenType === 'comparisonOperator') ||\n isWildCardOperator(currentStatement);\n\n const valueSuggestionGroups = getValueSuggestionGroups(\n currentStatement?.key?.value,\n currentStatement?.comparisonOperator?.value?.toString() as FilterFieldComparisonOperators,\n internalValidatorMap,\n token,\n showDefaultValueOrWildcardSuggestions,\n showWildcardValueSuggestions,\n suggestionTypes.includes('pastedContent'),\n );\n\n const valueSuggestionsTypes = getValueSuggestionsTypesFromKeyPredicate(\n internalValidatorMap,\n currentStatement,\n );\n\n assignGroupsToSlots({\n groups: valueSuggestionGroups,\n groupedSuggestions,\n slotName: 'value',\n implicitIdPrefix: VALUE_GROUP_ID,\n token,\n currentValue,\n shouldSortAlphabetically,\n suggestionsTypeOrder: valueSuggestionsTypes,\n });\n } else if (\n suggestionType === 'pastedContent' &&\n token.textValue?.match(NEEDS_ESCAPING_REGEX)\n ) {\n pastedContentSuggestions = [getPastingSuggestion()];\n }\n }\n\n if (\n suggestionTypes.includes('comparisonOperator') ||\n showInclusionOperators\n ) {\n let key = currentStatement?.key?.textValue ?? '';\n\n // If we have overlapping suggestions (free text node), we need to exclude the part of the key\n // that may already start a comparison operator to get the correct comparators from the validator\n // map, if present.\n // E.g.: \u203Ahealth !\u2039 (only one token) -> get comparators for \"health\"\n if (overlappingSuggestions) {\n const normalizedKeyEnd =\n overlappingSuggestions.subToken.range.from -\n (currentStatement?.range.from ?? 0);\n key = key.slice(0, normalizedKeyEnd).trim();\n }\n\n let comparisonOperatorSuggestions = getComparisonOperatorSuggestions(\n key,\n internalValidatorMap,\n parserConfig,\n );\n\n comparisonOperatorSuggestions = filterSuggestions(\n comparisonOperatorSuggestions,\n currentToken,\n overlappingSuggestions\n ? overlappingSuggestions.subToken.textValue.trim()\n : getTypedOperatorFromCurrentStatement(currentStatement),\n );\n\n // If we have overlapping suggestions, we store the range that should be replaced in a data-attribute\n // that we can read when applying the suggestion to only replace parts of a free text token.\n // E.g.:\n // cluster not in\n // stored overlapping range: 8 - 14\n if (overlappingSuggestions) {\n comparisonOperatorSuggestions = comparisonOperatorSuggestions.map(\n (suggestion): FilterFieldSuggestion => ({\n ...suggestion,\n insertionRange: overlappingSuggestions.subToken.range,\n escapeSuggestion: false,\n }),\n );\n // If there are no overlapping suggestions, we reset the data-attributes to take whatever range we get from\n // the actual tokens.\n // E.g.:\n /*\n Initial input: \u203Acluster not in\u2039\n -> one free text token with overlapping suggestions.\n -> data-attributes are written to the dom.\n Typing '(' -> \u203Acluster not in (\u2039\n -> the suggestion is still the same, so react doesn't re-create the node. we have the same data attributes.\n -> applying the suggestion would only replace from 8 to 14, so we would end up with \u203Acluster not in ()(\u2039\n Resetting the data-attributes, we use the appropriate range again.\n */\n } else {\n comparisonOperatorSuggestions = comparisonOperatorSuggestions.map(\n (suggestion): FilterFieldSuggestion => ({\n ...suggestion,\n insertionRange: undefined,\n escapeSuggestion: false,\n }),\n );\n }\n\n if (\n comparisonOperatorSuggestions.length > 0 &&\n !suggestionTypes.includes('pastedContent')\n ) {\n groupedSuggestions.comparisonOperator = {\n id: 'strato-filter-field-comparator-suggestions',\n suggestions: comparisonOperatorSuggestions,\n };\n }\n }\n\n let logicalOperatorSuggestions: FilterFieldSuggestion[] = [];\n if (showLogicalOperators) {\n logicalOperatorSuggestions = filterSuggestions(\n defaultLogicalOperatorSuggestions,\n currentToken,\n currentValue,\n );\n }\n\n if (\n suggestionTypes.find((value) => value === 'key') &&\n (currentToken.type === 'JSONPath' ||\n (currentToken.type === 'Error' &&\n currentToken.textValue.match(JSONPATH_PATTERN_PARTIAL)))\n ) {\n groupedSuggestions.key = {\n id: 'strato-filter-field-key-suggestions',\n suggestions: [getJSONPathHint()],\n };\n }\n\n return {\n groupedSuggestions,\n logicalOperatorSuggestions,\n pastedContentSuggestions,\n };\n}\n\nfunction trimEscapedCharacters(value: string) {\n return value.replace(/([\"'\\\\])/g, '').toLowerCase();\n}\n\n/**\n * @internal\n */\nexport function filterSuggestions(\n providedSuggestions: FilterFieldSuggestion[],\n currentToken: FilterFieldValueNode,\n currentValue: string,\n) {\n const textValue = trimEscapedCharacters(currentValue);\n return providedSuggestions.filter((suggestion) => {\n if (Array.isArray(currentToken.value)) {\n return true;\n }\n\n if (!suggestion.value) {\n return true;\n }\n\n // This check is needed to correctly filter the OR suggestion if there\n // are quotes or escaped characters\n if (\n suggestion.value === 'OR' &&\n currentToken.value !== currentToken.textValue\n ) {\n return false;\n }\n\n const trimmedValue = trimEscapedCharacters(suggestion.value);\n const trimmedDisplayValue =\n typeof suggestion.displayValue === 'string'\n ? trimEscapedCharacters(suggestion.displayValue)\n : undefined;\n\n const matchTarget = trimmedDisplayValue ?? trimmedValue;\n return matchTarget.includes(`${textValue ?? ''}`);\n });\n}\n\n/**\n * Check whether a suggestion is of type number\n */\nfunction isSuggestionTypeNumber(\n suggestion: FilterFieldSuggestionProps,\n): boolean {\n if (suggestion.valueType) {\n return suggestion.valueType === 'Number';\n }\n\n const value = trimEscapedCharacters(suggestion.value ?? '');\n return value ? value.trim() !== '' && !isNaN(Number(value)) : false;\n}\n\n/**\n * Check wheter a suggestion if of type duration\n */\nfunction isSuggestionTypeDuration(\n suggestion: FilterFieldSuggestionProps,\n): boolean {\n if (suggestion.valueType) {\n return suggestion.valueType === 'Duration';\n }\n\n const value = trimEscapedCharacters(suggestion.value ?? '');\n return /^\\d+(ns|ms|s|m|h|d)$/.test(value ?? '');\n}\n\n/**\n * Extract the numeric part from a duration string (e.g. \"200ms\" -\\> 200).\n */\nfunction getDurationNumericValue(value: string): number {\n const match = /^(\\d+)(ns|ms|s|m|h|d)$/.exec(value);\n return match ? Number(match[1]) : 0;\n}\n\n/**\n * Extract the unit part from a duration string (e.g. \"200ms\" -\\> \"ms\").\n */\nfunction getDurationUnit(value: string): string {\n const match = /^\\d+(ns|ms|s|m|h|d)$/.exec(value);\n return match ? match[1] : '';\n}\n\nconst DURATION_UNIT_ORDER: Record<string, number> = {\n ns: 0,\n ms: 1,\n s: 2,\n m: 3,\n h: 4,\n d: 5,\n};\n\n/**\n * Compare two duration strings by unit order first, then by numeric value.\n */\nfunction compareDurations(a: string, b: string): number {\n const unitA = getDurationUnit(a);\n const unitB = getDurationUnit(b);\n const unitDiff =\n (DURATION_UNIT_ORDER[unitA] ?? 0) - (DURATION_UNIT_ORDER[unitB] ?? 0);\n if (unitDiff !== 0) {\n return unitDiff;\n }\n return getDurationNumericValue(a) - getDurationNumericValue(b);\n}\n\n/**\n * Get the priority for sorting matches.\n */\nfunction getMatchPriority(normalizedValue: string, needle: string): number {\n if (normalizedValue === needle) {\n return 0;\n }\n if (normalizedValue.startsWith(needle)) {\n return 1;\n }\n\n return 2;\n}\n\n/**\n * Sort key/value suggestions alphabetically, or by match position when the user has typed something.\n * When currentValue is non-empty, suggestions are ordered: exact \u2192 starts-with \u2192 contains-middle/ends-with.\n * Within each tier suggestions are ordered alphabetically.\n * Numeric string values (e.g. \"1\", \"10\", \"20\") are sorted numerically and placed before non-numeric strings.\n * For value suggestions with mixed types, suggestions are first grouped by their valueType in the order defined in the valuePredicate,\n * and each group is sorted independently.\n *\n * Default sorting can be disabled by the isSortingEnabled param.\n */\nfunction sortSuggestions(\n suggestions: FilterFieldSuggestionProps[],\n isSortingEnabled: boolean,\n currentValue: string,\n suggestionsTypeOrder?: string[],\n) {\n const { validatorMapSuggestions, otherSuggestions } = suggestions.reduce<{\n validatorMapSuggestions: FilterFieldSuggestionProps[];\n otherSuggestions: FilterFieldSuggestionProps[];\n }>(\n (acc, currentSuggestion) => {\n if (currentSuggestion.suggestionType === 'validatorMap') {\n acc.validatorMapSuggestions.push(currentSuggestion);\n } else {\n acc.otherSuggestions.push(currentSuggestion);\n }\n\n return acc;\n },\n { validatorMapSuggestions: [], otherSuggestions: [] },\n );\n\n currentValue = currentValue ? trimEscapedCharacters(currentValue) : '';\n const shouldSortMixedSuggestionsTypes =\n isSortingEnabled && suggestionsTypeOrder && suggestionsTypeOrder.length > 1;\n\n // sort mixed type value suggestions by types order\n if (shouldSortMixedSuggestionsTypes) {\n return [\n ...sortMixedSuggestionTypes(\n validatorMapSuggestions,\n suggestionsTypeOrder,\n currentValue,\n ),\n ...otherSuggestions,\n ];\n }\n\n if (currentValue || isSortingEnabled) {\n return [\n ...sortSuggestionsGroup(validatorMapSuggestions, currentValue),\n ...otherSuggestions,\n ];\n }\n\n return [...validatorMapSuggestions, ...otherSuggestions];\n}\n\n/**\n * Sort mixed types value suggestions.\n */\nfunction sortMixedSuggestionTypes(\n validatorMapSuggestions: FilterFieldSuggestionProps[],\n suggestionsTypeOrder: string[],\n currentValue: string,\n) {\n const suggestionsGroups = new Map<string, FilterFieldSuggestionProps[]>();\n const ungroupedSuggestions: FilterFieldSuggestionProps[] = [];\n\n for (const suggestion of validatorMapSuggestions) {\n const { valueType } = suggestion;\n if (valueType !== undefined && suggestionsTypeOrder.includes(valueType)) {\n let suggestionGroup = suggestionsGroups.get(valueType);\n if (!suggestionGroup) {\n suggestionGroup = [];\n suggestionsGroups.set(valueType, suggestionGroup);\n }\n suggestionGroup.push(suggestion);\n } else {\n ungroupedSuggestions.push(suggestion);\n }\n }\n\n const sortedResult: FilterFieldSuggestionProps[] = [];\n\n for (const suggestionType of suggestionsTypeOrder) {\n sortedResult.push(\n ...sortSuggestionsGroup(\n suggestionsGroups.get(suggestionType) ?? [],\n currentValue,\n ),\n );\n }\n sortedResult.push(\n ...sortSuggestionsGroup(ungroupedSuggestions, currentValue),\n );\n\n return sortedResult;\n}\n\n/**\n * Sort a single group of suggestions by match position when currentValue is set,\n * or alphabetically (numbers first, then durations, then strings) otherwise.\n */\nfunction sortSuggestionsGroup(\n suggestionsGroup: FilterFieldSuggestionProps[],\n currentValue: string,\n): FilterFieldSuggestionProps[] {\n if (currentValue) {\n return suggestionsGroup.sort((a, b) => {\n const aNorm = trimEscapedCharacters(a.value ?? '');\n const bNorm = trimEscapedCharacters(b.value ?? '');\n const priorityDiff =\n getMatchPriority(aNorm, currentValue) -\n getMatchPriority(bNorm, currentValue);\n if (priorityDiff !== 0) {\n return priorityDiff;\n }\n if (isSuggestionTypeNumber(a) && isSuggestionTypeNumber(b)) {\n return Number(aNorm) - Number(bNorm);\n }\n if (isSuggestionTypeDuration(a) && isSuggestionTypeDuration(b)) {\n return compareDurations(aNorm, bNorm);\n }\n return (a.value ?? '').localeCompare(b.value ?? '');\n });\n }\n\n const { numericSuggestions, durationSuggestions, nonNumericSuggestions } =\n suggestionsGroup.reduce<{\n numericSuggestions: FilterFieldSuggestionProps[];\n durationSuggestions: FilterFieldSuggestionProps[];\n nonNumericSuggestions: FilterFieldSuggestionProps[];\n }>(\n (acc, currentSuggestion) => {\n if (isSuggestionTypeNumber(currentSuggestion)) {\n acc.numericSuggestions.push(currentSuggestion);\n } else if (isSuggestionTypeDuration(currentSuggestion)) {\n acc.durationSuggestions.push(currentSuggestion);\n } else {\n acc.nonNumericSuggestions.push(currentSuggestion);\n }\n\n return acc;\n },\n {\n numericSuggestions: [],\n durationSuggestions: [],\n nonNumericSuggestions: [],\n },\n );\n\n numericSuggestions.sort(\n (a, b) => Number(a.value ?? 0) - Number(b.value ?? 0),\n );\n durationSuggestions.sort((a, b) =>\n compareDurations(a.value ?? '', b.value ?? ''),\n );\n nonNumericSuggestions.sort((a, b) =>\n (a.value ?? '').localeCompare(b.value ?? ''),\n );\n\n return [\n ...numericSuggestions,\n ...durationSuggestions,\n ...nonNumericSuggestions,\n ];\n}\n\n/**\n * Iterates over suggestion groups, filters each, and assigns non-empty groups\n * to the appropriate slot in `groupedSuggestions`. The first implicit group\n * (matching `implicitIdPrefix`) is assigned to the well-known slot (`slotName`);\n * subsequent groups are assigned to dynamic slots.\n */\nfunction assignGroupsToSlots({\n groups,\n groupedSuggestions,\n slotName,\n implicitIdPrefix,\n token,\n currentValue,\n shouldSortAlphabetically,\n suggestionsTypeOrder,\n}: {\n groups: SuggestionGroup<FilterFieldSuggestion>[];\n groupedSuggestions: FilterFieldGroupedSuggestions;\n slotName: 'key' | 'value';\n implicitIdPrefix: string;\n token: FilterFieldValueNode;\n currentValue: string;\n shouldSortAlphabetically: boolean;\n suggestionsTypeOrder?: string[];\n}): void {\n for (const group of groups) {\n const filtered = filterSuggestions(group.suggestions, token, currentValue);\n\n if (filtered.length === 0) {\n continue;\n }\n\n const sorted = sortSuggestions(\n filtered,\n shouldSortAlphabetically,\n currentValue,\n suggestionsTypeOrder,\n );\n\n if (\n !groupedSuggestions[slotName] &&\n (group.id === implicitIdPrefix ||\n group.id.startsWith(`${implicitIdPrefix}-implicit`))\n ) {\n groupedSuggestions[slotName] = { id: group.id, suggestions: sorted };\n } else {\n groupedSuggestions[group.id] = {\n id: group.id,\n label: group.label,\n 'aria-label': group['aria-label'],\n suggestions: sorted,\n };\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import type { FilterFieldOverlappingSuggestions } from './get-suggestion-category.js';\nimport {\n getKeySuggestions,\n JSONPATH_PATTERN_PARTIAL,\n} from './key-suggestions.js';\nimport {\n defaultLogicalOperatorSuggestions,\n getComparisonOperatorSuggestions,\n} from './operator-suggestions.js';\nimport { getJSONPathHint, getPastingSuggestion } from './shared-suggestions.js';\nimport type { SuggestionGroup } from './suggestion-group-utils.js';\nimport {\n getSuggestionMatchPriority,\n normalizeSuggestionMatchText,\n suggestionMatchesTerm,\n type SuggestionMatchingOptions,\n} from './suggestion-matching.js';\nimport { getValidValueTypes } from './suggestion-type.js';\nimport {\n getValueSuggestionGroups,\n VALUE_GROUP_ID,\n} from './value-suggestions.js';\nimport type { FilterFieldProps } from '../../FilterField.types.js';\nimport type {\n FilterFieldSuggestion,\n FilterFieldSuggestionProps,\n} from '../../suggestions/Suggestion.types.js';\nimport type {\n FilterFieldGroupedSuggestions,\n FilterFieldSuggestionsCallback,\n} from '../../types/suggestions.js';\nimport type {\n FilterFieldLezerNodeType,\n FilterFieldStatementNode,\n FilterFieldStatementTokenType,\n FilterFieldValueNode,\n} from '../../types/tree-nodes.js';\nimport type {\n FilterFieldComparisonOperators,\n FilterFieldCustomTypes,\n} from '../../types/validation.js';\nimport { NEEDS_ESCAPING_REGEX } from '../escape-suggestion.js';\nimport { KEY_GROUP_ID } from '../validation-utils/normalize-validator-map.js';\nimport type {\n InternalValidatorMap,\n NormalizedKeyConfig,\n} from '../validation-utils/normalize-validator-map.js';\nimport { isWildCardOperator } from '../validation-utils/validation-helper-functions.js';\n\nconst comparisonOperatorAlias: Record<string, string> = {\n '=*': '= *',\n '!=*': '!= *',\n};\n\nfunction getCurrentValueFromToken(token: FilterFieldValueNode): string {\n return token.type === 'String' || token.type === 'Key'\n ? token.value\n : token.textValue;\n}\n\nfunction getValueSuggestionsTypesFromKeyPredicate(\n internalValidatorMap: InternalValidatorMap | undefined,\n currentStatement: FilterFieldStatementNode | undefined,\n): string[] {\n if (!internalValidatorMap || !currentStatement?.key?.value) {\n return [];\n }\n\n const keyConfig: NormalizedKeyConfig | undefined =\n internalValidatorMap.normalizedKeys.byKey.get(currentStatement.key.value);\n\n if (!keyConfig) {\n return [];\n }\n\n // Prefer the explicit valueType from the new array format; fall back to\n // inferring types from the legacy valuePredicate.\n // DEPRECATION: [APPDEV-16872] BREAKING-CHANGE: Remove support for inferring value types from the legacy valuePredicate.\n // The new array format with explicit valueType should be used exclusively.\n if (keyConfig.valueType) {\n return getValidValueTypes({ type: keyConfig.valueType }).types;\n }\n\n return getValidValueTypes(keyConfig.valuePredicate).types;\n}\n\nfunction getTypedOperatorFromCurrentStatement(\n currentStatement: FilterFieldStatementNode | undefined,\n): string {\n const needle = currentStatement?.comparisonOperator\n ? currentStatement.comparisonOperator.textValue\n : '';\n return comparisonOperatorAlias[needle] ?? needle;\n}\n\n/** @internal */\nexport function getSuggestions({\n suggestionTypes,\n overlappingSuggestions,\n currentStatement,\n currentToken,\n currentTokenType,\n prevNode,\n internalValidatorMap,\n customTypes,\n parserConfig,\n showLogicalOperators,\n showInclusionOperators,\n doc,\n suggestionTypeForToken,\n}: {\n suggestionTypes: NonNullable<\n Parameters<FilterFieldSuggestionsCallback>[0]\n >['suggestionTypes'];\n overlappingSuggestions?: FilterFieldOverlappingSuggestions;\n currentStatement: FilterFieldStatementNode | undefined;\n currentToken: FilterFieldValueNode;\n currentTokenType?: FilterFieldStatementTokenType;\n prevNode: FilterFieldLezerNodeType | 'FilterValue';\n internalValidatorMap?: InternalValidatorMap;\n customTypes?: FilterFieldCustomTypes;\n parserConfig?: FilterFieldProps['parserConfig'];\n showLogicalOperators: boolean;\n showInclusionOperators: boolean;\n doc: string;\n suggestionTypeForToken?: {\n type: NonNullable<\n Parameters<FilterFieldSuggestionsCallback>[0]\n >['suggestionTypes'][number];\n token: FilterFieldValueNode;\n }[];\n}): {\n groupedSuggestions: FilterFieldGroupedSuggestions;\n logicalOperatorSuggestions: FilterFieldSuggestion[];\n pastedContentSuggestions: FilterFieldSuggestion[];\n} {\n const groupedSuggestions: FilterFieldGroupedSuggestions = {};\n\n const currentValue = getCurrentValueFromToken(currentToken);\n\n let pastedContentSuggestions: FilterFieldSuggestion[] = [];\n const shouldSortAlphabetically =\n internalValidatorMap?.sortSuggestions ?? true;\n\n for (const { type: suggestionType, token } of suggestionTypeForToken ?? []) {\n if (suggestionType === 'key') {\n const currentValue = getCurrentValueFromToken(token);\n\n const keySuggestionGroups = getKeySuggestions(\n internalValidatorMap,\n suggestionTypes,\n customTypes,\n doc,\n token,\n );\n\n assignGroupsToSlots({\n groups: keySuggestionGroups,\n groupedSuggestions,\n slotName: 'key',\n implicitIdPrefix: KEY_GROUP_ID,\n token,\n currentValue,\n shouldSortAlphabetically,\n });\n } else if (suggestionType === 'value') {\n // These are the suggestions shown when no specific value is entered yet, inserting the \"value\" placeholder when applied.\n const showDefaultValueOrWildcardSuggestions =\n typeof currentStatement?.comparisonOperator?.value === 'string' &&\n currentStatement?.comparisonOperator?.type !== 'Error' &&\n isWildCardOperator(currentStatement);\n\n // These are the suggestion to apply a specific value in combination with a wildcard operator.\n // E.g. Contains \"foo\" or Ends with \"foo\"\n const showWildcardValueSuggestions =\n (prevNode === 'ExistsOperator' &&\n currentTokenType === 'comparisonOperator') ||\n isWildCardOperator(currentStatement);\n\n const valueSuggestionGroups = getValueSuggestionGroups(\n currentStatement?.key?.value,\n currentStatement?.comparisonOperator?.value?.toString() as FilterFieldComparisonOperators,\n internalValidatorMap,\n token,\n showDefaultValueOrWildcardSuggestions,\n showWildcardValueSuggestions,\n suggestionTypes.includes('pastedContent'),\n );\n\n const valueSuggestionsTypes = getValueSuggestionsTypesFromKeyPredicate(\n internalValidatorMap,\n currentStatement,\n );\n\n assignGroupsToSlots({\n groups: valueSuggestionGroups,\n groupedSuggestions,\n slotName: 'value',\n implicitIdPrefix: VALUE_GROUP_ID,\n token,\n currentValue,\n shouldSortAlphabetically,\n suggestionsTypeOrder: valueSuggestionsTypes,\n });\n } else if (\n suggestionType === 'pastedContent' &&\n token.textValue?.match(NEEDS_ESCAPING_REGEX)\n ) {\n pastedContentSuggestions = [getPastingSuggestion()];\n }\n }\n\n if (\n suggestionTypes.includes('comparisonOperator') ||\n showInclusionOperators\n ) {\n let key = currentStatement?.key?.textValue ?? '';\n\n // If we have overlapping suggestions (free text node), we need to exclude the part of the key\n // that may already start a comparison operator to get the correct comparators from the validator\n // map, if present.\n // E.g.: \u203Ahealth !\u2039 (only one token) -> get comparators for \"health\"\n if (overlappingSuggestions) {\n const normalizedKeyEnd =\n overlappingSuggestions.subToken.range.from -\n (currentStatement?.range.from ?? 0);\n key = key.slice(0, normalizedKeyEnd).trim();\n }\n\n let comparisonOperatorSuggestions = getComparisonOperatorSuggestions(\n key,\n internalValidatorMap,\n parserConfig,\n );\n\n comparisonOperatorSuggestions = filterSuggestions(\n comparisonOperatorSuggestions,\n currentToken,\n overlappingSuggestions\n ? overlappingSuggestions.subToken.textValue.trim()\n : getTypedOperatorFromCurrentStatement(currentStatement),\n // Operator details (e.g. \"equals\", \"not equals\") are display-only\n // localized labels \u2014 never a match target.\n { includeDetails: false },\n );\n\n // If we have overlapping suggestions, we store the range that should be replaced in a data-attribute\n // that we can read when applying the suggestion to only replace parts of a free text token.\n // E.g.:\n // cluster not in\n // stored overlapping range: 8 - 14\n if (overlappingSuggestions) {\n comparisonOperatorSuggestions = comparisonOperatorSuggestions.map(\n (suggestion): FilterFieldSuggestion => ({\n ...suggestion,\n insertionRange: overlappingSuggestions.subToken.range,\n escapeSuggestion: false,\n }),\n );\n // If there are no overlapping suggestions, we reset the data-attributes to take whatever range we get from\n // the actual tokens.\n // E.g.:\n /*\n Initial input: \u203Acluster not in\u2039\n -> one free text token with overlapping suggestions.\n -> data-attributes are written to the dom.\n Typing '(' -> \u203Acluster not in (\u2039\n -> the suggestion is still the same, so react doesn't re-create the node. we have the same data attributes.\n -> applying the suggestion would only replace from 8 to 14, so we would end up with \u203Acluster not in ()(\u2039\n Resetting the data-attributes, we use the appropriate range again.\n */\n } else {\n comparisonOperatorSuggestions = comparisonOperatorSuggestions.map(\n (suggestion): FilterFieldSuggestion => ({\n ...suggestion,\n insertionRange: undefined,\n escapeSuggestion: false,\n }),\n );\n }\n\n if (\n comparisonOperatorSuggestions.length > 0 &&\n !suggestionTypes.includes('pastedContent')\n ) {\n groupedSuggestions.comparisonOperator = {\n id: 'strato-filter-field-comparator-suggestions',\n suggestions: comparisonOperatorSuggestions,\n };\n }\n }\n\n let logicalOperatorSuggestions: FilterFieldSuggestion[] = [];\n if (showLogicalOperators) {\n // Logical operators (`OR`) match by value only \u2014 any future details on\n // these would be display-only, same as comparison operators above.\n logicalOperatorSuggestions = filterSuggestions(\n defaultLogicalOperatorSuggestions,\n currentToken,\n currentValue,\n { includeDetails: false },\n );\n }\n\n if (\n suggestionTypes.find((value) => value === 'key') &&\n (currentToken.type === 'JSONPath' ||\n (currentToken.type === 'Error' &&\n currentToken.textValue.match(JSONPATH_PATTERN_PARTIAL)))\n ) {\n groupedSuggestions.key = {\n id: 'strato-filter-field-key-suggestions',\n suggestions: [getJSONPathHint()],\n };\n }\n\n return {\n groupedSuggestions,\n logicalOperatorSuggestions,\n pastedContentSuggestions,\n };\n}\n\n// Local alias kept for readability at call sites \u2014 the normalization rule\n// (strip quotes/backslashes + lowercase) is owned by suggestion-matching.ts\n// so filtering, sorting, and this trim all stay in sync.\nfunction trimEscapedCharacters(value: string) {\n return normalizeSuggestionMatchText(value);\n}\n\n/**\n * Filters validatorMap-derived suggestions against the user's typed value.\n *\n * Matching delegates to `suggestionMatchesTerm` so the rules (which fields\n * count, normalization, displayValue/value mutual exclusion) live in one\n * place. Pass `{ includeDetails: false }` for suggestion sets whose details\n * are display-only (operators).\n * @internal\n */\nexport function filterSuggestions(\n providedSuggestions: FilterFieldSuggestion[],\n currentToken: FilterFieldValueNode,\n currentValue: string,\n options?: SuggestionMatchingOptions,\n) {\n const textValue = trimEscapedCharacters(currentValue);\n return providedSuggestions.filter((suggestion) => {\n if (Array.isArray(currentToken.value)) {\n return true;\n }\n\n if (!suggestion.value) {\n return true;\n }\n\n // This check is needed to correctly filter the OR suggestion if there\n // are quotes or escaped characters\n if (\n suggestion.value === 'OR' &&\n currentToken.value !== currentToken.textValue\n ) {\n return false;\n }\n\n return suggestionMatchesTerm(suggestion, textValue, options);\n });\n}\n\n/**\n * Check whether a suggestion is of type number\n */\nfunction isSuggestionTypeNumber(\n suggestion: FilterFieldSuggestionProps,\n): boolean {\n if (suggestion.valueType) {\n return suggestion.valueType === 'Number';\n }\n\n const value = trimEscapedCharacters(suggestion.value ?? '');\n return value ? value.trim() !== '' && !isNaN(Number(value)) : false;\n}\n\n/**\n * Check wheter a suggestion if of type duration\n */\nfunction isSuggestionTypeDuration(\n suggestion: FilterFieldSuggestionProps,\n): boolean {\n if (suggestion.valueType) {\n return suggestion.valueType === 'Duration';\n }\n\n const value = trimEscapedCharacters(suggestion.value ?? '');\n return /^\\d+(ns|ms|s|m|h|d)$/.test(value ?? '');\n}\n\n/**\n * Extract the numeric part from a duration string (e.g. \"200ms\" -\\> 200).\n */\nfunction getDurationNumericValue(value: string): number {\n const match = /^(\\d+)(ns|ms|s|m|h|d)$/.exec(value);\n return match ? Number(match[1]) : 0;\n}\n\n/**\n * Extract the unit part from a duration string (e.g. \"200ms\" -\\> \"ms\").\n */\nfunction getDurationUnit(value: string): string {\n const match = /^\\d+(ns|ms|s|m|h|d)$/.exec(value);\n return match ? match[1] : '';\n}\n\nconst DURATION_UNIT_ORDER: Record<string, number> = {\n ns: 0,\n ms: 1,\n s: 2,\n m: 3,\n h: 4,\n d: 5,\n};\n\n/**\n * Compare two duration strings by unit order first, then by numeric value.\n */\nfunction compareDurations(a: string, b: string): number {\n const unitA = getDurationUnit(a);\n const unitB = getDurationUnit(b);\n const unitDiff =\n (DURATION_UNIT_ORDER[unitA] ?? 0) - (DURATION_UNIT_ORDER[unitB] ?? 0);\n if (unitDiff !== 0) {\n return unitDiff;\n }\n return getDurationNumericValue(a) - getDurationNumericValue(b);\n}\n\n/**\n * Sort key/value suggestions alphabetically, or by match position when the user has typed something.\n * When currentValue is non-empty, suggestions are ordered: exact \u2192 starts-with \u2192 contains-middle/ends-with.\n * Within each tier suggestions are ordered alphabetically.\n * Numeric string values (e.g. \"1\", \"10\", \"20\") are sorted numerically and placed before non-numeric strings.\n * For value suggestions with mixed types, suggestions are first grouped by their valueType in the order defined in the valuePredicate,\n * and each group is sorted independently.\n *\n * Default sorting can be disabled by the isSortingEnabled param.\n */\nfunction sortSuggestions(\n suggestions: FilterFieldSuggestionProps[],\n isSortingEnabled: boolean,\n currentValue: string,\n suggestionsTypeOrder?: string[],\n) {\n const { validatorMapSuggestions, otherSuggestions } = suggestions.reduce<{\n validatorMapSuggestions: FilterFieldSuggestionProps[];\n otherSuggestions: FilterFieldSuggestionProps[];\n }>(\n (acc, currentSuggestion) => {\n if (currentSuggestion.suggestionType === 'validatorMap') {\n acc.validatorMapSuggestions.push(currentSuggestion);\n } else {\n acc.otherSuggestions.push(currentSuggestion);\n }\n\n return acc;\n },\n { validatorMapSuggestions: [], otherSuggestions: [] },\n );\n\n currentValue = currentValue ? trimEscapedCharacters(currentValue) : '';\n const shouldSortMixedSuggestionsTypes =\n isSortingEnabled && suggestionsTypeOrder && suggestionsTypeOrder.length > 1;\n\n // sort mixed type value suggestions by types order\n if (shouldSortMixedSuggestionsTypes) {\n return [\n ...sortMixedSuggestionTypes(\n validatorMapSuggestions,\n suggestionsTypeOrder,\n currentValue,\n ),\n ...otherSuggestions,\n ];\n }\n\n if (currentValue || isSortingEnabled) {\n return [\n ...sortSuggestionsGroup(validatorMapSuggestions, currentValue),\n ...otherSuggestions,\n ];\n }\n\n return [...validatorMapSuggestions, ...otherSuggestions];\n}\n\n/**\n * Sort mixed types value suggestions.\n */\nfunction sortMixedSuggestionTypes(\n validatorMapSuggestions: FilterFieldSuggestionProps[],\n suggestionsTypeOrder: string[],\n currentValue: string,\n) {\n const suggestionsGroups = new Map<string, FilterFieldSuggestionProps[]>();\n const ungroupedSuggestions: FilterFieldSuggestionProps[] = [];\n\n for (const suggestion of validatorMapSuggestions) {\n const { valueType } = suggestion;\n if (valueType !== undefined && suggestionsTypeOrder.includes(valueType)) {\n let suggestionGroup = suggestionsGroups.get(valueType);\n if (!suggestionGroup) {\n suggestionGroup = [];\n suggestionsGroups.set(valueType, suggestionGroup);\n }\n suggestionGroup.push(suggestion);\n } else {\n ungroupedSuggestions.push(suggestion);\n }\n }\n\n const sortedResult: FilterFieldSuggestionProps[] = [];\n\n for (const suggestionType of suggestionsTypeOrder) {\n sortedResult.push(\n ...sortSuggestionsGroup(\n suggestionsGroups.get(suggestionType) ?? [],\n currentValue,\n ),\n );\n }\n sortedResult.push(\n ...sortSuggestionsGroup(ungroupedSuggestions, currentValue),\n );\n\n return sortedResult;\n}\n\n/**\n * Sort a single group of suggestions by match position when currentValue is set,\n * or alphabetically (numbers first, then durations, then strings) otherwise.\n */\nfunction sortSuggestionsGroup(\n suggestionsGroup: FilterFieldSuggestionProps[],\n currentValue: string,\n): FilterFieldSuggestionProps[] {\n if (currentValue) {\n return suggestionsGroup.sort((a, b) => {\n const aNorm = trimEscapedCharacters(a.value ?? '');\n const bNorm = trimEscapedCharacters(b.value ?? '');\n // Priority is the best of all match targets (value/displayValue/details).\n // Exact match (0) wins over prefix (1), prefix wins over contains (2).\n const priorityDiff =\n getSuggestionMatchPriority(a, currentValue) -\n getSuggestionMatchPriority(b, currentValue);\n if (priorityDiff !== 0) {\n return priorityDiff;\n }\n if (isSuggestionTypeNumber(a) && isSuggestionTypeNumber(b)) {\n return Number(aNorm) - Number(bNorm);\n }\n if (isSuggestionTypeDuration(a) && isSuggestionTypeDuration(b)) {\n return compareDurations(aNorm, bNorm);\n }\n return (a.value ?? '').localeCompare(b.value ?? '');\n });\n }\n\n const { numericSuggestions, durationSuggestions, nonNumericSuggestions } =\n suggestionsGroup.reduce<{\n numericSuggestions: FilterFieldSuggestionProps[];\n durationSuggestions: FilterFieldSuggestionProps[];\n nonNumericSuggestions: FilterFieldSuggestionProps[];\n }>(\n (acc, currentSuggestion) => {\n if (isSuggestionTypeNumber(currentSuggestion)) {\n acc.numericSuggestions.push(currentSuggestion);\n } else if (isSuggestionTypeDuration(currentSuggestion)) {\n acc.durationSuggestions.push(currentSuggestion);\n } else {\n acc.nonNumericSuggestions.push(currentSuggestion);\n }\n\n return acc;\n },\n {\n numericSuggestions: [],\n durationSuggestions: [],\n nonNumericSuggestions: [],\n },\n );\n\n numericSuggestions.sort(\n (a, b) => Number(a.value ?? 0) - Number(b.value ?? 0),\n );\n durationSuggestions.sort((a, b) =>\n compareDurations(a.value ?? '', b.value ?? ''),\n );\n nonNumericSuggestions.sort((a, b) =>\n (a.value ?? '').localeCompare(b.value ?? ''),\n );\n\n return [\n ...numericSuggestions,\n ...durationSuggestions,\n ...nonNumericSuggestions,\n ];\n}\n\n/**\n * Iterates over suggestion groups, filters each, and assigns non-empty groups\n * to the appropriate slot in `groupedSuggestions`. The first implicit group\n * (matching `implicitIdPrefix`) is assigned to the well-known slot (`slotName`);\n * subsequent groups are assigned to dynamic slots.\n */\nfunction assignGroupsToSlots({\n groups,\n groupedSuggestions,\n slotName,\n implicitIdPrefix,\n token,\n currentValue,\n shouldSortAlphabetically,\n suggestionsTypeOrder,\n}: {\n groups: SuggestionGroup<FilterFieldSuggestion>[];\n groupedSuggestions: FilterFieldGroupedSuggestions;\n slotName: 'key' | 'value';\n implicitIdPrefix: string;\n token: FilterFieldValueNode;\n currentValue: string;\n shouldSortAlphabetically: boolean;\n suggestionsTypeOrder?: string[];\n}): void {\n for (const group of groups) {\n const filtered = filterSuggestions(group.suggestions, token, currentValue);\n\n if (filtered.length === 0) {\n continue;\n }\n\n const sorted = sortSuggestions(\n filtered,\n shouldSortAlphabetically,\n currentValue,\n suggestionsTypeOrder,\n );\n\n if (\n !groupedSuggestions[slotName] &&\n (group.id === implicitIdPrefix ||\n group.id.startsWith(`${implicitIdPrefix}-implicit`))\n ) {\n groupedSuggestions[slotName] = { id: group.id, suggestions: sorted };\n } else {\n groupedSuggestions[group.id] = {\n id: group.id,\n label: group.label,\n 'aria-label': group['aria-label'],\n suggestions: sorted,\n };\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["currentValue"]
|
|
7
7
|
}
|
|
@@ -12,8 +12,10 @@ function getComparisonOperatorSuggestions(key, internalValidatorMap, parserConfi
|
|
|
12
12
|
);
|
|
13
13
|
return operators.map((operator) => {
|
|
14
14
|
const operatorWithDetails = operatorSuggestionsWithDetails[operator];
|
|
15
|
-
const
|
|
16
|
-
|
|
15
|
+
const baseProps = {
|
|
16
|
+
suggestionType: "validatorMap"
|
|
17
|
+
};
|
|
18
|
+
return operatorWithDetails ? { ...operatorWithDetails, ...baseProps } : { value: operator, ...baseProps };
|
|
17
19
|
});
|
|
18
20
|
}
|
|
19
21
|
const defaultLogicalOperatorSuggestions = [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/filters/filter-field/utils/suggestions-utils/operator-suggestions.tsx"],
|
|
4
|
-
"sourcesContent": ["import { FormattedMessage } from 'react-intl';\n\nimport Colors from '@dynatrace/strato-design-tokens/colors';\nimport Typography from '@dynatrace/strato-design-tokens/typography';\n\nimport type { FilterFieldProps } from '../../FilterField.types.js';\nimport { filterFieldMessages } from '../../messages.js';\nimport type { FilterFieldSuggestion } from '../../suggestions/Suggestion.types.js';\nimport type { InternalValidatorMap } from '../validation-utils/normalize-validator-map.js';\nimport { getValidOperatorsShort } from '../validation-utils/validation-helper-functions.js';\n\n/** @internal */\nexport function getComparisonOperatorSuggestions(\n key: string | undefined,\n internalValidatorMap: InternalValidatorMap | undefined,\n parserConfig: FilterFieldProps['parserConfig'],\n): FilterFieldSuggestion[] {\n const operators = getValidOperatorsShort(\n key,\n internalValidatorMap,\n parserConfig,\n );\n\n // check for explicitly defined suggestions or fallback to simple suggestion\n return operators.map((operator) => {\n const operatorWithDetails = operatorSuggestionsWithDetails[operator];\n const
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { FormattedMessage } from 'react-intl';\n\nimport Colors from '@dynatrace/strato-design-tokens/colors';\nimport Typography from '@dynatrace/strato-design-tokens/typography';\n\nimport type { FilterFieldProps } from '../../FilterField.types.js';\nimport { filterFieldMessages } from '../../messages.js';\nimport type { FilterFieldSuggestion } from '../../suggestions/Suggestion.types.js';\nimport type { InternalValidatorMap } from '../validation-utils/normalize-validator-map.js';\nimport { getValidOperatorsShort } from '../validation-utils/validation-helper-functions.js';\n\n/** @internal */\nexport function getComparisonOperatorSuggestions(\n key: string | undefined,\n internalValidatorMap: InternalValidatorMap | undefined,\n parserConfig: FilterFieldProps['parserConfig'],\n): FilterFieldSuggestion[] {\n const operators = getValidOperatorsShort(\n key,\n internalValidatorMap,\n parserConfig,\n );\n\n // check for explicitly defined suggestions or fallback to simple suggestion\n return operators.map((operator) => {\n const operatorWithDetails = operatorSuggestionsWithDetails[operator];\n const baseProps = {\n suggestionType: 'validatorMap',\n } as const;\n\n return operatorWithDetails\n ? { ...operatorWithDetails, ...baseProps }\n : { value: operator, ...baseProps };\n });\n}\n\n/** @internal */\nexport const defaultLogicalOperatorSuggestions: FilterFieldSuggestion[] = [\n { value: 'OR' },\n];\n\n/** @internal */\nexport const ValuePlaceholder = () => {\n return (\n <span\n style={{\n color: Colors.Text.Neutral.Subdued,\n fontWeight: Typography.Text.Base.Default.Weight,\n }}\n >\n value\n </span>\n );\n};\n\n/**\n * maps operator values to their detailed suggestion\n * @internal\n */\nexport const operatorSuggestionsWithDetails: Record<\n string,\n FilterFieldSuggestion\n> = {\n '=': {\n value: '=',\n details: (\n <FormattedMessage {...filterFieldMessages.comparisonOperators.equals} />\n ),\n escapeSuggestion: false,\n },\n '!=': {\n value: '!=',\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.notEquals}\n />\n ),\n escapeSuggestion: false,\n },\n '<': {\n value: '<',\n details: (\n <FormattedMessage {...filterFieldMessages.comparisonOperators.lessThan} />\n ),\n escapeSuggestion: false,\n },\n '<=': {\n value: '<=',\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.lessThanEqual}\n />\n ),\n escapeSuggestion: false,\n },\n '>': {\n value: '>',\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.greaterThan}\n />\n ),\n escapeSuggestion: false,\n },\n '>=': {\n value: '>=',\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.greaterThanEqual}\n />\n ),\n escapeSuggestion: false,\n },\n in: {\n value: 'in (',\n displayValue: 'in ()',\n details: (\n <FormattedMessage {...filterFieldMessages.comparisonOperators.in} />\n ),\n trailing: ') ',\n cursorBeforeTrailing: true,\n escapeSuggestion: false,\n },\n 'not in': {\n value: 'not in (',\n displayValue: 'not in ()',\n details: (\n <FormattedMessage {...filterFieldMessages.comparisonOperators.notIn} />\n ),\n trailing: ') ',\n cursorBeforeTrailing: true,\n escapeSuggestion: false,\n },\n 'starts-with': {\n value: '= \"',\n displayValue: (\n <div>\n = <ValuePlaceholder />*\n </div>\n ),\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.startsWith}\n />\n ),\n trailing: 'value\"*',\n cursorBeforeTrailing: true,\n escapeSuggestion: false,\n },\n contains: {\n value: '= *\"',\n displayValue: (\n <div>\n = *<ValuePlaceholder />*\n </div>\n ),\n details: (\n <FormattedMessage {...filterFieldMessages.comparisonOperators.contains} />\n ),\n trailing: 'value\"*',\n cursorBeforeTrailing: true,\n escapeSuggestion: false,\n },\n 'ends-with': {\n value: '= *\"',\n displayValue: (\n <div>\n = *<ValuePlaceholder />\n </div>\n ),\n details: (\n <FormattedMessage {...filterFieldMessages.comparisonOperators.endsWith} />\n ),\n trailing: 'value\"',\n cursorBeforeTrailing: true,\n escapeSuggestion: false,\n },\n 'not-starts-with': {\n value: '!= \"',\n displayValue: (\n <div>\n != <ValuePlaceholder />*\n </div>\n ),\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.notStartsWith}\n />\n ),\n trailing: 'value\"*',\n cursorBeforeTrailing: true,\n escapeSuggestion: false,\n },\n 'not-contains': {\n value: '!= *\"',\n displayValue: (\n <div>\n != *<ValuePlaceholder />*\n </div>\n ),\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.notContains}\n />\n ),\n trailing: 'value\"*',\n cursorBeforeTrailing: true,\n escapeSuggestion: false,\n },\n 'not-ends-with': {\n value: '!= *\"',\n displayValue: (\n <div>\n != *\n <ValuePlaceholder />\n </div>\n ),\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.notEndsWith}\n />\n ),\n trailing: 'value\"',\n cursorBeforeTrailing: true,\n escapeSuggestion: false,\n },\n '= *': {\n value: '= *',\n details: (\n <FormattedMessage {...filterFieldMessages.comparisonOperators.exists} />\n ),\n },\n '!= *': {\n value: '!= *',\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.notExists}\n />\n ),\n escapeSuggestion: false,\n },\n '~': {\n value: '~',\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.matchesPhrase}\n />\n ),\n escapeSuggestion: false,\n },\n '!~': {\n value: '!~',\n details: (\n <FormattedMessage\n {...filterFieldMessages.comparisonOperators.notMatchesPhrase}\n />\n ),\n escapeSuggestion: false,\n },\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
function normalizeSuggestionMatchText(value) {
|
|
2
|
+
return value.replace(/(["'\\])/g, "").toLowerCase();
|
|
3
|
+
}
|
|
4
|
+
function getSuggestionMatchTargets(suggestion, options = {}) {
|
|
5
|
+
const { includeDetails = true } = options;
|
|
6
|
+
const targets = [];
|
|
7
|
+
if (typeof suggestion.displayValue === "string") {
|
|
8
|
+
targets.push(suggestion.displayValue);
|
|
9
|
+
} else if (typeof suggestion.value === "string") {
|
|
10
|
+
targets.push(suggestion.value);
|
|
11
|
+
}
|
|
12
|
+
if (includeDetails && typeof suggestion.details === "string") {
|
|
13
|
+
targets.push(suggestion.details);
|
|
14
|
+
}
|
|
15
|
+
return targets.map(normalizeSuggestionMatchText);
|
|
16
|
+
}
|
|
17
|
+
function suggestionMatchesTerm(suggestion, term, options) {
|
|
18
|
+
const normalizedTerm = normalizeSuggestionMatchText(term);
|
|
19
|
+
return getSuggestionMatchTargets(suggestion, options).some(
|
|
20
|
+
(target) => target.includes(normalizedTerm)
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
function getMatchPriority(normalizedValue, needle) {
|
|
24
|
+
if (normalizedValue === needle) {
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
if (normalizedValue.startsWith(needle)) {
|
|
28
|
+
return 1;
|
|
29
|
+
}
|
|
30
|
+
return 2;
|
|
31
|
+
}
|
|
32
|
+
function getSuggestionMatchPriority(suggestion, normalizedTerm, options) {
|
|
33
|
+
const targets = getSuggestionMatchTargets(suggestion, options);
|
|
34
|
+
if (targets.length === 0) {
|
|
35
|
+
return 2;
|
|
36
|
+
}
|
|
37
|
+
return Math.min(
|
|
38
|
+
...targets.map((target) => getMatchPriority(target, normalizedTerm))
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
getSuggestionMatchPriority,
|
|
43
|
+
normalizeSuggestionMatchText,
|
|
44
|
+
suggestionMatchesTerm
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=suggestion-matching.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/filters/filter-field/utils/suggestions-utils/suggestion-matching.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Shared matching engine for FilterField suggestions.\n *\n * Two questions are asked of every suggestion against the current search term:\n * 1. Does it match? (used for filtering \u2014 see `suggestionMatchesTerm`)\n * 2. How well does it match? (used for sorting \u2014 see `getSuggestionMatchPriority`)\n *\n * Both questions are answered against the same set of \"match targets\" (see\n * `getSuggestionMatchTargets`) and the same text normalization\n * (see `normalizeSuggestionMatchText`) so filtering and sorting can never drift apart.\n */\n\nimport type { FilterFieldSuggestion } from '../../suggestions/Suggestion.types.js';\n\nexport type SuggestionMatchingOptions = {\n /**\n * When `false`, the suggestion's `details` text is excluded from matching.\n * Used at call sites that match suggestions which carry display-only details\n * (e.g. logical-operator suggestions).\n * @defaultValue true\n */\n includeDetails?: boolean;\n};\n\n/**\n * Canonicalizes text for matching: strips quotes/backslashes and lowercases.\n * Applied to both the search term and every match target so quoted/escaped\n * user input compares against the same normalized form as raw suggestion text.\n * @internal\n */\nexport function normalizeSuggestionMatchText(value: string) {\n return value.replace(/([\"'\\\\])/g, '').toLowerCase();\n}\n\n/**\n * Returns the normalized strings of a suggestion that participate in matching.\n *\n * Rules:\n * - `displayValue` and `value` are mutually exclusive: if a string `displayValue`\n * is provided, it wins (that's what the user sees and types against);\n * otherwise the raw `value` is used.\n * - `details` is an *additional* target, only when it's a string and details\n * matching is enabled via options.\n *\n * Non-string fields (ReactNode `displayValue`/`details`, array `value`, etc.)\n * are silently skipped \u2014 they can't be substring-matched against a typed term.\n *\n * Kept private: only the two primitives below (`suggestionMatchesTerm`,\n * `getSuggestionMatchPriority`) need to know how targets are derived.\n */\nfunction getSuggestionMatchTargets(\n suggestion: FilterFieldSuggestion,\n options: SuggestionMatchingOptions = {},\n): string[] {\n const { includeDetails = true } = options;\n const targets: string[] = [];\n\n if (typeof suggestion.displayValue === 'string') {\n targets.push(suggestion.displayValue);\n } else if (typeof suggestion.value === 'string') {\n targets.push(suggestion.value);\n }\n\n if (includeDetails && typeof suggestion.details === 'string') {\n targets.push(suggestion.details);\n }\n\n return targets.map(normalizeSuggestionMatchText);\n}\n\n/**\n * Filtering primitive: does any match target contain the normalized term?\n * @internal\n */\nexport function suggestionMatchesTerm(\n suggestion: FilterFieldSuggestion,\n term: string,\n options?: SuggestionMatchingOptions,\n): boolean {\n const normalizedTerm = normalizeSuggestionMatchText(term);\n\n return getSuggestionMatchTargets(suggestion, options).some((target) =>\n target.includes(normalizedTerm),\n );\n}\n\n/**\n * Position score for a single target against the needle.\n * Lower is better \u2014 used by sort comparators that want exact > startsWith > contains.\n */\nfunction getMatchPriority(normalizedValue: string, needle: string): number {\n if (normalizedValue === needle) {\n return 0; // exact match\n }\n if (normalizedValue.startsWith(needle)) {\n return 1; // prefix match\n }\n\n return 2; // contains (or no match \u2014 same bucket; non-matches are pre-filtered)\n}\n\n/**\n * Sorting primitive: best (lowest) priority across all of the suggestion's\n * match targets. A suggestion that matches by `value` exactly is ranked above\n * one that only contains the term in `details`, etc.\n *\n * Returns 2 (worst bucket) when no targets exist, so suggestions without\n * matchable text sort to the end without throwing.\n * @internal\n */\nexport function getSuggestionMatchPriority(\n suggestion: FilterFieldSuggestion,\n normalizedTerm: string,\n options?: SuggestionMatchingOptions,\n): number {\n const targets = getSuggestionMatchTargets(suggestion, options);\n\n if (targets.length === 0) {\n return 2;\n }\n\n return Math.min(\n ...targets.map((target) => getMatchPriority(target, normalizedTerm)),\n );\n}\n"],
|
|
5
|
+
"mappings": "AA8BO,SAAS,6BAA6B,OAAe;AAC1D,SAAO,MAAM,QAAQ,aAAa,EAAE,EAAE,YAAY;AACpD;AAkBA,SAAS,0BACP,YACA,UAAqC,CAAC,GAC5B;AACV,QAAM,EAAE,iBAAiB,KAAK,IAAI;AAClC,QAAM,UAAoB,CAAC;AAE3B,MAAI,OAAO,WAAW,iBAAiB,UAAU;AAC/C,YAAQ,KAAK,WAAW,YAAY;AAAA,EACtC,WAAW,OAAO,WAAW,UAAU,UAAU;AAC/C,YAAQ,KAAK,WAAW,KAAK;AAAA,EAC/B;AAEA,MAAI,kBAAkB,OAAO,WAAW,YAAY,UAAU;AAC5D,YAAQ,KAAK,WAAW,OAAO;AAAA,EACjC;AAEA,SAAO,QAAQ,IAAI,4BAA4B;AACjD;AAMO,SAAS,sBACd,YACA,MACA,SACS;AACT,QAAM,iBAAiB,6BAA6B,IAAI;AAExD,SAAO,0BAA0B,YAAY,OAAO,EAAE;AAAA,IAAK,CAAC,WAC1D,OAAO,SAAS,cAAc;AAAA,EAChC;AACF;AAMA,SAAS,iBAAiB,iBAAyB,QAAwB;AACzE,MAAI,oBAAoB,QAAQ;AAC9B,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,WAAW,MAAM,GAAG;AACtC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAWO,SAAS,2BACd,YACA,gBACA,SACQ;AACR,QAAM,UAAU,0BAA0B,YAAY,OAAO;AAE7D,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,SAAO,KAAK;AAAA,IACV,GAAG,QAAQ,IAAI,CAAC,WAAW,iBAAiB,QAAQ,cAAc,CAAC;AAAA,EACrE;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
._11m6jkl0-3-
|
|
1
|
+
._11m6jkl0-3-6-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-6-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-6-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-6-0 > div {
|
|
21
21
|
padding-right: var(--dt-spacings-size-0, 0);
|
|
22
22
|
}
|
|
@@ -146,7 +146,7 @@ const SegmentSelectorFwd = forwardRef((props, forwardedRef) => {
|
|
|
146
146
|
formFieldMessagesState.formControlMessages,
|
|
147
147
|
errorId,
|
|
148
148
|
true
|
|
149
|
-
);
|
|
149
|
+
).catch(() => void 0);
|
|
150
150
|
}
|
|
151
151
|
onOpenChange?.(isOpen2);
|
|
152
152
|
},
|
|
@@ -187,14 +187,14 @@ const SegmentSelectorFwd = forwardRef((props, forwardedRef) => {
|
|
|
187
187
|
}
|
|
188
188
|
});
|
|
189
189
|
}
|
|
190
|
-
|
|
190
|
+
validateSegments(
|
|
191
191
|
segments,
|
|
192
192
|
onChange,
|
|
193
193
|
formFieldMessagesDispatch,
|
|
194
194
|
formFieldMessagesState.formControlMessages,
|
|
195
195
|
errorId,
|
|
196
196
|
true
|
|
197
|
-
);
|
|
197
|
+
).catch(() => void 0);
|
|
198
198
|
}
|
|
199
199
|
}),
|
|
200
200
|
[
|
|
@@ -216,7 +216,7 @@ const SegmentSelectorFwd = forwardRef((props, forwardedRef) => {
|
|
|
216
216
|
formFieldMessagesDispatch,
|
|
217
217
|
formFieldMessagesState.formControlMessages,
|
|
218
218
|
errorId
|
|
219
|
-
);
|
|
219
|
+
).catch(() => void 0);
|
|
220
220
|
}, [
|
|
221
221
|
errorId,
|
|
222
222
|
formFieldMessagesDispatch,
|