@dynatrace/strato-components 3.12.1 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +185 -0
- package/buttons/button/Button.css +15 -15
- package/buttons/button/Button.sty.js +4 -4
- package/buttons/index.d.ts +4 -0
- package/buttons/index.js +2 -0
- package/buttons/inline-button/InlineButton.css +145 -0
- package/buttons/inline-button/InlineButton.css.d.ts +107 -0
- package/buttons/inline-button/InlineButton.d.ts +62 -0
- package/buttons/inline-button/InlineButton.js +213 -0
- package/buttons/inline-button/InlineButton.sty.js +40 -0
- package/buttons/inline-button/Prefix.d.ts +13 -0
- package/buttons/inline-button/Prefix.js +61 -0
- package/buttons/inline-button/Suffix.d.ts +13 -0
- package/buttons/inline-button/Suffix.js +61 -0
- package/buttons/intent-button/IntentButton.css +1 -1
- package/buttons/intent-button/IntentButton.sty.js +1 -1
- package/buttons/notify-button/NotifyButton.css +2 -2
- package/buttons/notify-button/NotifyButton.sty.js +2 -2
- package/charts/categorical-bar/CategoricalBarChartLayout.js +1 -1
- 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/providers/StoreProvider.js +1 -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/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/components/styles.css +15 -15
- package/charts/core/components/chart-layout/components/styles.sty.js +4 -4
- package/charts/core/components/chart-layout/slots/Graph.js +1 -1
- package/charts/core/components/chart-layout/slots/Legend.js +1 -1
- package/charts/core/components/chart-layout/utils/get-chart-layout-settings.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/VerticalCrosshair.d.ts +3 -1
- package/charts/core/components/crosshair/VerticalCrosshair.js +2 -1
- 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/crosshair/components/TopMagnifier.js +2 -2
- package/charts/core/components/interactions-overlay/InteractionsOverlay.css +5 -5
- package/charts/core/components/interactions-overlay/InteractionsOverlay.js +2 -0
- package/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js +2 -2
- package/charts/core/components/interactions-overlay/interactions/explore/keyboardInteractions.d.ts +2 -1
- package/charts/core/components/interactions-overlay/interactions/explore/keyboardInteractions.js +4 -1
- package/charts/core/components/interactions-overlay/interactions/pan/keyboardInteractions.d.ts +2 -1
- package/charts/core/components/interactions-overlay/interactions/pan/keyboardInteractions.js +4 -1
- package/charts/core/components/interactions-overlay/interactions/zoom/keyboardInteractions.d.ts +2 -1
- package/charts/core/components/interactions-overlay/interactions/zoom/keyboardInteractions.js +4 -1
- package/charts/core/components/interactions-overlay/types.d.ts +1 -0
- package/charts/core/components/interactions-overlay/utils/get-explore-interations.d.ts +1 -1
- package/charts/core/components/interactions-overlay/utils/get-explore-interations.js +2 -0
- package/charts/core/components/interactions-overlay/utils/get-pan-interactions.d.ts +1 -1
- package/charts/core/components/interactions-overlay/utils/get-pan-interactions.js +2 -0
- package/charts/core/components/interactions-overlay/utils/get-zoom-interactions.d.ts +1 -1
- package/charts/core/components/interactions-overlay/utils/get-zoom-interactions.js +2 -0
- package/charts/core/components/interactions-overlay/utils/handle-keydown.d.ts +2 -1
- package/charts/core/components/interactions-overlay/utils/handle-keydown.js +7 -2
- package/charts/core/components/legend/categorical/ChartLegend.css +1 -1
- package/charts/core/components/legend/categorical/ChartLegend.sty.js +1 -1
- package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.css +5 -4
- package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.js +1 -0
- package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js +3 -3
- package/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.css +20 -18
- package/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js +6 -6
- package/charts/core/components/legend/categorical/components/ChartLegendItemLabel/ChartLegendItemLabel.js +1 -1
- package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.css +3 -3
- package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js +1 -1
- package/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.css +8 -8
- package/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js +4 -4
- package/charts/core/components/legend/categorical/constants.js +1 -1
- package/charts/core/components/legend/categorical/hooks/useLegendInteractions.js +5 -1
- 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/range/utils/get-min-max-values.js +2 -2
- 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.js +5 -2
- package/charts/core/components/overlay-tooltip/components/DynamicTooltip.js +6 -5
- package/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js +4 -1
- package/charts/core/components/overlay-tooltip/components/SeriesActionsMenuContent.d.ts +14 -0
- package/charts/core/components/overlay-tooltip/components/SeriesActionsMenuContent.js +93 -0
- package/charts/core/components/overlay-tooltip/components/TooltipPortal.d.ts +1 -0
- package/charts/core/components/overlay-tooltip/components/TooltipPortal.js +89 -18
- 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 +14 -6
- package/charts/core/components/overlay-tooltip/components/header/Header.css.d.ts +1 -1
- package/charts/core/components/overlay-tooltip/components/header/Header.js +13 -9
- package/charts/core/components/overlay-tooltip/components/header/Header.sty.js +7 -7
- package/charts/core/components/overlay-tooltip/components/header/utils/get-shown-header-text.js +9 -5
- package/charts/core/components/overlay-tooltip/components/series/SeriesItem.js +27 -22
- 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/ActiveSeriesMenuContext.d.ts +21 -0
- package/charts/core/components/overlay-tooltip/contexts/ActiveSeriesMenuContext.js +42 -0
- package/charts/core/components/overlay-tooltip/hooks/useSvgAriaDescribedBy.d.ts +4 -0
- package/charts/core/components/overlay-tooltip/hooks/useSvgAriaDescribedBy.js +54 -0
- package/charts/core/components/overlay-tooltip/tooltip.css +52 -52
- package/charts/core/components/overlay-tooltip/tooltip.sty.js +39 -39
- package/charts/core/components/overlay-tooltip/utils/text-truncation-header.d.ts +10 -0
- package/charts/core/components/overlay-tooltip/utils/text-truncation-header.js +99 -1
- 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/selection-area/tooltip/CustomActions.d.ts +2 -2
- package/charts/core/components/selection-area/tooltip/CustomActions.js +4 -4
- package/charts/core/components/series-action/ChartSeriesAction.js +1 -1
- 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/components/trend/utils/define-trend-colors.js +2 -2
- 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/SparklineRenderer.js +40 -32
- 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/truncate-string.d.ts +19 -0
- package/charts/core/components/text-ellipsis/truncate-string.js +105 -9
- package/charts/core/components/threshold-bar/styles.css +11 -11
- package/charts/core/components/threshold-bar/styles.sty.js +2 -2
- package/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
- package/charts/core/components/toolbar/ChartToolbarRenderer.js +2 -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.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/InteractiveChartTooltip/slots/Actions.js +1 -1
- package/charts/core/components/tooltip/InteractiveChartTooltip/slots/Body.js +1 -1
- package/charts/core/components/tooltip/InteractiveChartTooltip/slots/Header.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
- package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
- package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
- package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
- package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
- package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
- package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
- package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
- package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
- package/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
- package/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
- package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
- package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
- package/charts/core/components/tooltip-atoms/components/styles.css +4 -4
- package/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
- package/charts/core/components/zoom/ZoomCursors.css +2 -2
- package/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
- package/charts/core/hooks/usePointerAndScrollResponsiveChartBounds.js +2 -2
- package/charts/core/hooks/useScrollResponsiveChartBounds.js +1 -1
- package/charts/core/hooks/useThrottledCallbackOnScroll.js +1 -1
- package/charts/core/slots/chart-states/EmptyStateSlot.js +4 -1
- package/charts/core/slots/chart-states/ErrorStateSlot.js +4 -1
- package/charts/core/slots/toolbar/ChartToolbar.js +2 -2
- package/charts/core/typographyStyles.css +1 -1
- package/charts/core/typographyStyles.sty.js +1 -1
- package/charts/core/utils/build-rgba-color-with-opacity.js +1 -1
- package/charts/flame/flame-chart/FlameChart.d.ts +7 -3
- package/charts/flame/flame-chart/FlameChart.js +24 -31
- package/charts/flame/flame-chart/components/tooltip/DefaultTooltip.d.ts +17 -0
- package/charts/flame/flame-chart/components/tooltip/DefaultTooltip.js +65 -0
- package/charts/flame/flame-chart/components/tooltip/messages.d.ts +8 -0
- package/charts/flame/flame-chart/components/tooltip/messages.js +30 -0
- package/charts/flame/flame-chart/utils/iterate-slots.d.ts +1 -4
- package/charts/flame/flame-chart/utils/iterate-slots.js +2 -14
- package/charts/flame/flame-graph/FlameGraph.d.ts +7 -3
- package/charts/flame/flame-graph/FlameGraph.js +34 -43
- package/charts/flame/flame-graph/components/tooltip/DefaultTooltip.d.ts +19 -0
- package/charts/flame/flame-graph/components/tooltip/DefaultTooltip.js +78 -0
- package/charts/flame/flame-graph/components/tooltip/messages.d.ts +8 -0
- package/charts/flame/flame-graph/components/tooltip/messages.js +30 -0
- package/charts/flame/flame-graph/utils/iterate-slots.d.ts +1 -4
- package/charts/flame/flame-graph/utils/iterate-slots.js +2 -17
- package/charts/flame/shared/components/tooltip/FlameTooltip.d.ts +11 -13
- package/charts/flame/shared/components/tooltip/FlameTooltip.js +72 -29
- package/charts/flame/shared/components/tooltip/messages.d.ts +28 -0
- package/charts/flame/shared/components/tooltip/messages.js +50 -0
- package/charts/flame/shared/slots/Tooltip.d.ts +11 -3
- package/charts/flame/shared/types/flame-chart.d.ts +14 -0
- package/charts/flame/shared/types/flame-internal.d.ts +16 -1
- package/charts/flame/shared/utils/build-tooltip-base-data.d.ts +25 -0
- package/charts/flame/shared/utils/build-tooltip-base-data.js +55 -0
- package/charts/flame/shared/utils/make-iterate-slots.d.ts +8 -0
- package/charts/flame/shared/utils/make-iterate-slots.js +39 -0
- package/charts/flame/shared/utils/order-spans-hierarchically.js +6 -1
- package/charts/flame/shared/utils/resolve-flame-tooltip-content.d.ts +6 -0
- package/charts/flame/shared/utils/resolve-flame-tooltip-content.js +44 -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.js +1 -1
- package/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js +2 -2
- package/charts/gauge/components/GaugeRootSVG.js +1 -0
- package/charts/gauge/utils/apply-threshold-default.js +1 -1
- package/charts/histogram/HistogramChartRoot.js +1 -1
- package/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.css +1 -1
- package/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js +1 -1
- package/charts/histogram/components/overlays/HistogramExplore/HistogramCrosshair.js +1 -1
- package/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.css +1 -1
- package/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.js +2 -2
- 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/hooks/useSetClosestBins.js +1 -1
- package/charts/histogram/providers/HistogramDataProvider.js +1 -1
- package/charts/histogram/providers/HistogramStateSyncProvider.d.ts +2 -2
- package/charts/histogram/providers/HistogramStateSyncProvider.js +1 -2
- package/charts/histogram/providers/StoreProvider.js +2 -2
- package/charts/histogram/utils/iterate-slots.js +1 -2
- package/charts/honeycomb/HoneycombChart.css +1 -1
- package/charts/honeycomb/HoneycombChart.sty.js +1 -1
- package/charts/honeycomb/components/HiveOverlay.css +1 -1
- package/charts/honeycomb/components/HiveOverlay.sty.js +1 -1
- package/charts/honeycomb/components/canvas/HiveCanvasLayout.css +1 -1
- package/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js +1 -1
- package/charts/honeycomb/utils/build-honeycomb-config.js +2 -2
- package/charts/index.d.ts +1 -1
- package/charts/meter-bar/multi-meter-bar/providers/StoreProvider.js +10 -1
- package/charts/meter-bar/multi-meter-bar/slots/Label.js +1 -1
- package/charts/meter-bar/multi-meter-bar/slots/Max.js +1 -1
- package/charts/meter-bar/multi-meter-bar/slots/Min.js +1 -1
- package/charts/meter-bar/multi-meter-bar/slots/Value.js +1 -1
- 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/Chart.js +1 -1
- 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/Legend.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/Thresholds.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.js +1 -0
- 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/MeterBarChart.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/meter-bar/single-meter-bar/slots/Label.js +1 -1
- package/charts/meter-bar/single-meter-bar/slots/Max.js +1 -1
- package/charts/meter-bar/single-meter-bar/slots/Min.js +1 -1
- package/charts/meter-bar/single-meter-bar/slots/Value.js +1 -1
- package/charts/meter-bar/single-meter-bar/utils/apply-threshold-defaults.js +1 -1
- package/charts/meter-bar/single-meter-bar/utils/resolve-show-threshold-indicators.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/PieChartInternal.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.js +49 -40
- package/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
- package/charts/pie/providers/PieChartSlicesDataProvider.js +5 -1
- package/charts/pie/providers/StoreProvider.js +1 -1
- package/charts/sankey-chart/SankeyChart.css +3 -3
- package/charts/sankey-chart/SankeyChart.sty.js +3 -3
- package/charts/sankey-chart/SankeyChartRoot.js +5 -2
- package/charts/sankey-chart/components/SankeyCanvas.css +7 -1
- package/charts/sankey-chart/components/SankeyCanvas.css.d.ts +1 -0
- package/charts/sankey-chart/components/SankeyCanvas.js +46 -3
- package/charts/sankey-chart/components/SankeyCanvas.sty.js +4 -2
- package/charts/sankey-chart/components/SankeyGraphArea.js +4 -49
- package/charts/sankey-chart/components/SankeyGraphAreaContent.d.ts +15 -0
- package/charts/sankey-chart/components/SankeyGraphAreaContent.js +80 -0
- package/charts/sankey-chart/components/SankeyLabelOverlay.css +13 -9
- package/charts/sankey-chart/components/SankeyLabelOverlay.css.d.ts +1 -0
- package/charts/sankey-chart/components/SankeyLabelOverlay.js +38 -59
- package/charts/sankey-chart/components/SankeyLabelOverlay.sty.js +10 -8
- package/charts/sankey-chart/components/SankeyNodeLabel.d.ts +17 -0
- package/charts/sankey-chart/components/SankeyNodeLabel.js +65 -0
- package/charts/sankey-chart/components/SankeyOverlay.css +1 -1
- package/charts/sankey-chart/components/SankeyOverlay.js +1 -3
- package/charts/sankey-chart/components/SankeyOverlay.sty.js +1 -1
- package/charts/sankey-chart/constants.d.ts +6 -5
- package/charts/sankey-chart/constants.js +12 -7
- package/charts/sankey-chart/context/SankeyFormatter.context.d.ts +2 -0
- package/charts/sankey-chart/context/SankeyFormatter.context.js +26 -0
- package/charts/sankey-chart/context/SankeyHighlight.context.d.ts +13 -0
- package/charts/sankey-chart/context/SankeyHighlight.context.js +25 -0
- package/charts/sankey-chart/context/SankeyStore.context.d.ts +4 -0
- package/charts/sankey-chart/context/{SankeyHoverStore.context.js → SankeyStore.context.js} +7 -7
- package/charts/sankey-chart/hooks/use-draw-sankey.d.ts +2 -1
- package/charts/sankey-chart/hooks/use-draw-sankey.js +31 -6
- package/charts/sankey-chart/hooks/use-sankey-formatter.d.ts +5 -0
- package/charts/sankey-chart/hooks/use-sankey-formatter.js +27 -0
- package/charts/sankey-chart/hooks/use-sankey-overlay-events.d.ts +4 -3
- package/charts/sankey-chart/hooks/use-sankey-overlay-events.js +28 -14
- package/charts/sankey-chart/providers/SankeyFormatterProvider.d.ts +17 -0
- package/charts/sankey-chart/providers/SankeyFormatterProvider.js +34 -0
- package/charts/sankey-chart/providers/{SankeyHoverStoreProvider.d.ts → SankeyStoreProvider.d.ts} +2 -2
- package/charts/sankey-chart/providers/{SankeyHoverStoreProvider.js → SankeyStoreProvider.js} +9 -9
- package/charts/sankey-chart/store/selectors.d.ts +14 -7
- package/charts/sankey-chart/store/selectors.js +11 -5
- package/charts/sankey-chart/store/store.d.ts +5 -2
- package/charts/sankey-chart/store/store.js +29 -7
- package/charts/sankey-chart/types/sankey-props.d.ts +11 -0
- package/charts/sankey-chart/types/sankey-shape.d.ts +22 -0
- package/charts/sankey-chart/types/{sankey-hover.js → sankey-shape.js} +2 -2
- package/charts/sankey-chart/types/sankey-state.d.ts +12 -0
- package/charts/sankey-chart/types/sankey-state.js +15 -0
- package/charts/sankey-chart/utils/find-connected-shapes.d.ts +35 -0
- package/charts/sankey-chart/utils/find-connected-shapes.js +44 -0
- package/charts/sankey-chart/utils/find-hovered-shape.d.ts +2 -2
- package/charts/sankey-chart/utils/find-hovered-shape.js +4 -11
- package/charts/sankey-chart/utils/generate-sankey-layout.js +10 -1
- package/charts/sankey-chart/utils/get-active-connected-set.d.ts +27 -0
- package/charts/sankey-chart/utils/get-active-connected-set.js +77 -0
- package/charts/sankey-chart/utils/is-same-sankey-shape.d.ts +3 -0
- package/charts/sankey-chart/utils/is-same-sankey-shape.js +37 -0
- package/charts/sankey-chart/utils/layout-index.d.ts +38 -0
- package/charts/sankey-chart/utils/layout-index.js +84 -0
- package/charts/sankey-chart/vendor/d3-sankey/sankey.js +20 -2
- package/charts/single-value/SingleValue.css +1 -1
- package/charts/single-value/SingleValue.sty.js +1 -1
- package/charts/single-value-grid/SingleValueGrid.css +2 -2
- package/charts/single-value-grid/SingleValueGrid.sty.js +1 -1
- package/charts/single-value-grid/components/GlobalFontSizeVariables.css +1 -1
- package/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js +1 -1
- package/charts/single-value-grid/utils/build-props-from-grid.js +17 -14
- package/charts/timeseries/TimeseriesChart.d.ts +1 -0
- package/charts/timeseries/TimeseriesChart.js +2 -0
- package/charts/timeseries/TimeseriesChartInternal.js +0 -3
- package/charts/timeseries/TimeseriesChartRoot.js +2 -1
- 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/overlays/TimeseriesSelection/utils/get-selected-datapoints.js +2 -2
- package/charts/timeseries/components/overlays/utils/tooltip/timeseries-tooltip.js +2 -2
- package/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
- package/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
- package/charts/timeseries/providers/StoreProvider.js +2 -3
- package/charts/timeseries/providers/TimeseriesDataProvider.js +1 -1
- package/charts/timeseries/slots/shapes/Area.d.ts +4 -1
- package/charts/timeseries/slots/shapes/Line.d.ts +4 -1
- package/charts/timeseries/types/timeseries-band.d.ts +8 -1
- package/charts/timeseries/types/timeseries-props.d.ts +4 -1
- package/charts/timeseries/types/timeseries.d.ts +4 -1
- package/charts/top-list/TopList.css +1 -1
- package/charts/top-list/TopList.sty.js +1 -1
- package/charts/tree-map/components/TreeMapChartLayout.js +1 -1
- package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
- package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
- package/charts/tree-map/providers/StoreProvider.js +1 -1
- package/charts/tree-map/providers/TreeMapChartProviders.js +1 -2
- package/charts/xy-chart/XYChartRoot.js +2 -2
- 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 -2
- package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +2 -2
- 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/rect-accessors.js +1 -1
- package/charts/xy-chart/components/legend/XYLegend/XYLegend.js +1 -1
- package/charts/xy-chart/components/legend/XYLegend/xy-legend.css +1 -1
- package/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js +1 -1
- package/charts/xy-chart/components/overlay/XYChartOverlay.js +1 -3
- package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
- package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.js +31 -11
- 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/thresholds/XYChartThresholdIndicators.css +1 -1
- package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
- package/charts/xy-chart/components/tooltip/XYChartTooltipContent.js +9 -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/layout/XYChartLayout.css +2 -2
- package/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
- package/charts/xy-chart/processing-strategies/strategies/dot-series.js +1 -1
- package/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js +5 -2
- package/charts/xy-chart/providers/XYChartStoreProvider.js +2 -2
- package/charts/xy-chart/utils/query-closest-quadtree.js +3 -0
- package/charts/xy-chart/utils/query-hovered-grid.d.ts +2 -2
- package/charts/xy-chart/utils/query-hovered-grid.js +8 -2
- package/charts/xy-chart/utils/query-shared.js +9 -0
- package/charts/xy-chart-adoption/categorical-bar/CategoricalBarToXY.js +19 -6
- package/charts/xy-chart-adoption/categorical-bar/constants.d.ts +1 -0
- package/charts/xy-chart-adoption/categorical-bar/constants.js +3 -1
- package/charts/xy-chart-adoption/categorical-bar/iterate-slots.d.ts +2 -0
- package/charts/xy-chart-adoption/categorical-bar/iterate-slots.js +6 -1
- package/charts/xy-chart-adoption/categorical-bar/utils/map-threshold-to-xy.d.ts +4 -0
- package/charts/xy-chart-adoption/categorical-bar/utils/map-threshold-to-xy.js +54 -0
- package/content/accordion/Accordion.css +14 -14
- package/content/accordion/Accordion.sty.js +8 -8
- package/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
- package/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
- package/content/ai-response/AiResponse.css +5 -5
- package/content/ai-response/AiResponse.sty.js +2 -2
- package/content/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 +82 -41
- package/content/chip/BaseChip.css.d.ts +59 -3
- package/content/chip/BaseChip.js +1 -2
- package/content/chip/BaseChip.sty.js +6 -6
- package/content/chip/ChipContent.css +11 -11
- package/content/chip/ChipContent.sty.js +2 -2
- package/content/chip/ChipDeleteButton.css +33 -19
- package/content/chip/ChipDeleteButton.css.d.ts +5 -0
- package/content/chip/ChipDeleteButton.js +3 -5
- package/content/chip/ChipDeleteButton.sty.js +7 -4
- package/content/chip/ChipKey.css +6 -6
- package/content/chip/ChipKey.sty.js +1 -1
- package/content/chip/GroupedChip.css +71 -3
- package/content/chip/GroupedChip.css.d.ts +1 -0
- package/content/chip/GroupedChip.js +26 -5
- package/content/chip/GroupedChip.sty.js +7 -4
- package/content/chip/hooks/usePendingFocusAnnouncement.d.ts +15 -0
- package/content/chip/hooks/usePendingFocusAnnouncement.js +70 -0
- package/content/chip/messages.d.ts +8 -0
- package/content/chip/messages.js +30 -0
- package/content/chip-group/ChipGroup.css +4 -4
- package/content/chip-group/ChipGroup.js +4 -1
- package/content/chip-group/ChipGroup.sty.js +1 -1
- package/content/chip-group/Control.css +4 -4
- package/content/chip-group/Control.js +15 -1
- package/content/chip-group/Control.sty.js +1 -1
- package/content/chip-group/contexts/InternalChipGroupContext.d.ts +12 -0
- 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 +1 -1
- package/content/code-snippet/CodeSnippet.sty.js +4 -4
- package/content/code-snippet/HighlightExtended.js +3 -6
- package/content/empty-state/EmptyState.css +28 -28
- 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 +6 -3
- package/content/markdown/Markdown.css.d.ts +2 -1
- package/content/markdown/Markdown.js +11 -7
- package/content/markdown/Markdown.sty.js +4 -2
- package/content/markdown/remark-frontmatter-to-table.d.ts +14 -0
- package/content/markdown/remark-frontmatter-to-table.js +80 -0
- package/content/markdown/transformers/table-mapping.js +1 -1
- package/content/markdown/transformers/typography-mapping.css +9 -9
- package/content/markdown/transformers/typography-mapping.sty.js +6 -6
- package/content/microguide/Microguide.css +11 -11
- package/content/microguide/Microguide.sty.js +7 -7
- package/content/progress/ProgressBar.css +71 -71
- package/content/progress/ProgressBar.sty.js +5 -5
- package/content/progress/ProgressBarIcon.css +2 -2
- package/content/progress/ProgressBarIcon.sty.js +1 -1
- package/content/progress/ProgressBarLabel.css +3 -3
- package/content/progress/ProgressBarLabel.sty.js +1 -1
- package/content/progress/ProgressBarValue.css +5 -5
- package/content/progress/ProgressBarValue.sty.js +1 -1
- package/content/progress/ProgressCircle.css +48 -40
- package/content/progress/ProgressCircle.css.d.ts +25 -5
- package/content/progress/ProgressCircle.js +9 -11
- package/content/progress/ProgressCircle.sty.js +12 -10
- 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 +1031 -924
- package/core/components/app-root/AppRoot.sty.js +1 -1
- package/core/components/app-root/visual-refresh-overrides.d.ts +0 -10
- package/core/components/app-root/visual-refresh-overrides.js +2 -12
- package/core/components/focus-scope/FocusScope.js +38 -15
- package/core/components/time-indicator/TimeIndicator.js +4 -4
- package/core/components/visually-hidden/VisuallyHidden.css +1 -1
- package/core/components/visually-hidden/VisuallyHidden.sty.js +1 -1
- package/core/hooks/useFocusRing.js +1 -1
- package/core/hooks/useRovingFocus.js +1 -1
- package/core/hooks/useSlots.js +7 -4
- package/core/hooks/useVisualRefreshEnabled.js +1 -1
- package/core/sdk/app-state/AppStateContext.d.ts +12 -0
- package/core/sdk/app-state/AppStateContext.js +14 -1
- package/core/sdk/app-state/AppStateProvider.js +9 -2
- package/core/sdk/app-state/app-state-store.d.ts +3 -0
- package/core/sdk/app-state/app-state-store.js +4 -1
- package/core/sdk/app-state/useAppStateInternal.js +80 -12
- 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.css.d.ts +22 -0
- package/core/styles/focusRingStatic.sty.js +3 -1
- package/core/styles/virtualFocus.css +2 -2
- package/core/styles/virtualFocus.sty.js +1 -1
- package/core/types/a11y-props.d.ts +5 -0
- package/core/utils/colorUtils.css +60 -60
- package/core/utils/colorUtils.sty.js +2 -2
- package/core/utils/focus-management/get-first-tabbable-child.d.ts +10 -0
- package/core/utils/focus-management/get-first-tabbable-child.js +32 -0
- package/core/utils/focus-management/get-last-tabbable-child.d.ts +10 -0
- package/core/utils/focus-management/get-last-tabbable-child.js +35 -0
- package/core/utils/focus-management/is-tabbable.d.ts +18 -0
- package/core/utils/focus-management/is-tabbable.js +61 -0
- package/core/utils/isBrowser.js +1 -1
- package/editors/base-code-editor/BaseCodeEditor.css +137 -136
- package/editors/base-code-editor/BaseCodeEditor.d.ts +6 -0
- package/editors/base-code-editor/BaseCodeEditor.js +113 -8
- package/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
- package/editors/base-code-editor/baseCodeEditorMessages.d.ts +20 -0
- package/editors/base-code-editor/baseCodeEditorMessages.js +20 -0
- package/editors/base-code-editor/configuration/getDefaultConfigurations.js +1 -1
- package/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.css +40 -0
- package/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.css.d.ts +25 -0
- package/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.d.ts +20 -0
- package/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.js +131 -0
- package/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.sty.js +25 -0
- package/editors/base-code-editor/off-screen-diagnostic-indicators/off-screen-diagnostic-indicators.utils.d.ts +101 -0
- package/editors/base-code-editor/off-screen-diagnostic-indicators/off-screen-diagnostic-indicators.utils.js +122 -0
- package/editors/code-editor/CodeEditor.d.ts +10 -0
- package/editors/code-editor/CodeEditor.js +5 -3
- package/editors/dql-editor/DQLEditor.js +2 -2
- package/editors/dql-editor/actions-menu/ActionsMenu.css +10 -10
- package/editors/dql-editor/actions-menu/ActionsMenu.sty.js +5 -5
- package/editors/dql-editor/autocomplete/SuggestionsInfoSection.css +7 -7
- package/editors/dql-editor/autocomplete/SuggestionsInfoSection.sty.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/button/utils/is-virtual-event.js.map +1 -1
- package/esm/buttons/index.js +2 -0
- package/esm/buttons/index.js.map +2 -2
- package/esm/buttons/inline-button/InlineButton.css +145 -0
- package/esm/buttons/inline-button/InlineButton.js +188 -0
- package/esm/buttons/inline-button/InlineButton.js.map +7 -0
- package/esm/buttons/inline-button/InlineButton.sty.js +22 -0
- package/esm/buttons/inline-button/InlineButton.sty.js.map +7 -0
- package/esm/buttons/inline-button/Prefix.js +33 -0
- package/esm/buttons/inline-button/Prefix.js.map +7 -0
- package/esm/buttons/inline-button/Suffix.js +33 -0
- package/esm/buttons/inline-button/Suffix.js.map +7 -0
- package/esm/buttons/intent-button/IntentButton.css +1 -1
- package/esm/buttons/intent-button/IntentButton.sty.js +1 -1
- package/esm/buttons/intent-button/IntentButton.sty.js.map +1 -1
- package/esm/buttons/notify-button/NotifyButton.css +2 -2
- package/esm/buttons/notify-button/NotifyButton.sty.js +2 -2
- package/esm/buttons/notify-button/NotifyButton.sty.js.map +1 -1
- package/esm/charts/categorical-bar/CategoricalBarChartLayout.js +1 -1
- package/esm/charts/categorical-bar/CategoricalBarChartLayout.js.map +1 -1
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.css +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js +2 -2
- package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js.map +1 -1
- package/esm/charts/categorical-bar/components/interactions/tooltip/CategoricalBarChartTooltip.js.map +1 -1
- package/esm/charts/categorical-bar/components/interactions/tooltip/CategoricalBarChartTooltipWrapper.js.map +1 -1
- package/esm/charts/categorical-bar/providers/StoreProvider.js +1 -1
- package/esm/charts/categorical-bar/providers/StoreProvider.js.map +2 -2
- package/esm/charts/categorical-bar/types/categorical-bar-chart.js.map +1 -1
- package/esm/charts/categorical-bar/utils/iterate-slots.js.map +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.css +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.sty.js +1 -1
- package/esm/charts/core/components/annotations/AnnotationsAtom.sty.js.map +1 -1
- package/esm/charts/core/components/annotations/components/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/indicators/utils/extract-unique-indicators-by-priority.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.map +1 -1
- package/esm/charts/core/components/axes/Axis.css +1 -1
- package/esm/charts/core/components/axes/Axis.js.map +2 -2
- 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/AxisBottom.js.map +1 -1
- package/esm/charts/core/components/axes/AxisLeft.js.map +1 -1
- package/esm/charts/core/components/axes/AxisPrimitive.js.map +1 -1
- package/esm/charts/core/components/axes/AxisRight.js.map +1 -1
- package/esm/charts/core/components/axes/AxisTop.js.map +1 -1
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.css +16 -16
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.sty.js +2 -2
- package/esm/charts/core/components/axes/components/PanningControls/PanningControls.sty.js.map +1 -1
- package/esm/charts/core/components/axes/types.js.map +2 -2
- package/esm/charts/core/components/chart-grid/ChartGrid.css +3 -3
- package/esm/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
- package/esm/charts/core/components/chart-grid/ChartGrid.sty.js.map +1 -1
- package/esm/charts/core/components/chart-layout/components/styles.css +15 -15
- package/esm/charts/core/components/chart-layout/components/styles.sty.js +4 -4
- package/esm/charts/core/components/chart-layout/components/styles.sty.js.map +1 -1
- package/esm/charts/core/components/chart-layout/slots/Graph.js +1 -1
- package/esm/charts/core/components/chart-layout/slots/Graph.js.map +2 -2
- package/esm/charts/core/components/chart-layout/slots/Legend.js +1 -1
- package/esm/charts/core/components/chart-layout/slots/Legend.js.map +2 -2
- package/esm/charts/core/components/chart-layout/utils/extract-layout-slots.js.map +1 -1
- package/esm/charts/core/components/chart-layout/utils/get-chart-layout-settings.js +1 -1
- package/esm/charts/core/components/chart-layout/utils/get-chart-layout-settings.js.map +1 -1
- package/esm/charts/core/components/chart-states/ChartState.css +4 -4
- package/esm/charts/core/components/chart-states/ChartState.sty.js +4 -4
- package/esm/charts/core/components/chart-states/ChartState.sty.js.map +1 -1
- package/esm/charts/core/components/crosshair/VerticalCrosshair.js +2 -1
- package/esm/charts/core/components/crosshair/VerticalCrosshair.js.map +2 -2
- 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/crosshair/components/TopMagnifier.js +2 -2
- package/esm/charts/core/components/crosshair/components/TopMagnifier.js.map +2 -2
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.css +5 -5
- package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.js +2 -0
- 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/interactions/explore/keyboardInteractions.js +4 -1
- package/esm/charts/core/components/interactions-overlay/interactions/explore/keyboardInteractions.js.map +2 -2
- package/esm/charts/core/components/interactions-overlay/interactions/pan/keyboardInteractions.js +4 -1
- package/esm/charts/core/components/interactions-overlay/interactions/pan/keyboardInteractions.js.map +2 -2
- package/esm/charts/core/components/interactions-overlay/interactions/zoom/keyboardInteractions.js +4 -1
- package/esm/charts/core/components/interactions-overlay/interactions/zoom/keyboardInteractions.js.map +2 -2
- package/esm/charts/core/components/interactions-overlay/types.js.map +1 -1
- package/esm/charts/core/components/interactions-overlay/utils/get-explore-interations.js +2 -0
- package/esm/charts/core/components/interactions-overlay/utils/get-explore-interations.js.map +2 -2
- package/esm/charts/core/components/interactions-overlay/utils/get-pan-interactions.js +2 -0
- package/esm/charts/core/components/interactions-overlay/utils/get-pan-interactions.js.map +2 -2
- package/esm/charts/core/components/interactions-overlay/utils/get-zoom-interactions.js +2 -0
- package/esm/charts/core/components/interactions-overlay/utils/get-zoom-interactions.js.map +2 -2
- package/esm/charts/core/components/interactions-overlay/utils/handle-keydown.js +7 -2
- package/esm/charts/core/components/interactions-overlay/utils/handle-keydown.js.map +2 -2
- package/esm/charts/core/components/legend/categorical/ChartLegend.css +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.sty.js +1 -1
- package/esm/charts/core/components/legend/categorical/ChartLegend.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.css +5 -4
- package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.js +1 -0
- 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 +20 -18
- 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/ChartLegendItemLabel/ChartLegendItemLabel.js +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendItemLabel/ChartLegendItemLabel.js.map +2 -2
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.css +3 -3
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.css +8 -8
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js +4 -4
- package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/constants.js +1 -1
- package/esm/charts/core/components/legend/categorical/constants.js.map +1 -1
- package/esm/charts/core/components/legend/categorical/hooks/useLegendInteractions.js +6 -2
- package/esm/charts/core/components/legend/categorical/hooks/useLegendInteractions.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/range/components/RangeLegendSegmentsOverlay.js.map +1 -1
- package/esm/charts/core/components/legend/range/utils/get-min-max-values.js +2 -2
- package/esm/charts/core/components/legend/range/utils/get-min-max-values.js.map +1 -1
- package/esm/charts/core/components/legend/range/utils/labels-collision.js.map +1 -1
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.css +2 -2
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.sty.js +2 -2
- package/esm/charts/core/components/loader-overlay/LoaderOverlay.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/OverlayTooltip.js +5 -2
- package/esm/charts/core/components/overlay-tooltip/OverlayTooltip.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltip.js +6 -5
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltip.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js +4 -1
- package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltipRenderer.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/SeriesActionsMenuContent.js +80 -0
- package/esm/charts/core/components/overlay-tooltip/components/SeriesActionsMenuContent.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/components/TooltipPortal.js +95 -20
- 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 +14 -6
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.js +15 -11
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js +7 -7
- package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/header/utils/get-shown-header-text.js +13 -6
- package/esm/charts/core/components/overlay-tooltip/components/header/utils/get-shown-header-text.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItem.js +28 -23
- package/esm/charts/core/components/overlay-tooltip/components/series/SeriesItem.js.map +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.css +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js +2 -2
- package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/contexts/ActiveSeriesMenuContext.js +29 -0
- package/esm/charts/core/components/overlay-tooltip/contexts/ActiveSeriesMenuContext.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/hooks/useSvgAriaDescribedBy.js +36 -0
- package/esm/charts/core/components/overlay-tooltip/hooks/useSvgAriaDescribedBy.js.map +7 -0
- package/esm/charts/core/components/overlay-tooltip/tooltip.css +52 -52
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js +39 -39
- package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js.map +1 -1
- package/esm/charts/core/components/overlay-tooltip/utils/text-truncation-header.js +104 -2
- package/esm/charts/core/components/overlay-tooltip/utils/text-truncation-header.js.map +2 -2
- 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/selection-area/SelectionTooltipWithAsyncActions.js.map +1 -1
- package/esm/charts/core/components/selection-area/tooltip/CustomActions.js +5 -5
- package/esm/charts/core/components/selection-area/tooltip/CustomActions.js.map +2 -2
- package/esm/charts/core/components/series-action/ChartSeriesAction.js +1 -1
- package/esm/charts/core/components/series-action/ChartSeriesAction.js.map +2 -2
- 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/single-value-renderer/components/trend/utils/define-trend-colors.js +2 -2
- package/esm/charts/core/components/single-value-renderer/components/trend/utils/define-trend-colors.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/utils/format-value.js.map +1 -1
- package/esm/charts/core/components/single-value-renderer/utils/get-content-and-background-color.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/SparklineRenderer.js +40 -32
- package/esm/charts/core/components/sparkline-display/SparklineRenderer.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/truncate-string.js +105 -9
- package/esm/charts/core/components/text-ellipsis/truncate-string.js.map +2 -2
- package/esm/charts/core/components/threshold-bar/styles.css +11 -11
- package/esm/charts/core/components/threshold-bar/styles.sty.js +2 -2
- package/esm/charts/core/components/threshold-bar/styles.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.js +2 -2
- package/esm/charts/core/components/toolbar/ChartToolbarRenderer.js.map +1 -1
- 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/ChartToolbarVisibilityOverlay.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.css +2 -2
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.sty.js +1 -1
- package/esm/charts/core/components/toolbar/components/ChartDataMenu.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/Control.css +17 -17
- package/esm/charts/core/components/toolbar/components/Control.sty.js +5 -5
- package/esm/charts/core/components/toolbar/components/Control.sty.js.map +1 -1
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.css +4 -4
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.sty.js +2 -2
- package/esm/charts/core/components/toolbar/components/ToolbarMenu.sty.js.map +1 -1
- package/esm/charts/core/components/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/toolbar/types.js.map +1 -1
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
- package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.js.map +1 -1
- 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.js.map +1 -1
- 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/components/InteractiveChartTooltipVirtualizedSeries.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/contents/SeriesBasedContent.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/InteractiveChartTooltip/slots/Actions.js +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/slots/Actions.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/slots/Body.js +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/slots/Body.js.map +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/slots/Header.js +1 -1
- package/esm/charts/core/components/tooltip/InteractiveChartTooltip/slots/Header.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
- package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
- package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
- package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
- package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
- package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js.map +1 -1
- package/esm/charts/core/components/tooltip-atoms/components/styles.css +4 -4
- package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
- package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js.map +1 -1
- package/esm/charts/core/components/zoom/ZoomCursors.css +2 -2
- package/esm/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
- package/esm/charts/core/components/zoom/ZoomCursors.sty.js.map +1 -1
- package/esm/charts/core/hooks/useDragElement.js.map +1 -1
- package/esm/charts/core/hooks/usePointerAndScrollResponsiveChartBounds.js +2 -2
- package/esm/charts/core/hooks/usePointerAndScrollResponsiveChartBounds.js.map +1 -1
- package/esm/charts/core/hooks/useResolveAsyncComponent.js.map +1 -1
- package/esm/charts/core/hooks/useScrollResponsiveChartBounds.js +1 -1
- package/esm/charts/core/hooks/useScrollResponsiveChartBounds.js.map +1 -1
- package/esm/charts/core/hooks/useThrottledCallbackOnScroll.js +1 -1
- package/esm/charts/core/hooks/useThrottledCallbackOnScroll.js.map +1 -1
- package/esm/charts/core/slots/chart-interactions/Pan.js.map +1 -1
- package/esm/charts/core/slots/chart-interactions/Zoom.js.map +1 -1
- package/esm/charts/core/slots/chart-interactions/ZoomX.js.map +1 -1
- package/esm/charts/core/slots/chart-states/EmptyStateSlot.js +4 -1
- package/esm/charts/core/slots/chart-states/EmptyStateSlot.js.map +2 -2
- package/esm/charts/core/slots/chart-states/ErrorStateSlot.js +4 -1
- package/esm/charts/core/slots/chart-states/ErrorStateSlot.js.map +2 -2
- package/esm/charts/core/slots/toolbar/ChartToolbar.js +2 -2
- package/esm/charts/core/slots/toolbar/ChartToolbar.js.map +2 -2
- package/esm/charts/core/slots/toolbar/DownloadData.js.map +1 -1
- package/esm/charts/core/types/tooltip.js.map +1 -1
- package/esm/charts/core/typographyStyles.css +1 -1
- package/esm/charts/core/typographyStyles.sty.js +1 -1
- package/esm/charts/core/typographyStyles.sty.js.map +1 -1
- package/esm/charts/core/utils/build-rgba-color-with-opacity.js +1 -1
- package/esm/charts/core/utils/build-rgba-color-with-opacity.js.map +1 -1
- package/esm/charts/core/utils/iterate-chart-interactions-slots.js.map +1 -1
- package/esm/charts/core/utils/prepare-inverted-color-palette.js.map +1 -1
- package/esm/charts/core/utils/text-truncation.js.map +1 -1
- package/esm/charts/flame/flame-chart/FlameChart.js +25 -32
- package/esm/charts/flame/flame-chart/FlameChart.js.map +2 -2
- package/esm/charts/flame/flame-chart/components/tooltip/DefaultTooltip.js +51 -0
- package/esm/charts/flame/flame-chart/components/tooltip/DefaultTooltip.js.map +7 -0
- package/esm/charts/flame/flame-chart/components/tooltip/messages.js +12 -0
- package/esm/charts/flame/flame-chart/components/tooltip/messages.js.map +7 -0
- package/esm/charts/flame/flame-chart/utils/iterate-slots.js +2 -14
- package/esm/charts/flame/flame-chart/utils/iterate-slots.js.map +2 -2
- package/esm/charts/flame/flame-graph/FlameGraph.js +35 -45
- package/esm/charts/flame/flame-graph/FlameGraph.js.map +2 -2
- package/esm/charts/flame/flame-graph/components/tooltip/DefaultTooltip.js +60 -0
- package/esm/charts/flame/flame-graph/components/tooltip/DefaultTooltip.js.map +7 -0
- package/esm/charts/flame/flame-graph/components/tooltip/messages.js +12 -0
- package/esm/charts/flame/flame-graph/components/tooltip/messages.js.map +7 -0
- package/esm/charts/flame/flame-graph/utils/iterate-slots.js +2 -17
- package/esm/charts/flame/flame-graph/utils/iterate-slots.js.map +2 -2
- package/esm/charts/flame/shared/components/tooltip/FlameTooltip.js +76 -30
- package/esm/charts/flame/shared/components/tooltip/FlameTooltip.js.map +2 -2
- package/esm/charts/flame/shared/components/tooltip/messages.js +32 -0
- package/esm/charts/flame/shared/components/tooltip/messages.js.map +7 -0
- package/esm/charts/flame/shared/slots/Tooltip.js.map +2 -2
- package/esm/charts/flame/shared/utils/build-tooltip-base-data.js +37 -0
- package/esm/charts/flame/shared/utils/build-tooltip-base-data.js.map +7 -0
- package/esm/charts/flame/shared/utils/make-iterate-slots.js +21 -0
- package/esm/charts/flame/shared/utils/make-iterate-slots.js.map +7 -0
- package/esm/charts/flame/shared/utils/order-spans-hierarchically.js +7 -2
- package/esm/charts/flame/shared/utils/order-spans-hierarchically.js.map +2 -2
- package/esm/charts/flame/shared/utils/resolve-flame-tooltip-content.js +26 -0
- package/esm/charts/flame/shared/utils/resolve-flame-tooltip-content.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.js.map +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/gantt-chart/components/tooltip/GanttChartTooltipBody.js.map +1 -1
- package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltipContent.js.map +1 -1
- package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltipHeader.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.js +1 -1
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.js.map +2 -2
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js +2 -2
- package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js.map +1 -1
- package/esm/charts/gauge/components/GaugeRootSVG.js +1 -0
- package/esm/charts/gauge/components/GaugeRootSVG.js.map +2 -2
- package/esm/charts/gauge/hooks/useGaugeChartAspectRatio.js.map +1 -1
- package/esm/charts/gauge/utils/apply-threshold-default.js +1 -1
- package/esm/charts/gauge/utils/apply-threshold-default.js.map +1 -1
- package/esm/charts/histogram/HistogramChartRoot.js +1 -1
- package/esm/charts/histogram/HistogramChartRoot.js.map +1 -1
- 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/HistogramCrosshair.js +1 -1
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramCrosshair.js.map +2 -2
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.css +1 -1
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.js +2 -2
- package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.js.map +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/HistogramExplore/HistogramTooltipWrapper.js.map +1 -1
- package/esm/charts/histogram/components/overlays/HistogramOverlays.css +2 -2
- package/esm/charts/histogram/components/overlays/HistogramOverlays.js.map +1 -1
- package/esm/charts/histogram/components/overlays/HistogramOverlays.sty.js +2 -2
- package/esm/charts/histogram/components/overlays/HistogramOverlays.sty.js.map +1 -1
- package/esm/charts/histogram/components/overlays/HistogramSelectionArea/HistogramSelectionArea.js.map +1 -1
- package/esm/charts/histogram/components/overlays/HistogramSelectionArea/HistogramSelectionAreaTooltip.js.map +1 -1
- package/esm/charts/histogram/components/toolbar/HistogramToolbar.js.map +1 -1
- package/esm/charts/histogram/components/toolbar/ResetButton.js.map +1 -1
- package/esm/charts/histogram/hooks/useSetClosestBins.js +1 -1
- package/esm/charts/histogram/hooks/useSetClosestBins.js.map +1 -1
- package/esm/charts/histogram/providers/HistogramDataProvider.js +1 -1
- package/esm/charts/histogram/providers/HistogramDataProvider.js.map +2 -2
- package/esm/charts/histogram/providers/HistogramStateSyncProvider.js +1 -2
- package/esm/charts/histogram/providers/HistogramStateSyncProvider.js.map +2 -2
- package/esm/charts/histogram/providers/StoreProvider.js +2 -2
- package/esm/charts/histogram/providers/StoreProvider.js.map +2 -2
- package/esm/charts/histogram/utils/iterate-slots.js +1 -2
- package/esm/charts/histogram/utils/iterate-slots.js.map +2 -2
- package/esm/charts/honeycomb/HoneycombChart.css +1 -1
- package/esm/charts/honeycomb/HoneycombChart.sty.js +1 -1
- package/esm/charts/honeycomb/HoneycombChart.sty.js.map +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.css +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.sty.js +1 -1
- package/esm/charts/honeycomb/components/HiveOverlay.sty.js.map +1 -1
- package/esm/charts/honeycomb/components/HoneycombChartLayout.js.map +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.css +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js +1 -1
- package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js.map +1 -1
- package/esm/charts/honeycomb/providers/honeycomb-base-scale.provider.js.map +1 -1
- package/esm/charts/honeycomb/utils/build-honeycomb-config.js +2 -2
- package/esm/charts/honeycomb/utils/build-honeycomb-config.js.map +1 -1
- package/esm/charts/honeycomb/utils/iterate-honeycomb-slots.js.map +1 -1
- package/esm/charts/index.js.map +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/components/MultiMeterBarChartSegments.js.map +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/providers/StoreProvider.js +10 -1
- package/esm/charts/meter-bar/multi-meter-bar/providers/StoreProvider.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/slots/Label.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/slots/Label.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/slots/Max.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/slots/Max.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/slots/Min.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/slots/Min.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/slots/Value.js +1 -1
- package/esm/charts/meter-bar/multi-meter-bar/slots/Value.js.map +2 -2
- package/esm/charts/meter-bar/multi-meter-bar/utils/build-multi-meter-bar-chart-config.js.map +2 -2
- package/esm/charts/meter-bar/shared/components/formatted-value/MeterBarChartFormattedValue.js.map +1 -1
- 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/Chart.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Chart.js.map +2 -2
- 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/Legend.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Legend.js.map +2 -2
- 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/Thresholds.js +1 -1
- package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Thresholds.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.js +1 -0
- package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.js.map +2 -2
- 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/MeterBarChart.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/MeterBarChart.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/meter-bar/single-meter-bar/slots/Label.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/slots/Label.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/slots/Max.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/slots/Max.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/slots/Min.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/slots/Min.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/slots/ThresholdLegend.js.map +1 -1
- package/esm/charts/meter-bar/single-meter-bar/slots/Value.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/slots/Value.js.map +2 -2
- package/esm/charts/meter-bar/single-meter-bar/utils/apply-threshold-defaults.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/utils/apply-threshold-defaults.js.map +1 -1
- package/esm/charts/meter-bar/single-meter-bar/utils/iterate-slots.js.map +1 -1
- package/esm/charts/meter-bar/single-meter-bar/utils/resolve-show-threshold-indicators.js +1 -1
- package/esm/charts/meter-bar/single-meter-bar/utils/resolve-show-threshold-indicators.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/PieChartInternal.js +1 -1
- package/esm/charts/pie/components/PieChartInternal.js.map +2 -2
- 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.js +49 -40
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.js.map +2 -2
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
- package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js.map +1 -1
- package/esm/charts/pie/context/PieChartRawDataContext.js.map +1 -1
- package/esm/charts/pie/providers/ChartProviders.js.map +1 -1
- package/esm/charts/pie/providers/PieChartSlicesDataProvider.js +5 -1
- package/esm/charts/pie/providers/PieChartSlicesDataProvider.js.map +2 -2
- package/esm/charts/pie/providers/StoreProvider.js +1 -1
- package/esm/charts/pie/providers/StoreProvider.js.map +2 -2
- package/esm/charts/pie/slots/DonutChartInner.js.map +2 -2
- package/esm/charts/pie/types/pie-chart.config.js.map +2 -2
- package/esm/charts/pie/utils/build-and-download-csv.js.map +1 -1
- package/esm/charts/pie/utils/build-group-threshold.js.map +1 -1
- package/esm/charts/pie/utils/build-slices.js.map +1 -1
- package/esm/charts/pie/utils/format-csv.js.map +1 -1
- package/esm/charts/pie/utils/iterate-slots.js.map +1 -1
- package/esm/charts/pie/utils/normalize-pie-data.js.map +1 -1
- package/esm/charts/pie/utils/pie-config.js.map +1 -1
- package/esm/charts/sankey-chart/SankeyChart.css +3 -3
- package/esm/charts/sankey-chart/SankeyChart.sty.js +3 -3
- package/esm/charts/sankey-chart/SankeyChart.sty.js.map +1 -1
- package/esm/charts/sankey-chart/SankeyChartRoot.js +5 -2
- package/esm/charts/sankey-chart/SankeyChartRoot.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyCanvas.css +7 -1
- package/esm/charts/sankey-chart/components/SankeyCanvas.js +49 -6
- package/esm/charts/sankey-chart/components/SankeyCanvas.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyCanvas.sty.js +4 -2
- package/esm/charts/sankey-chart/components/SankeyCanvas.sty.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyGraphArea.js +5 -54
- package/esm/charts/sankey-chart/components/SankeyGraphArea.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyGraphAreaContent.js +65 -0
- package/esm/charts/sankey-chart/components/SankeyGraphAreaContent.js.map +7 -0
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.css +13 -9
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.js +40 -55
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.sty.js +10 -8
- package/esm/charts/sankey-chart/components/SankeyLabelOverlay.sty.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyNodeLabel.js +37 -0
- package/esm/charts/sankey-chart/components/SankeyNodeLabel.js.map +7 -0
- package/esm/charts/sankey-chart/components/SankeyOverlay.css +1 -1
- package/esm/charts/sankey-chart/components/SankeyOverlay.js +1 -3
- package/esm/charts/sankey-chart/components/SankeyOverlay.js.map +2 -2
- package/esm/charts/sankey-chart/components/SankeyOverlay.sty.js +1 -1
- package/esm/charts/sankey-chart/components/SankeyOverlay.sty.js.map +1 -1
- package/esm/charts/sankey-chart/constants.js +12 -7
- package/esm/charts/sankey-chart/constants.js.map +2 -2
- package/esm/charts/sankey-chart/context/SankeyFormatter.context.js +8 -0
- package/esm/charts/sankey-chart/context/SankeyFormatter.context.js.map +7 -0
- package/esm/charts/sankey-chart/context/SankeyHighlight.context.js +7 -0
- package/esm/charts/sankey-chart/context/SankeyHighlight.context.js.map +7 -0
- package/esm/charts/sankey-chart/context/SankeyStore.context.js +11 -0
- package/esm/charts/sankey-chart/context/SankeyStore.context.js.map +7 -0
- package/esm/charts/sankey-chart/hooks/use-draw-sankey.js +32 -7
- package/esm/charts/sankey-chart/hooks/use-draw-sankey.js.map +2 -2
- package/esm/charts/sankey-chart/hooks/use-sankey-formatter.js +9 -0
- package/esm/charts/sankey-chart/hooks/use-sankey-formatter.js.map +7 -0
- package/esm/charts/sankey-chart/hooks/use-sankey-overlay-events.js +34 -15
- package/esm/charts/sankey-chart/hooks/use-sankey-overlay-events.js.map +2 -2
- package/esm/charts/sankey-chart/providers/SankeyFormatterProvider.js +16 -0
- package/esm/charts/sankey-chart/providers/SankeyFormatterProvider.js.map +7 -0
- package/esm/charts/sankey-chart/providers/SankeyStoreProvider.js +15 -0
- package/esm/charts/sankey-chart/providers/SankeyStoreProvider.js.map +7 -0
- package/esm/charts/sankey-chart/store/selectors.js +11 -5
- package/esm/charts/sankey-chart/store/selectors.js.map +2 -2
- package/esm/charts/sankey-chart/store/store.js +29 -7
- package/esm/charts/sankey-chart/store/store.js.map +2 -2
- package/esm/charts/sankey-chart/types/sankey-shape.js +1 -0
- package/esm/charts/sankey-chart/types/sankey-state.js +1 -0
- package/esm/charts/sankey-chart/types/sankey-state.js.map +7 -0
- package/esm/charts/sankey-chart/utils/find-connected-shapes.js +26 -0
- package/esm/charts/sankey-chart/utils/find-connected-shapes.js.map +7 -0
- package/esm/charts/sankey-chart/utils/find-hovered-shape.js +4 -11
- package/esm/charts/sankey-chart/utils/find-hovered-shape.js.map +2 -2
- package/esm/charts/sankey-chart/utils/generate-sankey-layout.js +10 -1
- package/esm/charts/sankey-chart/utils/generate-sankey-layout.js.map +2 -2
- package/esm/charts/sankey-chart/utils/get-active-connected-set.js +59 -0
- package/esm/charts/sankey-chart/utils/get-active-connected-set.js.map +7 -0
- package/esm/charts/sankey-chart/utils/is-same-sankey-shape.js +19 -0
- package/esm/charts/sankey-chart/utils/is-same-sankey-shape.js.map +7 -0
- package/esm/charts/sankey-chart/utils/layout-index.js +66 -0
- package/esm/charts/sankey-chart/utils/layout-index.js.map +7 -0
- package/esm/charts/sankey-chart/vendor/d3-sankey/sankey.js +20 -2
- package/esm/charts/sankey-chart/vendor/d3-sankey/sankey.js.map +2 -2
- package/esm/charts/single-value/SingleValue.css +1 -1
- package/esm/charts/single-value/SingleValue.sty.js +1 -1
- package/esm/charts/single-value/SingleValue.sty.js.map +1 -1
- package/esm/charts/single-value-grid/SingleValueGrid.css +2 -2
- package/esm/charts/single-value-grid/SingleValueGrid.sty.js +1 -1
- package/esm/charts/single-value-grid/SingleValueGrid.sty.js.map +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.css +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js +1 -1
- package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js.map +1 -1
- package/esm/charts/single-value-grid/components/SingleValueDisplay.js.map +1 -1
- package/esm/charts/single-value-grid/slots/Value.js.map +1 -1
- package/esm/charts/single-value-grid/utils/build-props-from-grid.js +17 -14
- package/esm/charts/single-value-grid/utils/build-props-from-grid.js.map +2 -2
- package/esm/charts/single-value-grid/utils/get-config-from-accessors.js.map +1 -1
- package/esm/charts/timeseries/TimeseriesChart.js +2 -0
- package/esm/charts/timeseries/TimeseriesChart.js.map +2 -2
- package/esm/charts/timeseries/TimeseriesChartInternal.js +0 -3
- package/esm/charts/timeseries/TimeseriesChartInternal.js.map +2 -2
- package/esm/charts/timeseries/TimeseriesChartRoot.js +2 -1
- 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/TimeseriesChartOverlays.js.map +1 -1
- package/esm/charts/timeseries/components/overlays/TimeseriesExplore/TimeseriesChartTooltip.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/overlays/TimeseriesSelection/TimeseriesSelectionArea.js.map +1 -1
- package/esm/charts/timeseries/components/overlays/TimeseriesSelection/TimeseriesSelectionAreaTooltip.js.map +1 -1
- package/esm/charts/timeseries/components/overlays/TimeseriesSelection/utils/get-selected-datapoints.js +2 -2
- package/esm/charts/timeseries/components/overlays/TimeseriesSelection/utils/get-selected-datapoints.js.map +1 -1
- package/esm/charts/timeseries/components/overlays/utils/tooltip/timeseries-tooltip.js +2 -2
- package/esm/charts/timeseries/components/overlays/utils/tooltip/timeseries-tooltip.js.map +1 -1
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
- package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js.map +1 -1
- package/esm/charts/timeseries/components/toolbar/ResetButton.js.map +1 -1
- package/esm/charts/timeseries/components/toolbar/TimeseriesChartToolbar.js.map +1 -1
- package/esm/charts/timeseries/providers/StoreProvider.js +2 -3
- package/esm/charts/timeseries/providers/StoreProvider.js.map +2 -2
- package/esm/charts/timeseries/providers/TimeseriesDataProvider.js +1 -1
- package/esm/charts/timeseries/providers/TimeseriesDataProvider.js.map +2 -2
- package/esm/charts/timeseries/slots/shapes/Area.js.map +2 -2
- package/esm/charts/timeseries/slots/shapes/Line.js.map +2 -2
- package/esm/charts/timeseries/types/timeseries.js.map +1 -1
- package/esm/charts/timeseries/utils/convert-to-timeseries/convert-to-timeseries.js.map +2 -2
- package/esm/charts/timeseries/utils/convert-to-timeseries/utils/unit-mapping.js.map +1 -1
- package/esm/charts/timeseries/utils/get-datapoint-value.js.map +1 -1
- package/esm/charts/timeseries/utils/iterate-config-slots.js.map +2 -2
- package/esm/charts/top-list/TopList.css +1 -1
- package/esm/charts/top-list/TopList.sty.js +1 -1
- package/esm/charts/top-list/TopList.sty.js.map +1 -1
- package/esm/charts/tree-map/TreeMap.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapCanvas.js.map +1 -1
- package/esm/charts/tree-map/components/TreeMapChartLayout.js +1 -1
- package/esm/charts/tree-map/components/TreeMapChartLayout.js.map +2 -2
- package/esm/charts/tree-map/components/TreeMapInternal.js.map +2 -2
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
- package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js.map +1 -1
- package/esm/charts/tree-map/hooks/useTreeMapChartConfig.js.map +1 -1
- package/esm/charts/tree-map/providers/StoreProvider.js +1 -1
- package/esm/charts/tree-map/providers/StoreProvider.js.map +2 -2
- package/esm/charts/tree-map/providers/TreeMapChartProviders.js +1 -2
- package/esm/charts/tree-map/providers/TreeMapChartProviders.js.map +2 -2
- package/esm/charts/tree-map/utils/build-tree-map-chart-config.js.map +1 -1
- package/esm/charts/tree-map/utils/get-colored-internal-range-data.js.map +1 -1
- package/esm/charts/tree-map/utils/iterate-slots.js.map +1 -1
- package/esm/charts/tree-map/utils/to-hierarchical-props.js.map +1 -1
- package/esm/charts/xy-chart/XYChartRoot.js +2 -2
- package/esm/charts/xy-chart/XYChartRoot.js.map +1 -1
- 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 -2
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +2 -2
- package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js.map +1 -1
- 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/rect-accessors.js +1 -1
- package/esm/charts/xy-chart/components/displays/rect-accessors.js.map +1 -1
- package/esm/charts/xy-chart/components/legend/XYChartLegend.js.map +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/XYLegend.js +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/XYLegend.js.map +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.css +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js +1 -1
- package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/overlay/XYChartOverlay.js +2 -4
- package/esm/charts/xy-chart/components/overlay/XYChartOverlay.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 +32 -12
- 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.map +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
- package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js.map +1 -1
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipContent.js +9 -1
- package/esm/charts/xy-chart/components/tooltip/XYChartTooltipContent.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/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/base-series.js.map +2 -2
- package/esm/charts/xy-chart/processing-strategies/strategies/dot-series.js +1 -1
- package/esm/charts/xy-chart/processing-strategies/strategies/dot-series.js.map +1 -1
- package/esm/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js +5 -2
- package/esm/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js.map +2 -2
- package/esm/charts/xy-chart/providers/XYChartStoreProvider.js +2 -2
- package/esm/charts/xy-chart/providers/XYChartStoreProvider.js.map +2 -2
- package/esm/charts/xy-chart/slots/CustomTooltip.js.map +1 -1
- package/esm/charts/xy-chart/types/xy-chart-internals.js.map +2 -2
- package/esm/charts/xy-chart/utils/iterate-slots.js.map +1 -1
- package/esm/charts/xy-chart/utils/query-closest-quadtree.js +3 -0
- package/esm/charts/xy-chart/utils/query-closest-quadtree.js.map +2 -2
- package/esm/charts/xy-chart/utils/query-hovered-grid.js +8 -2
- package/esm/charts/xy-chart/utils/query-hovered-grid.js.map +2 -2
- package/esm/charts/xy-chart/utils/query-shared.js +9 -0
- package/esm/charts/xy-chart/utils/query-shared.js.map +2 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/CategoricalBarToXY.js +20 -4
- package/esm/charts/xy-chart-adoption/categorical-bar/CategoricalBarToXY.js.map +2 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/constants.js +3 -1
- package/esm/charts/xy-chart-adoption/categorical-bar/constants.js.map +2 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/iterate-slots.js +8 -1
- package/esm/charts/xy-chart-adoption/categorical-bar/iterate-slots.js.map +2 -2
- package/esm/charts/xy-chart-adoption/categorical-bar/utils/map-threshold-to-xy.js +36 -0
- package/esm/charts/xy-chart-adoption/categorical-bar/utils/map-threshold-to-xy.js.map +7 -0
- package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js.map +1 -1
- package/esm/charts/xy-chart-adoption/timeseries/types/timeseries.js.map +1 -1
- package/esm/charts/xy-chart-adoption/timeseries/utils/iterate-config-slots.js.map +1 -1
- package/esm/content/accordion/Accordion.css +14 -14
- package/esm/content/accordion/Accordion.sty.js +8 -8
- package/esm/content/accordion/Accordion.sty.js.map +1 -1
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
- package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js.map +1 -1
- package/esm/content/ai-response/AiResponse.css +5 -5
- package/esm/content/ai-response/AiResponse.sty.js +2 -2
- package/esm/content/ai-response/AiResponse.sty.js.map +1 -1
- package/esm/content/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 +82 -41
- package/esm/content/chip/BaseChip.js +1 -2
- package/esm/content/chip/BaseChip.js.map +2 -2
- package/esm/content/chip/BaseChip.sty.js +6 -6
- package/esm/content/chip/BaseChip.sty.js.map +2 -2
- 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 +33 -19
- package/esm/content/chip/ChipDeleteButton.js +3 -5
- package/esm/content/chip/ChipDeleteButton.js.map +2 -2
- package/esm/content/chip/ChipDeleteButton.sty.js +7 -4
- package/esm/content/chip/ChipDeleteButton.sty.js.map +2 -2
- 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 +71 -3
- package/esm/content/chip/GroupedChip.js +26 -5
- package/esm/content/chip/GroupedChip.js.map +2 -2
- package/esm/content/chip/GroupedChip.sty.js +7 -4
- package/esm/content/chip/GroupedChip.sty.js.map +2 -2
- package/esm/content/chip/hooks/usePendingFocusAnnouncement.js +54 -0
- package/esm/content/chip/hooks/usePendingFocusAnnouncement.js.map +7 -0
- package/esm/content/chip/messages.js +12 -0
- package/esm/content/chip/messages.js.map +7 -0
- package/esm/content/chip-group/ChipGroup.css +4 -4
- package/esm/content/chip-group/ChipGroup.js +7 -2
- package/esm/content/chip-group/ChipGroup.js.map +2 -2
- 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.js +15 -1
- package/esm/content/chip-group/Control.js.map +2 -2
- package/esm/content/chip-group/Control.sty.js +1 -1
- package/esm/content/chip-group/Control.sty.js.map +1 -1
- package/esm/content/chip-group/HiddenCount.js.map +1 -1
- package/esm/content/chip-group/contexts/InternalChipGroupContext.js.map +2 -2
- 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 +1 -1
- package/esm/content/code-snippet/CodeSnippet.js.map +1 -1
- 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/HighlightExtended.js +3 -6
- package/esm/content/code-snippet/HighlightExtended.js.map +2 -2
- package/esm/content/empty-state/EmptyState.css +28 -28
- package/esm/content/empty-state/EmptyState.sty.js +7 -7
- package/esm/content/empty-state/EmptyState.sty.js.map +1 -1
- package/esm/content/empty-state/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 +6 -3
- package/esm/content/markdown/Markdown.js +11 -7
- package/esm/content/markdown/Markdown.js.map +2 -2
- package/esm/content/markdown/Markdown.sty.js +4 -2
- package/esm/content/markdown/Markdown.sty.js.map +2 -2
- package/esm/content/markdown/remark-frontmatter-to-table.js +62 -0
- package/esm/content/markdown/remark-frontmatter-to-table.js.map +7 -0
- package/esm/content/markdown/transformers/table-mapping.js +1 -1
- package/esm/content/markdown/transformers/table-mapping.js.map +1 -1
- package/esm/content/markdown/transformers/typography-mapping.css +9 -9
- package/esm/content/markdown/transformers/typography-mapping.sty.js +6 -6
- package/esm/content/markdown/transformers/typography-mapping.sty.js.map +1 -1
- package/esm/content/microguide/Microguide.css +11 -11
- package/esm/content/microguide/Microguide.sty.js +7 -7
- package/esm/content/microguide/Microguide.sty.js.map +1 -1
- package/esm/content/progress/ProgressBar.css +71 -71
- package/esm/content/progress/ProgressBar.sty.js +5 -5
- package/esm/content/progress/ProgressBar.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarIcon.css +2 -2
- package/esm/content/progress/ProgressBarIcon.sty.js +1 -1
- package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarLabel.css +3 -3
- package/esm/content/progress/ProgressBarLabel.sty.js +1 -1
- package/esm/content/progress/ProgressBarLabel.sty.js.map +1 -1
- package/esm/content/progress/ProgressBarValue.css +5 -5
- package/esm/content/progress/ProgressBarValue.sty.js +1 -1
- package/esm/content/progress/ProgressBarValue.sty.js.map +1 -1
- package/esm/content/progress/ProgressCircle.css +48 -40
- package/esm/content/progress/ProgressCircle.js +9 -17
- package/esm/content/progress/ProgressCircle.js.map +2 -2
- package/esm/content/progress/ProgressCircle.sty.js +12 -10
- package/esm/content/progress/ProgressCircle.sty.js.map +2 -2
- 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 +1031 -924
- 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/app-root/visual-refresh-overrides.js +2 -12
- package/esm/core/components/app-root/visual-refresh-overrides.js.map +2 -2
- package/esm/core/components/focus-scope/FocusScope.js +37 -14
- package/esm/core/components/focus-scope/FocusScope.js.map +2 -2
- package/esm/core/components/time-indicator/TimeIndicator.js +4 -4
- package/esm/core/components/time-indicator/TimeIndicator.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/hooks/useCallbackRef.js.map +1 -1
- package/esm/core/hooks/useCurrentTheme.js.map +1 -1
- package/esm/core/hooks/useFocusRing.js +1 -1
- package/esm/core/hooks/useFocusRing.js.map +1 -1
- package/esm/core/hooks/useFormControlState.js.map +1 -1
- package/esm/core/hooks/useId.js.map +1 -1
- package/esm/core/hooks/useMeasureChildren.js.map +1 -1
- package/esm/core/hooks/useMergeRefs.js.map +2 -2
- package/esm/core/hooks/usePrevious.js.map +1 -1
- package/esm/core/hooks/useRovingFocus.js +1 -1
- package/esm/core/hooks/useRovingFocus.js.map +2 -2
- package/esm/core/hooks/useSlots.js +7 -4
- package/esm/core/hooks/useSlots.js.map +2 -2
- package/esm/core/hooks/useVisualRefreshEnabled.js +1 -1
- package/esm/core/hooks/useVisualRefreshEnabled.js.map +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/providers/ScrollProvider.js.map +2 -2
- package/esm/core/sdk/app-state/AppStateContext.js +14 -1
- package/esm/core/sdk/app-state/AppStateContext.js.map +2 -2
- package/esm/core/sdk/app-state/AppStateProvider.js +9 -2
- package/esm/core/sdk/app-state/AppStateProvider.js.map +2 -2
- package/esm/core/sdk/app-state/app-state-store.js +4 -1
- package/esm/core/sdk/app-state/app-state-store.js.map +2 -2
- package/esm/core/sdk/app-state/useAppStateInternal.js +86 -13
- package/esm/core/sdk/app-state/useAppStateInternal.js.map +3 -3
- package/esm/core/sdk/sdk-logger.js +2 -2
- package/esm/core/sdk/sdk-logger.js.map +1 -1
- 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 +3 -1
- package/esm/core/styles/focusRingStatic.sty.js.map +2 -2
- 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/useIntervalCallback.js.map +1 -1
- package/esm/core/utils/can-receive-default-text-format.js.map +1 -1
- package/esm/core/utils/colorUtils.css +60 -60
- package/esm/core/utils/colorUtils.sty.js +2 -2
- package/esm/core/utils/colorUtils.sty.js.map +1 -1
- package/esm/core/utils/focus-management/get-first-tabbable-child.js +14 -0
- package/esm/core/utils/focus-management/get-first-tabbable-child.js.map +7 -0
- package/esm/core/utils/focus-management/get-last-tabbable-child.js +17 -0
- package/esm/core/utils/focus-management/get-last-tabbable-child.js.map +7 -0
- package/esm/core/utils/focus-management/is-focusable.js.map +1 -1
- package/esm/core/utils/focus-management/is-tabbable.js +43 -0
- package/esm/core/utils/focus-management/is-tabbable.js.map +7 -0
- package/esm/core/utils/get-inert-value.js.map +2 -2
- package/esm/core/utils/is-visual-refresh-enabled.js.map +1 -1
- package/esm/core/utils/isBrowser.js +1 -1
- package/esm/core/utils/isBrowser.js.map +1 -1
- package/esm/core/utils/logging.js.map +1 -1
- package/esm/core/utils/merge-props.js.map +1 -1
- package/esm/core/utils/threshold-utils.js.map +2 -2
- package/esm/core/utils/timeParser.js.map +1 -1
- package/esm/editors/base-code-editor/BaseCodeEditor.css +137 -136
- package/esm/editors/base-code-editor/BaseCodeEditor.js +119 -8
- package/esm/editors/base-code-editor/BaseCodeEditor.js.map +3 -3
- 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/baseCodeEditorMessages.js +20 -0
- package/esm/editors/base-code-editor/baseCodeEditorMessages.js.map +2 -2
- package/esm/editors/base-code-editor/configuration/getDefaultConfigurations.js +1 -1
- package/esm/editors/base-code-editor/configuration/getDefaultConfigurations.js.map +1 -1
- package/esm/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.css +40 -0
- package/esm/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.js +107 -0
- package/esm/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.js.map +7 -0
- package/esm/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.sty.js +7 -0
- package/esm/editors/base-code-editor/off-screen-diagnostic-indicators/OffScreenDiagnosticIndicators.sty.js.map +7 -0
- package/esm/editors/base-code-editor/off-screen-diagnostic-indicators/off-screen-diagnostic-indicators.utils.js +104 -0
- package/esm/editors/base-code-editor/off-screen-diagnostic-indicators/off-screen-diagnostic-indicators.utils.js.map +7 -0
- package/esm/editors/code-editor/CodeEditor.js +5 -3
- package/esm/editors/code-editor/CodeEditor.js.map +2 -2
- package/esm/editors/dql-editor/DQLEditor.js +2 -2
- 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/esm/editors/dql-editor/autocomplete/SuggestionsInfoSection.css +7 -7
- package/esm/editors/dql-editor/autocomplete/SuggestionsInfoSection.sty.js +3 -3
- package/esm/editors/dql-editor/autocomplete/SuggestionsInfoSection.sty.js.map +1 -1
- package/esm/filters/filter/FilterBar.js +3 -4
- package/esm/filters/filter/FilterBar.js.map +2 -2
- package/esm/filters/filter/Item.js.map +2 -2
- package/esm/filters/filter/utils/getTextFromNode.js.map +1 -1
- package/esm/filters/filter-field/FilterField.css +166 -143
- package/esm/filters/filter-field/FilterField.js +39 -17
- package/esm/filters/filter-field/FilterField.js.map +2 -2
- package/esm/filters/filter-field/FilterField.sty.js +29 -29
- package/esm/filters/filter-field/FilterField.sty.js.map +2 -2
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
- package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js.map +1 -1
- package/esm/filters/filter-field/components/FilterStatement.css +25 -14
- package/esm/filters/filter-field/components/FilterStatement.js +53 -24
- package/esm/filters/filter-field/components/FilterStatement.js.map +2 -2
- package/esm/filters/filter-field/components/FilterStatement.sty.js +9 -9
- package/esm/filters/filter-field/components/FilterStatement.sty.js.map +2 -2
- package/esm/filters/filter-field/contexts/FilterFieldContext.js +2 -0
- package/esm/filters/filter-field/contexts/FilterFieldContext.js.map +2 -2
- package/esm/filters/filter-field/decorations/decoration-marks.js +7 -1
- package/esm/filters/filter-field/decorations/decoration-marks.js.map +2 -2
- package/esm/filters/filter-field/decorations/filter-statements.js +1 -0
- package/esm/filters/filter-field/decorations/filter-statements.js.map +2 -2
- package/esm/filters/filter-field/decorations/wildcards-in-value.js +98 -0
- package/esm/filters/filter-field/decorations/wildcards-in-value.js.map +7 -0
- package/esm/filters/filter-field/editor-state-configs/pasting-update-listener.js.map +1 -1
- package/esm/filters/filter-field/extensions/interactions-extensions.js.map +1 -1
- package/esm/filters/filter-field/extensions/syntax-highlighting-extension.js +23 -19
- package/esm/filters/filter-field/extensions/syntax-highlighting-extension.js.map +2 -2
- package/esm/filters/filter-field/hooks/recent-and-pinned/usePinnedFilterSuggestions.js.map +1 -1
- package/esm/filters/filter-field/hooks/recent-and-pinned/useRecentFilterSuggestions.js.map +1 -1
- package/esm/filters/filter-field/hooks/useShowMore.js +1 -1
- package/esm/filters/filter-field/hooks/useShowMore.js.map +1 -1
- package/esm/filters/filter-field/hooks/useSuggestions.js +3 -7
- package/esm/filters/filter-field/hooks/useSuggestions.js.map +2 -2
- package/esm/filters/filter-field/hooks/useUpdatableCallback.js.map +1 -1
- package/esm/filters/filter-field/messages.js +19 -34
- package/esm/filters/filter-field/messages.js.map +2 -2
- package/esm/filters/filter-field/parser/parser.js.map +2 -2
- package/esm/filters/filter-field/suggestions/AriaLiveInfo.js +65 -161
- package/esm/filters/filter-field/suggestions/AriaLiveInfo.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 +11 -4
- 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 +8 -8
- package/esm/filters/filter-field/suggestions/SuggestionTips.js +1 -0
- package/esm/filters/filter-field/suggestions/SuggestionTips.js.map +2 -2
- package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js +6 -6
- package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js.map +1 -1
- package/esm/filters/filter-field/suggestions/Suggestions.js +9 -22
- 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 +36 -32
- 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/conversion/dql-conversion/statement-to-dql-fragments.js +61 -9
- package/esm/filters/filter-field/utils/conversion/dql-conversion/statement-to-dql-fragments.js.map +2 -2
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/comparator/search.js.map +1 -1
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/key/json-path.js.map +1 -1
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/key/key.js.map +1 -1
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/group.js.map +1 -1
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/inclusion.js +7 -3
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/inclusion.js.map +2 -2
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.js +49 -6
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.js.map +2 -2
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/value/free-text.js.map +1 -1
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/value/identifier.js +13 -1
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/value/identifier.js.map +2 -2
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/value/simple-value.js +92 -7
- package/esm/filters/filter-field/utils/conversion/lezer-tree-conversion/value/simple-value.js.map +2 -2
- package/esm/filters/filter-field/utils/conversion/tree-conversion.js.map +1 -1
- package/esm/filters/filter-field/utils/conversion/tree-precedence.js.map +1 -1
- package/esm/filters/filter-field/utils/conversion/tree-string-conversion.js +15 -4
- package/esm/filters/filter-field/utils/conversion/tree-string-conversion.js.map +2 -2
- package/esm/filters/filter-field/utils/escape-suggestion.js +6 -2
- package/esm/filters/filter-field/utils/escape-suggestion.js.map +2 -2
- package/esm/filters/filter-field/utils/generate-errors-or-diagnostics.js.map +1 -1
- package/esm/filters/filter-field/utils/get-suggestion-transaction.js +44 -3
- package/esm/filters/filter-field/utils/get-suggestion-transaction.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/operator-suggestions.js +1 -1
- package/esm/filters/filter-field/utils/suggestions-utils/operator-suggestions.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/shared-suggestions.js +4 -3
- package/esm/filters/filter-field/utils/suggestions-utils/shared-suggestions.js.map +2 -2
- package/esm/filters/filter-field/utils/suggestions-utils/value-suggestions.js +42 -0
- package/esm/filters/filter-field/utils/suggestions-utils/value-suggestions.js.map +2 -2
- package/esm/filters/filter-field/utils/validation-utils/operator-specification.js +8 -2
- package/esm/filters/filter-field/utils/validation-utils/operator-specification.js.map +2 -2
- package/esm/filters/filter-field/utils/validation-utils/type-guards.js.map +1 -1
- package/esm/filters/filter-field/utils/validation-utils/validation-helper-functions.js +33 -4
- package/esm/filters/filter-field/utils/validation-utils/validation-helper-functions.js.map +2 -2
- package/esm/filters/filter-field/utils/value-operations/add-filter.js.map +1 -1
- package/esm/filters/filter-field/utils/value-operations/remove-filter.js +4 -1
- package/esm/filters/filter-field/utils/value-operations/remove-filter.js.map +2 -2
- package/esm/filters/helper/queryHelper.js.map +1 -1
- package/esm/filters/index.js.map +1 -1
- package/esm/filters/segment-selector/CustomTrigger.js.map +1 -1
- package/esm/filters/segment-selector/SegmentSelector.css +4 -4
- package/esm/filters/segment-selector/SegmentSelector.js.map +2 -2
- package/esm/filters/segment-selector/SegmentSelector.sty.js +4 -4
- package/esm/filters/segment-selector/SegmentSelector.sty.js.map +1 -1
- package/esm/filters/segment-selector/hooks/useSegments.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.sty.js +8 -8
- package/esm/filters/segment-selector/parts/Overlay.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
- package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +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.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js +7 -7
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js.map +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js +1 -1
- package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js.map +1 -1
- package/esm/filters/timeframe-selector/TimeframeSelector.css +2 -2
- package/esm/filters/timeframe-selector/TimeframeSelector.js +4 -4
- package/esm/filters/timeframe-selector/TimeframeSelector.js.map +1 -1
- 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 +1 -1
- package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js.map +1 -1
- 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 +1 -1
- 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 +3 -0
- package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js.map +2 -2
- package/esm/filters/timeframe-selector/components/presets/PresetItem.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 +5 -0
- package/esm/filters/timeframe-selector/constants/timeframeSelectorMessages.js.map +2 -2
- package/esm/filters/timeframe-selector/utils/presets-helpers.js.map +1 -1
- package/esm/forms/_base-input/BaseInput.css +87 -87
- package/esm/forms/_base-input/BaseInput.js +4 -4
- package/esm/forms/_base-input/BaseInput.js.map +2 -2
- package/esm/forms/_base-input/BaseInput.sty.js +11 -11
- package/esm/forms/_base-input/BaseInput.sty.js.map +1 -1
- package/esm/forms/_base-input/BaseInputContent.css +7 -7
- package/esm/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/esm/forms/_base-input/BaseInputContent.sty.js.map +1 -1
- package/esm/forms/calendar/Calendar.css +48 -48
- package/esm/forms/calendar/Calendar.js +3 -3
- package/esm/forms/calendar/Calendar.js.map +1 -1
- 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 +36 -42
- 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/hooks/useCalendar.js +1 -2
- package/esm/forms/calendar/hooks/useCalendar.js.map +2 -2
- package/esm/forms/calendar/state/calendar-state-reducer.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 +1 -1
- package/esm/forms/checkbox/Checkbox.js.map +1 -1
- 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.js +2 -2
- package/esm/forms/date-time-picker/DateTimePicker.js.map +1 -1
- 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/hooks/useDateTimePicker.js.map +1 -1
- package/esm/forms/date-time-picker/hooks/useSpinButtons.js.map +1 -1
- 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.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeInput.sty.js +3 -3
- package/esm/forms/date-time-range-picker/DateTimeInput.sty.js.map +1 -1
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.css +27 -27
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.js +2 -2
- package/esm/forms/date-time-range-picker/DateTimeRangePicker.js.map +1 -1
- 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/hooks/useDateTimeInput.js +1 -1
- package/esm/forms/date-time-range-picker/hooks/useDateTimeInput.js.map +1 -1
- package/esm/forms/form/hooks/useInternalFormRegistration.js +1 -1
- package/esm/forms/form/hooks/useInternalFormRegistration.js.map +1 -1
- package/esm/forms/form/runtime/createFormRuntime.js +20 -6
- package/esm/forms/form/runtime/createFormRuntime.js.map +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.css +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.sty.js +2 -2
- package/esm/forms/forms-core/components/field-set/FieldSet.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field/FormField.js +1 -1
- package/esm/forms/forms-core/components/form-field/FormField.js.map +2 -2
- package/esm/forms/forms-core/components/form-field/FormField.sty.js +1 -1
- package/esm/forms/forms-core/components/form-field/FormField.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field/FormFieldMessageContextProvider.js +1 -1
- package/esm/forms/forms-core/components/form-field/FormFieldMessageContextProvider.js.map +1 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js +4 -2
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js.map +2 -2
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js +2 -2
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js.map +1 -1
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.css +3 -3
- package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.js +12 -10
- 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 +1 -1
- package/esm/forms/forms-core/components/label/Label.css +5 -5
- package/esm/forms/forms-core/components/label/Label.js +1 -1
- package/esm/forms/forms-core/components/label/Label.js.map +2 -2
- package/esm/forms/forms-core/components/label/Label.sty.js +2 -2
- package/esm/forms/forms-core/components/label/Label.sty.js.map +1 -1
- package/esm/forms/forms-core/contexts/FormFieldContext.js.map +1 -1
- package/esm/forms/forms-core/hooks/useFormControl.js +2 -2
- package/esm/forms/forms-core/hooks/useFormControl.js.map +2 -2
- package/esm/forms/forms-core/state/formfield-state-reducer.js +5 -5
- package/esm/forms/forms-core/state/formfield-state-reducer.js.map +1 -1
- package/esm/forms/forms-core/time/helpers.js.map +1 -1
- package/esm/forms/forms-core/time/timeParser.js.map +1 -1
- package/esm/forms/forms-core/time/useIntervalCallback.js.map +1 -1
- 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/number-input/NumberInput.js.map +1 -1
- package/esm/forms/number-input/NumberInputBase.js +0 -2
- package/esm/forms/number-input/NumberInputBase.js.map +2 -2
- package/esm/forms/number-input-v2/NumberInput.js +101 -166
- package/esm/forms/number-input-v2/NumberInput.js.map +2 -2
- package/esm/forms/password-input/PasswordInput.js +1 -1
- package/esm/forms/password-input/PasswordInput.js.map +1 -1
- package/esm/forms/radio/Radio.js.map +1 -1
- package/esm/forms/radio/RadioGroup.js +1 -1
- package/esm/forms/radio/RadioGroup.js.map +2 -2
- package/esm/forms/radio/RadioGroupContext.js.map +1 -1
- package/esm/forms/radio/styles.css +18 -18
- package/esm/forms/radio/styles.sty.js +8 -8
- package/esm/forms/radio/styles.sty.js.map +1 -1
- package/esm/forms/search-input/SearchInput.css +2 -2
- package/esm/forms/search-input/SearchInput.js.map +1 -1
- package/esm/forms/search-input/SearchInput.sty.js +1 -1
- package/esm/forms/search-input/SearchInput.sty.js.map +1 -1
- package/esm/forms/search-input/Stepper.css +5 -5
- package/esm/forms/search-input/Stepper.sty.js +3 -3
- package/esm/forms/search-input/Stepper.sty.js.map +1 -1
- package/esm/forms/select/Select.js +1 -1
- package/esm/forms/select/Select.js.map +1 -1
- package/esm/forms/select/components/HiddenSelect.js +0 -2
- package/esm/forms/select/components/HiddenSelect.js.map +2 -2
- package/esm/forms/select/components/MenuList.js.map +1 -1
- package/esm/forms/select/components/ValueContainer.js.map +2 -2
- package/esm/forms/select/components/sort-selected-options-first.js +1 -1
- package/esm/forms/select/components/sort-selected-options-first.js.map +1 -1
- package/esm/forms/select/hooks/use-select-options.js.map +1 -1
- package/esm/forms/select/hooks/use-select-slots.js.map +1 -1
- 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/shared-types.js.map +2 -2
- package/esm/forms/spin-buttons/SpinButton.css +8 -8
- package/esm/forms/spin-buttons/SpinButton.sty.js +2 -2
- package/esm/forms/spin-buttons/SpinButton.sty.js.map +1 -1
- package/esm/forms/spin-buttons/hooks/useSelection.js.map +1 -1
- package/esm/forms/spin-buttons/number-spin-button/NumberSpinButton.js.map +1 -1
- package/esm/forms/spin-buttons/text-spin-button/TextSpinButton.js.map +1 -1
- package/esm/forms/switch/Switch.css +36 -36
- package/esm/forms/switch/Switch.js +1 -1
- package/esm/forms/switch/Switch.js.map +2 -2
- package/esm/forms/switch/Switch.sty.js +5 -5
- package/esm/forms/switch/Switch.sty.js.map +1 -1
- package/esm/forms/text-area/TextArea.css +59 -59
- package/esm/forms/text-area/TextArea.js +1 -1
- package/esm/forms/text-area/TextArea.js.map +1 -1
- package/esm/forms/text-area/TextArea.sty.js +3 -3
- package/esm/forms/text-area/TextArea.sty.js.map +1 -1
- package/esm/forms/toggle-button-group/Item.js.map +1 -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/useCustomMessageEmitter.js +3 -1
- package/esm/forms/validation/useCustomMessageEmitter.js.map +2 -2
- package/esm/layouts/app-header/AppHeader.css +1 -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.js.map +1 -1
- 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.map +1 -1
- package/esm/layouts/app-header/action-group/ActionGroup.sty.js +1 -1
- package/esm/layouts/app-header/action-group/ActionGroup.sty.js.map +1 -1
- package/esm/layouts/app-header/action-group/NavItem.css +4 -4
- package/esm/layouts/app-header/action-group/NavItem.sty.js +3 -3
- package/esm/layouts/app-header/action-group/NavItem.sty.js.map +1 -1
- package/esm/layouts/app-header/app-icon/AppIcon.css +4 -4
- package/esm/layouts/app-header/app-icon/AppIcon.sty.js +1 -1
- package/esm/layouts/app-header/app-icon/AppIcon.sty.js.map +1 -1
- package/esm/layouts/container/Container.css +5 -5
- package/esm/layouts/container/Container.sty.js +1 -1
- package/esm/layouts/container/Container.sty.js.map +1 -1
- package/esm/layouts/divider/Divider.css +6 -6
- package/esm/layouts/divider/Divider.sty.js +1 -1
- package/esm/layouts/divider/Divider.sty.js.map +1 -1
- package/esm/layouts/help-menu/HelpMenu.css +20 -0
- package/esm/layouts/help-menu/HelpMenu.js +17 -18
- package/esm/layouts/help-menu/HelpMenu.js.map +2 -2
- package/esm/layouts/help-menu/HelpMenu.sty.js +9 -0
- package/esm/layouts/help-menu/HelpMenu.sty.js.map +7 -0
- package/esm/layouts/hooks/useLayoutStyles.js.map +1 -1
- package/esm/layouts/index.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.js.map +2 -2
- package/esm/layouts/page/DetailView.sty.js +2 -2
- package/esm/layouts/page/DetailView.sty.js.map +1 -1
- package/esm/layouts/page/Header.css +2 -2
- package/esm/layouts/page/Header.js.map +2 -2
- package/esm/layouts/page/Header.sty.js +1 -1
- package/esm/layouts/page/Header.sty.js.map +1 -1
- package/esm/layouts/page/Main.css +6 -6
- package/esm/layouts/page/Main.js.map +2 -2
- package/esm/layouts/page/Main.sty.js +4 -4
- package/esm/layouts/page/Main.sty.js.map +1 -1
- package/esm/layouts/page/Page.css +2 -2
- package/esm/layouts/page/Page.js.map +2 -2
- package/esm/layouts/page/Page.sty.js +1 -1
- package/esm/layouts/page/Page.sty.js.map +1 -1
- package/esm/layouts/page/Panel.js.map +2 -2
- package/esm/layouts/page/PanelControlButton.js.map +2 -2
- package/esm/layouts/page/Sidebar.css +35 -35
- package/esm/layouts/page/Sidebar.js.map +2 -2
- package/esm/layouts/page/Sidebar.sty.js +8 -8
- package/esm/layouts/page/Sidebar.sty.js.map +1 -1
- package/esm/layouts/page/page-context.js.map +1 -1
- package/esm/layouts/page/page-types.js.map +1 -1
- package/esm/layouts/page/panel-context.js.map +1 -1
- package/esm/layouts/page/panel-types.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.js +1 -1
- package/esm/layouts/page-layout/PageLayout.js.map +2 -2
- package/esm/layouts/page-layout/PageLayout.sty.js +6 -6
- package/esm/layouts/page-layout/PageLayout.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.sty.js +3 -3
- package/esm/layouts/page-layout/details-layout/DetailsControlBar.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/DetailsLayout.css +6 -6
- package/esm/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
- package/esm/layouts/page-layout/details-layout/DetailsLayout.sty.js.map +1 -1
- package/esm/layouts/page-layout/details-layout/Overlay.css +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/shared/TeleportTarget.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.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 +2 -0
- package/esm/navigation/menu/Content.js.map +2 -2
- package/esm/navigation/menu/Group.js +42 -16
- package/esm/navigation/menu/Group.js.map +2 -2
- package/esm/navigation/menu/Item.js +10 -5
- package/esm/navigation/menu/Item.js.map +2 -2
- package/esm/navigation/menu/Label.js +28 -14
- package/esm/navigation/menu/Label.js.map +2 -2
- package/esm/navigation/menu/Menu.css +17 -17
- package/esm/navigation/menu/Menu.js +2 -1
- 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 +4 -1
- 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/MobileSubTrigger.js +1 -0
- package/esm/navigation/menu/MobileSubTrigger.js.map +2 -2
- package/esm/navigation/menu/contexts/MenuGroupContext.js +6 -0
- package/esm/navigation/menu/contexts/MenuGroupContext.js.map +7 -0
- package/esm/navigation/tabs/RenderTab.css +14 -14
- package/esm/navigation/tabs/RenderTab.sty.js +3 -3
- package/esm/navigation/tabs/RenderTab.sty.js.map +1 -1
- package/esm/navigation/tabs/TabPanel.css +3 -3
- package/esm/navigation/tabs/TabPanel.sty.js +2 -2
- package/esm/navigation/tabs/TabPanel.sty.js.map +1 -1
- package/esm/navigation/tabs/Tabs.css +9 -9
- package/esm/navigation/tabs/Tabs.js.map +1 -1
- 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.js.map +1 -1
- package/esm/notifications/toast/ToastContainer.sty.js +1 -1
- package/esm/notifications/toast/ToastContainer.sty.js.map +1 -1
- package/esm/overlays/drawer/Drawer.css +9 -9
- package/esm/overlays/drawer/Drawer.sty.js +5 -5
- package/esm/overlays/drawer/Drawer.sty.js.map +1 -1
- package/esm/overlays/hooks/useOverlay.js.map +1 -1
- package/esm/overlays/hooks/useOverlayWithTrigger.js.map +1 -1
- package/esm/overlays/hooks/usePress.js +4 -4
- package/esm/overlays/hooks/usePress.js.map +1 -1
- package/esm/overlays/index.js.map +1 -1
- package/esm/overlays/modal/Modal.css +16 -16
- package/esm/overlays/modal/Modal.sty.js +7 -7
- package/esm/overlays/modal/Modal.sty.js.map +1 -1
- package/esm/overlays/overlay/Overlay.css +1 -1
- package/esm/overlays/overlay/Overlay.sty.js +1 -1
- package/esm/overlays/overlay/Overlay.sty.js.map +1 -1
- package/esm/overlays/sheet/Sheet.css +8 -7
- package/esm/overlays/sheet/Sheet.js +5 -4
- package/esm/overlays/sheet/Sheet.js.map +2 -2
- package/esm/overlays/sheet/Sheet.sty.js +5 -5
- package/esm/overlays/sheet/Sheet.sty.js.map +1 -1
- package/esm/overlays/tooltip/Tooltip.js +1 -1
- package/esm/overlays/tooltip/Tooltip.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/overlays/utils/popper-modifiers.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/safe-sprinkles.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 +25 -23
- 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.js.map +2 -2
- 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/ColumnPinning/DataTablePinningShadowHeaderCells.js +2 -2
- package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowHeaderCells.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableBody.css +2 -2
- package/esm/tables/DataTable/components/DataTableBody.js +1 -1
- package/esm/tables/DataTable/components/DataTableBody.js.map +1 -1
- 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.js +16 -6
- package/esm/tables/DataTable/components/DataTableCell.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/esm/tables/DataTable/components/DataTableCell.sty.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableContent.js +3 -10
- package/esm/tables/DataTable/components/DataTableContent.js.map +2 -2
- 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/DataTableDragScrollLock.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 +2 -2
- 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.js +7 -6
- package/esm/tables/DataTable/components/DataTableHeaderCell.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
- package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableRow.css +13 -13
- package/esm/tables/DataTable/components/DataTableRow.js +3 -3
- package/esm/tables/DataTable/components/DataTableRow.js.map +2 -2
- 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.js +2 -2
- package/esm/tables/DataTable/components/DataTableScrollShadow.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
- package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js.map +1 -1
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.css +21 -21
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.js +2 -2
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.js.map +2 -2
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
- package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js.map +1 -1
- package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.css +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.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/column-order-settings-dnd-utils.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnPinningMenu.js +9 -6
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnPinningMenu.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityToggle.js.map +2 -2
- 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 +11 -14
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettings.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js +5 -5
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +19 -19
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js +14 -20
- 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.js +4 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.js.map +2 -2
- 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.js +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsSectionHeader.js.map +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.js +2 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js.map +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js +1 -1
- package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js.map +2 -2
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js +2 -2
- package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js.map +1 -1
- package/esm/tables/DataTable/contexts/DataTableContext.js +9 -6
- package/esm/tables/DataTable/contexts/DataTableContext.js.map +2 -2
- package/esm/tables/DataTable/features/CellFormatter/CellFormatter.js +26 -14
- package/esm/tables/DataTable/features/CellFormatter/CellFormatter.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnFontStyle/ColumnFontStyle.js +31 -18
- package/esm/tables/DataTable/features/ColumnFontStyle/ColumnFontStyle.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.css +8 -8
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.js +54 -45
- package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.js.map +2 -2
- 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.map +2 -2
- package/esm/tables/DataTable/features/ColumnOrder/column-order-dnd-utils.js +6 -6
- package/esm/tables/DataTable/features/ColumnOrder/column-order-dnd-utils.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnOrder/column-order-utils.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnOrder/useColumnOrder.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnPinning/ColumnPinning.js +190 -173
- package/esm/tables/DataTable/features/ColumnPinning/ColumnPinning.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnPinning/column-pinning-utils.js +24 -14
- package/esm/tables/DataTable/features/ColumnPinning/column-pinning-utils.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnPinning/useColumnPinning.js +23 -17
- package/esm/tables/DataTable/features/ColumnPinning/useColumnPinning.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.js +40 -40
- package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.js.map +2 -2
- 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/ColumnSizing/useColumnSizing.js +1 -3
- package/esm/tables/DataTable/features/ColumnSizing/useColumnSizing.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
- package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.js.map +2 -2
- 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/ColumnVisibility/ColumnVisibility.js +102 -94
- package/esm/tables/DataTable/features/ColumnVisibility/ColumnVisibility.js.map +2 -2
- package/esm/tables/DataTable/features/ColumnVisibility/useColumnVisibility.js.map +2 -2
- package/esm/tables/DataTable/features/Config.js +18 -13
- package/esm/tables/DataTable/features/Config.js.map +2 -2
- package/esm/tables/DataTable/features/Download/Download.js +56 -52
- package/esm/tables/DataTable/features/Download/Download.js.map +2 -2
- package/esm/tables/DataTable/features/Download/useDownload.js.map +2 -2
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.css +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js.map +1 -1
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.css +3 -3
- package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.js.map +1 -1
- 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/GanttChart/GanttChart.js +10 -7
- package/esm/tables/DataTable/features/GanttChart/GanttChart.js.map +2 -2
- package/esm/tables/DataTable/features/GanttChart/useGanttChart.js.map +2 -2
- package/esm/tables/DataTable/features/Layout/Layout.js +117 -101
- package/esm/tables/DataTable/features/Layout/Layout.js.map +2 -2
- package/esm/tables/DataTable/features/Layout/layout-utils.js +5 -3
- package/esm/tables/DataTable/features/Layout/layout-utils.js.map +2 -2
- package/esm/tables/DataTable/features/Layout/useLayout.js.map +2 -2
- package/esm/tables/DataTable/features/LineWrap/LineWrap.js +33 -20
- package/esm/tables/DataTable/features/LineWrap/LineWrap.js.map +2 -2
- package/esm/tables/DataTable/features/LineWrap/useLineWrap.js.map +1 -1
- package/esm/tables/DataTable/features/LoadingState/LoadingState.css +3 -3
- package/esm/tables/DataTable/features/LoadingState/LoadingState.js.map +2 -2
- 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/LoadingState/useLoadingState.js.map +2 -2
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.css +5 -5
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.js +1 -1
- package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.js.map +2 -2
- 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/Pagination/Pagination.js +28 -25
- package/esm/tables/DataTable/features/Pagination/Pagination.js.map +2 -2
- package/esm/tables/DataTable/features/Pagination/pagination-row-model.js +1 -2
- package/esm/tables/DataTable/features/Pagination/pagination-row-model.js.map +2 -2
- package/esm/tables/DataTable/features/Pagination/usePagination.js +1 -3
- package/esm/tables/DataTable/features/Pagination/usePagination.js.map +2 -2
- package/esm/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
- package/esm/tables/DataTable/features/RowDetails/RowDetails.js +38 -30
- package/esm/tables/DataTable/features/RowDetails/RowDetails.js.map +2 -2
- 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/RowDetails/RowDetailsColumnDef.js.map +2 -2
- package/esm/tables/DataTable/features/RowDetails/components/RowDetailsElement.js.map +2 -2
- package/esm/tables/DataTable/features/RowDetails/details-row-model.js +17 -14
- package/esm/tables/DataTable/features/RowDetails/details-row-model.js.map +2 -2
- package/esm/tables/DataTable/features/RowIdentification/RowIdentification.js.map +2 -2
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.css +17 -17
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.js +48 -40
- package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.js.map +2 -2
- 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 +1 -1
- package/esm/tables/DataTable/features/RowInteractivity/hooks/useRowInteractivityProps.js.map +2 -2
- package/esm/tables/DataTable/features/RowInteractivity/useRowInteractivity.js +2 -2
- package/esm/tables/DataTable/features/RowInteractivity/useRowInteractivity.js.map +2 -2
- package/esm/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
- package/esm/tables/DataTable/features/RowOrder/RowOrder.js +34 -26
- package/esm/tables/DataTable/features/RowOrder/RowOrder.js.map +2 -2
- package/esm/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
- package/esm/tables/DataTable/features/RowOrder/RowOrder.sty.js.map +1 -1
- package/esm/tables/DataTable/features/RowOrder/components/RowOrderingDragAndDropContext.js +1 -1
- package/esm/tables/DataTable/features/RowOrder/components/RowOrderingDragAndDropContext.js.map +2 -2
- package/esm/tables/DataTable/features/RowOrder/row-order-column-utils.js.map +2 -2
- package/esm/tables/DataTable/features/RowOrder/row-order-model.js +8 -6
- package/esm/tables/DataTable/features/RowOrder/row-order-model.js.map +2 -2
- package/esm/tables/DataTable/features/RowOrder/row-order-utils.js.map +2 -2
- package/esm/tables/DataTable/features/RowOrder/useRowOrder.js.map +2 -2
- package/esm/tables/DataTable/features/RowSelection/RowSelection.js +78 -70
- package/esm/tables/DataTable/features/RowSelection/RowSelection.js.map +2 -2
- package/esm/tables/DataTable/features/RowSelection/RowSelectionCells.js +1 -1
- package/esm/tables/DataTable/features/RowSelection/RowSelectionCells.js.map +2 -2
- package/esm/tables/DataTable/features/RowSelection/useRowSelection.js +12 -7
- package/esm/tables/DataTable/features/RowSelection/useRowSelection.js.map +2 -2
- package/esm/tables/DataTable/features/Sorting/Sorting.css +34 -34
- package/esm/tables/DataTable/features/Sorting/Sorting.js +48 -45
- package/esm/tables/DataTable/features/Sorting/Sorting.js.map +2 -2
- 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/Sorting/compare-functions.js.map +1 -1
- package/esm/tables/DataTable/features/Sorting/sorted-row-model.js +1 -2
- package/esm/tables/DataTable/features/Sorting/sorted-row-model.js.map +2 -2
- package/esm/tables/DataTable/features/Sorting/useSorting.js.map +2 -2
- package/esm/tables/DataTable/features/SubRows/SubRows.css +19 -19
- package/esm/tables/DataTable/features/SubRows/SubRows.js +95 -84
- package/esm/tables/DataTable/features/SubRows/SubRows.js.map +2 -2
- 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/SubRows/components/SubRowCellContext.js.map +2 -2
- package/esm/tables/DataTable/features/SubRows/components/SubRowExpanders.js.map +2 -2
- package/esm/tables/DataTable/features/SubRows/sub-rows-utils.js.map +2 -2
- package/esm/tables/DataTable/features/SubRows/subrows-row-model.js +1 -2
- package/esm/tables/DataTable/features/SubRows/subrows-row-model.js.map +2 -2
- package/esm/tables/DataTable/features/SubRows/useSubRows.js +1 -1
- package/esm/tables/DataTable/features/SubRows/useSubRows.js.map +2 -2
- package/esm/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
- package/esm/tables/DataTable/features/Thresholds/Thresholds.js +34 -27
- package/esm/tables/DataTable/features/Thresholds/Thresholds.js.map +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/Thresholds/normalize-rules.js.map +1 -1
- package/esm/tables/DataTable/features/Thresholds/useThresholds.js.map +2 -2
- package/esm/tables/DataTable/features/UserActions/FloatingMenu.js.map +1 -1
- package/esm/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/esm/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/esm/tables/DataTable/features/UserActions/RowActions.sty.js.map +1 -1
- package/esm/tables/DataTable/features/UserActions/UserActions.css +20 -20
- package/esm/tables/DataTable/features/UserActions/UserActions.js +85 -69
- package/esm/tables/DataTable/features/UserActions/UserActions.js.map +2 -2
- package/esm/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
- package/esm/tables/DataTable/features/UserActions/UserActions.sty.js.map +1 -1
- package/esm/tables/DataTable/features/UserActions/UserActionsMenu.js +5 -5
- package/esm/tables/DataTable/features/UserActions/UserActionsMenu.js.map +2 -2
- package/esm/tables/DataTable/features/UserActions/useCloseMenuOnScroll.js +2 -2
- package/esm/tables/DataTable/features/UserActions/useCloseMenuOnScroll.js.map +2 -2
- package/esm/tables/DataTable/features/UserActions/useUserActions.js.map +1 -1
- package/esm/tables/DataTable/features/VirtualScrolling/VirtualScrolling.js +82 -77
- package/esm/tables/DataTable/features/VirtualScrolling/VirtualScrolling.js.map +2 -2
- package/esm/tables/DataTable/features/VisualVariants/VisualVariants.js +22 -17
- package/esm/tables/DataTable/features/VisualVariants/VisualVariants.js.map +2 -2
- package/esm/tables/DataTable/features/VisualVariants/useVisualVariants.js.map +2 -2
- package/esm/tables/DataTable/features/createCoreRowModel.js +1 -2
- package/esm/tables/DataTable/features/createCoreRowModel.js.map +2 -2
- package/esm/tables/DataTable/features/features.js +9 -1
- package/esm/tables/DataTable/features/features.js.map +2 -2
- package/esm/tables/DataTable/features/types/table.types.js +18 -0
- package/esm/tables/DataTable/features/types/table.types.js.map +7 -0
- package/esm/tables/DataTable/hooks/makeAccessorFunction.js.map +1 -1
- package/esm/tables/DataTable/hooks/useBuiltInColumns.js.map +2 -2
- package/esm/tables/DataTable/hooks/useColumnRemeasure.js +1 -1
- package/esm/tables/DataTable/hooks/useColumnRemeasure.js.map +2 -2
- package/esm/tables/DataTable/hooks/useHeaderCellInteractions.js +5 -3
- package/esm/tables/DataTable/hooks/useHeaderCellInteractions.js.map +2 -2
- package/esm/tables/DataTable/hooks/useHeaderDragAndDrop.js.map +2 -2
- package/esm/tables/DataTable/hooks/useTable/datatable-typeguards.js +4 -4
- package/esm/tables/DataTable/hooks/useTable/datatable-typeguards.js.map +2 -2
- package/esm/tables/DataTable/messages.js +2 -2
- package/esm/tables/DataTable/messages.js.map +2 -2
- package/esm/tables/SimpleTable/SimpleTable.css +27 -27
- package/esm/tables/SimpleTable/SimpleTable.js +9 -6
- package/esm/tables/SimpleTable/SimpleTable.js.map +2 -2
- package/esm/tables/SimpleTable/SimpleTable.sty.js +1 -1
- package/esm/tables/SimpleTable/SimpleTable.sty.js.map +1 -1
- package/esm/tables/hooks/useFilteredData.js +1 -4
- package/esm/tables/hooks/useFilteredData.js.map +2 -2
- package/esm/tables/hooks/useLockedRowOrder.js +1 -1
- package/esm/tables/hooks/useLockedRowOrder.js.map +1 -1
- package/esm/tables/index.js.map +1 -1
- package/esm/tables/utils/datatable-config-utils.js.map +1 -1
- package/esm/tables/utils/get-column-label.js.map +2 -2
- package/esm/tables/utils/is-target-interactive.js +4 -2
- package/esm/tables/utils/is-target-interactive.js.map +2 -2
- package/esm/typography/block-quote/Blockquote.css +2 -2
- package/esm/typography/block-quote/Blockquote.sty.js +1 -1
- package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
- package/esm/typography/code/Code.css +9 -2
- package/esm/typography/code/Code.sty.js +1 -1
- package/esm/typography/code/Code.sty.js.map +1 -1
- package/esm/typography/emphasis/Emphasis.css +1 -1
- package/esm/typography/emphasis/Emphasis.sty.js +1 -1
- package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
- package/esm/typography/external-link/ExternalLink.css +6 -6
- package/esm/typography/external-link/ExternalLink.sty.js +1 -1
- package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
- package/esm/typography/heading/Heading.css +7 -7
- package/esm/typography/heading/Heading.sty.js +1 -1
- package/esm/typography/heading/Heading.sty.js.map +1 -1
- package/esm/typography/highlight/Highlight.css +2 -2
- package/esm/typography/highlight/Highlight.sty.js +1 -1
- package/esm/typography/highlight/Highlight.sty.js.map +1 -1
- package/esm/typography/link/Link.css +4 -4
- package/esm/typography/link/Link.sty.js +1 -1
- package/esm/typography/link/Link.sty.js.map +1 -1
- package/esm/typography/list/List.css +4 -4
- package/esm/typography/list/List.sty.js +2 -2
- package/esm/typography/list/List.sty.js.map +1 -1
- package/esm/typography/paragraph/Paragraph.css +3 -3
- package/esm/typography/paragraph/Paragraph.sty.js +1 -1
- package/esm/typography/paragraph/Paragraph.sty.js.map +1 -1
- package/esm/typography/strikethrough/Strikethrough.css +1 -1
- package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
- package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
- package/esm/typography/strong/Strong.css +1 -1
- package/esm/typography/strong/Strong.sty.js +1 -1
- package/esm/typography/strong/Strong.sty.js.map +1 -1
- package/esm/typography/text/Text.css +3 -3
- package/esm/typography/text/Text.sty.js +1 -1
- package/esm/typography/text/Text.sty.js.map +1 -1
- package/esm/typography/text-ellipsis/TextEllipsis.css +6 -6
- package/esm/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
- package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +1 -1
- package/filters/filter/FilterBar.js +3 -4
- package/filters/filter-field/FilterField.css +166 -143
- package/filters/filter-field/FilterField.css.d.ts +3 -3
- package/filters/filter-field/FilterField.d.ts +2 -1
- package/filters/filter-field/FilterField.js +37 -16
- package/filters/filter-field/FilterField.sty.js +29 -29
- package/filters/filter-field/FilterField.types.d.ts +9 -0
- package/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
- package/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
- package/filters/filter-field/components/FilterStatement.css +25 -14
- package/filters/filter-field/components/FilterStatement.css.d.ts +1 -1
- package/filters/filter-field/components/FilterStatement.js +53 -24
- package/filters/filter-field/components/FilterStatement.sty.js +9 -9
- package/filters/filter-field/contexts/FilterFieldContext.js +2 -0
- package/filters/filter-field/contexts/FilterFieldContext.types.d.ts +8 -1
- package/filters/filter-field/decorations/decoration-marks.d.ts +2 -0
- package/filters/filter-field/decorations/decoration-marks.js +7 -1
- package/filters/filter-field/decorations/filter-statements.js +1 -0
- package/filters/filter-field/decorations/wildcards-in-value.d.ts +23 -0
- package/filters/filter-field/decorations/wildcards-in-value.js +116 -0
- package/filters/filter-field/extensions/syntax-highlighting-extension.d.ts +1 -1
- package/filters/filter-field/extensions/syntax-highlighting-extension.js +23 -19
- package/filters/filter-field/hooks/useShowMore.js +1 -1
- package/filters/filter-field/hooks/useSuggestions.d.ts +0 -1
- package/filters/filter-field/hooks/useSuggestions.js +3 -7
- package/filters/filter-field/messages.d.ts +12 -27
- package/filters/filter-field/messages.js +19 -34
- package/filters/filter-field/suggestions/AriaLiveInfo.d.ts +7 -7
- package/filters/filter-field/suggestions/AriaLiveInfo.js +62 -158
- 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.d.ts +10 -0
- package/filters/filter-field/suggestions/Suggestion.js +11 -4
- 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 +8 -8
- package/filters/filter-field/suggestions/SuggestionTips.js +1 -0
- package/filters/filter-field/suggestions/SuggestionTips.sty.js +6 -6
- package/filters/filter-field/suggestions/Suggestions.js +8 -15
- package/filters/filter-field/suggestions/SuggestionsOverlay.css +7 -7
- package/filters/filter-field/suggestions/SuggestionsOverlay.js +36 -32
- package/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
- package/filters/filter-field/types/conversion-tree-nodes.d.ts +1 -1
- package/filters/filter-field/types/tree-nodes.d.ts +1 -1
- package/filters/filter-field/types/validation.d.ts +1 -1
- package/filters/filter-field/utils/conversion/dql-conversion/statement-to-dql-fragments.js +61 -9
- package/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/inclusion.js +7 -3
- package/filters/filter-field/utils/conversion/lezer-tree-conversion/parent-node/statement.js +49 -6
- package/filters/filter-field/utils/conversion/lezer-tree-conversion/value/identifier.js +13 -1
- package/filters/filter-field/utils/conversion/lezer-tree-conversion/value/simple-value.d.ts +1 -0
- package/filters/filter-field/utils/conversion/lezer-tree-conversion/value/simple-value.js +92 -7
- package/filters/filter-field/utils/conversion/tree-string-conversion.js +15 -4
- package/filters/filter-field/utils/escape-suggestion.js +6 -2
- package/filters/filter-field/utils/get-suggestion-transaction.js +44 -3
- package/filters/filter-field/utils/suggestions-utils/operator-suggestions.js +1 -1
- package/filters/filter-field/utils/suggestions-utils/shared-suggestions.js +4 -3
- package/filters/filter-field/utils/suggestions-utils/value-suggestions.js +42 -0
- package/filters/filter-field/utils/validation-utils/operator-specification.js +8 -2
- package/filters/filter-field/utils/validation-utils/validation-helper-functions.js +33 -4
- package/filters/filter-field/utils/value-operations/remove-filter.js +4 -1
- package/filters/segment-selector/SegmentSelector.css +4 -4
- package/filters/segment-selector/SegmentSelector.sty.js +4 -4
- package/filters/segment-selector/parts/EmptySegments.css +1 -1
- package/filters/segment-selector/parts/EmptySegments.sty.js +1 -1
- package/filters/segment-selector/parts/Overlay.css +8 -8
- package/filters/segment-selector/parts/Overlay.sty.js +8 -8
- package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
- package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
- package/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +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.sty.js +7 -7
- package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
- package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
- package/filters/segment-selector/parts/selectionBar/ValueSelect.js +1 -1
- package/filters/timeframe-selector/TimeframeSelector.css +2 -2
- package/filters/timeframe-selector/TimeframeSelector.js +4 -4
- package/filters/timeframe-selector/TimeframeSelector.sty.js +2 -2
- package/filters/timeframe-selector/TimeframeSelectorRoot.js +1 -1
- 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.js +1 -1
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js +4 -4
- package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlayFooter.js +3 -0
- 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.d.ts +5 -0
- package/filters/timeframe-selector/constants/timeframeSelectorMessages.js +5 -0
- package/forms/_base-input/BaseInput.css +87 -87
- package/forms/_base-input/BaseInput.js +4 -4
- package/forms/_base-input/BaseInput.sty.js +11 -11
- package/forms/_base-input/BaseInputContent.css +7 -7
- package/forms/_base-input/BaseInputContent.sty.js +1 -1
- package/forms/calendar/Calendar.css +48 -48
- package/forms/calendar/Calendar.js +3 -3
- package/forms/calendar/Calendar.sty.js +12 -12
- package/forms/calendar/CalendarRoot.js +36 -42
- 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/hooks/useCalendar.js +1 -2
- package/forms/calendar/variables.sty.js +2 -2
- package/forms/checkbox/Checkbox.css +20 -20
- package/forms/checkbox/Checkbox.js +1 -1
- package/forms/checkbox/Checkbox.sty.js +3 -3
- package/forms/date-time-picker/DateTimePicker.css +42 -42
- package/forms/date-time-picker/DateTimePicker.js +2 -2
- package/forms/date-time-picker/DateTimePicker.sty.js +6 -6
- 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.sty.js +3 -3
- package/forms/date-time-range-picker/DateTimeRangePicker.css +27 -27
- package/forms/date-time-range-picker/DateTimeRangePicker.js +2 -2
- package/forms/date-time-range-picker/DateTimeRangePicker.sty.js +4 -4
- package/forms/date-time-range-picker/hooks/useDateTimeInput.js +1 -1
- package/forms/form/hooks/useInternalFormRegistration.js +1 -1
- package/forms/form/runtime/createFormRuntime.js +20 -6
- package/forms/forms-core/components/field-set/FieldSet.css +2 -2
- package/forms/forms-core/components/field-set/FieldSet.sty.js +2 -2
- package/forms/forms-core/components/form-field/FormField.js +1 -1
- package/forms/forms-core/components/form-field/FormField.sty.js +1 -1
- package/forms/forms-core/components/form-field/FormFieldMessageContextProvider.js +1 -1
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.d.ts +8 -0
- package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js +4 -2
- 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 +19 -2
- package/forms/forms-core/components/form-field-messages/FormFieldMessages.js +11 -10
- package/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js +1 -1
- package/forms/forms-core/components/label/Label.css +5 -5
- package/forms/forms-core/components/label/Label.js +1 -1
- package/forms/forms-core/components/label/Label.sty.js +2 -2
- package/forms/forms-core/hooks/useFormControl.js +2 -2
- package/forms/forms-core/state/formfield-state-reducer.js +5 -5
- 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/index.d.ts +1 -1
- package/forms/number-input/NumberInputBase.js +0 -2
- package/forms/number-input-v2/NumberInput.js +101 -166
- package/forms/password-input/PasswordInput.js +1 -1
- package/forms/radio/RadioGroup.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.sty.js +3 -3
- package/forms/select/Select.js +1 -1
- package/forms/select/components/HiddenSelect.js +0 -2
- package/forms/select/components/sort-selected-options-first.js +1 -1
- package/forms/select/styles/Select.css +46 -46
- package/forms/select/styles/Select.sty.js +24 -24
- package/forms/spin-buttons/SpinButton.css +8 -8
- package/forms/spin-buttons/SpinButton.sty.js +2 -2
- package/forms/switch/Switch.css +36 -36
- package/forms/switch/Switch.js +1 -1
- package/forms/switch/Switch.sty.js +5 -5
- package/forms/text-area/TextArea.css +59 -59
- package/forms/text-area/TextArea.js +1 -1
- package/forms/text-area/TextArea.sty.js +3 -3
- package/forms/toggle-button-group/styles.css +58 -58
- package/forms/toggle-button-group/styles.sty.js +15 -15
- package/forms/validation/useCustomMessageEmitter.js +3 -1
- package/lang/en.json +286 -48
- package/lang/ja.json +80 -12
- package/lang/uncompiled/en.json +67 -31
- package/lang/uncompiled/ja.json +30 -6
- package/layouts/app-header/AppHeader.css +1 -1
- package/layouts/app-header/AppHeader.sty.js +1 -1
- package/layouts/app-header/Navigation.css +9 -9
- package/layouts/app-header/Navigation.sty.js +5 -5
- package/layouts/app-header/action-group/ActionButton.css +17 -17
- package/layouts/app-header/action-group/ActionButton.sty.js +3 -3
- package/layouts/app-header/action-group/ActionGroup.css +1 -1
- package/layouts/app-header/action-group/ActionGroup.sty.js +1 -1
- package/layouts/app-header/action-group/NavItem.css +4 -4
- package/layouts/app-header/action-group/NavItem.sty.js +3 -3
- package/layouts/app-header/app-icon/AppIcon.css +4 -4
- package/layouts/app-header/app-icon/AppIcon.sty.js +1 -1
- package/layouts/container/Container.css +5 -5
- package/layouts/container/Container.sty.js +1 -1
- package/layouts/divider/Divider.css +6 -6
- package/layouts/divider/Divider.sty.js +1 -1
- package/layouts/help-menu/HelpMenu.css +20 -0
- package/layouts/help-menu/HelpMenu.css.d.ts +9 -0
- package/layouts/help-menu/HelpMenu.js +17 -18
- package/layouts/help-menu/HelpMenu.sty.js +27 -0
- 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.js +1 -1
- package/layouts/page-layout/PageLayout.sty.js +6 -6
- package/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
- package/layouts/page-layout/details-layout/DetailsControlBar.sty.js +3 -3
- package/layouts/page-layout/details-layout/DetailsLayout.css +6 -6
- package/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
- package/layouts/page-layout/details-layout/Overlay.css +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.sty.js +4 -4
- package/navigation/breadcrumbs/Breadcrumbs.css +9 -9
- package/navigation/breadcrumbs/Breadcrumbs.sty.js +5 -5
- package/navigation/menu/Content.js +2 -0
- package/navigation/menu/Group.d.ts +6 -0
- package/navigation/menu/Group.js +34 -14
- package/navigation/menu/Item.d.ts +9 -4
- package/navigation/menu/Item.js +10 -5
- package/navigation/menu/Label.d.ts +3 -0
- package/navigation/menu/Label.js +27 -13
- package/navigation/menu/Menu.css +17 -17
- package/navigation/menu/Menu.js +12 -1
- package/navigation/menu/Menu.sty.js +8 -8
- package/navigation/menu/MobileContent.d.ts +1 -0
- package/navigation/menu/MobileContent.js +4 -1
- package/navigation/menu/MobileMenu.css +14 -14
- package/navigation/menu/MobileMenu.sty.js +8 -8
- package/navigation/menu/MobileSubTrigger.js +1 -0
- package/navigation/menu/contexts/MenuGroupContext.d.ts +12 -0
- package/{charts/core/context/ChartVariantContext.js → navigation/menu/contexts/MenuGroupContext.js} +5 -5
- 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.sty.js +5 -5
- package/overlays/hooks/usePress.js +4 -4
- package/overlays/modal/Modal.css +16 -16
- package/overlays/modal/Modal.sty.js +7 -7
- package/overlays/overlay/Overlay.css +1 -1
- package/overlays/overlay/Overlay.sty.js +1 -1
- package/overlays/sheet/Sheet.css +8 -7
- package/overlays/sheet/Sheet.js +5 -4
- package/overlays/sheet/Sheet.sty.js +5 -5
- package/overlays/tooltip/Tooltip.js +1 -1
- package/overlays/tooltip/tooltip.css +18 -18
- package/overlays/tooltip/tooltip.sty.js +3 -3
- package/package.json +8 -6
- 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.d.ts +1 -1
- package/tables/DataTable/DataTable.js +25 -23
- 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.d.ts +6 -5
- package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
- package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowHeaderCells.js +2 -2
- package/tables/DataTable/components/DataTableBody.css +2 -2
- package/tables/DataTable/components/DataTableBody.js +1 -1
- package/tables/DataTable/components/DataTableBody.sty.js +2 -2
- package/tables/DataTable/components/DataTableCell.css +83 -83
- package/tables/DataTable/components/DataTableCell.js +15 -4
- package/tables/DataTable/components/DataTableCell.sty.js +5 -5
- package/tables/DataTable/components/DataTableContent.js +3 -10
- package/tables/DataTable/components/DataTableDefaultCell.css +23 -23
- package/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
- package/tables/DataTable/components/DataTableDragScrollLock.d.ts +3 -3
- 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 +2 -2
- package/tables/DataTable/components/DataTableHeader.sty.js +2 -2
- package/tables/DataTable/components/DataTableHeaderCell.css +64 -64
- package/tables/DataTable/components/DataTableHeaderCell.js +7 -6
- package/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
- package/tables/DataTable/components/DataTableRow.css +13 -13
- package/tables/DataTable/components/DataTableRow.d.ts +3 -2
- package/tables/DataTable/components/DataTableRow.js +3 -3
- package/tables/DataTable/components/DataTableRow.sty.js +1 -1
- package/tables/DataTable/components/DataTableScrollShadow.css +10 -10
- package/tables/DataTable/components/DataTableScrollShadow.js +2 -2
- package/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
- package/tables/DataTable/components/DataTableVirtualizationContainer.css +21 -21
- package/tables/DataTable/components/DataTableVirtualizationContainer.d.ts +3 -3
- package/tables/DataTable/components/DataTableVirtualizationContainer.js +2 -2
- 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.d.ts +2 -2
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/column-order-settings-dnd-utils.d.ts +7 -6
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnPinningMenu.d.ts +8 -7
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnPinningMenu.js +5 -5
- package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnVisibilityToggle.d.ts +6 -5
- 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 +11 -14
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js +5 -5
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +19 -19
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.d.ts +4 -4
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js +14 -20
- 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.d.ts +9 -8
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.js +4 -1
- 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.js +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.d.ts +5 -0
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.js +2 -1
- package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-types.d.ts +2 -2
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.d.ts +10 -9
- package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js +1 -1
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
- package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js +2 -2
- package/tables/DataTable/contexts/DataTableContext.d.ts +6 -6
- package/tables/DataTable/contexts/DataTableContext.js +9 -6
- package/tables/DataTable/features/CellFormatter/CellFormatter.d.ts +4 -3
- package/tables/DataTable/features/CellFormatter/CellFormatter.js +26 -14
- package/tables/DataTable/features/ColumnFontStyle/ColumnFontStyle.d.ts +6 -6
- package/tables/DataTable/features/ColumnFontStyle/ColumnFontStyle.js +28 -18
- package/tables/DataTable/features/ColumnFontStyle/column-font-style-types.d.ts +0 -9
- package/tables/DataTable/features/ColumnOrder/ColumnOrder.css +8 -8
- package/tables/DataTable/features/ColumnOrder/ColumnOrder.d.ts +13 -13
- package/tables/DataTable/features/ColumnOrder/ColumnOrder.js +51 -45
- package/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js +4 -4
- package/tables/DataTable/features/ColumnOrder/ColumnOrderDragAndDropContext.d.ts +1 -2
- package/tables/DataTable/features/ColumnOrder/column-order-dnd-utils.d.ts +5 -5
- package/tables/DataTable/features/ColumnOrder/column-order-dnd-utils.js +6 -6
- package/tables/DataTable/features/ColumnOrder/column-order-types.d.ts +5 -16
- package/tables/DataTable/features/ColumnOrder/column-order-utils.d.ts +7 -6
- package/tables/DataTable/features/ColumnOrder/useColumnOrder.d.ts +2 -3
- package/tables/DataTable/features/ColumnPinning/ColumnPinning.d.ts +22 -19
- package/tables/DataTable/features/ColumnPinning/ColumnPinning.js +181 -167
- package/tables/DataTable/features/ColumnPinning/column-pinning-types.d.ts +4 -15
- package/tables/DataTable/features/ColumnPinning/column-pinning-utils.d.ts +12 -2
- package/tables/DataTable/features/ColumnPinning/column-pinning-utils.js +24 -14
- package/tables/DataTable/features/ColumnPinning/useColumnPinning.d.ts +3 -3
- package/tables/DataTable/features/ColumnPinning/useColumnPinning.js +23 -17
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.d.ts +6 -7
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.js +40 -40
- package/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
- package/tables/DataTable/features/ColumnSizing/useColumnSizing.d.ts +2 -3
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.d.ts +5 -4
- package/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
- package/tables/DataTable/features/ColumnVisibility/ColumnVisibility.d.ts +16 -16
- package/tables/DataTable/features/ColumnVisibility/ColumnVisibility.js +97 -92
- package/tables/DataTable/features/ColumnVisibility/column-visibility-types.d.ts +10 -20
- package/tables/DataTable/features/ColumnVisibility/useColumnVisibility.d.ts +2 -3
- package/tables/DataTable/features/Config.d.ts +2 -3
- package/tables/DataTable/features/Config.js +18 -13
- package/tables/DataTable/features/Download/Download.d.ts +12 -11
- package/tables/DataTable/features/Download/Download.js +53 -52
- package/tables/DataTable/features/Download/download-types.d.ts +0 -10
- package/tables/DataTable/features/Download/useDownload.d.ts +4 -4
- 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/GanttChart/GanttChart.d.ts +6 -6
- package/tables/DataTable/features/GanttChart/GanttChart.js +10 -7
- package/tables/DataTable/features/GanttChart/useGanttChart.d.ts +2 -3
- package/tables/DataTable/features/Layout/Layout.d.ts +17 -17
- package/tables/DataTable/features/Layout/Layout.js +114 -101
- package/tables/DataTable/features/Layout/layout-types.d.ts +0 -11
- package/tables/DataTable/features/Layout/layout-utils.d.ts +6 -5
- package/tables/DataTable/features/Layout/layout-utils.js +5 -3
- package/tables/DataTable/features/Layout/useLayout.d.ts +4 -4
- package/tables/DataTable/features/LineWrap/LineWrap.d.ts +9 -8
- package/tables/DataTable/features/LineWrap/LineWrap.js +30 -20
- package/tables/DataTable/features/LineWrap/useLineWrap.d.ts +3 -3
- package/tables/DataTable/features/LoadingState/LoadingState.css +3 -3
- package/tables/DataTable/features/LoadingState/LoadingState.d.ts +2 -3
- package/tables/DataTable/features/LoadingState/LoadingState.sty.js +3 -3
- package/tables/DataTable/features/LoadingState/useLoadingState.d.ts +2 -3
- package/tables/DataTable/features/MeterBarChart/MeterBarChart.css +5 -5
- package/tables/DataTable/features/MeterBarChart/MeterBarChart.d.ts +5 -5
- package/tables/DataTable/features/MeterBarChart/MeterBarChart.js +1 -1
- package/tables/DataTable/features/MeterBarChart/MeterBarChart.sty.js +2 -2
- package/tables/DataTable/features/Pagination/Pagination.d.ts +12 -11
- package/tables/DataTable/features/Pagination/Pagination.js +28 -25
- package/tables/DataTable/features/Pagination/pagination-row-model.d.ts +3 -2
- package/tables/DataTable/features/Pagination/pagination-row-model.js +1 -2
- package/tables/DataTable/features/Pagination/pagination-types.d.ts +2 -2
- package/tables/DataTable/features/Pagination/usePagination.d.ts +2 -3
- package/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
- package/tables/DataTable/features/RowDetails/RowDetails.d.ts +15 -14
- package/tables/DataTable/features/RowDetails/RowDetails.js +35 -30
- package/tables/DataTable/features/RowDetails/RowDetails.sty.js +3 -3
- package/tables/DataTable/features/RowDetails/components/RowDetailsElement.d.ts +4 -3
- package/tables/DataTable/features/RowDetails/details-row-model.d.ts +3 -2
- package/tables/DataTable/features/RowDetails/details-row-model.js +17 -14
- package/tables/DataTable/features/RowDetails/row-details-types.d.ts +1 -11
- package/tables/DataTable/features/RowIdentification/RowIdentification.d.ts +2 -2
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.css +17 -17
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.d.ts +14 -13
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.js +45 -40
- package/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js +1 -1
- package/tables/DataTable/features/RowInteractivity/hooks/useRowInteractivityProps.d.ts +3 -2
- package/tables/DataTable/features/RowInteractivity/hooks/useRowInteractivityProps.js +1 -1
- package/tables/DataTable/features/RowInteractivity/row-interactivity-types.d.ts +0 -10
- package/tables/DataTable/features/RowInteractivity/useRowInteractivity.d.ts +2 -3
- package/tables/DataTable/features/RowInteractivity/useRowInteractivity.js +2 -2
- package/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
- package/tables/DataTable/features/RowOrder/RowOrder.d.ts +10 -10
- package/tables/DataTable/features/RowOrder/RowOrder.js +31 -26
- package/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
- package/tables/DataTable/features/RowOrder/components/RowOrderingDragAndDropContext.d.ts +4 -3
- package/tables/DataTable/features/RowOrder/components/RowOrderingDragAndDropContext.js +1 -1
- package/tables/DataTable/features/RowOrder/row-order-column-utils.d.ts +3 -2
- package/tables/DataTable/features/RowOrder/row-order-model.d.ts +3 -2
- package/tables/DataTable/features/RowOrder/row-order-model.js +8 -6
- package/tables/DataTable/features/RowOrder/row-order-utils.d.ts +5 -4
- package/tables/DataTable/features/RowOrder/useRowOrder.d.ts +2 -3
- package/tables/DataTable/features/RowSelection/RowSelection.d.ts +26 -26
- package/tables/DataTable/features/RowSelection/RowSelection.js +75 -70
- package/tables/DataTable/features/RowSelection/RowSelectionCells.d.ts +6 -5
- package/tables/DataTable/features/RowSelection/RowSelectionCells.js +1 -1
- package/tables/DataTable/features/RowSelection/row-selection-types.d.ts +0 -9
- package/tables/DataTable/features/RowSelection/useRowSelection.d.ts +2 -3
- package/tables/DataTable/features/RowSelection/useRowSelection.js +12 -7
- package/tables/DataTable/features/Sorting/Sorting.css +34 -34
- package/tables/DataTable/features/Sorting/Sorting.d.ts +15 -14
- package/tables/DataTable/features/Sorting/Sorting.js +48 -45
- package/tables/DataTable/features/Sorting/Sorting.sty.js +3 -3
- package/tables/DataTable/features/Sorting/sorted-row-model.d.ts +3 -2
- package/tables/DataTable/features/Sorting/sorted-row-model.js +1 -2
- package/tables/DataTable/features/Sorting/useSorting.d.ts +2 -3
- package/tables/DataTable/features/SubRows/SubRows.css +19 -19
- package/tables/DataTable/features/SubRows/SubRows.d.ts +18 -17
- package/tables/DataTable/features/SubRows/SubRows.js +92 -84
- package/tables/DataTable/features/SubRows/SubRows.sty.js +5 -5
- package/tables/DataTable/features/SubRows/components/SubRowCellContext.d.ts +3 -2
- package/tables/DataTable/features/SubRows/sub-rows-types.d.ts +0 -9
- package/tables/DataTable/features/SubRows/sub-rows-utils.d.ts +3 -2
- package/tables/DataTable/features/SubRows/subrows-row-model.d.ts +4 -3
- package/tables/DataTable/features/SubRows/subrows-row-model.js +1 -2
- package/tables/DataTable/features/SubRows/useSubRows.d.ts +2 -3
- package/tables/DataTable/features/SubRows/useSubRows.js +1 -1
- package/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
- package/tables/DataTable/features/Thresholds/Thresholds.d.ts +9 -8
- package/tables/DataTable/features/Thresholds/Thresholds.js +34 -27
- package/tables/DataTable/features/Thresholds/Thresholds.sty.js +3 -3
- package/tables/DataTable/features/Thresholds/useThresholds.d.ts +2 -3
- package/tables/DataTable/features/UserActions/RowActions.css +4 -4
- package/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
- package/tables/DataTable/features/UserActions/UserActions.css +20 -20
- package/tables/DataTable/features/UserActions/UserActions.d.ts +16 -16
- package/tables/DataTable/features/UserActions/UserActions.js +82 -69
- package/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
- package/tables/DataTable/features/UserActions/UserActionsMenu.js +5 -5
- package/tables/DataTable/features/UserActions/useCloseMenuOnScroll.js +2 -2
- package/tables/DataTable/features/UserActions/useUserActions.d.ts +3 -3
- package/tables/DataTable/features/UserActions/user-actions-types.d.ts +0 -12
- package/tables/DataTable/features/VirtualScrolling/VirtualScrolling.d.ts +21 -21
- package/tables/DataTable/features/VirtualScrolling/VirtualScrolling.js +82 -77
- package/tables/DataTable/features/VisualVariants/VisualVariants.d.ts +2 -3
- package/tables/DataTable/features/VisualVariants/VisualVariants.js +19 -16
- package/tables/DataTable/features/VisualVariants/useVisualVariants.d.ts +2 -3
- package/tables/DataTable/features/createCoreRowModel.d.ts +3 -2
- package/tables/DataTable/features/createCoreRowModel.js +1 -2
- package/tables/DataTable/features/features.d.ts +105 -23
- package/tables/DataTable/features/features.js +9 -1
- package/tables/DataTable/features/types/features.types.d.ts +28 -45
- package/tables/DataTable/features/types/table.types.d.ts +47 -0
- package/tables/DataTable/features/types/table.types.js +36 -0
- package/tables/DataTable/hooks/useBuiltInColumns.d.ts +4 -2
- package/tables/DataTable/hooks/useColumnRemeasure.d.ts +3 -2
- package/tables/DataTable/hooks/useColumnRemeasure.js +1 -1
- package/tables/DataTable/hooks/useHeaderCellInteractions.d.ts +1 -2
- package/tables/DataTable/hooks/useHeaderCellInteractions.js +5 -3
- package/tables/DataTable/hooks/useHeaderDragAndDrop.d.ts +5 -4
- package/tables/DataTable/hooks/useTable/datatable-typeguards.d.ts +4 -3
- package/tables/DataTable/hooks/useTable/datatable-typeguards.js +4 -4
- package/tables/DataTable/messages.js +2 -2
- package/tables/SimpleTable/SimpleTable.css +27 -27
- package/tables/SimpleTable/SimpleTable.d.ts +1 -1
- package/tables/SimpleTable/SimpleTable.js +9 -6
- package/tables/SimpleTable/SimpleTable.sty.js +1 -1
- package/tables/hooks/useFilteredData.js +1 -4
- package/tables/hooks/useLockedRowOrder.js +1 -1
- package/tables/utils/get-column-label.d.ts +3 -2
- package/tables/utils/is-target-interactive.d.ts +8 -4
- package/tables/utils/is-target-interactive.js +4 -2
- package/typography/block-quote/Blockquote.css +2 -2
- package/typography/block-quote/Blockquote.sty.js +1 -1
- package/typography/code/Code.css +9 -2
- package/typography/code/Code.sty.js +1 -1
- package/typography/emphasis/Emphasis.css +1 -1
- package/typography/emphasis/Emphasis.sty.js +1 -1
- package/typography/external-link/ExternalLink.css +6 -6
- package/typography/external-link/ExternalLink.sty.js +1 -1
- package/typography/heading/Heading.css +7 -7
- package/typography/heading/Heading.sty.js +1 -1
- package/typography/highlight/Highlight.css +2 -2
- package/typography/highlight/Highlight.sty.js +1 -1
- package/typography/link/Link.css +4 -4
- package/typography/link/Link.sty.js +1 -1
- package/typography/list/List.css +4 -4
- package/typography/list/List.sty.js +2 -2
- package/typography/paragraph/Paragraph.css +3 -3
- package/typography/paragraph/Paragraph.sty.js +1 -1
- package/typography/strikethrough/Strikethrough.css +1 -1
- package/typography/strikethrough/Strikethrough.sty.js +1 -1
- package/typography/strong/Strong.css +1 -1
- package/typography/strong/Strong.sty.js +1 -1
- package/typography/text/Text.css +3 -3
- package/typography/text/Text.sty.js +1 -1
- package/typography/text-ellipsis/TextEllipsis.css +6 -6
- package/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
- package/charts/core/components/series-action/ChartActionsMenuAsync.d.ts +0 -15
- package/charts/core/components/series-action/ChartActionsMenuAsync.js +0 -94
- package/charts/core/context/ChartVariantContext.d.ts +0 -11
- package/charts/sankey-chart/context/SankeyHoverStore.context.d.ts +0 -4
- package/charts/sankey-chart/types/sankey-hover.d.ts +0 -28
- package/esm/charts/core/components/series-action/ChartActionsMenuAsync.js +0 -81
- package/esm/charts/core/components/series-action/ChartActionsMenuAsync.js.map +0 -7
- package/esm/charts/core/context/ChartVariantContext.js +0 -6
- package/esm/charts/core/context/ChartVariantContext.js.map +0 -7
- package/esm/charts/sankey-chart/context/SankeyHoverStore.context.js +0 -11
- package/esm/charts/sankey-chart/context/SankeyHoverStore.context.js.map +0 -7
- package/esm/charts/sankey-chart/providers/SankeyHoverStoreProvider.js +0 -15
- package/esm/charts/sankey-chart/providers/SankeyHoverStoreProvider.js.map +0 -7
- package/esm/charts/sankey-chart/types/sankey-hover.js +0 -1
- /package/esm/charts/sankey-chart/types/{sankey-hover.js.map → sankey-shape.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/forms/select/Select.tsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {\n type FocusEvent,\n forwardRef,\n type KeyboardEvent as ReactKeyboardEvent,\n type PropsWithChildren,\n type Ref,\n type RefObject,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useReducer,\n useRef,\n useState,\n type ReactNode,\n type ReactElement,\n type SetStateAction,\n type Dispatch,\n} from 'react';\nimport ReactSelect, { createFilter, type GroupBase } from 'react-select';\n\nimport { components } from './components/components.js';\nimport type { MenuListFunctionRefObject } from './components/MenuList.js';\nimport { SelectMenuContext } from './contexts/SelectMenuContext.js';\nimport {\n useSelectOptions,\n _isOption,\n safeStringify,\n} from './hooks/use-select-options.js';\nimport { useSelectSlots } from './hooks/use-select-slots.js';\nimport { useSelectValue } from './hooks/use-select-value.js';\nimport { SelectContent } from './SelectContent.js';\nimport { SelectCustomTrigger } from './SelectCustomTrigger.js';\nimport { SelectDisplayValue } from './SelectDisplayValue.js';\nimport {\n SelectEmptyState,\n type SelectEmptyStateProps,\n} from './SelectEmptyState.js';\nimport { SelectFilter, type SelectFilterProps } from './SelectFilter.js';\nimport { SelectGroup, SelectGroupLabel } from './SelectGroup.js';\nimport { SelectOption } from './SelectOption.js';\nimport { SelectPrefix, type SelectPrefixProps } from './SelectPrefix.js';\nimport { SelectSuffix } from './SelectSuffix.js';\nimport { SelectTrigger } from './SelectTrigger.js';\nimport {\n reducer,\n SelectActions,\n type SelectReducerAction,\n} from './state/select-menu-state-reducer.js';\nimport * as styles from './styles/Select.sty.js';\nimport type {\n BaseOption,\n OptionOrGroup,\n SelectContentWidthOptionsType,\n SelectTriggerWidthOptionsType,\n SelectMultiValue,\n SelectSingleValue,\n} from './types.js';\nimport { useBehavioralTrackingProps } from '../../core/hooks/useBehavioralTrackingProps.js';\nimport { useControllableState } from '../../core/hooks/useControllableState.js';\nimport { useId } from '../../core/hooks/useId.js';\nimport { createStratoLogger } from '../../core/sdk/sdk-logger.js';\nimport type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js';\nimport { DataTestId } from '../../core/types/data-props.js';\nimport { DOMProps } from '../../core/types/dom.js';\nimport type { FormControlProps } from '../../core/types/form-control-props.js';\nimport type {\n FormControlState,\n FormControlStateProps,\n} from '../../core/types/form-control-state.js';\nimport { MaskingProps } from '../../core/types/masking-props.js';\nimport { StylingProps } from '../../core/types/styling-props.js';\nimport { mergeProps } from '../../core/utils/merge-props.js';\nimport { modalityStore } from '../../core/utils/modality.js';\nimport { useInternalFormRegistration } from '../form/hooks/useInternalFormRegistration.js';\nimport { withFormFieldMessageContextProviderWithGenerics } from '../forms-core/components/form-field/FormFieldMessageContextProvider.js';\nimport { useFormControl } from '../forms-core/hooks/useFormControl.js';\nimport { useFormFieldValidation } from '../forms-core/hooks/useFormFieldValidation.js';\nimport { FormFieldMessagesAction } from '../forms-core/state/formfield-messages-state-reducer.js';\nimport type {\n FormControlRef,\n FormControlWithOverlayRef,\n} from '../shared-types.js';\nimport type { MessageTarget } from '../validation/message-routing.js';\nimport type { ValidationState } from '../validation/types.js';\nimport { useCustomMessageEmitter } from '../validation/useCustomMessageEmitter.js';\nimport { useValidationStateEmitter } from '../validation/useValidationStateEmitter.js';\nimport { getValidationState } from '../validation/validation-builders.js';\n\nconst COMPONENT_NAME = 'Select';\n\n// Redeclare react-select module to extend it with additional props for typesafety.\n// https://react-select.com/typescript#custom-select-props\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<\n Option,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n IsMulti extends boolean,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Group extends GroupBase<Option>,\n > {\n /** Custom placeholder text */\n placeholderText?: ReactNode;\n /** The trigger width set by the dev. */\n triggerWidth?: SelectTriggerWidthOptionsType;\n /** Custom select trigger */\n customTrigger?: ReactElement<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n { [key: string]: any } | null | undefined\n >;\n /** Custom display value. */\n displayValue?: ReactNode[];\n /** Prefix for the select trigger */\n prefix?: ReactElement<SelectPrefixProps>;\n /* TriggerRef that needs to be applied to the trigger in order to setup the menu positioning */\n triggerRef: HTMLElement | null;\n /* setter for the TriggerRef */\n setTriggerRef: Dispatch<SetStateAction<HTMLDivElement | null>>;\n /** Defines if the space for the prefix icons should be reserved in all options rendered */\n optionsHavePrefix: boolean;\n /** Select.Filter component specified by dev */\n customFilter?: ReactElement<SelectFilterProps>;\n /** Custom empty state provided by dev */\n emptyState?: ReactElement<SelectEmptyStateProps>;\n /** Form control state for errors and hints */\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- APPDEV-18321\n controlState?: FormControlState;\n /** Parent-owned form control error visibility. */\n formControlShowError: boolean;\n /** Parent-owned form control hint content. */\n formControlHint: ReactNode;\n /** Parent-owned form control hint props. */\n formControlHintProps: { id: string; 'aria-live': 'polite' };\n loading?: boolean;\n clearable?: boolean;\n isRequired?: boolean;\n /** array of all select options (including those in groups) */\n allOptions?: BaseOption<Option>[];\n hiddenSelectRef: Ref<HTMLSelectElement>;\n hiddenSelectName?: string;\n hiddenSelectForm?: string;\n /** whether the focus styles on the options should be visible */\n focusOnOption: boolean;\n /** Ref that needs to be applied to the filter input to manage the focus and keyboard navigation */\n filterRef?: RefObject<FormControlRef<HTMLDivElement> | null>;\n /** Ref that needs to be applied to the clear selection element to manage the focus and keyboard navigation */\n clearSelectionRef?: RefObject<HTMLElement | null>;\n /** Ref that needs to be applied to the select content (menulist) element to manage the focus and keyboard navigation */\n contentRef?: RefObject<HTMLDivElement | null>;\n /** Identifies the menu portal as part of the Select focus boundary. */\n menuOwnerId: string;\n menuListFunctionRef?: RefObject<MenuListFunctionRefObject | null>;\n /** The content width set by the dev. */\n contentWidth?: SelectContentWidthOptionsType;\n /** Whether the selected options are reordered to the top of the options. */\n showSelectedOptionsFirst?: boolean;\n /** The id used for the hidden input. */\n selectInputId?: string;\n /** Labels the current element. */\n 'aria-label'?: string;\n /** Identifies the element (or elements) that label(s) the current element. */\n 'aria-labelledby'?: string;\n /** Identifies the element (or elements) that describe(s) the object. */\n 'aria-describedby'?: string;\n /** Identifies the element (or elements) that provide(s) a detailed, extended description for the object. */\n 'aria-details'?: string;\n /** className and style prop for each of the components. */\n componentProps: {\n trigger?: StylingProps &\n DataTestId &\n BehaviorTrackingProps & { readOnly: boolean; ariaDisabled?: boolean };\n content?: StylingProps & DataTestId & BehaviorTrackingProps;\n filter?: StylingProps & DataTestId & BehaviorTrackingProps;\n emptyState?: StylingProps & DataTestId & BehaviorTrackingProps;\n };\n }\n}\n\n// Redeclare react forwardRef to allow generic types on react\n// https://fettblog.eu/typescript-react-generic-forward-refs/#option-3%3A-augment-forwardref\ndeclare module 'react' {\n function forwardRef<T, P = unknown>(\n render: (\n props: P,\n ref: import('react').Ref<T>,\n ) => import('react').ReactElement | null,\n ): (\n props: P & import('react').RefAttributes<T>,\n ) => import('react').ReactElement | null;\n}\n\n/**\n * Common select base props.\n * @public\n */\nexport type SelectBaseProps<T, Multiple extends boolean> = PropsWithChildren<{\n /**\n * Used to compare options with objects for values either by a specified property of the object or through a comparator function.\n */\n compareBy?: keyof T | ((valueA: T, valueB: T) => boolean);\n\n /** Name used for the component when submitting it in a form */\n name?: string;\n\n /** Form name used to connect the component to a form */\n form?: string;\n\n /**\n * Internal: routes this control's native/Strato validation messages to the\n * field outlet (default), the enclosing form's outlet, or both. Unstable.\n * @internal\n */\n _messageTarget?: MessageTarget | MessageTarget[];\n\n /**\n * Boolean to determine whether the component is required\n *\n * @defaultValue false\n */\n required?: boolean;\n\n /**\n * Whether the component is disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n\n /**\n * Event handler called when the open state for the select changes\n */\n onOpenChange?: (isOpen: boolean) => void;\n\n /**\n * Whether or not the select allows multiple selection or not\n * @defaultValue false\n */\n multiple?: Multiple;\n\n /**\n * Whether or not the select is clearable.\n * @defaultValue false for single select, true for multi select\n */\n clearable?: boolean;\n}> &\n MaskingProps;\n\n/**\n * @public\n */\nexport type SelectOnChangeValue<\n OptionValue,\n Multiple extends boolean,\n> = Multiple extends true\n ? SelectMultiValue<OptionValue>\n : SelectSingleValue<OptionValue>;\n\n/**\n * Accepted properties for Select\n * @public\n */\nexport type SelectFormsProps<\n /*\n * TODO: Figure out how we can properly infer the type of the Select here\n * because that would come from the value of the options (as children)\n * which is not really doable with the given API.\n */\n OptionValue,\n Multiple extends boolean,\n> = SelectBaseProps<OptionValue, Multiple> &\n FormControlProps<\n Multiple extends true\n ? SelectMultiValue<OptionValue>\n : SelectSingleValue<OptionValue>,\n (value: SelectOnChangeValue<OptionValue, Multiple>) => void,\n HTMLElement\n > &\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- APPDEV-18321\n FormControlStateProps &\n DOMProps &\n StylingProps &\n DataTestId &\n BehaviorTrackingProps;\n\n/**\n * Function to return the item that should be focused after\n * updating all options via onChange in a controlled multi select.\n * @param options - all select options\n * @param focusedOptionValue - the value of the previously focused option\n * @returns option with the same value as the previously focused option or null\n */\nfunction getNewFocusedOption(\n options: OptionOrGroup<BaseOption<unknown>>,\n focusedOptionValue: unknown,\n): BaseOption<unknown> | null {\n for (const optionOrGroup of options) {\n if (_isOption(optionOrGroup)) {\n if (optionOrGroup.value === focusedOptionValue) {\n return optionOrGroup;\n }\n } else {\n for (const option of optionOrGroup.options) {\n if (_isOption(option) && option.value === focusedOptionValue) {\n return option;\n }\n }\n }\n }\n\n return null;\n}\n\nfunction focusFilterClearButton(\n filterElement: HTMLElement | null | undefined,\n filterValue: string | undefined,\n event: Pick<\n ReactKeyboardEvent<HTMLDivElement>,\n 'preventDefault' | 'stopPropagation'\n >,\n): boolean {\n if (!filterValue) {\n return false;\n }\n const xButton = filterElement?.querySelector<HTMLButtonElement>(\n 'button[data-dt-children-name=\"ClearAll\"]',\n );\n if (xButton) {\n event.preventDefault();\n event.stopPropagation();\n xButton.focus();\n return true;\n }\n return false;\n}\n\n/** Select component */\nfunction SelectFwd<OptionValue, Multiple extends boolean = false>(\n props: SelectFormsProps<OptionValue, Multiple>,\n forwardedRef: Ref<FormControlWithOverlayRef>,\n) {\n const {\n multiple = false,\n disabled: propsDisabled,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- APPDEV-18321\n controlState,\n clearable = multiple,\n name,\n id: propId,\n readOnly: propReadOnly,\n children,\n value: propsValue,\n defaultValue: propsDefaultValue,\n onChange: propsOnChange,\n onFocus,\n onBlur,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-details': ariaDetails,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n 'aria-disabled': ariaDisabledProp,\n onOpenChange,\n onValidityChange,\n required: propsRequired,\n form,\n _messageTarget,\n ...remainingProps\n } = props;\n\n const [behavioralTrackingProps, restProps] =\n useBehavioralTrackingProps(remainingProps);\n\n const slots = useSelectSlots(children);\n\n const stratoLogger = useMemo(\n () =>\n createStratoLogger.bind({\n name,\n id: propId,\n ariaLabel,\n dataTestId,\n })(COMPONENT_NAME),\n [name, propId, ariaLabel, dataTestId],\n );\n\n const {\n disableFiltering,\n value: filterValueProp,\n defaultValue: filterDefaultValueProp,\n onChange: filterOnChangeProp,\n ...remainingFilterProps\n } = slots.Filter?.props ?? {};\n\n const {\n width: triggerWidthProp,\n placeholder: triggerPlaceholderProp,\n ...remainingTriggerProps\n } = slots.Trigger?.props ?? {};\n\n const {\n width: contentWidthProp,\n loading: contentLoadingProp,\n showSelectedOptionsFirst: contentShowSelectedOptionsFirstProp,\n ...remainingContentProps\n } = slots.Content?.props ?? {};\n\n const {\n optionsOrGroups: options,\n optionsHavePrefix,\n allOptions,\n } = useSelectOptions<OptionValue>(slots.Content, stratoLogger);\n\n const { value, defaultValue } = useSelectValue<OptionValue, Multiple>({\n value: propsValue,\n defaultValue: propsDefaultValue,\n options,\n multiple: (multiple === true) as Multiple,\n });\n\n const {\n id,\n disabled,\n required,\n ariaDisabled,\n readOnly,\n hint,\n hintProps,\n showError,\n messageDispatch: messagesContextDispatch,\n } = useFormControl({\n propId,\n propDisabled: propsDisabled,\n propRequired: propsRequired,\n propAriaDisabled: ariaDisabledProp,\n propReadOnly,\n controlState,\n });\n\n const hiddenSelectRef = useRef<HTMLSelectElement>(null);\n const formValidityChangeRef = useRef<\n ((state: ValidationState) => void) | undefined\n >(undefined);\n const _emitValidationState = useValidationStateEmitter((state) =>\n formValidityChangeRef.current?.(state),\n );\n const emitValidationState = useCustomMessageEmitter(\n _emitValidationState,\n () => getValidationState(hiddenSelectRef.current, 'manual', undefined, id),\n );\n\n const [triggerRef, setTriggerRef] = useState<HTMLDivElement | null>(null);\n const menuOwnerId = useId();\n\n useFormFieldValidation(\n hiddenSelectRef,\n { required, value: safeStringify(propsValue) },\n undefined,\n undefined,\n _emitValidationState,\n );\n\n const formRegistration = useInternalFormRegistration({\n id,\n name,\n form,\n messageTarget: _messageTarget,\n getValue: () => {\n if (propsValue !== undefined) {\n return propsValue;\n }\n const selected = (selectRef.current?.getValue() ??\n []) as SelectMultiValue<BaseOption<OptionValue>>;\n if (multiple) {\n return selected.map((o) => o.value);\n }\n return selected[0]?.value ?? null;\n },\n onValidityChange,\n focus: () =>\n hiddenTrigger?.focus({ preventScroll: true, focusVisible: true }),\n validateField: async ({ reveal, trigger }) => {\n hiddenSelectRef.current?.checkValidity();\n if (reveal) {\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n queueMicrotask(() => hiddenSelectRef.current?.reportValidity());\n }\n const state = getValidationState(\n hiddenSelectRef.current,\n trigger,\n undefined,\n id,\n );\n return emitValidationState(state);\n },\n resetValidation: () => {\n hiddenSelectRef.current?.setCustomValidity('');\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: false, resetShowError: true },\n });\n },\n });\n formValidityChangeRef.current = formRegistration.onValidityChange;\n\n const menuOpenReducer = useCallback(\n (state: boolean, action: SelectReducerAction) => {\n if (readOnly) {\n return state;\n }\n\n const newState = reducer(state, action);\n\n if (state !== newState) {\n // Delay the onOpenChange call to not run into a bad setState().\n queueMicrotask(() => {\n onOpenChange?.(newState);\n });\n\n // Surface blur validation when the dropdown closes.\n //eslint-disable-next-line @typescript-eslint/no-deprecated -- APPDEV-18321\n if (state === true && newState === false && !controlState) {\n queueMicrotask(() => {\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n hiddenSelectRef.current?.checkValidity();\n emitValidationState(\n getValidationState(\n hiddenSelectRef.current,\n 'blur',\n undefined,\n id,\n ),\n );\n });\n }\n }\n\n return newState;\n },\n [\n readOnly,\n controlState,\n onOpenChange,\n messagesContextDispatch,\n hiddenSelectRef,\n emitValidationState,\n id,\n ],\n );\n\n const [menuOpen, dispatch] = useReducer(menuOpenReducer, false);\n\n // useRef instead of useState: isFocusWithin is never read during render, only inside\n // event handlers. A ref gives a synchronous, always-current value so that concurrent\n // focus events (e.g. button focus + dummyInput focus on the same click when using a\n // CustomTrigger) cannot both read `false` before the first setIsFocusWithin flush.\n const isFocusWithin = useRef<boolean>(false);\n\n const [filterValue, setFilterValue] = useControllableState({\n value: filterValueProp,\n defaultValue: filterDefaultValueProp,\n onChange: filterOnChangeProp,\n });\n\n // any is needed as the needed type coming from the react-select is not exported\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const selectRef = useRef<any>(null);\n\n const hiddenTrigger = triggerRef?.querySelector('input');\n const [focusOnOption, setFocusOnOption] = useState<boolean>(true);\n\n // If the disableFiltering value changes, the filterValue will need to be\n // reset\n useEffect(() => {\n if (\n disableFiltering === true &&\n (filterValue !== undefined || filterValue !== '')\n ) {\n setFilterValue('');\n }\n // We don't want to include filterValue as dependency because when the user types in the input and\n // disableFiltering is true, we don't want to clear the input\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [disableFiltering]);\n\n const filterConfig = {\n // Filter by both visible label and option value/textValue.\n // This allows searching by value (e.g. \"green\") when the rendered label differs.\n stringify: (option: {\n label: string;\n value: string;\n data: BaseOption<OptionValue>;\n }) => {\n const searchValue = option.data.textValue ?? option.value;\n\n if (searchValue && searchValue !== option.label) {\n return `${option.label} ${searchValue}`;\n }\n\n return `${option.label}`;\n },\n };\n\n const handleChange = (\n option:\n | SelectSingleValue<BaseOption<OptionValue>>\n | SelectMultiValue<BaseOption<OptionValue>>,\n ) => {\n // Send native onChange event for any form control / onChange listeners\n requestAnimationFrame(() => {\n const nativeEvent = new Event('change', {\n bubbles: true,\n cancelable: true,\n });\n hiddenSelectRef?.current?.dispatchEvent(nativeEvent);\n });\n\n if (multiple === false) {\n setFilterValue(''); // clear the filter when an option is selected in single mode\n }\n\n // Early exit if the onChange prop is not defined, there is nothing that needs\n // to be done.\n if (!propsOnChange) {\n return;\n }\n\n // In a single select scenario, it will only emit a single value of the selected option\n if (multiple === false) {\n // If the clicked option is the same as the selected one we can return early.\n if (option === value) {\n return;\n }\n if (option === null) {\n // Ensures that null is returned if no value is selected\n propsOnChange?.(null as SelectOnChangeValue<OptionValue, Multiple>);\n } else {\n propsOnChange?.(\n (option as SelectSingleValue<BaseOption<OptionValue>>)\n ?.value as SelectOnChangeValue<OptionValue, Multiple>,\n );\n }\n }\n\n // In a multi select scenario, it will map the value of all selected options and report them\n // in the on change.\n if (multiple === true) {\n const selectedOptionValues = (\n option as SelectMultiValue<BaseOption<OptionValue>>\n ).map((individualOption) => individualOption.value);\n propsOnChange?.(\n selectedOptionValues as SelectOnChangeValue<OptionValue, Multiple>,\n );\n }\n };\n\n const filterRef = useRef<FormControlRef<HTMLDivElement>>(null);\n const clearSelectionRef = useRef<HTMLElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const menuListFunctionRef = useRef<MenuListFunctionRefObject>(null);\n\n useEffect(() => {\n if (menuOpen) {\n modalityStore.setState('keyboard');\n }\n }, [menuOpen]);\n\n const handleArrowKeyOptionFocus = (key: KeyboardEvent['key']) => {\n if (key !== 'ArrowUp' && key !== 'ArrowDown') {\n return;\n }\n\n requestAnimationFrame(() => {\n if (!contentRef.current || !menuListFunctionRef.current) {\n return;\n }\n\n const focusedElement = contentRef.current.querySelector(\n '.strato-select-option--focus',\n );\n\n if (!focusedElement) {\n // No focused element in DOM means react-select wrapped around to the\n // opposite end of the list \u2014 scroll there to reveal it.\n if (key === 'ArrowDown') {\n menuListFunctionRef.current.scrollToIndex(0);\n } else {\n menuListFunctionRef.current.scrollToBottom();\n }\n return;\n }\n\n const index = Number(\n focusedElement.closest('[data-index]')?.getAttribute('data-index'),\n );\n if (!isNaN(index)) {\n menuListFunctionRef.current.scrollToIndex(index);\n }\n });\n };\n\n useImperativeHandle(\n forwardedRef,\n (): FormControlWithOverlayRef => ({\n element: containerRef.current,\n triggerRef: triggerRef,\n inputRef: hiddenSelectRef.current,\n focus: () => {\n hiddenTrigger?.focus();\n },\n open: () => {\n // When opened programmatically the hidden input needs to be focused for the virtual focus\n hiddenTrigger?.focus();\n dispatch({\n type: SelectActions.OPEN,\n });\n },\n close: () =>\n dispatch({\n type: SelectActions.CLOSE,\n }),\n validate: () => {\n // The initialization of the hiddenSelectRef is delayed, therefore,\n // we want to check the validity at the end of the render cycle.\n queueMicrotask(() => hiddenSelectRef.current?.checkValidity());\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n const state = getValidationState(\n hiddenSelectRef.current,\n 'manual',\n undefined,\n id,\n );\n emitValidationState(state);\n },\n // DEPRECATION: [APPDEV-18178] BREAKING-CHANGE: Remove validateAsync() and change validate() to return Promise<ValidationState>.\n validateAsync: async () => {\n queueMicrotask(() => hiddenSelectRef.current?.checkValidity());\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n const state = getValidationState(\n hiddenSelectRef.current,\n 'manual',\n undefined,\n id,\n );\n return emitValidationState(state);\n },\n }),\n [\n hiddenTrigger,\n messagesContextDispatch,\n emitValidationState,\n triggerRef,\n id,\n ],\n );\n\n /**\n * Workaround for the focus to stay on the selected option for the controlled multi select\n * See: https://github.com/JedWatson/react-select/issues/5367\n */\n if (multiple && propsOnChange) {\n const select = selectRef.current;\n if (select?.state.focusedOption) {\n const focusedOptionValue = select.state.focusedOption.value;\n const newFocusedOption = getNewFocusedOption(options, focusedOptionValue);\n\n // HACK: manipulating the state without setState is evil (but needed here as we are mid-transition)\n select.state.focusedOption = newFocusedOption;\n }\n }\n\n const contextMemo = useMemo(\n () => ({ state: menuOpen, dispatch }),\n [menuOpen, dispatch],\n );\n\n const handleFocus = (event: FocusEvent<HTMLElement>) => {\n if (!isFocusWithin.current) {\n isFocusWithin.current = true;\n onFocus?.(event);\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLElement>) => {\n // The relatedTarget is null when focus leaves the browser \u2014 treat that as\n // a real blur. Otherwise, only treat it as a blur if focus is not moving\n // to one of the Select's own internal elements (hidden trigger, filter,\n // clear-selection) \u2014 those may live in a portal so a container.contains\n // check alone would misclassify them as \"outside\".\n // Also exclude the custom trigger element itself: when using a CustomTrigger\n // the dummyInput is nested inside a keyboard-focusable element. Shift+Tab\n // from the dummyInput goes back to that outer element, which must not fire\n // a consumer onBlur.\n const relatedTarget = event.relatedTarget as Node | null;\n const movingToInternal =\n relatedTarget !== null &&\n (relatedTarget === hiddenTrigger ||\n relatedTarget === clearSelectionRef.current ||\n filterRef.current?.element?.contains(relatedTarget) ||\n triggerRef?.contains(relatedTarget) ||\n (relatedTarget instanceof HTMLElement &&\n relatedTarget.closest(`[data-dt-owner=\"${menuOwnerId}\"]`) !== null));\n\n if (!movingToInternal && isFocusWithin.current) {\n isFocusWithin.current = false;\n hiddenSelectRef.current?.checkValidity();\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n emitValidationState(getValidationState(hiddenSelectRef.current, 'blur'));\n onBlur?.(event);\n }\n };\n\n const handleKeyDownOnFilterClearButton = (\n event: ReactKeyboardEvent<HTMLDivElement>,\n ) => {\n // Focus is on the X button inside the SearchInput (not the input itself).\n // react-select blocks Enter->click natively, so we trigger .click() manually.\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n }\n\n if (event.key === 'Enter' || event.key === ' ') {\n const clearButton = document.activeElement as HTMLElement;\n event.preventDefault();\n event.stopPropagation();\n clearButton.click();\n filterRef.current?.inputRef?.focus();\n // Restore the virtual focus on options now that DOM focus\n // has returned to the filter input.\n setFocusOnOption(true);\n }\n\n if (event.key === 'Tab' && !event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n if (clearSelectionRef.current) {\n clearSelectionRef.current.focus();\n // Keep virtual focus off options while navigating between controls.\n setFocusOnOption(false);\n } else {\n hiddenTrigger?.focus();\n // Restore the virtual focus on options now that DOM focus\n // has cycled back to the trigger.\n setFocusOnOption(true);\n }\n }\n\n if (event.key === 'Tab' && event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n filterRef.current?.inputRef?.focus();\n // Restore the virtual focus on options now that DOM focus\n // has returned to the filter input.\n setFocusOnOption(true);\n }\n };\n\n return (\n <SelectMenuContext.Provider value={contextMemo}>\n <div\n ref={containerRef}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(\n styles.selectWrapper({\n fullWidth:\n triggerWidthProp === 'full' || triggerWidthProp === '100%',\n }),\n consumerClassName,\n )}\n style={consumerStyle}\n {...mergeProps(restProps, behavioralTrackingProps)}\n data-dt-component={COMPONENT_NAME}\n >\n <ReactSelect\n instanceId={id}\n selectInputId={id}\n className={clsx(styles.select, styles.clearReactSelectZIndex, {\n [styles.validAndEnabled]: !disabled && !ariaDisabled && !showError,\n })}\n unstyled\n options={options}\n components={components}\n // TODO: React select does an instance equality check on this one, so we need to figure out how\n // to keep that in sync over a controlled state.\n value={value}\n defaultValue={defaultValue}\n onChange={(value) =>\n // Need to cast this here as React.Select handles the value still as unknown.\n // TODO: Maybe we can go to the JSX generic?\n handleChange(\n value as\n | SelectSingleValue<BaseOption<OptionValue>>\n | SelectMultiValue<BaseOption<OptionValue>>,\n )\n }\n onBlur={handleBlur}\n hiddenSelectName={name}\n hiddenSelectForm={form}\n ref={selectRef}\n pageSize={5}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-details={ariaDetails}\n aria-disabled={ariaDisabled}\n hiddenSelectRef={hiddenSelectRef}\n // This has to be set to false as we don't want the input directly in the select trigger\n // but handle this ourselves\n isSearchable={false}\n // Multi selection relevant props\n isMulti={multiple ?? false}\n hideSelectedOptions={false}\n closeMenuOnSelect={multiple === false}\n // This has to be set to false as we don't want the clear button directly in the select trigger\n // but handle this ourselves\n isClearable={false}\n isDisabled={disabled}\n isRequired={required}\n triggerWidth={triggerWidthProp}\n contentWidth={contentWidthProp ?? 'trigger'}\n placeholderText={triggerPlaceholderProp}\n // DISCUSS: Figure out if `undefined` is better here or if we should use `null`\n displayValue={slots.DisplayValue ?? undefined}\n prefix={slots.Prefix ?? undefined}\n customTrigger={slots.CustomTrigger ?? undefined}\n // Trigger and Menu (Popper) ref connections\n triggerRef={triggerRef}\n setTriggerRef={setTriggerRef}\n // Reserving space for prefix icons\n optionsHavePrefix={optionsHavePrefix}\n menuIsOpen={menuOpen}\n // Handles Filtering in the current select\n filterOption={(option, inputValue) => {\n if (disableFiltering === true) {\n return true;\n }\n const filterFunction =\n createFilter<BaseOption<OptionValue>>(filterConfig);\n\n // We need to cast this here, because the filter option prop only infers option as `FilterOptionOption<unknown>`. The `FilterOptionOption` type is not exposed by react-select.\n return filterFunction(\n option as Parameters<typeof filterFunction>[0],\n inputValue,\n );\n }}\n customFilter={slots.Filter ?? undefined}\n inputValue={filterValue}\n onInputChange={(newValue, actionmeta) => {\n if (actionmeta.action === 'input-change') {\n setFilterValue(newValue);\n }\n }}\n emptyState={slots.EmptyState ?? undefined}\n controlState={controlState}\n formControlShowError={showError}\n formControlHint={hint}\n formControlHintProps={hintProps}\n loading={contentLoadingProp}\n clearable={clearable}\n allOptions={allOptions}\n tabSelectsValue={false}\n focusOnOption={focusOnOption}\n contentRef={contentRef}\n menuOwnerId={menuOwnerId}\n menuListFunctionRef={menuListFunctionRef}\n filterRef={filterRef}\n clearSelectionRef={clearSelectionRef}\n showSelectedOptionsFirst={contentShowSelectedOptionsFirstProp}\n componentProps={{\n trigger: {\n className: slots.Trigger?.props.className,\n style: { ...slots.Trigger?.props.style },\n readOnly: !!readOnly,\n ariaDisabled,\n ...remainingTriggerProps,\n },\n filter: {\n className: slots.Filter?.props.className,\n style: slots.Filter?.props.style,\n ...remainingFilterProps,\n },\n content: {\n className: slots.Content?.props.className,\n style: slots.Content?.props.style,\n ...remainingContentProps,\n },\n emptyState: {\n ...slots.EmptyState?.props,\n },\n }}\n onFocus={handleFocus}\n onKeyDown={(event) => {\n if (!menuOpen) {\n if (event.key === 'Enter' || event.key === ' ') {\n // Prevent the Enter keypress from submitting an enclosing form\n // when it is meant to open the dropdown.\n event.preventDefault();\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n }\n\n return true;\n }\n\n // close the dropdown on Escape and focus the trigger\n if (event.key === 'Escape') {\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n\n hiddenTrigger?.focus();\n }\n\n if (filterRef.current || clearSelectionRef.current) {\n // focus is on filter\n if (document.activeElement === filterRef.current?.inputRef) {\n // We only want to remove selected values with Backspace when the focus is not on the filter input\n if (\n event.key === 'Backspace' &&\n filterRef.current.inputRef?.value === ''\n ) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (event.key === 'Tab') {\n const hasClearSearchButton = !!filterValue;\n if (\n event.shiftKey ||\n (!clearSelectionRef.current && !hasClearSearchButton)\n ) {\n event.preventDefault();\n event.stopPropagation();\n hiddenTrigger?.focus();\n } else if (hasClearSearchButton) {\n // Native Tab + the setFocusOnOption re-render prevents :focus-visible\n // from firing on the X button. Focus it programmatically instead,\n // matching the clearSelectionRef pattern.\n if (\n focusFilterClearButton(\n filterRef.current?.element,\n filterValue,\n event,\n )\n ) {\n setFocusOnOption(false);\n }\n } else {\n // clear-selection is visible, filter is empty \u2014 native Tab works here.\n setFocusOnOption(false);\n }\n }\n\n // close the overlay when using a single select and selecting an option while searching in the filter\n if (event.key === 'Enter' && !props.multiple) {\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n hiddenTrigger?.focus();\n }\n\n // do not select any options if the select is in a loading state\n if (event.key === 'Enter' && contentLoadingProp) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n // do not select any options if typing space as the first character of the filter\n if (event.key === ' ' && !filterValue) {\n setFilterValue(' ');\n event.preventDefault();\n event.stopPropagation();\n }\n\n handleArrowKeyOptionFocus(event.key);\n\n return true;\n }\n\n if (\n filterRef.current?.element &&\n filterRef.current.element.contains(document.activeElement) &&\n document.activeElement !== filterRef.current.inputRef\n ) {\n handleKeyDownOnFilterClearButton(event);\n return false;\n }\n\n // focus is on the clear selection element\n if (document.activeElement === clearSelectionRef.current) {\n setFocusOnOption(false);\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n }\n\n // focus the trigger on tab (if it is not a shift tab press to focus back on the filter)\n if (\n event.key === 'Tab' &&\n !(event.shiftKey && filterRef.current)\n ) {\n event.preventDefault();\n event.stopPropagation();\n hiddenTrigger?.focus();\n setFocusOnOption(true);\n }\n\n // focus moves from the clear selection element back to the X button\n // (if the filter has text and the button is visible), or back to the filter input.\n if (\n event.key === 'Tab' &&\n event.shiftKey &&\n filterRef.current\n ) {\n if (\n !focusFilterClearButton(\n filterRef.current?.element,\n filterValue,\n event,\n )\n ) {\n setFocusOnOption(true);\n }\n }\n\n return false;\n }\n\n try {\n // focus is on hidden input element\n if (\n document.activeElement &&\n document.getElementById(document.activeElement.id)\n ) {\n if (event.key === 'Tab') {\n event.preventDefault();\n event.stopPropagation();\n\n if (!event.shiftKey) {\n // set focus on filter if available\n if (filterRef.current) {\n filterRef.current.inputRef?.focus();\n return false;\n }\n\n // set focus on clearSelection if available\n if (clearSelectionRef.current) {\n clearSelectionRef.current.focus();\n setFocusOnOption(false);\n return false;\n }\n } else {\n // set focus on clearSelection if available\n if (clearSelectionRef.current) {\n clearSelectionRef.current.focus();\n setFocusOnOption(false);\n return false;\n }\n // set focus on X button in filter if filter has text\n if (\n focusFilterClearButton(\n filterRef.current?.element,\n filterValue,\n event,\n )\n ) {\n setFocusOnOption(false);\n return false;\n }\n // set focus on filter if available\n if (filterRef.current) {\n filterRef.current.inputRef?.focus();\n return false;\n }\n }\n }\n\n handleArrowKeyOptionFocus(event.key);\n\n // do not select any options if the select is in a loading state\n if (contentLoadingProp) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(\n 'Invalid query selector on the Select trigger',\n error,\n );\n }\n return false;\n }\n\n try {\n // close the dropdown when tab is pressed and no filter or clear selection is available\n if (\n document.activeElement &&\n document.getElementById(document.activeElement.id)\n ) {\n if (event.key === 'Tab') {\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n } else {\n handleArrowKeyOptionFocus(event.key);\n }\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(\n 'Invalid query selector on the Select trigger',\n error,\n );\n }\n\n setFocusOnOption(true);\n }}\n />\n </div>\n </SelectMenuContext.Provider>\n );\n}\n\nconst SelectForwardRef = forwardRef(SelectFwd);\n\n/**\n * Select component that uses a fallback FormFieldMessages-context if it wasn't wrapped in a FormField.\n */\nconst SelectRoot =\n withFormFieldMessageContextProviderWithGenerics(SelectForwardRef);\n\n/**\n * The `Select` component allows you to choose one or multiple\n * options from a collapsed dropdown with options.\n * @public\n */\nexport const Select = Object.assign(SelectRoot, {\n Content: SelectContent,\n Option: SelectOption,\n Group: SelectGroup,\n GroupLabel: SelectGroupLabel,\n Trigger: SelectTrigger,\n DisplayValue: SelectDisplayValue,\n Prefix: SelectPrefix,\n Suffix: SelectSuffix,\n CustomTrigger: SelectCustomTrigger,\n Filter: SelectFilter,\n EmptyState: SelectEmptyState,\n});\n\n(Select as typeof Select & { displayName: string }).displayName =\n COMPONENT_NAME;\n"],
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n type FocusEvent,\n forwardRef,\n type KeyboardEvent as ReactKeyboardEvent,\n type PropsWithChildren,\n type Ref,\n type RefObject,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useReducer,\n useRef,\n useState,\n type ReactNode,\n type ReactElement,\n type SetStateAction,\n type Dispatch,\n} from 'react';\nimport ReactSelect, { createFilter, type GroupBase } from 'react-select';\n\nimport { components } from './components/components.js';\nimport type { MenuListFunctionRefObject } from './components/MenuList.js';\nimport { SelectMenuContext } from './contexts/SelectMenuContext.js';\nimport {\n useSelectOptions,\n _isOption,\n safeStringify,\n} from './hooks/use-select-options.js';\nimport { useSelectSlots } from './hooks/use-select-slots.js';\nimport { useSelectValue } from './hooks/use-select-value.js';\nimport { SelectContent } from './SelectContent.js';\nimport { SelectCustomTrigger } from './SelectCustomTrigger.js';\nimport { SelectDisplayValue } from './SelectDisplayValue.js';\nimport {\n SelectEmptyState,\n type SelectEmptyStateProps,\n} from './SelectEmptyState.js';\nimport { SelectFilter, type SelectFilterProps } from './SelectFilter.js';\nimport { SelectGroup, SelectGroupLabel } from './SelectGroup.js';\nimport { SelectOption } from './SelectOption.js';\nimport { SelectPrefix, type SelectPrefixProps } from './SelectPrefix.js';\nimport { SelectSuffix } from './SelectSuffix.js';\nimport { SelectTrigger } from './SelectTrigger.js';\nimport {\n reducer,\n SelectActions,\n type SelectReducerAction,\n} from './state/select-menu-state-reducer.js';\nimport * as styles from './styles/Select.sty.js';\nimport type {\n BaseOption,\n OptionOrGroup,\n SelectContentWidthOptionsType,\n SelectTriggerWidthOptionsType,\n SelectMultiValue,\n SelectSingleValue,\n} from './types.js';\nimport { useBehavioralTrackingProps } from '../../core/hooks/useBehavioralTrackingProps.js';\nimport { useControllableState } from '../../core/hooks/useControllableState.js';\nimport { useId } from '../../core/hooks/useId.js';\nimport { createStratoLogger } from '../../core/sdk/sdk-logger.js';\nimport type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js';\nimport { DataTestId } from '../../core/types/data-props.js';\nimport { DOMProps } from '../../core/types/dom.js';\nimport type { FormControlProps } from '../../core/types/form-control-props.js';\nimport type {\n FormControlState,\n FormControlStateProps,\n} from '../../core/types/form-control-state.js';\nimport { MaskingProps } from '../../core/types/masking-props.js';\nimport { StylingProps } from '../../core/types/styling-props.js';\nimport { mergeProps } from '../../core/utils/merge-props.js';\nimport { modalityStore } from '../../core/utils/modality.js';\nimport { useInternalFormRegistration } from '../form/hooks/useInternalFormRegistration.js';\nimport { withFormFieldMessageContextProviderWithGenerics } from '../forms-core/components/form-field/FormFieldMessageContextProvider.js';\nimport { useFormControl } from '../forms-core/hooks/useFormControl.js';\nimport { useFormFieldValidation } from '../forms-core/hooks/useFormFieldValidation.js';\nimport { FormFieldMessagesAction } from '../forms-core/state/formfield-messages-state-reducer.js';\nimport type {\n FormControlRef,\n FormControlWithOverlayRef,\n} from '../shared-types.js';\nimport type { MessageTarget } from '../validation/message-routing.js';\nimport type { ValidationState } from '../validation/types.js';\nimport { useCustomMessageEmitter } from '../validation/useCustomMessageEmitter.js';\nimport { useValidationStateEmitter } from '../validation/useValidationStateEmitter.js';\nimport { getValidationState } from '../validation/validation-builders.js';\n\nconst COMPONENT_NAME = 'Select';\n\n// Redeclare react-select module to extend it with additional props for typesafety.\n// https://react-select.com/typescript#custom-select-props\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<\n Option,\n // oxlint-disable-next-line typescript/no-unused-vars\n IsMulti extends boolean,\n // oxlint-disable-next-line typescript/no-unused-vars\n Group extends GroupBase<Option>,\n > {\n /** Custom placeholder text */\n placeholderText?: ReactNode;\n /** The trigger width set by the dev. */\n triggerWidth?: SelectTriggerWidthOptionsType;\n /** Custom select trigger */\n customTrigger?: ReactElement<\n // oxlint-disable-next-line typescript/no-explicit-any\n { [key: string]: any } | null | undefined\n >;\n /** Custom display value. */\n displayValue?: ReactNode[];\n /** Prefix for the select trigger */\n prefix?: ReactElement<SelectPrefixProps>;\n /* TriggerRef that needs to be applied to the trigger in order to setup the menu positioning */\n triggerRef: HTMLElement | null;\n /* setter for the TriggerRef */\n setTriggerRef: Dispatch<SetStateAction<HTMLDivElement | null>>;\n /** Defines if the space for the prefix icons should be reserved in all options rendered */\n optionsHavePrefix: boolean;\n /** Select.Filter component specified by dev */\n customFilter?: ReactElement<SelectFilterProps>;\n /** Custom empty state provided by dev */\n emptyState?: ReactElement<SelectEmptyStateProps>;\n /** Form control state for errors and hints */\n // oxlint-disable-next-line typescript/no-deprecated -- APPDEV-18321\n controlState?: FormControlState;\n /** Parent-owned form control error visibility. */\n formControlShowError: boolean;\n /** Parent-owned form control hint content. */\n formControlHint: ReactNode;\n /** Parent-owned form control hint props. */\n formControlHintProps: { id: string; 'aria-live': 'polite' };\n loading?: boolean;\n clearable?: boolean;\n isRequired?: boolean;\n /** array of all select options (including those in groups) */\n allOptions?: BaseOption<Option>[];\n hiddenSelectRef: Ref<HTMLSelectElement>;\n hiddenSelectName?: string;\n hiddenSelectForm?: string;\n /** whether the focus styles on the options should be visible */\n focusOnOption: boolean;\n /** Ref that needs to be applied to the filter input to manage the focus and keyboard navigation */\n filterRef?: RefObject<FormControlRef<HTMLDivElement> | null>;\n /** Ref that needs to be applied to the clear selection element to manage the focus and keyboard navigation */\n clearSelectionRef?: RefObject<HTMLElement | null>;\n /** Ref that needs to be applied to the select content (menulist) element to manage the focus and keyboard navigation */\n contentRef?: RefObject<HTMLDivElement | null>;\n /** Identifies the menu portal as part of the Select focus boundary. */\n menuOwnerId: string;\n menuListFunctionRef?: RefObject<MenuListFunctionRefObject | null>;\n /** The content width set by the dev. */\n contentWidth?: SelectContentWidthOptionsType;\n /** Whether the selected options are reordered to the top of the options. */\n showSelectedOptionsFirst?: boolean;\n /** The id used for the hidden input. */\n selectInputId?: string;\n /** Labels the current element. */\n 'aria-label'?: string;\n /** Identifies the element (or elements) that label(s) the current element. */\n 'aria-labelledby'?: string;\n /** Identifies the element (or elements) that describe(s) the object. */\n 'aria-describedby'?: string;\n /** Identifies the element (or elements) that provide(s) a detailed, extended description for the object. */\n 'aria-details'?: string;\n /** className and style prop for each of the components. */\n componentProps: {\n trigger?: StylingProps &\n DataTestId &\n BehaviorTrackingProps & { readOnly: boolean; ariaDisabled?: boolean };\n content?: StylingProps & DataTestId & BehaviorTrackingProps;\n filter?: StylingProps & DataTestId & BehaviorTrackingProps;\n emptyState?: StylingProps & DataTestId & BehaviorTrackingProps;\n };\n }\n}\n\n// Redeclare react forwardRef to allow generic types on react\n// https://fettblog.eu/typescript-react-generic-forward-refs/#option-3%3A-augment-forwardref\ndeclare module 'react' {\n function forwardRef<T, P = unknown>(\n render: (\n props: P,\n ref: import('react').Ref<T>,\n ) => import('react').ReactElement | null,\n ): (\n props: P & import('react').RefAttributes<T>,\n ) => import('react').ReactElement | null;\n}\n\n/**\n * Common select base props.\n * @public\n */\nexport type SelectBaseProps<T, Multiple extends boolean> = PropsWithChildren<{\n /**\n * Used to compare options with objects for values either by a specified property of the object or through a comparator function.\n */\n compareBy?: keyof T | ((valueA: T, valueB: T) => boolean);\n\n /** Name used for the component when submitting it in a form */\n name?: string;\n\n /** Form name used to connect the component to a form */\n form?: string;\n\n /**\n * Internal: routes this control's native/Strato validation messages to the\n * field outlet (default), the enclosing form's outlet, or both. Unstable.\n * @internal\n */\n _messageTarget?: MessageTarget | MessageTarget[];\n\n /**\n * Boolean to determine whether the component is required\n *\n * @defaultValue false\n */\n required?: boolean;\n\n /**\n * Whether the component is disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n\n /**\n * Event handler called when the open state for the select changes\n */\n onOpenChange?: (isOpen: boolean) => void;\n\n /**\n * Whether or not the select allows multiple selection or not\n * @defaultValue false\n */\n multiple?: Multiple;\n\n /**\n * Whether or not the select is clearable.\n * @defaultValue false for single select, true for multi select\n */\n clearable?: boolean;\n}> &\n MaskingProps;\n\n/**\n * @public\n */\nexport type SelectOnChangeValue<\n OptionValue,\n Multiple extends boolean,\n> = Multiple extends true\n ? SelectMultiValue<OptionValue>\n : SelectSingleValue<OptionValue>;\n\n/**\n * Accepted properties for Select\n * @public\n */\nexport type SelectFormsProps<\n /*\n * TODO: Figure out how we can properly infer the type of the Select here\n * because that would come from the value of the options (as children)\n * which is not really doable with the given API.\n */\n OptionValue,\n Multiple extends boolean,\n> = SelectBaseProps<OptionValue, Multiple> &\n FormControlProps<\n Multiple extends true\n ? SelectMultiValue<OptionValue>\n : SelectSingleValue<OptionValue>,\n (value: SelectOnChangeValue<OptionValue, Multiple>) => void,\n HTMLElement\n > &\n // oxlint-disable-next-line typescript/no-deprecated -- APPDEV-18321\n FormControlStateProps &\n DOMProps &\n StylingProps &\n DataTestId &\n BehaviorTrackingProps;\n\n/**\n * Function to return the item that should be focused after\n * updating all options via onChange in a controlled multi select.\n * @param options - all select options\n * @param focusedOptionValue - the value of the previously focused option\n * @returns option with the same value as the previously focused option or null\n */\nfunction getNewFocusedOption(\n options: OptionOrGroup<BaseOption<unknown>>,\n focusedOptionValue: unknown,\n): BaseOption<unknown> | null {\n for (const optionOrGroup of options) {\n if (_isOption(optionOrGroup)) {\n if (optionOrGroup.value === focusedOptionValue) {\n return optionOrGroup;\n }\n } else {\n for (const option of optionOrGroup.options) {\n if (_isOption(option) && option.value === focusedOptionValue) {\n return option;\n }\n }\n }\n }\n\n return null;\n}\n\nfunction focusFilterClearButton(\n filterElement: HTMLElement | null | undefined,\n filterValue: string | undefined,\n event: Pick<\n ReactKeyboardEvent<HTMLDivElement>,\n 'preventDefault' | 'stopPropagation'\n >,\n): boolean {\n if (!filterValue) {\n return false;\n }\n const xButton = filterElement?.querySelector<HTMLButtonElement>(\n 'button[data-dt-children-name=\"ClearAll\"]',\n );\n if (xButton) {\n event.preventDefault();\n event.stopPropagation();\n xButton.focus();\n return true;\n }\n return false;\n}\n\n/** Select component */\nfunction SelectFwd<OptionValue, Multiple extends boolean = false>(\n props: SelectFormsProps<OptionValue, Multiple>,\n forwardedRef: Ref<FormControlWithOverlayRef>,\n) {\n const {\n multiple = false,\n disabled: propsDisabled,\n // oxlint-disable-next-line typescript/no-deprecated -- APPDEV-18321\n controlState,\n clearable = multiple,\n name,\n id: propId,\n readOnly: propReadOnly,\n children,\n value: propsValue,\n defaultValue: propsDefaultValue,\n onChange: propsOnChange,\n onFocus,\n onBlur,\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-details': ariaDetails,\n 'data-dtrum-mask': dataDtrumMask,\n 'data-dtrum-allow': dataDtrumAllow,\n 'aria-disabled': ariaDisabledProp,\n onOpenChange,\n onValidityChange,\n required: propsRequired,\n form,\n _messageTarget,\n ...remainingProps\n } = props;\n\n const [behavioralTrackingProps, restProps] =\n useBehavioralTrackingProps(remainingProps);\n\n const slots = useSelectSlots(children);\n\n const stratoLogger = useMemo(\n () =>\n createStratoLogger.bind({\n name,\n id: propId,\n ariaLabel,\n dataTestId,\n })(COMPONENT_NAME),\n [name, propId, ariaLabel, dataTestId],\n );\n\n const {\n disableFiltering,\n value: filterValueProp,\n defaultValue: filterDefaultValueProp,\n onChange: filterOnChangeProp,\n ...remainingFilterProps\n } = slots.Filter?.props ?? {};\n\n const {\n width: triggerWidthProp,\n placeholder: triggerPlaceholderProp,\n ...remainingTriggerProps\n } = slots.Trigger?.props ?? {};\n\n const {\n width: contentWidthProp,\n loading: contentLoadingProp,\n showSelectedOptionsFirst: contentShowSelectedOptionsFirstProp,\n ...remainingContentProps\n } = slots.Content?.props ?? {};\n\n const {\n optionsOrGroups: options,\n optionsHavePrefix,\n allOptions,\n } = useSelectOptions<OptionValue>(slots.Content, stratoLogger);\n\n const { value, defaultValue } = useSelectValue<OptionValue, Multiple>({\n value: propsValue,\n defaultValue: propsDefaultValue,\n options,\n multiple: (multiple === true) as Multiple,\n });\n\n const {\n id,\n disabled,\n required,\n ariaDisabled,\n readOnly,\n hint,\n hintProps,\n showError,\n messageDispatch: messagesContextDispatch,\n } = useFormControl({\n propId,\n propDisabled: propsDisabled,\n propRequired: propsRequired,\n propAriaDisabled: ariaDisabledProp,\n propReadOnly,\n controlState,\n });\n\n const hiddenSelectRef = useRef<HTMLSelectElement>(null);\n const formValidityChangeRef = useRef<\n ((state: ValidationState) => void) | undefined\n >(undefined);\n const _emitValidationState = useValidationStateEmitter((state) =>\n formValidityChangeRef.current?.(state),\n );\n const emitValidationState = useCustomMessageEmitter(\n _emitValidationState,\n () => getValidationState(hiddenSelectRef.current, 'manual', undefined, id),\n );\n\n const [triggerRef, setTriggerRef] = useState<HTMLDivElement | null>(null);\n const menuOwnerId = useId();\n\n useFormFieldValidation(\n hiddenSelectRef,\n { required, value: safeStringify(propsValue) },\n undefined,\n undefined,\n _emitValidationState,\n );\n\n const formRegistration = useInternalFormRegistration({\n id,\n name,\n form,\n messageTarget: _messageTarget,\n getValue: () => {\n if (propsValue !== undefined) {\n return propsValue;\n }\n const selected = (selectRef.current?.getValue() ??\n []) as SelectMultiValue<BaseOption<OptionValue>>;\n if (multiple) {\n return selected.map((o) => o.value);\n }\n return selected[0]?.value ?? null;\n },\n onValidityChange,\n focus: () =>\n hiddenTrigger?.focus({ preventScroll: true, focusVisible: true }),\n validateField: async ({ reveal, trigger }) => {\n hiddenSelectRef.current?.checkValidity();\n if (reveal) {\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n queueMicrotask(() => hiddenSelectRef.current?.reportValidity());\n }\n const state = getValidationState(\n hiddenSelectRef.current,\n trigger,\n undefined,\n id,\n );\n return emitValidationState(state);\n },\n resetValidation: () => {\n hiddenSelectRef.current?.setCustomValidity('');\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: false, resetShowError: true },\n });\n },\n });\n formValidityChangeRef.current = formRegistration.onValidityChange;\n\n const menuOpenReducer = useCallback(\n (state: boolean, action: SelectReducerAction) => {\n if (readOnly) {\n return state;\n }\n\n const newState = reducer(state, action);\n\n if (state !== newState) {\n // Delay the onOpenChange call to not run into a bad setState().\n queueMicrotask(() => {\n onOpenChange?.(newState);\n });\n\n // Surface blur validation when the dropdown closes.\n //oxlint-disable-next-line typescript/no-deprecated -- APPDEV-18321\n if (state === true && newState === false && !controlState) {\n queueMicrotask(() => {\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n hiddenSelectRef.current?.checkValidity();\n emitValidationState(\n getValidationState(\n hiddenSelectRef.current,\n 'blur',\n undefined,\n id,\n ),\n );\n });\n }\n }\n\n return newState;\n },\n [\n readOnly,\n controlState,\n onOpenChange,\n messagesContextDispatch,\n hiddenSelectRef,\n emitValidationState,\n id,\n ],\n );\n\n const [menuOpen, dispatch] = useReducer(menuOpenReducer, false);\n\n // useRef instead of useState: isFocusWithin is never read during render, only inside\n // event handlers. A ref gives a synchronous, always-current value so that concurrent\n // focus events (e.g. button focus + dummyInput focus on the same click when using a\n // CustomTrigger) cannot both read `false` before the first setIsFocusWithin flush.\n const isFocusWithin = useRef<boolean>(false);\n\n const [filterValue, setFilterValue] = useControllableState({\n value: filterValueProp,\n defaultValue: filterDefaultValueProp,\n onChange: filterOnChangeProp,\n });\n\n // any is needed as the needed type coming from the react-select is not exported\n // oxlint-disable-next-line typescript/no-explicit-any\n const selectRef = useRef<any>(null);\n\n const hiddenTrigger = triggerRef?.querySelector('input');\n const [focusOnOption, setFocusOnOption] = useState<boolean>(true);\n\n // If the disableFiltering value changes, the filterValue will need to be\n // reset\n useEffect(() => {\n if (\n disableFiltering === true &&\n (filterValue !== undefined || filterValue !== '')\n ) {\n setFilterValue('');\n }\n // We don't want to include filterValue as dependency because when the user types in the input and\n // disableFiltering is true, we don't want to clear the input\n // oxlint-disable-next-line react-hooks/exhaustive-deps\n }, [disableFiltering]);\n\n const filterConfig = {\n // Filter by both visible label and option value/textValue.\n // This allows searching by value (e.g. \"green\") when the rendered label differs.\n stringify: (option: {\n label: string;\n value: string;\n data: BaseOption<OptionValue>;\n }) => {\n const searchValue = option.data.textValue ?? option.value;\n\n if (searchValue && searchValue !== option.label) {\n return `${option.label} ${searchValue}`;\n }\n\n return `${option.label}`;\n },\n };\n\n const handleChange = (\n option:\n | SelectSingleValue<BaseOption<OptionValue>>\n | SelectMultiValue<BaseOption<OptionValue>>,\n ) => {\n // Send native onChange event for any form control / onChange listeners\n requestAnimationFrame(() => {\n const nativeEvent = new Event('change', {\n bubbles: true,\n cancelable: true,\n });\n hiddenSelectRef?.current?.dispatchEvent(nativeEvent);\n });\n\n if (multiple === false) {\n setFilterValue(''); // clear the filter when an option is selected in single mode\n }\n\n // Early exit if the onChange prop is not defined, there is nothing that needs\n // to be done.\n if (!propsOnChange) {\n return;\n }\n\n // In a single select scenario, it will only emit a single value of the selected option\n if (multiple === false) {\n // If the clicked option is the same as the selected one we can return early.\n if (option === value) {\n return;\n }\n if (option === null) {\n // Ensures that null is returned if no value is selected\n propsOnChange?.(null as SelectOnChangeValue<OptionValue, Multiple>);\n } else {\n propsOnChange?.(\n (option as SelectSingleValue<BaseOption<OptionValue>>)\n ?.value as SelectOnChangeValue<OptionValue, Multiple>,\n );\n }\n }\n\n // In a multi select scenario, it will map the value of all selected options and report them\n // in the on change.\n if (multiple === true) {\n const selectedOptionValues = (\n option as SelectMultiValue<BaseOption<OptionValue>>\n ).map((individualOption) => individualOption.value);\n propsOnChange?.(\n selectedOptionValues as SelectOnChangeValue<OptionValue, Multiple>,\n );\n }\n };\n\n const filterRef = useRef<FormControlRef<HTMLDivElement>>(null);\n const clearSelectionRef = useRef<HTMLElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const menuListFunctionRef = useRef<MenuListFunctionRefObject>(null);\n\n useEffect(() => {\n if (menuOpen) {\n modalityStore.setState('keyboard');\n }\n }, [menuOpen]);\n\n const handleArrowKeyOptionFocus = (key: KeyboardEvent['key']) => {\n if (key !== 'ArrowUp' && key !== 'ArrowDown') {\n return;\n }\n\n requestAnimationFrame(() => {\n if (!contentRef.current || !menuListFunctionRef.current) {\n return;\n }\n\n const focusedElement = contentRef.current.querySelector(\n '.strato-select-option--focus',\n );\n\n if (!focusedElement) {\n // No focused element in DOM means react-select wrapped around to the\n // opposite end of the list \u2014 scroll there to reveal it.\n if (key === 'ArrowDown') {\n menuListFunctionRef.current.scrollToIndex(0);\n } else {\n menuListFunctionRef.current.scrollToBottom();\n }\n return;\n }\n\n const index = Number(\n focusedElement.closest('[data-index]')?.getAttribute('data-index'),\n );\n if (!isNaN(index)) {\n menuListFunctionRef.current.scrollToIndex(index);\n }\n });\n };\n\n useImperativeHandle(\n forwardedRef,\n (): FormControlWithOverlayRef => ({\n element: containerRef.current,\n triggerRef: triggerRef,\n inputRef: hiddenSelectRef.current,\n focus: () => {\n hiddenTrigger?.focus();\n },\n open: () => {\n // When opened programmatically the hidden input needs to be focused for the virtual focus\n hiddenTrigger?.focus();\n dispatch({\n type: SelectActions.OPEN,\n });\n },\n close: () =>\n dispatch({\n type: SelectActions.CLOSE,\n }),\n validate: () => {\n // The initialization of the hiddenSelectRef is delayed, therefore,\n // we want to check the validity at the end of the render cycle.\n queueMicrotask(() => hiddenSelectRef.current?.checkValidity());\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n const state = getValidationState(\n hiddenSelectRef.current,\n 'manual',\n undefined,\n id,\n );\n emitValidationState(state);\n },\n // DEPRECATION: [APPDEV-18178] BREAKING-CHANGE: Remove validateAsync() and change validate() to return Promise<ValidationState>.\n validateAsync: async () => {\n queueMicrotask(() => hiddenSelectRef.current?.checkValidity());\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n const state = getValidationState(\n hiddenSelectRef.current,\n 'manual',\n undefined,\n id,\n );\n return emitValidationState(state);\n },\n }),\n [\n hiddenTrigger,\n messagesContextDispatch,\n emitValidationState,\n triggerRef,\n id,\n ],\n );\n\n /**\n * Workaround for the focus to stay on the selected option for the controlled multi select\n * See: https://github.com/JedWatson/react-select/issues/5367\n */\n if (multiple && propsOnChange) {\n const select = selectRef.current;\n if (select?.state.focusedOption) {\n const focusedOptionValue = select.state.focusedOption.value;\n const newFocusedOption = getNewFocusedOption(options, focusedOptionValue);\n\n // HACK: manipulating the state without setState is evil (but needed here as we are mid-transition)\n select.state.focusedOption = newFocusedOption;\n }\n }\n\n const contextMemo = useMemo(\n () => ({ state: menuOpen, dispatch }),\n [menuOpen, dispatch],\n );\n\n const handleFocus = (event: FocusEvent<HTMLElement>) => {\n if (!isFocusWithin.current) {\n isFocusWithin.current = true;\n onFocus?.(event);\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLElement>) => {\n // The relatedTarget is null when focus leaves the browser \u2014 treat that as\n // a real blur. Otherwise, only treat it as a blur if focus is not moving\n // to one of the Select's own internal elements (hidden trigger, filter,\n // clear-selection) \u2014 those may live in a portal so a container.contains\n // check alone would misclassify them as \"outside\".\n // Also exclude the custom trigger element itself: when using a CustomTrigger\n // the dummyInput is nested inside a keyboard-focusable element. Shift+Tab\n // from the dummyInput goes back to that outer element, which must not fire\n // a consumer onBlur.\n const relatedTarget = event.relatedTarget as Node | null;\n const movingToInternal =\n relatedTarget !== null &&\n (relatedTarget === hiddenTrigger ||\n relatedTarget === clearSelectionRef.current ||\n filterRef.current?.element?.contains(relatedTarget) ||\n triggerRef?.contains(relatedTarget) ||\n (relatedTarget instanceof HTMLElement &&\n relatedTarget.closest(`[data-dt-owner=\"${menuOwnerId}\"]`) !== null));\n\n if (!movingToInternal && isFocusWithin.current) {\n isFocusWithin.current = false;\n hiddenSelectRef.current?.checkValidity();\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n emitValidationState(getValidationState(hiddenSelectRef.current, 'blur'));\n onBlur?.(event);\n }\n };\n\n const handleKeyDownOnFilterClearButton = (\n event: ReactKeyboardEvent<HTMLDivElement>,\n ) => {\n // Focus is on the X button inside the SearchInput (not the input itself).\n // react-select blocks Enter->click natively, so we trigger .click() manually.\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n }\n\n if (event.key === 'Enter' || event.key === ' ') {\n const clearButton = document.activeElement as HTMLElement;\n event.preventDefault();\n event.stopPropagation();\n clearButton.click();\n filterRef.current?.inputRef?.focus();\n // Restore the virtual focus on options now that DOM focus\n // has returned to the filter input.\n setFocusOnOption(true);\n }\n\n if (event.key === 'Tab' && !event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n if (clearSelectionRef.current) {\n clearSelectionRef.current.focus();\n // Keep virtual focus off options while navigating between controls.\n setFocusOnOption(false);\n } else {\n hiddenTrigger?.focus();\n // Restore the virtual focus on options now that DOM focus\n // has cycled back to the trigger.\n setFocusOnOption(true);\n }\n }\n\n if (event.key === 'Tab' && event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n filterRef.current?.inputRef?.focus();\n // Restore the virtual focus on options now that DOM focus\n // has returned to the filter input.\n setFocusOnOption(true);\n }\n };\n\n return (\n <SelectMenuContext.Provider value={contextMemo}>\n <div\n ref={containerRef}\n data-testid={dataTestId}\n data-dtrum-mask={dataDtrumMask}\n data-dtrum-allow={dataDtrumAllow}\n className={clsx(\n styles.selectWrapper({\n fullWidth:\n triggerWidthProp === 'full' || triggerWidthProp === '100%',\n }),\n consumerClassName,\n )}\n style={consumerStyle}\n {...mergeProps(restProps, behavioralTrackingProps)}\n data-dt-component={COMPONENT_NAME}\n >\n <ReactSelect\n instanceId={id}\n selectInputId={id}\n className={clsx(styles.select, styles.clearReactSelectZIndex, {\n [styles.validAndEnabled]: !disabled && !ariaDisabled && !showError,\n })}\n unstyled\n options={options}\n components={components}\n // TODO: React select does an instance equality check on this one, so we need to figure out how\n // to keep that in sync over a controlled state.\n value={value}\n defaultValue={defaultValue}\n onChange={(value) =>\n // Need to cast this here as React.Select handles the value still as unknown.\n // TODO: Maybe we can go to the JSX generic?\n handleChange(\n value as\n | SelectSingleValue<BaseOption<OptionValue>>\n | SelectMultiValue<BaseOption<OptionValue>>,\n )\n }\n onBlur={handleBlur}\n hiddenSelectName={name}\n hiddenSelectForm={form}\n ref={selectRef}\n pageSize={5}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-details={ariaDetails}\n aria-disabled={ariaDisabled}\n hiddenSelectRef={hiddenSelectRef}\n // This has to be set to false as we don't want the input directly in the select trigger\n // but handle this ourselves\n isSearchable={false}\n // Multi selection relevant props\n isMulti={multiple ?? false}\n hideSelectedOptions={false}\n closeMenuOnSelect={multiple === false}\n // This has to be set to false as we don't want the clear button directly in the select trigger\n // but handle this ourselves\n isClearable={false}\n isDisabled={disabled}\n isRequired={required}\n triggerWidth={triggerWidthProp}\n contentWidth={contentWidthProp ?? 'trigger'}\n placeholderText={triggerPlaceholderProp}\n // DISCUSS: Figure out if `undefined` is better here or if we should use `null`\n displayValue={slots.DisplayValue ?? undefined}\n prefix={slots.Prefix ?? undefined}\n customTrigger={slots.CustomTrigger ?? undefined}\n // Trigger and Menu (Popper) ref connections\n triggerRef={triggerRef}\n setTriggerRef={setTriggerRef}\n // Reserving space for prefix icons\n optionsHavePrefix={optionsHavePrefix}\n menuIsOpen={menuOpen}\n // Handles Filtering in the current select\n filterOption={(option, inputValue) => {\n if (disableFiltering === true) {\n return true;\n }\n const filterFunction =\n createFilter<BaseOption<OptionValue>>(filterConfig);\n\n // We need to cast this here, because the filter option prop only infers option as `FilterOptionOption<unknown>`. The `FilterOptionOption` type is not exposed by react-select.\n return filterFunction(\n option as Parameters<typeof filterFunction>[0],\n inputValue,\n );\n }}\n customFilter={slots.Filter ?? undefined}\n inputValue={filterValue}\n onInputChange={(newValue, actionmeta) => {\n if (actionmeta.action === 'input-change') {\n setFilterValue(newValue);\n }\n }}\n emptyState={slots.EmptyState ?? undefined}\n controlState={controlState}\n formControlShowError={showError}\n formControlHint={hint}\n formControlHintProps={hintProps}\n loading={contentLoadingProp}\n clearable={clearable}\n allOptions={allOptions}\n tabSelectsValue={false}\n focusOnOption={focusOnOption}\n contentRef={contentRef}\n menuOwnerId={menuOwnerId}\n menuListFunctionRef={menuListFunctionRef}\n filterRef={filterRef}\n clearSelectionRef={clearSelectionRef}\n showSelectedOptionsFirst={contentShowSelectedOptionsFirstProp}\n componentProps={{\n trigger: {\n className: slots.Trigger?.props.className,\n style: { ...slots.Trigger?.props.style },\n readOnly: !!readOnly,\n ariaDisabled,\n ...remainingTriggerProps,\n },\n filter: {\n className: slots.Filter?.props.className,\n style: slots.Filter?.props.style,\n ...remainingFilterProps,\n },\n content: {\n className: slots.Content?.props.className,\n style: slots.Content?.props.style,\n ...remainingContentProps,\n },\n emptyState: {\n ...slots.EmptyState?.props,\n },\n }}\n onFocus={handleFocus}\n onKeyDown={(event) => {\n if (!menuOpen) {\n if (event.key === 'Enter' || event.key === ' ') {\n // Prevent the Enter keypress from submitting an enclosing form\n // when it is meant to open the dropdown.\n event.preventDefault();\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n }\n\n return true;\n }\n\n // close the dropdown on Escape and focus the trigger\n if (event.key === 'Escape') {\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n\n hiddenTrigger?.focus();\n }\n\n if (filterRef.current || clearSelectionRef.current) {\n // focus is on filter\n if (document.activeElement === filterRef.current?.inputRef) {\n // We only want to remove selected values with Backspace when the focus is not on the filter input\n if (\n event.key === 'Backspace' &&\n filterRef.current.inputRef?.value === ''\n ) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (event.key === 'Tab') {\n const hasClearSearchButton = !!filterValue;\n if (\n event.shiftKey ||\n (!clearSelectionRef.current && !hasClearSearchButton)\n ) {\n event.preventDefault();\n event.stopPropagation();\n hiddenTrigger?.focus();\n } else if (hasClearSearchButton) {\n // Native Tab + the setFocusOnOption re-render prevents :focus-visible\n // from firing on the X button. Focus it programmatically instead,\n // matching the clearSelectionRef pattern.\n if (\n focusFilterClearButton(\n filterRef.current?.element,\n filterValue,\n event,\n )\n ) {\n setFocusOnOption(false);\n }\n } else {\n // clear-selection is visible, filter is empty \u2014 native Tab works here.\n setFocusOnOption(false);\n }\n }\n\n // close the overlay when using a single select and selecting an option while searching in the filter\n if (event.key === 'Enter' && !props.multiple) {\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n hiddenTrigger?.focus();\n }\n\n // do not select any options if the select is in a loading state\n if (event.key === 'Enter' && contentLoadingProp) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n // do not select any options if typing space as the first character of the filter\n if (event.key === ' ' && !filterValue) {\n setFilterValue(' ');\n event.preventDefault();\n event.stopPropagation();\n }\n\n handleArrowKeyOptionFocus(event.key);\n\n return true;\n }\n\n if (\n filterRef.current?.element &&\n filterRef.current.element.contains(document.activeElement) &&\n document.activeElement !== filterRef.current.inputRef\n ) {\n handleKeyDownOnFilterClearButton(event);\n return false;\n }\n\n // focus is on the clear selection element\n if (document.activeElement === clearSelectionRef.current) {\n setFocusOnOption(false);\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n }\n\n // focus the trigger on tab (if it is not a shift tab press to focus back on the filter)\n if (\n event.key === 'Tab' &&\n !(event.shiftKey && filterRef.current)\n ) {\n event.preventDefault();\n event.stopPropagation();\n hiddenTrigger?.focus();\n setFocusOnOption(true);\n }\n\n // focus moves from the clear selection element back to the X button\n // (if the filter has text and the button is visible), or back to the filter input.\n if (\n event.key === 'Tab' &&\n event.shiftKey &&\n filterRef.current\n ) {\n if (\n !focusFilterClearButton(\n filterRef.current?.element,\n filterValue,\n event,\n )\n ) {\n setFocusOnOption(true);\n }\n }\n\n return false;\n }\n\n try {\n // focus is on hidden input element\n if (\n document.activeElement &&\n document.getElementById(document.activeElement.id)\n ) {\n if (event.key === 'Tab') {\n event.preventDefault();\n event.stopPropagation();\n\n if (!event.shiftKey) {\n // set focus on filter if available\n if (filterRef.current) {\n filterRef.current.inputRef?.focus();\n return false;\n }\n\n // set focus on clearSelection if available\n if (clearSelectionRef.current) {\n clearSelectionRef.current.focus();\n setFocusOnOption(false);\n return false;\n }\n } else {\n // set focus on clearSelection if available\n if (clearSelectionRef.current) {\n clearSelectionRef.current.focus();\n setFocusOnOption(false);\n return false;\n }\n // set focus on X button in filter if filter has text\n if (\n focusFilterClearButton(\n filterRef.current?.element,\n filterValue,\n event,\n )\n ) {\n setFocusOnOption(false);\n return false;\n }\n // set focus on filter if available\n if (filterRef.current) {\n filterRef.current.inputRef?.focus();\n return false;\n }\n }\n }\n\n handleArrowKeyOptionFocus(event.key);\n\n // do not select any options if the select is in a loading state\n if (contentLoadingProp) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n } catch (error) {\n // oxlint-disable-next-line no-console\n console.log(\n 'Invalid query selector on the Select trigger',\n error,\n );\n }\n return false;\n }\n\n try {\n // close the dropdown when tab is pressed and no filter or clear selection is available\n if (\n document.activeElement &&\n document.getElementById(document.activeElement.id)\n ) {\n if (event.key === 'Tab') {\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n } else {\n handleArrowKeyOptionFocus(event.key);\n }\n }\n } catch (error) {\n // oxlint-disable-next-line no-console\n console.log(\n 'Invalid query selector on the Select trigger',\n error,\n );\n }\n\n setFocusOnOption(true);\n }}\n />\n </div>\n </SelectMenuContext.Provider>\n );\n}\n\nconst SelectForwardRef = forwardRef(SelectFwd);\n\n/**\n * Select component that uses a fallback FormFieldMessages-context if it wasn't wrapped in a FormField.\n */\nconst SelectRoot =\n withFormFieldMessageContextProviderWithGenerics(SelectForwardRef);\n\n/**\n * The `Select` component allows you to choose one or multiple\n * options from a collapsed dropdown with options.\n * @public\n */\nexport const Select = Object.assign(SelectRoot, {\n Content: SelectContent,\n Option: SelectOption,\n Group: SelectGroup,\n GroupLabel: SelectGroupLabel,\n Trigger: SelectTrigger,\n DisplayValue: SelectDisplayValue,\n Prefix: SelectPrefix,\n Suffix: SelectSuffix,\n CustomTrigger: SelectCustomTrigger,\n Filter: SelectFilter,\n EmptyState: SelectEmptyState,\n});\n\n(Select as typeof Select & { displayName: string }).displayName =\n COMPONENT_NAME;\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["value"]
|
|
7
7
|
}
|
|
@@ -9,8 +9,6 @@ import { useId } from "../../../core/hooks/useId.js";
|
|
|
9
9
|
import { useMergeRefs } from "../../../core/hooks/useMergeRefs.js";
|
|
10
10
|
import { useFormFieldValidation } from "../../forms-core/hooks/useFormFieldValidation.js";
|
|
11
11
|
const HiddenSelect = forwardRef(
|
|
12
|
-
/* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
12
|
(props, forwardedRef) => {
|
|
15
13
|
const {
|
|
16
14
|
name,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/forms/select/components/HiddenSelect.tsx"],
|
|
4
|
-
"sourcesContent": ["import {\n forwardRef,\n type ReactElement,\n type Ref,\n type SyntheticEvent,\n useMemo,\n useRef,\n} from 'react';\nimport { PropsValue, SingleValue } from 'react-select';\n\nimport { VisuallyHidden } from '../../../core/components/visually-hidden/VisuallyHidden.js';\nimport { useId } from '../../../core/hooks/useId.js';\nimport { useMergeRefs } from '../../../core/hooks/useMergeRefs.js';\nimport type { FormControlState } from '../../../core/types/form-control-state.js';\nimport { useFormFieldValidation } from '../../forms-core/hooks/useFormFieldValidation.js';\nimport type { BaseOption } from '../types.js';\n\n//#region Typings\n/** Accepted properties for the HiddenSelect component */\ninterface HiddenSelectProps<OptionValue> {\n ref: Ref<HTMLSelectElement>;\n name?: string;\n form?: string;\n selectedValues?: PropsValue<OptionValue>;\n required?: boolean;\n disabled?: boolean;\n ariaDisabled?: boolean;\n //
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import {\n forwardRef,\n type ReactElement,\n type Ref,\n type SyntheticEvent,\n useMemo,\n useRef,\n} from 'react';\nimport { PropsValue, SingleValue } from 'react-select';\n\nimport { VisuallyHidden } from '../../../core/components/visually-hidden/VisuallyHidden.js';\nimport { useId } from '../../../core/hooks/useId.js';\nimport { useMergeRefs } from '../../../core/hooks/useMergeRefs.js';\nimport type { FormControlState } from '../../../core/types/form-control-state.js';\nimport { useFormFieldValidation } from '../../forms-core/hooks/useFormFieldValidation.js';\nimport type { BaseOption } from '../types.js';\n\n//#region Typings\n/** Accepted properties for the HiddenSelect component */\ninterface HiddenSelectProps<OptionValue> {\n ref: Ref<HTMLSelectElement>;\n name?: string;\n form?: string;\n selectedValues?: PropsValue<OptionValue>;\n required?: boolean;\n disabled?: boolean;\n ariaDisabled?: boolean;\n // oxlint-disable-next-line typescript/no-deprecated -- APPDEV-18321\n controlState?: FormControlState;\n}\n//#endregion\n\n/**\n * HiddenSelect component\n * @internal\n */\nexport const HiddenSelect: <OptionValue>(\n props: HiddenSelectProps<OptionValue>,\n) => /* @__PURE__ */ ReactElement | null = forwardRef(\n <OptionValue,>(\n props: HiddenSelectProps<OptionValue>,\n forwardedRef: HiddenSelectProps<OptionValue>['ref'],\n ) => {\n const {\n name,\n form,\n selectedValues,\n required,\n disabled,\n ariaDisabled,\n controlState,\n } = props;\n const multiple = Array.isArray(selectedValues);\n\n const id = useId();\n const ref = useRef<HTMLSelectElement | null>(null);\n\n const selectedValuesArray = useMemo(() => {\n // Use textValue if it's defined. If not, use label (only if it's a string). Otherwise, use the value property.\n const extractValue = (\n val: SingleValue<BaseOption<OptionValue>>,\n ): string => {\n return val?.textValue ?? '';\n };\n\n if (multiple) {\n return selectedValues?.length > 0\n ? selectedValues.map(extractValue)\n : [];\n }\n\n if (selectedValues) {\n return [\n extractValue(\n selectedValues as unknown as SingleValue<BaseOption<OptionValue>>,\n ),\n ];\n }\n\n return [];\n }, [multiple, selectedValues]);\n\n const { ariaProps, onBlur, onChange, onInvalid } = useFormFieldValidation(\n ref,\n // selectedValuesArray already contains only plain strings, so it is safe\n // to join for a dep key \u2014 no risk of BigInt or circular-reference errors.\n { selectedValues: selectedValuesArray.join(',') },\n {},\n id,\n );\n\n const handleInvalid = controlState\n ? (event: SyntheticEvent<HTMLSelectElement>) => {\n // Suppress the native browser validation popup.\n event.preventDefault();\n }\n : onInvalid;\n\n const value = useMemo(() => {\n if (multiple) {\n return selectedValuesArray;\n }\n // use string value or empty string as array values are not allowed for single select\n return selectedValues\n ? `${\n (selectedValues as unknown as SingleValue<BaseOption<OptionValue>>)\n ?.value\n }`\n : '';\n }, [multiple, selectedValues, selectedValuesArray]);\n\n return (\n <VisuallyHidden>\n <select\n ref={useMergeRefs([forwardedRef, ref])}\n name={name}\n form={form}\n multiple={multiple}\n tabIndex={-1}\n required={required}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n aria-hidden\n value={value && value.length !== 0 ? value : undefined}\n id={id}\n onChange={() => undefined}\n onInvalid={handleInvalid}\n {...(controlState ? {} : { ...ariaProps, onBlur, onChange })}\n >\n {selectedValuesArray.map((val, key) => {\n return <option value={`${val}`} key={`${key}-${val}`} />;\n })}\n </select>\n </VisuallyHidden>\n );\n },\n);\n\n(HiddenSelect as typeof HiddenSelect & { displayName: string }).displayName =\n 'HiddenSelect';\n"],
|
|
5
|
+
"mappings": "AAkImB;AAlInB;AAAA,EACE;AAAA,EAIA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,oBAAoB;AAE7B,SAAS,8BAA8B;AAsBhC,MAAM,eAE8B;AAAA,EACzC,CACE,OACA,iBACG;AACH,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AACJ,UAAM,WAAW,MAAM,QAAQ,cAAc;AAE7C,UAAM,KAAK,MAAM;AACjB,UAAM,MAAM,OAAiC,IAAI;AAEjD,UAAM,sBAAsB,QAAQ,MAAM;AAExC,YAAM,eAAe,CACnB,QACW;AACX,eAAO,KAAK,aAAa;AAAA,MAC3B;AAEA,UAAI,UAAU;AACZ,eAAO,gBAAgB,SAAS,IAC5B,eAAe,IAAI,YAAY,IAC/B,CAAC;AAAA,MACP;AAEA,UAAI,gBAAgB;AAClB,eAAO;AAAA,UACL;AAAA,YACE;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,aAAO,CAAC;AAAA,IACV,GAAG,CAAC,UAAU,cAAc,CAAC;AAE7B,UAAM,EAAE,WAAW,QAAQ,UAAU,UAAU,IAAI;AAAA,MACjD;AAAA;AAAA;AAAA,MAGA,EAAE,gBAAgB,oBAAoB,KAAK,GAAG,EAAE;AAAA,MAChD,CAAC;AAAA,MACD;AAAA,IACF;AAEA,UAAM,gBAAgB,eAClB,CAAC,UAA6C;AAE5C,YAAM,eAAe;AAAA,IACvB,IACA;AAEJ,UAAM,QAAQ,QAAQ,MAAM;AAC1B,UAAI,UAAU;AACZ,eAAO;AAAA,MACT;AAEA,aAAO,iBACH,GACG,gBACG,KACN,KACA;AAAA,IACN,GAAG,CAAC,UAAU,gBAAgB,mBAAmB,CAAC;AAElD,WACE,oBAAC,kBACC;AAAA,MAAC;AAAA;AAAA,QACC,KAAK,aAAa,CAAC,cAAc,GAAG,CAAC;AAAA,QACrC;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,iBAAe;AAAA,QACf,eAAW;AAAA,QACX,OAAO,SAAS,MAAM,WAAW,IAAI,QAAQ;AAAA,QAC7C;AAAA,QACA,UAAU,MAAM;AAAA,QAChB,WAAW;AAAA,QACV,GAAI,eAAe,CAAC,IAAI,EAAE,GAAG,WAAW,QAAQ,SAAS;AAAA,QAEzD,8BAAoB,IAAI,CAAC,KAAK,QAAQ;AACrC,iBAAO,oBAAC,YAAO,OAAO,GAAG,GAAG,MAAS,GAAG,GAAG,IAAI,GAAG,EAAI;AAAA,QACxD,CAAC;AAAA;AAAA,IACH,GACF;AAAA,EAEJ;AACF;AAEC,aAA+D,cAC9D;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/forms/select/components/MenuList.tsx"],
|
|
4
|
-
"sourcesContent": ["import { useVirtualizer } from '@tanstack/react-virtual';\nimport clsx from 'clsx';\nimport {\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type ReactElement,\n Children,\n} from 'react';\nimport { useIntl, type IntlShape } from 'react-intl';\nimport type {\n GroupBase,\n GroupProps as ReactSelectGroupProps,\n MenuListProps as ReactSelectMenuListProps,\n OptionProps as ReactSelectOptionProps,\n} from 'react-select';\n\nimport { NoOptionsMessage, noResultsMessage } from './NoOptionsMessage.js';\nimport type { OptionProps } from './Option.js';\nimport {\n applyStoredSelectionSortingOptions,\n sortSelectedOptions,\n} from './sort-selected-options-first.js';\nimport { useMergeRefs } from '../../../core/hooks/useMergeRefs.js';\nimport { screenReaderOnly } from '../../../styles/screen-reader-only.sty.js';\nimport * as styles from '../styles/Select.sty.js';\nimport type { BaseGroup, BaseOption } from '../types.js';\n\n/**\n * @internal\n */\nexport interface MenuListFunctionRefObject {\n /** Function to scroll to the last option. */\n scrollToBottom: () => void;\n /** Function to scroll to a specific virtualizer index. */\n scrollToIndex: (index: number) => void;\n}\n\ntype MenuListProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectMenuListProps<OptionValue, isMulti, Group>;\n\n/**\n * Counts non-disabled leaf options across both flat and grouped children.\n * @param children - The current rendered option children.\n * @returns The number of selectable options.\n */\nfunction countSelectableOptions(children: ReactElement[]): number {\n let count = 0;\n for (const child of children) {\n if (child === null || child === undefined) {\n continue;\n }\n const props = (\n child as unknown as ReactElement<\n | ReactSelectGroupProps<BaseOption<unknown>>\n | ReactSelectOptionProps<BaseOption<unknown>>\n >\n ).props;\n // Distinguish between OptionProps and GroupProps: OptionProps has type:'option', GroupProps does not.\n // Flat options expose isDisabled directly, groups have it in the options array.\n if ('type' in props) {\n if (!props.isDisabled) {\n count += 1;\n }\n } else {\n // props.options is the post-filter list; data.options would be the unfiltered original\n count += props.options.filter((o) => !o.isDisabled).length;\n }\n }\n return count;\n}\n\n/**\n * Builds the screen-reader live-region text shown when a custom filter is present.\n * @param intl - The intl instance used to format messages.\n * @param children - The current rendered option children.\n * @param isFiltering - Whether a non-empty filter is active.\n * @param isShowingNoOptions - Whether the no-options message is currently displayed.\n * @returns The live-region text to announce.\n */\nfunction buildFilterAnnouncement(\n intl: IntlShape,\n children: ReactElement[],\n isFiltering: boolean,\n isShowingNoOptions: boolean,\n): string {\n if (!isFiltering) {\n if (isShowingNoOptions) {\n return '';\n }\n return intl.formatMessage(\n {\n defaultMessage:\n '{count, plural, one {Showing # option} other {Showing all # options}}',\n id: 'k21q5kyTS9rGFWLF',\n description:\n 'Screen reader announcement when the select filter is cleared, showing the total number of available options.',\n },\n { count: countSelectableOptions(children) },\n );\n }\n\n if (isShowingNoOptions) {\n return intl.formatMessage(noResultsMessage);\n }\n\n return intl.formatMessage(\n {\n defaultMessage:\n '{count, plural, one {# option found} other {# options found}}',\n id: 'IUvOgujQzBX+gSUq',\n description:\n 'Screen reader announcement of the number of options matching the select filter.',\n },\n { count: countSelectableOptions(children) },\n );\n}\n\nexport function MenuList<\n OptionValue,\n isMulti extends boolean,\n Group extends BaseGroup<OptionValue>,\n>(props: Readonly<MenuListProps<BaseOption<OptionValue>, isMulti, Group>>) {\n const { children, selectProps, innerProps } = props;\n\n const parentRef = useRef<HTMLDivElement | null>(null);\n // Get a setter on the parentRef to get notified when the element re-renders.\n const [notifyParentRefChange, setNotifyParentRefChange] =\n useState<HTMLDivElement | null>();\n\n const initialRender = useRef(true);\n const sortingMap = useRef(new WeakMap());\n\n let childrenArray = Children.toArray(children) as Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n >;\n\n const currentChildrenLength = useRef(childrenArray.length);\n\n const isShowingNoOptions =\n childrenArray.length === 1 && childrenArray[0].type === NoOptionsMessage;\n\n // During the initial rendering, the sorting is created and positions saved in a WeakMap.\n // If only the NoOptionsMessage/empty state is shown we don't need any sorting\n if (selectProps.showSelectedOptionsFirst && !isShowingNoOptions) {\n if (initialRender.current === true) {\n [childrenArray, sortingMap.current] = sortSelectedOptions(childrenArray);\n } else if (currentChildrenLength.current !== childrenArray.length) {\n currentChildrenLength.current = childrenArray.length;\n [childrenArray, sortingMap.current] = sortSelectedOptions(childrenArray);\n }\n // Otherwise the data is sorted by the initial sorting parameters.\n else {\n const [newChildrenArray, newSortingMap] =\n applyStoredSelectionSortingOptions(childrenArray, sortingMap.current);\n childrenArray = newChildrenArray;\n if (newSortingMap) {\n sortingMap.current = newSortingMap;\n }\n }\n }\n\n initialRender.current = false;\n\n const intl = useIntl();\n const isFiltering =\n selectProps.customFilter !== undefined &&\n selectProps.inputValue !== undefined &&\n selectProps.inputValue !== '';\n\n const filterAnnouncement = buildFilterAnnouncement(\n intl,\n childrenArray,\n isFiltering,\n isShowingNoOptions,\n );\n\n const optionVirtualizer = useVirtualizer({\n count: childrenArray.length,\n getScrollElement: () => parentRef.current,\n overscan: 5,\n estimateSize: () => 32,\n });\n\n const menulistref = useMergeRefs([\n props.innerRef,\n parentRef,\n setNotifyParentRefChange,\n selectProps.contentRef,\n ]);\n\n useImperativeHandle(\n selectProps.menuListFunctionRef,\n (): MenuListFunctionRefObject => ({\n scrollToBottom: () => {\n optionVirtualizer.scrollToIndex(childrenArray.length);\n },\n scrollToIndex: (index: number) => {\n optionVirtualizer.scrollToIndex(index);\n },\n }),\n );\n\n // When the parentElement re-renders, we will need to remeasure the virtualizer in order to\n // keep the correct height.\n useEffect(() => {\n requestAnimationFrame(() => {\n optionVirtualizer.elementsCache.forEach((element) => {\n optionVirtualizer.measureElement(element);\n });\n });\n // Deliberately leave optionVirtualizer out of the update deps to prevent a maximum update depth exceeded issue.\n //
|
|
4
|
+
"sourcesContent": ["import { useVirtualizer } from '@tanstack/react-virtual';\nimport clsx from 'clsx';\nimport {\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type ReactElement,\n Children,\n} from 'react';\nimport { useIntl, type IntlShape } from 'react-intl';\nimport type {\n GroupBase,\n GroupProps as ReactSelectGroupProps,\n MenuListProps as ReactSelectMenuListProps,\n OptionProps as ReactSelectOptionProps,\n} from 'react-select';\n\nimport { NoOptionsMessage, noResultsMessage } from './NoOptionsMessage.js';\nimport type { OptionProps } from './Option.js';\nimport {\n applyStoredSelectionSortingOptions,\n sortSelectedOptions,\n} from './sort-selected-options-first.js';\nimport { useMergeRefs } from '../../../core/hooks/useMergeRefs.js';\nimport { screenReaderOnly } from '../../../styles/screen-reader-only.sty.js';\nimport * as styles from '../styles/Select.sty.js';\nimport type { BaseGroup, BaseOption } from '../types.js';\n\n/**\n * @internal\n */\nexport interface MenuListFunctionRefObject {\n /** Function to scroll to the last option. */\n scrollToBottom: () => void;\n /** Function to scroll to a specific virtualizer index. */\n scrollToIndex: (index: number) => void;\n}\n\ntype MenuListProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectMenuListProps<OptionValue, isMulti, Group>;\n\n/**\n * Counts non-disabled leaf options across both flat and grouped children.\n * @param children - The current rendered option children.\n * @returns The number of selectable options.\n */\nfunction countSelectableOptions(children: ReactElement[]): number {\n let count = 0;\n for (const child of children) {\n if (child === null || child === undefined) {\n continue;\n }\n const props = (\n child as unknown as ReactElement<\n | ReactSelectGroupProps<BaseOption<unknown>>\n | ReactSelectOptionProps<BaseOption<unknown>>\n >\n ).props;\n // Distinguish between OptionProps and GroupProps: OptionProps has type:'option', GroupProps does not.\n // Flat options expose isDisabled directly, groups have it in the options array.\n if ('type' in props) {\n if (!props.isDisabled) {\n count += 1;\n }\n } else {\n // props.options is the post-filter list; data.options would be the unfiltered original\n count += props.options.filter((o) => !o.isDisabled).length;\n }\n }\n return count;\n}\n\n/**\n * Builds the screen-reader live-region text shown when a custom filter is present.\n * @param intl - The intl instance used to format messages.\n * @param children - The current rendered option children.\n * @param isFiltering - Whether a non-empty filter is active.\n * @param isShowingNoOptions - Whether the no-options message is currently displayed.\n * @returns The live-region text to announce.\n */\nfunction buildFilterAnnouncement(\n intl: IntlShape,\n children: ReactElement[],\n isFiltering: boolean,\n isShowingNoOptions: boolean,\n): string {\n if (!isFiltering) {\n if (isShowingNoOptions) {\n return '';\n }\n return intl.formatMessage(\n {\n defaultMessage:\n '{count, plural, one {Showing # option} other {Showing all # options}}',\n id: 'k21q5kyTS9rGFWLF',\n description:\n 'Screen reader announcement when the select filter is cleared, showing the total number of available options.',\n },\n { count: countSelectableOptions(children) },\n );\n }\n\n if (isShowingNoOptions) {\n return intl.formatMessage(noResultsMessage);\n }\n\n return intl.formatMessage(\n {\n defaultMessage:\n '{count, plural, one {# option found} other {# options found}}',\n id: 'IUvOgujQzBX+gSUq',\n description:\n 'Screen reader announcement of the number of options matching the select filter.',\n },\n { count: countSelectableOptions(children) },\n );\n}\n\nexport function MenuList<\n OptionValue,\n isMulti extends boolean,\n Group extends BaseGroup<OptionValue>,\n>(props: Readonly<MenuListProps<BaseOption<OptionValue>, isMulti, Group>>) {\n const { children, selectProps, innerProps } = props;\n\n const parentRef = useRef<HTMLDivElement | null>(null);\n // Get a setter on the parentRef to get notified when the element re-renders.\n const [notifyParentRefChange, setNotifyParentRefChange] =\n useState<HTMLDivElement | null>();\n\n const initialRender = useRef(true);\n const sortingMap = useRef(new WeakMap());\n\n let childrenArray = Children.toArray(children) as Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n >;\n\n const currentChildrenLength = useRef(childrenArray.length);\n\n const isShowingNoOptions =\n childrenArray.length === 1 && childrenArray[0].type === NoOptionsMessage;\n\n // During the initial rendering, the sorting is created and positions saved in a WeakMap.\n // If only the NoOptionsMessage/empty state is shown we don't need any sorting\n if (selectProps.showSelectedOptionsFirst && !isShowingNoOptions) {\n if (initialRender.current === true) {\n [childrenArray, sortingMap.current] = sortSelectedOptions(childrenArray);\n } else if (currentChildrenLength.current !== childrenArray.length) {\n currentChildrenLength.current = childrenArray.length;\n [childrenArray, sortingMap.current] = sortSelectedOptions(childrenArray);\n }\n // Otherwise the data is sorted by the initial sorting parameters.\n else {\n const [newChildrenArray, newSortingMap] =\n applyStoredSelectionSortingOptions(childrenArray, sortingMap.current);\n childrenArray = newChildrenArray;\n if (newSortingMap) {\n sortingMap.current = newSortingMap;\n }\n }\n }\n\n initialRender.current = false;\n\n const intl = useIntl();\n const isFiltering =\n selectProps.customFilter !== undefined &&\n selectProps.inputValue !== undefined &&\n selectProps.inputValue !== '';\n\n const filterAnnouncement = buildFilterAnnouncement(\n intl,\n childrenArray,\n isFiltering,\n isShowingNoOptions,\n );\n\n const optionVirtualizer = useVirtualizer({\n count: childrenArray.length,\n getScrollElement: () => parentRef.current,\n overscan: 5,\n estimateSize: () => 32,\n });\n\n const menulistref = useMergeRefs([\n props.innerRef,\n parentRef,\n setNotifyParentRefChange,\n selectProps.contentRef,\n ]);\n\n useImperativeHandle(\n selectProps.menuListFunctionRef,\n (): MenuListFunctionRefObject => ({\n scrollToBottom: () => {\n optionVirtualizer.scrollToIndex(childrenArray.length);\n },\n scrollToIndex: (index: number) => {\n optionVirtualizer.scrollToIndex(index);\n },\n }),\n );\n\n // When the parentElement re-renders, we will need to remeasure the virtualizer in order to\n // keep the correct height.\n useEffect(() => {\n requestAnimationFrame(() => {\n optionVirtualizer.elementsCache.forEach((element) => {\n optionVirtualizer.measureElement(element);\n });\n });\n // Deliberately leave optionVirtualizer out of the update deps to prevent a maximum update depth exceeded issue.\n // oxlint-disable-next-line react-hooks/exhaustive-deps\n }, [notifyParentRefChange, childrenArray.length]);\n\n return (\n <>\n {selectProps.customFilter && (\n // Rendered as a sibling, not a child, of the listbox below \u2014 role=\"listbox\"\n // only permits option/group children, so a nested role=\"status\" trips axe's\n // aria-required-children rule.\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className={screenReaderOnly}\n >\n {filterAnnouncement}\n </div>\n )}\n <div\n {...innerProps}\n ref={menulistref}\n className={clsx(styles.selectMenuListWrapper, 'strato-select-menulist')}\n style={{\n width:\n optionVirtualizer.scrollOffset !== null &&\n optionVirtualizer.scrollOffset > 0 &&\n selectProps.contentWidth === 'max-content'\n ? optionVirtualizer.scrollRect?.width\n : undefined,\n }}\n >\n {/* role=\"presentation\" on a div is intentional \u2014 neutralizes the virtualization wrapper so screen readers count options correctly */}\n <div\n role=\"presentation\"\n style={{\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-${selectProps.options.length}`}\n className={styles.selectVirtualizationWrapper}\n >\n {optionVirtualizer.getVirtualItems().map((virtualRow) => {\n const child = childrenArray?.[virtualRow.index];\n return (\n <div\n key={virtualRow.key}\n className=\"strato-select-option\"\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 </div>\n </>\n );\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/forms/select/components/ValueContainer.tsx"],
|
|
4
|
-
"sourcesContent": ["import { isValidElement, type ReactNode, type ReactElement } from 'react';\nimport type {\n GroupBase,\n PlaceholderProps,\n ValueContainerProps as ReactSelectValueContainerProps,\n} from 'react-select';\nimport { components } from 'react-select';\n\nimport { Placeholder } from './Placeholder.js';\nimport { canReceiveDefaultTextFormat as _canReceiveDefaultTextFormat } from '../../../core/utils/can-receive-default-text-format.js';\nimport * as styles from '../styles/Select.sty.js';\nimport type { BaseOption } from '../types.js';\n\ntype ValueContainerProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectValueContainerProps<OptionValue, isMulti, Group>;\n\n/**\n * Typeguard that will check if a ReactElement is a `ValueContainer`\n * @internal\n */\nexport function _isValueContainerComponent<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n>(\n element: ReactNode,\n): element is ReactElement<ValueContainerProps<OptionValue, isMulti, Group>> {\n return isValidElement(element) && element.type === ValueContainer;\n}\n\nexport function ValueContainer<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n>(props: Readonly<ValueContainerProps<OptionValue, isMulti, Group>>) {\n const { selectProps, children } = props;\n\n // display custom trigger value\n if (\n selectProps.value !== undefined &&\n selectProps.value !== null &&\n selectProps.displayValue\n ) {\n if (_canReceiveDefaultTextFormat(selectProps.displayValue)) {\n return (\n <components.ValueContainer {...props}>\n <span className={styles.selectValueContainerTruncationBox}>\n {selectProps.displayValue}\n </span>\n </components.ValueContainer>\n );\n }\n\n return (\n <components.ValueContainer {...props}>\n {selectProps.displayValue}\n </components.ValueContainer>\n );\n }\n\n // This checks if anything is defined in the react-select children props that would be\n // rendered in the trigger, i.e. Placeholder, SingleValueContainer, MultiValueContainer\n if (\n Array.isArray(children) &&\n (children?.[0] === null || children?.[0] === undefined)\n ) {\n if (props.hasValue) {\n const displayValue = props.getValue();\n\n return (\n <components.ValueContainer {...props}>\n <span className={styles.selectValueContainerTruncationBox}>\n {/*
|
|
5
|
-
"mappings": "AAiDU;AAjDV,SAAS,sBAAyD;AAMlE,SAAS,kBAAkB;AAE3B,SAAS,mBAAmB;AAC5B,SAAS,+BAA+B,oCAAoC;AAC5E,YAAY,YAAY;AAajB,SAAS,2BAKd,SAC2E;AAC3E,SAAO,eAAe,OAAO,KAAK,QAAQ,SAAS;AACrD;AAEO,SAAS,eAId,OAAmE;AACnE,QAAM,EAAE,aAAa,SAAS,IAAI;AAGlC,MACE,YAAY,UAAU,UACtB,YAAY,UAAU,QACtB,YAAY,cACZ;AACA,QAAI,6BAA6B,YAAY,YAAY,GAAG;AAC1D,aACE,oBAAC,WAAW,gBAAX,EAA2B,GAAG,OAC7B,8BAAC,UAAK,WAAW,OAAO,mCACrB,sBAAY,cACf,GACF;AAAA,IAEJ;AAEA,WACE,oBAAC,WAAW,gBAAX,EAA2B,GAAG,OAC5B,sBAAY,cACf;AAAA,EAEJ;AAIA,MACE,MAAM,QAAQ,QAAQ,MACrB,WAAW,CAAC,MAAM,QAAQ,WAAW,CAAC,MAAM,SAC7C;AACA,QAAI,MAAM,UAAU;AAClB,YAAM,eAAe,MAAM,SAAS;AAEpC,aACE,oBAAC,WAAW,gBAAX,EAA2B,GAAG,OAC7B,8BAAC,UAAK,WAAW,OAAO,
|
|
4
|
+
"sourcesContent": ["import { isValidElement, type ReactNode, type ReactElement } from 'react';\nimport type {\n GroupBase,\n PlaceholderProps,\n ValueContainerProps as ReactSelectValueContainerProps,\n} from 'react-select';\nimport { components } from 'react-select';\n\nimport { Placeholder } from './Placeholder.js';\nimport { canReceiveDefaultTextFormat as _canReceiveDefaultTextFormat } from '../../../core/utils/can-receive-default-text-format.js';\nimport * as styles from '../styles/Select.sty.js';\nimport type { BaseOption } from '../types.js';\n\ntype ValueContainerProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectValueContainerProps<OptionValue, isMulti, Group>;\n\n/**\n * Typeguard that will check if a ReactElement is a `ValueContainer`\n * @internal\n */\nexport function _isValueContainerComponent<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n>(\n element: ReactNode,\n): element is ReactElement<ValueContainerProps<OptionValue, isMulti, Group>> {\n return isValidElement(element) && element.type === ValueContainer;\n}\n\nexport function ValueContainer<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n>(props: Readonly<ValueContainerProps<OptionValue, isMulti, Group>>) {\n const { selectProps, children } = props;\n\n // display custom trigger value\n if (\n selectProps.value !== undefined &&\n selectProps.value !== null &&\n selectProps.displayValue\n ) {\n if (_canReceiveDefaultTextFormat(selectProps.displayValue)) {\n return (\n <components.ValueContainer {...props}>\n <span className={styles.selectValueContainerTruncationBox}>\n {selectProps.displayValue}\n </span>\n </components.ValueContainer>\n );\n }\n\n return (\n <components.ValueContainer {...props}>\n {selectProps.displayValue}\n </components.ValueContainer>\n );\n }\n\n // This checks if anything is defined in the react-select children props that would be\n // rendered in the trigger, i.e. Placeholder, SingleValueContainer, MultiValueContainer\n if (\n Array.isArray(children) &&\n (children?.[0] === null || children?.[0] === undefined)\n ) {\n if (props.hasValue) {\n const displayValue = props.getValue();\n\n return (\n <components.ValueContainer {...props}>\n <span className={styles.selectValueContainerTruncationBox}>\n {/* @ts-expect-error: Strict mode transition \u2014 `label` on `BaseOption<OptionValue>` is not guaranteed to be subscriptable with `[0]` in all generic scenarios */}\n {(displayValue[0] as BaseOption<OptionValue>)?.label?.[0]}\n </span>\n </components.ValueContainer>\n );\n } else {\n return (\n <components.ValueContainer {...props}>\n <span className={styles.selectValueContainerTruncationBox}>\n <Placeholder\n {...(props as PlaceholderProps<OptionValue, isMulti, Group>)}\n />\n </span>\n </components.ValueContainer>\n );\n }\n }\n\n return (\n <components.ValueContainer {...props}>\n {/* The elements are reordered here, as the selected options inside the trigger\n would otherwise scroll to the left when the hidden input is focused */}\n <span className={styles.selectValueContainerTruncationBox}>\n {Array.isArray(children) && children[0]}\n </span>\n </components.ValueContainer>\n );\n}\n"],
|
|
5
|
+
"mappings": "AAiDU;AAjDV,SAAS,sBAAyD;AAMlE,SAAS,kBAAkB;AAE3B,SAAS,mBAAmB;AAC5B,SAAS,+BAA+B,oCAAoC;AAC5E,YAAY,YAAY;AAajB,SAAS,2BAKd,SAC2E;AAC3E,SAAO,eAAe,OAAO,KAAK,QAAQ,SAAS;AACrD;AAEO,SAAS,eAId,OAAmE;AACnE,QAAM,EAAE,aAAa,SAAS,IAAI;AAGlC,MACE,YAAY,UAAU,UACtB,YAAY,UAAU,QACtB,YAAY,cACZ;AACA,QAAI,6BAA6B,YAAY,YAAY,GAAG;AAC1D,aACE,oBAAC,WAAW,gBAAX,EAA2B,GAAG,OAC7B,8BAAC,UAAK,WAAW,OAAO,mCACrB,sBAAY,cACf,GACF;AAAA,IAEJ;AAEA,WACE,oBAAC,WAAW,gBAAX,EAA2B,GAAG,OAC5B,sBAAY,cACf;AAAA,EAEJ;AAIA,MACE,MAAM,QAAQ,QAAQ,MACrB,WAAW,CAAC,MAAM,QAAQ,WAAW,CAAC,MAAM,SAC7C;AACA,QAAI,MAAM,UAAU;AAClB,YAAM,eAAe,MAAM,SAAS;AAEpC,aACE,oBAAC,WAAW,gBAAX,EAA2B,GAAG,OAC7B,8BAAC,UAAK,WAAW,OAAO,mCAEpB,uBAAa,CAAC,GAA+B,QAAQ,CAAC,GAC1D,GACF;AAAA,IAEJ,OAAO;AACL,aACE,oBAAC,WAAW,gBAAX,EAA2B,GAAG,OAC7B,8BAAC,UAAK,WAAW,OAAO,mCACtB;AAAA,QAAC;AAAA;AAAA,UACE,GAAI;AAAA;AAAA,MACP,GACF,GACF;AAAA,IAEJ;AAAA,EACF;AAEA,SACE,oBAAC,WAAW,gBAAX,EAA2B,GAAG,OAG7B,8BAAC,UAAK,WAAW,OAAO,mCACrB,gBAAM,QAAQ,QAAQ,KAAK,SAAS,CAAC,GACxC,GACF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -14,7 +14,7 @@ function sortSelectedOptions(childrenArray) {
|
|
|
14
14
|
sortedChildren.push(optionOrGroup);
|
|
15
15
|
}
|
|
16
16
|
} else if (
|
|
17
|
-
//
|
|
17
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
18
18
|
optionOrGroup.type?.displayName === "Select.SelectGroup"
|
|
19
19
|
) {
|
|
20
20
|
const hasSelectedChildOptions = optionOrGroup.props.options.some(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/forms/select/components/sort-selected-options-first.ts"],
|
|
4
|
-
"sourcesContent": ["import { type ReactElement } from 'react';\n\nimport type { OptionProps } from './Option.js';\nimport { Option } from './Option.js';\nimport { _isOption, safeStringify } from '../hooks/use-select-options.js';\nimport type { BaseGroup, BaseOption } from '../types.js';\n\n/**\n * This function will sort the given children (options or groups) by their selection state and will store\n * the index in a map in order to apply the sorting in a quick fashion again.\n * @internal\n */\nexport function sortSelectedOptions<\n OptionValue,\n isMulti extends boolean,\n Group extends BaseGroup<OptionValue>,\n>(\n childrenArray: Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n >,\n): [\n sortedChildren: Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n >,\n //
|
|
4
|
+
"sourcesContent": ["import { type ReactElement } from 'react';\n\nimport type { OptionProps } from './Option.js';\nimport { Option } from './Option.js';\nimport { _isOption, safeStringify } from '../hooks/use-select-options.js';\nimport type { BaseGroup, BaseOption } from '../types.js';\n\n/**\n * This function will sort the given children (options or groups) by their selection state and will store\n * the index in a map in order to apply the sorting in a quick fashion again.\n * @internal\n */\nexport function sortSelectedOptions<\n OptionValue,\n isMulti extends boolean,\n Group extends BaseGroup<OptionValue>,\n>(\n childrenArray: Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n >,\n): [\n sortedChildren: Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n >,\n // oxlint-disable-next-line typescript/no-explicit-any\n sortingMap: WeakMap<any, number>,\n] {\n const sortedChildren: Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n > = [];\n const sortingMap = new Map();\n let insertedFront = 0;\n\n // Sort the children based on their selection state\n for (const optionOrGroup of childrenArray) {\n if (optionOrGroup.type === Option) {\n if (optionOrGroup.props.isSelected === true) {\n sortedChildren.splice(insertedFront, 0, optionOrGroup);\n insertedFront++;\n continue;\n } else {\n sortedChildren.push(optionOrGroup);\n }\n } else if (\n // oxlint-disable-next-line typescript/no-explicit-any\n (optionOrGroup.type as any)?.displayName === 'Select.SelectGroup'\n ) {\n const hasSelectedChildOptions = optionOrGroup.props.options.some(\n (option) => _isOption(option) && option.isSelected,\n );\n\n if (!hasSelectedChildOptions) {\n sortedChildren.push(optionOrGroup);\n continue;\n }\n\n sortedChildren.splice(insertedFront, 0, optionOrGroup);\n insertedFront++;\n continue;\n }\n }\n\n // Iterate through the sorted list and store the index that it is currently at.\n for (const [index, optionOrGroup] of sortedChildren.entries()) {\n sortingMap.set(getOptionOrGroupValue(optionOrGroup), index);\n }\n\n return [sortedChildren, sortingMap];\n}\n\n/**\n * This function will apply the sorting stored in the passed map in order to.\n */\nexport function applyStoredSelectionSortingOptions<\n OptionValue,\n isMulti extends boolean,\n Group extends BaseGroup<OptionValue>,\n>(\n childrenArray: Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n >,\n // oxlint-disable-next-line typescript/no-explicit-any\n sortingMap: WeakMap<any, number>,\n): [\n sortedChildren: Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n >,\n // oxlint-disable-next-line typescript/no-explicit-any\n sortingMap?: WeakMap<any, number>,\n] {\n const sortedChildren: Array<\n ReactElement<OptionProps<BaseOption<OptionValue>, isMulti, Group>>\n > = [];\n\n let sortingMiss = false;\n\n for (const optionOrGroup of childrenArray) {\n const index = sortingMap.get(getOptionOrGroupValue(optionOrGroup));\n if (index === undefined) {\n sortingMiss = true;\n break;\n }\n sortedChildren[index] = optionOrGroup;\n }\n\n if (sortingMiss) {\n return sortSelectedOptions(childrenArray);\n }\n\n return [sortedChildren];\n}\n\nfunction getOptionOrGroupValue<\n OptionValue,\n isMulti extends boolean,\n Group extends BaseGroup<OptionValue>,\n>(\n optionOrGroup: ReactElement<\n OptionProps<BaseOption<OptionValue>, isMulti, Group>\n >,\n): string {\n if (optionOrGroup.props.data['value']) {\n const stringifiedValue = safeStringify(optionOrGroup.props.data['value']);\n\n if (stringifiedValue) {\n return stringifiedValue;\n }\n\n return `option-${optionOrGroup.props.data['value']}`;\n }\n\n return `group-${optionOrGroup.props.data['label']}`;\n}\n"],
|
|
5
5
|
"mappings": "AAGA,SAAS,cAAc;AACvB,SAAS,WAAW,qBAAqB;AAQlC,SAAS,oBAKd,eASA;AACA,QAAM,iBAEF,CAAC;AACL,QAAM,aAAa,oBAAI,IAAI;AAC3B,MAAI,gBAAgB;AAGpB,aAAW,iBAAiB,eAAe;AACzC,QAAI,cAAc,SAAS,QAAQ;AACjC,UAAI,cAAc,MAAM,eAAe,MAAM;AAC3C,uBAAe,OAAO,eAAe,GAAG,aAAa;AACrD;AACA;AAAA,MACF,OAAO;AACL,uBAAe,KAAK,aAAa;AAAA,MACnC;AAAA,IACF;AAAA;AAAA,MAEG,cAAc,MAAc,gBAAgB;AAAA,MAC7C;AACA,YAAM,0BAA0B,cAAc,MAAM,QAAQ;AAAA,QAC1D,CAAC,WAAW,UAAU,MAAM,KAAK,OAAO;AAAA,MAC1C;AAEA,UAAI,CAAC,yBAAyB;AAC5B,uBAAe,KAAK,aAAa;AACjC;AAAA,MACF;AAEA,qBAAe,OAAO,eAAe,GAAG,aAAa;AACrD;AACA;AAAA,IACF;AAAA,EACF;AAGA,aAAW,CAAC,OAAO,aAAa,KAAK,eAAe,QAAQ,GAAG;AAC7D,eAAW,IAAI,sBAAsB,aAAa,GAAG,KAAK;AAAA,EAC5D;AAEA,SAAO,CAAC,gBAAgB,UAAU;AACpC;AAKO,SAAS,mCAKd,eAIA,YAOA;AACA,QAAM,iBAEF,CAAC;AAEL,MAAI,cAAc;AAElB,aAAW,iBAAiB,eAAe;AACzC,UAAM,QAAQ,WAAW,IAAI,sBAAsB,aAAa,CAAC;AACjE,QAAI,UAAU,QAAW;AACvB,oBAAc;AACd;AAAA,IACF;AACA,mBAAe,KAAK,IAAI;AAAA,EAC1B;AAEA,MAAI,aAAa;AACf,WAAO,oBAAoB,aAAa;AAAA,EAC1C;AAEA,SAAO,CAAC,cAAc;AACxB;AAEA,SAAS,sBAKP,eAGQ;AACR,MAAI,cAAc,MAAM,KAAK,OAAO,GAAG;AACrC,UAAM,mBAAmB,cAAc,cAAc,MAAM,KAAK,OAAO,CAAC;AAExE,QAAI,kBAAkB;AACpB,aAAO;AAAA,IACT;AAEA,WAAO,UAAU,cAAc,MAAM,KAAK,OAAO,CAAC;AAAA,EACpD;AAEA,SAAO,SAAS,cAAc,MAAM,KAAK,OAAO,CAAC;AACnD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/forms/select/hooks/use-select-options.ts"],
|
|
4
|
-
"sourcesContent": ["import { useMemo, type ReactElement, type ReactNode, Children } from 'react';\nimport type { GroupBase } from 'react-select';\n\nimport { type StratoLogger } from '../../../core/sdk/sdk-logger.js';\nimport type { BehaviorTrackingProps } from '../../../core/types/behavior-tracking-props.js';\nimport { DataTestId } from '../../../core/types/data-props.js';\nimport { StylingProps } from '../../../core/types/styling-props.js';\nimport { canReceiveDefaultTextFormat as _canReceiveDefaultTextFormat } from '../../../core/utils/can-receive-default-text-format.js';\nimport { extractBehaviorTrackingProps } from '../../../core/utils/extract-behavior-tracking-props.js';\nimport { isSlot } from '../../../core/utils/is-slot.js';\nimport type { SelectContentProps } from '../SelectContent.js';\nimport {\n SelectGroupLabel,\n SelectGroup,\n type SelectGroupProps,\n} from '../SelectGroup.js';\nimport { _isSelectOptionElement, SelectOptionProps } from '../SelectOption.js';\nimport { SelectPrefix } from '../SelectPrefix.js';\nimport { SelectSuffix } from '../SelectSuffix.js';\nimport type { OptionOrGroup, BaseOption, BaseGroup } from '../types.js';\n\ntype Writeable<T> = { -readonly [P in keyof T]: T[P] };\n\n/** Type guard helper to identify an element as an Option */\nexport function _isOption<OptionValue>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n optionOrGroup: any,\n): optionOrGroup is BaseOption<OptionValue> {\n if (optionOrGroup.value !== undefined) {\n return true;\n }\n return false;\n}\n\n/** Type guard helper to identify an element as a Group */\nexport function _isGroup<OptionValue>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n optionOrGroup: any,\n): optionOrGroup is GroupBase<OptionValue> {\n if (Array.isArray(optionOrGroup.options)) {\n return true;\n }\n return false;\n}\n\n/**\n * Helper function that will extract the options data from the option\n * child passed.\n */\nfunction extractOptionData<OptionValue>(\n optionElement: ReactElement<SelectOptionProps<OptionValue>>,\n): BaseOption<OptionValue> {\n const optionSlots: {\n prefix: {\n Prefix: ReactNode | null;\n componentProps?: StylingProps & DataTestId & BehaviorTrackingProps;\n };\n Label: ReactNode[] | null;\n suffix: {\n Suffix: ReactNode | null;\n componentProps?: StylingProps & DataTestId & BehaviorTrackingProps;\n };\n } = {\n prefix: { Prefix: null },\n Label: null,\n suffix: { Suffix: null },\n };\n\n Children.forEach(optionElement.props.children, (child) => {\n if (isSlot(child, SelectPrefix)) {\n optionSlots.prefix.Prefix = child.props.children;\n optionSlots.prefix.componentProps = {\n className: child.props.className,\n style: child.props.style,\n 'data-testid': child.props['data-testid'],\n ...extractBehaviorTrackingProps(child.props),\n };\n } else if (isSlot(child, SelectSuffix)) {\n optionSlots.suffix.Suffix = child.props.children;\n optionSlots.suffix.componentProps = {\n className: child.props.className,\n style: child.props.style,\n 'data-testid': child.props['data-testid'],\n ...extractBehaviorTrackingProps(child.props),\n };\n } else {\n optionSlots.Label = optionSlots.Label ?? [];\n if (child !== null) {\n optionSlots.Label.push(child);\n }\n }\n });\n\n return {\n value: optionElement.props.value,\n prefix: {\n component: optionSlots.prefix.Prefix,\n componentProps: optionSlots.prefix.componentProps,\n },\n label: optionSlots.Label,\n suffix: {\n component: optionSlots.suffix.Suffix,\n componentProps: optionSlots.suffix.componentProps,\n },\n isDisabled: optionElement.props.disabled,\n textValue: optionElement.props.textValue,\n 'aria-label': optionElement.props['aria-label'],\n className: optionElement.props.className,\n style: optionElement.props.style,\n 'data-testid': optionElement.props['data-testid'],\n ...extractBehaviorTrackingProps(optionElement.props),\n };\n}\n\n/**\n * @internal\n */\nexport function safeStringify(value: unknown): string {\n try {\n if (typeof value === 'string') {\n return value;\n }\n return JSON.stringify(value);\n } catch {\n return '';\n }\n}\n\nfunction reportNoStringifyableValueError(\n value: unknown,\n logger?: StratoLogger,\n) {\n logger?.warn('Failed to stringify value.', value);\n}\n\n/**\n * Helper function to get the stringified label of an option.\n * Used by react-select for internal key generation (via `label.toString()`).\n * Returns only the human-readable label text so that screen readers do not\n * announce a duplicate value suffix alongside the label.\n * If there is a textValue defined, we use that. Otherwise we use the label,\n * falling back to the stringified value and then the fallbackLabel.\n */\nfunction getOptionLabel<OptionValue>(\n option: BaseOption<OptionValue>,\n fallbackLabel: string,\n): string {\n if (option.textValue) {\n return option.textValue;\n }\n\n const labelIsStringifyable = _canReceiveDefaultTextFormat(option.label);\n const stringifiedValue = safeStringify(option.value);\n\n if (labelIsStringifyable) {\n return `${option.label}`;\n }\n\n if (stringifiedValue) {\n return stringifiedValue;\n }\n\n return fallbackLabel;\n}\n\n/**\n * Helper function to get the stringified value of an option.\n * If there is a textValue defined, we use that as the value\n * otherwise we stringify the value, if that fails we use the\n * label, if possible, and the fallbackValue as a last resort.\n */\nfunction getOptionValue<OptionValue>(\n option: BaseOption<OptionValue>,\n fallbackValue: string,\n logger?: StratoLogger,\n): string {\n if (option.textValue) {\n return option.textValue;\n }\n\n const stringifiedValue = safeStringify(option.value);\n if (stringifiedValue) {\n return stringifiedValue;\n }\n\n const labelIsStringifyable = _canReceiveDefaultTextFormat(option.label);\n\n if (labelIsStringifyable) {\n return `${option.label}`;\n }\n\n reportNoStringifyableValueError(option.value, logger);\n\n return fallbackValue;\n}\n\n/**\n * Helper function that will extract the Group data from the group element\n * passed.\n */\nfunction extractGroupData<OptionValue>(\n groupElement: ReactElement<SelectGroupProps>,\n groupIndex: number,\n logger?: StratoLogger,\n): BaseGroup<OptionValue> {\n const {\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n } = groupElement.props;\n\n const group: BaseGroup<OptionValue> = {\n label: undefined,\n options: [],\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n ...extractBehaviorTrackingProps(groupElement.props),\n };\n\n Children.forEach(groupElement?.props.children, (child, optionIndex) => {\n if (isSlot(child, SelectGroupLabel)) {\n /*\n * TODO: This should be a ReactNode but the overlap with the GroupBase does not allow that.\n * We might need to fix the typing here, as it is no rendering issue whatsoever.\n */\n group.label = child.props.children as string;\n group.labelProps = {\n className: child.props.className,\n style: child.props.style,\n 'data-testid': child.props['data-testid'],\n ...extractBehaviorTrackingProps(child.props),\n };\n }\n\n if (_isSelectOptionElement<OptionValue>(child)) {\n const option = extractOptionData<OptionValue>(child);\n // Since we are using a ReactNode[] as a label here instead of a string\n // we run into keying issues in the react-select internal.\n // With this fix, we make sure that the toString of the label array will\n // produce a valid string, avoiding duplicate key issues.\n // https://github.com/JedWatson/react-select/blob/53b85346bb7defd937257b0daf9d6993ef20a59a/packages/react-select/src/Select.tsx#L1823\n if (option.label) {\n const stringifiedLabel = getOptionLabel<OptionValue>(\n option,\n `group-${groupIndex}-label-${optionIndex}`,\n );\n option.label.toString = () => stringifiedLabel;\n }\n\n if (!option.textValue) {\n const stringifiedValue = getOptionValue<OptionValue>(\n option,\n `group-${groupIndex}-label-${optionIndex}`,\n logger,\n );\n option.textValue = stringifiedValue;\n }\n\n if (option !== null) {\n group.options.push(option);\n }\n }\n });\n\n return group;\n}\n\n/**\n * Helper hook that will extract Options or Groups from the Content children\n * and return a valid options or group array for react-select\n *\n * @internal\n */\nexport function useSelectOptions<OptionValue>(\n contentSlot: ReactElement<SelectContentProps> | null,\n logger?: StratoLogger,\n): {\n optionsOrGroups: OptionOrGroup<BaseOption<OptionValue>>;\n optionsHavePrefix: boolean;\n allOptions: BaseOption<OptionValue>[];\n} {\n // FIXME: We are always recreating the options array, which adds to additional\n // rerenders to the select whenever the parent of the Select updates.\n return useMemo(() => {\n const optionsOrGroups: Writeable<OptionOrGroup<BaseOption<OptionValue>>> =\n [];\n\n // Define if any of the options have a prefix or a suffix, as this will be\n // necessary to know for the MenuList and individual options to make sure\n // options without prefixes or suffixes also get the correct alignments;\n let optionsHavePrefix = false;\n const allOptions: BaseOption<OptionValue>[] = [];\n\n Children.forEach(contentSlot?.props.children, (child, childIndex) => {\n // If the child is an option, extract the data and add it to the collected\n // list.\n if (_isSelectOptionElement<OptionValue>(child)) {\n const option = extractOptionData<OptionValue>(child);\n // Since we are using a ReactNode[] as a label here instead of a string\n // we run into keying issues in the react-select internal.\n // With this fix, we make sure that the toString of the label array will\n // produce a valid string, avoiding duplicate key issues.\n // https://github.com/JedWatson/react-select/blob/53b85346bb7defd937257b0daf9d6993ef20a59a/packages/react-select/src/Select.tsx#L1823\n if (option.label) {\n const stringifiedLabel = getOptionLabel<OptionValue>(\n option,\n `label-${childIndex}`,\n );\n option.label.toString = () => stringifiedLabel;\n }\n\n if (!option.textValue) {\n const stringifiedValue = getOptionValue<OptionValue>(\n option,\n `value-${childIndex}`,\n logger,\n );\n option.textValue = stringifiedValue;\n }\n\n if (option !== null) {\n optionsOrGroups.push(option);\n // Check if the option has a prefix and set the global setting accordingly\n if (option.prefix.component !== null) {\n optionsHavePrefix = true;\n }\n }\n allOptions.push(option);\n }\n // If the child is a group, extract the group data from the child and add it to\n // collected list.\n if (isSlot(child, SelectGroup)) {\n const group = extractGroupData<OptionValue>(child, childIndex, logger);\n if (group !== null) {\n optionsOrGroups.push(group);\n }\n\n if (group.options.length > 20_000) {\n logger?.warn(\n `Group with label \"${group.label}\" has more than 20,000 options. This can lead to a slow and unresponsive UI.`,\n );\n }\n\n // As a spread push (allOptions.push(...group.options)) might lead to an exceeded call stack,\n // we add every single option of the group to the allOptions array.\n // This is more performant than using allOptions.concat(group.options) which would create\n // a new array every iteration of a group.\n for (const element of group.options) {\n allOptions.push(element);\n }\n\n // Only check if optionsHavePrefix is still false. If it is already true, there is no\n // need to check the nested groups again.\n if (optionsHavePrefix === false) {\n const nestedOptionsHavePrefix = group.options.some(\n (option) => option.prefix.component !== null,\n );\n if (nestedOptionsHavePrefix) {\n optionsHavePrefix = true;\n }\n }\n }\n });\n\n return { optionsOrGroups, optionsHavePrefix, allOptions };\n }, [contentSlot, logger]);\n}\n"],
|
|
4
|
+
"sourcesContent": ["import { useMemo, type ReactElement, type ReactNode, Children } from 'react';\nimport type { GroupBase } from 'react-select';\n\nimport { type StratoLogger } from '../../../core/sdk/sdk-logger.js';\nimport type { BehaviorTrackingProps } from '../../../core/types/behavior-tracking-props.js';\nimport { DataTestId } from '../../../core/types/data-props.js';\nimport { StylingProps } from '../../../core/types/styling-props.js';\nimport { canReceiveDefaultTextFormat as _canReceiveDefaultTextFormat } from '../../../core/utils/can-receive-default-text-format.js';\nimport { extractBehaviorTrackingProps } from '../../../core/utils/extract-behavior-tracking-props.js';\nimport { isSlot } from '../../../core/utils/is-slot.js';\nimport type { SelectContentProps } from '../SelectContent.js';\nimport {\n SelectGroupLabel,\n SelectGroup,\n type SelectGroupProps,\n} from '../SelectGroup.js';\nimport { _isSelectOptionElement, SelectOptionProps } from '../SelectOption.js';\nimport { SelectPrefix } from '../SelectPrefix.js';\nimport { SelectSuffix } from '../SelectSuffix.js';\nimport type { OptionOrGroup, BaseOption, BaseGroup } from '../types.js';\n\ntype Writeable<T> = { -readonly [P in keyof T]: T[P] };\n\n/** Type guard helper to identify an element as an Option */\nexport function _isOption<OptionValue>(\n // oxlint-disable-next-line typescript/no-explicit-any\n optionOrGroup: any,\n): optionOrGroup is BaseOption<OptionValue> {\n if (optionOrGroup.value !== undefined) {\n return true;\n }\n return false;\n}\n\n/** Type guard helper to identify an element as a Group */\nexport function _isGroup<OptionValue>(\n // oxlint-disable-next-line typescript/no-explicit-any\n optionOrGroup: any,\n): optionOrGroup is GroupBase<OptionValue> {\n if (Array.isArray(optionOrGroup.options)) {\n return true;\n }\n return false;\n}\n\n/**\n * Helper function that will extract the options data from the option\n * child passed.\n */\nfunction extractOptionData<OptionValue>(\n optionElement: ReactElement<SelectOptionProps<OptionValue>>,\n): BaseOption<OptionValue> {\n const optionSlots: {\n prefix: {\n Prefix: ReactNode | null;\n componentProps?: StylingProps & DataTestId & BehaviorTrackingProps;\n };\n Label: ReactNode[] | null;\n suffix: {\n Suffix: ReactNode | null;\n componentProps?: StylingProps & DataTestId & BehaviorTrackingProps;\n };\n } = {\n prefix: { Prefix: null },\n Label: null,\n suffix: { Suffix: null },\n };\n\n Children.forEach(optionElement.props.children, (child) => {\n if (isSlot(child, SelectPrefix)) {\n optionSlots.prefix.Prefix = child.props.children;\n optionSlots.prefix.componentProps = {\n className: child.props.className,\n style: child.props.style,\n 'data-testid': child.props['data-testid'],\n ...extractBehaviorTrackingProps(child.props),\n };\n } else if (isSlot(child, SelectSuffix)) {\n optionSlots.suffix.Suffix = child.props.children;\n optionSlots.suffix.componentProps = {\n className: child.props.className,\n style: child.props.style,\n 'data-testid': child.props['data-testid'],\n ...extractBehaviorTrackingProps(child.props),\n };\n } else {\n optionSlots.Label = optionSlots.Label ?? [];\n if (child !== null) {\n optionSlots.Label.push(child);\n }\n }\n });\n\n return {\n value: optionElement.props.value,\n prefix: {\n component: optionSlots.prefix.Prefix,\n componentProps: optionSlots.prefix.componentProps,\n },\n label: optionSlots.Label,\n suffix: {\n component: optionSlots.suffix.Suffix,\n componentProps: optionSlots.suffix.componentProps,\n },\n isDisabled: optionElement.props.disabled,\n textValue: optionElement.props.textValue,\n 'aria-label': optionElement.props['aria-label'],\n className: optionElement.props.className,\n style: optionElement.props.style,\n 'data-testid': optionElement.props['data-testid'],\n ...extractBehaviorTrackingProps(optionElement.props),\n };\n}\n\n/**\n * @internal\n */\nexport function safeStringify(value: unknown): string {\n try {\n if (typeof value === 'string') {\n return value;\n }\n return JSON.stringify(value);\n } catch {\n return '';\n }\n}\n\nfunction reportNoStringifyableValueError(\n value: unknown,\n logger?: StratoLogger,\n) {\n logger?.warn('Failed to stringify value.', value);\n}\n\n/**\n * Helper function to get the stringified label of an option.\n * Used by react-select for internal key generation (via `label.toString()`).\n * Returns only the human-readable label text so that screen readers do not\n * announce a duplicate value suffix alongside the label.\n * If there is a textValue defined, we use that. Otherwise we use the label,\n * falling back to the stringified value and then the fallbackLabel.\n */\nfunction getOptionLabel<OptionValue>(\n option: BaseOption<OptionValue>,\n fallbackLabel: string,\n): string {\n if (option.textValue) {\n return option.textValue;\n }\n\n const labelIsStringifyable = _canReceiveDefaultTextFormat(option.label);\n const stringifiedValue = safeStringify(option.value);\n\n if (labelIsStringifyable) {\n return `${option.label}`;\n }\n\n if (stringifiedValue) {\n return stringifiedValue;\n }\n\n return fallbackLabel;\n}\n\n/**\n * Helper function to get the stringified value of an option.\n * If there is a textValue defined, we use that as the value\n * otherwise we stringify the value, if that fails we use the\n * label, if possible, and the fallbackValue as a last resort.\n */\nfunction getOptionValue<OptionValue>(\n option: BaseOption<OptionValue>,\n fallbackValue: string,\n logger?: StratoLogger,\n): string {\n if (option.textValue) {\n return option.textValue;\n }\n\n const stringifiedValue = safeStringify(option.value);\n if (stringifiedValue) {\n return stringifiedValue;\n }\n\n const labelIsStringifyable = _canReceiveDefaultTextFormat(option.label);\n\n if (labelIsStringifyable) {\n return `${option.label}`;\n }\n\n reportNoStringifyableValueError(option.value, logger);\n\n return fallbackValue;\n}\n\n/**\n * Helper function that will extract the Group data from the group element\n * passed.\n */\nfunction extractGroupData<OptionValue>(\n groupElement: ReactElement<SelectGroupProps>,\n groupIndex: number,\n logger?: StratoLogger,\n): BaseGroup<OptionValue> {\n const {\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n } = groupElement.props;\n\n const group: BaseGroup<OptionValue> = {\n label: undefined,\n options: [],\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n ...extractBehaviorTrackingProps(groupElement.props),\n };\n\n Children.forEach(groupElement?.props.children, (child, optionIndex) => {\n if (isSlot(child, SelectGroupLabel)) {\n /*\n * TODO: This should be a ReactNode but the overlap with the GroupBase does not allow that.\n * We might need to fix the typing here, as it is no rendering issue whatsoever.\n */\n group.label = child.props.children as string;\n group.labelProps = {\n className: child.props.className,\n style: child.props.style,\n 'data-testid': child.props['data-testid'],\n ...extractBehaviorTrackingProps(child.props),\n };\n }\n\n if (_isSelectOptionElement<OptionValue>(child)) {\n const option = extractOptionData<OptionValue>(child);\n // Since we are using a ReactNode[] as a label here instead of a string\n // we run into keying issues in the react-select internal.\n // With this fix, we make sure that the toString of the label array will\n // produce a valid string, avoiding duplicate key issues.\n // https://github.com/JedWatson/react-select/blob/53b85346bb7defd937257b0daf9d6993ef20a59a/packages/react-select/src/Select.tsx#L1823\n if (option.label) {\n const stringifiedLabel = getOptionLabel<OptionValue>(\n option,\n `group-${groupIndex}-label-${optionIndex}`,\n );\n option.label.toString = () => stringifiedLabel;\n }\n\n if (!option.textValue) {\n const stringifiedValue = getOptionValue<OptionValue>(\n option,\n `group-${groupIndex}-label-${optionIndex}`,\n logger,\n );\n option.textValue = stringifiedValue;\n }\n\n if (option !== null) {\n group.options.push(option);\n }\n }\n });\n\n return group;\n}\n\n/**\n * Helper hook that will extract Options or Groups from the Content children\n * and return a valid options or group array for react-select\n *\n * @internal\n */\nexport function useSelectOptions<OptionValue>(\n contentSlot: ReactElement<SelectContentProps> | null,\n logger?: StratoLogger,\n): {\n optionsOrGroups: OptionOrGroup<BaseOption<OptionValue>>;\n optionsHavePrefix: boolean;\n allOptions: BaseOption<OptionValue>[];\n} {\n // FIXME: We are always recreating the options array, which adds to additional\n // rerenders to the select whenever the parent of the Select updates.\n return useMemo(() => {\n const optionsOrGroups: Writeable<OptionOrGroup<BaseOption<OptionValue>>> =\n [];\n\n // Define if any of the options have a prefix or a suffix, as this will be\n // necessary to know for the MenuList and individual options to make sure\n // options without prefixes or suffixes also get the correct alignments;\n let optionsHavePrefix = false;\n const allOptions: BaseOption<OptionValue>[] = [];\n\n Children.forEach(contentSlot?.props.children, (child, childIndex) => {\n // If the child is an option, extract the data and add it to the collected\n // list.\n if (_isSelectOptionElement<OptionValue>(child)) {\n const option = extractOptionData<OptionValue>(child);\n // Since we are using a ReactNode[] as a label here instead of a string\n // we run into keying issues in the react-select internal.\n // With this fix, we make sure that the toString of the label array will\n // produce a valid string, avoiding duplicate key issues.\n // https://github.com/JedWatson/react-select/blob/53b85346bb7defd937257b0daf9d6993ef20a59a/packages/react-select/src/Select.tsx#L1823\n if (option.label) {\n const stringifiedLabel = getOptionLabel<OptionValue>(\n option,\n `label-${childIndex}`,\n );\n option.label.toString = () => stringifiedLabel;\n }\n\n if (!option.textValue) {\n const stringifiedValue = getOptionValue<OptionValue>(\n option,\n `value-${childIndex}`,\n logger,\n );\n option.textValue = stringifiedValue;\n }\n\n if (option !== null) {\n optionsOrGroups.push(option);\n // Check if the option has a prefix and set the global setting accordingly\n if (option.prefix.component !== null) {\n optionsHavePrefix = true;\n }\n }\n allOptions.push(option);\n }\n // If the child is a group, extract the group data from the child and add it to\n // collected list.\n if (isSlot(child, SelectGroup)) {\n const group = extractGroupData<OptionValue>(child, childIndex, logger);\n if (group !== null) {\n optionsOrGroups.push(group);\n }\n\n if (group.options.length > 20_000) {\n logger?.warn(\n `Group with label \"${group.label}\" has more than 20,000 options. This can lead to a slow and unresponsive UI.`,\n );\n }\n\n // As a spread push (allOptions.push(...group.options)) might lead to an exceeded call stack,\n // we add every single option of the group to the allOptions array.\n // This is more performant than using allOptions.concat(group.options) which would create\n // a new array every iteration of a group.\n for (const element of group.options) {\n allOptions.push(element);\n }\n\n // Only check if optionsHavePrefix is still false. If it is already true, there is no\n // need to check the nested groups again.\n if (optionsHavePrefix === false) {\n const nestedOptionsHavePrefix = group.options.some(\n (option) => option.prefix.component !== null,\n );\n if (nestedOptionsHavePrefix) {\n optionsHavePrefix = true;\n }\n }\n }\n });\n\n return { optionsOrGroups, optionsHavePrefix, allOptions };\n }, [contentSlot, logger]);\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/forms/select/hooks/use-select-slots.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n Children,\n isValidElement,\n useMemo,\n type ReactElement,\n type ReactNode,\n} from 'react';\n\nimport { isSlot } from '../../../core/utils/is-slot.js';\nimport { SelectContent, type SelectContentProps } from '../SelectContent.js';\nimport { SelectCustomTrigger } from '../SelectCustomTrigger.js';\nimport { SelectDisplayValue } from '../SelectDisplayValue.js';\nimport {\n SelectEmptyState,\n type SelectEmptyStateProps,\n} from '../SelectEmptyState.js';\nimport { SelectFilter, type SelectFilterProps } from '../SelectFilter.js';\nimport { SelectPrefix, type SelectPrefixProps } from '../SelectPrefix.js';\nimport { SelectTrigger, type SelectTriggerProps } from '../SelectTrigger.js';\n\ninterface SelectSlots {\n Content: ReactElement<SelectContentProps> | null;\n CustomTrigger: ReactElement<\n //
|
|
4
|
+
"sourcesContent": ["import {\n Children,\n isValidElement,\n useMemo,\n type ReactElement,\n type ReactNode,\n} from 'react';\n\nimport { isSlot } from '../../../core/utils/is-slot.js';\nimport { SelectContent, type SelectContentProps } from '../SelectContent.js';\nimport { SelectCustomTrigger } from '../SelectCustomTrigger.js';\nimport { SelectDisplayValue } from '../SelectDisplayValue.js';\nimport {\n SelectEmptyState,\n type SelectEmptyStateProps,\n} from '../SelectEmptyState.js';\nimport { SelectFilter, type SelectFilterProps } from '../SelectFilter.js';\nimport { SelectPrefix, type SelectPrefixProps } from '../SelectPrefix.js';\nimport { SelectTrigger, type SelectTriggerProps } from '../SelectTrigger.js';\n\ninterface SelectSlots {\n Content: ReactElement<SelectContentProps> | null;\n CustomTrigger: ReactElement<\n // oxlint-disable-next-line typescript/no-explicit-any\n { [key: string]: any } | null | undefined\n > | null;\n DisplayValue: ReactNode[] | null;\n Trigger: ReactElement<SelectTriggerProps> | null;\n Prefix: ReactElement<SelectPrefixProps> | null;\n Filter: ReactElement<SelectFilterProps> | null;\n EmptyState: ReactElement<SelectEmptyStateProps> | null;\n}\n\n/**\n * Helper hook that will extract the Slots used in the select and collect the data / components.\n *\n * @internal\n */\nexport function useSelectSlots(children: ReactNode): SelectSlots {\n return useMemo(() => {\n const slots: SelectSlots = {\n Content: null,\n CustomTrigger: null,\n DisplayValue: null,\n Trigger: null,\n Prefix: null,\n Filter: null,\n EmptyState: null,\n };\n\n Children.forEach(children, (child) => {\n if (isSlot(child, SelectContent)) {\n slots.Content = child;\n // DISCUSS: Is this an issue when there are a lot of select options?\n Children.forEach(child.props.children, (child) => {\n if (isSlot(child, SelectFilter)) {\n slots.Filter = child;\n return;\n } else if (isSlot(child, SelectEmptyState)) {\n slots.EmptyState = child;\n }\n });\n return;\n } else if (isSlot(child, SelectTrigger)) {\n slots.Trigger = child;\n\n Children.forEach(child.props.children, (child) => {\n if (isSlot(child, SelectDisplayValue)) {\n Children.forEach(child.props.children, (child) => {\n if (isSlot(child, SelectPrefix)) {\n slots.Prefix = child;\n return;\n }\n\n // Concatenate free form content in the\n slots.DisplayValue = slots.DisplayValue || [];\n slots.DisplayValue.push(child);\n });\n }\n });\n } else if (isSlot(child, SelectCustomTrigger)) {\n // The custom trigger should only use the first child.\n // TODO: What about fragments etc?\n const triggerValue = Children.toArray(child.props.children)[0];\n if (isValidElement<SelectSlots['CustomTrigger']>(triggerValue)) {\n slots.CustomTrigger = triggerValue;\n }\n } else if (isSlot(child, SelectFilter)) {\n slots.Filter = child;\n }\n });\n\n return slots;\n }, [children]);\n}\n"],
|
|
5
5
|
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAEP,SAAS,cAAc;AACvB,SAAS,qBAA8C;AACvD,SAAS,2BAA2B;AACpC,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,OAEK;AACP,SAAS,oBAA4C;AACrD,SAAS,oBAA4C;AACrD,SAAS,qBAA8C;AAoBhD,SAAS,eAAe,UAAkC;AAC/D,SAAO,QAAQ,MAAM;AACnB,UAAM,QAAqB;AAAA,MACzB,SAAS;AAAA,MACT,eAAe;AAAA,MACf,cAAc;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA,IACd;AAEA,aAAS,QAAQ,UAAU,CAAC,UAAU;AACpC,UAAI,OAAO,OAAO,aAAa,GAAG;AAChC,cAAM,UAAU;AAEhB,iBAAS,QAAQ,MAAM,MAAM,UAAU,CAACA,WAAU;AAChD,cAAI,OAAOA,QAAO,YAAY,GAAG;AAC/B,kBAAM,SAASA;AACf;AAAA,UACF,WAAW,OAAOA,QAAO,gBAAgB,GAAG;AAC1C,kBAAM,aAAaA;AAAA,UACrB;AAAA,QACF,CAAC;AACD;AAAA,MACF,WAAW,OAAO,OAAO,aAAa,GAAG;AACvC,cAAM,UAAU;AAEhB,iBAAS,QAAQ,MAAM,MAAM,UAAU,CAACA,WAAU;AAChD,cAAI,OAAOA,QAAO,kBAAkB,GAAG;AACrC,qBAAS,QAAQA,OAAM,MAAM,UAAU,CAACA,WAAU;AAChD,kBAAI,OAAOA,QAAO,YAAY,GAAG;AAC/B,sBAAM,SAASA;AACf;AAAA,cACF;AAGA,oBAAM,eAAe,MAAM,gBAAgB,CAAC;AAC5C,oBAAM,aAAa,KAAKA,MAAK;AAAA,YAC/B,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH,WAAW,OAAO,OAAO,mBAAmB,GAAG;AAG7C,cAAM,eAAe,SAAS,QAAQ,MAAM,MAAM,QAAQ,EAAE,CAAC;AAC7D,YAAI,eAA6C,YAAY,GAAG;AAC9D,gBAAM,gBAAgB;AAAA,QACxB;AAAA,MACF,WAAW,OAAO,OAAO,YAAY,GAAG;AACtC,cAAM,SAAS;AAAA,MACjB;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT,GAAG,CAAC,QAAQ,CAAC;AACf;",
|
|
6
6
|
"names": ["child"]
|
|
7
7
|
}
|