@iress-oss/ids-components 6.0.0-alpha.1 → 6.0.0-alpha.2

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 (141) hide show
  1. package/dist/{Autocomplete-CLvWVHp6.js → Autocomplete-C5ubHBTi.js} +1 -1
  2. package/dist/{Button-D6AL0bia.js → Button-mmhMLwp9.js} +4 -1
  3. package/dist/{Provider-BXQiO7Gp.js → Provider-8wS70V56.js} +13 -13
  4. package/dist/{TableProvider-_4Whj6P5.js → TableProvider-bdUNuoG-.js} +1 -11
  5. package/dist/components/Alert/Alert.js +2 -2
  6. package/dist/components/Alert/Alert.styles.js +14 -14
  7. package/dist/components/Autocomplete/Autocomplete.js +2 -2
  8. package/dist/components/Autocomplete/index.js +1 -1
  9. package/dist/components/Badge/Badge.styles.js +4 -4
  10. package/dist/components/Button/Button.js +1 -1
  11. package/dist/components/Button/CloseButton/CloseButton.js +1 -1
  12. package/dist/components/Button/index.js +1 -1
  13. package/dist/components/Card/Card.styles.js +16 -16
  14. package/dist/components/Checkbox/Checkbox.styles.js +5 -5
  15. package/dist/components/CheckboxGroup/CheckboxGroup.styles.js +10 -10
  16. package/dist/components/Container/Container.styles.js +1 -1
  17. package/dist/components/Divider/Divider.styles.js +1 -1
  18. package/dist/components/Expander/Expander.styles.js +3 -3
  19. package/dist/components/Field/Field.styles.js +9 -9
  20. package/dist/components/Field/FieldGroup/FieldGroup.styles.js +5 -5
  21. package/dist/components/Field/components/FieldHint.js +1 -1
  22. package/dist/components/Filter/Filter.js +3 -3
  23. package/dist/components/Filter/Filter.styles.js +3 -3
  24. package/dist/components/Filter/components/FilterResetButton.js +1 -1
  25. package/dist/components/Inline/Inline.styles.js +1 -1
  26. package/dist/components/Input/Input.js +84 -86
  27. package/dist/components/Input/Input.styles.js +7 -7
  28. package/dist/components/Label/Label.styles.js +3 -3
  29. package/dist/components/Link/Link.styles.js +2 -2
  30. package/dist/components/Menu/Menu.js +1 -1
  31. package/dist/components/Menu/Menu.styles.js +11 -11
  32. package/dist/components/Menu/MenuItem/MenuItem.js +2 -2
  33. package/dist/components/Menu/MenuText/MenuText.js +1 -1
  34. package/dist/components/Modal/Modal.js +106 -112
  35. package/dist/components/Modal/Modal.styles.js +8 -8
  36. package/dist/components/Popover/components/NestedPopoverActivator.js +1 -1
  37. package/dist/components/Popover/components/PopoverContent.js +1 -1
  38. package/dist/components/Popover/helpers/handlePopoverTabKey.js +1 -1
  39. package/dist/components/Popover/hooks/usePopover.js +1 -1
  40. package/dist/components/Popover/hooks/usePopoverItem.js +1 -1
  41. package/dist/components/Popover/hooks/usePopoverNavigation.js +1 -1
  42. package/dist/components/Progress/Progress.js +35 -41
  43. package/dist/components/Progress/Progress.styles.js +3 -3
  44. package/dist/components/Provider/Provider.js +3 -3
  45. package/dist/components/Provider/index.js +1 -1
  46. package/dist/components/Radio/Radio.js +66 -60
  47. package/dist/components/Radio/Radio.styles.js +5 -5
  48. package/dist/components/RadioGroup/RadioGroup.styles.js +4 -4
  49. package/dist/components/Readonly/Readonly.styles.js +4 -4
  50. package/dist/components/RichSelect/RichSelect.js +2 -2
  51. package/dist/components/RichSelect/RichSelect.styles.js +9 -9
  52. package/dist/components/RichSelect/SelectHeading/SelectHeading.js +1 -1
  53. package/dist/components/RichSelect/SelectLabel/SelectLabel.styles.js +5 -5
  54. package/dist/components/RichSelect/SelectTags/SelectTags.js +49 -51
  55. package/dist/components/RichSelect/SelectTags/SelectTags.styles.js +3 -3
  56. package/dist/components/RichSelect/index.js +1 -1
  57. package/dist/components/Select/Select.styles.js +8 -8
  58. package/dist/components/Skeleton/Skeleton.styles.js +1 -1
  59. package/dist/components/SkipLink/SkipLink.js +1 -1
  60. package/dist/components/SkipLink/SkipLink.styles.js +1 -1
  61. package/dist/components/Slideout/Slideout.js +75 -70
  62. package/dist/components/Slideout/Slideout.styles.js +7 -7
  63. package/dist/components/Slideout/components/SlideoutInner.js +1 -1
  64. package/dist/components/Slideout/hooks/usePushElement.js +1 -1
  65. package/dist/components/Slider/Slider.styles.js +3 -3
  66. package/dist/components/Stack/Stack.styles.js +1 -1
  67. package/dist/components/TabSet/Tab/Tab.js +1 -1
  68. package/dist/components/TabSet/Tab/Tab.styles.js +2 -2
  69. package/dist/components/TabSet/TabSet.js +55 -52
  70. package/dist/components/TabSet/TabSet.styles.js +3 -3
  71. package/dist/components/Table/Table.js +1 -1
  72. package/dist/components/Table/TableBody/TableBody.js +1 -1
  73. package/dist/components/Table/TableProvider.js +2 -2
  74. package/dist/components/Table/components/TableEmpty.js +1 -1
  75. package/dist/components/Table/components/TableHeader.js +1 -1
  76. package/dist/components/Table/components/TableHeaderCell.js +1 -1
  77. package/dist/components/Table/components/TableRows.js +1 -1
  78. package/dist/components/Table/helpers/composeTableColumnDefs.js +1 -1
  79. package/dist/components/Table/hooks/useTableColumnSort.js +1 -1
  80. package/dist/components/Table/hooks/useTableColumnStyles.js +1 -1
  81. package/dist/components/Tag/Tag.js +1 -1
  82. package/dist/components/Tag/Tag.styles.js +4 -4
  83. package/dist/components/Text/Text.styles.js +3 -2
  84. package/dist/components/Toaster/Toaster.js +1 -1
  85. package/dist/components/Toaster/Toaster.styles.js +1 -1
  86. package/dist/components/Toaster/components/Toast/Toast.js +1 -1
  87. package/dist/components/Toaster/components/Toast/Toast.styles.js +12 -12
  88. package/dist/components/Toaster/components/Toast/ToastAnimated.js +18 -16
  89. package/dist/components/Toggle/Toggle.js +63 -58
  90. package/dist/components/Toggle/Toggle.styles.js +12 -12
  91. package/dist/components/Tooltip/Tooltip.js +1 -1
  92. package/dist/components/Tooltip/Tooltip.styles.js +1 -1
  93. package/dist/components/ValidationMessage/ValidationMessage.js +1 -1
  94. package/dist/components/ValidationMessage/ValidationSummary/ValidationSummary.js +4 -4
  95. package/dist/{composeTableColumnDefs-Hmd6yfdj.js → composeTableColumnDefs-BfFBOARB.js} +0 -10
  96. package/dist/constants.js +1 -1
  97. package/dist/{floating-ui.react-CmSaAiNF.js → floating-ui.react-BetVZ099.js} +1 -1
  98. package/dist/helpers/styling/mapGutterToGap.js +7 -7
  99. package/dist/helpers/transition/getTransitionDuration.js +2 -2
  100. package/dist/{index-CvOVcYUc.js → index-CZ9ot38T.js} +83 -131
  101. package/dist/{index.esm-8uZEha-3.js → index.esm-CL8gh5wr.js} +0 -4
  102. package/dist/main.js +3 -3
  103. package/dist/patterns/Loading/Loading.styles.js +13 -13
  104. package/dist/patterns/Loading/LoadingSuspense.js +27 -27
  105. package/dist/patterns/Loading/components/ComponentLoading.js +38 -43
  106. package/dist/patterns/Loading/components/PageLoading.js +57 -60
  107. package/dist/patterns/Loading/components/ValidateLoading.js +1 -1
  108. package/dist/patterns/Loading/hooks/useEstimatedProgressValue.js +8 -12
  109. package/dist/patterns/Loading/hooks/useShouldRenderLoading.js +14 -14
  110. package/dist/patterns/Shadow/Shadow.js +8831 -19057
  111. package/dist/src/components/Alert/Alert.styles.d.ts +1 -1
  112. package/dist/src/components/Badge/Badge.styles.d.ts +2 -2
  113. package/dist/src/components/Card/Card.styles.d.ts +2 -2
  114. package/dist/src/components/Checkbox/Checkbox.styles.d.ts +3 -3
  115. package/dist/src/components/CheckboxGroup/CheckboxGroup.styles.d.ts +4 -4
  116. package/dist/src/components/Expander/Expander.styles.d.ts +2 -2
  117. package/dist/src/components/Field/Field.styles.d.ts +6 -6
  118. package/dist/src/components/Inline/Inline.d.ts +1 -2
  119. package/dist/src/components/Menu/Menu.styles.d.ts +5 -5
  120. package/dist/src/components/Modal/Modal.styles.d.ts +2 -2
  121. package/dist/src/components/Radio/Radio.styles.d.ts +1 -1
  122. package/dist/src/components/RadioGroup/RadioGroup.styles.d.ts +4 -4
  123. package/dist/src/components/RichSelect/RichSelect.styles.d.ts +7 -7
  124. package/dist/src/components/Row/Row.d.ts +1 -2
  125. package/dist/src/components/Select/Select.styles.d.ts +7 -7
  126. package/dist/src/components/Skeleton/Skeleton.styles.d.ts +1 -1
  127. package/dist/src/components/Slideout/Slideout.styles.d.ts +2 -2
  128. package/dist/src/components/Stack/Stack.d.ts +1 -2
  129. package/dist/src/components/Toaster/components/Toast/Toast.styles.d.ts +4 -4
  130. package/dist/src/components/Toggle/Toggle.d.ts +10 -2
  131. package/dist/src/components/Toggle/Toggle.styles.d.ts +4 -4
  132. package/dist/src/interfaces.d.ts +8 -10
  133. package/dist/src/patterns/Loading/Loading.styles.d.ts +10 -10
  134. package/dist/src/styled-system/jsx/create-style-context.d.ts +17 -10
  135. package/dist/src/styled-system/tokens/tokens.d.ts +1 -1
  136. package/dist/src/styled-system/types/conditions.d.ts +1 -1
  137. package/dist/src/styled-system/types/jsx.d.ts +8 -6
  138. package/dist/src/styled-system/types/prop-type.d.ts +2 -2
  139. package/dist/src/types.d.ts +3 -1
  140. package/dist/style.css +1 -1
  141. package/package.json +17 -17
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable */
2
2
  import type { SlotRecipeRuntimeFn, RecipeVariantProps } from '../types/recipe';
