@dynatrace/strato-components 3.7.0 → 3.8.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.
Files changed (2533) hide show
  1. package/CHANGELOG.md +2113 -0
  2. package/buttons/button/Button.css +15 -15
  3. package/buttons/button/Button.d.ts +2 -1
  4. package/buttons/button/Button.js +5 -4
  5. package/buttons/button/Button.sty.js +4 -4
  6. package/buttons/intent-button/IntentButton.css +1 -1
  7. package/buttons/intent-button/IntentButton.sty.js +1 -1
  8. package/buttons/intent-button/IntentButtonWithResponse.js +2 -2
  9. package/buttons/notify-button/NotifyButton.css +2 -2
  10. package/buttons/notify-button/NotifyButton.sty.js +2 -2
  11. package/buttons/run-query-button/RunQueryButton.js +6 -13
  12. package/charts/categorical-bar/components/interactions/hooks/useSeriesActionClickHandler.js +7 -1
  13. package/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.css +2 -2
  14. package/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js +2 -2
  15. package/charts/categorical-bar/hooks/store/state-setters.d.ts +2 -2
  16. package/charts/categorical-bar/hooks/store/state-setters.js +3 -1
  17. package/charts/categorical-bar/layout/CategoricalGridLayout.js +1 -2
  18. package/charts/core/components/annotations/AnnotationsAtom.css +1 -1
  19. package/charts/core/components/annotations/AnnotationsAtom.sty.js +1 -1
  20. package/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.css +1 -1
  21. package/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js +1 -1
  22. package/charts/core/components/annotations/components/canvas/utils/calculate-marker-width-and-content.js +1 -2
  23. package/charts/core/components/annotations/components/overlays/AnnotationsOverlays.css +1 -1
  24. package/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js +1 -1
  25. package/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.css +1 -1
  26. package/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js +1 -1
  27. package/charts/core/components/annotations/utils/aggregate-markers-coords.js +19 -2
  28. package/charts/core/components/annotations/utils/resolve-value-marker-hit-area.d.ts +3 -0
  29. package/charts/core/components/annotations/utils/resolve-value-marker-hit-area.js +32 -0
  30. package/charts/core/components/axes/Axis.css +1 -1
  31. package/charts/core/components/axes/Axis.js +2 -5
  32. package/charts/core/components/axes/Axis.sty.js +1 -1
  33. package/charts/core/components/axes/AxisPrimitive.d.ts +31 -0
  34. package/charts/core/components/axes/AxisPrimitive.js +221 -0
  35. package/charts/core/components/axes/components/CategoryBottomAxis.js +3 -3
  36. package/charts/core/components/axes/components/CategoryLeftAxis.js +2 -2
  37. package/charts/core/components/axes/components/PanningControls/PanningControls.css +16 -16
  38. package/charts/core/components/axes/components/PanningControls/PanningControls.sty.js +2 -2
  39. package/charts/core/components/axes/components/TickLabel.d.ts +1 -1
  40. package/charts/core/components/axes/components/TimeTableHeaderAxis.js +2 -2
  41. package/charts/core/components/axes/components/ValueTableHeaderAxis.js +2 -2
  42. package/charts/core/components/axes/constants.d.ts +0 -1
  43. package/charts/core/components/axes/constants.js +0 -2
  44. package/charts/core/components/axes/types.d.ts +50 -3
  45. package/charts/core/components/axes/utils/get-tick-label-props.d.ts +1 -23
  46. package/charts/core/components/axes/utils/get-tick-label-props.js +45 -4
  47. package/charts/core/components/chart-grid/ChartGrid.css +3 -3
  48. package/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
  49. package/charts/core/components/chart-grid/constants.d.ts +23 -0
  50. package/charts/core/components/chart-grid/constants.js +33 -0
  51. package/charts/core/components/chart-layout/components/styles.css +15 -15
  52. package/charts/core/components/chart-layout/components/styles.sty.js +4 -4
  53. package/charts/core/components/chart-states/ChartState.css +4 -4
  54. package/charts/core/components/chart-states/ChartState.sty.js +4 -4
  55. package/charts/core/components/crosshair/HorizontalCrosshair.js +6 -4
  56. package/charts/core/components/crosshair/VerticalCrosshair.js +7 -5
  57. package/charts/core/components/crosshair/components/Magnifier.css +7 -7
  58. package/charts/core/components/crosshair/components/Magnifier.sty.js +7 -7
  59. package/charts/core/components/grid/Grid.d.ts +5 -2
  60. package/charts/core/components/grid/Grid.js +1 -4
  61. package/charts/core/components/grid/GridColumns.d.ts +6 -3
  62. package/charts/core/components/grid/GridColumns.js +9 -7
  63. package/charts/core/components/grid/GridLine.d.ts +15 -5
  64. package/charts/core/components/grid/GridLine.js +5 -4
  65. package/charts/core/components/grid/GridLines.d.ts +2 -2
  66. package/charts/core/components/grid/GridRows.d.ts +6 -3
  67. package/charts/core/components/grid/GridRows.js +9 -7
  68. package/charts/core/components/grid/utils/compute-grid-lines.d.ts +3 -0
  69. package/charts/core/components/grid/utils/compute-grid-lines.js +35 -0
  70. package/charts/core/components/grid/utils/should-highlight-zero-line.d.ts +2 -2
  71. package/charts/core/components/interactions-overlay/InteractionsOverlay.css +5 -5
  72. package/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js +2 -2
  73. package/charts/core/components/legend/categorical/ChartLegend.css +1 -1
  74. package/charts/core/components/legend/categorical/ChartLegend.sty.js +1 -1
  75. package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.css +3 -3
  76. package/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js +3 -3
  77. package/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.css +17 -17
  78. package/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js +6 -6
  79. package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.css +3 -3
  80. package/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js +1 -1
  81. package/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.css +8 -8
  82. package/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js +4 -4
  83. package/charts/core/components/legend/range/RangeLegend.css +3 -3
  84. package/charts/core/components/legend/range/RangeLegend.sty.js +1 -1
  85. package/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.css +2 -2
  86. package/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js +1 -1
  87. package/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.css +1 -1
  88. package/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js +1 -1
  89. package/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.css +3 -3
  90. package/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js +1 -1
  91. package/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.css +3 -3
  92. package/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js +1 -1
  93. package/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.css +5 -5
  94. package/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js +1 -1
  95. package/charts/core/components/loader-overlay/LoaderOverlay.css +2 -2
  96. package/charts/core/components/loader-overlay/LoaderOverlay.sty.js +2 -2
  97. package/charts/core/components/overlay-tooltip/components/DynamicTooltip.js +7 -3
  98. package/charts/core/components/overlay-tooltip/components/TooltipPortal.js +7 -1
  99. package/charts/core/components/overlay-tooltip/components/global-actions/actions.css +4 -4
  100. package/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js +2 -2
  101. package/charts/core/components/overlay-tooltip/components/header/Header.css +6 -6
  102. package/charts/core/components/overlay-tooltip/components/header/Header.sty.js +6 -6
  103. package/charts/core/components/overlay-tooltip/components/series/seriesSymbol.css +2 -2
  104. package/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js +2 -2
  105. package/charts/core/components/overlay-tooltip/tooltip.css +52 -52
  106. package/charts/core/components/overlay-tooltip/tooltip.sty.js +39 -39
  107. package/charts/core/components/overlay-tooltip/useTooltipActions.js +8 -0
  108. package/charts/core/components/overlay-tooltip/utils/is-scroll-ignored.d.ts +2 -0
  109. package/charts/core/components/overlay-tooltip/utils/is-scroll-ignored.js +28 -0
  110. package/charts/core/components/overlays/ChartOverlaysBorder.css +5 -5
  111. package/charts/core/components/overlays/ChartOverlaysBorder.sty.js +5 -5
  112. package/charts/core/components/selection-area/SelectionArea.css +9 -9
  113. package/charts/core/components/selection-area/SelectionArea.sty.js +4 -4
  114. package/charts/core/components/series-action/ChartActionsMenuAsync.js +3 -1
  115. package/charts/core/components/shape/BubbleShape/BubbleShape.css +5 -5
  116. package/charts/core/components/shape/BubbleShape/BubbleShape.sty.js +3 -3
  117. package/charts/core/components/shape/EmojiShape/EmojiShape.css +3 -3
  118. package/charts/core/components/shape/EmojiShape/EmojiShape.sty.js +1 -1
  119. package/charts/core/components/shape/IconShape/IconShape.css +3 -3
  120. package/charts/core/components/shape/IconShape/IconShape.sty.js +1 -1
  121. package/charts/core/components/shape/styles/DataPointShape.css +8 -8
  122. package/charts/core/components/shape/styles/DataPointShape.sty.js +4 -4
  123. package/charts/core/components/shared-chart-interactions/SharedChartInteractions.css +1 -1
  124. package/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js +1 -1
  125. package/charts/core/components/single-value-renderer/SingleValueRenderer.css +5 -5
  126. package/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js +5 -5
  127. package/charts/core/components/single-value-renderer/components/ContentGrid.css +1 -1
  128. package/charts/core/components/single-value-renderer/components/ContentGrid.sty.js +1 -1
  129. package/charts/core/components/single-value-renderer/components/Icon.css +3 -3
  130. package/charts/core/components/single-value-renderer/components/Icon.sty.js +2 -2
  131. package/charts/core/components/single-value-renderer/components/Label.css +1 -1
  132. package/charts/core/components/single-value-renderer/components/Label.sty.js +1 -1
  133. package/charts/core/components/single-value-renderer/components/SingleValueToolbar.css +1 -1
  134. package/charts/core/components/single-value-renderer/components/SingleValueToolbar.js +0 -1
  135. package/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js +1 -1
  136. package/charts/core/components/single-value-renderer/components/Value.css +5 -5
  137. package/charts/core/components/single-value-renderer/components/Value.sty.js +3 -3
  138. package/charts/core/components/single-value-renderer/components/trend/Trend.css +3 -3
  139. package/charts/core/components/single-value-renderer/components/trend/Trend.sty.js +3 -3
  140. package/charts/core/components/single-value-renderer/components/trend/components/Icon.css +2 -2
  141. package/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js +1 -1
  142. package/charts/core/components/sparkline-display/Sparkline.css +6 -6
  143. package/charts/core/components/sparkline-display/Sparkline.sty.js +2 -2
  144. package/charts/core/components/sparkline-display/SparklineContainer.js +6 -4
  145. package/charts/core/components/text-ellipsis/ChartTextEllipsis.css +7 -7
  146. package/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js +3 -3
  147. package/charts/core/components/threshold-bar/indicators/ThresholdIndicator.js +40 -21
  148. package/charts/core/components/threshold-bar/markers/CircleMarker.js +1 -2
  149. package/charts/core/components/threshold-bar/markers/PillMarker.js +1 -2
  150. package/charts/core/components/threshold-bar/styles.css +9 -9
  151. package/charts/core/components/threshold-bar/styles.sty.js +2 -2
  152. package/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
  153. package/charts/core/components/toolbar/ChartToolbarRenderer.js +16 -6
  154. package/charts/core/components/toolbar/ChartToolbarRenderer.sty.js +8 -8
  155. package/charts/core/components/toolbar/components/ChartDataMenu.css +2 -2
  156. package/charts/core/components/toolbar/components/ChartDataMenu.sty.js +1 -1
  157. package/charts/core/components/toolbar/components/Control.css +17 -17
  158. package/charts/core/components/toolbar/components/Control.sty.js +5 -5
  159. package/charts/core/components/toolbar/components/ToolbarMenu.css +4 -4
  160. package/charts/core/components/toolbar/components/ToolbarMenu.sty.js +2 -2
  161. package/charts/core/components/toolbar/types.d.ts +4 -2
  162. package/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
  163. package/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js +2 -2
  164. package/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.css +8 -8
  165. package/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js +3 -3
  166. package/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.css +2 -2
  167. package/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js +1 -1
  168. package/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.css +1 -1
  169. package/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js +1 -1
  170. package/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.css +6 -6
  171. package/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js +2 -2
  172. package/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.css +7 -7
  173. package/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js +6 -6
  174. package/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.css +1 -1
  175. package/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js +1 -1
  176. package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
  177. package/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
  178. package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
  179. package/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
  180. package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
  181. package/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
  182. package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
  183. package/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
  184. package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
  185. package/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
  186. package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
  187. package/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
  188. package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
  189. package/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
  190. package/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
  191. package/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
  192. package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
  193. package/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
  194. package/charts/core/components/tooltip-atoms/components/styles.css +4 -4
  195. package/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
  196. package/charts/core/components/zoom/ZoomCursors.css +2 -2
  197. package/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
  198. package/charts/core/constants.d.ts +7 -0
  199. package/charts/core/constants.js +2 -0
  200. package/charts/core/hooks/useOverlayEventHandlers.d.ts +10 -11
  201. package/charts/core/hooks/useOverlayEventHandlers.js +40 -20
  202. package/charts/core/hooks/usePointerAndScrollResponsiveChartBounds.js +1 -1
  203. package/charts/core/hooks/useThrottledCallbackOnScroll.d.ts +1 -1
  204. package/charts/core/types/chart-data.d.ts +13 -0
  205. package/charts/core/types/chart-data.js +15 -0
  206. package/charts/core/types/text-size.d.ts +7 -0
  207. package/charts/core/types/text-size.js +15 -0
  208. package/charts/core/typographyStyles.css +1 -1
  209. package/charts/core/typographyStyles.sty.js +1 -1
  210. package/charts/core/utils/formatter-by-ticks.d.ts +4 -5
  211. package/charts/core/utils/formatter-by-ticks.js +4 -4
  212. package/charts/core/utils/text-measure.d.ts +34 -0
  213. package/charts/{tree-map → core}/utils/text-measure.js +19 -19
  214. package/charts/gantt-chart/GanttChartLine.css +1 -1
  215. package/charts/gantt-chart/GanttChartLine.sty.js +1 -1
  216. package/charts/gantt-chart/components/GanttChartLineRenderer.css +1 -1
  217. package/charts/gantt-chart/components/GanttChartLineRenderer.js +1 -2
  218. package/charts/gantt-chart/components/GanttChartLineRenderer.sty.js +1 -1
  219. package/charts/gantt-chart/components/tooltip/GanttChartTooltip.css +1 -1
  220. package/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js +1 -1
  221. package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.css +1 -1
  222. package/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js +1 -1
  223. package/charts/gauge/components/GaugeChartLayout/GaugeChartToolbar.d.ts +2 -0
  224. package/charts/gauge/components/GaugeChartLayout/GaugeChartToolbar.js +2 -2
  225. package/charts/gauge/components/GaugeLabel/GaugeLabel.css +6 -6
  226. package/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
  227. package/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.css +3 -3
  228. package/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js +1 -1
  229. package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.css +4 -4
  230. package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js +27 -2
  231. package/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js +3 -3
  232. package/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.css +2 -2
  233. package/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js +2 -2
  234. package/charts/histogram/HistogramChart.d.ts +3 -3
  235. package/charts/histogram/HistogramChart.js +4 -5
  236. package/charts/histogram/HistogramChartInternal.js +20 -11
  237. package/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.css +1 -1
  238. package/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js +1 -1
  239. package/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.css +1 -1
  240. package/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js +1 -1
  241. package/charts/histogram/components/overlays/HistogramOverlays.css +2 -2
  242. package/charts/histogram/components/overlays/HistogramOverlays.sty.js +2 -2
  243. package/charts/honeycomb/HoneycombChart.css +1 -1
  244. package/charts/honeycomb/HoneycombChart.js +6 -3
  245. package/charts/honeycomb/HoneycombChart.sty.js +1 -1
  246. package/charts/honeycomb/components/HiveOverlay.css +1 -1
  247. package/charts/honeycomb/components/HiveOverlay.js +2 -10
  248. package/charts/honeycomb/components/HiveOverlay.sty.js +1 -1
  249. package/charts/honeycomb/components/canvas/HiveCanvasLayout.css +1 -1
  250. package/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js +1 -1
  251. package/charts/honeycomb/components/canvas/renderers/CanvasCircleRenderer.js +7 -2
  252. package/charts/honeycomb/components/canvas/renderers/CanvasHexagonRenderer.js +9 -5
  253. package/charts/honeycomb/components/canvas/renderers/CanvasSquareRenderer.js +7 -2
  254. package/charts/honeycomb/components/canvas/utils/draw-label-and-value.d.ts +2 -1
  255. package/charts/honeycomb/components/canvas/utils/draw-label-and-value.js +100 -20
  256. package/charts/honeycomb/components/canvas/utils/get-font-sizes.d.ts +5 -0
  257. package/charts/honeycomb/components/canvas/utils/get-font-sizes.js +52 -0
  258. package/charts/honeycomb/components/canvas/utils/get-truncation-method.d.ts +3 -1
  259. package/charts/honeycomb/components/canvas/utils/get-truncation-method.js +78 -8
  260. package/charts/honeycomb/components/canvas/utils/measure-node-text-content.d.ts +2 -1
  261. package/charts/honeycomb/components/canvas/utils/measure-node-text-content.js +13 -16
  262. package/charts/honeycomb/components/canvas/utils/render-text-to-canvas.d.ts +1 -1
  263. package/charts/honeycomb/components/canvas/utils/render-text-to-canvas.js +2 -2
  264. package/charts/honeycomb/components/canvas/utils/set-font-details-to-context.d.ts +1 -1
  265. package/charts/honeycomb/components/canvas/utils/set-font-details-to-context.js +11 -9
  266. package/charts/honeycomb/components/toolbar/HoneycombToolbar.js +1 -3
  267. package/charts/honeycomb/constants.d.ts +8 -4
  268. package/charts/honeycomb/constants.js +17 -13
  269. package/charts/honeycomb/context/honeycomb-color-scheme.context.d.ts +1 -1
  270. package/charts/honeycomb/context/honeycomb-filtered-color-scheme.context.d.ts +1 -1
  271. package/charts/honeycomb/context/honeycomb-text-size.context.d.ts +2 -0
  272. package/charts/{core/components/toolbar/utils/estimate-toolbar-width.js → honeycomb/context/honeycomb-text-size.context.js} +8 -15
  273. package/charts/honeycomb/hooks/use-honeycomb-chart-config.js +6 -1
  274. package/charts/honeycomb/hooks/use-honeycomb-color-scheme.context.d.ts +1 -1
  275. package/charts/honeycomb/hooks/use-honeycomb-filtered-color-scheme.d.ts +1 -1
  276. package/charts/honeycomb/hooks/use-honeycomb-text-size.d.ts +1 -0
  277. package/charts/honeycomb/hooks/use-honeycomb-text-size.js +25 -0
  278. package/charts/honeycomb/hooks/use-overlay-events.d.ts +4 -5
  279. package/charts/honeycomb/hooks/use-overlay-events.js +4 -7
  280. package/charts/honeycomb/store/selectors.d.ts +0 -1
  281. package/charts/honeycomb/store/selectors.js +0 -2
  282. package/charts/honeycomb/store/store.d.ts +1 -2
  283. package/charts/honeycomb/store/store.js +0 -13
  284. package/charts/honeycomb/types/honeycomb-config-properties.d.ts +8 -1
  285. package/charts/honeycomb/types/honeycomb-internal.d.ts +4 -1
  286. package/charts/honeycomb/types/honeycomb.d.ts +53 -10
  287. package/charts/honeycomb/types/state.d.ts +0 -4
  288. package/charts/honeycomb/types/state.js +0 -3
  289. package/charts/honeycomb/utils/build-honeycomb-config.d.ts +3 -2
  290. package/charts/honeycomb/utils/build-honeycomb-config.js +17 -4
  291. package/charts/honeycomb/utils/normalize-honeycomb-chart-data.d.ts +17 -0
  292. package/charts/honeycomb/utils/normalize-honeycomb-chart-data.js +39 -0
  293. package/charts/index.d.ts +6 -4
  294. package/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.css +15 -15
  295. package/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js +10 -10
  296. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.css +2 -2
  297. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js +1 -1
  298. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.css +1 -1
  299. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js +1 -1
  300. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.css +1 -1
  301. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js +1 -1
  302. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.css +1 -1
  303. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js +1 -1
  304. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.css +1 -1
  305. package/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js +1 -1
  306. package/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.css +1 -1
  307. package/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js +1 -1
  308. package/charts/meter-bar/shared/styles/element-size.css +4 -4
  309. package/charts/meter-bar/shared/styles/element-size.sty.js +1 -1
  310. package/charts/meter-bar/shared/styles.css +1 -1
  311. package/charts/meter-bar/shared/styles.sty.js +1 -1
  312. package/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.css +1 -1
  313. package/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js +1 -1
  314. package/charts/pie/DonutChart.d.ts +2 -3
  315. package/charts/pie/DonutChart.js +6 -13
  316. package/charts/pie/PieChart.d.ts +2 -3
  317. package/charts/pie/PieChart.js +8 -15
  318. package/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.css +1 -1
  319. package/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js +1 -1
  320. package/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.css +1 -1
  321. package/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js +1 -1
  322. package/charts/pie/components/PieChartOverlays/PieChartOverlays.css +1 -1
  323. package/charts/pie/components/PieChartOverlays/PieChartOverlays.js +3 -3
  324. package/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js +1 -1
  325. package/charts/pie/components/PieChartPlot/PieChartPlot.css +1 -1
  326. package/charts/pie/components/PieChartPlot/PieChartPlot.js +59 -54
  327. package/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
  328. package/charts/pie/components/PieChartSlice.js +15 -11
  329. package/charts/pie/constants.d.ts +1 -0
  330. package/charts/pie/constants.js +2 -0
  331. package/charts/pie/context/ChartConfigContext.d.ts +1 -0
  332. package/charts/pie/hooks/useNormalizedPieData.d.ts +7 -0
  333. package/charts/pie/hooks/useNormalizedPieData.js +38 -0
  334. package/charts/pie/hooks/useOverlayHandlers.d.ts +3 -2
  335. package/charts/pie/hooks/useOverlayHandlers.js +7 -5
  336. package/charts/pie/hooks/useSliceHandlers.d.ts +4 -3
  337. package/charts/pie/hooks/useSliceHandlers.js +29 -3
  338. package/charts/pie/types/pie-chart.config.d.ts +102 -37
  339. package/charts/pie/utils/group-slices-thinner-than-pad-angle.js +2 -1
  340. package/charts/pie/utils/normalize-pie-data.d.ts +29 -0
  341. package/charts/pie/utils/normalize-pie-data.js +38 -0
  342. package/charts/pie/utils/pie-config.js +2 -1
  343. package/charts/pie/utils/sanitize-toolbar-intents.d.ts +2 -0
  344. package/charts/{tree-map/hooks/useSetOverlayState.js → pie/utils/sanitize-toolbar-intents.js} +9 -18
  345. package/charts/single-value/SingleValue.css +1 -1
  346. package/charts/single-value/SingleValue.sty.js +1 -1
  347. package/charts/single-value-grid/SingleValueGrid.css +2 -2
  348. package/charts/single-value-grid/SingleValueGrid.sty.js +1 -1
  349. package/charts/single-value-grid/components/GlobalFontSizeVariables.css +1 -1
  350. package/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js +1 -1
  351. package/charts/timeseries/TimeseriesChart.d.ts +1 -1
  352. package/charts/timeseries/TimeseriesChartInternal.d.ts +4 -0
  353. package/charts/timeseries/TimeseriesChartInternal.js +40 -21
  354. package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +2 -2
  355. package/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js +1 -1
  356. package/charts/timeseries/components/overlays/TimeseriesOverlays.css +4 -4
  357. package/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js +4 -4
  358. package/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
  359. package/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
  360. package/charts/top-list/TopList.css +1 -1
  361. package/charts/top-list/TopList.js +9 -5
  362. package/charts/top-list/TopList.sty.js +1 -1
  363. package/charts/top-list/constants.d.ts +1 -4
  364. package/charts/top-list/constants.js +2 -1
  365. package/charts/top-list/types/top-list.d.ts +6 -0
  366. package/charts/tree-map/TreeMap.d.ts +2 -3
  367. package/charts/tree-map/TreeMap.js +10 -1
  368. package/charts/tree-map/components/TreeMapChartLayout.js +4 -4
  369. package/charts/tree-map/components/TreeMapLegend/TreeMapCategoricalLegend.js +3 -1
  370. package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
  371. package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.js +2 -10
  372. package/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
  373. package/charts/tree-map/components/TreeMapToolbar/TreeMapToolbar.js +2 -4
  374. package/charts/tree-map/components/canvas/TreeMapSquareRenderer.js +4 -2
  375. package/charts/tree-map/constants.d.ts +4 -2
  376. package/charts/tree-map/constants.js +1 -2
  377. package/charts/tree-map/context/TextSizeContext.d.ts +3 -2
  378. package/charts/tree-map/hooks/useOverlayHandlers.d.ts +4 -5
  379. package/charts/tree-map/hooks/useOverlayHandlers.js +4 -7
  380. package/charts/tree-map/hooks/useTreeMapChartConfig.d.ts +2 -2
  381. package/charts/tree-map/hooks/useTreeMapChartHandlers.js +4 -1
  382. package/charts/tree-map/providers/TreeMapChartProviders.d.ts +2 -1
  383. package/charts/tree-map/providers/TreeMapChartProviders.js +1 -1
  384. package/charts/tree-map/store/selectors.d.ts +0 -1
  385. package/charts/tree-map/store/selectors.js +1 -3
  386. package/charts/tree-map/store/store.js +0 -3
  387. package/charts/tree-map/types/state.d.ts +0 -3
  388. package/charts/tree-map/types/treemap.d.ts +27 -10
  389. package/charts/tree-map/utils/build-labels.d.ts +1 -1
  390. package/charts/tree-map/utils/build-tree-map-chart-config.d.ts +2 -2
  391. package/charts/tree-map/utils/get-legend-interaction-props.d.ts +1 -1
  392. package/charts/tree-map/utils/get-legend-interaction-props.js +2 -2
  393. package/charts/tree-map/utils/to-hierarchical-props.d.ts +2 -0
  394. package/charts/tree-map/utils/to-hierarchical-props.js +106 -0
  395. package/charts/xy-chart/XYChart.js +22 -12
  396. package/charts/xy-chart/XYChartRoot.js +4 -2
  397. package/charts/xy-chart/components/axes/AxisArea.css +1 -1
  398. package/charts/xy-chart/components/axes/AxisArea.sty.js +1 -1
  399. package/charts/xy-chart/components/axes/AxisTickWithTruncation.css +3 -3
  400. package/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js +3 -3
  401. package/charts/xy-chart/components/axes/XTickWithTruncation.d.ts +1 -1
  402. package/charts/xy-chart/components/axes/XYChartLeftAxisArea.js +5 -1
  403. package/charts/xy-chart/components/axes/XYChartRightAxisArea.js +5 -1
  404. package/charts/xy-chart/components/axes/YTickWithTruncation.d.ts +1 -1
  405. package/charts/xy-chart/components/axes/hooks/useXTickOffset.d.ts +1 -1
  406. package/charts/xy-chart/components/axes/hooks/useYTickOffset.d.ts +1 -1
  407. package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +3 -3
  408. package/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +3 -3
  409. package/charts/xy-chart/components/legend/XYLegend/xy-legend.css +1 -1
  410. package/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js +1 -1
  411. package/charts/xy-chart/components/overlay/explore/HighlightedPointCanvas.d.ts +3 -2
  412. package/charts/xy-chart/components/overlay/explore/HighlightedPointCanvas.js +27 -5
  413. package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
  414. package/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js +1 -1
  415. package/charts/xy-chart/components/overlay/explore/XYChartExplore.css +2 -2
  416. package/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js +2 -2
  417. package/charts/xy-chart/components/overlay/explore/XYChartLinearPoint.js +12 -6
  418. package/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js +4 -0
  419. package/charts/xy-chart/components/overlay/utils/draw-shape.d.ts +1 -0
  420. package/charts/xy-chart/components/overlay/utils/draw-shape.js +19 -0
  421. package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
  422. package/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
  423. package/charts/xy-chart/components/tooltip/HoveredPointTooltip/hooks/getHoveredPointTooltipBodyContent.js +2 -2
  424. package/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js +23 -22
  425. package/charts/xy-chart/components/tooltip/utils/get-cached-separator.d.ts +12 -0
  426. package/charts/xy-chart/components/tooltip/utils/get-cached-separator.js +33 -0
  427. package/charts/xy-chart/components/tooltip/utils/get-tooltip-formatter.js +4 -2
  428. package/charts/xy-chart/components/tooltip/utils/tooltip-styles.css +5 -5
  429. package/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js +4 -4
  430. package/charts/xy-chart/constants/defaults.d.ts +1 -0
  431. package/charts/xy-chart/constants/defaults.js +2 -0
  432. package/charts/xy-chart/context/XYChartOverlayPerformance.context.d.ts +17 -0
  433. package/charts/xy-chart/hooks/useBuildHoverGrid.d.ts +12 -0
  434. package/charts/xy-chart/hooks/useBuildHoverGrid.js +56 -0
  435. package/charts/xy-chart/hooks/useBuildOverlayStrategy.d.ts +16 -0
  436. package/charts/xy-chart/hooks/useBuildOverlayStrategy.js +102 -0
  437. package/charts/xy-chart/hooks/useXYChartDataProvider.js +10 -3
  438. package/charts/xy-chart/layout/XYChartLayout.css +2 -2
  439. package/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
  440. package/charts/xy-chart/providers/XYChartAnnotationsShownIndicatorsProvider.js +7 -9
  441. package/charts/xy-chart/providers/XYChartAxesTicksProvider.js +41 -24
  442. package/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js +11 -53
  443. package/charts/xy-chart/providers/XYChartScalesProvider.js +9 -2
  444. package/charts/xy-chart/types/xy-chart-props.d.ts +6 -0
  445. package/charts/xy-chart/utils/build-axis-id-to-min-bar-size.d.ts +2 -0
  446. package/charts/xy-chart/utils/build-axis-id-to-min-bar-size.js +46 -0
  447. package/charts/xy-chart/utils/build-sorted-entries.d.ts +40 -18
  448. package/charts/xy-chart/utils/build-sorted-entries.js +63 -10
  449. package/charts/xy-chart/utils/filter-out-of-range-ticks.d.ts +3 -0
  450. package/charts/xy-chart/utils/filter-out-of-range-ticks.js +46 -0
  451. package/charts/xy-chart/utils/generate-scales-by-axis-id.d.ts +1 -1
  452. package/charts/xy-chart/utils/generate-scales-by-axis-id.js +19 -3
  453. package/charts/xy-chart/utils/get-ticks-formatted-by-config.d.ts +5 -1
  454. package/charts/xy-chart/utils/get-ticks-formatted-by-config.js +11 -0
  455. package/charts/xy-chart/utils/query-hovered-grid.d.ts +31 -0
  456. package/charts/xy-chart/utils/query-hovered-grid.js +191 -0
  457. package/charts/xy-chart/utils/query-shared.d.ts +2 -2
  458. package/charts/xy-chart/utils/query-shared.js +53 -23
  459. package/charts/xy-chart-adoption/histogram/HistogramToXY.d.ts +1 -2
  460. package/charts/xy-chart-adoption/histogram/HistogramToXY.js +9 -45
  461. package/charts/xy-chart-adoption/histogram/transformer-annotations-to-xy.d.ts +1 -17
  462. package/charts/xy-chart-adoption/histogram/transformer-annotations-to-xy.js +18 -33
  463. package/charts/xy-chart-adoption/shared/types/legacy-props.d.ts +11 -0
  464. package/charts/xy-chart-adoption/shared/types/legacy-props.js +15 -0
  465. package/charts/xy-chart-adoption/shared/utils/render-xy-annotations.d.ts +27 -0
  466. package/charts/xy-chart-adoption/shared/utils/render-xy-annotations.js +88 -0
  467. package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.d.ts +3 -0
  468. package/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +77 -27
  469. package/charts/xy-chart-adoption/timeseries/iterate-slots.d.ts +10 -0
  470. package/charts/xy-chart-adoption/timeseries/iterate-slots.js +36 -1
  471. package/charts/xy-chart-adoption/timeseries/resolve-value-representation.d.ts +6 -0
  472. package/charts/xy-chart-adoption/timeseries/resolve-value-representation.js +25 -0
  473. package/charts/xy-chart-adoption/timeseries/transformer-annotations-to-xy.d.ts +4 -0
  474. package/charts/xy-chart-adoption/timeseries/transformer-annotations-to-xy.js +53 -0
  475. package/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.d.ts +8 -6
  476. package/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js +7 -6
  477. package/charts/xy-chart-adoption/timeseries/types/timeseries.d.ts +28 -5
  478. package/charts/xy-chart-adoption/timeseries/utils/build-buckets.d.ts +15 -0
  479. package/charts/xy-chart-adoption/timeseries/utils/build-buckets.js +78 -0
  480. package/charts/xy-chart-adoption/timeseries/utils/collect-annotations-slots.d.ts +15 -0
  481. package/charts/xy-chart-adoption/timeseries/utils/collect-annotations-slots.js +76 -0
  482. package/charts/xy-chart-adoption/timeseries/utils/map-axis-slots.d.ts +21 -0
  483. package/charts/xy-chart-adoption/timeseries/utils/map-axis-slots.js +61 -0
  484. package/charts/xy-chart-adoption/timeseries/utils/render-series.js +6 -0
  485. package/charts/xy-chart-adoption/timeseries/utils/resolve-gap-policy.d.ts +2 -0
  486. package/charts/xy-chart-adoption/timeseries/utils/resolve-gap-policy.js +34 -0
  487. package/content/accordion/Accordion.css +14 -14
  488. package/content/accordion/Accordion.sty.js +8 -8
  489. package/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
  490. package/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
  491. package/content/ai-response/AiResponse.css +5 -5
  492. package/content/ai-response/AiResponse.sty.js +3 -2
  493. package/content/avatar/Avatar.css +13 -13
  494. package/content/avatar/Avatar.sty.js +4 -4
  495. package/content/avatar-group/AvatarGroup.css +3 -3
  496. package/content/avatar-group/AvatarGroup.sty.js +2 -2
  497. package/content/chip/BaseChip.css +40 -40
  498. package/content/chip/BaseChip.sty.js +5 -5
  499. package/content/chip/ChipContent.css +11 -11
  500. package/content/chip/ChipContent.sty.js +2 -2
  501. package/content/chip/ChipDeleteButton.css +19 -19
  502. package/content/chip/ChipDeleteButton.sty.js +4 -4
  503. package/content/chip/ChipKey.css +6 -6
  504. package/content/chip/ChipKey.sty.js +1 -1
  505. package/content/chip/GroupedChip.css +3 -3
  506. package/content/chip/GroupedChip.sty.js +3 -3
  507. package/content/chip-group/ChipGroup.css +4 -4
  508. package/content/chip-group/ChipGroup.d.ts +1 -1
  509. package/content/chip-group/ChipGroup.js +33 -49
  510. package/content/chip-group/ChipGroup.sty.js +1 -1
  511. package/content/chip-group/Control.css +4 -4
  512. package/content/chip-group/Control.sty.js +1 -1
  513. package/content/chip-group/chip-group-utils.d.ts +33 -0
  514. package/content/chip-group/chip-group-utils.js +52 -0
  515. package/content/chip-group/state/chip-group-state-reducer.d.ts +1 -1
  516. package/content/code-snippet/CodeHighlight.css +25 -26
  517. package/content/code-snippet/CodeHighlight.sty.d.ts +7 -2
  518. package/content/code-snippet/CodeHighlight.sty.js +10 -6
  519. package/content/code-snippet/CodeSnippet.css +31 -5
  520. package/content/code-snippet/CodeSnippet.d.ts +23 -8
  521. package/content/code-snippet/CodeSnippet.js +6 -2
  522. package/content/code-snippet/CodeSnippet.sty.d.ts +16 -0
  523. package/content/code-snippet/CodeSnippet.sty.js +8 -3
  524. package/content/empty-state/EmptyState.css +28 -28
  525. package/content/empty-state/EmptyState.sty.js +7 -7
  526. package/content/empty-state/empty-state-utils.js +2 -9
  527. package/content/empty-state/slot-components/Footer.css +1 -1
  528. package/content/empty-state/slot-components/Footer.sty.js +1 -1
  529. package/content/empty-state/slot-components/Visual.css +3 -3
  530. package/content/empty-state/slot-components/Visual.sty.js +1 -1
  531. package/content/expandable-text/ExpandableText.css +7 -7
  532. package/content/expandable-text/ExpandableText.sty.js +2 -2
  533. package/content/feature-highlight/FeatureHighlight.css +12 -12
  534. package/content/feature-highlight/FeatureHighlight.js +9 -5
  535. package/content/feature-highlight/FeatureHighlight.sty.js +3 -3
  536. package/content/health-indicator/styles.css +23 -23
  537. package/content/health-indicator/styles.sty.js +1 -1
  538. package/content/index.d.ts +1 -1
  539. package/content/information-overlay/InformationOverlay.css +25 -25
  540. package/content/information-overlay/InformationOverlay.sty.js +5 -5
  541. package/content/keyboard-shortcut/KeyboardShortcut.css +14 -14
  542. package/content/keyboard-shortcut/KeyboardShortcut.sty.js +2 -2
  543. package/content/markdown/Markdown.css +3 -3
  544. package/content/markdown/Markdown.sty.js +1 -1
  545. package/content/markdown/transformers/typography-mapping.css +9 -9
  546. package/content/markdown/transformers/typography-mapping.sty.js +6 -6
  547. package/content/microguide/Microguide.css +11 -11
  548. package/content/microguide/Microguide.sty.js +7 -7
  549. package/content/progress/ProgressBar.css +71 -71
  550. package/content/progress/ProgressBar.sty.js +5 -5
  551. package/content/progress/ProgressBarIcon.css +2 -2
  552. package/content/progress/ProgressBarIcon.sty.js +1 -1
  553. package/content/progress/ProgressBarLabel.css +3 -3
  554. package/content/progress/ProgressBarLabel.sty.js +1 -1
  555. package/content/progress/ProgressBarValue.css +5 -5
  556. package/content/progress/ProgressBarValue.sty.js +1 -1
  557. package/content/progress/ProgressCircle.css +40 -40
  558. package/content/progress/ProgressCircle.sty.js +5 -5
  559. package/content/release-phase-indicator/ReleasePhaseIndicator.d.ts +2 -2
  560. package/content/release-phase-indicator/ReleasePhaseIndicator.js +4 -2
  561. package/content/release-phase-indicator/messages.d.ts +5 -0
  562. package/content/release-phase-indicator/messages.js +5 -0
  563. package/content/shared-components/Visual.css +3 -3
  564. package/content/shared-components/Visual.sty.js +1 -1
  565. package/content/skeleton/Skeleton.css +7 -7
  566. package/content/skeleton/Skeleton.sty.js +5 -5
  567. package/content/terminology-overlay/TerminologyOverlay.css +4 -4
  568. package/content/terminology-overlay/TerminologyOverlay.sty.js +1 -1
  569. package/core/components/app-root/AppRoot.css +12 -2
  570. package/core/components/app-root/AppRoot.js +3 -2
  571. package/core/components/app-root/AppRoot.sty.js +1 -1
  572. package/core/components/app-root/visual-refresh-overrides.d.ts +6 -0
  573. package/core/components/app-root/visual-refresh-overrides.js +6 -0
  574. package/core/components/error-fallback/ErrorFallback.d.ts +8 -0
  575. package/{filters/filter-field → core/components}/error-fallback/messages.d.ts +0 -1
  576. package/{filters/filter-field → core/components}/error-fallback/messages.js +4 -4
  577. package/core/components/visually-hidden/VisuallyHidden.css +1 -1
  578. package/core/components/visually-hidden/VisuallyHidden.sty.js +1 -1
  579. package/core/dql/dql-common.js +6 -2
  580. package/core/hooks/useVisualRefreshEnabled.d.ts +4 -0
  581. package/core/hooks/useVisualRefreshEnabled.js +32 -0
  582. package/core/index.d.ts +3 -0
  583. package/core/index.js +6 -0
  584. package/core/sdk/app-state/AppStateContext.d.ts +26 -0
  585. package/{filters/filter-field/contexts/SavedAndRecentQueryClientContext.js → core/sdk/app-state/AppStateContext.js} +15 -7
  586. package/core/sdk/app-state/AppStateProvider.d.ts +24 -0
  587. package/core/sdk/app-state/AppStateProvider.js +97 -0
  588. package/core/sdk/app-state/app-state-store.d.ts +14 -0
  589. package/core/sdk/app-state/app-state-store.js +30 -0
  590. package/core/sdk/app-state/useAppState.d.ts +15 -0
  591. package/core/sdk/app-state/useAppState.js +40 -0
  592. package/core/sdk/app-state/useAppStateInternal.d.ts +28 -0
  593. package/core/sdk/app-state/useAppStateInternal.js +143 -0
  594. package/core/sdk/app-state/useAppStateValue.d.ts +28 -0
  595. package/core/sdk/app-state/useAppStateValue.js +32 -0
  596. package/core/sdk/sdk-logger.js +2 -2
  597. package/core/styles/defaultChartValues.css +1 -1
  598. package/core/styles/defaultChartValues.sty.js +1 -1
  599. package/core/styles/focusRing.css +66 -66
  600. package/core/styles/focusRing.sty.js +2 -2
  601. package/core/styles/focusRingStatic.css +34 -34
  602. package/core/styles/focusRingStatic.sty.js +1 -1
  603. package/core/styles/virtualFocus.css +2 -2
  604. package/core/styles/virtualFocus.sty.js +1 -1
  605. package/core/time/timeframeStore/actions/dateTimePicker.js +5 -4
  606. package/core/time/validation.d.ts +28 -3
  607. package/core/time/validation.js +49 -4
  608. package/core/types/form-control-props.d.ts +6 -0
  609. package/core/utils/colorUtils.css +60 -60
  610. package/core/utils/colorUtils.sty.js +2 -2
  611. package/core/utils/get-ticks.d.ts +29 -0
  612. package/core/utils/get-ticks.js +30 -0
  613. package/editors/base-code-editor/BaseCodeEditor.css +147 -135
  614. package/editors/base-code-editor/BaseCodeEditor.d.ts +51 -21
  615. package/editors/base-code-editor/BaseCodeEditor.js +149 -4
  616. package/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
  617. package/editors/base-code-editor/configuration/configure-format-keymap.d.ts +12 -0
  618. package/editors/base-code-editor/configuration/configure-format-keymap.js +40 -0
  619. package/editors/base-code-editor/configuration/configure-placeholder.d.ts +6 -1
  620. package/editors/base-code-editor/configuration/configure-placeholder.js +31 -2
  621. package/editors/base-code-editor/configuration/getDefaultConfigurations.js +103 -6
  622. package/editors/base-code-editor/configuration/language-extensions.d.ts +1 -1
  623. package/editors/base-code-editor/utils/key-maps.js +2 -0
  624. package/editors/code-editor/CodeEditor.d.ts +7 -69
  625. package/editors/code-editor/CodeEditor.js +23 -1
  626. package/editors/dql-editor/DQLEditor.d.ts +7 -69
  627. package/editors/dql-editor/DQLEditor.js +53 -3
  628. package/editors/dql-editor/actions-menu/ActionsMenu.css +23 -13
  629. package/editors/dql-editor/actions-menu/ActionsMenu.d.ts +7 -3
  630. package/editors/dql-editor/actions-menu/ActionsMenu.js +7 -1
  631. package/editors/dql-editor/actions-menu/ActionsMenu.sty.d.ts +16 -4
  632. package/editors/dql-editor/actions-menu/ActionsMenu.sty.js +5 -4
  633. package/editors/dql-editor/actions-menu/actions-menu-messages.d.ts +5 -0
  634. package/editors/dql-editor/actions-menu/actions-menu-messages.js +5 -0
  635. package/editors/dql-editor/dql/SuggestionPart.css +1 -1
  636. package/editors/dql-editor/dql/SuggestionPart.sty.js +1 -1
  637. package/editors/dql-editor/dql/SuggestionsInfoSection.css +7 -7
  638. package/editors/dql-editor/dql/SuggestionsInfoSection.js +10 -1
  639. package/editors/dql-editor/dql/SuggestionsInfoSection.sty.js +3 -3
  640. package/editors/dql-editor/dql/open-autocomplete.js +21 -3
  641. package/editors/dql-editor/dql/suggestion-autocompletions.js +3 -0
  642. package/editors/index.d.ts +1 -1
  643. package/esm/buttons/button/Button.css +15 -15
  644. package/esm/buttons/button/Button.js +5 -4
  645. package/esm/buttons/button/Button.js.map +2 -2
  646. package/esm/buttons/button/Button.sty.js +4 -4
  647. package/esm/buttons/button/Button.sty.js.map +1 -1
  648. package/esm/buttons/intent-button/IntentButton.css +1 -1
  649. package/esm/buttons/intent-button/IntentButton.sty.js +1 -1
  650. package/esm/buttons/intent-button/IntentButton.sty.js.map +1 -1
  651. package/esm/buttons/intent-button/IntentButtonWithResponse.js +2 -2
  652. package/esm/buttons/intent-button/IntentButtonWithResponse.js.map +2 -2
  653. package/esm/buttons/notify-button/NotifyButton.css +2 -2
  654. package/esm/buttons/notify-button/NotifyButton.sty.js +2 -2
  655. package/esm/buttons/notify-button/NotifyButton.sty.js.map +1 -1
  656. package/esm/buttons/run-query-button/RunQueryButton.js +7 -14
  657. package/esm/buttons/run-query-button/RunQueryButton.js.map +2 -2
  658. package/esm/charts/categorical-bar/components/interactions/hooks/useSeriesActionClickHandler.js +7 -1
  659. package/esm/charts/categorical-bar/components/interactions/hooks/useSeriesActionClickHandler.js.map +2 -2
  660. package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.css +2 -2
  661. package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js +2 -2
  662. package/esm/charts/categorical-bar/components/interactions/overlays/CategoricalBarChartInspectOverlay.sty.js.map +1 -1
  663. package/esm/charts/categorical-bar/hooks/store/state-setters.js +3 -1
  664. package/esm/charts/categorical-bar/hooks/store/state-setters.js.map +2 -2
  665. package/esm/charts/categorical-bar/layout/CategoricalGridLayout.js +1 -2
  666. package/esm/charts/categorical-bar/layout/CategoricalGridLayout.js.map +2 -2
  667. package/esm/charts/core/components/annotations/AnnotationsAtom.css +1 -1
  668. package/esm/charts/core/components/annotations/AnnotationsAtom.sty.js +1 -1
  669. package/esm/charts/core/components/annotations/AnnotationsAtom.sty.js.map +1 -1
  670. package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.css +1 -1
  671. package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js +1 -1
  672. package/esm/charts/core/components/annotations/components/canvas/AnnotationsCanvasLayout.sty.js.map +1 -1
  673. package/esm/charts/core/components/annotations/components/canvas/utils/calculate-marker-width-and-content.js +1 -2
  674. package/esm/charts/core/components/annotations/components/canvas/utils/calculate-marker-width-and-content.js.map +2 -2
  675. package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.css +1 -1
  676. package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js +1 -1
  677. package/esm/charts/core/components/annotations/components/overlays/AnnotationsOverlays.sty.js.map +1 -1
  678. package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.css +1 -1
  679. package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js +1 -1
  680. package/esm/charts/core/components/annotations/components/overlays/AnnotationsScrollWrapper.sty.js.map +1 -1
  681. package/esm/charts/core/components/annotations/utils/aggregate-markers-coords.js +20 -6
  682. package/esm/charts/core/components/annotations/utils/aggregate-markers-coords.js.map +2 -2
  683. package/esm/charts/core/components/annotations/utils/resolve-value-marker-hit-area.js +14 -0
  684. package/esm/charts/core/components/annotations/utils/resolve-value-marker-hit-area.js.map +7 -0
  685. package/esm/charts/core/components/axes/Axis.css +1 -1
  686. package/esm/charts/core/components/axes/Axis.js +2 -6
  687. package/esm/charts/core/components/axes/Axis.js.map +2 -2
  688. package/esm/charts/core/components/axes/Axis.sty.js +1 -1
  689. package/esm/charts/core/components/axes/Axis.sty.js.map +1 -1
  690. package/esm/charts/core/components/axes/AxisPrimitive.js +203 -0
  691. package/esm/charts/core/components/axes/AxisPrimitive.js.map +7 -0
  692. package/esm/charts/core/components/axes/components/CategoryBottomAxis.js +2 -2
  693. package/esm/charts/core/components/axes/components/CategoryBottomAxis.js.map +2 -2
  694. package/esm/charts/core/components/axes/components/CategoryLeftAxis.js +1 -1
  695. package/esm/charts/core/components/axes/components/CategoryLeftAxis.js.map +2 -2
  696. package/esm/charts/core/components/axes/components/PanningControls/PanningControls.css +16 -16
  697. package/esm/charts/core/components/axes/components/PanningControls/PanningControls.sty.js +2 -2
  698. package/esm/charts/core/components/axes/components/PanningControls/PanningControls.sty.js.map +1 -1
  699. package/esm/charts/core/components/axes/components/TickLabel.js.map +2 -2
  700. package/esm/charts/core/components/axes/components/TimeTableHeaderAxis.js +1 -1
  701. package/esm/charts/core/components/axes/components/TimeTableHeaderAxis.js.map +2 -2
  702. package/esm/charts/core/components/axes/components/ValueTableHeaderAxis.js +1 -1
  703. package/esm/charts/core/components/axes/components/ValueTableHeaderAxis.js.map +2 -2
  704. package/esm/charts/core/components/axes/constants.js +0 -2
  705. package/esm/charts/core/components/axes/constants.js.map +2 -2
  706. package/esm/charts/core/components/axes/types.js.map +2 -2
  707. package/esm/charts/core/components/axes/utils/get-tick-label-props.js +45 -4
  708. package/esm/charts/core/components/axes/utils/get-tick-label-props.js.map +2 -2
  709. package/esm/charts/core/components/chart-grid/ChartGrid.css +3 -3
  710. package/esm/charts/core/components/chart-grid/ChartGrid.sty.js +3 -3
  711. package/esm/charts/core/components/chart-grid/ChartGrid.sty.js.map +1 -1
  712. package/esm/charts/core/components/chart-grid/constants.js +15 -0
  713. package/esm/charts/core/components/chart-grid/constants.js.map +7 -0
  714. package/esm/charts/core/components/chart-layout/components/styles.css +15 -15
  715. package/esm/charts/core/components/chart-layout/components/styles.sty.js +4 -4
  716. package/esm/charts/core/components/chart-layout/components/styles.sty.js.map +1 -1
  717. package/esm/charts/core/components/chart-states/ChartState.css +4 -4
  718. package/esm/charts/core/components/chart-states/ChartState.sty.js +4 -4
  719. package/esm/charts/core/components/chart-states/ChartState.sty.js.map +1 -1
  720. package/esm/charts/core/components/crosshair/HorizontalCrosshair.js +6 -4
  721. package/esm/charts/core/components/crosshair/HorizontalCrosshair.js.map +2 -2
  722. package/esm/charts/core/components/crosshair/VerticalCrosshair.js +7 -5
  723. package/esm/charts/core/components/crosshair/VerticalCrosshair.js.map +2 -2
  724. package/esm/charts/core/components/crosshair/components/Magnifier.css +7 -7
  725. package/esm/charts/core/components/crosshair/components/Magnifier.sty.js +7 -7
  726. package/esm/charts/core/components/crosshair/components/Magnifier.sty.js.map +1 -1
  727. package/esm/charts/core/components/grid/Grid.js +1 -4
  728. package/esm/charts/core/components/grid/Grid.js.map +2 -2
  729. package/esm/charts/core/components/grid/GridColumns.js +9 -7
  730. package/esm/charts/core/components/grid/GridColumns.js.map +2 -2
  731. package/esm/charts/core/components/grid/GridLine.js +5 -4
  732. package/esm/charts/core/components/grid/GridLine.js.map +2 -2
  733. package/esm/charts/core/components/grid/GridLines.js.map +2 -2
  734. package/esm/charts/core/components/grid/GridRows.js +9 -7
  735. package/esm/charts/core/components/grid/GridRows.js.map +2 -2
  736. package/esm/charts/core/components/grid/utils/compute-grid-lines.js +17 -0
  737. package/esm/charts/core/components/grid/utils/compute-grid-lines.js.map +7 -0
  738. package/esm/charts/core/components/grid/utils/should-highlight-zero-line.js.map +1 -1
  739. package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.css +5 -5
  740. package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js +2 -2
  741. package/esm/charts/core/components/interactions-overlay/InteractionsOverlay.sty.js.map +1 -1
  742. package/esm/charts/core/components/legend/categorical/ChartLegend.css +1 -1
  743. package/esm/charts/core/components/legend/categorical/ChartLegend.sty.js +1 -1
  744. package/esm/charts/core/components/legend/categorical/ChartLegend.sty.js.map +1 -1
  745. package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.css +3 -3
  746. package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js +3 -3
  747. package/esm/charts/core/components/legend/categorical/components/ChartLegendIcon/ChartLegendIcon.sty.js.map +1 -1
  748. package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.css +17 -17
  749. package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js +6 -6
  750. package/esm/charts/core/components/legend/categorical/components/ChartLegendItem/ChartLegendItem.sty.js.map +1 -1
  751. package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.css +3 -3
  752. package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js +1 -1
  753. package/esm/charts/core/components/legend/categorical/components/ChartLegendSeriesActions/ChartLegendSeriesActions.sty.js.map +1 -1
  754. package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.css +8 -8
  755. package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js +4 -4
  756. package/esm/charts/core/components/legend/categorical/components/ChartVirtualizedLegendGrid.sty.js.map +1 -1
  757. package/esm/charts/core/components/legend/range/RangeLegend.css +3 -3
  758. package/esm/charts/core/components/legend/range/RangeLegend.sty.js +1 -1
  759. package/esm/charts/core/components/legend/range/RangeLegend.sty.js.map +1 -1
  760. package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.css +2 -2
  761. package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js +1 -1
  762. package/esm/charts/core/components/legend/range/components/RangeLegendBoundaryLabel/RangeLegendBoundaryLabel.sty.js.map +1 -1
  763. package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.css +1 -1
  764. package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js +1 -1
  765. package/esm/charts/core/components/legend/range/components/RangeLegendItemLabel/RangeLegendItemLabel.sty.js.map +1 -1
  766. package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.css +3 -3
  767. package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js +1 -1
  768. package/esm/charts/core/components/legend/range/components/RangeLegendItemMarker/RangeLegendItemMarker.sty.js.map +1 -1
  769. package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.css +3 -3
  770. package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js +1 -1
  771. package/esm/charts/core/components/legend/range/components/RangeLegendMarkers/RangeLegendMarkers.sty.js.map +1 -1
  772. package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.css +5 -5
  773. package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js +1 -1
  774. package/esm/charts/core/components/legend/range/components/RangeLegendSegments/RangeLegendSegments.sty.js.map +1 -1
  775. package/esm/charts/core/components/loader-overlay/LoaderOverlay.css +2 -2
  776. package/esm/charts/core/components/loader-overlay/LoaderOverlay.sty.js +2 -2
  777. package/esm/charts/core/components/loader-overlay/LoaderOverlay.sty.js.map +1 -1
  778. package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltip.js +7 -3
  779. package/esm/charts/core/components/overlay-tooltip/components/DynamicTooltip.js.map +2 -2
  780. package/esm/charts/core/components/overlay-tooltip/components/TooltipPortal.js +7 -1
  781. package/esm/charts/core/components/overlay-tooltip/components/TooltipPortal.js.map +2 -2
  782. package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.css +4 -4
  783. package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js +2 -2
  784. package/esm/charts/core/components/overlay-tooltip/components/global-actions/actions.sty.js.map +1 -1
  785. package/esm/charts/core/components/overlay-tooltip/components/header/Header.css +6 -6
  786. package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js +6 -6
  787. package/esm/charts/core/components/overlay-tooltip/components/header/Header.sty.js.map +1 -1
  788. package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.css +2 -2
  789. package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js +2 -2
  790. package/esm/charts/core/components/overlay-tooltip/components/series/seriesSymbol.sty.js.map +1 -1
  791. package/esm/charts/core/components/overlay-tooltip/tooltip.css +52 -52
  792. package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js +39 -39
  793. package/esm/charts/core/components/overlay-tooltip/tooltip.sty.js.map +1 -1
  794. package/esm/charts/core/components/overlay-tooltip/useTooltipActions.js +8 -0
  795. package/esm/charts/core/components/overlay-tooltip/useTooltipActions.js.map +2 -2
  796. package/esm/charts/core/components/overlay-tooltip/utils/is-scroll-ignored.js +10 -0
  797. package/esm/charts/core/components/overlay-tooltip/utils/is-scroll-ignored.js.map +7 -0
  798. package/esm/charts/core/components/overlays/ChartOverlaysBorder.css +5 -5
  799. package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js +5 -5
  800. package/esm/charts/core/components/overlays/ChartOverlaysBorder.sty.js.map +1 -1
  801. package/esm/charts/core/components/selection-area/SelectionArea.css +9 -9
  802. package/esm/charts/core/components/selection-area/SelectionArea.sty.js +4 -4
  803. package/esm/charts/core/components/selection-area/SelectionArea.sty.js.map +1 -1
  804. package/esm/charts/core/components/series-action/ChartActionsMenuAsync.js +3 -1
  805. package/esm/charts/core/components/series-action/ChartActionsMenuAsync.js.map +2 -2
  806. package/esm/charts/core/components/shape/BubbleShape/BubbleShape.css +5 -5
  807. package/esm/charts/core/components/shape/BubbleShape/BubbleShape.sty.js +3 -3
  808. package/esm/charts/core/components/shape/BubbleShape/BubbleShape.sty.js.map +1 -1
  809. package/esm/charts/core/components/shape/EmojiShape/EmojiShape.css +3 -3
  810. package/esm/charts/core/components/shape/EmojiShape/EmojiShape.sty.js +1 -1
  811. package/esm/charts/core/components/shape/EmojiShape/EmojiShape.sty.js.map +1 -1
  812. package/esm/charts/core/components/shape/IconShape/IconShape.css +3 -3
  813. package/esm/charts/core/components/shape/IconShape/IconShape.sty.js +1 -1
  814. package/esm/charts/core/components/shape/IconShape/IconShape.sty.js.map +1 -1
  815. package/esm/charts/core/components/shape/styles/DataPointShape.css +8 -8
  816. package/esm/charts/core/components/shape/styles/DataPointShape.sty.js +4 -4
  817. package/esm/charts/core/components/shape/styles/DataPointShape.sty.js.map +1 -1
  818. package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.css +1 -1
  819. package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js +1 -1
  820. package/esm/charts/core/components/shared-chart-interactions/SharedChartInteractions.sty.js.map +1 -1
  821. package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.css +5 -5
  822. package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js +5 -5
  823. package/esm/charts/core/components/single-value-renderer/SingleValueRenderer.sty.js.map +1 -1
  824. package/esm/charts/core/components/single-value-renderer/components/ContentGrid.css +1 -1
  825. package/esm/charts/core/components/single-value-renderer/components/ContentGrid.sty.js +1 -1
  826. package/esm/charts/core/components/single-value-renderer/components/ContentGrid.sty.js.map +1 -1
  827. package/esm/charts/core/components/single-value-renderer/components/Icon.css +3 -3
  828. package/esm/charts/core/components/single-value-renderer/components/Icon.sty.js +2 -2
  829. package/esm/charts/core/components/single-value-renderer/components/Icon.sty.js.map +1 -1
  830. package/esm/charts/core/components/single-value-renderer/components/Label.css +1 -1
  831. package/esm/charts/core/components/single-value-renderer/components/Label.sty.js +1 -1
  832. package/esm/charts/core/components/single-value-renderer/components/Label.sty.js.map +1 -1
  833. package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.css +1 -1
  834. package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.js +0 -1
  835. package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.js.map +2 -2
  836. package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js +1 -1
  837. package/esm/charts/core/components/single-value-renderer/components/SingleValueToolbar.sty.js.map +1 -1
  838. package/esm/charts/core/components/single-value-renderer/components/Value.css +5 -5
  839. package/esm/charts/core/components/single-value-renderer/components/Value.sty.js +3 -3
  840. package/esm/charts/core/components/single-value-renderer/components/Value.sty.js.map +1 -1
  841. package/esm/charts/core/components/single-value-renderer/components/trend/Trend.css +3 -3
  842. package/esm/charts/core/components/single-value-renderer/components/trend/Trend.sty.js +3 -3
  843. package/esm/charts/core/components/single-value-renderer/components/trend/Trend.sty.js.map +1 -1
  844. package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.css +2 -2
  845. package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js +1 -1
  846. package/esm/charts/core/components/single-value-renderer/components/trend/components/Icon.sty.js.map +1 -1
  847. package/esm/charts/core/components/sparkline-display/Sparkline.css +6 -6
  848. package/esm/charts/core/components/sparkline-display/Sparkline.sty.js +2 -2
  849. package/esm/charts/core/components/sparkline-display/Sparkline.sty.js.map +1 -1
  850. package/esm/charts/core/components/sparkline-display/SparklineContainer.js +6 -4
  851. package/esm/charts/core/components/sparkline-display/SparklineContainer.js.map +2 -2
  852. package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.css +7 -7
  853. package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js +3 -3
  854. package/esm/charts/core/components/text-ellipsis/ChartTextEllipsis.sty.js.map +1 -1
  855. package/esm/charts/core/components/threshold-bar/indicators/ThresholdIndicator.js +40 -21
  856. package/esm/charts/core/components/threshold-bar/indicators/ThresholdIndicator.js.map +2 -2
  857. package/esm/charts/core/components/threshold-bar/markers/CircleMarker.js +1 -2
  858. package/esm/charts/core/components/threshold-bar/markers/CircleMarker.js.map +2 -2
  859. package/esm/charts/core/components/threshold-bar/markers/PillMarker.js +1 -2
  860. package/esm/charts/core/components/threshold-bar/markers/PillMarker.js.map +2 -2
  861. package/esm/charts/core/components/threshold-bar/styles.css +9 -9
  862. package/esm/charts/core/components/threshold-bar/styles.sty.js +2 -2
  863. package/esm/charts/core/components/threshold-bar/styles.sty.js.map +1 -1
  864. package/esm/charts/core/components/toolbar/ChartToolbarRenderer.css +16 -16
  865. package/esm/charts/core/components/toolbar/ChartToolbarRenderer.js +16 -6
  866. package/esm/charts/core/components/toolbar/ChartToolbarRenderer.js.map +2 -2
  867. package/esm/charts/core/components/toolbar/ChartToolbarRenderer.sty.js +8 -8
  868. package/esm/charts/core/components/toolbar/ChartToolbarRenderer.sty.js.map +1 -1
  869. package/esm/charts/core/components/toolbar/components/ChartDataMenu.css +2 -2
  870. package/esm/charts/core/components/toolbar/components/ChartDataMenu.sty.js +1 -1
  871. package/esm/charts/core/components/toolbar/components/ChartDataMenu.sty.js.map +1 -1
  872. package/esm/charts/core/components/toolbar/components/Control.css +17 -17
  873. package/esm/charts/core/components/toolbar/components/Control.sty.js +5 -5
  874. package/esm/charts/core/components/toolbar/components/Control.sty.js.map +1 -1
  875. package/esm/charts/core/components/toolbar/components/ToolbarMenu.css +4 -4
  876. package/esm/charts/core/components/toolbar/components/ToolbarMenu.sty.js +2 -2
  877. package/esm/charts/core/components/toolbar/components/ToolbarMenu.sty.js.map +1 -1
  878. package/esm/charts/core/components/toolbar/types.js.map +1 -1
  879. package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.css +6 -6
  880. package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js +2 -2
  881. package/esm/charts/core/components/tooltip/ChartTooltip/ChartTooltip.sty.js.map +1 -1
  882. package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.css +8 -8
  883. package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js +3 -3
  884. package/esm/charts/core/components/tooltip/ChartTooltip/components/ActionItem/ActionItem.sty.js.map +1 -1
  885. package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.css +2 -2
  886. package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js +1 -1
  887. package/esm/charts/core/components/tooltip/ChartTooltip/components/SeriesItem/SeriesItem.sty.js.map +1 -1
  888. package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.css +1 -1
  889. package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js +1 -1
  890. package/esm/charts/core/components/tooltip/ChartTooltip/components/TimeFrameHeader/TimeFrameHeader.sty.js.map +1 -1
  891. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.css +6 -6
  892. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js +2 -2
  893. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/BasicChartTooltip/BasicChartTooltip.sty.js.map +1 -1
  894. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.css +7 -7
  895. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js +6 -6
  896. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/components/InteractiveChartTooltip.sty.js.map +1 -1
  897. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.css +1 -1
  898. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js +1 -1
  899. package/esm/charts/core/components/tooltip/InteractiveChartTooltip/headers/HeaderTooltip.sty.js.map +1 -1
  900. package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.css +1 -1
  901. package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js +1 -1
  902. package/esm/charts/core/components/tooltip/section-components/TooltipFooter/TooltipFooter.sty.js.map +1 -1
  903. package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.css +2 -2
  904. package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js +1 -1
  905. package/esm/charts/core/components/tooltip/section-components/TooltipHeader/TooltipHeader.sty.js.map +1 -1
  906. package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.css +1 -1
  907. package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js +1 -1
  908. package/esm/charts/core/components/tooltip/section-components/TooltipInfoContent/TooltipInfoContent.sty.js.map +1 -1
  909. package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.css +3 -3
  910. package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js +2 -2
  911. package/esm/charts/core/components/tooltip/section-components/TooltipItem/TooltipItem.sty.js.map +1 -1
  912. package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.css +1 -1
  913. package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js +1 -1
  914. package/esm/charts/core/components/tooltip/section-components/TooltipSymbolContent/TooltipSymbolContent.sty.js.map +1 -1
  915. package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.css +2 -2
  916. package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js +2 -2
  917. package/esm/charts/core/components/tooltip/section-components/VirtualizedTooltipBody/VirtualizedTooltipBody.sty.js.map +1 -1
  918. package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.css +12 -12
  919. package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js +7 -7
  920. package/esm/charts/core/components/tooltip/shared/styles/SeriesBasedContent.sty.js.map +1 -1
  921. package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.css +1 -1
  922. package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js +1 -1
  923. package/esm/charts/core/components/tooltip/shared/styles/TooltipBody.sty.js.map +1 -1
  924. package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.css +1 -1
  925. package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js +1 -1
  926. package/esm/charts/core/components/tooltip-atoms/components/HeaderChipAtom/HeaderChipAtom.sty.js.map +1 -1
  927. package/esm/charts/core/components/tooltip-atoms/components/styles.css +4 -4
  928. package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js +4 -4
  929. package/esm/charts/core/components/tooltip-atoms/components/styles.sty.js.map +1 -1
  930. package/esm/charts/core/components/zoom/ZoomCursors.css +2 -2
  931. package/esm/charts/core/components/zoom/ZoomCursors.sty.js +3 -3
  932. package/esm/charts/core/components/zoom/ZoomCursors.sty.js.map +1 -1
  933. package/esm/charts/core/constants.js +2 -0
  934. package/esm/charts/core/constants.js.map +2 -2
  935. package/esm/charts/core/hooks/useOverlayEventHandlers.js +40 -20
  936. package/esm/charts/core/hooks/useOverlayEventHandlers.js.map +2 -2
  937. package/esm/charts/core/hooks/usePointerAndScrollResponsiveChartBounds.js +1 -1
  938. package/esm/charts/core/hooks/usePointerAndScrollResponsiveChartBounds.js.map +2 -2
  939. package/esm/charts/core/hooks/useThrottledCallbackOnScroll.js.map +1 -1
  940. package/esm/charts/core/types/chart-data.js +1 -0
  941. package/esm/charts/core/types/text-size.js +1 -0
  942. package/esm/charts/core/types/text-size.js.map +7 -0
  943. package/esm/charts/core/typographyStyles.css +1 -1
  944. package/esm/charts/core/typographyStyles.sty.js +1 -1
  945. package/esm/charts/core/typographyStyles.sty.js.map +1 -1
  946. package/esm/charts/core/utils/formatter-by-ticks.js +1 -1
  947. package/esm/charts/core/utils/formatter-by-ticks.js.map +2 -2
  948. package/esm/charts/core/utils/text-measure.js +38 -0
  949. package/esm/charts/core/utils/text-measure.js.map +7 -0
  950. package/esm/charts/gantt-chart/GanttChartLine.css +1 -1
  951. package/esm/charts/gantt-chart/GanttChartLine.sty.js +1 -1
  952. package/esm/charts/gantt-chart/GanttChartLine.sty.js.map +1 -1
  953. package/esm/charts/gantt-chart/components/GanttChartLineRenderer.css +1 -1
  954. package/esm/charts/gantt-chart/components/GanttChartLineRenderer.js +1 -2
  955. package/esm/charts/gantt-chart/components/GanttChartLineRenderer.js.map +2 -2
  956. package/esm/charts/gantt-chart/components/GanttChartLineRenderer.sty.js +1 -1
  957. package/esm/charts/gantt-chart/components/GanttChartLineRenderer.sty.js.map +1 -1
  958. package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.css +1 -1
  959. package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js +1 -1
  960. package/esm/charts/gantt-chart/components/tooltip/GanttChartTooltip.sty.js.map +1 -1
  961. package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.css +1 -1
  962. package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js +1 -1
  963. package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartLayout.sty.js.map +1 -1
  964. package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartToolbar.js +2 -2
  965. package/esm/charts/gauge/components/GaugeChartLayout/GaugeChartToolbar.js.map +2 -2
  966. package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.css +6 -6
  967. package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js +3 -3
  968. package/esm/charts/gauge/components/GaugeLabel/GaugeLabel.sty.js.map +1 -1
  969. package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.css +3 -3
  970. package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js +1 -1
  971. package/esm/charts/gauge/components/GaugeLabelsWrapper/GaugeLabelsWrapper.sty.js.map +1 -1
  972. package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.css +4 -4
  973. package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js +29 -2
  974. package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.js.map +2 -2
  975. package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js +3 -3
  976. package/esm/charts/gauge/components/GaugeLayoutOverlay/GaugeLayoutOverlay.sty.js.map +1 -1
  977. package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.css +2 -2
  978. package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js +2 -2
  979. package/esm/charts/gauge/components/GaugeResponsiveLabel/GaugeResponsiveLabel.sty.js.map +1 -1
  980. package/esm/charts/histogram/HistogramChart.js +4 -5
  981. package/esm/charts/histogram/HistogramChart.js.map +2 -2
  982. package/esm/charts/histogram/HistogramChartInternal.js +20 -8
  983. package/esm/charts/histogram/HistogramChartInternal.js.map +2 -2
  984. package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.css +1 -1
  985. package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js +1 -1
  986. package/esm/charts/histogram/components/axes/HistogramValueBottomAxisArea/HistogramValueBottomAxisArea.sty.js.map +1 -1
  987. package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.css +1 -1
  988. package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js +1 -1
  989. package/esm/charts/histogram/components/overlays/HistogramExplore/HistogramTooltip.sty.js.map +1 -1
  990. package/esm/charts/histogram/components/overlays/HistogramOverlays.css +2 -2
  991. package/esm/charts/histogram/components/overlays/HistogramOverlays.sty.js +2 -2
  992. package/esm/charts/histogram/components/overlays/HistogramOverlays.sty.js.map +1 -1
  993. package/esm/charts/honeycomb/HoneycombChart.css +1 -1
  994. package/esm/charts/honeycomb/HoneycombChart.js +6 -3
  995. package/esm/charts/honeycomb/HoneycombChart.js.map +2 -2
  996. package/esm/charts/honeycomb/HoneycombChart.sty.js +1 -1
  997. package/esm/charts/honeycomb/HoneycombChart.sty.js.map +1 -1
  998. package/esm/charts/honeycomb/components/HiveOverlay.css +1 -1
  999. package/esm/charts/honeycomb/components/HiveOverlay.js +2 -10
  1000. package/esm/charts/honeycomb/components/HiveOverlay.js.map +2 -2
  1001. package/esm/charts/honeycomb/components/HiveOverlay.sty.js +1 -1
  1002. package/esm/charts/honeycomb/components/HiveOverlay.sty.js.map +1 -1
  1003. package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.css +1 -1
  1004. package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js +1 -1
  1005. package/esm/charts/honeycomb/components/canvas/HiveCanvasLayout.sty.js.map +1 -1
  1006. package/esm/charts/honeycomb/components/canvas/renderers/CanvasCircleRenderer.js +7 -2
  1007. package/esm/charts/honeycomb/components/canvas/renderers/CanvasCircleRenderer.js.map +2 -2
  1008. package/esm/charts/honeycomb/components/canvas/renderers/CanvasHexagonRenderer.js +9 -5
  1009. package/esm/charts/honeycomb/components/canvas/renderers/CanvasHexagonRenderer.js.map +2 -2
  1010. package/esm/charts/honeycomb/components/canvas/renderers/CanvasSquareRenderer.js +7 -2
  1011. package/esm/charts/honeycomb/components/canvas/renderers/CanvasSquareRenderer.js.map +2 -2
  1012. package/esm/charts/honeycomb/components/canvas/utils/draw-label-and-value.js +108 -21
  1013. package/esm/charts/honeycomb/components/canvas/utils/draw-label-and-value.js.map +2 -2
  1014. package/esm/charts/honeycomb/components/canvas/utils/get-font-sizes.js +39 -0
  1015. package/esm/charts/honeycomb/components/canvas/utils/get-font-sizes.js.map +7 -0
  1016. package/esm/charts/honeycomb/components/canvas/utils/get-truncation-method.js +82 -9
  1017. package/esm/charts/honeycomb/components/canvas/utils/get-truncation-method.js.map +2 -2
  1018. package/esm/charts/honeycomb/components/canvas/utils/measure-node-text-content.js +13 -16
  1019. package/esm/charts/honeycomb/components/canvas/utils/measure-node-text-content.js.map +2 -2
  1020. package/esm/charts/honeycomb/components/canvas/utils/render-text-to-canvas.js +2 -2
  1021. package/esm/charts/honeycomb/components/canvas/utils/render-text-to-canvas.js.map +2 -2
  1022. package/esm/charts/honeycomb/components/canvas/utils/set-font-details-to-context.js +11 -9
  1023. package/esm/charts/honeycomb/components/canvas/utils/set-font-details-to-context.js.map +2 -2
  1024. package/esm/charts/honeycomb/components/toolbar/HoneycombToolbar.js +1 -3
  1025. package/esm/charts/honeycomb/components/toolbar/HoneycombToolbar.js.map +2 -2
  1026. package/esm/charts/honeycomb/constants.js +17 -13
  1027. package/esm/charts/honeycomb/constants.js.map +2 -2
  1028. package/esm/charts/honeycomb/context/honeycomb-color-scheme.context.js.map +1 -1
  1029. package/esm/charts/honeycomb/context/honeycomb-filtered-color-scheme.context.js.map +1 -1
  1030. package/esm/charts/honeycomb/context/honeycomb-text-size.context.js +9 -0
  1031. package/esm/charts/honeycomb/context/honeycomb-text-size.context.js.map +7 -0
  1032. package/esm/charts/honeycomb/hooks/use-honeycomb-chart-config.js +6 -1
  1033. package/esm/charts/honeycomb/hooks/use-honeycomb-chart-config.js.map +2 -2
  1034. package/esm/charts/honeycomb/hooks/use-honeycomb-text-size.js +7 -0
  1035. package/esm/charts/honeycomb/hooks/use-honeycomb-text-size.js.map +7 -0
  1036. package/esm/charts/honeycomb/hooks/use-overlay-events.js +7 -8
  1037. package/esm/charts/honeycomb/hooks/use-overlay-events.js.map +2 -2
  1038. package/esm/charts/honeycomb/providers/honeycomb-base-scale.provider.js.map +2 -2
  1039. package/esm/charts/honeycomb/store/selectors.js +0 -2
  1040. package/esm/charts/honeycomb/store/selectors.js.map +2 -2
  1041. package/esm/charts/honeycomb/store/store.js +0 -13
  1042. package/esm/charts/honeycomb/store/store.js.map +2 -2
  1043. package/esm/charts/honeycomb/types/state.js +0 -3
  1044. package/esm/charts/honeycomb/types/state.js.map +2 -2
  1045. package/esm/charts/honeycomb/utils/build-honeycomb-config.js +19 -5
  1046. package/esm/charts/honeycomb/utils/build-honeycomb-config.js.map +2 -2
  1047. package/esm/charts/honeycomb/utils/normalize-honeycomb-chart-data.js +21 -0
  1048. package/esm/charts/honeycomb/utils/normalize-honeycomb-chart-data.js.map +7 -0
  1049. package/esm/charts/index.js.map +2 -2
  1050. package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.css +15 -15
  1051. package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js +10 -10
  1052. package/esm/charts/meter-bar/shared/components/meter-bar-layout/MeterBarLayout.sty.js.map +1 -1
  1053. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.css +2 -2
  1054. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js +1 -1
  1055. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Icon/Icon.sty.js.map +1 -1
  1056. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.css +1 -1
  1057. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js +1 -1
  1058. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Label/Label.sty.js.map +1 -1
  1059. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.css +1 -1
  1060. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js +1 -1
  1061. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Max/Max.sty.js.map +1 -1
  1062. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.css +1 -1
  1063. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js +1 -1
  1064. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Min/Min.sty.js.map +1 -1
  1065. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.css +1 -1
  1066. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js +1 -1
  1067. package/esm/charts/meter-bar/shared/components/meter-bar-layout/slots/Value/Value.sty.js.map +1 -1
  1068. package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.css +1 -1
  1069. package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js +1 -1
  1070. package/esm/charts/meter-bar/shared/components/meter-bar-plot/MeterBarPlot.sty.js.map +1 -1
  1071. package/esm/charts/meter-bar/shared/styles/element-size.css +4 -4
  1072. package/esm/charts/meter-bar/shared/styles/element-size.sty.js +1 -1
  1073. package/esm/charts/meter-bar/shared/styles/element-size.sty.js.map +1 -1
  1074. package/esm/charts/meter-bar/shared/styles.css +1 -1
  1075. package/esm/charts/meter-bar/shared/styles.sty.js +1 -1
  1076. package/esm/charts/meter-bar/shared/styles.sty.js.map +1 -1
  1077. package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.css +1 -1
  1078. package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js +1 -1
  1079. package/esm/charts/meter-bar/single-meter-bar/components/MeterBarChartThresholds/MeterBarChartThresholds.sty.js.map +1 -1
  1080. package/esm/charts/pie/DonutChart.js +5 -12
  1081. package/esm/charts/pie/DonutChart.js.map +2 -2
  1082. package/esm/charts/pie/PieChart.js +7 -14
  1083. package/esm/charts/pie/PieChart.js.map +2 -2
  1084. package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.css +1 -1
  1085. package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js +1 -1
  1086. package/esm/charts/pie/components/InnerWrapper/components/InnerContainer/InnerContainer.sty.js.map +1 -1
  1087. package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.css +1 -1
  1088. package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js +1 -1
  1089. package/esm/charts/pie/components/InnerWrapper/components/InnerDonut/InnerDonut.sty.js.map +1 -1
  1090. package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.css +1 -1
  1091. package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.js +3 -3
  1092. package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.js.map +2 -2
  1093. package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js +1 -1
  1094. package/esm/charts/pie/components/PieChartOverlays/PieChartOverlays.sty.js.map +1 -1
  1095. package/esm/charts/pie/components/PieChartPlot/PieChartPlot.css +1 -1
  1096. package/esm/charts/pie/components/PieChartPlot/PieChartPlot.js +65 -56
  1097. package/esm/charts/pie/components/PieChartPlot/PieChartPlot.js.map +3 -3
  1098. package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js +1 -1
  1099. package/esm/charts/pie/components/PieChartPlot/PieChartPlot.sty.js.map +1 -1
  1100. package/esm/charts/pie/components/PieChartSlice.js +15 -11
  1101. package/esm/charts/pie/components/PieChartSlice.js.map +2 -2
  1102. package/esm/charts/pie/constants.js +2 -0
  1103. package/esm/charts/pie/constants.js.map +2 -2
  1104. package/esm/charts/pie/context/ChartConfigContext.js.map +2 -2
  1105. package/esm/charts/pie/context/PieChartRawDataContext.js.map +2 -2
  1106. package/esm/charts/pie/hooks/useNormalizedPieData.js +20 -0
  1107. package/esm/charts/pie/hooks/useNormalizedPieData.js.map +7 -0
  1108. package/esm/charts/pie/hooks/useOverlayHandlers.js +7 -5
  1109. package/esm/charts/pie/hooks/useOverlayHandlers.js.map +2 -2
  1110. package/esm/charts/pie/hooks/useSliceHandlers.js +29 -3
  1111. package/esm/charts/pie/hooks/useSliceHandlers.js.map +2 -2
  1112. package/esm/charts/pie/providers/ChartProviders.js.map +2 -2
  1113. package/esm/charts/pie/types/pie-chart.config.js.map +2 -2
  1114. package/esm/charts/pie/utils/build-and-download-csv.js.map +2 -2
  1115. package/esm/charts/pie/utils/build-group-threshold.js.map +2 -2
  1116. package/esm/charts/pie/utils/build-slices.js.map +2 -2
  1117. package/esm/charts/pie/utils/format-csv.js.map +2 -2
  1118. package/esm/charts/pie/utils/group-slices-thinner-than-pad-angle.js +2 -1
  1119. package/esm/charts/pie/utils/group-slices-thinner-than-pad-angle.js.map +2 -2
  1120. package/esm/charts/pie/utils/normalize-pie-data.js +20 -0
  1121. package/esm/charts/pie/utils/normalize-pie-data.js.map +7 -0
  1122. package/esm/charts/pie/utils/pie-config.js +2 -1
  1123. package/esm/charts/pie/utils/pie-config.js.map +2 -2
  1124. package/esm/charts/pie/utils/sanitize-toolbar-intents.js +12 -0
  1125. package/esm/charts/pie/utils/sanitize-toolbar-intents.js.map +7 -0
  1126. package/esm/charts/single-value/SingleValue.css +1 -1
  1127. package/esm/charts/single-value/SingleValue.sty.js +1 -1
  1128. package/esm/charts/single-value/SingleValue.sty.js.map +1 -1
  1129. package/esm/charts/single-value-grid/SingleValueGrid.css +2 -2
  1130. package/esm/charts/single-value-grid/SingleValueGrid.sty.js +1 -1
  1131. package/esm/charts/single-value-grid/SingleValueGrid.sty.js.map +1 -1
  1132. package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.css +1 -1
  1133. package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js +1 -1
  1134. package/esm/charts/single-value-grid/components/GlobalFontSizeVariables.sty.js.map +1 -1
  1135. package/esm/charts/timeseries/TimeseriesChart.js.map +2 -2
  1136. package/esm/charts/timeseries/TimeseriesChartInternal.js +39 -17
  1137. package/esm/charts/timeseries/TimeseriesChartInternal.js.map +2 -2
  1138. package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.css +2 -2
  1139. package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js +1 -1
  1140. package/esm/charts/timeseries/components/axes/TimeseriesTimeBottomAxisArea/TimeseriesTimeBottomAxisArea.sty.js.map +1 -1
  1141. package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.css +4 -4
  1142. package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js +4 -4
  1143. package/esm/charts/timeseries/components/overlays/TimeseriesOverlays.sty.js.map +1 -1
  1144. package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.css +2 -2
  1145. package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js +2 -2
  1146. package/esm/charts/timeseries/components/thresholds/ThresholdIndicators.sty.js.map +1 -1
  1147. package/esm/charts/top-list/TopList.css +1 -1
  1148. package/esm/charts/top-list/TopList.js +11 -7
  1149. package/esm/charts/top-list/TopList.js.map +2 -2
  1150. package/esm/charts/top-list/TopList.sty.js +1 -1
  1151. package/esm/charts/top-list/TopList.sty.js.map +1 -1
  1152. package/esm/charts/top-list/constants.js +2 -1
  1153. package/esm/charts/top-list/constants.js.map +2 -2
  1154. package/esm/charts/tree-map/TreeMap.js +10 -1
  1155. package/esm/charts/tree-map/TreeMap.js.map +2 -2
  1156. package/esm/charts/tree-map/components/TreeMapChartLayout.js +4 -4
  1157. package/esm/charts/tree-map/components/TreeMapChartLayout.js.map +2 -2
  1158. package/esm/charts/tree-map/components/TreeMapLegend/TreeMapCategoricalLegend.js +3 -1
  1159. package/esm/charts/tree-map/components/TreeMapLegend/TreeMapCategoricalLegend.js.map +2 -2
  1160. package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.css +1 -1
  1161. package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.js +2 -10
  1162. package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.js.map +2 -2
  1163. package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js +1 -1
  1164. package/esm/charts/tree-map/components/TreeMapOverlay/TreeMapOverlay.sty.js.map +1 -1
  1165. package/esm/charts/tree-map/components/TreeMapToolbar/TreeMapToolbar.js +2 -4
  1166. package/esm/charts/tree-map/components/TreeMapToolbar/TreeMapToolbar.js.map +2 -2
  1167. package/esm/charts/tree-map/components/canvas/TreeMapSquareRenderer.js +5 -2
  1168. package/esm/charts/tree-map/components/canvas/TreeMapSquareRenderer.js.map +2 -2
  1169. package/esm/charts/tree-map/constants.js +1 -2
  1170. package/esm/charts/tree-map/constants.js.map +2 -2
  1171. package/esm/charts/tree-map/context/TextSizeContext.js.map +2 -2
  1172. package/esm/charts/tree-map/hooks/useOverlayHandlers.js +7 -8
  1173. package/esm/charts/tree-map/hooks/useOverlayHandlers.js.map +2 -2
  1174. package/esm/charts/tree-map/hooks/useTreeMapChartConfig.js.map +2 -2
  1175. package/esm/charts/tree-map/hooks/useTreeMapChartHandlers.js +4 -1
  1176. package/esm/charts/tree-map/hooks/useTreeMapChartHandlers.js.map +2 -2
  1177. package/esm/charts/tree-map/providers/TreeMapChartProviders.js +1 -1
  1178. package/esm/charts/tree-map/providers/TreeMapChartProviders.js.map +2 -2
  1179. package/esm/charts/tree-map/store/selectors.js +1 -3
  1180. package/esm/charts/tree-map/store/selectors.js.map +2 -2
  1181. package/esm/charts/tree-map/store/store.js +0 -3
  1182. package/esm/charts/tree-map/store/store.js.map +2 -2
  1183. package/esm/charts/tree-map/utils/build-labels.js.map +2 -2
  1184. package/esm/charts/tree-map/utils/build-tree-map-chart-config.js.map +2 -2
  1185. package/esm/charts/tree-map/utils/get-legend-interaction-props.js +2 -2
  1186. package/esm/charts/tree-map/utils/get-legend-interaction-props.js.map +2 -2
  1187. package/esm/charts/tree-map/utils/to-hierarchical-props.js +88 -0
  1188. package/esm/charts/tree-map/utils/to-hierarchical-props.js.map +7 -0
  1189. package/esm/charts/xy-chart/XYChart.js +25 -12
  1190. package/esm/charts/xy-chart/XYChart.js.map +2 -2
  1191. package/esm/charts/xy-chart/XYChartRoot.js +4 -2
  1192. package/esm/charts/xy-chart/XYChartRoot.js.map +2 -2
  1193. package/esm/charts/xy-chart/components/axes/AxisArea.css +1 -1
  1194. package/esm/charts/xy-chart/components/axes/AxisArea.sty.js +1 -1
  1195. package/esm/charts/xy-chart/components/axes/AxisArea.sty.js.map +1 -1
  1196. package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.css +3 -3
  1197. package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js +3 -3
  1198. package/esm/charts/xy-chart/components/axes/AxisTickWithTruncation.sty.js.map +1 -1
  1199. package/esm/charts/xy-chart/components/axes/XTickWithTruncation.js.map +2 -2
  1200. package/esm/charts/xy-chart/components/axes/XYChartLeftAxisArea.js +6 -2
  1201. package/esm/charts/xy-chart/components/axes/XYChartLeftAxisArea.js.map +2 -2
  1202. package/esm/charts/xy-chart/components/axes/XYChartRightAxisArea.js +6 -2
  1203. package/esm/charts/xy-chart/components/axes/XYChartRightAxisArea.js.map +2 -2
  1204. package/esm/charts/xy-chart/components/axes/YTickWithTruncation.js.map +2 -2
  1205. package/esm/charts/xy-chart/components/axes/hooks/useXTickOffset.js.map +2 -2
  1206. package/esm/charts/xy-chart/components/axes/hooks/useYTickOffset.js.map +2 -2
  1207. package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.css +3 -3
  1208. package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js +3 -3
  1209. package/esm/charts/xy-chart/components/displays/BarDisplay/BarLabelOverlay.sty.js.map +1 -1
  1210. package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.css +1 -1
  1211. package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js +1 -1
  1212. package/esm/charts/xy-chart/components/legend/XYLegend/xy-legend.sty.js.map +1 -1
  1213. package/esm/charts/xy-chart/components/overlay/explore/HighlightedPointCanvas.js +32 -6
  1214. package/esm/charts/xy-chart/components/overlay/explore/HighlightedPointCanvas.js.map +2 -2
  1215. package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.css +1 -1
  1216. package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js +1 -1
  1217. package/esm/charts/xy-chart/components/overlay/explore/XYChartCrosshair.sty.js.map +1 -1
  1218. package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.css +2 -2
  1219. package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js +2 -2
  1220. package/esm/charts/xy-chart/components/overlay/explore/XYChartExplore.sty.js.map +1 -1
  1221. package/esm/charts/xy-chart/components/overlay/explore/XYChartLinearPoint.js +12 -6
  1222. package/esm/charts/xy-chart/components/overlay/explore/XYChartLinearPoint.js.map +2 -2
  1223. package/esm/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js +4 -0
  1224. package/esm/charts/xy-chart/components/overlay/hooks/useOverlayEvents.js.map +2 -2
  1225. package/esm/charts/xy-chart/components/overlay/utils/draw-shape.js +19 -0
  1226. package/esm/charts/xy-chart/components/overlay/utils/draw-shape.js.map +2 -2
  1227. package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.css +1 -1
  1228. package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js +1 -1
  1229. package/esm/charts/xy-chart/components/thresholds/XYChartThresholdIndicators.sty.js.map +1 -1
  1230. package/esm/charts/xy-chart/components/tooltip/HoveredPointTooltip/hooks/getHoveredPointTooltipBodyContent.js +2 -2
  1231. package/esm/charts/xy-chart/components/tooltip/HoveredPointTooltip/hooks/getHoveredPointTooltipBodyContent.js.map +2 -2
  1232. package/esm/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js +23 -22
  1233. package/esm/charts/xy-chart/components/tooltip/SharedXYChartTooltip/SharedXYChartTooltip.js.map +2 -2
  1234. package/esm/charts/xy-chart/components/tooltip/utils/get-cached-separator.js +15 -0
  1235. package/esm/charts/xy-chart/components/tooltip/utils/get-cached-separator.js.map +7 -0
  1236. package/esm/charts/xy-chart/components/tooltip/utils/get-tooltip-formatter.js +4 -2
  1237. package/esm/charts/xy-chart/components/tooltip/utils/get-tooltip-formatter.js.map +2 -2
  1238. package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.css +5 -5
  1239. package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js +4 -4
  1240. package/esm/charts/xy-chart/components/tooltip/utils/tooltip-styles.sty.js.map +1 -1
  1241. package/esm/charts/xy-chart/constants/defaults.js +2 -0
  1242. package/esm/charts/xy-chart/constants/defaults.js.map +2 -2
  1243. package/esm/charts/xy-chart/context/XYChartOverlayPerformance.context.js.map +2 -2
  1244. package/esm/charts/xy-chart/hooks/useBuildHoverGrid.js +38 -0
  1245. package/esm/charts/xy-chart/hooks/useBuildHoverGrid.js.map +7 -0
  1246. package/esm/charts/xy-chart/hooks/useBuildOverlayStrategy.js +88 -0
  1247. package/esm/charts/xy-chart/hooks/useBuildOverlayStrategy.js.map +7 -0
  1248. package/esm/charts/xy-chart/hooks/useXYChartDataProvider.js +10 -3
  1249. package/esm/charts/xy-chart/hooks/useXYChartDataProvider.js.map +3 -3
  1250. package/esm/charts/xy-chart/layout/XYChartLayout.css +2 -2
  1251. package/esm/charts/xy-chart/layout/XYChartLayout.sty.js +2 -2
  1252. package/esm/charts/xy-chart/layout/XYChartLayout.sty.js.map +1 -1
  1253. package/esm/charts/xy-chart/providers/XYChartAnnotationsShownIndicatorsProvider.js +7 -9
  1254. package/esm/charts/xy-chart/providers/XYChartAnnotationsShownIndicatorsProvider.js.map +2 -2
  1255. package/esm/charts/xy-chart/providers/XYChartAxesTicksProvider.js +41 -24
  1256. package/esm/charts/xy-chart/providers/XYChartAxesTicksProvider.js.map +2 -2
  1257. package/esm/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js +16 -61
  1258. package/esm/charts/xy-chart/providers/XYChartOverlayPerformanceProvider.js.map +2 -2
  1259. package/esm/charts/xy-chart/providers/XYChartScalesProvider.js +9 -2
  1260. package/esm/charts/xy-chart/providers/XYChartScalesProvider.js.map +2 -2
  1261. package/esm/charts/xy-chart/utils/build-axis-id-to-min-bar-size.js +28 -0
  1262. package/esm/charts/xy-chart/utils/build-axis-id-to-min-bar-size.js.map +7 -0
  1263. package/esm/charts/xy-chart/utils/build-sorted-entries.js +63 -10
  1264. package/esm/charts/xy-chart/utils/build-sorted-entries.js.map +2 -2
  1265. package/esm/charts/xy-chart/utils/filter-out-of-range-ticks.js +28 -0
  1266. package/esm/charts/xy-chart/utils/filter-out-of-range-ticks.js.map +7 -0
  1267. package/esm/charts/xy-chart/utils/generate-scales-by-axis-id.js +19 -3
  1268. package/esm/charts/xy-chart/utils/generate-scales-by-axis-id.js.map +2 -2
  1269. package/esm/charts/xy-chart/utils/get-ticks-formatted-by-config.js +11 -0
  1270. package/esm/charts/xy-chart/utils/get-ticks-formatted-by-config.js.map +2 -2
  1271. package/esm/charts/xy-chart/utils/query-hovered-grid.js +176 -0
  1272. package/esm/charts/xy-chart/utils/query-hovered-grid.js.map +7 -0
  1273. package/esm/charts/xy-chart/utils/query-shared.js +53 -23
  1274. package/esm/charts/xy-chart/utils/query-shared.js.map +2 -2
  1275. package/esm/charts/xy-chart-adoption/histogram/HistogramToXY.js +11 -50
  1276. package/esm/charts/xy-chart-adoption/histogram/HistogramToXY.js.map +2 -2
  1277. package/esm/charts/xy-chart-adoption/histogram/transformer-annotations-to-xy.js +3 -18
  1278. package/esm/charts/xy-chart-adoption/histogram/transformer-annotations-to-xy.js.map +3 -3
  1279. package/esm/charts/xy-chart-adoption/shared/types/legacy-props.js +1 -0
  1280. package/esm/charts/xy-chart-adoption/shared/types/legacy-props.js.map +7 -0
  1281. package/esm/charts/xy-chart-adoption/shared/types/props.js.map +7 -0
  1282. package/esm/charts/xy-chart-adoption/shared/utils/render-xy-annotations.js +70 -0
  1283. package/esm/charts/xy-chart-adoption/shared/utils/render-xy-annotations.js.map +7 -0
  1284. package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js +81 -27
  1285. package/esm/charts/xy-chart-adoption/timeseries/TimeseriesToXY.js.map +2 -2
  1286. package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js +36 -1
  1287. package/esm/charts/xy-chart-adoption/timeseries/iterate-slots.js.map +2 -2
  1288. package/esm/charts/xy-chart-adoption/timeseries/resolve-value-representation.js +7 -0
  1289. package/esm/charts/xy-chart-adoption/timeseries/resolve-value-representation.js.map +7 -0
  1290. package/esm/charts/xy-chart-adoption/timeseries/transformer-annotations-to-xy.js +35 -0
  1291. package/esm/charts/xy-chart-adoption/timeseries/transformer-annotations-to-xy.js.map +7 -0
  1292. package/esm/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js +7 -6
  1293. package/esm/charts/xy-chart-adoption/timeseries/transformer-data-to-xy.js.map +2 -2
  1294. package/esm/charts/xy-chart-adoption/timeseries/types/timeseries.js.map +2 -2
  1295. package/esm/charts/xy-chart-adoption/timeseries/utils/build-buckets.js +60 -0
  1296. package/esm/charts/xy-chart-adoption/timeseries/utils/build-buckets.js.map +7 -0
  1297. package/esm/charts/xy-chart-adoption/timeseries/utils/collect-annotations-slots.js +58 -0
  1298. package/esm/charts/xy-chart-adoption/timeseries/utils/collect-annotations-slots.js.map +7 -0
  1299. package/esm/charts/xy-chart-adoption/timeseries/utils/map-axis-slots.js +43 -0
  1300. package/esm/charts/xy-chart-adoption/timeseries/utils/map-axis-slots.js.map +7 -0
  1301. package/esm/charts/xy-chart-adoption/timeseries/utils/render-series.js +6 -0
  1302. package/esm/charts/xy-chart-adoption/timeseries/utils/render-series.js.map +2 -2
  1303. package/esm/charts/xy-chart-adoption/timeseries/utils/resolve-gap-policy.js +16 -0
  1304. package/esm/charts/xy-chart-adoption/timeseries/utils/resolve-gap-policy.js.map +7 -0
  1305. package/esm/content/accordion/Accordion.css +14 -14
  1306. package/esm/content/accordion/Accordion.sty.js +8 -8
  1307. package/esm/content/accordion/Accordion.sty.js.map +1 -1
  1308. package/esm/content/ai-loading-indicator/AiLoadingIndicator.css +12 -12
  1309. package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js +4 -4
  1310. package/esm/content/ai-loading-indicator/AiLoadingIndicator.sty.js.map +1 -1
  1311. package/esm/content/ai-response/AiResponse.css +5 -5
  1312. package/esm/content/ai-response/AiResponse.sty.js +3 -2
  1313. package/esm/content/ai-response/AiResponse.sty.js.map +2 -2
  1314. package/esm/content/avatar/Avatar.css +13 -13
  1315. package/esm/content/avatar/Avatar.sty.js +4 -4
  1316. package/esm/content/avatar/Avatar.sty.js.map +1 -1
  1317. package/esm/content/avatar-group/AvatarGroup.css +3 -3
  1318. package/esm/content/avatar-group/AvatarGroup.sty.js +2 -2
  1319. package/esm/content/avatar-group/AvatarGroup.sty.js.map +1 -1
  1320. package/esm/content/chip/BaseChip.css +40 -40
  1321. package/esm/content/chip/BaseChip.sty.js +5 -5
  1322. package/esm/content/chip/BaseChip.sty.js.map +1 -1
  1323. package/esm/content/chip/ChipContent.css +11 -11
  1324. package/esm/content/chip/ChipContent.sty.js +2 -2
  1325. package/esm/content/chip/ChipContent.sty.js.map +1 -1
  1326. package/esm/content/chip/ChipDeleteButton.css +19 -19
  1327. package/esm/content/chip/ChipDeleteButton.sty.js +4 -4
  1328. package/esm/content/chip/ChipDeleteButton.sty.js.map +1 -1
  1329. package/esm/content/chip/ChipKey.css +6 -6
  1330. package/esm/content/chip/ChipKey.sty.js +1 -1
  1331. package/esm/content/chip/ChipKey.sty.js.map +1 -1
  1332. package/esm/content/chip/GroupedChip.css +3 -3
  1333. package/esm/content/chip/GroupedChip.sty.js +3 -3
  1334. package/esm/content/chip/GroupedChip.sty.js.map +1 -1
  1335. package/esm/content/chip-group/ChipGroup.css +4 -4
  1336. package/esm/content/chip-group/ChipGroup.js +36 -49
  1337. package/esm/content/chip-group/ChipGroup.js.map +2 -2
  1338. package/esm/content/chip-group/ChipGroup.sty.js +1 -1
  1339. package/esm/content/chip-group/ChipGroup.sty.js.map +1 -1
  1340. package/esm/content/chip-group/Control.css +4 -4
  1341. package/esm/content/chip-group/Control.sty.js +1 -1
  1342. package/esm/content/chip-group/Control.sty.js.map +1 -1
  1343. package/esm/content/chip-group/chip-group-utils.js +34 -0
  1344. package/esm/content/chip-group/chip-group-utils.js.map +7 -0
  1345. package/esm/content/chip-group/state/chip-group-state-reducer.js.map +1 -1
  1346. package/esm/content/code-snippet/CodeHighlight.css +25 -26
  1347. package/esm/content/code-snippet/CodeHighlight.sty.js +10 -6
  1348. package/esm/content/code-snippet/CodeHighlight.sty.js.map +2 -2
  1349. package/esm/content/code-snippet/CodeSnippet.css +31 -5
  1350. package/esm/content/code-snippet/CodeSnippet.js +6 -2
  1351. package/esm/content/code-snippet/CodeSnippet.js.map +2 -2
  1352. package/esm/content/code-snippet/CodeSnippet.sty.js +8 -3
  1353. package/esm/content/code-snippet/CodeSnippet.sty.js.map +2 -2
  1354. package/esm/content/empty-state/EmptyState.css +28 -28
  1355. package/esm/content/empty-state/EmptyState.sty.js +7 -7
  1356. package/esm/content/empty-state/EmptyState.sty.js.map +1 -1
  1357. package/esm/content/empty-state/empty-state-utils.js +2 -9
  1358. package/esm/content/empty-state/empty-state-utils.js.map +2 -2
  1359. package/esm/content/empty-state/slot-components/Footer.css +1 -1
  1360. package/esm/content/empty-state/slot-components/Footer.sty.js +1 -1
  1361. package/esm/content/empty-state/slot-components/Footer.sty.js.map +1 -1
  1362. package/esm/content/empty-state/slot-components/Visual.css +3 -3
  1363. package/esm/content/empty-state/slot-components/Visual.sty.js +1 -1
  1364. package/esm/content/empty-state/slot-components/Visual.sty.js.map +1 -1
  1365. package/esm/content/expandable-text/ExpandableText.css +7 -7
  1366. package/esm/content/expandable-text/ExpandableText.sty.js +2 -2
  1367. package/esm/content/expandable-text/ExpandableText.sty.js.map +1 -1
  1368. package/esm/content/feature-highlight/FeatureHighlight.css +12 -12
  1369. package/esm/content/feature-highlight/FeatureHighlight.js +9 -5
  1370. package/esm/content/feature-highlight/FeatureHighlight.js.map +2 -2
  1371. package/esm/content/feature-highlight/FeatureHighlight.sty.js +3 -3
  1372. package/esm/content/feature-highlight/FeatureHighlight.sty.js.map +1 -1
  1373. package/esm/content/health-indicator/styles.css +23 -23
  1374. package/esm/content/health-indicator/styles.sty.js +1 -1
  1375. package/esm/content/health-indicator/styles.sty.js.map +1 -1
  1376. package/esm/content/index.js.map +2 -2
  1377. package/esm/content/information-overlay/InformationOverlay.css +25 -25
  1378. package/esm/content/information-overlay/InformationOverlay.sty.js +5 -5
  1379. package/esm/content/information-overlay/InformationOverlay.sty.js.map +1 -1
  1380. package/esm/content/keyboard-shortcut/KeyboardShortcut.css +14 -14
  1381. package/esm/content/keyboard-shortcut/KeyboardShortcut.sty.js +2 -2
  1382. package/esm/content/keyboard-shortcut/KeyboardShortcut.sty.js.map +1 -1
  1383. package/esm/content/markdown/Markdown.css +3 -3
  1384. package/esm/content/markdown/Markdown.sty.js +1 -1
  1385. package/esm/content/markdown/Markdown.sty.js.map +1 -1
  1386. package/esm/content/markdown/transformers/typography-mapping.css +9 -9
  1387. package/esm/content/markdown/transformers/typography-mapping.sty.js +6 -6
  1388. package/esm/content/markdown/transformers/typography-mapping.sty.js.map +1 -1
  1389. package/esm/content/microguide/Microguide.css +11 -11
  1390. package/esm/content/microguide/Microguide.sty.js +7 -7
  1391. package/esm/content/microguide/Microguide.sty.js.map +1 -1
  1392. package/esm/content/progress/ProgressBar.css +71 -71
  1393. package/esm/content/progress/ProgressBar.sty.js +5 -5
  1394. package/esm/content/progress/ProgressBar.sty.js.map +1 -1
  1395. package/esm/content/progress/ProgressBarIcon.css +2 -2
  1396. package/esm/content/progress/ProgressBarIcon.sty.js +1 -1
  1397. package/esm/content/progress/ProgressBarIcon.sty.js.map +1 -1
  1398. package/esm/content/progress/ProgressBarLabel.css +3 -3
  1399. package/esm/content/progress/ProgressBarLabel.sty.js +1 -1
  1400. package/esm/content/progress/ProgressBarLabel.sty.js.map +1 -1
  1401. package/esm/content/progress/ProgressBarValue.css +5 -5
  1402. package/esm/content/progress/ProgressBarValue.sty.js +1 -1
  1403. package/esm/content/progress/ProgressBarValue.sty.js.map +1 -1
  1404. package/esm/content/progress/ProgressCircle.css +40 -40
  1405. package/esm/content/progress/ProgressCircle.sty.js +5 -5
  1406. package/esm/content/progress/ProgressCircle.sty.js.map +1 -1
  1407. package/esm/content/release-phase-indicator/ReleasePhaseIndicator.js +4 -2
  1408. package/esm/content/release-phase-indicator/ReleasePhaseIndicator.js.map +2 -2
  1409. package/esm/content/release-phase-indicator/messages.js +5 -0
  1410. package/esm/content/release-phase-indicator/messages.js.map +2 -2
  1411. package/esm/content/shared-components/Visual.css +3 -3
  1412. package/esm/content/shared-components/Visual.sty.js +1 -1
  1413. package/esm/content/shared-components/Visual.sty.js.map +1 -1
  1414. package/esm/content/skeleton/Skeleton.css +7 -7
  1415. package/esm/content/skeleton/Skeleton.sty.js +5 -5
  1416. package/esm/content/skeleton/Skeleton.sty.js.map +1 -1
  1417. package/esm/content/terminology-overlay/TerminologyOverlay.css +4 -4
  1418. package/esm/content/terminology-overlay/TerminologyOverlay.sty.js +1 -1
  1419. package/esm/content/terminology-overlay/TerminologyOverlay.sty.js.map +1 -1
  1420. package/esm/core/components/app-root/AppRoot.css +12 -2
  1421. package/esm/core/components/app-root/AppRoot.js +3 -2
  1422. package/esm/core/components/app-root/AppRoot.js.map +2 -2
  1423. package/esm/core/components/app-root/AppRoot.sty.js +1 -1
  1424. package/esm/core/components/app-root/AppRoot.sty.js.map +1 -1
  1425. package/esm/core/components/app-root/visual-refresh-overrides.js +6 -0
  1426. package/esm/core/components/app-root/visual-refresh-overrides.js.map +2 -2
  1427. package/esm/core/components/error-fallback/ErrorFallback.js.map +7 -0
  1428. package/esm/{filters/filter-field → core/components}/error-fallback/messages.js +4 -4
  1429. package/esm/core/components/error-fallback/messages.js.map +7 -0
  1430. package/esm/core/components/visually-hidden/VisuallyHidden.css +1 -1
  1431. package/esm/core/components/visually-hidden/VisuallyHidden.sty.js +1 -1
  1432. package/esm/core/components/visually-hidden/VisuallyHidden.sty.js.map +1 -1
  1433. package/esm/core/dql/dql-common.js +6 -2
  1434. package/esm/core/dql/dql-common.js.map +2 -2
  1435. package/esm/core/hooks/useVisualRefreshEnabled.js +14 -0
  1436. package/esm/core/hooks/useVisualRefreshEnabled.js.map +7 -0
  1437. package/esm/core/index.js +12 -0
  1438. package/esm/core/index.js.map +2 -2
  1439. package/esm/core/sdk/app-state/AppStateContext.js +27 -0
  1440. package/esm/core/sdk/app-state/AppStateContext.js.map +7 -0
  1441. package/esm/core/sdk/app-state/AppStateProvider.js +87 -0
  1442. package/esm/core/sdk/app-state/AppStateProvider.js.map +7 -0
  1443. package/esm/core/sdk/app-state/app-state-store.js +12 -0
  1444. package/esm/core/sdk/app-state/app-state-store.js.map +7 -0
  1445. package/esm/core/sdk/app-state/useAppState.js +26 -0
  1446. package/esm/core/sdk/app-state/useAppState.js.map +7 -0
  1447. package/esm/core/sdk/app-state/useAppStateInternal.js +125 -0
  1448. package/esm/core/sdk/app-state/useAppStateInternal.js.map +7 -0
  1449. package/esm/core/sdk/app-state/useAppStateValue.js +14 -0
  1450. package/esm/core/sdk/app-state/useAppStateValue.js.map +7 -0
  1451. package/esm/core/sdk/sdk-logger.js +2 -2
  1452. package/esm/core/styles/defaultChartValues.css +1 -1
  1453. package/esm/core/styles/defaultChartValues.sty.js +1 -1
  1454. package/esm/core/styles/defaultChartValues.sty.js.map +1 -1
  1455. package/esm/core/styles/focusRing.css +66 -66
  1456. package/esm/core/styles/focusRing.sty.js +2 -2
  1457. package/esm/core/styles/focusRing.sty.js.map +1 -1
  1458. package/esm/core/styles/focusRingStatic.css +34 -34
  1459. package/esm/core/styles/focusRingStatic.sty.js +1 -1
  1460. package/esm/core/styles/focusRingStatic.sty.js.map +1 -1
  1461. package/esm/core/styles/virtualFocus.css +2 -2
  1462. package/esm/core/styles/virtualFocus.sty.js +1 -1
  1463. package/esm/core/styles/virtualFocus.sty.js.map +1 -1
  1464. package/esm/core/time/timeframeStore/actions/dateTimePicker.js +5 -4
  1465. package/esm/core/time/timeframeStore/actions/dateTimePicker.js.map +2 -2
  1466. package/esm/core/time/validation.js +49 -4
  1467. package/esm/core/time/validation.js.map +2 -2
  1468. package/esm/core/utils/colorUtils.css +60 -60
  1469. package/esm/core/utils/colorUtils.sty.js +2 -2
  1470. package/esm/core/utils/colorUtils.sty.js.map +1 -1
  1471. package/esm/{charts/core → core}/utils/get-tick-value-as-number.js.map +1 -1
  1472. package/esm/core/utils/get-ticks.js +12 -0
  1473. package/esm/core/utils/get-ticks.js.map +7 -0
  1474. package/esm/editors/base-code-editor/BaseCodeEditor.css +147 -135
  1475. package/esm/editors/base-code-editor/BaseCodeEditor.js +151 -5
  1476. package/esm/editors/base-code-editor/BaseCodeEditor.js.map +2 -2
  1477. package/esm/editors/base-code-editor/BaseCodeEditor.sty.js +2 -2
  1478. package/esm/editors/base-code-editor/BaseCodeEditor.sty.js.map +1 -1
  1479. package/esm/editors/base-code-editor/configuration/configure-format-keymap.js +22 -0
  1480. package/esm/editors/base-code-editor/configuration/configure-format-keymap.js.map +7 -0
  1481. package/esm/editors/base-code-editor/configuration/configure-placeholder.js +34 -3
  1482. package/esm/editors/base-code-editor/configuration/configure-placeholder.js.map +2 -2
  1483. package/esm/editors/base-code-editor/configuration/getDefaultConfigurations.js +105 -7
  1484. package/esm/editors/base-code-editor/configuration/getDefaultConfigurations.js.map +3 -3
  1485. package/esm/editors/base-code-editor/utils/key-maps.js +2 -0
  1486. package/esm/editors/base-code-editor/utils/key-maps.js.map +2 -2
  1487. package/esm/editors/code-editor/CodeEditor.js +26 -2
  1488. package/esm/editors/code-editor/CodeEditor.js.map +2 -2
  1489. package/esm/editors/dql-editor/DQLEditor.js +57 -4
  1490. package/esm/editors/dql-editor/DQLEditor.js.map +2 -2
  1491. package/esm/editors/dql-editor/actions-menu/ActionsMenu.css +23 -13
  1492. package/esm/editors/dql-editor/actions-menu/ActionsMenu.js +8 -1
  1493. package/esm/editors/dql-editor/actions-menu/ActionsMenu.js.map +2 -2
  1494. package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js +5 -4
  1495. package/esm/editors/dql-editor/actions-menu/ActionsMenu.sty.js.map +2 -2
  1496. package/esm/editors/dql-editor/actions-menu/actions-menu-messages.js +5 -0
  1497. package/esm/editors/dql-editor/actions-menu/actions-menu-messages.js.map +2 -2
  1498. package/esm/editors/dql-editor/dql/SuggestionPart.css +1 -1
  1499. package/esm/editors/dql-editor/dql/SuggestionPart.sty.js +1 -1
  1500. package/esm/editors/dql-editor/dql/SuggestionPart.sty.js.map +1 -1
  1501. package/esm/editors/dql-editor/dql/SuggestionsInfoSection.css +7 -7
  1502. package/esm/editors/dql-editor/dql/SuggestionsInfoSection.js +10 -1
  1503. package/esm/editors/dql-editor/dql/SuggestionsInfoSection.js.map +2 -2
  1504. package/esm/editors/dql-editor/dql/SuggestionsInfoSection.sty.js +3 -3
  1505. package/esm/editors/dql-editor/dql/SuggestionsInfoSection.sty.js.map +1 -1
  1506. package/esm/editors/dql-editor/dql/open-autocomplete.js +21 -3
  1507. package/esm/editors/dql-editor/dql/open-autocomplete.js.map +2 -2
  1508. package/esm/editors/dql-editor/dql/suggestion-autocompletions.js +3 -0
  1509. package/esm/editors/dql-editor/dql/suggestion-autocompletions.js.map +2 -2
  1510. package/esm/editors/index.js.map +2 -2
  1511. package/esm/filters/filter-field/FilterField.css +151 -119
  1512. package/esm/filters/filter-field/FilterField.js +78 -4
  1513. package/esm/filters/filter-field/FilterField.js.map +2 -2
  1514. package/esm/filters/filter-field/FilterField.sty.js +28 -28
  1515. package/esm/filters/filter-field/FilterField.sty.js.map +1 -1
  1516. package/esm/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
  1517. package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
  1518. package/esm/filters/filter-field/components/FilterFieldSuffixButtons.sty.js.map +1 -1
  1519. package/esm/filters/filter-field/components/FilterStatement.css +13 -13
  1520. package/esm/filters/filter-field/components/FilterStatement.sty.js +6 -6
  1521. package/esm/filters/filter-field/components/FilterStatement.sty.js.map +1 -1
  1522. package/esm/filters/filter-field/hooks/recent-and-pinned/usePinnedFilterSuggestions.js +1 -1
  1523. package/esm/filters/filter-field/hooks/recent-and-pinned/usePinnedFilterSuggestions.js.map +2 -2
  1524. package/esm/filters/filter-field/hooks/recent-and-pinned/usePinnedFilters.js +35 -28
  1525. package/esm/filters/filter-field/hooks/recent-and-pinned/usePinnedFilters.js.map +2 -2
  1526. package/esm/filters/filter-field/hooks/recent-and-pinned/useRecentFilters.js +24 -22
  1527. package/esm/filters/filter-field/hooks/recent-and-pinned/useRecentFilters.js.map +2 -2
  1528. package/esm/filters/filter-field/hooks/useSuggestions.js +2 -7
  1529. package/esm/filters/filter-field/hooks/useSuggestions.js.map +2 -2
  1530. package/esm/filters/filter-field/state/recent-pinned-store.js +11 -51
  1531. package/esm/filters/filter-field/state/recent-pinned-store.js.map +2 -2
  1532. package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.css +9 -9
  1533. package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js +2 -2
  1534. package/esm/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js.map +1 -1
  1535. package/esm/filters/filter-field/suggestions/Suggestion.css +24 -24
  1536. package/esm/filters/filter-field/suggestions/Suggestion.sty.js +16 -16
  1537. package/esm/filters/filter-field/suggestions/Suggestion.sty.js.map +1 -1
  1538. package/esm/filters/filter-field/suggestions/SuggestionDetails.css +2 -2
  1539. package/esm/filters/filter-field/suggestions/SuggestionDetails.sty.js +2 -2
  1540. package/esm/filters/filter-field/suggestions/SuggestionDetails.sty.js.map +1 -1
  1541. package/esm/filters/filter-field/suggestions/SuggestionGroup.css +6 -6
  1542. package/esm/filters/filter-field/suggestions/SuggestionGroup.sty.js +3 -3
  1543. package/esm/filters/filter-field/suggestions/SuggestionGroup.sty.js.map +1 -1
  1544. package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.css +1 -1
  1545. package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js +1 -1
  1546. package/esm/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js.map +1 -1
  1547. package/esm/filters/filter-field/suggestions/SuggestionPin.js +5 -9
  1548. package/esm/filters/filter-field/suggestions/SuggestionPin.js.map +2 -2
  1549. package/esm/filters/filter-field/suggestions/SuggestionTips.css +7 -7
  1550. package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js +5 -5
  1551. package/esm/filters/filter-field/suggestions/SuggestionTips.sty.js.map +1 -1
  1552. package/esm/filters/filter-field/suggestions/SuggestionsOverlay.css +7 -7
  1553. package/esm/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
  1554. package/esm/filters/filter-field/suggestions/SuggestionsOverlay.sty.js.map +1 -1
  1555. package/esm/filters/segment-selector/SegmentSelector.css +4 -4
  1556. package/esm/filters/segment-selector/SegmentSelector.js +100 -9
  1557. package/esm/filters/segment-selector/SegmentSelector.js.map +2 -2
  1558. package/esm/filters/segment-selector/SegmentSelector.sty.js +4 -4
  1559. package/esm/filters/segment-selector/SegmentSelector.sty.js.map +1 -1
  1560. package/esm/filters/segment-selector/contexts/SegmentsUI/segmentValidationHelper.js +6 -3
  1561. package/esm/filters/segment-selector/contexts/SegmentsUI/segmentValidationHelper.js.map +2 -2
  1562. package/esm/filters/segment-selector/parts/EmptySegments.css +1 -1
  1563. package/esm/filters/segment-selector/parts/EmptySegments.sty.js +1 -1
  1564. package/esm/filters/segment-selector/parts/EmptySegments.sty.js.map +1 -1
  1565. package/esm/filters/segment-selector/parts/Overlay.css +8 -8
  1566. package/esm/filters/segment-selector/parts/Overlay.js +2 -1
  1567. package/esm/filters/segment-selector/parts/Overlay.js.map +2 -2
  1568. package/esm/filters/segment-selector/parts/Overlay.sty.js +8 -8
  1569. package/esm/filters/segment-selector/parts/Overlay.sty.js.map +1 -1
  1570. package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
  1571. package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
  1572. package/esm/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js.map +1 -1
  1573. package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +32 -32
  1574. package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js +10 -10
  1575. package/esm/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js.map +1 -1
  1576. package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.css +22 -22
  1577. package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js +7 -7
  1578. package/esm/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js.map +1 -1
  1579. package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
  1580. package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
  1581. package/esm/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js.map +1 -1
  1582. package/esm/filters/segment-selector/parts/selectionBar/SelectionBar.js +13 -10
  1583. package/esm/filters/segment-selector/parts/selectionBar/SelectionBar.js.map +2 -2
  1584. package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js +68 -27
  1585. package/esm/filters/segment-selector/parts/selectionBar/ValueSelect.js.map +2 -2
  1586. package/esm/filters/timeframe-selector/TimeframeSelector.css +2 -2
  1587. package/esm/filters/timeframe-selector/TimeframeSelector.js +4 -0
  1588. package/esm/filters/timeframe-selector/TimeframeSelector.js.map +2 -2
  1589. package/esm/filters/timeframe-selector/TimeframeSelector.sty.js +2 -2
  1590. package/esm/filters/timeframe-selector/TimeframeSelector.sty.js.map +1 -1
  1591. package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js +181 -5
  1592. package/esm/filters/timeframe-selector/TimeframeSelectorRoot.js.map +2 -2
  1593. package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
  1594. package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js +3 -3
  1595. package/esm/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js.map +1 -1
  1596. package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.css +4 -4
  1597. package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js +4 -4
  1598. package/esm/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js.map +1 -1
  1599. package/esm/filters/timeframe-selector/components/presets/Presets.css +27 -27
  1600. package/esm/filters/timeframe-selector/components/presets/Presets.sty.js +11 -11
  1601. package/esm/filters/timeframe-selector/components/presets/Presets.sty.js.map +1 -1
  1602. package/esm/filters/timeframe-selector/components/trigger/Trigger.css +11 -11
  1603. package/esm/filters/timeframe-selector/components/trigger/Trigger.js +2 -2
  1604. package/esm/filters/timeframe-selector/components/trigger/Trigger.js.map +2 -2
  1605. package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
  1606. package/esm/filters/timeframe-selector/components/trigger/Trigger.sty.js.map +1 -1
  1607. package/esm/forms/_base-input/BaseInput.css +99 -99
  1608. package/esm/forms/_base-input/BaseInput.js +32 -5
  1609. package/esm/forms/_base-input/BaseInput.js.map +2 -2
  1610. package/esm/forms/_base-input/BaseInput.sty.js +11 -11
  1611. package/esm/forms/_base-input/BaseInput.sty.js.map +1 -1
  1612. package/esm/forms/_base-input/BaseInputContent.css +7 -7
  1613. package/esm/forms/_base-input/BaseInputContent.sty.js +1 -1
  1614. package/esm/forms/_base-input/BaseInputContent.sty.js.map +1 -1
  1615. package/esm/forms/calendar/Calendar.css +48 -48
  1616. package/esm/forms/calendar/Calendar.sty.js +12 -12
  1617. package/esm/forms/calendar/Calendar.sty.js.map +1 -1
  1618. package/esm/forms/calendar/CalendarRoot.js +69 -14
  1619. package/esm/forms/calendar/CalendarRoot.js.map +2 -2
  1620. package/esm/forms/calendar/components/CalendarItem.css +7 -7
  1621. package/esm/forms/calendar/components/CalendarItem.sty.js +4 -4
  1622. package/esm/forms/calendar/components/CalendarItem.sty.js.map +1 -1
  1623. package/esm/forms/calendar/components/CalendarOutlineIcon.css +8 -8
  1624. package/esm/forms/calendar/components/CalendarOutlineIcon.sty.js +5 -5
  1625. package/esm/forms/calendar/components/CalendarOutlineIcon.sty.js.map +1 -1
  1626. package/esm/forms/calendar/variables.sty.js +2 -2
  1627. package/esm/forms/calendar/variables.sty.js.map +1 -1
  1628. package/esm/forms/checkbox/Checkbox.css +20 -20
  1629. package/esm/forms/checkbox/Checkbox.js +35 -8
  1630. package/esm/forms/checkbox/Checkbox.js.map +2 -2
  1631. package/esm/forms/checkbox/Checkbox.sty.js +3 -3
  1632. package/esm/forms/checkbox/Checkbox.sty.js.map +1 -1
  1633. package/esm/forms/date-time-picker/DateSelector.js +2 -2
  1634. package/esm/forms/date-time-picker/DateSelector.js.map +2 -2
  1635. package/esm/forms/date-time-picker/DateTimePicker.css +75 -75
  1636. package/esm/forms/date-time-picker/DateTimePicker.js +9 -4
  1637. package/esm/forms/date-time-picker/DateTimePicker.js.map +2 -2
  1638. package/esm/forms/date-time-picker/DateTimePicker.sty.js +6 -6
  1639. package/esm/forms/date-time-picker/DateTimePicker.sty.js.map +1 -1
  1640. package/esm/forms/date-time-picker/DateTimePickerRoot.js +70 -3
  1641. package/esm/forms/date-time-picker/DateTimePickerRoot.js.map +2 -2
  1642. package/esm/forms/date-time-range-picker/DateRangeSelector.css +1 -1
  1643. package/esm/forms/date-time-range-picker/DateRangeSelector.js +3 -3
  1644. package/esm/forms/date-time-range-picker/DateRangeSelector.js.map +2 -2
  1645. package/esm/forms/date-time-range-picker/DateRangeSelector.sty.js +1 -1
  1646. package/esm/forms/date-time-range-picker/DateRangeSelector.sty.js.map +1 -1
  1647. package/esm/forms/date-time-range-picker/DateTimeInput.css +11 -11
  1648. package/esm/forms/date-time-range-picker/DateTimeInput.js +25 -3
  1649. package/esm/forms/date-time-range-picker/DateTimeInput.js.map +2 -2
  1650. package/esm/forms/date-time-range-picker/DateTimeInput.sty.js +3 -3
  1651. package/esm/forms/date-time-range-picker/DateTimeInput.sty.js.map +1 -1
  1652. package/esm/forms/date-time-range-picker/DateTimeRangePicker.css +27 -27
  1653. package/esm/forms/date-time-range-picker/DateTimeRangePicker.sty.js +4 -4
  1654. package/esm/forms/date-time-range-picker/DateTimeRangePicker.sty.js.map +1 -1
  1655. package/esm/forms/date-time-range-picker/DateTimeRangePickerRoot.js +111 -3
  1656. package/esm/forms/date-time-range-picker/DateTimeRangePickerRoot.js.map +2 -2
  1657. package/esm/forms/forms-core/components/field-set/FieldSet.css +2 -2
  1658. package/esm/forms/forms-core/components/field-set/FieldSet.sty.js +2 -2
  1659. package/esm/forms/forms-core/components/field-set/FieldSet.sty.js.map +1 -1
  1660. package/esm/forms/forms-core/components/form-field/FormField.sty.js +1 -1
  1661. package/esm/forms/forms-core/components/form-field/FormField.sty.js.map +1 -1
  1662. package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
  1663. package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js +9 -5
  1664. package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js.map +2 -2
  1665. package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js +2 -2
  1666. package/esm/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js.map +1 -1
  1667. package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js +1 -1
  1668. package/esm/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js.map +1 -1
  1669. package/esm/forms/forms-core/components/label/Label.css +5 -5
  1670. package/esm/forms/forms-core/components/label/Label.sty.js +2 -2
  1671. package/esm/forms/forms-core/components/label/Label.sty.js.map +1 -1
  1672. package/esm/forms/forms-core/hooks/useFormFieldValidation.js +127 -48
  1673. package/esm/forms/forms-core/hooks/useFormFieldValidation.js.map +2 -2
  1674. package/esm/forms/forms-core/state/formfield-messages-state-reducer.js +10 -0
  1675. package/esm/forms/forms-core/state/formfield-messages-state-reducer.js.map +2 -2
  1676. package/esm/forms/hooks/useAutofillEvent.css +8 -8
  1677. package/esm/forms/hooks/useAutofillEvent.sty.js +4 -4
  1678. package/esm/forms/hooks/useAutofillEvent.sty.js.map +1 -1
  1679. package/esm/forms/index.js +10 -0
  1680. package/esm/forms/index.js.map +2 -2
  1681. package/esm/forms/number-input-v2/NumberInput.js +163 -18
  1682. package/esm/forms/number-input-v2/NumberInput.js.map +2 -2
  1683. package/esm/forms/number-input-v2/utils/validation.js.map +2 -2
  1684. package/esm/forms/radio/Radio.js +19 -3
  1685. package/esm/forms/radio/Radio.js.map +2 -2
  1686. package/esm/forms/radio/RadioGroup.js +42 -5
  1687. package/esm/forms/radio/RadioGroup.js.map +2 -2
  1688. package/esm/forms/radio/RadioGroupContext.js.map +2 -2
  1689. package/esm/forms/radio/styles.css +18 -18
  1690. package/esm/forms/radio/styles.sty.js +8 -8
  1691. package/esm/forms/radio/styles.sty.js.map +1 -1
  1692. package/esm/forms/search-input/SearchInput.css +2 -2
  1693. package/esm/forms/search-input/SearchInput.sty.js +1 -1
  1694. package/esm/forms/search-input/SearchInput.sty.js.map +1 -1
  1695. package/esm/forms/search-input/Stepper.css +5 -5
  1696. package/esm/forms/search-input/Stepper.sty.js +3 -3
  1697. package/esm/forms/search-input/Stepper.sty.js.map +1 -1
  1698. package/esm/forms/select/Select.js +74 -18
  1699. package/esm/forms/select/Select.js.map +2 -2
  1700. package/esm/forms/select/components/Control.js +3 -3
  1701. package/esm/forms/select/components/Control.js.map +2 -2
  1702. package/esm/forms/select/components/HiddenSelect.js +8 -6
  1703. package/esm/forms/select/components/HiddenSelect.js.map +2 -2
  1704. package/esm/forms/select/components/MenuList.js +6 -1
  1705. package/esm/forms/select/components/MenuList.js.map +2 -2
  1706. package/esm/forms/select/components/Option.js +12 -3
  1707. package/esm/forms/select/components/Option.js.map +2 -2
  1708. package/esm/forms/select/styles/Select.css +46 -46
  1709. package/esm/forms/select/styles/Select.sty.js +24 -24
  1710. package/esm/forms/select/styles/Select.sty.js.map +1 -1
  1711. package/esm/forms/shared-types.js.map +2 -2
  1712. package/esm/forms/spin-buttons/SpinButton.css +8 -8
  1713. package/esm/forms/spin-buttons/SpinButton.sty.js +2 -2
  1714. package/esm/forms/spin-buttons/SpinButton.sty.js.map +1 -1
  1715. package/esm/forms/switch/Switch.css +36 -36
  1716. package/esm/forms/switch/Switch.js +39 -6
  1717. package/esm/forms/switch/Switch.js.map +2 -2
  1718. package/esm/forms/switch/Switch.sty.js +5 -5
  1719. package/esm/forms/switch/Switch.sty.js.map +1 -1
  1720. package/esm/forms/text-area/TextArea.css +59 -59
  1721. package/esm/forms/text-area/TextArea.js +33 -2
  1722. package/esm/forms/text-area/TextArea.js.map +2 -2
  1723. package/esm/forms/text-area/TextArea.sty.js +3 -3
  1724. package/esm/forms/text-area/TextArea.sty.js.map +1 -1
  1725. package/esm/forms/text-input/TextInput.js.map +2 -2
  1726. package/esm/forms/toggle-button-group/Item.js +17 -3
  1727. package/esm/forms/toggle-button-group/Item.js.map +2 -2
  1728. package/esm/forms/toggle-button-group/ToggleButtonGroup.js +43 -7
  1729. package/esm/forms/toggle-button-group/ToggleButtonGroup.js.map +2 -2
  1730. package/esm/forms/toggle-button-group/contexts/ToggleButtonGroupContext.js.map +2 -2
  1731. package/esm/forms/toggle-button-group/styles.css +58 -58
  1732. package/esm/forms/toggle-button-group/styles.sty.js +15 -15
  1733. package/esm/forms/toggle-button-group/styles.sty.js.map +1 -1
  1734. package/esm/forms/validation/types.js +63 -0
  1735. package/esm/forms/validation/types.js.map +7 -0
  1736. package/esm/forms/validation/useCustomMessageEmitter.js +83 -0
  1737. package/esm/forms/validation/useCustomMessageEmitter.js.map +7 -0
  1738. package/esm/forms/validation/useValidationStateEmitter.js +31 -0
  1739. package/esm/forms/validation/useValidationStateEmitter.js.map +7 -0
  1740. package/esm/forms/validation/validation-builders.js +56 -0
  1741. package/esm/forms/validation/validation-builders.js.map +7 -0
  1742. package/esm/layouts/app-header/AppHeader.css +1 -1
  1743. package/esm/layouts/app-header/AppHeader.sty.js +1 -1
  1744. package/esm/layouts/app-header/AppHeader.sty.js.map +1 -1
  1745. package/esm/layouts/app-header/Logo.js +3 -1
  1746. package/esm/layouts/app-header/Logo.js.map +2 -2
  1747. package/esm/layouts/app-header/Navigation.css +9 -9
  1748. package/esm/layouts/app-header/Navigation.sty.js +5 -5
  1749. package/esm/layouts/app-header/Navigation.sty.js.map +1 -1
  1750. package/esm/layouts/app-header/action-group/ActionButton.css +17 -17
  1751. package/esm/layouts/app-header/action-group/ActionButton.sty.js +3 -3
  1752. package/esm/layouts/app-header/action-group/ActionButton.sty.js.map +1 -1
  1753. package/esm/layouts/app-header/action-group/ActionGroup.css +1 -1
  1754. package/esm/layouts/app-header/action-group/ActionGroup.sty.js +1 -1
  1755. package/esm/layouts/app-header/action-group/ActionGroup.sty.js.map +1 -1
  1756. package/esm/layouts/app-header/action-group/NavItem.css +4 -4
  1757. package/esm/layouts/app-header/action-group/NavItem.sty.js +3 -3
  1758. package/esm/layouts/app-header/action-group/NavItem.sty.js.map +1 -1
  1759. package/esm/layouts/app-header/app-icon/AppIcon.css +4 -4
  1760. package/esm/layouts/app-header/app-icon/AppIcon.sty.js +1 -1
  1761. package/esm/layouts/app-header/app-icon/AppIcon.sty.js.map +1 -1
  1762. package/esm/layouts/container/Container.css +5 -5
  1763. package/esm/layouts/container/Container.sty.js +1 -1
  1764. package/esm/layouts/container/Container.sty.js.map +1 -1
  1765. package/esm/layouts/divider/Divider.css +6 -6
  1766. package/esm/layouts/divider/Divider.sty.js +1 -1
  1767. package/esm/layouts/divider/Divider.sty.js.map +1 -1
  1768. package/esm/layouts/index.js.map +2 -2
  1769. package/esm/layouts/input-group/InputGroup.css +23 -23
  1770. package/esm/layouts/input-group/InputGroup.sty.js +1 -1
  1771. package/esm/layouts/input-group/InputGroup.sty.js.map +1 -1
  1772. package/esm/layouts/page/DetailView.css +3 -3
  1773. package/esm/layouts/page/DetailView.js.map +2 -2
  1774. package/esm/layouts/page/DetailView.sty.js +2 -2
  1775. package/esm/layouts/page/DetailView.sty.js.map +1 -1
  1776. package/esm/layouts/page/Header.css +2 -2
  1777. package/esm/layouts/page/Header.js.map +2 -2
  1778. package/esm/layouts/page/Header.sty.js +1 -1
  1779. package/esm/layouts/page/Header.sty.js.map +1 -1
  1780. package/esm/layouts/page/Main.css +6 -6
  1781. package/esm/layouts/page/Main.js.map +2 -2
  1782. package/esm/layouts/page/Main.sty.js +4 -4
  1783. package/esm/layouts/page/Main.sty.js.map +1 -1
  1784. package/esm/layouts/page/Page.css +2 -2
  1785. package/esm/layouts/page/Page.js.map +2 -2
  1786. package/esm/layouts/page/Page.sty.js +1 -1
  1787. package/esm/layouts/page/Page.sty.js.map +1 -1
  1788. package/esm/layouts/page/PanelControlButton.js.map +2 -2
  1789. package/esm/layouts/page/Sidebar.css +71 -22
  1790. package/esm/layouts/page/Sidebar.js +2 -0
  1791. package/esm/layouts/page/Sidebar.js.map +2 -2
  1792. package/esm/layouts/page/Sidebar.sty.js +8 -8
  1793. package/esm/layouts/page/Sidebar.sty.js.map +1 -1
  1794. package/esm/layouts/page/page-types.js.map +2 -2
  1795. package/esm/layouts/page/panel-types.js.map +2 -2
  1796. package/esm/layouts/page/panel.css +19 -19
  1797. package/esm/layouts/page/panel.sty.js +10 -10
  1798. package/esm/layouts/page/panel.sty.js.map +1 -1
  1799. package/esm/layouts/page-layout/PageLayout.css +10 -10
  1800. package/esm/layouts/page-layout/PageLayout.sty.js +6 -6
  1801. package/esm/layouts/page-layout/PageLayout.sty.js.map +1 -1
  1802. package/esm/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
  1803. package/esm/layouts/page-layout/details-layout/DetailsControlBar.sty.js +3 -3
  1804. package/esm/layouts/page-layout/details-layout/DetailsControlBar.sty.js.map +1 -1
  1805. package/esm/layouts/page-layout/details-layout/DetailsLayout.css +6 -6
  1806. package/esm/layouts/page-layout/details-layout/DetailsLayout.js +7 -15
  1807. package/esm/layouts/page-layout/details-layout/DetailsLayout.js.map +2 -2
  1808. package/esm/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
  1809. package/esm/layouts/page-layout/details-layout/DetailsLayout.sty.js.map +1 -1
  1810. package/esm/layouts/page-layout/details-layout/Overlay.css +18 -18
  1811. package/esm/layouts/page-layout/details-layout/Overlay.sty.js +4 -4
  1812. package/esm/layouts/page-layout/details-layout/Overlay.sty.js.map +1 -1
  1813. package/esm/layouts/page-layout/shared/portal-slots.js.map +1 -1
  1814. package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.css +38 -38
  1815. package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +15 -15
  1816. package/esm/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js.map +1 -1
  1817. package/esm/layouts/split-layout/SplitLayout.css +18 -18
  1818. package/esm/layouts/split-layout/SplitLayout.sty.js +7 -7
  1819. package/esm/layouts/split-layout/SplitLayout.sty.js.map +1 -1
  1820. package/esm/layouts/surface/Surface.css +39 -39
  1821. package/esm/layouts/surface/Surface.sty.js +2 -2
  1822. package/esm/layouts/surface/Surface.sty.js.map +1 -1
  1823. package/esm/layouts/surface/variables.sty.js +1 -1
  1824. package/esm/layouts/surface/variables.sty.js.map +1 -1
  1825. package/esm/layouts/title-bar/TitleBar.css +5 -5
  1826. package/esm/layouts/title-bar/TitleBar.sty.js +4 -4
  1827. package/esm/layouts/title-bar/TitleBar.sty.js.map +1 -1
  1828. package/esm/navigation/breadcrumbs/Breadcrumbs.css +9 -9
  1829. package/esm/navigation/breadcrumbs/Breadcrumbs.sty.js +5 -5
  1830. package/esm/navigation/breadcrumbs/Breadcrumbs.sty.js.map +1 -1
  1831. package/esm/navigation/menu/Content.js +2 -1
  1832. package/esm/navigation/menu/Content.js.map +2 -2
  1833. package/esm/navigation/menu/Item.js +8 -0
  1834. package/esm/navigation/menu/Item.js.map +2 -2
  1835. package/esm/navigation/menu/Menu.css +38 -15
  1836. package/esm/navigation/menu/Menu.sty.js +10 -8
  1837. package/esm/navigation/menu/Menu.sty.js.map +2 -2
  1838. package/esm/navigation/menu/Sub.js +19 -0
  1839. package/esm/navigation/menu/Sub.js.map +2 -2
  1840. package/esm/navigation/menu/SubContent.js +8 -1
  1841. package/esm/navigation/menu/SubContent.js.map +2 -2
  1842. package/esm/navigation/menu/SubTrigger.js +22 -7
  1843. package/esm/navigation/menu/SubTrigger.js.map +2 -2
  1844. package/esm/navigation/menu/contexts/MenuSubLevelContext.js +38 -0
  1845. package/esm/navigation/menu/contexts/MenuSubLevelContext.js.map +7 -0
  1846. package/esm/navigation/tabs/RenderTab.css +14 -14
  1847. package/esm/navigation/tabs/RenderTab.sty.js +3 -3
  1848. package/esm/navigation/tabs/RenderTab.sty.js.map +1 -1
  1849. package/esm/navigation/tabs/TabPanel.css +3 -3
  1850. package/esm/navigation/tabs/TabPanel.sty.js +2 -2
  1851. package/esm/navigation/tabs/TabPanel.sty.js.map +1 -1
  1852. package/esm/navigation/tabs/Tabs.css +9 -9
  1853. package/esm/navigation/tabs/Tabs.sty.js +5 -5
  1854. package/esm/navigation/tabs/Tabs.sty.js.map +1 -1
  1855. package/esm/notifications/notification-settings/NotificationSettings.css +1 -1
  1856. package/esm/notifications/notification-settings/NotificationSettings.sty.js +1 -1
  1857. package/esm/notifications/notification-settings/NotificationSettings.sty.js.map +1 -1
  1858. package/esm/notifications/notification-settings/components/CopyPermissionsButton.js +3 -7
  1859. package/esm/notifications/notification-settings/components/CopyPermissionsButton.js.map +2 -2
  1860. package/esm/notifications/notification-settings/components/ToggleButton.js +3 -1
  1861. package/esm/notifications/notification-settings/components/ToggleButton.js.map +2 -2
  1862. package/esm/notifications/toast/Toast.css +6 -6
  1863. package/esm/notifications/toast/Toast.sty.js +4 -4
  1864. package/esm/notifications/toast/Toast.sty.js.map +1 -1
  1865. package/esm/notifications/toast/ToastContainer.css +17 -17
  1866. package/esm/notifications/toast/ToastContainer.sty.js +1 -1
  1867. package/esm/notifications/toast/ToastContainer.sty.js.map +1 -1
  1868. package/esm/overlays/drawer/Drawer.css +9 -9
  1869. package/esm/overlays/drawer/Drawer.sty.js +5 -5
  1870. package/esm/overlays/drawer/Drawer.sty.js.map +1 -1
  1871. package/esm/overlays/modal/Modal.css +7 -7
  1872. package/esm/overlays/modal/Modal.sty.js +4 -4
  1873. package/esm/overlays/modal/Modal.sty.js.map +1 -1
  1874. package/esm/overlays/overlay/Overlay.css +1 -1
  1875. package/esm/overlays/overlay/Overlay.sty.js +1 -1
  1876. package/esm/overlays/overlay/Overlay.sty.js.map +1 -1
  1877. package/esm/overlays/sheet/Sheet.css +6 -6
  1878. package/esm/overlays/sheet/Sheet.sty.js +5 -5
  1879. package/esm/overlays/sheet/Sheet.sty.js.map +1 -1
  1880. package/esm/overlays/tooltip/tooltip.css +18 -18
  1881. package/esm/overlays/tooltip/tooltip.sty.js +3 -3
  1882. package/esm/overlays/tooltip/tooltip.sty.js.map +1 -1
  1883. package/esm/overlays/utils/popper-modifiers.js +7 -3
  1884. package/esm/overlays/utils/popper-modifiers.js.map +2 -2
  1885. package/esm/styles/colorUtils.css +60 -60
  1886. package/esm/styles/colorUtils.sty.js +2 -2
  1887. package/esm/styles/colorUtils.sty.js.map +1 -1
  1888. package/esm/styles/container.css +47 -47
  1889. package/esm/styles/container.sty.js +2 -2
  1890. package/esm/styles/container.sty.js.map +1 -1
  1891. package/esm/styles/ellipsis.css +1 -1
  1892. package/esm/styles/ellipsis.sty.js +1 -1
  1893. package/esm/styles/ellipsis.sty.js.map +1 -1
  1894. package/esm/styles/field.css +290 -290
  1895. package/esm/styles/field.sty.js +2 -2
  1896. package/esm/styles/field.sty.js.map +1 -1
  1897. package/esm/styles/screen-reader-only.css +1 -1
  1898. package/esm/styles/screen-reader-only.sty.js +1 -1
  1899. package/esm/styles/screen-reader-only.sty.js.map +1 -1
  1900. package/esm/styles/sprinkles.css +262 -262
  1901. package/esm/styles/sprinkles.sty.js +1 -1
  1902. package/esm/styles/sprinkles.sty.js.map +1 -1
  1903. package/esm/styles/textStyle.css +8 -8
  1904. package/esm/styles/textStyle.sty.js +1 -1
  1905. package/esm/styles/textStyle.sty.js.map +1 -1
  1906. package/esm/tables/DataTable/DataTable.css +2 -2
  1907. package/esm/tables/DataTable/DataTable.js +18 -4
  1908. package/esm/tables/DataTable/DataTable.js.map +2 -2
  1909. package/esm/tables/DataTable/DataTable.sty.js +7 -7
  1910. package/esm/tables/DataTable/DataTable.sty.js.map +1 -1
  1911. package/esm/tables/DataTable/components/Alignment.css +6 -6
  1912. package/esm/tables/DataTable/components/Alignment.sty.js +2 -2
  1913. package/esm/tables/DataTable/components/Alignment.sty.js.map +1 -1
  1914. package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.css +6 -6
  1915. package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
  1916. package/esm/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js.map +1 -1
  1917. package/esm/tables/DataTable/components/DataTableBody.css +2 -2
  1918. package/esm/tables/DataTable/components/DataTableBody.sty.js +2 -2
  1919. package/esm/tables/DataTable/components/DataTableBody.sty.js.map +1 -1
  1920. package/esm/tables/DataTable/components/DataTableCell.css +103 -117
  1921. package/esm/tables/DataTable/components/DataTableCell.sty.js +5 -5
  1922. package/esm/tables/DataTable/components/DataTableCell.sty.js.map +1 -1
  1923. package/esm/tables/DataTable/components/DataTableDefaultCell.css +23 -23
  1924. package/esm/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
  1925. package/esm/tables/DataTable/components/DataTableDefaultCell.sty.js.map +1 -1
  1926. package/esm/tables/DataTable/components/DataTableEmptyState.css +6 -6
  1927. package/esm/tables/DataTable/components/DataTableEmptyState.sty.js +2 -2
  1928. package/esm/tables/DataTable/components/DataTableEmptyState.sty.js.map +1 -1
  1929. package/esm/tables/DataTable/components/DataTableHeader.css +2 -2
  1930. package/esm/tables/DataTable/components/DataTableHeader.sty.js +2 -2
  1931. package/esm/tables/DataTable/components/DataTableHeader.sty.js.map +1 -1
  1932. package/esm/tables/DataTable/components/DataTableHeaderCell.css +64 -64
  1933. package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
  1934. package/esm/tables/DataTable/components/DataTableHeaderCell.sty.js.map +1 -1
  1935. package/esm/tables/DataTable/components/DataTableRow.css +13 -13
  1936. package/esm/tables/DataTable/components/DataTableRow.sty.js +1 -1
  1937. package/esm/tables/DataTable/components/DataTableRow.sty.js.map +1 -1
  1938. package/esm/tables/DataTable/components/DataTableScrollShadow.css +10 -10
  1939. package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
  1940. package/esm/tables/DataTable/components/DataTableScrollShadow.sty.js.map +1 -1
  1941. package/esm/tables/DataTable/components/DataTableVirtualizationContainer.css +21 -21
  1942. package/esm/tables/DataTable/components/DataTableVirtualizationContainer.js +14 -1
  1943. package/esm/tables/DataTable/components/DataTableVirtualizationContainer.js.map +2 -2
  1944. package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
  1945. package/esm/tables/DataTable/components/DataTableVirtualizationContainer.sty.js.map +1 -1
  1946. package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.css +6 -0
  1947. package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.js +51 -37
  1948. package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.js.map +2 -2
  1949. package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.sty.js +7 -0
  1950. package/esm/tables/DataTable/components/SettingsModal/DataTableSettingsModal.sty.js.map +7 -0
  1951. package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.css +5 -5
  1952. package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js +2 -2
  1953. package/esm/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js.map +1 -1
  1954. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.css +7 -7
  1955. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
  1956. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js.map +1 -1
  1957. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js +46 -7
  1958. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js.map +2 -2
  1959. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnVisibilitySettings.js +2 -1
  1960. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnVisibilitySettings.js.map +2 -2
  1961. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +19 -7
  1962. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js +8 -3
  1963. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js.map +2 -2
  1964. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +3 -3
  1965. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js.map +2 -2
  1966. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +7 -7
  1967. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +3 -3
  1968. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js.map +1 -1
  1969. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.css +5 -5
  1970. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
  1971. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js.map +1 -1
  1972. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js +72 -3
  1973. package/esm/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js.map +3 -3
  1974. package/esm/tables/DataTable/components/Toolbar/DataTableToolbar.js +1 -0
  1975. package/esm/tables/DataTable/components/Toolbar/DataTableToolbar.js.map +2 -2
  1976. package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
  1977. package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js +2 -2
  1978. package/esm/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js.map +1 -1
  1979. package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.css +8 -8
  1980. package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js +4 -4
  1981. package/esm/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js.map +1 -1
  1982. package/esm/tables/DataTable/features/ColumnOrder/useColumnOrder.js +29 -16
  1983. package/esm/tables/DataTable/features/ColumnOrder/useColumnOrder.js.map +2 -2
  1984. package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
  1985. package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
  1986. package/esm/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js.map +1 -1
  1987. package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
  1988. package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
  1989. package/esm/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js.map +1 -1
  1990. package/esm/tables/DataTable/features/ColumnTypes/column-types-types.js.map +2 -2
  1991. package/esm/tables/DataTable/features/Download/Download.js +1 -1
  1992. package/esm/tables/DataTable/features/Download/Download.js.map +2 -2
  1993. package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.css +1 -1
  1994. package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js +1 -1
  1995. package/esm/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js.map +1 -1
  1996. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.css +3 -3
  1997. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js +2 -2
  1998. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js.map +1 -1
  1999. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.css +1 -1
  2000. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.js +2 -2
  2001. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.js.map +2 -2
  2002. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js +1 -1
  2003. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js.map +1 -1
  2004. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.css +4 -4
  2005. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js +1 -1
  2006. package/esm/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js.map +1 -1
  2007. package/esm/tables/DataTable/features/LoadingState/LoadingState.css +3 -3
  2008. package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js +3 -3
  2009. package/esm/tables/DataTable/features/LoadingState/LoadingState.sty.js.map +1 -1
  2010. package/esm/tables/DataTable/features/MeterBarChart/MeterBarChart.js.map +2 -2
  2011. package/esm/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
  2012. package/esm/tables/DataTable/features/RowDetails/RowDetails.sty.js +3 -3
  2013. package/esm/tables/DataTable/features/RowDetails/RowDetails.sty.js.map +1 -1
  2014. package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.css +14 -14
  2015. package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js +1 -1
  2016. package/esm/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js.map +1 -1
  2017. package/esm/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
  2018. package/esm/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
  2019. package/esm/tables/DataTable/features/RowOrder/RowOrder.sty.js.map +1 -1
  2020. package/esm/tables/DataTable/features/RowOrder/components/RowOrderingDragAndDropContext.js +1 -0
  2021. package/esm/tables/DataTable/features/RowOrder/components/RowOrderingDragAndDropContext.js.map +2 -2
  2022. package/esm/tables/DataTable/features/Sorting/Sorting.css +34 -34
  2023. package/esm/tables/DataTable/features/Sorting/Sorting.sty.js +3 -3
  2024. package/esm/tables/DataTable/features/Sorting/Sorting.sty.js.map +1 -1
  2025. package/esm/tables/DataTable/features/SubRows/SubRows.css +19 -19
  2026. package/esm/tables/DataTable/features/SubRows/SubRows.sty.js +5 -5
  2027. package/esm/tables/DataTable/features/SubRows/SubRows.sty.js.map +1 -1
  2028. package/esm/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
  2029. package/esm/tables/DataTable/features/Thresholds/Thresholds.sty.js +3 -3
  2030. package/esm/tables/DataTable/features/Thresholds/Thresholds.sty.js.map +1 -1
  2031. package/esm/tables/DataTable/features/UserActions/RowActions.css +4 -4
  2032. package/esm/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
  2033. package/esm/tables/DataTable/features/UserActions/RowActions.sty.js.map +1 -1
  2034. package/esm/tables/DataTable/features/UserActions/UserActions.css +18 -18
  2035. package/esm/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
  2036. package/esm/tables/DataTable/features/UserActions/UserActions.sty.js.map +1 -1
  2037. package/esm/tables/DataTable/messages.js +22 -0
  2038. package/esm/tables/DataTable/messages.js.map +2 -2
  2039. package/esm/tables/SimpleTable/SimpleTable.css +27 -27
  2040. package/esm/tables/SimpleTable/SimpleTable.sty.js +1 -1
  2041. package/esm/tables/SimpleTable/SimpleTable.sty.js.map +1 -1
  2042. package/esm/tables/index.js.map +2 -2
  2043. package/esm/typography/block-quote/Blockquote.css +2 -2
  2044. package/esm/typography/block-quote/Blockquote.sty.js +1 -1
  2045. package/esm/typography/block-quote/Blockquote.sty.js.map +1 -1
  2046. package/esm/typography/code/Code.css +1 -1
  2047. package/esm/typography/code/Code.sty.js +1 -1
  2048. package/esm/typography/code/Code.sty.js.map +1 -1
  2049. package/esm/typography/emphasis/Emphasis.css +1 -1
  2050. package/esm/typography/emphasis/Emphasis.sty.js +1 -1
  2051. package/esm/typography/emphasis/Emphasis.sty.js.map +1 -1
  2052. package/esm/typography/external-link/ExternalLink.css +6 -6
  2053. package/esm/typography/external-link/ExternalLink.sty.js +1 -1
  2054. package/esm/typography/external-link/ExternalLink.sty.js.map +1 -1
  2055. package/esm/typography/heading/Heading.css +7 -7
  2056. package/esm/typography/heading/Heading.sty.js +1 -1
  2057. package/esm/typography/heading/Heading.sty.js.map +1 -1
  2058. package/esm/typography/highlight/Highlight.css +2 -2
  2059. package/esm/typography/highlight/Highlight.sty.js +1 -1
  2060. package/esm/typography/highlight/Highlight.sty.js.map +1 -1
  2061. package/esm/typography/link/Link.css +4 -4
  2062. package/esm/typography/link/Link.sty.js +1 -1
  2063. package/esm/typography/link/Link.sty.js.map +1 -1
  2064. package/esm/typography/list/List.css +4 -4
  2065. package/esm/typography/list/List.sty.js +2 -2
  2066. package/esm/typography/list/List.sty.js.map +1 -1
  2067. package/esm/typography/paragraph/Paragraph.css +3 -3
  2068. package/esm/typography/paragraph/Paragraph.sty.js +1 -1
  2069. package/esm/typography/paragraph/Paragraph.sty.js.map +1 -1
  2070. package/esm/typography/strikethrough/Strikethrough.css +1 -1
  2071. package/esm/typography/strikethrough/Strikethrough.sty.js +1 -1
  2072. package/esm/typography/strikethrough/Strikethrough.sty.js.map +1 -1
  2073. package/esm/typography/strong/Strong.css +1 -1
  2074. package/esm/typography/strong/Strong.sty.js +1 -1
  2075. package/esm/typography/strong/Strong.sty.js.map +1 -1
  2076. package/esm/typography/text/Text.css +3 -3
  2077. package/esm/typography/text/Text.sty.js +1 -1
  2078. package/esm/typography/text/Text.sty.js.map +1 -1
  2079. package/esm/typography/text-ellipsis/TextEllipsis.css +6 -6
  2080. package/esm/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
  2081. package/esm/typography/text-ellipsis/TextEllipsis.sty.js.map +1 -1
  2082. package/filters/filter-field/FilterField.css +151 -119
  2083. package/filters/filter-field/FilterField.js +75 -4
  2084. package/filters/filter-field/FilterField.sty.js +28 -28
  2085. package/filters/filter-field/components/FilterFieldSuffixButtons.css +3 -3
  2086. package/filters/filter-field/components/FilterFieldSuffixButtons.sty.js +3 -3
  2087. package/filters/filter-field/components/FilterStatement.css +13 -13
  2088. package/filters/filter-field/components/FilterStatement.sty.js +6 -6
  2089. package/filters/filter-field/hooks/recent-and-pinned/usePinnedFilterSuggestions.js +1 -1
  2090. package/filters/filter-field/hooks/recent-and-pinned/usePinnedFilters.d.ts +10 -4
  2091. package/filters/filter-field/hooks/recent-and-pinned/usePinnedFilters.js +32 -26
  2092. package/filters/filter-field/hooks/recent-and-pinned/useRecentFilters.d.ts +2 -2
  2093. package/filters/filter-field/hooks/recent-and-pinned/useRecentFilters.js +22 -20
  2094. package/filters/filter-field/hooks/useSuggestions.d.ts +0 -1
  2095. package/filters/filter-field/hooks/useSuggestions.js +1 -6
  2096. package/filters/filter-field/state/recent-pinned-store.d.ts +11 -27
  2097. package/filters/filter-field/state/recent-pinned-store.js +11 -51
  2098. package/filters/filter-field/suggestions/RecentPinnedSuggestionItem.css +9 -9
  2099. package/filters/filter-field/suggestions/RecentPinnedSuggestionItem.sty.js +2 -2
  2100. package/filters/filter-field/suggestions/Suggestion.css +24 -24
  2101. package/filters/filter-field/suggestions/Suggestion.sty.js +16 -16
  2102. package/filters/filter-field/suggestions/SuggestionDetails.css +2 -2
  2103. package/filters/filter-field/suggestions/SuggestionDetails.sty.js +2 -2
  2104. package/filters/filter-field/suggestions/SuggestionGroup.css +6 -6
  2105. package/filters/filter-field/suggestions/SuggestionGroup.sty.js +3 -3
  2106. package/filters/filter-field/suggestions/SuggestionGroupLabel.css +1 -1
  2107. package/filters/filter-field/suggestions/SuggestionGroupLabel.sty.js +1 -1
  2108. package/filters/filter-field/suggestions/SuggestionPin.d.ts +3 -2
  2109. package/filters/filter-field/suggestions/SuggestionPin.js +5 -9
  2110. package/filters/filter-field/suggestions/SuggestionTips.css +7 -7
  2111. package/filters/filter-field/suggestions/SuggestionTips.sty.js +5 -5
  2112. package/filters/filter-field/suggestions/SuggestionsOverlay.css +7 -7
  2113. package/filters/filter-field/suggestions/SuggestionsOverlay.sty.js +5 -5
  2114. package/filters/segment-selector/SegmentSelector.css +4 -4
  2115. package/filters/segment-selector/SegmentSelector.js +91 -7
  2116. package/filters/segment-selector/SegmentSelector.sty.js +4 -4
  2117. package/filters/segment-selector/SegmentSelector.types.d.ts +10 -1
  2118. package/filters/segment-selector/contexts/SegmentsUI/segmentValidationHelper.d.ts +2 -2
  2119. package/filters/segment-selector/contexts/SegmentsUI/segmentValidationHelper.js +4 -3
  2120. package/filters/segment-selector/parts/EmptySegments.css +1 -1
  2121. package/filters/segment-selector/parts/EmptySegments.sty.js +1 -1
  2122. package/filters/segment-selector/parts/Overlay.css +8 -8
  2123. package/filters/segment-selector/parts/Overlay.js +2 -1
  2124. package/filters/segment-selector/parts/Overlay.sty.js +8 -8
  2125. package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.css +4 -4
  2126. package/filters/segment-selector/parts/ShowMorePanel/ShowMorePanel.sty.js +4 -4
  2127. package/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.css +32 -32
  2128. package/filters/segment-selector/parts/segmentsPresets/SegmentsPresets.sty.js +10 -10
  2129. package/filters/segment-selector/parts/selectionBar/SegmentSelect.css +22 -22
  2130. package/filters/segment-selector/parts/selectionBar/SegmentSelect.sty.js +7 -7
  2131. package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.css +1 -1
  2132. package/filters/segment-selector/parts/selectionBar/SegmentSelectorTrigger.sty.js +1 -1
  2133. package/filters/segment-selector/parts/selectionBar/SelectionBar.js +11 -10
  2134. package/filters/segment-selector/parts/selectionBar/ValueSelect.js +66 -27
  2135. package/filters/timeframe-selector/TimeframeSelector.css +2 -2
  2136. package/filters/timeframe-selector/TimeframeSelector.js +4 -0
  2137. package/filters/timeframe-selector/TimeframeSelector.sty.js +2 -2
  2138. package/filters/timeframe-selector/TimeframeSelectorRoot.js +177 -4
  2139. package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.css +4 -4
  2140. package/filters/timeframe-selector/components/custom-timeframe-selector/CustomTimeframeSelector.sty.js +3 -3
  2141. package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.css +4 -4
  2142. package/filters/timeframe-selector/components/overlay/TimeframeSelectorOverlay.sty.js +4 -4
  2143. package/filters/timeframe-selector/components/presets/Presets.css +27 -27
  2144. package/filters/timeframe-selector/components/presets/Presets.sty.js +11 -11
  2145. package/filters/timeframe-selector/components/trigger/Trigger.css +11 -11
  2146. package/filters/timeframe-selector/components/trigger/Trigger.js +2 -2
  2147. package/filters/timeframe-selector/components/trigger/Trigger.sty.js +4 -4
  2148. package/forms/_base-input/BaseInput.css +99 -99
  2149. package/forms/_base-input/BaseInput.js +28 -4
  2150. package/forms/_base-input/BaseInput.sty.js +11 -11
  2151. package/forms/_base-input/BaseInputContent.css +7 -7
  2152. package/forms/_base-input/BaseInputContent.sty.js +1 -1
  2153. package/forms/_base-input/base-input.types.d.ts +6 -0
  2154. package/forms/calendar/Calendar.css +48 -48
  2155. package/forms/calendar/Calendar.sty.js +12 -12
  2156. package/forms/calendar/CalendarRoot.d.ts +2 -2
  2157. package/forms/calendar/CalendarRoot.js +65 -14
  2158. package/forms/calendar/components/CalendarItem.css +7 -7
  2159. package/forms/calendar/components/CalendarItem.sty.js +4 -4
  2160. package/forms/calendar/components/CalendarOutlineIcon.css +8 -8
  2161. package/forms/calendar/components/CalendarOutlineIcon.sty.js +5 -5
  2162. package/forms/calendar/variables.sty.js +2 -2
  2163. package/forms/checkbox/Checkbox.css +20 -20
  2164. package/forms/checkbox/Checkbox.js +31 -7
  2165. package/forms/checkbox/Checkbox.sty.js +3 -3
  2166. package/forms/date-time-picker/DateSelector.js +2 -2
  2167. package/forms/date-time-picker/DateTimePicker.css +75 -75
  2168. package/forms/date-time-picker/DateTimePicker.js +9 -4
  2169. package/forms/date-time-picker/DateTimePicker.sty.js +6 -6
  2170. package/forms/date-time-picker/DateTimePickerRoot.js +67 -3
  2171. package/forms/date-time-range-picker/DateRangeSelector.css +1 -1
  2172. package/forms/date-time-range-picker/DateRangeSelector.js +2 -2
  2173. package/forms/date-time-range-picker/DateRangeSelector.sty.js +1 -1
  2174. package/forms/date-time-range-picker/DateTimeInput.css +11 -11
  2175. package/forms/date-time-range-picker/DateTimeInput.js +25 -3
  2176. package/forms/date-time-range-picker/DateTimeInput.sty.js +3 -3
  2177. package/forms/date-time-range-picker/DateTimeRangePicker.css +27 -27
  2178. package/forms/date-time-range-picker/DateTimeRangePicker.sty.js +4 -4
  2179. package/forms/date-time-range-picker/DateTimeRangePickerRoot.js +105 -2
  2180. package/forms/forms-core/components/field-set/FieldSet.css +2 -2
  2181. package/forms/forms-core/components/field-set/FieldSet.sty.js +2 -2
  2182. package/forms/forms-core/components/form-field/FormField.sty.js +1 -1
  2183. package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.css +5 -5
  2184. package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.js +9 -5
  2185. package/forms/forms-core/components/form-field-messages/FormFieldMessageItem.sty.js +2 -2
  2186. package/forms/forms-core/components/form-field-messages/FormFieldMessages.sty.js +1 -1
  2187. package/forms/forms-core/components/label/Label.css +5 -5
  2188. package/forms/forms-core/components/label/Label.sty.js +2 -2
  2189. package/forms/forms-core/hooks/useFormFieldValidation.d.ts +24 -6
  2190. package/forms/forms-core/hooks/useFormFieldValidation.js +122 -47
  2191. package/forms/forms-core/state/formfield-messages-state-reducer.d.ts +1 -0
  2192. package/forms/forms-core/state/formfield-messages-state-reducer.js +10 -0
  2193. package/forms/forms-core/types/formfield-messages.types.d.ts +2 -0
  2194. package/forms/hooks/useAutofillEvent.css +8 -8
  2195. package/forms/hooks/useAutofillEvent.sty.js +4 -4
  2196. package/forms/index.d.ts +2 -0
  2197. package/forms/index.js +5 -0
  2198. package/forms/number-input-v2/NumberInput.js +159 -18
  2199. package/forms/number-input-v2/utils/validation.d.ts +2 -1
  2200. package/forms/radio/Radio.js +19 -3
  2201. package/forms/radio/RadioGroup.js +42 -5
  2202. package/forms/radio/RadioGroupContext.d.ts +6 -0
  2203. package/forms/radio/styles.css +18 -18
  2204. package/forms/radio/styles.sty.js +8 -8
  2205. package/forms/search-input/SearchInput.css +2 -2
  2206. package/forms/search-input/SearchInput.sty.js +1 -1
  2207. package/forms/search-input/Stepper.css +5 -5
  2208. package/forms/search-input/Stepper.sty.js +3 -3
  2209. package/forms/select/Select.js +69 -17
  2210. package/forms/select/components/Control.d.ts +1 -1
  2211. package/forms/select/components/Control.js +2 -2
  2212. package/forms/select/components/HiddenSelect.js +8 -6
  2213. package/forms/select/components/MenuList.d.ts +2 -0
  2214. package/forms/select/components/MenuList.js +6 -1
  2215. package/forms/select/components/Option.js +12 -3
  2216. package/forms/select/styles/Select.css +46 -46
  2217. package/forms/select/styles/Select.sty.js +24 -24
  2218. package/forms/shared-types.d.ts +8 -0
  2219. package/forms/spin-buttons/SpinButton.css +8 -8
  2220. package/forms/spin-buttons/SpinButton.sty.js +2 -2
  2221. package/forms/switch/Switch.css +36 -36
  2222. package/forms/switch/Switch.js +35 -5
  2223. package/forms/switch/Switch.sty.js +5 -5
  2224. package/forms/text-area/TextArea.css +59 -59
  2225. package/forms/text-area/TextArea.js +29 -1
  2226. package/forms/text-area/TextArea.sty.js +3 -3
  2227. package/forms/text-input/TextInput.d.ts +1 -1
  2228. package/forms/toggle-button-group/Item.js +17 -3
  2229. package/forms/toggle-button-group/ToggleButtonGroup.js +43 -7
  2230. package/forms/toggle-button-group/contexts/ToggleButtonGroupContext.d.ts +3 -0
  2231. package/forms/toggle-button-group/styles.css +58 -58
  2232. package/forms/toggle-button-group/styles.sty.js +15 -15
  2233. package/forms/validation/types.d.ts +122 -0
  2234. package/forms/validation/types.js +81 -0
  2235. package/forms/validation/useCustomMessageEmitter.d.ts +9 -0
  2236. package/forms/validation/useCustomMessageEmitter.js +98 -0
  2237. package/forms/validation/useValidationStateEmitter.d.ts +7 -0
  2238. package/forms/validation/useValidationStateEmitter.js +49 -0
  2239. package/forms/validation/validation-builders.d.ts +17 -0
  2240. package/forms/validation/validation-builders.js +69 -0
  2241. package/lang/en.json +168 -12
  2242. package/lang/uncompiled/en.json +1113 -1064
  2243. package/layouts/app-header/AppHeader.css +1 -1
  2244. package/layouts/app-header/AppHeader.sty.js +1 -1
  2245. package/layouts/app-header/Logo.d.ts +4 -4
  2246. package/layouts/app-header/Navigation.css +9 -9
  2247. package/layouts/app-header/Navigation.sty.js +5 -5
  2248. package/layouts/app-header/action-group/ActionButton.css +17 -17
  2249. package/layouts/app-header/action-group/ActionButton.sty.js +3 -3
  2250. package/layouts/app-header/action-group/ActionGroup.css +1 -1
  2251. package/layouts/app-header/action-group/ActionGroup.sty.js +1 -1
  2252. package/layouts/app-header/action-group/NavItem.css +4 -4
  2253. package/layouts/app-header/action-group/NavItem.sty.js +3 -3
  2254. package/layouts/app-header/app-icon/AppIcon.css +4 -4
  2255. package/layouts/app-header/app-icon/AppIcon.sty.js +1 -1
  2256. package/layouts/container/Container.css +5 -5
  2257. package/layouts/container/Container.sty.js +1 -1
  2258. package/layouts/divider/Divider.css +6 -6
  2259. package/layouts/divider/Divider.sty.js +1 -1
  2260. package/layouts/input-group/InputGroup.css +23 -23
  2261. package/layouts/input-group/InputGroup.sty.js +1 -1
  2262. package/layouts/page/DetailView.css +3 -3
  2263. package/layouts/page/DetailView.d.ts +17 -4
  2264. package/layouts/page/DetailView.sty.js +2 -2
  2265. package/layouts/page/Header.css +2 -2
  2266. package/layouts/page/Header.d.ts +5 -1
  2267. package/layouts/page/Header.sty.js +1 -1
  2268. package/layouts/page/Main.css +6 -6
  2269. package/layouts/page/Main.d.ts +5 -1
  2270. package/layouts/page/Main.sty.js +4 -4
  2271. package/layouts/page/Page.css +2 -2
  2272. package/layouts/page/Page.d.ts +5 -1
  2273. package/layouts/page/Page.sty.js +1 -1
  2274. package/layouts/page/PanelControlButton.d.ts +5 -1
  2275. package/layouts/page/Sidebar.css +71 -22
  2276. package/layouts/page/Sidebar.d.ts +17 -4
  2277. package/layouts/page/Sidebar.js +2 -0
  2278. package/layouts/page/Sidebar.sty.js +8 -8
  2279. package/layouts/page/page-types.d.ts +14 -3
  2280. package/layouts/page/panel-types.d.ts +3 -0
  2281. package/layouts/page/panel.css +19 -19
  2282. package/layouts/page/panel.sty.js +10 -10
  2283. package/layouts/page-layout/PageLayout.css +10 -10
  2284. package/layouts/page-layout/PageLayout.d.ts +1 -1
  2285. package/layouts/page-layout/PageLayout.sty.js +6 -6
  2286. package/layouts/page-layout/details-layout/DetailsControlBar.css +3 -3
  2287. package/layouts/page-layout/details-layout/DetailsControlBar.sty.js +3 -3
  2288. package/layouts/page-layout/details-layout/DetailsLayout.css +6 -6
  2289. package/layouts/page-layout/details-layout/DetailsLayout.js +7 -15
  2290. package/layouts/page-layout/details-layout/DetailsLayout.sty.js +5 -5
  2291. package/layouts/page-layout/details-layout/Overlay.css +18 -18
  2292. package/layouts/page-layout/details-layout/Overlay.sty.js +4 -4
  2293. package/layouts/page-layout/details-layout/slots.d.ts +1 -1
  2294. package/layouts/page-layout/shared/portal-slots.d.ts +1 -1
  2295. package/layouts/page-layout/shared/slot-config.d.ts +1 -1
  2296. package/layouts/page-layout/sidebar-layout/SidebarLayout.css +38 -38
  2297. package/layouts/page-layout/sidebar-layout/SidebarLayout.sty.js +15 -15
  2298. package/layouts/split-layout/SplitLayout.css +18 -18
  2299. package/layouts/split-layout/SplitLayout.sty.js +7 -7
  2300. package/layouts/surface/Surface.css +39 -39
  2301. package/layouts/surface/Surface.sty.js +2 -2
  2302. package/layouts/surface/variables.sty.js +1 -1
  2303. package/layouts/title-bar/TitleBar.css +5 -5
  2304. package/layouts/title-bar/TitleBar.sty.js +4 -4
  2305. package/migrations/3.2.0/codemods/rename-app-header-deprecated-members.js +1 -1
  2306. package/migrations/3.2.0/codeshift-migration.js +1 -1
  2307. package/migrations/3.2.0/dt-app-migration.js +100 -100
  2308. package/navigation/breadcrumbs/Breadcrumbs.css +9 -9
  2309. package/navigation/breadcrumbs/Breadcrumbs.sty.js +5 -5
  2310. package/navigation/menu/Content.js +2 -1
  2311. package/navigation/menu/Item.js +7 -0
  2312. package/navigation/menu/Menu.css +38 -15
  2313. package/navigation/menu/Menu.sty.d.ts +1 -0
  2314. package/navigation/menu/Menu.sty.js +10 -8
  2315. package/navigation/menu/Sub.js +16 -0
  2316. package/navigation/menu/SubContent.js +8 -1
  2317. package/navigation/menu/SubTrigger.js +17 -5
  2318. package/navigation/menu/contexts/MenuSubLevelContext.d.ts +11 -0
  2319. package/navigation/menu/contexts/MenuSubLevelContext.js +51 -0
  2320. package/navigation/tabs/RenderTab.css +14 -14
  2321. package/navigation/tabs/RenderTab.sty.js +3 -3
  2322. package/navigation/tabs/TabPanel.css +3 -3
  2323. package/navigation/tabs/TabPanel.sty.js +2 -2
  2324. package/navigation/tabs/Tabs.css +9 -9
  2325. package/navigation/tabs/Tabs.sty.js +5 -5
  2326. package/notifications/notification-settings/NotificationSettings.css +1 -1
  2327. package/notifications/notification-settings/NotificationSettings.sty.js +1 -1
  2328. package/notifications/notification-settings/components/CopyPermissionsButton.js +3 -7
  2329. package/notifications/notification-settings/components/ToggleButton.js +3 -1
  2330. package/notifications/toast/Toast.css +6 -6
  2331. package/notifications/toast/Toast.sty.js +4 -4
  2332. package/notifications/toast/ToastContainer.css +17 -17
  2333. package/notifications/toast/ToastContainer.sty.js +1 -1
  2334. package/overlays/drawer/Drawer.css +9 -9
  2335. package/overlays/drawer/Drawer.sty.js +5 -5
  2336. package/overlays/modal/Modal.css +7 -7
  2337. package/overlays/modal/Modal.sty.js +4 -4
  2338. package/overlays/overlay/Overlay.css +1 -1
  2339. package/overlays/overlay/Overlay.sty.js +1 -1
  2340. package/overlays/sheet/Sheet.css +6 -6
  2341. package/overlays/sheet/Sheet.sty.js +5 -5
  2342. package/overlays/tooltip/tooltip.css +18 -18
  2343. package/overlays/tooltip/tooltip.sty.js +3 -3
  2344. package/overlays/utils/popper-modifiers.js +7 -3
  2345. package/package.json +9 -10
  2346. package/styles/colorUtils.css +60 -60
  2347. package/styles/colorUtils.sty.js +2 -2
  2348. package/styles/container.css +47 -47
  2349. package/styles/container.sty.js +2 -2
  2350. package/styles/ellipsis.css +1 -1
  2351. package/styles/ellipsis.sty.js +1 -1
  2352. package/styles/field.css +290 -290
  2353. package/styles/field.sty.js +2 -2
  2354. package/styles/screen-reader-only.css +1 -1
  2355. package/styles/screen-reader-only.sty.js +1 -1
  2356. package/styles/sprinkles.css +262 -262
  2357. package/styles/sprinkles.sty.js +1 -1
  2358. package/styles/textStyle.css +8 -8
  2359. package/styles/textStyle.sty.js +1 -1
  2360. package/tables/DataTable/DataTable.css +2 -2
  2361. package/tables/DataTable/DataTable.d.ts +1 -1
  2362. package/tables/DataTable/DataTable.js +18 -4
  2363. package/tables/DataTable/DataTable.sty.js +7 -7
  2364. package/tables/DataTable/components/Alignment.css +6 -6
  2365. package/tables/DataTable/components/Alignment.sty.js +2 -2
  2366. package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.css +6 -6
  2367. package/tables/DataTable/components/ColumnPinning/DataTablePinningShadowCells.sty.js +3 -3
  2368. package/tables/DataTable/components/DataTableBody.css +2 -2
  2369. package/tables/DataTable/components/DataTableBody.sty.js +2 -2
  2370. package/tables/DataTable/components/DataTableCell.css +103 -117
  2371. package/tables/DataTable/components/DataTableCell.sty.js +5 -5
  2372. package/tables/DataTable/components/DataTableDefaultCell.css +23 -23
  2373. package/tables/DataTable/components/DataTableDefaultCell.sty.js +1 -1
  2374. package/tables/DataTable/components/DataTableEmptyState.css +6 -6
  2375. package/tables/DataTable/components/DataTableEmptyState.sty.js +2 -2
  2376. package/tables/DataTable/components/DataTableHeader.css +2 -2
  2377. package/tables/DataTable/components/DataTableHeader.sty.js +2 -2
  2378. package/tables/DataTable/components/DataTableHeaderCell.css +64 -64
  2379. package/tables/DataTable/components/DataTableHeaderCell.sty.js +23 -23
  2380. package/tables/DataTable/components/DataTableRow.css +13 -13
  2381. package/tables/DataTable/components/DataTableRow.sty.js +1 -1
  2382. package/tables/DataTable/components/DataTableScrollShadow.css +10 -10
  2383. package/tables/DataTable/components/DataTableScrollShadow.sty.js +2 -2
  2384. package/tables/DataTable/components/DataTableVirtualizationContainer.css +21 -21
  2385. package/tables/DataTable/components/DataTableVirtualizationContainer.js +12 -0
  2386. package/tables/DataTable/components/DataTableVirtualizationContainer.sty.js +1 -1
  2387. package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.css +6 -0
  2388. package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.d.ts +3 -1
  2389. package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.js +61 -37
  2390. package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.sty.d.ts +1 -0
  2391. package/tables/DataTable/components/SettingsModal/DataTableSettingsModal.sty.js +25 -0
  2392. package/tables/DataTable/components/TableActions/DataTableSelectionChip.css +5 -5
  2393. package/tables/DataTable/components/TableActions/DataTableSelectionChip.sty.js +2 -2
  2394. package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.css +7 -7
  2395. package/tables/DataTable/components/Toolbar/ColumnSettings/ColumnOrderSettings/ColumnOrderSettingsDragAndDrop.sty.js +3 -3
  2396. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.d.ts +5 -1
  2397. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnSettingsModal.js +42 -5
  2398. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnVisibilitySettings.d.ts +1 -1
  2399. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnVisibilitySettings.js +2 -1
  2400. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.css +19 -7
  2401. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.d.ts +4 -0
  2402. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.js +8 -3
  2403. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.d.ts +6 -6
  2404. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsList.sty.js +3 -3
  2405. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.css +7 -7
  2406. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableColumnsListItem.sty.js +3 -3
  2407. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.css +5 -5
  2408. package/tables/DataTable/components/Toolbar/ColumnSettings/DataTableVisibilityFilterControls.sty.js +3 -3
  2409. package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-types.d.ts +5 -1
  2410. package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.d.ts +31 -2
  2411. package/tables/DataTable/components/Toolbar/ColumnSettings/column-settings-utils.js +72 -3
  2412. package/tables/DataTable/components/Toolbar/DataTableToolbar.d.ts +5 -1
  2413. package/tables/DataTable/components/Toolbar/DataTableToolbar.js +1 -0
  2414. package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.css +3 -3
  2415. package/tables/DataTable/components/Toolbar/Download/DataTableDownloadData.sty.js +2 -2
  2416. package/tables/DataTable/features/ColumnOrder/ColumnOrder.css +8 -8
  2417. package/tables/DataTable/features/ColumnOrder/ColumnOrder.sty.js +4 -4
  2418. package/tables/DataTable/features/ColumnOrder/useColumnOrder.js +28 -15
  2419. package/tables/DataTable/features/ColumnSizing/ColumnSizing.css +3 -3
  2420. package/tables/DataTable/features/ColumnSizing/ColumnSizing.sty.js +1 -1
  2421. package/tables/DataTable/features/ColumnTypes/ColumnTypes.css +1 -1
  2422. package/tables/DataTable/features/ColumnTypes/ColumnTypes.sty.js +1 -1
  2423. package/tables/DataTable/features/ColumnTypes/column-types-types.d.ts +2 -1
  2424. package/tables/DataTable/features/ColumnVisibility/column-visibility-types.d.ts +17 -0
  2425. package/tables/DataTable/features/Download/Download.js +1 -1
  2426. package/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.css +1 -1
  2427. package/tables/DataTable/features/GanttChart/DataTableGanttAnnotationsIndicators.sty.js +1 -1
  2428. package/tables/DataTable/features/GanttChart/DataTableGanttChartCell.css +3 -3
  2429. package/tables/DataTable/features/GanttChart/DataTableGanttChartCell.sty.js +2 -2
  2430. package/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.css +1 -1
  2431. package/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.js +3 -3
  2432. package/tables/DataTable/features/GanttChart/DataTableGanttChartGrid.sty.js +1 -1
  2433. package/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.css +4 -4
  2434. package/tables/DataTable/features/GanttChart/DataTableGanttChartHeader.sty.js +1 -1
  2435. package/tables/DataTable/features/LoadingState/LoadingState.css +3 -3
  2436. package/tables/DataTable/features/LoadingState/LoadingState.sty.js +3 -3
  2437. package/tables/DataTable/features/RowDetails/RowDetails.css +13 -13
  2438. package/tables/DataTable/features/RowDetails/RowDetails.sty.js +3 -3
  2439. package/tables/DataTable/features/RowInteractivity/RowInteractivity.css +14 -14
  2440. package/tables/DataTable/features/RowInteractivity/RowInteractivity.sty.js +1 -1
  2441. package/tables/DataTable/features/RowOrder/RowOrder.css +8 -8
  2442. package/tables/DataTable/features/RowOrder/RowOrder.sty.js +3 -3
  2443. package/tables/DataTable/features/RowOrder/components/RowOrderingDragAndDropContext.js +1 -0
  2444. package/tables/DataTable/features/Sorting/Sorting.css +34 -34
  2445. package/tables/DataTable/features/Sorting/Sorting.sty.js +3 -3
  2446. package/tables/DataTable/features/SubRows/SubRows.css +19 -19
  2447. package/tables/DataTable/features/SubRows/SubRows.sty.js +5 -5
  2448. package/tables/DataTable/features/Thresholds/Thresholds.css +2 -2
  2449. package/tables/DataTable/features/Thresholds/Thresholds.sty.js +3 -3
  2450. package/tables/DataTable/features/UserActions/RowActions.css +4 -4
  2451. package/tables/DataTable/features/UserActions/RowActions.sty.js +1 -1
  2452. package/tables/DataTable/features/UserActions/UserActions.css +18 -18
  2453. package/tables/DataTable/features/UserActions/UserActions.sty.js +2 -2
  2454. package/tables/DataTable/messages.d.ts +20 -0
  2455. package/tables/DataTable/messages.js +22 -0
  2456. package/tables/DataTable/public.api.d.ts +5 -3
  2457. package/tables/SimpleTable/SimpleTable.css +27 -27
  2458. package/tables/SimpleTable/SimpleTable.sty.js +1 -1
  2459. package/tables/index.d.ts +1 -1
  2460. package/typography/block-quote/Blockquote.css +2 -2
  2461. package/typography/block-quote/Blockquote.sty.js +1 -1
  2462. package/typography/code/Code.css +1 -1
  2463. package/typography/code/Code.sty.js +1 -1
  2464. package/typography/emphasis/Emphasis.css +1 -1
  2465. package/typography/emphasis/Emphasis.sty.js +1 -1
  2466. package/typography/external-link/ExternalLink.css +6 -6
  2467. package/typography/external-link/ExternalLink.sty.js +1 -1
  2468. package/typography/heading/Heading.css +7 -7
  2469. package/typography/heading/Heading.sty.js +1 -1
  2470. package/typography/highlight/Highlight.css +2 -2
  2471. package/typography/highlight/Highlight.sty.js +1 -1
  2472. package/typography/link/Link.css +4 -4
  2473. package/typography/link/Link.sty.js +1 -1
  2474. package/typography/list/List.css +4 -4
  2475. package/typography/list/List.sty.js +2 -2
  2476. package/typography/paragraph/Paragraph.css +3 -3
  2477. package/typography/paragraph/Paragraph.sty.js +1 -1
  2478. package/typography/strikethrough/Strikethrough.css +1 -1
  2479. package/typography/strikethrough/Strikethrough.sty.js +1 -1
  2480. package/typography/strong/Strong.css +1 -1
  2481. package/typography/strong/Strong.sty.js +1 -1
  2482. package/typography/text/Text.css +3 -3
  2483. package/typography/text/Text.sty.js +1 -1
  2484. package/typography/text-ellipsis/TextEllipsis.css +6 -6
  2485. package/typography/text-ellipsis/TextEllipsis.sty.js +2 -2
  2486. package/charts/core/components/toolbar/utils/estimate-toolbar-width.d.ts +0 -8
  2487. package/charts/honeycomb/components/canvas/utils/define-text-to-render.d.ts +0 -3
  2488. package/charts/honeycomb/components/canvas/utils/define-text-to-render.js +0 -34
  2489. package/charts/tree-map/hooks/useSetOverlayState.d.ts +0 -3
  2490. package/charts/tree-map/utils/text-measure.d.ts +0 -15
  2491. package/content/ai-response/tests/AiResponse-animation.spec.d.ts +0 -1
  2492. package/content/ai-response/tests/AiResponse-animation.spec.js +0 -281
  2493. package/content/ai-response/tests/AiResponse-reduced-motion.spec.d.ts +0 -1
  2494. package/content/ai-response/tests/AiResponse-reduced-motion.spec.js +0 -253
  2495. package/content/ai-response/tests/vite-helpers.d.ts +0 -8
  2496. package/content/ai-response/tests/vite-helpers.js +0 -66
  2497. package/esm/charts/core/components/toolbar/utils/estimate-toolbar-width.js +0 -16
  2498. package/esm/charts/core/components/toolbar/utils/estimate-toolbar-width.js.map +0 -7
  2499. package/esm/charts/honeycomb/components/canvas/utils/define-text-to-render.js +0 -19
  2500. package/esm/charts/honeycomb/components/canvas/utils/define-text-to-render.js.map +0 -7
  2501. package/esm/charts/tree-map/hooks/useSetOverlayState.js +0 -21
  2502. package/esm/charts/tree-map/hooks/useSetOverlayState.js.map +0 -7
  2503. package/esm/charts/tree-map/utils/text-measure.js +0 -41
  2504. package/esm/charts/tree-map/utils/text-measure.js.map +0 -7
  2505. package/esm/content/ai-response/tests/AiResponse-animation.spec.js +0 -295
  2506. package/esm/content/ai-response/tests/AiResponse-animation.spec.js.map +0 -7
  2507. package/esm/content/ai-response/tests/AiResponse-reduced-motion.spec.js +0 -258
  2508. package/esm/content/ai-response/tests/AiResponse-reduced-motion.spec.js.map +0 -7
  2509. package/esm/content/ai-response/tests/vite-helpers.js +0 -50
  2510. package/esm/content/ai-response/tests/vite-helpers.js.map +0 -7
  2511. package/esm/filters/filter-field/contexts/SavedAndRecentQueryClientContext.js +0 -19
  2512. package/esm/filters/filter-field/contexts/SavedAndRecentQueryClientContext.js.map +0 -7
  2513. package/esm/filters/filter-field/error-fallback/ErrorFallback.js.map +0 -7
  2514. package/esm/filters/filter-field/error-fallback/messages.js.map +0 -7
  2515. package/esm/filters/filter-field/hooks/recent-and-pinned/usePersistedFilter.js +0 -163
  2516. package/esm/filters/filter-field/hooks/recent-and-pinned/usePersistedFilter.js.map +0 -7
  2517. package/esm/filters/filter-field/hooks/recent-and-pinned/useRecentFiltersStore.js +0 -25
  2518. package/esm/filters/filter-field/hooks/recent-and-pinned/useRecentFiltersStore.js.map +0 -7
  2519. package/filters/filter-field/contexts/SavedAndRecentQueryClientContext.d.ts +0 -6
  2520. package/filters/filter-field/error-fallback/ErrorFallback.d.ts +0 -7
  2521. package/filters/filter-field/hooks/recent-and-pinned/usePersistedFilter.d.ts +0 -12
  2522. package/filters/filter-field/hooks/recent-and-pinned/usePersistedFilter.js +0 -176
  2523. package/filters/filter-field/hooks/recent-and-pinned/useRecentFiltersStore.d.ts +0 -6
  2524. package/filters/filter-field/hooks/recent-and-pinned/useRecentFiltersStore.js +0 -39
  2525. /package/charts/xy-chart-adoption/{types → shared/types}/props.d.ts +0 -0
  2526. /package/charts/xy-chart-adoption/{types → shared/types}/props.js +0 -0
  2527. /package/{filters/filter-field → core/components}/error-fallback/ErrorFallback.js +0 -0
  2528. /package/{charts/core → core}/utils/get-tick-value-as-number.d.ts +0 -0
  2529. /package/{charts/core → core}/utils/get-tick-value-as-number.js +0 -0
  2530. /package/esm/charts/{xy-chart-adoption/types/props.js.map → core/types/chart-data.js.map} +0 -0
  2531. /package/esm/charts/xy-chart-adoption/{types → shared/types}/props.js +0 -0
  2532. /package/esm/{filters/filter-field → core/components}/error-fallback/ErrorFallback.js +0 -0
  2533. /package/esm/{charts/core → core}/utils/get-tick-value-as-number.js +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 MutableRefObject,\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 { useSelectOptions, _isOption } 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 { useFormControlState } from '../../core/hooks/useFormControlState.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 { withFormFieldMessageContextProviderWithGenerics } from '../forms-core/components/form-field/FormFieldMessageContextProvider.js';\nimport { useFormFieldMessagesContext } from '../forms-core/hooks/useFormFieldMessagesContext.js';\nimport { useFormFieldValidation } from '../forms-core/hooks/useFormFieldValidation.js';\nimport { useSyncedFormControlProps } from '../forms-core/hooks/useSyncedFormControlProps.js';\nimport { FormFieldMessagesAction } from '../forms-core/state/formfield-messages-state-reducer.js';\nimport type {\n FormControlRef,\n FormControlWithOverlayRef,\n} from '../shared-types.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 controlState?: FormControlState;\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 /** 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?: MutableRefObject<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 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 * 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 /** Callback that is called when the select trigger loses focus. */\n onBlur?: (e: FocusEvent<HTMLInputElement, Element>) => void;\n\n /** Callback that is called when the select trigger gets focus. */\n onFocus?: (e: FocusEvent<HTMLInputElement, Element>) => void;\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 > &\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\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 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 required: propsRequired,\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 hiddenSelectRef = useRef<HTMLSelectElement>(null);\n\n const [triggerRef, setTriggerRef] = useState<HTMLDivElement | null>(null);\n\n const { disabled, required, id, ariaDisabled, readOnly } =\n useSyncedFormControlProps({\n propDisabled: propsDisabled,\n propRequired: propsRequired,\n propId,\n propAriaDisabled: ariaDisabledProp,\n propReadOnly,\n });\n\n const { onBlur: validationOnBlur } = useFormFieldValidation(hiddenSelectRef, {\n required,\n });\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 newState === false && !controlState && validationOnBlur();\n onOpenChange?.(newState);\n });\n }\n\n return newState;\n },\n [readOnly, controlState, validationOnBlur, onOpenChange],\n );\n\n const [menuOpen, dispatch] = useReducer(menuOpenReducer, false);\n\n const [isFocusWithin, setIsFocusWithin] = useState<boolean>(false);\n\n const [filterValue, setFilterValue] = useControllableState({\n value: filterValueProp,\n defaultValue: filterDefaultValueProp,\n onChange: filterOnChangeProp,\n });\n\n const { state: messagesContextState, dispatch: messagesContextDispatch } =\n useFormFieldMessagesContext();\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 = useMemo(\n () => triggerRef?.querySelector('input'),\n [triggerRef],\n );\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 const handleArrowKeyOptionFocus = (key: KeyboardEvent['key']) => {\n if (key !== 'ArrowUp' && key !== 'ArrowDown') {\n return;\n }\n\n requestAnimationFrame(() => {\n if (!contentRef.current) {\n return;\n }\n\n const container = contentRef.current;\n const focusedElement = container.querySelector(\n '.strato-select-option--focus',\n );\n\n if (focusedElement) {\n focusedElement.scrollIntoView({\n block: 'nearest',\n });\n } else if (container) {\n if (key === 'ArrowDown') {\n container.scrollTop = 0;\n } else if (menuListFunctionRef.current) {\n menuListFunctionRef.current.scrollToBottom();\n }\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?.reportValidity());\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n },\n }),\n [hiddenTrigger, messagesContextDispatch, triggerRef],\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 [hasFormControlError] = useFormControlState(controlState);\n const showError = controlState\n ? hasFormControlError\n : messagesContextState.showError;\n\n const contextMemo = useMemo(\n () => ({ state: menuOpen, dispatch }),\n [menuOpen, dispatch],\n );\n\n const onBlurHandler = (event: FocusEvent<HTMLInputElement, Element>) => {\n if (\n // The relatedTarget is null when the focus leaves the browser and we want to still trigger the onBlur in this case.\n !event.relatedTarget ||\n (event.relatedTarget !== hiddenTrigger &&\n event.relatedTarget !== clearSelectionRef.current &&\n event.relatedTarget !== filterRef.current?.inputRef)\n ) {\n if (!menuOpen && isFocusWithin) {\n setIsFocusWithin(false);\n onBlur?.(event);\n }\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={onBlurHandler}\n hiddenSelectName={name}\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 loading={contentLoadingProp}\n clearable={clearable}\n allOptions={allOptions}\n tabSelectsValue={false}\n focusOnOption={focusOnOption}\n contentRef={contentRef}\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={(event) => {\n if (!isFocusWithin) {\n onFocus?.(event);\n setIsFocusWithin(true);\n }\n }}\n onKeyDown={(event) => {\n if (!menuOpen) {\n if (event.key === 'Enter' || event.key === ' ') {\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 // focus back on the trigger on tab if there is no clear selection element or shift tab is pressed\n if (event.key === 'Tab') {\n if (!clearSelectionRef.current || event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n hiddenTrigger?.focus();\n } else {\n clearSelectionRef.current && setFocusOnOption(false); // prevent setting the focus on the option if there is a clear selection button when tabbing - the clear button should be the only element focused then\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 // 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 input\n if (\n event.key === 'Tab' &&\n event.shiftKey &&\n filterRef.current\n ) {\n setFocusOnOption(true);\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 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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n type FocusEvent,\n forwardRef,\n type MutableRefObject,\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 { useFormControlState } from '../../core/hooks/useFormControlState.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 { withFormFieldMessageContextProviderWithGenerics } from '../forms-core/components/form-field/FormFieldMessageContextProvider.js';\nimport { useFormFieldMessagesContext } from '../forms-core/hooks/useFormFieldMessagesContext.js';\nimport { useFormFieldValidation } from '../forms-core/hooks/useFormFieldValidation.js';\nimport { useSyncedFormControlProps } from '../forms-core/hooks/useSyncedFormControlProps.js';\nimport { FormFieldMessagesAction } from '../forms-core/state/formfield-messages-state-reducer.js';\nimport type {\n FormControlRef,\n FormControlWithOverlayRef,\n} from '../shared-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 controlState?: FormControlState;\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 /** 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?: MutableRefObject<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 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 * 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 /** Callback that is called when the select trigger loses focus. */\n onBlur?: (e: FocusEvent<HTMLInputElement, Element>) => void;\n\n /** Callback that is called when the select trigger gets focus. */\n onFocus?: (e: FocusEvent<HTMLInputElement, Element>) => void;\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 > &\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\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 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 ...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 hiddenSelectRef = useRef<HTMLSelectElement>(null);\n const _emitValidationState = useValidationStateEmitter(onValidityChange);\n const emitValidationState = useCustomMessageEmitter(\n _emitValidationState,\n () => getValidationState(hiddenSelectRef.current, 'manual'),\n );\n\n const [triggerRef, setTriggerRef] = useState<HTMLDivElement | null>(null);\n\n const { disabled, required, id, ariaDisabled, readOnly } =\n useSyncedFormControlProps({\n propDisabled: propsDisabled,\n propRequired: propsRequired,\n propId,\n propAriaDisabled: ariaDisabledProp,\n propReadOnly,\n });\n\n const { onBlur: validationOnBlur } = useFormFieldValidation(\n hiddenSelectRef,\n { required, value: safeStringify(propsValue) },\n undefined,\n undefined,\n _emitValidationState,\n );\n\n const { state: messagesContextState, dispatch: messagesContextDispatch } =\n useFormFieldMessagesContext();\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 if (state === true && newState === false) {\n queueMicrotask(() => {\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n hiddenSelectRef.current?.reportValidity();\n emitValidationState(\n getValidationState(hiddenSelectRef.current, 'blur'),\n );\n });\n }\n }\n\n return newState;\n },\n [\n readOnly,\n controlState,\n onOpenChange,\n messagesContextDispatch,\n hiddenSelectRef,\n emitValidationState,\n ],\n );\n\n const [menuOpen, dispatch] = useReducer(menuOpenReducer, false);\n\n const [isFocusWithin, setIsFocusWithin] = useState<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 = useMemo(\n () => triggerRef?.querySelector('input'),\n [triggerRef],\n );\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?.reportValidity());\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n const state = getValidationState(hiddenSelectRef.current, 'manual');\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?.reportValidity());\n messagesContextDispatch?.({\n type: FormFieldMessagesAction.SETISTOUCHED,\n payload: { isTouched: true },\n });\n const state = getValidationState(hiddenSelectRef.current, 'manual');\n return emitValidationState(state);\n },\n }),\n [hiddenTrigger, messagesContextDispatch, emitValidationState, triggerRef],\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 [hasFormControlError] = useFormControlState(controlState);\n const showError = controlState\n ? hasFormControlError\n : messagesContextState.showError;\n\n const contextMemo = useMemo(\n () => ({ state: menuOpen, dispatch }),\n [menuOpen, dispatch],\n );\n\n const onBlurHandler = (event: FocusEvent<HTMLInputElement, Element>) => {\n if (\n // The relatedTarget is null when the focus leaves the browser and we want to still trigger the onBlur in this case.\n !event.relatedTarget ||\n (event.relatedTarget !== hiddenTrigger &&\n event.relatedTarget !== clearSelectionRef.current &&\n event.relatedTarget !== filterRef.current?.inputRef)\n ) {\n if (!menuOpen && isFocusWithin) {\n setIsFocusWithin(false);\n validationOnBlur();\n onBlur?.(event);\n }\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={onBlurHandler}\n hiddenSelectName={name}\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 loading={contentLoadingProp}\n clearable={clearable}\n allOptions={allOptions}\n tabSelectsValue={false}\n focusOnOption={focusOnOption}\n contentRef={contentRef}\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={(event) => {\n if (!isFocusWithin) {\n onFocus?.(event);\n setIsFocusWithin(true);\n }\n }}\n onKeyDown={(event) => {\n if (!menuOpen) {\n if (event.key === 'Enter' || event.key === ' ') {\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 // focus back on the trigger on tab if there is no clear selection element or shift tab is pressed\n if (event.key === 'Tab') {\n if (!clearSelectionRef.current || event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n hiddenTrigger?.focus();\n } else {\n clearSelectionRef.current && setFocusOnOption(false); // prevent setting the focus on the option if there is a clear selection button when tabbing - the clear button should be the only element focused then\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 // 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 input\n if (\n event.key === 'Tab' &&\n event.shiftKey &&\n filterRef.current\n ) {\n setFocusOnOption(true);\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 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"],
5
+ "mappings": "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",
6
6
  "names": ["value"]
7
7
  }
@@ -1,9 +1,9 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import clsx from "clsx";
3
3
  import {
4
- useMemo,
5
4
  Children,
6
5
  cloneElement,
6
+ useMemo,
7
7
  useRef
8
8
  } from "react";
9
9
  import { ChevronDownSmallIcon } from "@dynatrace/strato-icons";
@@ -14,8 +14,8 @@ import { useFocusRing } from "../../../core/hooks/useFocusRing.js";
14
14
  import { useFormControlState } from "../../../core/hooks/useFormControlState.js";
15
15
  import { useId } from "../../../core/hooks/useId.js";
16
16
  import { useMergeRefs } from "../../../core/hooks/useMergeRefs.js";
17
+ import { useVisualRefreshEnabled } from "../../../core/hooks/useVisualRefreshEnabled.js";
17
18
  import { OverlayStackingProvider } from "../../../core/providers/OverlayStackingProvider.js";
18
- import { isVisualRefreshEnabled } from "../../../core/utils/is-visual-refresh-enabled.js";
19
19
  import { mergeProps as _mergeProps } from "../../../core/utils/merge-props.js";
20
20
  import { Flex } from "../../../layouts/flex/Flex.js";
21
21
  import { InternalBaseItem as BaseItem } from "../../forms-core/components/form-field-messages/FormFieldMessageBaseItem.js";
@@ -56,7 +56,7 @@ function Control(props) {
56
56
  selectProps.controlState
57
57
  );
58
58
  const showError = selectProps.controlState ? hasFormControlError : state.showError;
59
- const isCritical = isVisualRefreshEnabled() ? showError && !isDisabled : showError;
59
+ const isCritical = useVisualRefreshEnabled() ? showError && !isDisabled : showError;
60
60
  const hiddenReactSelectInput = Array.isArray(valueContainer.props.children) ? valueContainer.props.children[1] : null;
61
61
  const id = selectProps["selectInputId"];
62
62
  const hiddenInput = useMemo(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/forms/select/components/Control.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport {\n useMemo,\n type ReactNode,\n type KeyboardEvent as ReactKeyboardEvent,\n Children,\n cloneElement,\n useRef,\n} from 'react';\nimport type {\n GroupBase,\n ControlProps as ReactSelectControlProps,\n} from 'react-select';\n\nimport { ChevronDownSmallIcon } from '@dynatrace/strato-icons';\n\nimport { HiddenSelect } from './HiddenSelect.js';\nimport { _isValueContainerComponent } from './ValueContainer.js';\nimport { Button } from '../../../buttons/button/Button.js';\nimport { useFocusRing } from '../../../core/hooks/useFocusRing.js';\nimport { useFormControlState } from '../../../core/hooks/useFormControlState.js';\nimport { useId } from '../../../core/hooks/useId.js';\nimport { useMergeRefs } from '../../../core/hooks/useMergeRefs.js';\nimport { OverlayStackingProvider } from '../../../core/providers/OverlayStackingProvider.js';\nimport { isVisualRefreshEnabled } from '../../../core/utils/is-visual-refresh-enabled.js';\nimport { mergeProps as _mergeProps } from '../../../core/utils/merge-props.js';\nimport { Flex } from '../../../layouts/flex/Flex.js';\nimport { InternalBaseItem as BaseItem } from '../../forms-core/components/form-field-messages/FormFieldMessageBaseItem.js';\nimport { useFormFieldMessagesContext } from '../../forms-core/hooks/useFormFieldMessagesContext.js';\nimport { useSelectMenuContext } from '../hooks/use-select-menu-context.js';\nimport { SelectActions } from '../state/select-menu-state-reducer.js';\nimport * as styles from '../styles/Select.sty.js';\n\n//#region Typings\ntype ControlProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectControlProps<OptionValue, isMulti, Group>;\n//#endregion Typings\n\n/** Iterates over child nodes to extract the value container. */\nfunction getSelectValueContainer<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n>(children: ReactNode) {\n const childrenArray = Children.toArray(children);\n\n for (const child of childrenArray) {\n if (_isValueContainerComponent<OptionValue, isMulti, Group>(child)) {\n return child;\n }\n }\n\n // Assertion to control the return type, we should always get a valueContainer.\n throw new Error('Assertion to make sure the container exists.');\n}\n\nexport function Control<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n>(props: Readonly<ControlProps<OptionValue, isMulti, Group>>) {\n const { children, isDisabled, innerRef, innerProps, selectProps } = props;\n const ariaLabelledBy = selectProps['aria-labelledby'];\n const {\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n readOnly,\n ariaDisabled,\n ...remainingProps\n } = selectProps.componentProps.trigger ?? {};\n const rootRef = useMergeRefs<HTMLElement | null>([\n innerRef,\n selectProps.setTriggerRef,\n ]);\n\n const valueContainer = getSelectValueContainer(children);\n const baseId = useId();\n const triggerId = `strato-select-trigger${baseId}`;\n const customTriggerId = selectProps.customTrigger?.props?.id;\n\n const { state } = useFormFieldMessagesContext();\n /** Please remove with removal of control state. */\n const [hasFormControlError, hint] = useFormControlState(\n selectProps.controlState,\n );\n\n const showError = selectProps.controlState\n ? hasFormControlError\n : state.showError;\n\n // with the visual refresh enabled, a disabled select should not receive critical coloring on error\n const isCritical = isVisualRefreshEnabled()\n ? showError && !isDisabled\n : showError;\n\n const hiddenReactSelectInput = Array.isArray(valueContainer.props.children)\n ? valueContainer.props.children[1]\n : null;\n const id = selectProps['selectInputId'];\n\n const hiddenInput = useMemo(\n () =>\n cloneElement(hiddenReactSelectInput, {\n ...hiddenReactSelectInput.props,\n key: 'hidden-react-select-input',\n id,\n autoComplete: 'off',\n 'aria-haspopup': 'listbox',\n 'aria-invalid': showError,\n 'aria-labelledby': ariaLabelledBy ?? customTriggerId ?? triggerId,\n 'aria-label': selectProps['aria-label'],\n 'aria-describedby': selectProps['aria-describedby'],\n 'aria-details': selectProps['aria-details'],\n }),\n [\n hiddenReactSelectInput,\n id,\n showError,\n ariaLabelledBy,\n customTriggerId,\n triggerId,\n selectProps,\n ],\n );\n\n const { focusProps, focusClassName } = useFocusRing({\n color: showError ? 'critical' : 'neutral',\n focusWithin: true,\n disabled: isDisabled,\n });\n\n const { dispatch } = useSelectMenuContext();\n const handledByTouchRef = useRef(false);\n\n const interactionProps = useMemo(() => {\n return {\n onTouchEnd: () => {\n // On mobile, touchend fires before the emulated click. We dispatch\n // SELECTFOCUS to toggle the menu, then focus the filter input on the\n // next animation frame.\n handledByTouchRef.current = true;\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n requestAnimationFrame(() => {\n selectProps.filterRef?.current?.inputRef?.focus({\n preventScroll: true,\n });\n });\n },\n onClick: () => {\n // Skip the emulated click that follows a touchend on mobile.\n if (handledByTouchRef.current) {\n handledByTouchRef.current = false;\n return;\n }\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n },\n\n onKeyDown: (event: ReactKeyboardEvent<HTMLElement>) => {\n if (\n (event.key === 'Enter' || event.key === ' ') &&\n !selectProps.isMulti\n ) {\n dispatch({\n type: SelectActions.CLOSE,\n });\n }\n },\n };\n }, [dispatch, selectProps.isMulti]);\n\n const customTrigger = useMemo(() => {\n if (selectProps.customTrigger) {\n /** React Select dummyInput is applied in the ValueContainers children in order to\n * handle / react to the inputs correctly. This one needs to be passed through in order for the\n * trigger to work correctly.\n */\n\n return cloneElement(\n selectProps.customTrigger,\n {\n key: 'custom-trigger',\n ref: rootRef,\n id: triggerId,\n ..._mergeProps(\n selectProps.customTrigger.props,\n innerProps,\n ...(isDisabled ? [] : [interactionProps]),\n ),\n },\n [selectProps.customTrigger.props?.children, hiddenInput],\n );\n }\n }, [\n hiddenInput,\n innerProps,\n interactionProps,\n rootRef,\n selectProps.customTrigger,\n triggerId,\n ]);\n\n if (customTrigger) {\n return <OverlayStackingProvider>{customTrigger}</OverlayStackingProvider>;\n }\n\n return (\n <Flex padding={0} flexDirection=\"column\" gap={4}>\n <OverlayStackingProvider>\n <Button\n ref={rootRef}\n id={triggerId}\n textAlign=\"start\"\n data-testid={dataTestId}\n disabled={isDisabled}\n aria-disabled={ariaDisabled}\n width={selectProps.triggerWidth}\n {...innerProps}\n variant=\"emphasized\"\n {...(isDisabled ? undefined : interactionProps)}\n color={isCritical ? 'critical' : 'neutral'}\n className={clsx(\n 'strato-components-select-control-trigger',\n styles.selectTrigger({\n fullWidth:\n selectProps.triggerWidth === 'full' ||\n selectProps.triggerWidth === '100%',\n showError,\n readOnly,\n }),\n focusClassName,\n consumerClassName,\n )}\n style={consumerStyle}\n as=\"div\"\n {...focusProps}\n {...remainingProps}\n >\n {selectProps.prefix && (\n <Button.Prefix\n data-testid={selectProps.prefix.props['data-testid']}\n className={selectProps.prefix.props.className}\n style={selectProps.prefix.props.style}\n >\n {selectProps.prefix.props.children}\n </Button.Prefix>\n )}\n <Button.Label>\n {hiddenInput}\n {valueContainer}\n </Button.Label>\n <Button.Suffix>\n <div\n className={clsx(\n styles.selectTriggerIconWrapper({\n isOverlayOpen: selectProps.menuIsOpen,\n readOnly,\n }),\n )}\n >\n <ChevronDownSmallIcon />\n </div>\n </Button.Suffix>\n </Button>\n </OverlayStackingProvider>\n <HiddenSelect<OptionValue>\n ref={selectProps.hiddenSelectRef}\n required={selectProps.isRequired}\n selectedValues={selectProps.value}\n name={selectProps.hiddenSelectName}\n disabled={isDisabled || readOnly}\n controlState={selectProps.controlState}\n />\n {hint && (\n <BaseItem\n variant={showError ? 'error' : 'hint'}\n disabled={isDisabled || ariaDisabled}\n >\n {hint}\n </BaseItem>\n )}\n </Flex>\n );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n Children,\n cloneElement,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactNode,\n useMemo,\n useRef,\n} from 'react';\nimport type {\n ControlProps as ReactSelectControlProps,\n GroupBase,\n} from 'react-select';\n\nimport { ChevronDownSmallIcon } from '@dynatrace/strato-icons';\n\nimport { HiddenSelect } from './HiddenSelect.js';\nimport { _isValueContainerComponent } from './ValueContainer.js';\nimport { Button } from '../../../buttons/button/Button.js';\nimport { useFocusRing } from '../../../core/hooks/useFocusRing.js';\nimport { useFormControlState } from '../../../core/hooks/useFormControlState.js';\nimport { useId } from '../../../core/hooks/useId.js';\nimport { useMergeRefs } from '../../../core/hooks/useMergeRefs.js';\nimport { useVisualRefreshEnabled } from '../../../core/hooks/useVisualRefreshEnabled.js';\nimport { OverlayStackingProvider } from '../../../core/providers/OverlayStackingProvider.js';\nimport { mergeProps as _mergeProps } from '../../../core/utils/merge-props.js';\nimport { Flex } from '../../../layouts/flex/Flex.js';\nimport { InternalBaseItem as BaseItem } from '../../forms-core/components/form-field-messages/FormFieldMessageBaseItem.js';\nimport { useFormFieldMessagesContext } from '../../forms-core/hooks/useFormFieldMessagesContext.js';\nimport { useSelectMenuContext } from '../hooks/use-select-menu-context.js';\nimport { SelectActions } from '../state/select-menu-state-reducer.js';\nimport * as styles from '../styles/Select.sty.js';\n\n//#region Typings\ntype ControlProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectControlProps<OptionValue, isMulti, Group>;\n//#endregion Typings\n\n/** Iterates over child nodes to extract the value container. */\nfunction getSelectValueContainer<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n>(children: ReactNode) {\n const childrenArray = Children.toArray(children);\n\n for (const child of childrenArray) {\n if (_isValueContainerComponent<OptionValue, isMulti, Group>(child)) {\n return child;\n }\n }\n\n // Assertion to control the return type, we should always get a valueContainer.\n throw new Error('Assertion to make sure the container exists.');\n}\n\nexport function Control<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n>(props: Readonly<ControlProps<OptionValue, isMulti, Group>>) {\n const { children, isDisabled, innerRef, innerProps, selectProps } = props;\n const ariaLabelledBy = selectProps['aria-labelledby'];\n const {\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n readOnly,\n ariaDisabled,\n ...remainingProps\n } = selectProps.componentProps.trigger ?? {};\n const rootRef = useMergeRefs<HTMLElement | null>([\n innerRef,\n selectProps.setTriggerRef,\n ]);\n\n const valueContainer = getSelectValueContainer(children);\n const baseId = useId();\n const triggerId = `strato-select-trigger${baseId}`;\n const customTriggerId = selectProps.customTrigger?.props?.id;\n\n const { state } = useFormFieldMessagesContext();\n /** Please remove with removal of control state. */\n const [hasFormControlError, hint] = useFormControlState(\n selectProps.controlState,\n );\n\n const showError = selectProps.controlState\n ? hasFormControlError\n : state.showError;\n\n // with the visual refresh enabled, a disabled select should not receive critical coloring on error\n const isCritical = useVisualRefreshEnabled()\n ? showError && !isDisabled\n : showError;\n\n const hiddenReactSelectInput = Array.isArray(valueContainer.props.children)\n ? valueContainer.props.children[1]\n : null;\n const id = selectProps['selectInputId'];\n\n const hiddenInput = useMemo(\n () =>\n cloneElement(hiddenReactSelectInput, {\n ...hiddenReactSelectInput.props,\n key: 'hidden-react-select-input',\n id,\n autoComplete: 'off',\n 'aria-haspopup': 'listbox',\n 'aria-invalid': showError,\n 'aria-labelledby': ariaLabelledBy ?? customTriggerId ?? triggerId,\n 'aria-label': selectProps['aria-label'],\n 'aria-describedby': selectProps['aria-describedby'],\n 'aria-details': selectProps['aria-details'],\n }),\n [\n hiddenReactSelectInput,\n id,\n showError,\n ariaLabelledBy,\n customTriggerId,\n triggerId,\n selectProps,\n ],\n );\n\n const { focusProps, focusClassName } = useFocusRing({\n color: showError ? 'critical' : 'neutral',\n focusWithin: true,\n disabled: isDisabled,\n });\n\n const { dispatch } = useSelectMenuContext();\n const handledByTouchRef = useRef(false);\n\n const interactionProps = useMemo(() => {\n return {\n onTouchEnd: () => {\n // On mobile, touchend fires before the emulated click. We dispatch\n // SELECTFOCUS to toggle the menu, then focus the filter input on the\n // next animation frame.\n handledByTouchRef.current = true;\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n requestAnimationFrame(() => {\n selectProps.filterRef?.current?.inputRef?.focus({\n preventScroll: true,\n });\n });\n },\n onClick: () => {\n // Skip the emulated click that follows a touchend on mobile.\n if (handledByTouchRef.current) {\n handledByTouchRef.current = false;\n return;\n }\n dispatch({\n type: SelectActions.SELECTFOCUS,\n });\n },\n\n onKeyDown: (event: ReactKeyboardEvent<HTMLElement>) => {\n if (\n (event.key === 'Enter' || event.key === ' ') &&\n !selectProps.isMulti\n ) {\n dispatch({\n type: SelectActions.CLOSE,\n });\n }\n },\n };\n }, [dispatch, selectProps.isMulti]);\n\n const customTrigger = useMemo(() => {\n if (selectProps.customTrigger) {\n /** React Select dummyInput is applied in the ValueContainers children in order to\n * handle / react to the inputs correctly. This one needs to be passed through in order for the\n * trigger to work correctly.\n */\n\n return cloneElement(\n selectProps.customTrigger,\n {\n key: 'custom-trigger',\n ref: rootRef,\n id: triggerId,\n ..._mergeProps(\n selectProps.customTrigger.props,\n innerProps,\n ...(isDisabled ? [] : [interactionProps]),\n ),\n },\n [selectProps.customTrigger.props?.children, hiddenInput],\n );\n }\n }, [\n hiddenInput,\n innerProps,\n interactionProps,\n rootRef,\n selectProps.customTrigger,\n triggerId,\n ]);\n\n if (customTrigger) {\n return <OverlayStackingProvider>{customTrigger}</OverlayStackingProvider>;\n }\n\n return (\n <Flex padding={0} flexDirection=\"column\" gap={4}>\n <OverlayStackingProvider>\n <Button\n ref={rootRef}\n id={triggerId}\n textAlign=\"start\"\n data-testid={dataTestId}\n disabled={isDisabled}\n aria-disabled={ariaDisabled}\n width={selectProps.triggerWidth}\n {...innerProps}\n variant=\"emphasized\"\n {...(isDisabled ? undefined : interactionProps)}\n color={isCritical ? 'critical' : 'neutral'}\n className={clsx(\n 'strato-components-select-control-trigger',\n styles.selectTrigger({\n fullWidth:\n selectProps.triggerWidth === 'full' ||\n selectProps.triggerWidth === '100%',\n showError,\n readOnly,\n }),\n focusClassName,\n consumerClassName,\n )}\n style={consumerStyle}\n as=\"div\"\n {...focusProps}\n {...remainingProps}\n >\n {selectProps.prefix && (\n <Button.Prefix\n data-testid={selectProps.prefix.props['data-testid']}\n className={selectProps.prefix.props.className}\n style={selectProps.prefix.props.style}\n >\n {selectProps.prefix.props.children}\n </Button.Prefix>\n )}\n <Button.Label>\n {hiddenInput}\n {valueContainer}\n </Button.Label>\n <Button.Suffix>\n <div\n className={clsx(\n styles.selectTriggerIconWrapper({\n isOverlayOpen: selectProps.menuIsOpen,\n readOnly,\n }),\n )}\n >\n <ChevronDownSmallIcon />\n </div>\n </Button.Suffix>\n </Button>\n </OverlayStackingProvider>\n <HiddenSelect<OptionValue>\n ref={selectProps.hiddenSelectRef}\n required={selectProps.isRequired}\n selectedValues={selectProps.value}\n name={selectProps.hiddenSelectName}\n disabled={isDisabled || readOnly}\n controlState={selectProps.controlState}\n />\n {hint && (\n <BaseItem\n variant={showError ? 'error' : 'hint'}\n disabled={isDisabled || ariaDisabled}\n >\n {hint}\n </BaseItem>\n )}\n </Flex>\n );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -23,12 +23,6 @@ const HiddenSelect = forwardRef(
23
23
  const multiple = Array.isArray(selectedValues);
24
24
  const id = useId();
25
25
  const ref = useRef(null);
26
- const { ariaProps, onBlur, onChange, onInvalid } = useFormFieldValidation(
27
- ref,
28
- {},
29
- {},
30
- id
31
- );
32
26
  const selectedValuesArray = useMemo(() => {
33
27
  const extractValue = (val) => {
34
28
  return val?.textValue ?? "";
@@ -45,6 +39,14 @@ const HiddenSelect = forwardRef(
45
39
  }
46
40
  return [];
47
41
  }, [multiple, selectedValues]);
42
+ const { ariaProps, onBlur, onChange, onInvalid } = useFormFieldValidation(
43
+ ref,
44
+ // selectedValuesArray already contains only plain strings, so it is safe
45
+ // to join for a dep key — no risk of BigInt or circular-reference errors.
46
+ { selectedValues: selectedValuesArray.join(",") },
47
+ {},
48
+ id
49
+ );
48
50
  const value = useMemo(() => {
49
51
  if (multiple) {
50
52
  return selectedValuesArray;
@@ -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 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 selectedValues?: PropsValue<OptionValue>;\n required?: boolean;\n disabled?: boolean;\n ariaDisabled?: boolean;\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 /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <OptionValue extends any>(\n props: HiddenSelectProps<OptionValue>,\n forwardedRef: HiddenSelectProps<OptionValue>['ref'],\n ) => {\n const {\n name,\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 const { ariaProps, onBlur, onChange, onInvalid } = useFormFieldValidation(\n ref,\n {},\n {},\n id,\n );\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 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 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 {...(controlState\n ? {}\n : { ...ariaProps, onBlur, onChange, onInvalid })}\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": "AAsHmB;AAtHnB;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,oBAAoB;AAE7B,SAAS,8BAA8B;AAoBhC,MAAM,eAE8B;AAAA;AAAA;AAAA,EAGzC,CACE,OACA,iBACG;AACH,UAAM;AAAA,MACJ;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;AACjD,UAAM,EAAE,WAAW,QAAQ,UAAU,UAAU,IAAI;AAAA,MACjD;AAAA,MACA,CAAC;AAAA,MACD,CAAC;AAAA,MACD;AAAA,IACF;AAEA,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,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,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,QACf,GAAI,eACD,CAAC,IACD,EAAE,GAAG,WAAW,QAAQ,UAAU,UAAU;AAAA,QAE/C,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;",
4
+ "sourcesContent": ["import {\n forwardRef,\n type ReactElement,\n type Ref,\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 selectedValues?: PropsValue<OptionValue>;\n required?: boolean;\n disabled?: boolean;\n ariaDisabled?: boolean;\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 /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <OptionValue extends any>(\n props: HiddenSelectProps<OptionValue>,\n forwardedRef: HiddenSelectProps<OptionValue>['ref'],\n ) => {\n const {\n name,\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 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 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 {...(controlState\n ? {}\n : { ...ariaProps, onBlur, onChange, onInvalid })}\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": "AAyHmB;AAzHnB;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,oBAAoB;AAE7B,SAAS,8BAA8B;AAoBhC,MAAM,eAE8B;AAAA;AAAA;AAAA,EAGzC,CACE,OACA,iBACG;AACH,UAAM;AAAA,MACJ;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,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,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,QACf,GAAI,eACD,CAAC,IACD,EAAE,GAAG,WAAW,QAAQ,UAAU,UAAU;AAAA,QAE/C,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
  }
@@ -55,12 +55,17 @@ function MenuList(props) {
55
55
  () => ({
56
56
  scrollToBottom: () => {
57
57
  optionVirtualizer.scrollToIndex(childrenArray.length);
58
+ },
59
+ scrollToIndex: (index) => {
60
+ optionVirtualizer.scrollToIndex(index);
58
61
  }
59
62
  })
60
63
  );
61
64
  useEffect(() => {
62
65
  requestAnimationFrame(() => {
63
- optionVirtualizer.measure();
66
+ optionVirtualizer.elementsCache.forEach((element) => {
67
+ optionVirtualizer.measureElement(element);
68
+ });
64
69
  });
65
70
  }, [notifyParentRefChange, childrenArray.length]);
66
71
  return /* @__PURE__ */ jsx(
@@ -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 type {\n GroupBase,\n MenuListProps as ReactSelectMenuListProps,\n} from 'react-select';\n\nimport { NoOptionsMessage } 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 * 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}\n\ntype MenuListProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectMenuListProps<OptionValue, isMulti, Group>;\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 // 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 (\n selectProps.showSelectedOptionsFirst &&\n !(childrenArray.length === 1 && childrenArray[0].type === NoOptionsMessage)\n ) {\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 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 }),\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.measure();\n });\n // Deliberately leave optionVirtualizer out of the update deps to prevent a maximum update depth exceeded issue.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [notifyParentRefChange, childrenArray.length]);\n\n return (\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 gridTemplateRows: optionVirtualizer.measurementsCache\n .map((el) => `${el.size}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"],
5
- "mappings": "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",
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 type {\n GroupBase,\n MenuListProps as ReactSelectMenuListProps,\n} from 'react-select';\n\nimport { NoOptionsMessage } 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 * 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\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 // 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 (\n selectProps.showSelectedOptionsFirst &&\n !(childrenArray.length === 1 && childrenArray[0].type === NoOptionsMessage)\n ) {\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 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 // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [notifyParentRefChange, childrenArray.length]);\n\n return (\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 gridTemplateRows: optionVirtualizer.measurementsCache\n .map((el) => `${el.size}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"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -3,7 +3,9 @@ import clsx from "clsx";
3
3
  import { CheckmarkSmallIcon } from "@dynatrace/strato-icons";
4
4
  import { TextEllipsisAroundChildren } from "../../../core/components/TextEllipsisAroundChildren.js";
5
5
  import { useBehavioralTrackingProps } from "../../../core/hooks/useBehavioralTrackingProps.js";
6
+ import { useModality } from "../../../core/hooks/useModality.js";
6
7
  import { getVirtualFocusStyles } from "../../../core/utils/getVirtualFocusStyles.js";
8
+ import { modalityStore } from "../../../core/utils/modality.js";
7
9
  import { Flex } from "../../../layouts/flex/Flex.js";
8
10
  import { useSelectMenuContext } from "../hooks/use-select-menu-context.js";
9
11
  import { SelectActions } from "../state/select-menu-state-reducer.js";
@@ -12,7 +14,11 @@ function Option(props) {
12
14
  const {
13
15
  children,
14
16
  isSelected,
15
- innerProps,
17
+ innerProps: {
18
+ onMouseMove: _onMouseMove,
19
+ onMouseOver: _onMouseOver,
20
+ ...innerProps
21
+ },
16
22
  isFocused,
17
23
  isDisabled,
18
24
  isMulti,
@@ -33,8 +39,9 @@ function Option(props) {
33
39
  const [suffixTrackingProps] = useBehavioralTrackingProps(
34
40
  suffix.componentProps ?? {}
35
41
  );
42
+ const modality = useModality();
36
43
  const { dispatch } = useSelectMenuContext();
37
- const isVirtuallyFocused = selectProps.focusOnOption && isFocused;
44
+ const isVirtuallyFocused = modality === "keyboard" && selectProps.focusOnOption && isFocused;
38
45
  const { className: virtualFocusClassName } = getVirtualFocusStyles(
39
46
  isVirtuallyFocused,
40
47
  isSelected && !isMulti ? "primary" : "neutral"
@@ -45,13 +52,15 @@ function Option(props) {
45
52
  "data-testid": dataTestId,
46
53
  role: "option",
47
54
  ...innerProps,
55
+ onMouseMove: () => modalityStore.setState("pointer"),
48
56
  className: clsx(
49
57
  "strato-select-option",
50
58
  isMulti === true ? styles.selectOptionMulti : styles.selectOptionSingle,
51
59
  virtualFocusClassName,
52
60
  {
53
61
  "strato-select-option--selected": isSelected,
54
- "strato-select-option--disabled": isDisabled
62
+ "strato-select-option--disabled": isDisabled,
63
+ "strato-select-option--focus": isVirtuallyFocused
55
64
  },
56
65
  consumerClassName
57
66
  ),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/forms/select/components/Option.tsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { type MouseEvent as ReactMouseEvent } from 'react';\nimport type {\n OptionProps as ReactSelectOptionProps,\n GroupBase,\n} from 'react-select';\n\nimport { CheckmarkSmallIcon } from '@dynatrace/strato-icons';\n\nimport { TextEllipsisAroundChildren } from '../../../core/components/TextEllipsisAroundChildren.js';\nimport { useBehavioralTrackingProps } from '../../../core/hooks/useBehavioralTrackingProps.js';\nimport { getVirtualFocusStyles } from '../../../core/utils/getVirtualFocusStyles.js';\nimport { Flex } from '../../../layouts/flex/Flex.js';\nimport { useSelectMenuContext } from '../hooks/use-select-menu-context.js';\nimport { SelectActions } from '../state/select-menu-state-reducer.js';\nimport * as styles from '../styles/Select.sty.js';\nimport type { BaseOption, BaseGroup } from '../types.js';\n\nexport type OptionProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectOptionProps<OptionValue, isMulti, Group>;\n\nexport function Option<\n OptionValue,\n isMulti extends boolean,\n Group extends BaseGroup<OptionValue>,\n>(props: Readonly<OptionProps<BaseOption<OptionValue>, isMulti, Group>>) {\n const {\n children,\n isSelected,\n innerProps,\n isFocused,\n isDisabled,\n isMulti,\n selectProps,\n } = props;\n const {\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n prefix,\n suffix,\n } = props.data;\n\n const [behavioralTrackingProps] = useBehavioralTrackingProps(props.data);\n const [prefixTrackingProps] = useBehavioralTrackingProps(\n prefix.componentProps ?? {},\n );\n const [suffixTrackingProps] = useBehavioralTrackingProps(\n suffix.componentProps ?? {},\n );\n\n const { dispatch } = useSelectMenuContext();\n\n const isVirtuallyFocused = selectProps.focusOnOption && isFocused;\n\n const { className: virtualFocusClassName } = getVirtualFocusStyles(\n isVirtuallyFocused,\n isSelected && !isMulti ? 'primary' : 'neutral',\n );\n\n return (\n <Flex\n data-testid={dataTestId}\n role=\"option\"\n {...innerProps}\n className={clsx(\n 'strato-select-option',\n isMulti === true ? styles.selectOptionMulti : styles.selectOptionSingle,\n virtualFocusClassName,\n {\n 'strato-select-option--selected': isSelected,\n 'strato-select-option--disabled': isDisabled,\n },\n consumerClassName,\n )}\n style={consumerStyle}\n onClick={(event: ReactMouseEvent<HTMLDivElement>) => {\n if (!isDisabled) {\n // Only if the option is in single select mode, we can close the menu.\n if (isMulti === false) {\n dispatch({\n type: SelectActions.CLOSE,\n });\n }\n innerProps.onClick?.(event);\n }\n }}\n aria-selected={isSelected}\n aria-label={ariaLabel}\n {...behavioralTrackingProps}\n >\n {isMulti === true ? (\n <div\n className={clsx(\n styles.selectOptionMultiIndicator({\n selected: isSelected,\n }),\n )}\n >\n {isSelected === true ? (\n <CheckmarkSmallIcon\n className={styles.selectOptionMultiIndicatorIcon}\n />\n ) : null}\n </div>\n ) : null}\n {/* Check if any of the options have a prefix defined. If they do, all other items will need to respect the space */}\n {props.selectProps.optionsHavePrefix ? (\n <span\n className={clsx(\n styles.selectOptionPrefix,\n prefix.componentProps?.className,\n )}\n style={prefix.componentProps?.style}\n data-testid={prefix.componentProps?.['data-testid']}\n {...prefixTrackingProps}\n >\n {prefix.component}\n </span>\n ) : null}\n <TextEllipsisAroundChildren>{children}</TextEllipsisAroundChildren>\n {/* For the Suffix icon, we will not need to deal with the other options. Overlaps are fine here. */}\n {suffix.component ? (\n <span\n className={clsx(\n styles.selectOptionSuffix,\n suffix.componentProps?.className,\n )}\n style={suffix.componentProps?.style}\n data-testid={suffix.componentProps?.['data-testid']}\n {...suffixTrackingProps}\n >\n {suffix.component}\n </span>\n ) : null}\n </Flex>\n );\n}\n"],
5
- "mappings": "AAiEI,SAuCQ,KAvCR;AAjEJ,OAAO,UAAU;AAOjB,SAAS,0BAA0B;AAEnC,SAAS,kCAAkC;AAC3C,SAAS,kCAAkC;AAC3C,SAAS,6BAA6B;AACtC,SAAS,YAAY;AACrB,SAAS,4BAA4B;AACrC,SAAS,qBAAqB;AAC9B,YAAY,YAAY;AASjB,SAAS,OAId,OAAuE;AACvE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM;AAAA,IACJ,WAAW;AAAA,IACX,OAAO;AAAA,IACP,eAAe;AAAA,IACf,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EACF,IAAI,MAAM;AAEV,QAAM,CAAC,uBAAuB,IAAI,2BAA2B,MAAM,IAAI;AACvE,QAAM,CAAC,mBAAmB,IAAI;AAAA,IAC5B,OAAO,kBAAkB,CAAC;AAAA,EAC5B;AACA,QAAM,CAAC,mBAAmB,IAAI;AAAA,IAC5B,OAAO,kBAAkB,CAAC;AAAA,EAC5B;AAEA,QAAM,EAAE,SAAS,IAAI,qBAAqB;AAE1C,QAAM,qBAAqB,YAAY,iBAAiB;AAExD,QAAM,EAAE,WAAW,sBAAsB,IAAI;AAAA,IAC3C;AAAA,IACA,cAAc,CAAC,UAAU,YAAY;AAAA,EACvC;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa;AAAA,MACb,MAAK;AAAA,MACJ,GAAG;AAAA,MACJ,WAAW;AAAA,QACT;AAAA,QACA,YAAY,OAAO,OAAO,oBAAoB,OAAO;AAAA,QACrD;AAAA,QACA;AAAA,UACE,kCAAkC;AAAA,UAClC,kCAAkC;AAAA,QACpC;AAAA,QACA;AAAA,MACF;AAAA,MACA,OAAO;AAAA,MACP,SAAS,CAAC,UAA2C;AACnD,YAAI,CAAC,YAAY;AAEf,cAAI,YAAY,OAAO;AACrB,qBAAS;AAAA,cACP,MAAM,cAAc;AAAA,YACtB,CAAC;AAAA,UACH;AACA,qBAAW,UAAU,KAAK;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,iBAAe;AAAA,MACf,cAAY;AAAA,MACX,GAAG;AAAA,MAEH;AAAA,oBAAY,OACX;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,OAAO,2BAA2B;AAAA,gBAChC,UAAU;AAAA,cACZ,CAAC;AAAA,YACH;AAAA,YAEC,yBAAe,OACd;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,OAAO;AAAA;AAAA,YACpB,IACE;AAAA;AAAA,QACN,IACE;AAAA,QAEH,MAAM,YAAY,oBACjB;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,OAAO;AAAA,cACP,OAAO,gBAAgB;AAAA,YACzB;AAAA,YACA,OAAO,OAAO,gBAAgB;AAAA,YAC9B,eAAa,OAAO,iBAAiB,aAAa;AAAA,YACjD,GAAG;AAAA,YAEH,iBAAO;AAAA;AAAA,QACV,IACE;AAAA,QACJ,oBAAC,8BAA4B,UAAS;AAAA,QAErC,OAAO,YACN;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,OAAO;AAAA,cACP,OAAO,gBAAgB;AAAA,YACzB;AAAA,YACA,OAAO,OAAO,gBAAgB;AAAA,YAC9B,eAAa,OAAO,iBAAiB,aAAa;AAAA,YACjD,GAAG;AAAA,YAEH,iBAAO;AAAA;AAAA,QACV,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { type MouseEvent as ReactMouseEvent } from 'react';\nimport type {\n OptionProps as ReactSelectOptionProps,\n GroupBase,\n} from 'react-select';\n\nimport { CheckmarkSmallIcon } from '@dynatrace/strato-icons';\n\nimport { TextEllipsisAroundChildren } from '../../../core/components/TextEllipsisAroundChildren.js';\nimport { useBehavioralTrackingProps } from '../../../core/hooks/useBehavioralTrackingProps.js';\nimport { useModality } from '../../../core/hooks/useModality.js';\nimport { getVirtualFocusStyles } from '../../../core/utils/getVirtualFocusStyles.js';\nimport { modalityStore } from '../../../core/utils/modality.js';\nimport { Flex } from '../../../layouts/flex/Flex.js';\nimport { useSelectMenuContext } from '../hooks/use-select-menu-context.js';\nimport { SelectActions } from '../state/select-menu-state-reducer.js';\nimport * as styles from '../styles/Select.sty.js';\nimport type { BaseOption, BaseGroup } from '../types.js';\n\nexport type OptionProps<\n OptionValue,\n isMulti extends boolean,\n Group extends GroupBase<OptionValue>,\n> = ReactSelectOptionProps<OptionValue, isMulti, Group>;\n\nexport function Option<\n OptionValue,\n isMulti extends boolean,\n Group extends BaseGroup<OptionValue>,\n>(props: Readonly<OptionProps<BaseOption<OptionValue>, isMulti, Group>>) {\n const {\n children,\n isSelected,\n innerProps: {\n onMouseMove: _onMouseMove,\n onMouseOver: _onMouseOver,\n ...innerProps\n },\n isFocused,\n isDisabled,\n isMulti,\n selectProps,\n } = props;\n const {\n className: consumerClassName,\n style: consumerStyle,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n prefix,\n suffix,\n } = props.data;\n\n const [behavioralTrackingProps] = useBehavioralTrackingProps(props.data);\n const [prefixTrackingProps] = useBehavioralTrackingProps(\n prefix.componentProps ?? {},\n );\n const [suffixTrackingProps] = useBehavioralTrackingProps(\n suffix.componentProps ?? {},\n );\n const modality = useModality();\n const { dispatch } = useSelectMenuContext();\n\n const isVirtuallyFocused =\n modality === 'keyboard' && selectProps.focusOnOption && isFocused;\n const { className: virtualFocusClassName } = getVirtualFocusStyles(\n isVirtuallyFocused,\n isSelected && !isMulti ? 'primary' : 'neutral',\n );\n\n return (\n <Flex\n data-testid={dataTestId}\n role=\"option\"\n {...innerProps}\n onMouseMove={() => modalityStore.setState('pointer')}\n className={clsx(\n 'strato-select-option',\n isMulti === true ? styles.selectOptionMulti : styles.selectOptionSingle,\n virtualFocusClassName,\n {\n 'strato-select-option--selected': isSelected,\n 'strato-select-option--disabled': isDisabled,\n 'strato-select-option--focus': isVirtuallyFocused,\n },\n consumerClassName,\n )}\n style={consumerStyle}\n onClick={(event: ReactMouseEvent<HTMLDivElement>) => {\n if (!isDisabled) {\n // Only if the option is in single select mode, we can close the menu.\n if (isMulti === false) {\n dispatch({\n type: SelectActions.CLOSE,\n });\n }\n innerProps.onClick?.(event);\n }\n }}\n aria-selected={isSelected}\n aria-label={ariaLabel}\n {...behavioralTrackingProps}\n >\n {isMulti === true ? (\n <div\n className={clsx(\n styles.selectOptionMultiIndicator({\n selected: isSelected,\n }),\n )}\n >\n {isSelected === true ? (\n <CheckmarkSmallIcon\n className={styles.selectOptionMultiIndicatorIcon}\n />\n ) : null}\n </div>\n ) : null}\n {/* Check if any of the options have a prefix defined. If they do, all other items will need to respect the space */}\n {props.selectProps.optionsHavePrefix ? (\n <span\n className={clsx(\n styles.selectOptionPrefix,\n prefix.componentProps?.className,\n )}\n style={prefix.componentProps?.style}\n data-testid={prefix.componentProps?.['data-testid']}\n {...prefixTrackingProps}\n >\n {prefix.component}\n </span>\n ) : null}\n <TextEllipsisAroundChildren>{children}</TextEllipsisAroundChildren>\n {/* For the Suffix icon, we will not need to deal with the other options. Overlaps are fine here. */}\n {suffix.component ? (\n <span\n className={clsx(\n styles.selectOptionSuffix,\n suffix.componentProps?.className,\n )}\n style={suffix.componentProps?.style}\n data-testid={suffix.componentProps?.['data-testid']}\n {...suffixTrackingProps}\n >\n {suffix.component}\n </span>\n ) : null}\n </Flex>\n );\n}\n"],
5
+ "mappings": "AAuEI,SAyCQ,KAzCR;AAvEJ,OAAO,UAAU;AAOjB,SAAS,0BAA0B;AAEnC,SAAS,kCAAkC;AAC3C,SAAS,kCAAkC;AAC3C,SAAS,mBAAmB;AAC5B,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,4BAA4B;AACrC,SAAS,qBAAqB;AAC9B,YAAY,YAAY;AASjB,SAAS,OAId,OAAuE;AACvE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,YAAY;AAAA,MACV,aAAa;AAAA,MACb,aAAa;AAAA,MACb,GAAG;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM;AAAA,IACJ,WAAW;AAAA,IACX,OAAO;AAAA,IACP,eAAe;AAAA,IACf,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EACF,IAAI,MAAM;AAEV,QAAM,CAAC,uBAAuB,IAAI,2BAA2B,MAAM,IAAI;AACvE,QAAM,CAAC,mBAAmB,IAAI;AAAA,IAC5B,OAAO,kBAAkB,CAAC;AAAA,EAC5B;AACA,QAAM,CAAC,mBAAmB,IAAI;AAAA,IAC5B,OAAO,kBAAkB,CAAC;AAAA,EAC5B;AACA,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,SAAS,IAAI,qBAAqB;AAE1C,QAAM,qBACJ,aAAa,cAAc,YAAY,iBAAiB;AAC1D,QAAM,EAAE,WAAW,sBAAsB,IAAI;AAAA,IAC3C;AAAA,IACA,cAAc,CAAC,UAAU,YAAY;AAAA,EACvC;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa;AAAA,MACb,MAAK;AAAA,MACJ,GAAG;AAAA,MACJ,aAAa,MAAM,cAAc,SAAS,SAAS;AAAA,MACnD,WAAW;AAAA,QACT;AAAA,QACA,YAAY,OAAO,OAAO,oBAAoB,OAAO;AAAA,QACrD;AAAA,QACA;AAAA,UACE,kCAAkC;AAAA,UAClC,kCAAkC;AAAA,UAClC,+BAA+B;AAAA,QACjC;AAAA,QACA;AAAA,MACF;AAAA,MACA,OAAO;AAAA,MACP,SAAS,CAAC,UAA2C;AACnD,YAAI,CAAC,YAAY;AAEf,cAAI,YAAY,OAAO;AACrB,qBAAS;AAAA,cACP,MAAM,cAAc;AAAA,YACtB,CAAC;AAAA,UACH;AACA,qBAAW,UAAU,KAAK;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,iBAAe;AAAA,MACf,cAAY;AAAA,MACX,GAAG;AAAA,MAEH;AAAA,oBAAY,OACX;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,OAAO,2BAA2B;AAAA,gBAChC,UAAU;AAAA,cACZ,CAAC;AAAA,YACH;AAAA,YAEC,yBAAe,OACd;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,OAAO;AAAA;AAAA,YACpB,IACE;AAAA;AAAA,QACN,IACE;AAAA,QAEH,MAAM,YAAY,oBACjB;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,OAAO;AAAA,cACP,OAAO,gBAAgB;AAAA,YACzB;AAAA,YACA,OAAO,OAAO,gBAAgB;AAAA,YAC9B,eAAa,OAAO,iBAAiB,aAAa;AAAA,YACjD,GAAG;AAAA,YAEH,iBAAO;AAAA;AAAA,QACV,IACE;AAAA,QACJ,oBAAC,8BAA4B,UAAS;AAAA,QAErC,OAAO,YACN;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,OAAO;AAAA,cACP,OAAO,gBAAgB;AAAA,YACzB;AAAA,YACA,OAAO,OAAO,gBAAgB;AAAA,YAC9B,eAAa,OAAO,iBAAiB,aAAa;AAAA,YACjD,GAAG;AAAA,YAEH,iBAAO;AAAA;AAAA,QACV,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;",
6
6
  "names": []
7
7
  }