@dynatrace/strato-components 3.11.3 → 3.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +179 -1
- 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.js +11 -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 +34 -20
- package/charts/annotations-chart/types/annotations-chart-props.d.ts +2 -1
- package/charts/categorical-bar/CategoricalBarChartInternal.js +11 -1
- package/charts/categorical-bar/CategoricalBarChartRoot.js +17 -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/categorical-bar/types/categorical-bar-chart.d.ts +2 -1
- 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/canvas/AnnotationsCanvasLayout.css +1 -1
- package/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js +1 -1
- 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/AnnotationsOverlayTooltip.js +15 -0
- package/charts/core/components/annotations/hooks/useMarkerEventHandlers.js +5 -3
- package/charts/core/components/annotations/hooks/useOverlayEvents.js +14 -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/chart-grid/ChartGrid.css +3 -3
- package/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
- package/charts/core/components/chart-layout/ChartLayout.js +8 -1
- 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-layout/utils/calculate-graph-size.js +1 -1
- 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.js +43 -4
- package/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js +2 -2
- package/charts/core/components/interactions-overlay/types.d.ts +4 -0
- package/charts/core/components/legend/categorical/ChartLegend.css +1 -1
- package/charts/core/components/legend/categorical/ChartLegend.js +49 -22
- 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.d.ts +1 -0
- package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.js +2 -1
- 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.js +30 -3
- 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.d.ts +2 -0
- package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.js +2 -0
- 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/categorical/hooks/useLegendItemActions.d.ts +1 -1
- package/charts/core/components/legend/categorical/hooks/useLegendItemActions.js +10 -2
- package/charts/core/components/legend/categorical/messages.d.ts +25 -0
- package/charts/core/components/legend/categorical/messages.js +25 -0
- package/charts/core/components/legend/categorical/types/legend-internal.d.ts +1 -0
- 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/legend/shared/context/Legend.context.js +2 -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 +1 -1
- package/charts/core/components/overlay-tooltip/OverlayTooltip.js +9 -1
- package/charts/core/components/overlay-tooltip/components/DynamicTooltip.d.ts +1 -0
- package/charts/core/components/overlay-tooltip/components/DynamicTooltip.js +2 -1
- package/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js +17 -1
- package/charts/core/components/overlay-tooltip/components/LegacyTemplateTooltip.d.ts +1 -0
- package/charts/core/components/overlay-tooltip/components/LegacyTemplateTooltip.js +2 -1
- package/charts/core/components/overlay-tooltip/components/TooltipPortal.d.ts +1 -0
- package/charts/core/components/overlay-tooltip/components/TooltipPortal.js +9 -1
- package/charts/core/components/overlay-tooltip/components/global-actions/actions.css +4 -4
- package/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js +2 -2
- package/charts/core/components/overlay-tooltip/components/header/Header.css +6 -6
- package/charts/core/components/overlay-tooltip/components/header/Header.sty.js +6 -6
- package/charts/core/components/overlay-tooltip/components/series/seriesSymbol.css +2 -2
- package/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js +2 -2
- package/charts/core/components/overlay-tooltip/contexts/PinCoordinationContext.d.ts +29 -0
- package/charts/core/components/overlay-tooltip/contexts/PinCoordinationContext.js +38 -0
- package/charts/core/components/overlay-tooltip/hooks/useCanvasAriaDescribedBy.d.ts +4 -0
- package/charts/core/components/overlay-tooltip/hooks/useCanvasAriaDescribedBy.js +54 -0
- package/charts/core/components/overlay-tooltip/pinCoordinationSelectors.d.ts +5 -0
- package/charts/core/components/overlay-tooltip/pinCoordinationSelectors.js +30 -0
- package/charts/core/components/overlay-tooltip/tooltip.css +52 -59
- package/charts/core/components/overlay-tooltip/tooltip.css.d.ts +0 -9
- package/charts/core/components/overlay-tooltip/tooltip.sty.js +39 -39
- package/charts/core/components/overlay-tooltip/usePinCoordinationActions.d.ts +13 -0
- package/charts/core/components/overlay-tooltip/usePinCoordinationActions.js +40 -0
- package/charts/core/components/overlays/ChartOverlaysBorder.css +6 -6
- package/charts/core/components/overlays/ChartOverlaysBorder.sty.js +6 -6
- 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 +2 -5
- package/charts/core/components/sparkline-display/Sparkline.css +6 -6
- package/charts/core/components/sparkline-display/Sparkline.sty.js +2 -2
- package/charts/core/components/sparkline-display/SparklineContainer.js +9 -2
- package/charts/core/components/sparkline-display/types/sparkline-props.d.ts +2 -1
- 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/text-ellipsis/chars-font-width-map.d.ts +6 -0
- package/charts/core/components/text-ellipsis/chars-font-width-map.js +159 -0
- package/charts/core/components/threshold-bar/styles.css +17 -9
- package/charts/core/components/threshold-bar/styles.css.d.ts +8 -0
- package/charts/core/components/threshold-bar/styles.sty.js +2 -2
- package/charts/core/components/threshold-bar/types.d.ts +17 -1
- package/charts/core/components/threshold-bar/types.js +5 -1
- package/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
- package/charts/core/components/toolbar/ChartToolbarRenderer.js +29 -2
- 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.d.ts +1 -0
- package/charts/core/components/toolbar/components/ToolbarMenu.js +4 -1
- package/charts/core/components/toolbar/components/ToolbarMenu.sty.js +2 -2
- package/charts/core/components/toolbar/styles.css +1 -1
- package/charts/core/components/toolbar/styles.sty.js +1 -1
- package/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
- package/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js +2 -2
- package/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.css +8 -8
- package/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js +3 -3
- package/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.css +2 -2
- package/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js +1 -1
- package/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.css +1 -1
- package/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js +1 -1
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.css +6 -6
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js +2 -2
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.css +7 -7
- package/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js +6 -6
- package/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.css +1 -1
- package/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
- package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
- package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
- package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
- package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
- package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
- package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
- package/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
- package/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
- package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
- package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
- package/charts/core/components/tooltip-atoms/components/styles.css +4 -4
- package/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
- package/charts/core/components/zoom/ZoomCursors.css +2 -2
- package/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
- package/charts/core/context/AriaLabelingContext.d.ts +14 -0
- package/charts/core/context/AriaLabelingContext.js +26 -0
- package/charts/core/slots/Tooltip.d.ts +7 -3
- package/charts/core/typographyStyles.css +1 -1
- package/charts/core/typographyStyles.sty.js +1 -1
- package/charts/flame/flame-chart/FlameChart.d.ts +15 -1
- package/charts/flame/flame-chart/FlameChart.js +43 -38
- package/charts/flame/flame-chart/utils/iterate-slots.d.ts +5 -0
- package/charts/flame/flame-chart/utils/iterate-slots.js +37 -0
- package/charts/flame/flame-graph/FlameGraph.d.ts +15 -1
- package/charts/flame/flame-graph/FlameGraph.js +45 -39
- package/charts/flame/flame-graph/utils/iterate-slots.d.ts +5 -0
- package/charts/flame/flame-graph/utils/iterate-slots.js +40 -0
- package/charts/flame/shared/components/tooltip/FlameTooltip.d.ts +19 -0
- package/charts/flame/shared/components/tooltip/FlameTooltip.js +64 -0
- package/charts/flame/shared/constants.d.ts +2 -0
- package/charts/flame/shared/constants.js +4 -0
- package/charts/flame/shared/slots/Tooltip.d.ts +17 -0
- package/charts/flame/shared/slots/Tooltip.js +31 -0
- package/charts/flame/shared/types/flame-internal.d.ts +15 -0
- package/charts/flame/shared/types/flame-internal.js +15 -0
- package/charts/gantt-chart/GanttChartLine.css +1 -1
- package/charts/gantt-chart/GanttChartLine.sty.js +1 -1
- package/charts/gantt-chart/components/GanttChartLineRenderer.css +1 -1
- package/charts/gantt-chart/components/GanttChartLineRenderer.sty.js +1 -1
- package/charts/gantt-chart/components/tooltip/GanttChartTooltip.css +1 -1
- package/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js +1 -1
- package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.css +1 -1
- package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js +1 -1
- package/charts/gauge/components/GaugeLabel/GaugeLabel.css +6 -6
- package/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
- package/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.css +3 -3
- package/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js +1 -1
- package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.css +4 -4
- package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.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/histogram/HistogramChartInternal.js +11 -1
- package/charts/histogram/HistogramChartRoot.js +17 -3
- 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 +2 -1
- package/charts/honeycomb/HoneycombChart.css +1 -1
- package/charts/honeycomb/HoneycombChart.js +9 -2
- 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/types/honeycomb.d.ts +2 -1
- package/charts/index.d.ts +6 -5
- package/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.css +16 -16
- package/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js +11 -11
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.css +2 -2
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js +1 -1
- package/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.css +1 -1
- package/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js +1 -1
- package/charts/meter-bar/shared/styles/element-size.css +4 -4
- package/charts/meter-bar/shared/styles/element-size.sty.js +1 -1
- package/charts/meter-bar/shared/styles.css +1 -1
- package/charts/meter-bar/shared/styles.sty.js +1 -1
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholdIntervals/MeterBarChartThresholdIntervals.css +1 -1
- package/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholdIntervals/MeterBarChartThresholdIntervals.sty.js +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.css +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.css +1 -1
- package/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js +1 -1
- package/charts/pie/components/PieChartOverlays/PieChartOverlays.css +1 -1
- package/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js +1 -1
- package/charts/pie/components/PieChartPlot/PieChartPlot.css +1 -1
- package/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
- package/charts/sankey-chart/SankeyChart.css +11 -1
- package/charts/sankey-chart/SankeyChart.css.d.ts +2 -0
- package/charts/sankey-chart/SankeyChart.sty.js +6 -2
- package/charts/sankey-chart/SankeyChartRoot.js +2 -0
- package/charts/sankey-chart/components/SankeyCanvas.css +2 -3
- package/charts/sankey-chart/components/SankeyCanvas.d.ts +9 -1
- package/charts/sankey-chart/components/SankeyCanvas.js +9 -8
- package/charts/sankey-chart/components/SankeyCanvas.sty.js +1 -1
- package/charts/sankey-chart/components/SankeyGraphArea.js +69 -1
- package/charts/sankey-chart/components/SankeyLabelOverlay.css +74 -0
- package/charts/sankey-chart/components/SankeyLabelOverlay.css.d.ts +9 -0
- package/charts/sankey-chart/components/SankeyLabelOverlay.d.ts +13 -0
- package/charts/sankey-chart/components/SankeyLabelOverlay.js +180 -0
- package/charts/sankey-chart/components/SankeyLabelOverlay.sty.js +38 -0
- package/charts/sankey-chart/components/SankeyOverlay.css +4 -0
- package/charts/sankey-chart/components/SankeyOverlay.css.d.ts +2 -0
- package/charts/sankey-chart/components/SankeyOverlay.d.ts +6 -0
- package/charts/sankey-chart/components/SankeyOverlay.js +58 -0
- package/{editors/dql-editor/dql/SuggestionPart.sty.js → charts/sankey-chart/components/SankeyOverlay.sty.js} +6 -6
- package/charts/sankey-chart/constants.d.ts +10 -8
- package/charts/sankey-chart/constants.js +18 -6
- package/charts/sankey-chart/context/SankeyColorPalette.context.d.ts +3 -0
- package/charts/sankey-chart/context/SankeyColorPalette.context.js +25 -0
- package/charts/sankey-chart/context/SankeyHoverStore.context.d.ts +4 -0
- package/charts/sankey-chart/context/SankeyHoverStore.context.js +29 -0
- package/charts/sankey-chart/context/SankeyLayout.context.d.ts +3 -0
- package/charts/sankey-chart/context/SankeyLayout.context.js +28 -0
- package/charts/sankey-chart/hooks/draw-links.d.ts +3 -0
- package/charts/sankey-chart/hooks/draw-links.js +68 -0
- package/charts/sankey-chart/hooks/draw-nodes.d.ts +3 -0
- package/charts/sankey-chart/hooks/draw-nodes.js +40 -0
- package/charts/sankey-chart/hooks/use-draw-sankey.d.ts +1 -1
- package/charts/sankey-chart/hooks/use-draw-sankey.js +10 -22
- package/charts/sankey-chart/hooks/use-generate-sankey-layout.d.ts +10 -0
- package/charts/sankey-chart/hooks/use-generate-sankey-layout.js +40 -0
- package/charts/sankey-chart/hooks/use-node-colors.d.ts +10 -0
- package/charts/sankey-chart/hooks/use-node-colors.js +59 -0
- package/charts/sankey-chart/hooks/use-sankey-layout.d.ts +1 -1
- package/charts/sankey-chart/hooks/use-sankey-layout.js +2 -19
- package/charts/sankey-chart/hooks/use-sankey-overlay-events.d.ts +9 -0
- package/charts/sankey-chart/hooks/use-sankey-overlay-events.js +94 -0
- package/charts/sankey-chart/providers/SankeyConfigProvider.d.ts +3 -1
- package/charts/sankey-chart/providers/SankeyConfigProvider.js +3 -1
- package/charts/sankey-chart/providers/SankeyHoverStoreProvider.d.ts +6 -0
- package/charts/sankey-chart/providers/SankeyHoverStoreProvider.js +33 -0
- package/charts/sankey-chart/providers/SankeyLayoutProvider.d.ts +11 -0
- package/charts/sankey-chart/providers/SankeyLayoutProvider.js +34 -0
- package/charts/sankey-chart/store/selectors.d.ts +10 -0
- package/charts/sankey-chart/store/selectors.js +27 -0
- package/charts/sankey-chart/store/store.d.ts +4 -0
- package/charts/sankey-chart/store/store.js +44 -0
- package/charts/sankey-chart/types/sankey-hover.d.ts +28 -0
- package/charts/sankey-chart/types/sankey-hover.js +15 -0
- package/charts/sankey-chart/types/sankey-props.d.ts +6 -0
- package/charts/sankey-chart/utils/build-link-gradient.d.ts +7 -0
- package/charts/sankey-chart/utils/build-link-gradient.js +34 -0
- package/charts/sankey-chart/utils/find-hovered-shape.d.ts +14 -0
- package/charts/sankey-chart/utils/find-hovered-shape.js +93 -0
- package/charts/sankey-chart/utils/get-related-sankey-flow.d.ts +20 -0
- package/charts/sankey-chart/utils/get-related-sankey-flow.js +52 -0
- package/charts/sankey-chart/utils/is-resolved-sankey-node.d.ts +9 -0
- package/charts/sankey-chart/utils/is-resolved-sankey-node.js +23 -0
- package/charts/single-value/SingleValue.css +1 -1
- package/charts/single-value/SingleValue.js +4 -0
- 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 -0
- 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/types/single-value-grid.d.ts +4 -7
- package/charts/timeseries/TimeseriesChartInternal.js +11 -1
- package/charts/timeseries/TimeseriesChartRoot.js +17 -3
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +2 -2
- package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js +1 -1
- package/charts/timeseries/components/overlays/TimeseriesOverlays.css +4 -4
- package/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js +4 -4
- package/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
- package/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
- package/charts/timeseries/types/timeseries-props.d.ts +2 -1
- package/charts/top-list/TopList.css +1 -1
- package/charts/top-list/TopList.js +28 -3
- package/charts/top-list/TopList.sty.js +1 -1
- package/charts/top-list/constants.d.ts +2 -0
- package/charts/top-list/constants.js +2 -0
- package/charts/top-list/types/top-list.d.ts +2 -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/providers/TreeMapInternalDataProvider.js +2 -3
- package/charts/xy-chart/XYChart.js +12 -2
- package/charts/xy-chart/XYChartRoot.js +20 -5
- package/charts/xy-chart/components/axes/AxisArea.css +1 -1
- package/charts/xy-chart/components/axes/AxisArea.sty.js +1 -1
- package/charts/xy-chart/components/axes/AxisTickWithTruncation.css +3 -3
- package/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js +3 -3
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +2 -7
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css.d.ts +0 -1
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +2 -4
- package/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.d.ts +5 -12
- package/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js +16 -22
- package/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.d.ts +2 -6
- package/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js +17 -20
- package/charts/xy-chart/components/displays/RectLabelOverlay.css +3 -3
- package/charts/xy-chart/components/displays/RectLabelOverlay.sty.js +3 -3
- package/charts/xy-chart/components/displays/area-accessors.js +6 -4
- package/charts/xy-chart/components/legend/XYLegend/XYLegend.js +7 -4
- 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/XYChartOverlay.js +9 -1
- package/charts/xy-chart/components/overlay/explore/HighlightedRectangleCanvas.js +8 -2
- package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
- package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.js +10 -4
- 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/useOverlayEvents.d.ts +1 -1
- package/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js +15 -0
- package/charts/xy-chart/components/thresholds/XYChartThresholdArea.js +67 -5
- package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
- package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.js +6 -3
- package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
- package/charts/xy-chart/components/thresholds/builder.js +50 -3
- package/charts/xy-chart/components/thresholds/get-border-threshold.d.ts +3 -1
- package/charts/xy-chart/components/thresholds/get-border-threshold.js +6 -4
- package/charts/xy-chart/components/thresholds/get-x-value.d.ts +12 -0
- package/charts/xy-chart/components/thresholds/get-x-value.js +30 -0
- package/charts/xy-chart/components/thresholds/type-guards.d.ts +25 -1
- package/charts/xy-chart/components/thresholds/type-guards.js +13 -1
- package/charts/xy-chart/components/thresholds/utils.d.ts +18 -5
- package/charts/xy-chart/components/thresholds/utils.js +73 -9
- package/charts/xy-chart/components/toolbar/ExploreButton.js +5 -1
- package/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js +6 -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/XYChartThresholds.context.js +7 -1
- package/charts/xy-chart/context/XYChartToolbar.context.d.ts +1 -1
- package/charts/xy-chart/hooks/useToolbar.d.ts +1 -1
- package/charts/xy-chart/hooks/useXYChartCrosshairHidden.d.ts +5 -0
- package/charts/xy-chart/hooks/useXYChartCrosshairHidden.js +34 -0
- package/charts/xy-chart/layout/XYChartLayout.css +2 -2
- package/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
- package/charts/xy-chart/processing-strategies/strategies/area-series.js +1 -1
- package/charts/xy-chart/processing-strategies/strategies/stackable-series.js +2 -2
- package/charts/xy-chart/processing-strategies/utils/cast-data/cast-data-types.d.ts +2 -0
- package/charts/xy-chart/processing-strategies/utils/cast-data/cast-data-types.js +16 -1
- package/charts/xy-chart/slots/Select.d.ts +6 -0
- package/charts/xy-chart/types/xy-chart-internals.d.ts +33 -4
- package/charts/xy-chart/types/xy-chart-props.d.ts +34 -10
- package/charts/xy-chart/utils/grid-templates.d.ts +2 -0
- package/charts/xy-chart/utils/grid-templates.js +6 -2
- package/charts/xy-chart/utils/query-get-closest-point.d.ts +1 -1
- package/charts/xy-chart/utils/query-get-closest-point.js +30 -8
- package/charts/xy-chart/utils/query-shared.js +59 -24
- package/charts/xy-chart/utils/query-single.js +5 -1
- package/charts/xy-chart/utils/xy-chart-configuration.d.ts +2 -1
- package/charts/xy-chart/utils/xy-chart-configuration.js +1 -1
- package/charts/xy-chart-adoption/categorical-bar/CategoricalBarToXY.js +19 -4
- package/charts/xy-chart-adoption/categorical-bar/constants.d.ts +2 -0
- package/charts/xy-chart-adoption/categorical-bar/constants.js +23 -0
- package/charts/xy-chart-adoption/categorical-bar/utils/map-axes-to-xy.d.ts +3 -1
- package/charts/xy-chart-adoption/categorical-bar/utils/map-axes-to-xy.js +3 -2
- package/charts/xy-chart-adoption/histogram/HistogramToXY.js +12 -3
- package/charts/xy-chart-adoption/histogram/constants.d.ts +2 -0
- package/charts/xy-chart-adoption/histogram/constants.js +23 -0
- package/charts/xy-chart-adoption/histogram/transformer-thresholds-to-xy.d.ts +2 -2
- package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.d.ts +1 -1
- package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +12 -3
- package/charts/xy-chart-adoption/timeseries/constants.d.ts +1 -0
- package/charts/xy-chart-adoption/timeseries/constants.js +2 -0
- package/charts/xy-chart-adoption/timeseries/types/timeseries.d.ts +2 -1
- package/content/accordion/Accordion.css +14 -14
- package/content/accordion/Accordion.d.ts +3 -1
- package/content/accordion/Accordion.js +8 -1
- package/content/accordion/Accordion.sty.js +8 -8
- package/content/accordion/AccordionSection.js +7 -4
- package/content/accordion/AccordionSectionContent.js +2 -2
- package/content/accordion/AccordionSectionLabel.d.ts +12 -2
- package/content/accordion/AccordionSectionLabel.js +3 -0
- package/content/accordion/contexts/AccordionSectionContext.d.ts +1 -0
- package/content/accordion/contexts/AccordionSectionContext.js +1 -0
- package/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
- package/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
- package/content/ai-response/AiResponse.css +5 -5
- package/content/ai-response/AiResponse.sty.js +2 -2
- package/content/avatar/Avatar.css +13 -13
- package/content/avatar/Avatar.sty.js +4 -4
- package/content/avatar-group/AvatarGroup.css +3 -3
- package/content/avatar-group/AvatarGroup.sty.js +2 -2
- package/content/chip/BaseChip.css +40 -40
- package/content/chip/BaseChip.sty.js +5 -5
- package/content/chip/ChipContent.css +11 -11
- package/content/chip/ChipContent.sty.js +2 -2
- package/content/chip/ChipDeleteButton.css +19 -19
- package/content/chip/ChipDeleteButton.sty.js +4 -4
- package/content/chip/ChipKey.css +6 -6
- package/content/chip/ChipKey.sty.js +1 -1
- package/content/chip/GroupedChip.css +3 -3
- package/content/chip/GroupedChip.sty.js +3 -3
- package/content/chip-group/ChipGroup.css +4 -4
- package/content/chip-group/ChipGroup.sty.js +1 -1
- package/content/chip-group/Control.css +4 -4
- package/content/chip-group/Control.sty.js +1 -1
- package/content/code-snippet/CodeHighlight.css +25 -25
- package/content/code-snippet/CodeHighlight.sty.js +6 -6
- package/content/code-snippet/CodeSnippet.css +18 -18
- package/content/code-snippet/CodeSnippet.js +17 -3
- package/content/code-snippet/CodeSnippet.sty.js +4 -4
- package/content/code-snippet/prism-dql-language.js +1 -1
- package/content/empty-state/EmptyState.css +28 -28
- package/content/empty-state/EmptyState.js +1 -1
- package/content/empty-state/EmptyState.sty.js +7 -7
- package/content/empty-state/slot-components/Footer.css +1 -1
- package/content/empty-state/slot-components/Footer.sty.js +1 -1
- package/content/empty-state/slot-components/Visual.css +3 -3
- package/content/empty-state/slot-components/Visual.sty.js +1 -1
- package/content/expandable-text/ExpandableText.css +7 -7
- package/content/expandable-text/ExpandableText.sty.js +2 -2
- package/content/feature-highlight/FeatureHighlight.css +12 -12
- package/content/feature-highlight/FeatureHighlight.sty.js +3 -3
- package/content/health-indicator/styles.css +23 -23
- package/content/health-indicator/styles.sty.js +1 -1
- package/content/information-overlay/InformationOverlay.css +25 -25
- package/content/information-overlay/InformationOverlay.sty.js +5 -5
- package/content/keyboard-shortcut/KeyboardShortcut.css +14 -14
- package/content/keyboard-shortcut/KeyboardShortcut.sty.js +2 -2
- package/content/markdown/Markdown.css +3 -3
- package/content/markdown/Markdown.sty.js +1 -1
- package/content/markdown/transformers/typography-mapping.css +9 -9
- package/content/markdown/transformers/typography-mapping.sty.js +6 -6
- package/content/message-container/MessageContainer.js +1 -0
- package/content/microguide/Microguide.css +11 -11
- package/content/microguide/Microguide.sty.js +7 -7
- package/content/progress/ProgressBar.css +71 -71
- package/content/progress/ProgressBar.sty.js +5 -5
- package/content/progress/ProgressBarIcon.css +2 -2
- package/content/progress/ProgressBarIcon.sty.js +1 -1
- package/content/progress/ProgressBarLabel.css +3 -3
- package/content/progress/ProgressBarLabel.sty.js +1 -1
- package/content/progress/ProgressBarValue.css +5 -5
- package/content/progress/ProgressBarValue.sty.js +1 -1
- package/content/progress/ProgressCircle.css +40 -40
- package/content/progress/ProgressCircle.sty.js +5 -5
- package/content/shared-components/Visual.css +3 -3
- package/content/shared-components/Visual.sty.js +1 -1
- package/content/skeleton/Skeleton.css +7 -7
- package/content/skeleton/Skeleton.sty.js +5 -5
- package/content/terminology-overlay/TerminologyOverlay.css +4 -4
- package/content/terminology-overlay/TerminologyOverlay.sty.js +1 -1
- package/core/components/app-root/AppRoot.css +2 -2
- package/core/components/app-root/AppRoot.sty.js +1 -1
- package/core/components/focus-scope/FocusScope.js +46 -0
- package/core/components/visually-hidden/VisuallyHidden.css +1 -1
- package/core/components/visually-hidden/VisuallyHidden.sty.js +1 -1
- package/core/sdk/sdk-logger.js +2 -2
- package/core/styles/defaultChartValues.css +1 -1
- package/core/styles/defaultChartValues.sty.js +1 -1
- package/core/styles/focusRing.css +66 -66
- package/core/styles/focusRing.sty.js +2 -2
- package/core/styles/focusRingStatic.css +34 -34
- package/core/styles/focusRingStatic.sty.js +1 -1
- package/core/styles/virtualFocus.css +2 -2
- package/core/styles/virtualFocus.sty.js +1 -1
- package/core/time/validation.js +11 -1
- package/core/utils/colorUtils.css +60 -60
- package/core/utils/colorUtils.sty.js +2 -2
- package/editors/base-code-editor/BaseCodeEditor.css +140 -142
- package/editors/base-code-editor/BaseCodeEditor.css.d.ts +2 -6
- package/editors/base-code-editor/BaseCodeEditor.js +3 -2
- package/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
- package/editors/base-code-editor/configuration/configure-active-line.d.ts +21 -0
- package/editors/base-code-editor/configuration/configure-active-line.js +76 -0
- package/editors/base-code-editor/configuration/configure-critical-gutter-lines.d.ts +26 -0
- package/editors/base-code-editor/configuration/configure-critical-gutter-lines.js +64 -0
- package/editors/base-code-editor/configuration/configure-lint-gutter.d.ts +4 -2
- package/editors/base-code-editor/configuration/configure-lint-gutter.js +6 -3
- package/editors/base-code-editor/configuration/getDefaultConfigurations.js +6 -6
- package/editors/base-code-editor/utils/format-diagnostics-summary.js +1 -1
- package/editors/dql-editor/DQLEditor.d.ts +6 -0
- package/editors/dql-editor/DQLEditor.js +2 -0
- package/editors/dql-editor/actions-menu/ActionsMenu.css +10 -10
- package/editors/dql-editor/actions-menu/ActionsMenu.sty.js +5 -5
- package/{esm/editors/dql-editor/dql → editors/dql-editor/autocomplete}/SuggestionsInfoSection.css +7 -7
- package/editors/dql-editor/autocomplete/SuggestionsInfoSection.d.ts +5 -0
- package/editors/dql-editor/{dql → autocomplete}/SuggestionsInfoSection.sty.js +3 -3
- package/editors/dql-editor/{dql → autocomplete}/messages.d.ts +10 -0
- package/editors/dql-editor/{dql → autocomplete}/messages.js +10 -0
- package/editors/dql-editor/{dql → autocomplete}/open-autocomplete.js +1 -1
- package/editors/dql-editor/autocomplete/suggestion-autocompletions.d.ts +24 -0
- package/editors/dql-editor/{dql → autocomplete}/suggestion-autocompletions.js +32 -4
- package/editors/dql-editor/autocomplete/suggestion-popup/DocumentationLink.d.ts +15 -0
- package/editors/dql-editor/{dql → autocomplete/suggestion-popup}/DocumentationLink.js +15 -11
- package/editors/dql-editor/autocomplete/suggestion-popup/SuggestionPart.d.ts +17 -0
- package/editors/dql-editor/autocomplete/suggestion-popup/SuggestionPart.js +55 -0
- package/editors/dql-editor/{dql → autocomplete}/suggestions-info-section-extension.js +14 -1
- package/editors/dql-editor/dql/dql-language.js +3 -3
- 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.js +11 -1
- package/esm/buttons/intent-button/IntentButton.js.map +2 -2
- 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 +34 -20
- package/esm/charts/annotations-chart/AnnotationsChart.js.map +2 -2
- package/esm/charts/categorical-bar/CategoricalBarChartInternal.js +11 -1
- package/esm/charts/categorical-bar/CategoricalBarChartInternal.js.map +2 -2
- package/esm/charts/categorical-bar/CategoricalBarChartRoot.js +18 -3
- package/esm/charts/categorical-bar/CategoricalBarChartRoot.js.map +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.css +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js.map +1 -1
- package/esm/charts/categorical-bar/types/categorical-bar-chart.js.map +2 -2
- 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/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/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/AnnotationsOverlayTooltip.js +15 -0
- package/esm/charts/core/components/annotations/components/tooltip/AnnotationsOverlayTooltip.js.map +2 -2
- package/esm/charts/core/components/annotations/hooks/useMarkerEventHandlers.js +5 -3
- package/esm/charts/core/components/annotations/hooks/useMarkerEventHandlers.js.map +2 -2
- package/esm/charts/core/components/annotations/hooks/useOverlayEvents.js +18 -1
- 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/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/ChartLayout.js +9 -1
- package/esm/charts/core/components/chart-layout/ChartLayout.js.map +2 -2
- package/esm/charts/core/components/chart-layout/components/styles.css +15 -15
- package/esm/charts/core/components/chart-layout/components/styles.sty.js +4 -4
- package/esm/charts/core/components/chart-layout/components/styles.sty.js.map +1 -1
- package/esm/charts/core/components/chart-layout/utils/calculate-graph-size.js +1 -1
- package/esm/charts/core/components/chart-layout/utils/calculate-graph-size.js.map +2 -2
- 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.js +43 -5
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.js.map +2 -2
- 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/interactions-overlay/types.js.map +2 -2
- package/esm/charts/core/components/legend/categorical/ChartLegend.css +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.js +51 -24
- package/esm/charts/core/components/legend/categorical/ChartLegend.js.map +2 -2
- 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.js +2 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.js.map +2 -2
- 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.js +30 -3
- package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.js.map +2 -2
- 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.js +2 -0
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.js.map +2 -2
- 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/categorical/hooks/useLegendItemActions.js +14 -3
- package/esm/charts/core/components/legend/categorical/hooks/useLegendItemActions.js.map +2 -2
- package/esm/charts/core/components/legend/categorical/messages.js +25 -0
- package/esm/charts/core/components/legend/categorical/messages.js.map +2 -2
- 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/legend/shared/context/Legend.context.js +2 -1
- package/esm/charts/core/components/legend/shared/context/Legend.context.js.map +2 -2
- 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 +9 -1
- package/esm/charts/core/components/overlay-tooltip/OverlayTooltip.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltip.js +2 -1
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltip.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js +17 -1
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/LegacyTemplateTooltip.js +2 -1
- package/esm/charts/core/components/overlay-tooltip/components/LegacyTemplateTooltip.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/TooltipPortal.js +9 -1
- package/esm/charts/core/components/overlay-tooltip/components/TooltipPortal.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.css +4 -4
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.css +6 -6
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js +6 -6
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/components/series/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/contexts/PinCoordinationContext.js +24 -0
- package/esm/charts/core/components/overlay-tooltip/contexts/PinCoordinationContext.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/hooks/useCanvasAriaDescribedBy.js +36 -0
- package/esm/charts/core/components/overlay-tooltip/hooks/useCanvasAriaDescribedBy.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/pinCoordinationSelectors.js +12 -0
- package/esm/charts/core/components/overlay-tooltip/pinCoordinationSelectors.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/tooltip.css +52 -59
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js +39 -39
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/usePinCoordinationActions.js +22 -0
- package/esm/charts/core/components/overlay-tooltip/usePinCoordinationActions.js.map +7 -0
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.css +6 -6
- package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js +6 -6
- 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/sparkline-display/SparklineContainer.js +9 -2
- package/esm/charts/core/components/sparkline-display/SparklineContainer.js.map +2 -2
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.css +7 -7
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js +3 -3
- package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js.map +1 -1
- package/esm/charts/core/components/text-ellipsis/chars-font-width-map.js +159 -0
- package/esm/charts/core/components/text-ellipsis/chars-font-width-map.js.map +2 -2
- package/esm/charts/core/components/threshold-bar/styles.css +17 -9
- package/esm/charts/core/components/threshold-bar/styles.sty.js +2 -2
- package/esm/charts/core/components/threshold-bar/styles.sty.js.map +2 -2
- package/esm/charts/core/components/threshold-bar/types.js +5 -1
- package/esm/charts/core/components/threshold-bar/types.js.map +2 -2
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.js +29 -2
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.js.map +2 -2
- 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.js +4 -1
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.js.map +2 -2
- 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/toolbar/styles.css +1 -1
- package/esm/charts/core/components/toolbar/styles.sty.js +1 -1
- package/esm/charts/core/components/toolbar/styles.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js +2 -2
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.css +8 -8
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js +3 -3
- package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.css +2 -2
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.css +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.css +6 -6
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js +2 -2
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.css +7 -7
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js +6 -6
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.css +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/styles.css +4 -4
- package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
- package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js.map +1 -1
- package/esm/charts/core/components/zoom/ZoomCursors.css +2 -2
- package/esm/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
- package/esm/charts/core/components/zoom/ZoomCursors.sty.js.map +1 -1
- package/esm/charts/core/context/AriaLabelingContext.js +8 -0
- package/esm/charts/core/context/AriaLabelingContext.js.map +7 -0
- package/esm/charts/core/slots/Tooltip.js.map +2 -2
- package/esm/charts/core/typographyStyles.css +1 -1
- package/esm/charts/core/typographyStyles.sty.js +1 -1
- package/esm/charts/core/typographyStyles.sty.js.map +1 -1
- package/esm/charts/flame/flame-chart/FlameChart.js +45 -39
- package/esm/charts/flame/flame-chart/FlameChart.js.map +2 -2
- package/esm/charts/flame/flame-chart/utils/iterate-slots.js +19 -0
- package/esm/charts/flame/flame-chart/utils/iterate-slots.js.map +7 -0
- package/esm/charts/flame/flame-graph/FlameGraph.js +47 -40
- package/esm/charts/flame/flame-graph/FlameGraph.js.map +2 -2
- package/esm/charts/flame/flame-graph/utils/iterate-slots.js +22 -0
- package/esm/charts/flame/flame-graph/utils/iterate-slots.js.map +7 -0
- package/esm/charts/flame/shared/components/tooltip/FlameTooltip.js +46 -0
- package/esm/charts/flame/shared/components/tooltip/FlameTooltip.js.map +7 -0
- package/esm/charts/flame/shared/constants.js +4 -0
- package/esm/charts/flame/shared/constants.js.map +2 -2
- package/esm/charts/flame/shared/slots/Tooltip.js +13 -0
- package/esm/charts/flame/shared/slots/Tooltip.js.map +7 -0
- package/esm/charts/flame/shared/types/flame-internal.js +1 -0
- package/esm/charts/flame/shared/types/flame-internal.js.map +7 -0
- 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/GaugeLabel/GaugeLabel.css +6 -6
- package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
- package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.css +3 -3
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js +1 -1
- package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.css +4 -4
- package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.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/histogram/HistogramChartInternal.js +11 -1
- package/esm/charts/histogram/HistogramChartInternal.js.map +2 -2
- package/esm/charts/histogram/HistogramChartRoot.js +21 -4
- package/esm/charts/histogram/HistogramChartRoot.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 +9 -2
- 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/index.js.map +2 -2
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.css +16 -16
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js +11 -11
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.css +2 -2
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.css +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/styles/element-size.css +4 -4
- package/esm/charts/meter-bar/shared/styles/element-size.sty.js +1 -1
- package/esm/charts/meter-bar/shared/styles/element-size.sty.js.map +1 -1
- package/esm/charts/meter-bar/shared/styles.css +1 -1
- package/esm/charts/meter-bar/shared/styles.sty.js +1 -1
- package/esm/charts/meter-bar/shared/styles.sty.js.map +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholdIntervals/MeterBarChartThresholdIntervals.css +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholdIntervals/MeterBarChartThresholdIntervals.sty.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholdIntervals/MeterBarChartThresholdIntervals.sty.js.map +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.css +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js.map +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.css +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js +1 -1
- package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js.map +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.css +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js +1 -1
- package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js.map +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.css +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js.map +1 -1
- package/esm/charts/sankey-chart/SankeyChart.css +11 -1
- package/esm/charts/sankey-chart/SankeyChart.sty.js +6 -2
- package/esm/charts/sankey-chart/SankeyChart.sty.js.map +2 -2
- package/esm/charts/sankey-chart/SankeyChartRoot.js +2 -0
- package/esm/charts/sankey-chart/SankeyChartRoot.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyCanvas.css +2 -3
- package/esm/charts/sankey-chart/components/SankeyCanvas.js +9 -8
- package/esm/charts/sankey-chart/components/SankeyCanvas.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyCanvas.sty.js +1 -1
- package/esm/charts/sankey-chart/components/SankeyCanvas.sty.js.map +1 -1
- package/esm/charts/sankey-chart/components/SankeyGraphArea.js +75 -3
- package/esm/charts/sankey-chart/components/SankeyGraphArea.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.css +74 -0
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.js +167 -0
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.js.map +7 -0
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.sty.js +20 -0
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.sty.js.map +7 -0
- package/esm/charts/sankey-chart/components/SankeyOverlay.css +4 -0
- package/esm/charts/sankey-chart/components/SankeyOverlay.js +40 -0
- package/esm/charts/sankey-chart/components/SankeyOverlay.js.map +7 -0
- package/esm/charts/sankey-chart/components/SankeyOverlay.sty.js +6 -0
- package/esm/charts/sankey-chart/components/SankeyOverlay.sty.js.map +7 -0
- package/esm/charts/sankey-chart/constants.js +18 -6
- package/esm/charts/sankey-chart/constants.js.map +2 -2
- package/esm/charts/sankey-chart/context/SankeyColorPalette.context.js +7 -0
- package/esm/charts/sankey-chart/context/SankeyColorPalette.context.js.map +7 -0
- package/esm/charts/sankey-chart/context/SankeyHoverStore.context.js +11 -0
- package/esm/charts/sankey-chart/context/SankeyHoverStore.context.js.map +7 -0
- package/esm/charts/sankey-chart/context/SankeyLayout.context.js +10 -0
- package/esm/charts/sankey-chart/context/SankeyLayout.context.js.map +7 -0
- package/esm/charts/sankey-chart/hooks/draw-links.js +50 -0
- package/esm/charts/sankey-chart/hooks/draw-links.js.map +7 -0
- package/esm/charts/sankey-chart/hooks/draw-nodes.js +22 -0
- package/esm/charts/sankey-chart/hooks/draw-nodes.js.map +7 -0
- package/esm/charts/sankey-chart/hooks/use-draw-sankey.js +10 -22
- package/esm/charts/sankey-chart/hooks/use-draw-sankey.js.map +2 -2
- package/esm/charts/sankey-chart/hooks/use-generate-sankey-layout.js +22 -0
- package/esm/charts/sankey-chart/hooks/use-generate-sankey-layout.js.map +7 -0
- package/esm/charts/sankey-chart/hooks/use-node-colors.js +41 -0
- package/esm/charts/sankey-chart/hooks/use-node-colors.js.map +7 -0
- package/esm/charts/sankey-chart/hooks/use-sankey-layout.js +3 -20
- package/esm/charts/sankey-chart/hooks/use-sankey-layout.js.map +2 -2
- package/esm/charts/sankey-chart/hooks/use-sankey-overlay-events.js +81 -0
- package/esm/charts/sankey-chart/hooks/use-sankey-overlay-events.js.map +7 -0
- package/esm/charts/sankey-chart/providers/SankeyConfigProvider.js +3 -1
- package/esm/charts/sankey-chart/providers/SankeyConfigProvider.js.map +2 -2
- package/esm/charts/sankey-chart/providers/SankeyHoverStoreProvider.js +15 -0
- package/esm/charts/sankey-chart/providers/SankeyHoverStoreProvider.js.map +7 -0
- package/esm/charts/sankey-chart/providers/SankeyLayoutProvider.js +16 -0
- package/esm/charts/sankey-chart/providers/SankeyLayoutProvider.js.map +7 -0
- package/esm/charts/sankey-chart/store/selectors.js +9 -0
- package/esm/charts/sankey-chart/store/selectors.js.map +7 -0
- package/esm/charts/sankey-chart/store/store.js +26 -0
- package/esm/charts/sankey-chart/store/store.js.map +7 -0
- package/esm/charts/sankey-chart/types/sankey-hover.js +1 -0
- package/esm/charts/sankey-chart/types/sankey-hover.js.map +7 -0
- package/esm/charts/sankey-chart/utils/build-link-gradient.js +16 -0
- package/esm/charts/sankey-chart/utils/build-link-gradient.js.map +7 -0
- package/esm/charts/sankey-chart/utils/find-hovered-shape.js +75 -0
- package/esm/charts/sankey-chart/utils/find-hovered-shape.js.map +7 -0
- package/esm/charts/sankey-chart/utils/get-related-sankey-flow.js +34 -0
- package/esm/charts/sankey-chart/utils/get-related-sankey-flow.js.map +7 -0
- package/esm/charts/sankey-chart/utils/is-resolved-sankey-node.js +5 -0
- package/esm/charts/sankey-chart/utils/is-resolved-sankey-node.js.map +7 -0
- package/esm/charts/single-value/SingleValue.css +1 -1
- package/esm/charts/single-value/SingleValue.js +4 -0
- 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 -0
- 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/timeseries/TimeseriesChartInternal.js +11 -1
- package/esm/charts/timeseries/TimeseriesChartInternal.js.map +2 -2
- package/esm/charts/timeseries/TimeseriesChartRoot.js +21 -4
- 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.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/top-list/TopList.css +1 -1
- package/esm/charts/top-list/TopList.js +29 -3
- package/esm/charts/top-list/TopList.js.map +2 -2
- package/esm/charts/top-list/TopList.sty.js +1 -1
- package/esm/charts/top-list/TopList.sty.js.map +1 -1
- package/esm/charts/top-list/constants.js +2 -0
- package/esm/charts/top-list/constants.js.map +2 -2
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js.map +1 -1
- package/esm/charts/tree-map/providers/TreeMapInternalDataProvider.js +1 -2
- package/esm/charts/tree-map/providers/TreeMapInternalDataProvider.js.map +2 -2
- package/esm/charts/xy-chart/XYChart.js +12 -2
- package/esm/charts/xy-chart/XYChart.js.map +2 -2
- package/esm/charts/xy-chart/XYChartRoot.js +21 -6
- 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/displays/BarDisplay/BarLabelOverlay.css +2 -7
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +2 -4
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js.map +2 -2
- package/esm/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js +18 -24
- package/esm/charts/xy-chart/components/displays/BarDisplay/HorizontalBarLabel.js.map +2 -2
- package/esm/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js +19 -22
- package/esm/charts/xy-chart/components/displays/BarDisplay/VerticalBarLabel.js.map +2 -2
- package/esm/charts/xy-chart/components/displays/RectLabelOverlay.css +3 -3
- package/esm/charts/xy-chart/components/displays/RectLabelOverlay.sty.js +3 -3
- package/esm/charts/xy-chart/components/displays/RectLabelOverlay.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/displays/area-accessors.js +6 -4
- package/esm/charts/xy-chart/components/displays/area-accessors.js.map +2 -2
- package/esm/charts/xy-chart/components/legend/XYLegend/XYLegend.js +7 -4
- package/esm/charts/xy-chart/components/legend/XYLegend/XYLegend.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/XYChartOverlay.js +10 -2
- package/esm/charts/xy-chart/components/overlay/XYChartOverlay.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/explore/HighlightedRectangleCanvas.js +8 -2
- package/esm/charts/xy-chart/components/overlay/explore/HighlightedRectangleCanvas.js.map +2 -2
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.js +10 -4
- package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.js.map +2 -2
- 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/useOverlayEvents.js +15 -0
- package/esm/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js.map +2 -2
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdArea.js +69 -7
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdArea.js.map +2 -2
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.js +6 -3
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.js.map +2 -2
- 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/thresholds/builder.js +54 -6
- package/esm/charts/xy-chart/components/thresholds/builder.js.map +2 -2
- package/esm/charts/xy-chart/components/thresholds/get-border-threshold.js +9 -5
- package/esm/charts/xy-chart/components/thresholds/get-border-threshold.js.map +2 -2
- package/esm/charts/xy-chart/components/thresholds/get-x-value.js +12 -0
- package/esm/charts/xy-chart/components/thresholds/get-x-value.js.map +7 -0
- package/esm/charts/xy-chart/components/thresholds/type-guards.js +13 -1
- package/esm/charts/xy-chart/components/thresholds/type-guards.js.map +2 -2
- package/esm/charts/xy-chart/components/thresholds/utils.js +77 -10
- package/esm/charts/xy-chart/components/thresholds/utils.js.map +2 -2
- package/esm/charts/xy-chart/components/toolbar/ExploreButton.js +5 -1
- package/esm/charts/xy-chart/components/toolbar/ExploreButton.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js +6 -1
- package/esm/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js.map +2 -2
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.css +5 -5
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js +4 -4
- package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js.map +1 -1
- package/esm/charts/xy-chart/context/XYChartThresholds.context.js +7 -1
- package/esm/charts/xy-chart/context/XYChartThresholds.context.js.map +2 -2
- package/esm/charts/xy-chart/context/XYChartToolbar.context.js.map +1 -1
- package/esm/charts/xy-chart/hooks/useXYChartCrosshairHidden.js +16 -0
- package/esm/charts/xy-chart/hooks/useXYChartCrosshairHidden.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/processing-strategies/strategies/area-series.js +1 -1
- package/esm/charts/xy-chart/processing-strategies/strategies/area-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/stackable-series.js +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/stackable-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/utils/cast-data/cast-data-types.js +16 -1
- package/esm/charts/xy-chart/processing-strategies/utils/cast-data/cast-data-types.js.map +2 -2
- package/esm/charts/xy-chart/slots/Select.js.map +2 -2
- package/esm/charts/xy-chart/types/xy-chart-internals.js.map +2 -2
- package/esm/charts/xy-chart/utils/grid-templates.js +6 -2
- package/esm/charts/xy-chart/utils/grid-templates.js.map +2 -2
- package/esm/charts/xy-chart/utils/query-get-closest-point.js +30 -8
- package/esm/charts/xy-chart/utils/query-get-closest-point.js.map +2 -2
- package/esm/charts/xy-chart/utils/query-shared.js +59 -24
- package/esm/charts/xy-chart/utils/query-shared.js.map +2 -2
- package/esm/charts/xy-chart/utils/query-single.js +5 -1
- package/esm/charts/xy-chart/utils/query-single.js.map +2 -2
- package/esm/charts/xy-chart/utils/xy-chart-configuration.js +1 -1
- package/esm/charts/xy-chart/utils/xy-chart-configuration.js.map +2 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/CategoricalBarToXY.js +17 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/CategoricalBarToXY.js.map +2 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/constants.js +5 -0
- package/esm/charts/xy-chart-adoption/categorical-bar/constants.js.map +7 -0
- package/esm/charts/xy-chart-adoption/categorical-bar/utils/map-axes-to-xy.js +3 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/utils/map-axes-to-xy.js.map +2 -2
- package/esm/charts/xy-chart-adoption/histogram/HistogramToXY.js +10 -1
- package/esm/charts/xy-chart-adoption/histogram/HistogramToXY.js.map +2 -2
- package/esm/charts/xy-chart-adoption/histogram/constants.js +5 -0
- package/esm/charts/xy-chart-adoption/histogram/constants.js.map +7 -0
- package/esm/charts/xy-chart-adoption/histogram/transformer-thresholds-to-xy.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +10 -1
- package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/constants.js +2 -0
- package/esm/charts/xy-chart-adoption/timeseries/constants.js.map +2 -2
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries.js.map +2 -2
- package/esm/content/accordion/Accordion.css +14 -14
- package/esm/content/accordion/Accordion.js +8 -1
- package/esm/content/accordion/Accordion.js.map +2 -2
- package/esm/content/accordion/Accordion.sty.js +8 -8
- package/esm/content/accordion/Accordion.sty.js.map +1 -1
- package/esm/content/accordion/AccordionSection.js +7 -4
- package/esm/content/accordion/AccordionSection.js.map +2 -2
- package/esm/content/accordion/AccordionSectionContent.js +2 -2
- package/esm/content/accordion/AccordionSectionContent.js.map +2 -2
- package/esm/content/accordion/AccordionSectionLabel.js +4 -1
- package/esm/content/accordion/AccordionSectionLabel.js.map +2 -2
- package/esm/content/accordion/contexts/AccordionSectionContext.js +1 -0
- package/esm/content/accordion/contexts/AccordionSectionContext.js.map +2 -2
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js.map +1 -1
- package/esm/content/ai-response/AiResponse.css +5 -5
- package/esm/content/ai-response/AiResponse.sty.js +2 -2
- package/esm/content/ai-response/AiResponse.sty.js.map +1 -1
- package/esm/content/avatar/Avatar.css +13 -13
- package/esm/content/avatar/Avatar.sty.js +4 -4
- package/esm/content/avatar/Avatar.sty.js.map +1 -1
- package/esm/content/avatar-group/AvatarGroup.css +3 -3
- package/esm/content/avatar-group/AvatarGroup.sty.js +2 -2
- package/esm/content/avatar-group/AvatarGroup.sty.js.map +1 -1
- package/esm/content/chip/BaseChip.css +40 -40
- package/esm/content/chip/BaseChip.sty.js +5 -5
- package/esm/content/chip/BaseChip.sty.js.map +1 -1
- package/esm/content/chip/ChipContent.css +11 -11
- package/esm/content/chip/ChipContent.sty.js +2 -2
- package/esm/content/chip/ChipContent.sty.js.map +1 -1
- package/esm/content/chip/ChipDeleteButton.css +19 -19
- package/esm/content/chip/ChipDeleteButton.sty.js +4 -4
- package/esm/content/chip/ChipDeleteButton.sty.js.map +1 -1
- package/esm/content/chip/ChipKey.css +6 -6
- package/esm/content/chip/ChipKey.sty.js +1 -1
- package/esm/content/chip/ChipKey.sty.js.map +1 -1
- package/esm/content/chip/GroupedChip.css +3 -3
- package/esm/content/chip/GroupedChip.sty.js +3 -3
- package/esm/content/chip/GroupedChip.sty.js.map +1 -1
- package/esm/content/chip-group/ChipGroup.css +4 -4
- package/esm/content/chip-group/ChipGroup.sty.js +1 -1
- package/esm/content/chip-group/ChipGroup.sty.js.map +1 -1
- package/esm/content/chip-group/Control.css +4 -4
- package/esm/content/chip-group/Control.sty.js +1 -1
- package/esm/content/chip-group/Control.sty.js.map +1 -1
- package/esm/content/code-snippet/CodeHighlight.css +25 -25
- package/esm/content/code-snippet/CodeHighlight.sty.js +6 -6
- package/esm/content/code-snippet/CodeHighlight.sty.js.map +1 -1
- package/esm/content/code-snippet/CodeSnippet.css +18 -18
- package/esm/content/code-snippet/CodeSnippet.js +17 -3
- package/esm/content/code-snippet/CodeSnippet.js.map +2 -2
- package/esm/content/code-snippet/CodeSnippet.sty.js +4 -4
- package/esm/content/code-snippet/CodeSnippet.sty.js.map +1 -1
- package/esm/content/code-snippet/prism-dql-language.js +1 -1
- 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.js +1 -1
- package/esm/content/empty-state/EmptyState.js.map +2 -2
- 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/slot-components/Footer.css +1 -1
- package/esm/content/empty-state/slot-components/Footer.sty.js +1 -1
- package/esm/content/empty-state/slot-components/Footer.sty.js.map +1 -1
- package/esm/content/empty-state/slot-components/Visual.css +3 -3
- package/esm/content/empty-state/slot-components/Visual.sty.js +1 -1
- package/esm/content/empty-state/slot-components/Visual.sty.js.map +1 -1
- package/esm/content/expandable-text/ExpandableText.css +7 -7
- package/esm/content/expandable-text/ExpandableText.sty.js +2 -2
- package/esm/content/expandable-text/ExpandableText.sty.js.map +1 -1
- package/esm/content/feature-highlight/FeatureHighlight.css +12 -12
- package/esm/content/feature-highlight/FeatureHighlight.sty.js +3 -3
- package/esm/content/feature-highlight/FeatureHighlight.sty.js.map +1 -1
- package/esm/content/health-indicator/styles.css +23 -23
- package/esm/content/health-indicator/styles.sty.js +1 -1
- package/esm/content/health-indicator/styles.sty.js.map +1 -1
- package/esm/content/information-overlay/InformationOverlay.css +25 -25
- package/esm/content/information-overlay/InformationOverlay.sty.js +5 -5
- package/esm/content/information-overlay/InformationOverlay.sty.js.map +1 -1
- package/esm/content/keyboard-shortcut/KeyboardShortcut.css +14 -14
- package/esm/content/keyboard-shortcut/KeyboardShortcut.sty.js +2 -2
- package/esm/content/keyboard-shortcut/KeyboardShortcut.sty.js.map +1 -1
- package/esm/content/markdown/Markdown.css +3 -3
- package/esm/content/markdown/Markdown.sty.js +1 -1
- package/esm/content/markdown/Markdown.sty.js.map +1 -1
- package/esm/content/markdown/transformers/typography-mapping.css +9 -9
- package/esm/content/markdown/transformers/typography-mapping.sty.js +6 -6
- package/esm/content/markdown/transformers/typography-mapping.sty.js.map +1 -1
- package/esm/content/message-container/MessageContainer.js +1 -0
- package/esm/content/message-container/MessageContainer.js.map +2 -2
- package/esm/content/microguide/Microguide.css +11 -11
- package/esm/content/microguide/Microguide.sty.js +7 -7
- package/esm/content/microguide/Microguide.sty.js.map +1 -1
- package/esm/content/progress/ProgressBar.css +71 -71
- package/esm/content/progress/ProgressBar.sty.js +5 -5
- package/esm/content/progress/ProgressBar.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarIcon.css +2 -2
- package/esm/content/progress/ProgressBarIcon.sty.js +1 -1
- package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarLabel.css +3 -3
- package/esm/content/progress/ProgressBarLabel.sty.js +1 -1
- package/esm/content/progress/ProgressBarLabel.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarValue.css +5 -5
- package/esm/content/progress/ProgressBarValue.sty.js +1 -1
- package/esm/content/progress/ProgressBarValue.sty.js.map +1 -1
- package/esm/content/progress/ProgressCircle.css +40 -40
- package/esm/content/progress/ProgressCircle.sty.js +5 -5
- package/esm/content/progress/ProgressCircle.sty.js.map +1 -1
- package/esm/content/shared-components/Visual.css +3 -3
- package/esm/content/shared-components/Visual.sty.js +1 -1
- package/esm/content/shared-components/Visual.sty.js.map +1 -1
- package/esm/content/skeleton/Skeleton.css +7 -7
- package/esm/content/skeleton/Skeleton.sty.js +5 -5
- package/esm/content/skeleton/Skeleton.sty.js.map +1 -1
- package/esm/content/terminology-overlay/TerminologyOverlay.css +4 -4
- package/esm/content/terminology-overlay/TerminologyOverlay.sty.js +1 -1
- package/esm/content/terminology-overlay/TerminologyOverlay.sty.js.map +1 -1
- package/esm/core/components/app-root/AppRoot.css +2 -2
- package/esm/core/components/app-root/AppRoot.sty.js +1 -1
- package/esm/core/components/app-root/AppRoot.sty.js.map +1 -1
- package/esm/core/components/focus-scope/FocusScope.js +46 -0
- package/esm/core/components/focus-scope/FocusScope.js.map +2 -2
- 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/sdk/sdk-logger.js +2 -2
- package/esm/core/styles/defaultChartValues.css +1 -1
- package/esm/core/styles/defaultChartValues.sty.js +1 -1
- package/esm/core/styles/defaultChartValues.sty.js.map +1 -1
- package/esm/core/styles/focusRing.css +66 -66
- package/esm/core/styles/focusRing.sty.js +2 -2
- package/esm/core/styles/focusRing.sty.js.map +1 -1
- package/esm/core/styles/focusRingStatic.css +34 -34
- package/esm/core/styles/focusRingStatic.sty.js +1 -1
- package/esm/core/styles/focusRingStatic.sty.js.map +1 -1
- package/esm/core/styles/virtualFocus.css +2 -2
- package/esm/core/styles/virtualFocus.sty.js +1 -1
- package/esm/core/styles/virtualFocus.sty.js.map +1 -1
- package/esm/core/time/validation.js +11 -1
- 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/editors/base-code-editor/BaseCodeEditor.css +140 -142
- package/esm/editors/base-code-editor/BaseCodeEditor.js +3 -2
- package/esm/editors/base-code-editor/BaseCodeEditor.js.map +2 -2
- package/esm/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
- package/esm/editors/base-code-editor/BaseCodeEditor.sty.js.map +1 -1
- package/esm/editors/base-code-editor/configuration/configure-active-line.js +63 -0
- package/esm/editors/base-code-editor/configuration/configure-active-line.js.map +7 -0
- package/esm/editors/base-code-editor/configuration/configure-critical-gutter-lines.js +46 -0
- package/esm/editors/base-code-editor/configuration/configure-critical-gutter-lines.js.map +7 -0
- package/esm/editors/base-code-editor/configuration/configure-lint-gutter.js +6 -3
- package/esm/editors/base-code-editor/configuration/configure-lint-gutter.js.map +2 -2
- package/esm/editors/base-code-editor/configuration/getDefaultConfigurations.js +6 -8
- package/esm/editors/base-code-editor/configuration/getDefaultConfigurations.js.map +2 -2
- package/esm/editors/base-code-editor/utils/format-diagnostics-summary.js +1 -1
- package/esm/editors/base-code-editor/utils/format-diagnostics-summary.js.map +2 -2
- package/esm/editors/dql-editor/DQLEditor.js +2 -0
- package/esm/editors/dql-editor/DQLEditor.js.map +2 -2
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.css +10 -10
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js +5 -5
- package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js.map +1 -1
- package/{editors/dql-editor/dql → esm/editors/dql-editor/autocomplete}/SuggestionsInfoSection.css +7 -7
- package/esm/editors/dql-editor/autocomplete/SuggestionsInfoSection.js.map +7 -0
- package/esm/editors/dql-editor/{dql → autocomplete}/SuggestionsInfoSection.sty.js +3 -3
- package/esm/editors/dql-editor/autocomplete/SuggestionsInfoSection.sty.js.map +7 -0
- package/esm/editors/dql-editor/{dql → autocomplete}/fuzzy-match.js.map +1 -1
- package/esm/editors/dql-editor/{dql → autocomplete}/get-suggestions.js.map +1 -1
- package/esm/editors/dql-editor/{dql → autocomplete}/messages.js +10 -0
- package/esm/editors/dql-editor/{dql → autocomplete}/messages.js.map +3 -3
- package/esm/editors/dql-editor/{dql → autocomplete}/open-autocomplete.js +1 -1
- package/esm/editors/dql-editor/autocomplete/open-autocomplete.js.map +7 -0
- package/esm/editors/dql-editor/{dql → autocomplete}/suggestion-autocompletions.js +32 -4
- package/esm/editors/dql-editor/autocomplete/suggestion-autocompletions.js.map +7 -0
- package/esm/editors/dql-editor/autocomplete/suggestion-popup/DocumentationLink.js +31 -0
- package/esm/editors/dql-editor/autocomplete/suggestion-popup/DocumentationLink.js.map +7 -0
- package/esm/editors/dql-editor/autocomplete/suggestion-popup/SuggestionPart.js +37 -0
- package/esm/editors/dql-editor/autocomplete/suggestion-popup/SuggestionPart.js.map +7 -0
- package/esm/editors/dql-editor/{dql → autocomplete}/suggestions-info-section-extension.js +14 -1
- package/esm/editors/dql-editor/autocomplete/suggestions-info-section-extension.js.map +7 -0
- package/esm/editors/dql-editor/{dql → autocomplete}/token-type-label.js.map +1 -1
- package/esm/editors/dql-editor/dql/dql-language.js +3 -3
- package/esm/editors/dql-editor/dql/dql-language.js.map +1 -1
- package/esm/filters/filter-field/FilterField.css +130 -130
- package/esm/filters/filter-field/FilterField.js +12 -6
- 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 +2 -1
- 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 +14 -14
- package/esm/filters/filter-field/components/FilterStatement.sty.js +7 -7
- package/esm/filters/filter-field/components/FilterStatement.sty.js.map +1 -1
- package/esm/filters/filter-field/messages.js +9 -4
- package/esm/filters/filter-field/messages.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 +3 -1
- package/esm/filters/filter-field/suggestions/Suggestion.js.map +2 -2
- package/esm/filters/filter-field/suggestions/Suggestion.sty.js +16 -16
- package/esm/filters/filter-field/suggestions/Suggestion.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionDetails.css +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionDetails.sty.js +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionDetails.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroup.css +6 -6
- package/esm/filters/filter-field/suggestions/SuggestionGroup.sty.js +3 -3
- package/esm/filters/filter-field/suggestions/SuggestionGroup.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.css +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/SuggestionTips.css +10 -7
- package/esm/filters/filter-field/suggestions/SuggestionTips.js +13 -2
- package/esm/filters/filter-field/suggestions/SuggestionTips.js.map +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js +10 -7
- package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js.map +2 -2
- package/esm/filters/filter-field/suggestions/Suggestions.js +33 -46
- 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.js +11 -0
- package/esm/filters/filter-field/suggestions/SuggestionsOverlay.js.map +2 -2
- 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 +4 -0
- package/esm/filters/filter-field/utils/get-suggestion-transaction.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/get-suggestions.js +10 -2
- package/esm/filters/filter-field/utils/suggestions-utils/get-suggestions.js.map +2 -2
- package/esm/filters/segment-selector/SegmentSelector.css +4 -4
- package/esm/filters/segment-selector/SegmentSelector.js +22 -21
- 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.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 +1 -1
- 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/ShowMorePanel/ShowMorePanel.css +4 -4
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPreset.js +6 -3
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPreset.js.map +2 -2
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +34 -34
- 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 +3 -1
- 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/SelectionBar.js +12 -5
- package/esm/filters/segment-selector/parts/selectionBar/SelectionBar.js.map +2 -2
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js +4 -1
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js.map +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.css +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.sty.js +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js +28 -3
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js.map +2 -2
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
- package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.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.js +2 -0
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.js.map +2 -2
- 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 +1 -1
- 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/trigger/Trigger.css +11 -11
- package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
- package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js.map +1 -1
- package/esm/filters/timeframe-selector/constants/timeframeSelectorMessages.js +2 -2
- package/esm/filters/timeframe-selector/constants/timeframeSelectorMessages.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.css +89 -85
- package/esm/forms/_base-input/BaseInput.js +4 -2
- package/esm/forms/_base-input/BaseInput.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.sty.js +11 -11
- package/esm/forms/_base-input/BaseInput.sty.js.map +1 -1
- package/esm/forms/_base-input/BaseInputContent.css +7 -7
- package/esm/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/esm/forms/_base-input/BaseInputContent.sty.js.map +1 -1
- package/esm/forms/calendar/Calendar.css +48 -48
- package/esm/forms/calendar/Calendar.sty.js +12 -12
- package/esm/forms/calendar/Calendar.sty.js.map +1 -1
- package/esm/forms/calendar/CalendarRoot.js +89 -8
- package/esm/forms/calendar/CalendarRoot.js.map +2 -2
- package/esm/forms/calendar/components/CalendarItem.css +7 -7
- package/esm/forms/calendar/components/CalendarItem.sty.js +4 -4
- package/esm/forms/calendar/components/CalendarItem.sty.js.map +1 -1
- package/esm/forms/calendar/components/CalendarOutlineIcon.css +8 -8
- package/esm/forms/calendar/components/CalendarOutlineIcon.sty.js +5 -5
- package/esm/forms/calendar/components/CalendarOutlineIcon.sty.js.map +1 -1
- package/esm/forms/calendar/variables.sty.js +2 -2
- package/esm/forms/calendar/variables.sty.js.map +1 -1
- package/esm/forms/checkbox/Checkbox.css +20 -20
- package/esm/forms/checkbox/Checkbox.js +2 -3
- package/esm/forms/checkbox/Checkbox.js.map +2 -2
- package/esm/forms/checkbox/Checkbox.sty.js +3 -3
- package/esm/forms/checkbox/Checkbox.sty.js.map +1 -1
- package/esm/forms/date-time-picker/DateTimePicker.css +42 -42
- 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 +65 -2
- package/esm/forms/date-time-picker/DateTimePickerRoot.js.map +2 -2
- package/esm/forms/date-time-range-picker/DateRangeSelector.css +1 -1
- package/esm/forms/date-time-range-picker/DateRangeSelector.sty.js +1 -1
- package/esm/forms/date-time-range-picker/DateRangeSelector.sty.js.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeInput.css +11 -11
- package/esm/forms/date-time-range-picker/DateTimeInput.js +4 -2
- 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.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 +57 -1
- package/esm/forms/date-time-range-picker/DateTimeRangePickerRoot.js.map +2 -2
- package/esm/forms/form/Form.js +4 -2
- package/esm/forms/form/Form.js.map +2 -2
- package/esm/forms/form/FormMessages.js +2 -0
- package/esm/forms/form/FormMessages.js.map +2 -2
- package/esm/forms/form/context/FormContext.js.map +2 -2
- package/esm/forms/form/hooks/useFormRuntimeRegistration.js +2 -1
- package/esm/forms/form/hooks/useFormRuntimeRegistration.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/FormFieldMessageContextProvider.js +17 -2
- package/esm/forms/forms-core/components/form-field/FormFieldMessageContextProvider.js.map +2 -2
- 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.css +3 -3
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.js +3 -2
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.js.map +2 -2
- 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/hint/Hint.js.map +2 -2
- 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/contexts/FormFieldMessageContext.js.map +2 -2
- package/esm/forms/forms-core/hooks/useFormFieldValidation.js +38 -11
- package/esm/forms/forms-core/hooks/useFormFieldValidation.js.map +2 -2
- package/esm/forms/forms-core/state/formfield-messages-state-reducer.js +1 -1
- package/esm/forms/forms-core/state/formfield-messages-state-reducer.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/hooks/useContainerFocus.css +1 -1
- package/esm/forms/hooks/useContainerFocus.sty.js +1 -1
- package/esm/forms/hooks/useContainerFocus.sty.js.map +1 -1
- package/esm/forms/index.js.map +2 -2
- package/esm/forms/radio/styles.css +18 -18
- package/esm/forms/radio/styles.sty.js +8 -8
- package/esm/forms/radio/styles.sty.js.map +1 -1
- package/esm/forms/search-input/SearchInput.css +2 -2
- package/esm/forms/search-input/SearchInput.sty.js +1 -1
- package/esm/forms/search-input/SearchInput.sty.js.map +1 -1
- package/esm/forms/search-input/Stepper.css +5 -5
- package/esm/forms/search-input/Stepper.js +8 -1
- package/esm/forms/search-input/Stepper.js.map +2 -2
- package/esm/forms/search-input/Stepper.sty.js +3 -3
- package/esm/forms/search-input/Stepper.sty.js.map +1 -1
- package/esm/forms/select/Select.js +176 -31
- package/esm/forms/select/Select.js.map +2 -2
- package/esm/forms/select/components/Control.js +10 -1
- package/esm/forms/select/components/Control.js.map +2 -2
- package/esm/forms/select/components/HiddenSelect.js +2 -0
- package/esm/forms/select/components/HiddenSelect.js.map +2 -2
- package/esm/forms/select/components/Menu.js +35 -14
- package/esm/forms/select/components/Menu.js.map +2 -2
- package/esm/forms/select/components/MenuList.js +119 -50
- package/esm/forms/select/components/MenuList.js.map +2 -2
- package/esm/forms/select/components/NoOptionsMessage.js +8 -6
- package/esm/forms/select/components/NoOptionsMessage.js.map +2 -2
- package/esm/forms/select/styles/Select.css +46 -46
- package/esm/forms/select/styles/Select.sty.js +24 -24
- package/esm/forms/select/styles/Select.sty.js.map +1 -1
- package/esm/forms/spin-buttons/SpinButton.css +8 -8
- package/esm/forms/spin-buttons/SpinButton.sty.js +2 -2
- package/esm/forms/spin-buttons/SpinButton.sty.js.map +1 -1
- package/esm/forms/switch/Switch.css +36 -36
- package/esm/forms/switch/Switch.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/ToggleButtonGroup.js +2 -1
- package/esm/forms/toggle-button-group/ToggleButtonGroup.js.map +2 -2
- package/esm/forms/toggle-button-group/styles.css +58 -58
- package/esm/forms/toggle-button-group/styles.sty.js +15 -15
- package/esm/forms/toggle-button-group/styles.sty.js.map +1 -1
- package/esm/forms/validation/validation-builders.js +2 -1
- package/esm/forms/validation/validation-builders.js.map +2 -2
- package/esm/layouts/app-header/ActionItems.js +4 -2
- package/esm/layouts/app-header/ActionItems.js.map +2 -2
- package/esm/layouts/app-header/AppHeader.css +1 -1
- package/esm/layouts/app-header/AppHeader.js +2 -1
- package/esm/layouts/app-header/AppHeader.js.map +2 -2
- 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.js +1 -0
- package/esm/layouts/app-header/action-group/ActionGroup.js.map +2 -2
- 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.js.map +2 -2
- 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 +62 -62
- 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 +35 -35
- 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 +19 -19
- package/esm/layouts/page/panel.sty.js +10 -10
- package/esm/layouts/page/panel.sty.js.map +1 -1
- package/esm/layouts/page-layout/PageLayout.css +10 -10
- package/esm/layouts/page-layout/PageLayout.sty.js +6 -6
- package/esm/layouts/page-layout/PageLayout.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.js +1 -1
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.js.map +2 -2
- 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 +18 -18
- 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 +37 -37
- package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +14 -14
- package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js.map +1 -1
- package/esm/layouts/split-layout/SplitLayout.css +19 -19
- 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.js +1 -1
- package/esm/layouts/title-bar/TitleBar.js.map +2 -2
- 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 +3 -2
- package/esm/navigation/menu/Content.js.map +2 -2
- package/esm/navigation/menu/Item.js +1 -0
- package/esm/navigation/menu/Item.js.map +2 -2
- package/esm/navigation/menu/Menu.css +17 -17
- package/esm/navigation/menu/Menu.js +5 -2
- 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/MobileContent.js +2 -0
- package/esm/navigation/menu/MobileContent.js.map +2 -2
- package/esm/navigation/menu/MobileMenu.css +14 -14
- package/esm/navigation/menu/MobileMenu.sty.js +8 -8
- package/esm/navigation/menu/MobileMenu.sty.js.map +1 -1
- package/esm/navigation/menu/Trigger.js +2 -1
- package/esm/navigation/menu/Trigger.js.map +2 -2
- package/esm/navigation/menu/contexts/MenuContext.js +2 -1
- package/esm/navigation/menu/contexts/MenuContext.js.map +2 -2
- 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 +6 -6
- package/esm/notifications/toast/Toast.sty.js +4 -4
- package/esm/notifications/toast/Toast.sty.js.map +1 -1
- package/esm/notifications/toast/ToastContainer.css +17 -17
- package/esm/notifications/toast/ToastContainer.sty.js +1 -1
- package/esm/notifications/toast/ToastContainer.sty.js.map +1 -1
- package/esm/overlays/drawer/Drawer.css +9 -9
- package/esm/overlays/drawer/Drawer.js.map +2 -2
- package/esm/overlays/drawer/Drawer.sty.js +5 -5
- package/esm/overlays/drawer/Drawer.sty.js.map +1 -1
- package/esm/overlays/hooks/useOverlayWithTrigger.js +10 -4
- package/esm/overlays/hooks/useOverlayWithTrigger.js.map +2 -2
- package/esm/overlays/modal/BaseModal.js +2 -5
- package/esm/overlays/modal/BaseModal.js.map +2 -2
- package/esm/overlays/modal/Modal.css +17 -16
- package/esm/overlays/modal/Modal.sty.js +9 -7
- package/esm/overlays/modal/Modal.sty.js.map +2 -2
- package/esm/overlays/overlay/Overlay.css +1 -1
- package/esm/overlays/overlay/Overlay.sty.js +1 -1
- package/esm/overlays/overlay/Overlay.sty.js.map +1 -1
- package/esm/overlays/sheet/Sheet.css +7 -7
- 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 +256 -256
- package/esm/styles/field.sty.js +2 -2
- package/esm/styles/field.sty.js.map +1 -1
- package/esm/styles/screen-reader-only.css +1 -1
- package/esm/styles/screen-reader-only.sty.js +1 -1
- package/esm/styles/screen-reader-only.sty.js.map +1 -1
- package/esm/styles/sprinkles.css +262 -262
- package/esm/styles/sprinkles.sty.js +1 -1
- package/esm/styles/sprinkles.sty.js.map +1 -1
- package/esm/styles/textStyle.css +8 -8
- package/esm/styles/textStyle.sty.js +1 -1
- package/esm/styles/textStyle.sty.js.map +1 -1
- package/esm/tables/DataTable/DataTable.css +2 -2
- package/esm/tables/DataTable/DataTable.js +2 -0
- package/esm/tables/DataTable/DataTable.js.map +2 -2
- package/esm/tables/DataTable/DataTable.sty.js +7 -7
- package/esm/tables/DataTable/DataTable.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Alignment.css +6 -6
- package/esm/tables/DataTable/components/Alignment.sty.js +2 -2
- package/esm/tables/DataTable/components/Alignment.sty.js.map +1 -1
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.css +6 -6
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableBody.css +2 -2
- package/esm/tables/DataTable/components/DataTableBody.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableBody.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableCell.css +83 -83
- package/esm/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/esm/tables/DataTable/components/DataTableCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableDefaultCell.css +23 -23
- package/esm/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableDefaultCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableEmptyState.css +6 -6
- package/esm/tables/DataTable/components/DataTableEmptyState.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableEmptyState.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableHeader.css +2 -2
- package/esm/tables/DataTable/components/DataTableHeader.js +1 -1
- package/esm/tables/DataTable/components/DataTableHeader.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableHeader.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableHeader.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableHeaderCell.css +64 -64
- package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
- package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableRow.css +13 -13
- package/esm/tables/DataTable/components/DataTableRow.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableRow.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableScrollShadow.css +10 -10
- package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.css +21 -21
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js.map +1 -1
- package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.css +3 -3
- package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.sty.js +2 -2
- package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.sty.js.map +1 -1
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.css +5 -5
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js +2 -2
- package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.css +7 -7
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.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/DataTableAllColumnsHiddenEmptyState.css +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableAllColumnsHiddenEmptyState.sty.js +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableAllColumnsHiddenEmptyState.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettings.js +1 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettings.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +19 -19
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js +6 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +11 -11
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +8 -8
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.css +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.sty.js +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableNoFilterResultsEmptyState.css +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableNoFilterResultsEmptyState.sty.js +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableNoFilterResultsEmptyState.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.css +4 -4
- 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/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/ColumnOrder/ColumnOrderDragAndDropContext.js +5 -1
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrderDragAndDropContext.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js.map +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js.map +1 -1
- package/esm/tables/DataTable/features/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 +3 -3
- package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js +3 -3
- package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js.map +1 -1
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.css +5 -5
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.sty.js +2 -2
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.sty.js.map +1 -1
- package/esm/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
- package/esm/tables/DataTable/features/RowDetails/RowDetails.sty.js +3 -3
- package/esm/tables/DataTable/features/RowDetails/RowDetails.sty.js.map +1 -1
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.css +17 -17
- 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/RowInteractivity/hooks/useRowInteractivityProps.js +4 -0
- package/esm/tables/DataTable/features/RowInteractivity/hooks/useRowInteractivityProps.js.map +2 -2
- 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/RowSelection/RowSelectionAnnouncement.js +26 -0
- package/esm/tables/DataTable/features/RowSelection/RowSelectionAnnouncement.js.map +7 -0
- 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/InlineUserActionsMenu.js +45 -1
- package/esm/tables/DataTable/features/UserActions/InlineUserActionsMenu.js.map +2 -2
- package/esm/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/esm/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/esm/tables/DataTable/features/UserActions/RowActions.sty.js.map +1 -1
- package/esm/tables/DataTable/features/UserActions/RowActionsColumnDef.js +10 -1
- package/esm/tables/DataTable/features/UserActions/RowActionsColumnDef.js.map +2 -2
- package/esm/tables/DataTable/features/UserActions/UserActions.css +32 -22
- package/esm/tables/DataTable/features/UserActions/UserActions.sty.js +3 -2
- package/esm/tables/DataTable/features/UserActions/UserActions.sty.js.map +2 -2
- package/esm/tables/DataTable/hooks/useHeaderDragAndDrop.js +3 -0
- package/esm/tables/DataTable/hooks/useHeaderDragAndDrop.js.map +2 -2
- package/esm/tables/DataTable/messages.js +29 -14
- package/esm/tables/DataTable/messages.js.map +2 -2
- package/esm/tables/SimpleTable/SimpleTable.css +27 -27
- package/esm/tables/SimpleTable/SimpleTable.sty.js +1 -1
- package/esm/tables/SimpleTable/SimpleTable.sty.js.map +1 -1
- package/esm/typography/block-quote/Blockquote.css +2 -2
- package/esm/typography/block-quote/Blockquote.sty.js +1 -1
- package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
- package/esm/typography/code/Code.css +1 -1
- package/esm/typography/code/Code.sty.js +1 -1
- package/esm/typography/code/Code.sty.js.map +1 -1
- package/esm/typography/emphasis/Emphasis.css +1 -1
- package/esm/typography/emphasis/Emphasis.sty.js +1 -1
- package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
- package/esm/typography/external-link/ExternalLink.css +6 -6
- package/esm/typography/external-link/ExternalLink.js.map +2 -2
- package/esm/typography/external-link/ExternalLink.sty.js +1 -1
- package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
- package/esm/typography/heading/Heading.css +7 -7
- package/esm/typography/heading/Heading.sty.js +1 -1
- package/esm/typography/heading/Heading.sty.js.map +1 -1
- package/esm/typography/highlight/Highlight.css +2 -2
- package/esm/typography/highlight/Highlight.sty.js +1 -1
- package/esm/typography/highlight/Highlight.sty.js.map +1 -1
- package/esm/typography/link/Link.css +4 -4
- package/esm/typography/link/Link.sty.js +1 -1
- package/esm/typography/link/Link.sty.js.map +1 -1
- package/esm/typography/list/List.css +4 -4
- package/esm/typography/list/List.sty.js +2 -2
- package/esm/typography/list/List.sty.js.map +1 -1
- package/esm/typography/paragraph/Paragraph.css +3 -3
- package/esm/typography/paragraph/Paragraph.sty.js +1 -1
- package/esm/typography/paragraph/Paragraph.sty.js.map +1 -1
- package/esm/typography/strikethrough/Strikethrough.css +1 -1
- package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
- package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
- package/esm/typography/strong/Strong.css +1 -1
- package/esm/typography/strong/Strong.sty.js +1 -1
- package/esm/typography/strong/Strong.sty.js.map +1 -1
- package/esm/typography/text/Text.css +3 -3
- package/esm/typography/text/Text.sty.js +1 -1
- package/esm/typography/text/Text.sty.js.map +1 -1
- package/esm/typography/text-ellipsis/TextEllipsis.css +6 -6
- package/esm/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
- package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +1 -1
- package/filters/filter-field/FilterField.css +130 -130
- package/filters/filter-field/FilterField.js +12 -6
- 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 +2 -1
- package/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
- package/filters/filter-field/components/FilterStatement.css +14 -14
- package/filters/filter-field/components/FilterStatement.sty.js +7 -7
- package/filters/filter-field/messages.d.ts +5 -0
- package/filters/filter-field/messages.js +9 -4
- 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 +3 -1
- package/filters/filter-field/suggestions/Suggestion.sty.js +16 -16
- package/filters/filter-field/suggestions/SuggestionDetails.css +2 -2
- package/filters/filter-field/suggestions/SuggestionDetails.sty.js +2 -2
- package/filters/filter-field/suggestions/SuggestionGroup.css +6 -6
- package/filters/filter-field/suggestions/SuggestionGroup.sty.js +3 -3
- package/filters/filter-field/suggestions/SuggestionGroupLabel.css +1 -1
- package/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js +1 -1
- package/filters/filter-field/suggestions/SuggestionTips.css +10 -7
- package/filters/filter-field/suggestions/SuggestionTips.css.d.ts +2 -1
- package/filters/filter-field/suggestions/SuggestionTips.js +13 -2
- package/filters/filter-field/suggestions/SuggestionTips.sty.js +10 -7
- package/filters/filter-field/suggestions/Suggestions.js +33 -46
- package/filters/filter-field/suggestions/SuggestionsOverlay.css +7 -7
- package/filters/filter-field/suggestions/SuggestionsOverlay.js +11 -0
- package/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
- package/filters/filter-field/utils/get-suggestion-transaction.js +4 -0
- package/filters/filter-field/utils/suggestions-utils/get-suggestions.d.ts +8 -0
- package/filters/filter-field/utils/suggestions-utils/get-suggestions.js +10 -2
- package/filters/segment-selector/SegmentSelector.css +4 -4
- package/filters/segment-selector/SegmentSelector.d.ts +1 -1
- package/filters/segment-selector/SegmentSelector.js +22 -21
- package/filters/segment-selector/SegmentSelector.sty.js +4 -4
- package/filters/segment-selector/SegmentSelector.types.d.ts +1 -1
- package/filters/segment-selector/parts/EmptySegments.css +1 -1
- package/filters/segment-selector/parts/EmptySegments.sty.js +1 -1
- package/filters/segment-selector/parts/Overlay.css +8 -8
- package/filters/segment-selector/parts/Overlay.js +1 -1
- package/filters/segment-selector/parts/Overlay.sty.js +8 -8
- package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
- package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
- package/filters/segment-selector/parts/segmentsPresets/SegmentsPreset.js +6 -3
- package/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +34 -34
- 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.d.ts +1 -0
- package/filters/segment-selector/parts/selectionBar/SegmentSelect.js +3 -1
- package/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js +7 -7
- package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
- package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
- package/filters/segment-selector/parts/selectionBar/SelectionBar.d.ts +2 -1
- package/filters/segment-selector/parts/selectionBar/SelectionBar.js +12 -5
- package/filters/segment-selector/parts/selectionBar/ValueSelect.d.ts +1 -0
- package/filters/segment-selector/parts/selectionBar/ValueSelect.js +4 -1
- package/filters/timeframe-selector/TimeframeSelector.css +2 -2
- package/filters/timeframe-selector/TimeframeSelector.sty.js +2 -2
- package/filters/timeframe-selector/TimeframeSelector.types.d.ts +1 -1
- package/filters/timeframe-selector/TimeframeSelectorRoot.js +24 -2
- package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
- 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.d.ts +2 -0
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.js +2 -0
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js +4 -4
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js +1 -1
- 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/trigger/Trigger.css +11 -11
- package/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
- package/filters/timeframe-selector/constants/timeframeSelectorMessages.js +2 -2
- package/forms/_base-input/BaseInput.css +89 -85
- package/forms/_base-input/BaseInput.js +4 -2
- package/forms/_base-input/BaseInput.sty.js +11 -11
- package/forms/_base-input/BaseInputContent.css +7 -7
- package/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/forms/calendar/Calendar.css +48 -48
- package/forms/calendar/Calendar.sty.js +12 -12
- package/forms/calendar/Calendar.types.d.ts +13 -0
- package/forms/calendar/CalendarRoot.d.ts +15 -2
- package/forms/calendar/CalendarRoot.js +86 -5
- package/forms/calendar/components/CalendarItem.css +7 -7
- package/forms/calendar/components/CalendarItem.sty.js +4 -4
- package/forms/calendar/components/CalendarOutlineIcon.css +8 -8
- package/forms/calendar/components/CalendarOutlineIcon.sty.js +5 -5
- package/forms/calendar/variables.sty.js +2 -2
- package/forms/checkbox/Checkbox.css +20 -20
- package/forms/checkbox/Checkbox.js +2 -3
- package/forms/checkbox/Checkbox.sty.js +3 -3
- package/forms/date-time-picker/DateTimePicker.css +42 -42
- package/forms/date-time-picker/DateTimePicker.sty.js +6 -6
- package/forms/date-time-picker/DateTimePickerRoot.js +65 -2
- package/forms/date-time-picker/types.d.ts +13 -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 -2
- 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.sty.js +4 -4
- package/forms/date-time-range-picker/DateTimeRangePickerRoot.js +57 -1
- package/forms/date-time-range-picker/types.d.ts +20 -0
- package/forms/form/Form.js +4 -2
- package/forms/form/FormMessages.js +2 -0
- package/forms/form/context/FormContext.d.ts +2 -0
- package/forms/form/hooks/useFormRuntimeRegistration.js +2 -1
- 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/FormFieldMessageContextProvider.js +16 -2
- 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.css +3 -3
- package/forms/forms-core/components/form-field-messages/FormFieldMessages.d.ts +3 -2
- package/forms/forms-core/components/form-field-messages/FormFieldMessages.js +3 -2
- package/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js +1 -1
- package/forms/forms-core/components/hint/Hint.d.ts +2 -0
- 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/contexts/FormFieldMessageContext.d.ts +3 -0
- package/forms/forms-core/hooks/useFormFieldValidation.js +38 -11
- package/forms/forms-core/state/formfield-messages-state-reducer.js +1 -1
- package/forms/hooks/useAutofillEvent.css +8 -8
- package/forms/hooks/useAutofillEvent.sty.js +4 -4
- package/forms/hooks/useContainerFocus.css +1 -1
- package/forms/hooks/useContainerFocus.sty.js +1 -1
- package/forms/radio/styles.css +18 -18
- package/forms/radio/styles.sty.js +8 -8
- package/forms/search-input/SearchInput.css +2 -2
- package/forms/search-input/SearchInput.sty.js +1 -1
- package/forms/search-input/Stepper.css +5 -5
- package/forms/search-input/Stepper.js +8 -1
- package/forms/search-input/Stepper.sty.js +3 -3
- package/forms/select/Select.d.ts +12 -6
- package/forms/select/Select.js +176 -31
- package/forms/select/components/Control.js +10 -1
- package/forms/select/components/HiddenSelect.d.ts +1 -0
- package/forms/select/components/HiddenSelect.js +2 -0
- package/forms/select/components/Menu.js +35 -14
- package/forms/select/components/MenuList.js +117 -48
- package/forms/select/components/NoOptionsMessage.d.ts +2 -0
- package/forms/select/components/NoOptionsMessage.js +8 -6
- package/forms/select/styles/Select.css +46 -46
- package/forms/select/styles/Select.sty.js +24 -24
- package/forms/spin-buttons/SpinButton.css +8 -8
- package/forms/spin-buttons/SpinButton.sty.js +2 -2
- package/forms/switch/Switch.css +36 -36
- package/forms/switch/Switch.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/ToggleButtonGroup.js +2 -1
- package/forms/toggle-button-group/styles.css +58 -58
- package/forms/toggle-button-group/styles.sty.js +15 -15
- package/forms/validation/validation-builders.js +2 -1
- package/lang/en.json +508 -274
- package/lang/ja.json +473 -249
- package/lang/uncompiled/en.json +146 -74
- package/lang/uncompiled/ja.json +100 -55
- package/layouts/app-header/ActionItems.js +4 -2
- package/layouts/app-header/AppHeader.css +1 -1
- package/layouts/app-header/AppHeader.js +2 -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.js +1 -0
- 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.d.ts +7 -0
- package/layouts/divider/Divider.sty.js +1 -1
- package/layouts/input-group/InputGroup.css +62 -62
- package/layouts/input-group/InputGroup.sty.js +1 -1
- package/layouts/page/DetailView.css +3 -3
- package/layouts/page/DetailView.sty.js +2 -2
- package/layouts/page/Header.css +2 -2
- package/layouts/page/Header.sty.js +1 -1
- package/layouts/page/Main.css +6 -6
- package/layouts/page/Main.sty.js +4 -4
- package/layouts/page/Page.css +2 -2
- package/layouts/page/Page.sty.js +1 -1
- package/layouts/page/Sidebar.css +35 -35
- package/layouts/page/Sidebar.sty.js +8 -8
- package/layouts/page/panel.css +19 -19
- package/layouts/page/panel.sty.js +10 -10
- package/layouts/page-layout/PageLayout.css +10 -10
- package/layouts/page-layout/PageLayout.sty.js +6 -6
- package/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
- package/layouts/page-layout/details-layout/DetailsControlBar.js +1 -1
- 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 +18 -18
- package/layouts/page-layout/details-layout/Overlay.sty.js +4 -4
- package/layouts/page-layout/sidebar-layout/SidebarLayout.css +37 -37
- package/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +14 -14
- package/layouts/split-layout/SplitLayout.css +19 -19
- 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.js +1 -1
- 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 +3 -2
- package/navigation/menu/Item.js +1 -0
- package/navigation/menu/Menu.css +17 -17
- package/navigation/menu/Menu.js +5 -2
- package/navigation/menu/Menu.sty.js +8 -8
- package/navigation/menu/MobileContent.d.ts +6 -1
- package/navigation/menu/MobileContent.js +2 -0
- package/navigation/menu/MobileMenu.css +14 -14
- package/navigation/menu/MobileMenu.sty.js +8 -8
- package/navigation/menu/Trigger.js +2 -1
- package/navigation/menu/contexts/MenuContext.d.ts +1 -0
- package/navigation/menu/contexts/MenuContext.js +2 -1
- 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 +6 -6
- package/notifications/toast/Toast.sty.js +4 -4
- package/notifications/toast/ToastContainer.css +17 -17
- package/notifications/toast/ToastContainer.sty.js +1 -1
- package/overlays/drawer/Drawer.css +9 -9
- package/overlays/drawer/Drawer.d.ts +3 -2
- package/overlays/drawer/Drawer.sty.js +5 -5
- package/overlays/hooks/useOverlayWithTrigger.js +10 -4
- package/overlays/modal/BaseModal.js +2 -5
- package/overlays/modal/Modal.css +17 -16
- package/overlays/modal/Modal.css.d.ts +7 -0
- package/overlays/modal/Modal.sty.js +9 -7
- package/overlays/overlay/Overlay.css +1 -1
- package/overlays/overlay/Overlay.sty.js +1 -1
- package/overlays/sheet/Sheet.css +7 -7
- 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 +2 -3
- 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 +256 -256
- package/styles/field.sty.js +2 -2
- package/styles/screen-reader-only.css +1 -1
- package/styles/screen-reader-only.sty.js +1 -1
- package/styles/sprinkles.css +262 -262
- package/styles/sprinkles.sty.js +1 -1
- package/styles/textStyle.css +8 -8
- package/styles/textStyle.sty.js +1 -1
- package/tables/DataTable/DataTable.css +2 -2
- package/tables/DataTable/DataTable.js +2 -0
- package/tables/DataTable/DataTable.sty.js +7 -7
- package/tables/DataTable/components/Alignment.css +6 -6
- package/tables/DataTable/components/Alignment.sty.js +2 -2
- package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.css +6 -6
- package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
- package/tables/DataTable/components/DataTableBody.css +2 -2
- package/tables/DataTable/components/DataTableBody.sty.js +2 -2
- package/tables/DataTable/components/DataTableCell.css +83 -83
- package/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/tables/DataTable/components/DataTableDefaultCell.css +23 -23
- package/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
- package/tables/DataTable/components/DataTableEmptyState.css +6 -6
- package/tables/DataTable/components/DataTableEmptyState.sty.js +2 -2
- package/tables/DataTable/components/DataTableHeader.css +2 -2
- package/tables/DataTable/components/DataTableHeader.js +1 -1
- package/tables/DataTable/components/DataTableHeader.sty.js +2 -2
- package/tables/DataTable/components/DataTableHeaderCell.css +64 -64
- package/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
- package/tables/DataTable/components/DataTableRow.css +13 -13
- package/tables/DataTable/components/DataTableRow.sty.js +1 -1
- package/tables/DataTable/components/DataTableScrollShadow.css +10 -10
- package/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
- package/tables/DataTable/components/DataTableVirtualizationContainer.css +21 -21
- package/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
- package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.css +3 -3
- package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.sty.js +2 -2
- 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/DataTableAllColumnsHiddenEmptyState.css +1 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableAllColumnsHiddenEmptyState.sty.js +1 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettings.js +1 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +19 -19
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js +6 -2
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +2 -2
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +11 -11
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +8 -8
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.css +2 -2
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.sty.js +2 -2
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableNoFilterResultsEmptyState.css +1 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableNoFilterResultsEmptyState.sty.js +1 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.css +4 -4
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
- 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/ColumnOrder/ColumnOrderDragAndDropContext.js +5 -1
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
- package/tables/DataTable/features/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 +3 -3
- package/tables/DataTable/features/LoadingState/LoadingState.sty.js +3 -3
- package/tables/DataTable/features/MeterBarChart/MeterBarChart.css +5 -5
- package/tables/DataTable/features/MeterBarChart/MeterBarChart.sty.js +2 -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 +17 -17
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js +1 -1
- package/tables/DataTable/features/RowInteractivity/hooks/useRowInteractivityProps.js +4 -0
- package/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
- package/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
- package/tables/DataTable/features/RowSelection/RowSelectionAnnouncement.d.ts +8 -0
- package/tables/DataTable/features/RowSelection/RowSelectionAnnouncement.js +44 -0
- package/tables/DataTable/features/Sorting/Sorting.css +34 -34
- package/tables/DataTable/features/Sorting/Sorting.sty.js +3 -3
- package/tables/DataTable/features/SubRows/SubRows.css +19 -19
- package/tables/DataTable/features/SubRows/SubRows.sty.js +5 -5
- package/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
- package/tables/DataTable/features/Thresholds/Thresholds.sty.js +3 -3
- package/tables/DataTable/features/UserActions/InlineUserActionsMenu.js +43 -1
- package/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/tables/DataTable/features/UserActions/RowActionsColumnDef.js +10 -1
- package/tables/DataTable/features/UserActions/UserActions.css +32 -22
- package/tables/DataTable/features/UserActions/UserActions.sty.js +3 -2
- package/tables/DataTable/hooks/useHeaderDragAndDrop.d.ts +2 -2
- package/tables/DataTable/hooks/useHeaderDragAndDrop.js +3 -0
- package/tables/DataTable/messages.d.ts +15 -0
- package/tables/DataTable/messages.js +29 -14
- package/tables/SimpleTable/SimpleTable.css +27 -27
- package/tables/SimpleTable/SimpleTable.sty.js +1 -1
- 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.d.ts +3 -1
- 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.sty.js +2 -2
- package/editors/dql-editor/dql/DocumentationLink.d.ts +0 -13
- package/editors/dql-editor/dql/SuggestionPart.css +0 -4
- package/editors/dql-editor/dql/SuggestionPart.css.d.ts +0 -2
- package/editors/dql-editor/dql/SuggestionPart.d.ts +0 -7
- package/editors/dql-editor/dql/SuggestionPart.js +0 -50
- package/editors/dql-editor/dql/SuggestionsInfoSection.d.ts +0 -2
- package/editors/dql-editor/dql/suggestion-autocompletions.d.ts +0 -10
- package/esm/editors/dql-editor/dql/DocumentationLink.js +0 -27
- package/esm/editors/dql-editor/dql/DocumentationLink.js.map +0 -7
- package/esm/editors/dql-editor/dql/SuggestionPart.css +0 -4
- package/esm/editors/dql-editor/dql/SuggestionPart.js +0 -32
- package/esm/editors/dql-editor/dql/SuggestionPart.js.map +0 -7
- package/esm/editors/dql-editor/dql/SuggestionPart.sty.js +0 -6
- package/esm/editors/dql-editor/dql/SuggestionPart.sty.js.map +0 -7
- package/esm/editors/dql-editor/dql/SuggestionsInfoSection.js.map +0 -7
- package/esm/editors/dql-editor/dql/SuggestionsInfoSection.sty.js.map +0 -7
- package/esm/editors/dql-editor/dql/open-autocomplete.js.map +0 -7
- package/esm/editors/dql-editor/dql/suggestion-autocompletions.js.map +0 -7
- package/esm/editors/dql-editor/dql/suggestions-info-section-extension.js.map +0 -7
- /package/editors/dql-editor/{dql → autocomplete}/SuggestionsInfoSection.css.d.ts +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/SuggestionsInfoSection.js +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/fuzzy-match.d.ts +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/fuzzy-match.js +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/get-suggestions.d.ts +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/get-suggestions.js +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/open-autocomplete.d.ts +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/suggestions-info-section-extension.d.ts +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/token-type-label.d.ts +0 -0
- /package/editors/dql-editor/{dql → autocomplete}/token-type-label.js +0 -0
- /package/esm/editors/dql-editor/{dql → autocomplete}/SuggestionsInfoSection.js +0 -0
- /package/esm/editors/dql-editor/{dql → autocomplete}/fuzzy-match.js +0 -0
- /package/esm/editors/dql-editor/{dql → autocomplete}/get-suggestions.js +0 -0
- /package/esm/editors/dql-editor/{dql → autocomplete}/token-type-label.js +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/filters/filter-field/suggestions/Suggestions.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { Modifier, ModifierArguments } from '@popperjs/core';\nimport { useVirtualizer, type Virtualizer } from '@tanstack/react-virtual';\nimport clsx from 'clsx';\nimport { motion, type Variants } from 'framer-motion';\nimport {\n Children,\n cloneElement,\n isValidElement,\n type ReactNode,\n useMemo,\n useRef,\n} from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\n\nimport { usePopper } from '../../../overlays/utils/use-popper-compat.js';\nimport useOverlayTransition from '../hooks/useOverlayTransition.js';\nimport {\n sliceFlattenedSuggestions,\n useShowMore,\n} from '../hooks/useShowMore.js';\nimport { filterFieldMessages } from '../messages.js';\nimport { AriaLiveInfo } from './AriaLiveInfo.js';\nimport { FallbackKeySuggestionGroup } from './FallbackKeySuggestions.js';\nimport { LogicalOperatorSuggestionsGroup } from './LogicalOperatorSuggestions.js';\nimport { PastedContentSuggestionGroup } from './PastedContentSuggestions.js';\nimport {\n PinnedSuggestionGroup,\n RecentSuggestionGroup,\n} from './RecentPinnedSuggestionItem.js';\nimport { SearchSuggestionGroup } from './SearchSuggestions.js';\nimport * as suggestionStyles from './Suggestion.sty.js';\nimport { Suggestion } from './Suggestion.js';\nimport type { FlattenedSuggestionItem } from './Suggestion.types.js';\nimport * as suggestionGroupStyles from './SuggestionGroup.sty.js';\nimport { SuggestionGroupLabel } from './SuggestionGroupLabel.js';\nimport * as styles from './SuggestionsOverlay.sty.js';\nimport { Button, ButtonProps } from '../../../buttons/button/Button.js';\nimport { ProgressCircle } from '../../../content/progress/ProgressCircle.js';\nimport { VisuallyHidden } from '../../../core/components/visually-hidden/VisuallyHidden.js';\nimport { useBehavioralTrackingProps } from '../../../core/hooks/useBehavioralTrackingProps.js';\nimport type { BehaviorTrackingProps } from '../../../core/types/behavior-tracking-props.js';\nimport type { DataTestId } from '../../../core/types/data-props.js';\nimport type { StylingProps } from '../../../core/types/styling-props.js';\nimport type { WithChildren } from '../../../core/types/with-children.js';\nimport { Flex } from '../../../layouts/flex/Flex.js';\nimport { Surface } from '../../../layouts/surface/Surface.js';\nimport { CSSHighlight } from '../components/CSSHighlight.js';\nimport { useFilterFieldContext } from '../hooks/useFilterFieldContext.js';\nimport { flattenSuggestions } from '../utils/suggestions-utils/flatten-suggestions.js';\n\n/**\n * Converts a groupId to a valid HTML id attribute value safe for use in aria-describedby.\n * HTML ids must not contain spaces (space is the delimiter in aria-describedby token lists).\n */\nfunction toGroupLabelId(groupId: string): string {\n return `group-label-${groupId.replace(/\\s+/g, '-')}`;\n}\n\nfunction renderFlattenedSuggestionItem(\n flatItem: FlattenedSuggestionItem,\n trailing: string | undefined,\n): { child: ReactNode; key: string } {\n switch (flatItem.kind) {\n case 'group-header': {\n let child: ReactNode;\n\n if (isValidElement(flatItem.label)) {\n child = flatItem.label;\n } else if (flatItem.label) {\n child = <SuggestionGroupLabel>{flatItem.label}</SuggestionGroupLabel>;\n } else {\n child = null;\n }\n\n return {\n child: (\n <div\n className={suggestionGroupStyles.groupHeaderSeparator}\n role=\"presentation\"\n >\n {child}\n </div>\n ),\n key: `group-header-${flatItem.groupId}`,\n };\n }\n case 'suggestion': {\n const ariaDescribedBy = flatItem.groupId\n ? toGroupLabelId(flatItem.groupId)\n : undefined;\n\n return {\n child: (\n <Suggestion\n {...flatItem.data}\n trailing={flatItem.data.trailing ?? trailing}\n aria-describedby={ariaDescribedBy}\n />\n ),\n key: `${flatItem.data.value ?? flatItem.data.displayValue ?? ''}`,\n };\n }\n case 'react-node': {\n const groupLabelId = flatItem.groupId\n ? toGroupLabelId(flatItem.groupId)\n : undefined;\n let child = flatItem.node;\n let key = '';\n\n if (\n isValidElement<{\n 'aria-describedby'?: string;\n }>(flatItem.node) &&\n groupLabelId\n ) {\n // Merge with any existing aria-describedby from the consumer element.\n const existing =\n (flatItem.node.props as Record<string, unknown>)[\n 'aria-describedby'\n ] ?? '';\n const merged = existing ? `${existing} ${groupLabelId}` : groupLabelId;\n\n child = cloneElement(flatItem.node, {\n 'aria-describedby': merged,\n });\n key = `react-node-${flatItem.node.key}`;\n }\n\n return { child, key };\n }\n }\n}\n\nfunction SuggestionContent(\n props: Readonly<{\n optionVirtualizer: Virtualizer<HTMLDivElement, Element>;\n flattenedSuggestions: FlattenedSuggestionItem[];\n isSliced: boolean;\n controlProps: ButtonProps<'button'>;\n }>,\n) {\n const { optionVirtualizer, flattenedSuggestions, isSliced, controlProps } =\n props;\n\n const intl = useIntl();\n const {\n term,\n editorView,\n autoSuggestions,\n recentSuggestionValues,\n pinnedSuggestionValues,\n logicalOperatorSuggestionValues,\n pastedContentSuggestionValues,\n searchSuggestionValues,\n fallbackKeySuggestionValues,\n statementSuggestionValues,\n filterFieldId,\n parserConfig,\n isValidSearch,\n } = useFilterFieldContext();\n\n const { trailing } = autoSuggestions;\n\n const showLogicalOperators = logicalOperatorSuggestionValues.length > 0;\n const showRecents = recentSuggestionValues.length > 0;\n const showPinned = pinnedSuggestionValues.length > 0;\n const showFallbackKeySuggestions = fallbackKeySuggestionValues.length > 0;\n const showStatementSuggestions = statementSuggestionValues.length > 0;\n const showSearchSuggestions =\n isValidSearch?.current &&\n searchSuggestionValues.length > 0 &&\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n (parserConfig?.searchConversion ?? false);\n const showPastedContentSuggestions = pastedContentSuggestionValues.length > 0;\n\n const showBuiltInSuggestions =\n showRecents ||\n showPinned ||\n showLogicalOperators ||\n showPastedContentSuggestions ||\n showSearchSuggestions ||\n showFallbackKeySuggestions ||\n showStatementSuggestions;\n\n const isEmpty = editorView?.state.doc.toString() === '';\n const childrenCount = flattenedSuggestions.length;\n\n if (childrenCount === 0 && !showBuiltInSuggestions) {\n return (\n <Suggestion\n trailing=\"\"\n displayValue={intl.formatMessage(\n filterFieldMessages.suggestions.noSuggestions,\n )}\n />\n );\n }\n return (\n <div id={`suggestions-${filterFieldId}`}>\n {childrenCount > 0 ? (\n <CSSHighlight\n term={term ?? ''}\n // Two highlight targets: the primary value text and any details\n // element flagged matchable (see `matchableSuggestionDetails` in\n // Suggestion.css.ts). `:not(:has(mark))` keeps the highlight off\n // elements that already contain a hand-rendered <mark>.\n selector={`.${suggestionStyles.value}:not(:has(mark)), .${suggestionStyles.matchableSuggestionDetails}:not(:has(mark))`}\n highlightName=\"filterfield-suggestions-highlight\"\n >\n <div\n style={{\n width: '100%',\n position: 'relative',\n height: optionVirtualizer.getTotalSize(),\n display: 'grid',\n // Array.from is used instead of .map() because measurementsCache can be sparse, causing gaps between options.\n gridTemplateRows: Array.from(\n optionVirtualizer.measurementsCache,\n (el) => `${el?.size ?? 32}px`,\n ).join(' '),\n }}\n key={`wrapper-${childrenCount}`}\n >\n {optionVirtualizer.getVirtualItems().map((virtualRow) => {\n const flatItem = flattenedSuggestions[virtualRow.index];\n const { child, key: suggestionKey } =\n renderFlattenedSuggestionItem(flatItem, trailing);\n\n return (\n <div\n key={`${virtualRow.key}-${suggestionKey}`}\n className={clsx(\n 'strato-filter-field-suggestion',\n suggestionStyles.virtualizedSuggestion,\n )}\n // data-index is required for the virtualizer to map the measure\n // element correctly to the measured index.\n data-index={virtualRow.index}\n style={{\n gridRow: virtualRow.index + 1,\n minWidth: 0,\n height: 'fit-content',\n }}\n ref={(el) => {\n optionVirtualizer.measureElement(el);\n }}\n >\n {child}\n </div>\n );\n })}\n </div>\n </CSSHighlight>\n ) : null}\n {isSliced && (\n <div role=\"presentation\">\n <Button {...controlProps} />\n </div>\n )}\n {showBuiltInSuggestions && (\n <>\n <PastedContentSuggestionGroup />\n <FallbackKeySuggestionGroup />\n <LogicalOperatorSuggestionsGroup />\n {showSearchSuggestions && !isEmpty && <SearchSuggestionGroup />}\n <CSSHighlight\n className={suggestionGroupStyles.builtInSuggestionsContainer}\n term={editorView?.state.doc.toString() ?? ''}\n selector={`.${suggestionStyles.value}`}\n highlightName=\"filterfield-suggestions-highlight\"\n >\n <RecentSuggestionGroup />\n <PinnedSuggestionGroup />\n </CSSHighlight>\n {showSearchSuggestions && isEmpty && <SearchSuggestionGroup />}\n </>\n )}\n </div>\n );\n}\n\n// Popper modifier to sync the max-height of the suggestions overlay\nconst heightModifier: Modifier<'filterfield-height-handler', object> = {\n name: 'filterfield-height-handler',\n enabled: true,\n fn: ({ state }: ModifierArguments<object>): void => {\n const viewportHeight = Math.max(\n document.documentElement.clientHeight || 0,\n window.innerHeight || 0,\n );\n\n const maxHeightBase = Math.max(viewportHeight / 2, 320);\n state.styles.popper.maxHeight = `${\n maxHeightBase - state.rects.reference.height - 20\n }px`;\n },\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n};\n\n/**\n * Accepted properties for FilterFieldSuggestions.\n * @public\n */\nexport type FilterFieldSuggestionsProps = WithChildren &\n StylingProps &\n DataTestId &\n BehaviorTrackingProps & {\n /** Whether the suggestions are loading. If true, a loading indicator is shown and otherwise the suggestions are shown. */\n loading?: boolean;\n };\n\n// Animation variants for the Suggestions component\nconst suggestionsAnimationVariants: Variants = {\n inital: {\n translateY: '-10px',\n // Compensate the parent scaling the content to 0.8. Due to round errors when the height gets taller\n // the content sometimes got larger than the intended which lead to a \"vertigo\" effect. By adding\n // 0.05 we can counteract that effect somewhat.\n scaleY: 1 / 0.85,\n opacity: 0,\n },\n default: {\n translateY: 0,\n scaleY: 1,\n opacity: 1,\n },\n exit: {\n translateY: '-5px',\n opacity: 0,\n },\n};\n\nfunction getSuggestionsCount(\n defaultSuggestionsCount: number | { empty: number; filled: number },\n isEmpty: boolean,\n): number {\n if (typeof defaultSuggestionsCount === 'number') {\n return defaultSuggestionsCount;\n }\n return defaultSuggestionsCount[isEmpty ? 'empty' : 'filled'];\n}\n\n/**\n * Compound component of the FilterField to apply suggestions.\n * @public\n */\nexport const Suggestions = (props: FilterFieldSuggestionsProps) => {\n const {\n loading,\n children,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n ...remainingProps\n }: FilterFieldSuggestionsProps = props;\n const [behavioralTrackingProps] = useBehavioralTrackingProps(remainingProps);\n\n const { autoSuggestions, defaultSuggestionsCount, triggerRef, editorView } =\n useFilterFieldContext();\n\n const intl = useIntl();\n\n const transition = useOverlayTransition(true);\n\n const parentRef = useRef<HTMLDivElement | null>(null);\n\n const childrenArray = useMemo(() => Children.toArray(children), [children]);\n\n const { flattenedSuggestionItems, groupMetadata } = useMemo(\n () =>\n flattenSuggestions([\n ...Object.values(autoSuggestions.groupedSuggestions ?? {}).filter(\n (group) => group && (group.suggestions?.length ?? 0) > 0,\n ),\n ...childrenArray,\n ]),\n [autoSuggestions.groupedSuggestions, childrenArray],\n );\n\n const isEmpty = editorView?.state.doc.toString() === '';\n\n const suggestionsCount = getSuggestionsCount(\n defaultSuggestionsCount,\n isEmpty,\n );\n\n const {\n items: slicedSuggestions,\n isSliced,\n controlProps,\n } = useShowMore({\n items: flattenedSuggestionItems,\n primaryCount: suggestionsCount,\n sliceFn: sliceFlattenedSuggestions,\n });\n\n const optionVirtualizer = useVirtualizer({\n count: slicedSuggestions.length,\n getScrollElement: () => parentRef.current,\n overscan: 5,\n estimateSize: () => 32,\n });\n\n const suggestionsRef = useRef<HTMLDivElement | null>(null);\n\n const { styles: positioningStyles } = usePopper(\n triggerRef,\n suggestionsRef.current,\n {\n placement: 'bottom-start',\n modifiers: [heightModifier],\n },\n );\n\n return (\n <Surface\n className={clsx(consumerClassName, styles.suggestionsOverlay)}\n style={consumerStyle}\n elevation=\"floating\"\n ref={suggestionsRef}\n data-testid={dataTestId}\n {...behavioralTrackingProps}\n >\n <AriaLiveInfo flattenedSuggestionItems={flattenedSuggestionItems} />\n {groupMetadata.length > 0 && (\n <VisuallyHidden>\n {groupMetadata.map(({ groupId, label }) => (\n <span key={groupId} id={toGroupLabelId(groupId)}>\n {label}\n </span>\n ))}\n </VisuallyHidden>\n )}\n <div\n className={styles.suggestionsScrollContainerWrapper}\n role=\"listbox\"\n aria-expanded=\"true\"\n aria-label={intl.formatMessage(\n filterFieldMessages.suggestions.a11y.ariaLabel,\n )}\n >\n <motion.div\n className={clsx(\n styles.suggestionsScrollContainer,\n 'strato-filter-field-suggestions',\n )}\n ref={parentRef}\n style={{ maxHeight: positioningStyles.popper.maxHeight }}\n variants={suggestionsAnimationVariants}\n initial=\"inital\"\n animate=\"default\"\n exit=\"exit\"\n transition={transition}\n >\n {loading ? (\n <Flex\n role=\"presentation\"\n justifyContent=\"start\"\n px={8}\n py={6}\n className={suggestionStyles.suggestionsLoading}\n >\n <ProgressCircle size=\"small\" aria-label=\"Loading suggestions\" />\n <FormattedMessage {...filterFieldMessages.suggestions.loading} />\n </Flex>\n ) : (\n <SuggestionContent\n optionVirtualizer={optionVirtualizer}\n flattenedSuggestions={slicedSuggestions}\n isSliced={isSliced}\n controlProps={controlProps}\n />\n )}\n </motion.div>\n </div>\n </Surface>\n );\n};\n\nSuggestions.displayValue = 'FilterField.Suggestions';\n"],
|
|
5
|
-
"mappings": "AAqEgB,
|
|
4
|
+
"sourcesContent": ["import type { Modifier, ModifierArguments } from '@popperjs/core';\nimport { useVirtualizer, type Virtualizer } from '@tanstack/react-virtual';\nimport clsx from 'clsx';\nimport { motion, type Variants } from 'framer-motion';\nimport {\n Children,\n cloneElement,\n isValidElement,\n type ReactNode,\n useMemo,\n useRef,\n} from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\n\nimport { usePopper } from '../../../overlays/utils/use-popper-compat.js';\nimport useOverlayTransition from '../hooks/useOverlayTransition.js';\nimport {\n sliceFlattenedSuggestions,\n useShowMore,\n} from '../hooks/useShowMore.js';\nimport { filterFieldMessages } from '../messages.js';\nimport { AriaLiveInfo } from './AriaLiveInfo.js';\nimport { FallbackKeySuggestionGroup } from './FallbackKeySuggestions.js';\nimport { LogicalOperatorSuggestionsGroup } from './LogicalOperatorSuggestions.js';\nimport { PastedContentSuggestionGroup } from './PastedContentSuggestions.js';\nimport {\n PinnedSuggestionGroup,\n RecentSuggestionGroup,\n} from './RecentPinnedSuggestionItem.js';\nimport { SearchSuggestionGroup } from './SearchSuggestions.js';\nimport * as suggestionStyles from './Suggestion.sty.js';\nimport { Suggestion } from './Suggestion.js';\nimport type { FlattenedSuggestionItem } from './Suggestion.types.js';\nimport * as suggestionGroupStyles from './SuggestionGroup.sty.js';\nimport { SuggestionGroupLabel } from './SuggestionGroupLabel.js';\nimport * as styles from './SuggestionsOverlay.sty.js';\nimport { Button, ButtonProps } from '../../../buttons/button/Button.js';\nimport { ProgressCircle } from '../../../content/progress/ProgressCircle.js';\nimport { VisuallyHidden } from '../../../core/components/visually-hidden/VisuallyHidden.js';\nimport { useBehavioralTrackingProps } from '../../../core/hooks/useBehavioralTrackingProps.js';\nimport type { BehaviorTrackingProps } from '../../../core/types/behavior-tracking-props.js';\nimport type { DataTestId } from '../../../core/types/data-props.js';\nimport type { StylingProps } from '../../../core/types/styling-props.js';\nimport type { WithChildren } from '../../../core/types/with-children.js';\nimport { Flex } from '../../../layouts/flex/Flex.js';\nimport { Surface } from '../../../layouts/surface/Surface.js';\nimport { CSSHighlight } from '../components/CSSHighlight.js';\nimport { useFilterFieldContext } from '../hooks/useFilterFieldContext.js';\nimport { flattenSuggestions } from '../utils/suggestions-utils/flatten-suggestions.js';\n\n/**\n * Converts a groupId to a valid HTML id attribute value safe for use in aria-describedby.\n * HTML ids must not contain spaces (space is the delimiter in aria-describedby token lists).\n */\nfunction toGroupLabelId(groupId: string): string {\n return `group-label-${groupId.replace(/\\s+/g, '-')}`;\n}\n\nfunction renderFlattenedSuggestionItem(\n flatItem: FlattenedSuggestionItem,\n trailing: string | undefined,\n): { child: ReactNode; key: string } {\n switch (flatItem.kind) {\n case 'group-header': {\n let child: ReactNode;\n\n if (isValidElement(flatItem.label)) {\n child = flatItem.label;\n } else if (flatItem.label) {\n child = <SuggestionGroupLabel>{flatItem.label}</SuggestionGroupLabel>;\n } else {\n child = null;\n }\n\n return {\n child: (\n <div\n className={suggestionGroupStyles.groupHeaderSeparator}\n role=\"presentation\"\n >\n {child}\n </div>\n ),\n key: `group-header-${flatItem.groupId}`,\n };\n }\n case 'suggestion': {\n const ariaDescribedBy = flatItem.groupId\n ? toGroupLabelId(flatItem.groupId)\n : undefined;\n\n return {\n child: (\n <Suggestion\n {...flatItem.data}\n trailing={flatItem.data.trailing ?? trailing}\n aria-describedby={ariaDescribedBy}\n />\n ),\n key: `${flatItem.data.value ?? flatItem.data.displayValue ?? ''}`,\n };\n }\n case 'react-node': {\n const groupLabelId = flatItem.groupId\n ? toGroupLabelId(flatItem.groupId)\n : undefined;\n let child = flatItem.node;\n let key = '';\n\n if (\n isValidElement<{\n 'aria-describedby'?: string;\n }>(flatItem.node) &&\n groupLabelId\n ) {\n // Merge with any existing aria-describedby from the consumer element.\n const existing =\n (flatItem.node.props as Record<string, unknown>)[\n 'aria-describedby'\n ] ?? '';\n const merged = existing ? `${existing} ${groupLabelId}` : groupLabelId;\n\n child = cloneElement(flatItem.node, {\n 'aria-describedby': merged,\n });\n key = `react-node-${flatItem.node.key}`;\n }\n\n return { child, key };\n }\n }\n}\n\nfunction SuggestionContent(\n props: Readonly<{\n optionVirtualizer: Virtualizer<HTMLDivElement, Element>;\n flattenedSuggestions: FlattenedSuggestionItem[];\n isSliced: boolean;\n controlProps: ButtonProps<'button'>;\n }>,\n) {\n const { optionVirtualizer, flattenedSuggestions, isSliced, controlProps } =\n props;\n\n const intl = useIntl();\n const {\n term,\n editorView,\n autoSuggestions,\n recentSuggestionValues,\n pinnedSuggestionValues,\n logicalOperatorSuggestionValues,\n pastedContentSuggestionValues,\n searchSuggestionValues,\n fallbackKeySuggestionValues,\n statementSuggestionValues,\n parserConfig,\n isValidSearch,\n } = useFilterFieldContext();\n\n const { trailing } = autoSuggestions;\n\n const showLogicalOperators = logicalOperatorSuggestionValues.length > 0;\n const showRecents = recentSuggestionValues.length > 0;\n const showPinned = pinnedSuggestionValues.length > 0;\n const showFallbackKeySuggestions = fallbackKeySuggestionValues.length > 0;\n const showStatementSuggestions = statementSuggestionValues.length > 0;\n const showSearchSuggestions =\n isValidSearch?.current &&\n searchSuggestionValues.length > 0 &&\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n (parserConfig?.searchConversion ?? false);\n const showPastedContentSuggestions = pastedContentSuggestionValues.length > 0;\n\n const showBuiltInSuggestions =\n showRecents ||\n showPinned ||\n showLogicalOperators ||\n showPastedContentSuggestions ||\n showSearchSuggestions ||\n showFallbackKeySuggestions ||\n showStatementSuggestions;\n\n const isEmpty = editorView?.state.doc.toString() === '';\n const childrenCount = flattenedSuggestions.length;\n\n if (childrenCount === 0 && !showBuiltInSuggestions) {\n return (\n <Suggestion\n trailing=\"\"\n displayValue={intl.formatMessage(\n filterFieldMessages.suggestions.noSuggestions,\n )}\n />\n );\n }\n return (\n <div>\n {childrenCount > 0 ? (\n <CSSHighlight\n term={term ?? ''}\n // Two highlight targets: the primary value text and any details\n // element flagged matchable (see `matchableSuggestionDetails` in\n // Suggestion.css.ts). `:not(:has(mark))` keeps the highlight off\n // elements that already contain a hand-rendered <mark>.\n selector={`.${suggestionStyles.value}:not(:has(mark)), .${suggestionStyles.matchableSuggestionDetails}:not(:has(mark))`}\n highlightName=\"filterfield-suggestions-highlight\"\n >\n <div\n style={{\n width: '100%',\n position: 'relative',\n height: optionVirtualizer.getTotalSize(),\n display: 'grid',\n // Array.from is used instead of .map() because measurementsCache can be sparse, causing gaps between options.\n gridTemplateRows: Array.from(\n optionVirtualizer.measurementsCache,\n (el) => `${el?.size ?? 32}px`,\n ).join(' '),\n }}\n key={`wrapper-${childrenCount}`}\n >\n {optionVirtualizer.getVirtualItems().map((virtualRow) => {\n const flatItem = flattenedSuggestions[virtualRow.index];\n const { child, key: suggestionKey } =\n renderFlattenedSuggestionItem(flatItem, trailing);\n\n return (\n <div\n key={`${virtualRow.key}-${suggestionKey}`}\n className={clsx(\n 'strato-filter-field-suggestion',\n suggestionStyles.virtualizedSuggestion,\n )}\n // data-index is required for the virtualizer to map the measure\n // element correctly to the measured index.\n data-index={virtualRow.index}\n style={{\n gridRow: virtualRow.index + 1,\n minWidth: 0,\n height: 'fit-content',\n }}\n ref={(el) => {\n optionVirtualizer.measureElement(el);\n }}\n >\n {child}\n </div>\n );\n })}\n </div>\n </CSSHighlight>\n ) : null}\n {isSliced && (\n <div role=\"presentation\">\n <Button {...controlProps} />\n </div>\n )}\n {showBuiltInSuggestions && (\n <>\n <PastedContentSuggestionGroup />\n <FallbackKeySuggestionGroup />\n <LogicalOperatorSuggestionsGroup />\n {showSearchSuggestions && !isEmpty && <SearchSuggestionGroup />}\n <CSSHighlight\n className={suggestionGroupStyles.builtInSuggestionsContainer}\n term={editorView?.state.doc.toString() ?? ''}\n selector={`.${suggestionStyles.value}`}\n highlightName=\"filterfield-suggestions-highlight\"\n >\n <RecentSuggestionGroup />\n <PinnedSuggestionGroup />\n </CSSHighlight>\n {showSearchSuggestions && isEmpty && <SearchSuggestionGroup />}\n </>\n )}\n </div>\n );\n}\n\n// Popper modifier to sync the max-height of the suggestions overlay\nconst heightModifier: Modifier<'filterfield-height-handler', object> = {\n name: 'filterfield-height-handler',\n enabled: true,\n fn: ({ state }: ModifierArguments<object>): void => {\n const viewportHeight = Math.max(\n document.documentElement.clientHeight || 0,\n window.innerHeight || 0,\n );\n\n const maxHeightBase = Math.max(viewportHeight / 2, 320);\n state.styles.popper.maxHeight = `${\n maxHeightBase - state.rects.reference.height - 20\n }px`;\n },\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n};\n\n/**\n * Accepted properties for FilterFieldSuggestions.\n * @public\n */\nexport type FilterFieldSuggestionsProps = WithChildren &\n StylingProps &\n DataTestId &\n BehaviorTrackingProps & {\n /** Whether the suggestions are loading. If true, a loading indicator is shown and otherwise the suggestions are shown. */\n loading?: boolean;\n };\n\n// Animation variants for the Suggestions component\nconst suggestionsAnimationVariants: Variants = {\n inital: {\n translateY: '-10px',\n // Compensate the parent scaling the content to 0.8. Due to round errors when the height gets taller\n // the content sometimes got larger than the intended which lead to a \"vertigo\" effect. By adding\n // 0.05 we can counteract that effect somewhat.\n scaleY: 1 / 0.85,\n opacity: 0,\n },\n default: {\n translateY: 0,\n scaleY: 1,\n opacity: 1,\n },\n exit: {\n translateY: '-5px',\n opacity: 0,\n },\n};\n\nfunction getSuggestionsCount(\n defaultSuggestionsCount: number | { empty: number; filled: number },\n isEmpty: boolean,\n): number {\n if (typeof defaultSuggestionsCount === 'number') {\n return defaultSuggestionsCount;\n }\n return defaultSuggestionsCount[isEmpty ? 'empty' : 'filled'];\n}\n\n/**\n * Compound component of the FilterField to apply suggestions.\n * @public\n */\nexport const Suggestions = (props: FilterFieldSuggestionsProps) => {\n const {\n loading,\n children,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n ...remainingProps\n }: FilterFieldSuggestionsProps = props;\n const [behavioralTrackingProps] = useBehavioralTrackingProps(remainingProps);\n\n const { autoSuggestions, defaultSuggestionsCount, triggerRef, editorView } =\n useFilterFieldContext();\n\n const transition = useOverlayTransition(true);\n\n const parentRef = useRef<HTMLDivElement | null>(null);\n\n const childrenArray = useMemo(() => Children.toArray(children), [children]);\n\n const { flattenedSuggestionItems, groupMetadata } = useMemo(\n () =>\n flattenSuggestions([\n ...Object.values(autoSuggestions.groupedSuggestions ?? {}).filter(\n (group) => group && (group.suggestions?.length ?? 0) > 0,\n ),\n ...childrenArray,\n ]),\n [autoSuggestions.groupedSuggestions, childrenArray],\n );\n\n const isEmpty = editorView?.state.doc.toString() === '';\n\n const suggestionsCount = getSuggestionsCount(\n defaultSuggestionsCount,\n isEmpty,\n );\n\n const {\n items: slicedSuggestions,\n isSliced,\n controlProps,\n } = useShowMore({\n items: flattenedSuggestionItems,\n primaryCount: suggestionsCount,\n sliceFn: sliceFlattenedSuggestions,\n });\n\n const optionVirtualizer = useVirtualizer({\n count: slicedSuggestions.length,\n getScrollElement: () => parentRef.current,\n overscan: 5,\n estimateSize: () => 32,\n });\n\n const suggestionsRef = useRef<HTMLDivElement | null>(null);\n\n const { styles: positioningStyles } = usePopper(\n triggerRef,\n suggestionsRef.current,\n {\n placement: 'bottom-start',\n modifiers: [heightModifier],\n },\n );\n\n return (\n <Surface\n className={clsx(consumerClassName, styles.suggestionsOverlay)}\n style={consumerStyle}\n elevation=\"floating\"\n ref={suggestionsRef}\n data-testid={dataTestId}\n {...behavioralTrackingProps}\n >\n <AriaLiveInfo flattenedSuggestionItems={flattenedSuggestionItems} />\n {groupMetadata.length > 0 && (\n <VisuallyHidden>\n {groupMetadata.map(({ groupId, label }) => (\n <span key={groupId} id={toGroupLabelId(groupId)}>\n {label}\n </span>\n ))}\n </VisuallyHidden>\n )}\n <div className={styles.suggestionsScrollContainerWrapper}>\n <motion.div\n className={clsx(\n styles.suggestionsScrollContainer,\n 'strato-filter-field-suggestions',\n )}\n ref={parentRef}\n style={{ maxHeight: positioningStyles.popper.maxHeight }}\n variants={suggestionsAnimationVariants}\n initial=\"inital\"\n animate=\"default\"\n exit=\"exit\"\n transition={transition}\n >\n {loading ? (\n <Flex\n role=\"presentation\"\n justifyContent=\"start\"\n px={8}\n py={6}\n className={suggestionStyles.suggestionsLoading}\n >\n <ProgressCircle size=\"small\" aria-label=\"Loading suggestions\" />\n <FormattedMessage {...filterFieldMessages.suggestions.loading} />\n </Flex>\n ) : (\n <SuggestionContent\n optionVirtualizer={optionVirtualizer}\n flattenedSuggestions={slicedSuggestions}\n isSliced={isSliced}\n controlProps={controlProps}\n />\n )}\n </motion.div>\n </div>\n </Surface>\n );\n};\n\nSuggestions.displayValue = 'FilterField.Suggestions';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
._ssu5rt1-3-
|
|
1
|
+
._ssu5rt1-3-12-1 {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: var(--dt-spacings-size-4, 4px);
|
|
5
5
|
container-type: inline-size;
|
|
6
|
-
container-name: _ssu5rt0-3-
|
|
6
|
+
container-name: _ssu5rt0-3-12-1;
|
|
7
7
|
transform-origin: top;
|
|
8
8
|
}
|
|
9
|
-
._ssu5rt2-3-
|
|
9
|
+
._ssu5rt2-3-12-1 {
|
|
10
10
|
box-sizing: border-box;
|
|
11
11
|
padding: 0;
|
|
12
12
|
}
|
|
13
|
-
._ssu5rt2-3-
|
|
14
|
-
--_1igzksy0-3-
|
|
13
|
+
._ssu5rt2-3-12-1._ssu5rt2-3-12-1 {
|
|
14
|
+
--_1igzksy0-3-12-1: var(--dt-borders-radius-surface-subdued, 9px);
|
|
15
15
|
}
|
|
16
|
-
._ssu5rt3-3-
|
|
16
|
+
._ssu5rt3-3-12-1 {
|
|
17
17
|
overflow: hidden;
|
|
18
18
|
height: 100%;
|
|
19
19
|
}
|
|
20
|
-
._ssu5rt4-3-
|
|
20
|
+
._ssu5rt4-3-12-1 {
|
|
21
21
|
padding: var(--dt-spacings-size-4, 4px);
|
|
22
22
|
height: 100%;
|
|
23
23
|
max-height: 101vh;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { motion } from "framer-motion";
|
|
3
3
|
import { forwardRef } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
4
5
|
import * as styles from "./SuggestionsOverlay.sty.js";
|
|
5
6
|
import { SuggestionTips } from "./SuggestionTips.js";
|
|
6
7
|
import { OverlayContainer } from "../../../core/components/OverlayContainer.js";
|
|
7
8
|
import { useOverlayStacking } from "../../../core/hooks/useOverlayStacking.js";
|
|
8
9
|
import { OverlayStackingProvider } from "../../../core/providers/OverlayStackingProvider.js";
|
|
10
|
+
import { useFilterFieldContext } from "../hooks/useFilterFieldContext.js";
|
|
9
11
|
import useOverlayTransition from "../hooks/useOverlayTransition.js";
|
|
12
|
+
import { filterFieldMessages } from "../messages.js";
|
|
10
13
|
const suggestionsOverlayAnimationVariants = {
|
|
11
14
|
inital: {
|
|
12
15
|
opacity: 0.4,
|
|
@@ -31,6 +34,8 @@ const SuggestionsOverlay = forwardRef((props, forwardedRef) => {
|
|
|
31
34
|
} = props;
|
|
32
35
|
const overlayContainerProps = useOverlayStacking(void 0, "dropdown");
|
|
33
36
|
const transition = useOverlayTransition(false);
|
|
37
|
+
const { filterFieldId } = useFilterFieldContext();
|
|
38
|
+
const intl = useIntl();
|
|
34
39
|
return /* @__PURE__ */ jsx(
|
|
35
40
|
OverlayContainer,
|
|
36
41
|
{
|
|
@@ -42,6 +47,12 @@ const SuggestionsOverlay = forwardRef((props, forwardedRef) => {
|
|
|
42
47
|
"div",
|
|
43
48
|
{
|
|
44
49
|
ref: forwardedRef,
|
|
50
|
+
id: `suggestions-${filterFieldId}`,
|
|
51
|
+
role: "listbox",
|
|
52
|
+
"aria-expanded": "true",
|
|
53
|
+
"aria-label": intl.formatMessage(
|
|
54
|
+
filterFieldMessages.suggestions.a11y.ariaLabel
|
|
55
|
+
),
|
|
45
56
|
"data-testid": dataTestId,
|
|
46
57
|
onPointerDown: (event) => {
|
|
47
58
|
event.preventDefault();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/filters/filter-field/suggestions/SuggestionsOverlay.tsx"],
|
|
4
|
-
"sourcesContent": ["import { motion, type Variants } from 'framer-motion';\nimport { forwardRef } from 'react';\n\
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { motion, type Variants } from 'framer-motion';\nimport { forwardRef } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport * as styles from './SuggestionsOverlay.sty.js';\nimport { SuggestionTips } from './SuggestionTips.js';\nimport { OverlayContainer } from '../../../core/components/OverlayContainer.js';\nimport { useOverlayStacking } from '../../../core/hooks/useOverlayStacking.js';\nimport { OverlayStackingProvider } from '../../../core/providers/OverlayStackingProvider.js';\nimport type { AriaLabelingProps } from '../../../core/types/a11y-props.js';\nimport type { DataTestId } from '../../../core/types/data-props.js';\nimport type { MaskingProps } from '../../../core/types/masking-props.js';\nimport type { WithChildren } from '../../../core/types/with-children.js';\nimport type { ModalAriaProps } from '../../../overlays/hooks/useOverlayWithTrigger.js';\nimport { useFilterFieldContext } from '../hooks/useFilterFieldContext.js';\nimport useOverlayTransition from '../hooks/useOverlayTransition.js';\nimport { filterFieldMessages } from '../messages.js';\n\n/**\n * Accepted properties for FilterField suggestion overlay.\n * @public\n */\nexport interface SuggestionsOverlayProps\n extends AriaLabelingProps,\n WithChildren,\n DataTestId,\n MaskingProps {\n /**\n * Properties for connecting the overlay to the overlay trigger.\n * Includes styles and accessibility attributes.\n */\n overlayProps?: ModalAriaProps;\n}\n\n// Animation variants for the SuggestionsOverlay component\nconst suggestionsOverlayAnimationVariants: Variants = {\n inital: {\n opacity: 0.4,\n scaleY: 0.8,\n },\n default: {\n opacity: 1,\n scaleY: 1,\n },\n exit: {\n opacity: 0,\n scaleY: 0.8,\n },\n};\n\n/**\n * @public\n */\nexport const SuggestionsOverlay = forwardRef<\n HTMLDivElement,\n SuggestionsOverlayProps\n>((props, forwardedRef) => {\n const {\n children,\n overlayProps,\n 'data-testid': dataTestId,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n } = props;\n\n const overlayContainerProps = useOverlayStacking(undefined, 'dropdown');\n const transition = useOverlayTransition(false);\n const { filterFieldId } = useFilterFieldContext();\n const intl = useIntl();\n\n return (\n <OverlayContainer\n className=\"suggestions-overlay\"\n {...overlayContainerProps}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n >\n <OverlayStackingProvider>\n <div\n ref={forwardedRef}\n id={`suggestions-${filterFieldId}`}\n role=\"listbox\"\n aria-expanded=\"true\"\n aria-label={intl.formatMessage(\n filterFieldMessages.suggestions.a11y.ariaLabel,\n )}\n data-testid={dataTestId}\n onPointerDown={(event) => {\n // Prevent default on the suggestions overlay to avoid filter field\n // losing focus when clicking on an entry in the overlay.\n event.preventDefault();\n }}\n {...overlayProps}\n >\n <motion.div\n className={styles.suggestionsOverlayWrapper}\n variants={suggestionsOverlayAnimationVariants}\n initial=\"inital\"\n animate=\"default\"\n exit=\"exit\"\n transition={transition}\n >\n {children}\n <SuggestionTips />\n </motion.div>\n </div>\n </OverlayStackingProvider>\n </OverlayContainer>\n );\n});\n"],
|
|
5
|
+
"mappings": "AA8FU,SASE,KATF;AA9FV,SAAS,cAA6B;AACtC,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AAExB,YAAY,YAAY;AACxB,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AAMxC,SAAS,6BAA6B;AACtC,OAAO,0BAA0B;AACjC,SAAS,2BAA2B;AAmBpC,MAAM,sCAAgD;AAAA,EACpD,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AACF;AAKO,MAAM,qBAAqB,WAGhC,CAAC,OAAO,iBAAiB;AACzB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,EACtB,IAAI;AAEJ,QAAM,wBAAwB,mBAAmB,QAAW,UAAU;AACtE,QAAM,aAAa,qBAAqB,KAAK;AAC7C,QAAM,EAAE,cAAc,IAAI,sBAAsB;AAChD,QAAM,OAAO,QAAQ;AAErB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACT,GAAG;AAAA,MACJ,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAElB,8BAAC,2BACC;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,IAAI,eAAe,aAAa;AAAA,UAChC,MAAK;AAAA,UACL,iBAAc;AAAA,UACd,cAAY,KAAK;AAAA,YACf,oBAAoB,YAAY,KAAK;AAAA,UACvC;AAAA,UACA,eAAa;AAAA,UACb,eAAe,CAAC,UAAU;AAGxB,kBAAM,eAAe;AAAA,UACvB;AAAA,UACC,GAAG;AAAA,UAEJ;AAAA,YAAC,OAAO;AAAA,YAAP;AAAA,cACC,WAAW,OAAO;AAAA,cAClB,UAAU;AAAA,cACV,SAAQ;AAAA,cACR,SAAQ;AAAA,cACR,MAAK;AAAA,cACL;AAAA,cAEC;AAAA;AAAA,gBACD,oBAAC,kBAAe;AAAA;AAAA;AAAA,UAClB;AAAA;AAAA,MACF,GACF;AAAA;AAAA,EACF;AAEJ,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "./SuggestionsOverlay.css";
|
|
2
|
-
var suggestionsOverlay = "_ssu5rt2-3-
|
|
3
|
-
var suggestionsOverlayWrapper = "_ssu5rt1-3-
|
|
4
|
-
var suggestionsOverlayWrapperContainer = "_ssu5rt0-3-
|
|
5
|
-
var suggestionsScrollContainer = "_ssu5rt4-3-
|
|
6
|
-
var suggestionsScrollContainerWrapper = "_ssu5rt3-3-
|
|
2
|
+
var suggestionsOverlay = "_ssu5rt2-3-12-1";
|
|
3
|
+
var suggestionsOverlayWrapper = "_ssu5rt1-3-12-1";
|
|
4
|
+
var suggestionsOverlayWrapperContainer = "_ssu5rt0-3-12-1";
|
|
5
|
+
var suggestionsScrollContainer = "_ssu5rt4-3-12-1";
|
|
6
|
+
var suggestionsScrollContainerWrapper = "_ssu5rt3-3-12-1";
|
|
7
7
|
export {
|
|
8
8
|
suggestionsOverlay,
|
|
9
9
|
suggestionsOverlayWrapper,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/filters/filter-field/suggestions/SuggestionsOverlay.css.ts"],
|
|
4
|
-
"sourcesContent": ["import './SuggestionsOverlay.css';\nexport var suggestionsOverlay = '_ssu5rt2-3-
|
|
4
|
+
"sourcesContent": ["import './SuggestionsOverlay.css';\nexport var suggestionsOverlay = '_ssu5rt2-3-12-1';\nexport var suggestionsOverlayWrapper = '_ssu5rt1-3-12-1';\nexport var suggestionsOverlayWrapperContainer = '_ssu5rt0-3-12-1';\nexport var suggestionsScrollContainer = '_ssu5rt4-3-12-1';\nexport var suggestionsScrollContainerWrapper = '_ssu5rt3-3-12-1';"],
|
|
5
5
|
"mappings": "AAAA,OAAO;AACA,IAAI,qBAAqB;AACzB,IAAI,4BAA4B;AAChC,IAAI,qCAAqC;AACzC,IAAI,6BAA6B;AACjC,IAAI,oCAAoC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,6 +3,7 @@ import { EditorState } from "@codemirror/state";
|
|
|
3
3
|
import { escapeSuggestion } from "./escape-suggestion.js";
|
|
4
4
|
import { getStatementStatus } from "./get-statement-status.js";
|
|
5
5
|
import { getTextFromRange } from "./get-text.js";
|
|
6
|
+
import { overlappingSuggestionRangeBrand } from "./suggestions-utils/get-suggestions.js";
|
|
6
7
|
import {
|
|
7
8
|
getStatementCursorAtPosition,
|
|
8
9
|
hasNextSibling,
|
|
@@ -179,6 +180,9 @@ function getSuggestionTransaction(suggestionValue, range, shouldEscapeSuggestion
|
|
|
179
180
|
}
|
|
180
181
|
} else if (range) {
|
|
181
182
|
({ from: replaceFrom, to: replaceUntil } = range);
|
|
183
|
+
if (replaceFrom === replaceUntil && token.range.from === replaceFrom && range[overlappingSuggestionRangeBrand] === true) {
|
|
184
|
+
replaceUntil = token.range.to;
|
|
185
|
+
}
|
|
182
186
|
}
|
|
183
187
|
insertionRange = {
|
|
184
188
|
from: Math.min(currentDocumentLength, replaceFrom),
|
|
@@ -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 (shouldAppendTrailingWildcard(trimmedValue)) {\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\nfunction shouldAppendTrailingWildcard(value: string) {\n return !value.endsWith('*') && !value.endsWith('*\"');\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 { overlappingSuggestionRangeBrand } from './suggestions-utils/get-suggestions.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 (shouldAppendTrailingWildcard(trimmedValue)) {\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 // A branded zero-width range means the range came from the overlapping-suggestions\n // path (e.g. \"a \" \u2192 subToken {from:2,to:2}) and the component hasn't re-rendered\n // yet after the user typed a character (e.g. \"=\") that became a live token at that\n // position. Extend replaceUntil to cover the live token so the suggestion replaces\n // what was typed rather than inserting alongside it.\n // The brand check (`overlappingSuggestionRangeBrand`) is essential: it prevents\n // extending a consumer-supplied insertionRange={{ from: N, to: N }}, which is an\n // intentional insertion point that must never be widened into a replacement.\n if (\n replaceFrom === replaceUntil &&\n token.range.from === replaceFrom &&\n (range as Record<symbol, unknown>)[\n overlappingSuggestionRangeBrand\n ] === true\n ) {\n replaceUntil = token.range.to;\n }\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\nfunction shouldAppendTrailingWildcard(value: string) {\n return !value.endsWith('*') && !value.endsWith('*\"');\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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",
|
|
6
6
|
"names": ["editorState", "addSpace"]
|
|
7
7
|
}
|
|
@@ -44,6 +44,9 @@ function getTypedOperatorFromCurrentStatement(currentStatement) {
|
|
|
44
44
|
const needle = currentStatement?.comparisonOperator ? currentStatement.comparisonOperator.textValue : "";
|
|
45
45
|
return comparisonOperatorAlias[needle] ?? needle;
|
|
46
46
|
}
|
|
47
|
+
const overlappingSuggestionRangeBrand = /* @__PURE__ */ Symbol(
|
|
48
|
+
"overlappingSuggestionRange"
|
|
49
|
+
);
|
|
47
50
|
function getSuggestions({
|
|
48
51
|
suggestionTypes,
|
|
49
52
|
overlappingSuggestions,
|
|
@@ -132,10 +135,14 @@ function getSuggestions({
|
|
|
132
135
|
{ includeDetails: false }
|
|
133
136
|
);
|
|
134
137
|
if (overlappingSuggestions) {
|
|
138
|
+
const brandedRange = {
|
|
139
|
+
...overlappingSuggestions.subToken.range
|
|
140
|
+
};
|
|
141
|
+
brandedRange[overlappingSuggestionRangeBrand] = true;
|
|
135
142
|
comparisonOperatorSuggestions = comparisonOperatorSuggestions.map(
|
|
136
143
|
(suggestion) => ({
|
|
137
144
|
...suggestion,
|
|
138
|
-
insertionRange:
|
|
145
|
+
insertionRange: brandedRange,
|
|
139
146
|
escapeSuggestion: false
|
|
140
147
|
})
|
|
141
148
|
);
|
|
@@ -380,6 +387,7 @@ function assignGroupsToSlots({
|
|
|
380
387
|
}
|
|
381
388
|
export {
|
|
382
389
|
filterSuggestions,
|
|
383
|
-
getSuggestions
|
|
390
|
+
getSuggestions,
|
|
391
|
+
overlappingSuggestionRangeBrand
|
|
384
392
|
};
|
|
385
393
|
//# sourceMappingURL=get-suggestions.js.map
|
|
@@ -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 {\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": "AACA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB,4BAA4B;AAEtD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,OACK;
|
|
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 FilterFieldNodeBase,\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/**\n * @internal\n * Brand for ranges produced by the overlapping-suggestions path.\n * Not exported from the package entry point \u2014 consumers cannot set this, so its\n * presence in getSuggestionTransaction unambiguously identifies a stale internal\n * range rather than an intentionally supplied consumer range.\n */\nexport const overlappingSuggestionRangeBrand = Symbol(\n 'overlappingSuggestionRange',\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 const brandedRange = {\n ...overlappingSuggestions.subToken.range,\n } as FilterFieldNodeBase['range'] & Record<symbol, unknown>;\n brandedRange[overlappingSuggestionRangeBrand] = true;\n\n comparisonOperatorSuggestions = comparisonOperatorSuggestions.map(\n (suggestion): FilterFieldSuggestion => ({\n ...suggestion,\n insertionRange: brandedRange,\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
|
}
|