3
3
  import type { JsxHTMLProps, JsxStyleProps, Assign } from '../types/system-types';
4
- import type { JsxFactoryOptions } from '../types/jsx';
5
- import type { ComponentType, ElementType, ComponentPropsWithoutRef, ElementRef, Ref } from 'react'
4
+ import type { JsxFactoryOptions, ComponentProps, DataAttrs, AsProps } from '../types/jsx';
5
+ import type { ComponentType, ElementType } from 'react'
6
6
 
7
7
  interface UnstyledProps {
8
- unstyled?: boolean
8
+ unstyled?: boolean | undefined
9
9
  }
10
10
 
11
11
  type SvaFn<S extends string = any> = SlotRecipeRuntimeFn<S, any>
@@ -18,29 +18,36 @@ type SlotRecipe = SvaFn | SlotRecipeFn
18
18
 
19
19
  type InferSlot<R extends SlotRecipe> = R extends SlotRecipeFn ? R['__slot'] : R extends SvaFn<infer S> ? S : never
20
20
 
21
- type ComponentProps<T extends ElementType> = Omit<ComponentPropsWithoutRef<T>, 'ref'> & {
22
- ref?: Ref<ElementRef<T>>
21
+ interface WithProviderOptions<P = {}> {
22
+ defaultProps?: (Partial<P> & DataAttrs) | undefined
23
23
  }
24
24
 
25
25
  type StyleContextProvider<T extends ElementType, R extends SlotRecipe> = ComponentType<
26
- JsxHTMLProps<ComponentProps<T> & UnstyledProps, Assign<RecipeVariantProps<R>, JsxStyleProps>>
26
+ JsxHTMLProps<ComponentProps<T> & UnstyledProps & AsProps, Assign<RecipeVariantProps<R>, JsxStyleProps>>
27
+ >
28
+
29
+ type StyleContextRootProvider<T extends ElementType, R extends SlotRecipe> = ComponentType<
30
+ ComponentProps<T> & UnstyledProps & RecipeVariantProps<R>
27
31
  >
28
32
 
29
33
  type StyleContextConsumer<T extends ElementType> = ComponentType<
30
- JsxHTMLProps<ComponentProps<T> & UnstyledProps, JsxStyleProps>
34
+ JsxHTMLProps<ComponentProps<T> & UnstyledProps & AsProps, JsxStyleProps>
31
35
  >
32
36
 
33
37
  export interface StyleContext<R extends SlotRecipe> {
34
- withRootProvider: <T extends ElementType>(Component: T) => StyleContextProvider<T, R>
38
+ withRootProvider: <T extends ElementType>(
39
+ Component: T,
40
+ options?: WithProviderOptions<ComponentProps<T>> | undefined
41
+ ) => StyleContextRootProvider<T, R>
35
42
  withProvider: <T extends ElementType>(
36
43
  Component: T,
37
44
  slot: InferSlot<R>,
38
- options?: JsxFactoryOptions<ComponentProps<T>>
45
+ options?: JsxFactoryOptions<ComponentProps<T>> | undefined
39
46
  ) => StyleContextProvider<T, R>
40
47
  withContext: <T extends ElementType>(
41
48
  Component: T,
42
49
  slot: InferSlot<R>,
43
- options?: JsxFactoryOptions<ComponentProps<T>>
50
+ options?: JsxFactoryOptions<ComponentProps<T>> | undefined
44
51
  ) => StyleContextConsumer<T>
45
52
  }
46
53
 
@@ -11,7 +11,7 @@ export type RadiusToken = "radius.000" | "radius.025" | "radius.050" | "radius.0
11
11
 
12
12
  export type SizeToken = "container.xs" | "container.sm" | "container.md" | "container.lg" | "container.xl" | "container.xxl" | "input.2" | "input.4" | "input.6" | "input.8" | "input.10" | "input.12" | "input.16" | "input.25perc" | "input.50perc" | "input.75perc" | "input.100perc" | "overlay.sm" | "overlay.md" | "overlay.lg" | "chevron.select" | "chevron.table" | "input.height" | "progress.height" | "slider.track" | "slider.thumb" | "slider.tick" | "toggle.width" | "toggle.thumb" | "typography.base" | "breakpoint-xs" | "breakpoint-sm" | "breakpoint-md" | "breakpoint-lg" | "breakpoint-xl" | "breakpoint-xxl"
13
13
 
14
- export type SpacingToken = "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | "spacing.400" | "spacing.500" | "spacing.600" | "spacing.700" | "spacing.800" | "spacing.900" | "spacing.1000" | "spacing.1200" | "none" | "xs" | "sm" | "md" | "lg" | "xl" | "field.footer" | "slider.tick" | "button.inline" | "button.block" | "-spacing.000" | "-spacing.050" | "-spacing.100" | "-spacing.150" | "-spacing.200" | "-spacing.250" | "-spacing.300" | "-spacing.350" | "-spacing.400" | "-spacing.500" | "-spacing.600" | "-spacing.700" | "-spacing.800" | "-spacing.900" | "-spacing.1000" | "-spacing.1200" | "-none" | "-xs" | "-sm" | "-md" | "-lg" | "-xl" | "-field.footer" | "-slider.tick" | "-button.inline" | "-button.block"
14
+ export type SpacingToken = "spacing.0" | "spacing.1" | "spacing.2" | "spacing.3" | "spacing.4" | "spacing.5" | "spacing.6" | "spacing.7" | "spacing.8" | "spacing.10" | "none" | "xs" | "sm" | "md" | "lg" | "xl" | "button.inline" | "button.block" | "field.footer" | "slider.tick" | "-spacing.0" | "-spacing.1" | "-spacing.2" | "-spacing.3" | "-spacing.4" | "-spacing.5" | "-spacing.6" | "-spacing.7" | "-spacing.8" | "-spacing.10" | "-none" | "-xs" | "-sm" | "-md" | "-lg" | "-xl" | "-button.inline" | "-button.block" | "-field.footer" | "-slider.tick"
15
15
 
16
16
  export type ZIndexToken = "100" | "200" | "300" | "400" | "500" | "600" | "000"
17
17
 
@@ -46,7 +46,7 @@ export interface Conditions {
46
46
  "_firstLetter": string
47
47
  /** `&::first-line` */
48
48
  "_firstLine": string
49
- /** `&:is(::marker, ::-webkit-details-marker)` */
49
+ /** `&::marker, &::-webkit-details-marker` */
50
50
  "_marker": string
51
51
  /** `&::selection` */
52
52
  "_selection": string
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- import type { ComponentPropsWithoutRef, ElementType, ElementRef, JSX, Ref } from 'react'
2
+ import type { ElementType, JSX, ComponentPropsWithRef, ComponentType, Component } from 'react'
3
3
  import type { RecipeDefinition, RecipeSelection, RecipeVariantRecord } from './recipe';
4
4
  import type { Assign, DistributiveOmit, DistributiveUnion, JsxHTMLProps, JsxStyleProps, Pretty } from './system-types';
5
5
 
@@ -7,6 +7,8 @@ interface Dict {
7
7
  [k: string]: unknown
8
8
  }
9
9
 
10
+ export type DataAttrs = Record<`data-${string}`, unknown>
11
+
10
12
  export interface UnstyledProps {
11
13
  /**
12
14
  * Whether to remove recipe styles
@@ -21,9 +23,9 @@ export interface AsProps {
21
23
  as?: ElementType | undefined
22
24
  }
23
25
 
24
- export type ComponentProps<T extends ElementType> = DistributiveOmit<ComponentPropsWithoutRef<T>, 'ref'> & {
25
- ref?: Ref<ElementRef<T>>
26
- }
26
+ export type ComponentProps<T extends ElementType> = T extends ComponentType<infer P> | Component<infer P>
27
+ ? JSX.LibraryManagedAttributes<T, P>
28
+ : ComponentPropsWithRef<T>
27
29
 
28
30
  export interface StyledComponent<T extends ElementType, P extends Dict = {}> {
29
31
  (props: JsxHTMLProps<ComponentProps<T> & UnstyledProps & AsProps, Assign<JsxStyleProps, P>>): JSX.Element
@@ -34,9 +36,9 @@ interface RecipeFn {
34
36
  __type: any
35
37
  }
36
38
 
37
- interface JsxFactoryOptions<TProps extends Dict> {
39
+ export interface JsxFactoryOptions<TProps extends Dict> {
38
40
  dataAttr?: boolean
39
- defaultProps?: Partial<TProps>
41
+ defaultProps?: Partial<TProps> & DataAttrs
40
42
  shouldForwardProp?: (prop: string, variantKeys: string[]) => boolean
41
43
  forwardProps?: string[]
42
44
  }
@@ -181,7 +181,7 @@ export interface UtilityValues {
181
181
  srOnly: boolean;
182
182
  debug: boolean;
183
183
  focusable: "true" | "within";
184
- gutter: "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | "spacing.400" | "spacing.500" | "spacing.600" | "spacing.700" | "spacing.800" | "spacing.900" | "spacing.1000" | "spacing.1200" | "none" | "xs" | "sm" | "md" | "lg" | "xl" | "field.footer" | "slider.tick";
184
+ gutter: "spacing.0" | "spacing.1" | "spacing.2" | "spacing.3" | "spacing.4" | "spacing.5" | "spacing.6" | "spacing.7" | "spacing.8" | "spacing.10" | "none" | "xs" | "sm" | "md" | "lg" | "xl";
185
185
  selectChevron: boolean;
186
186
  selectChevronRtl: boolean;
187
187
  tableChevron: boolean;
@@ -194,7 +194,7 @@ export interface UtilityValues {
194
194
  noGutter: boolean;
195
195
  stretch: boolean;
196
196
  colorPalette: "colour.primary.fill" | "colour.primary.fillHover" | "colour.primary.onFill" | "colour.primary.surface" | "colour.primary.surfaceHover" | "colour.primary.text" | "colour.neutral.10" | "colour.neutral.20" | "colour.neutral.30" | "colour.neutral.40" | "colour.neutral.50" | "colour.neutral.60" | "colour.neutral.70" | "colour.neutral.80" | "colour.accent.brand" | "colour.system.success.fill" | "colour.system.success.fillHover" | "colour.system.success.onFill" | "colour.system.success.surface" | "colour.system.success.surfaceHover" | "colour.system.success.text" | "colour.system.danger.fill" | "colour.system.danger.fillHover" | "colour.system.danger.onFill" | "colour.system.danger.surface" | "colour.system.danger.surfaceHover" | "colour.system.danger.text" | "colour.system.warning.fill" | "colour.system.warning.onFill" | "colour.system.warning.surface" | "colour.system.warning.text" | "colour.system.info.fill" | "colour.system.info.onFill" | "colour.system.info.surface" | "colour.system.info.text" | "colour.system.backdrop.fill" | "transparent" | "page" | "alt" | "muted" | "text";
197
- textStyle: "typography.heading.1" | "typography.heading.2" | "typography.heading.3" | "typography.heading.4" | "typography.heading.5" | "typography.body.sm" | "typography.body.sm.regular" | "typography.body.sm.strong" | "typography.body.sm.em" | "typography.body.md.regular" | "typography.body.md" | "typography.body.md.strong" | "typography.body.md.em" | "typography.body.lg" | "typography.body.lg.regular" | "typography.body.lg.strong" | "typography.body.lg.em" | "typography.code";
197
+ textStyle: "typography.heading.1" | "typography.heading.2" | "typography.heading.3" | "typography.heading.4" | "typography.heading.5" | "typography.body.sm" | "typography.body.sm.regular" | "typography.body.sm.medium" | "typography.body.sm.strong" | "typography.body.sm.em" | "typography.body.md.regular" | "typography.body.md" | "typography.body.md.medium" | "typography.body.md.strong" | "typography.body.md.em" | "typography.body.lg" | "typography.body.lg.regular" | "typography.body.lg.medium" | "typography.body.lg.strong" | "typography.body.lg.em" | "typography.code";
198
198
  layerStyle: "elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact" | "dots" | "skeleton";
199
199
  animationStyle: "field-footer" | "icon-spin-half" | "icon-spin-1" | "icon-spin-2" | "icon-spin-3" | "loading-fade-next" | "loading-slide-next" | "skeleton-loading" | "toggle-active";
200
200
  }
@@ -1,7 +1,9 @@
1
1
  import { BREAKPOINTS, DISPLAY_MODES, FLOATING_UI_ALIGNS, FORM_ELEMENT_WIDTHS, GUTTER_SIZES, HEADING_LEVELS, HORIZONTAL_ALIGNS, LOGGER_LEVELS, PADDING_SIZES, SYSTEM_VALIDATION_STATUSES, TEXT_ALIGNS, TEXT_MODES, TEXT_VARIANTS, VERTICAL_ALIGNS } from './constants';
2
2
  import { IressCSSProps, IressTestProps, VariablePaddingSize } from './interfaces';
3
3
  import { PaddingSize } from './enums';
4
- import { SpacingToken } from './styled-system/tokens';
4
+ import { SpacingToken as PureSpacingToken } from './styled-system/tokens';
5
+ export type PositiveSpacingToken = Exclude<PureSpacingToken, `-${string}` | `button.${string}` | `field.${string}` | `slider.${string}`>;
6
+ export type SpacingToken = Exclude<PureSpacingToken, `button.${string}` | `field.${string}` | `slider.${string}` | `-button.${string}` | `-field.${string}` | `-slider.${string}`>;
5
7
  export type Breakpoints = (typeof BREAKPOINTS)[number];
6
8
  export type DisplayModes = (typeof DISPLAY_MODES)[number];
7
9
  export type FloatingUIContainer = HTMLElement | null | React.MutableRefObject<HTMLElement | null>;