@ufoui/core 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/LICENSE +150 -0
  2. package/README.md +37 -0
  3. package/TRADEMARK.md +10 -0
  4. package/components/article/article.d.ts +25 -0
  5. package/components/aside/aside.d.ts +27 -0
  6. package/components/avatar/avatar.d.ts +35 -0
  7. package/components/badge/badge.d.ts +57 -0
  8. package/components/base/boxBase/boxBase.d.ts +126 -0
  9. package/components/base/buttonBase/buttonBase.d.ts +126 -0
  10. package/components/base/checkboxBase/checkboxBase.d.ts +124 -0
  11. package/components/base/dialogBase/dialog.d.ts +35 -0
  12. package/components/base/fieldBase/fieldBase.d.ts +50 -0
  13. package/components/base/inlineBase/inlineBase.d.ts +62 -0
  14. package/components/button/button.d.ts +24 -0
  15. package/components/card/card.d.ts +15 -0
  16. package/components/checkbox/checkbox.d.ts +31 -0
  17. package/components/chip/chip.d.ts +7 -0
  18. package/components/content/content.d.ts +28 -0
  19. package/components/dateInput/dateInput.d.ts +2 -0
  20. package/components/dateTimeInput/dateTimeInput.d.ts +2 -0
  21. package/components/dialog/dialogActions.d.ts +15 -0
  22. package/components/dialog/dialogContent.d.ts +9 -0
  23. package/components/dialog/dialogTitle.d.ts +16 -0
  24. package/components/div/div.d.ts +29 -0
  25. package/components/divider/divider.d.ts +70 -0
  26. package/components/divider/divider.guards.d.ts +15 -0
  27. package/components/emailInput/emailInput.d.ts +2 -0
  28. package/components/fab/fab.d.ts +29 -0
  29. package/components/fieldset/fieldset.d.ts +45 -0
  30. package/components/flex/flex.d.ts +36 -0
  31. package/components/footer/footer.d.ts +27 -0
  32. package/components/grid/grid.d.ts +38 -0
  33. package/components/header/header.d.ts +27 -0
  34. package/components/iconButton/iconButton.d.ts +27 -0
  35. package/components/listItem/listItem.d.ts +179 -0
  36. package/components/listItem/listItem.guards.d.ts +15 -0
  37. package/components/main/main.d.ts +27 -0
  38. package/components/menu/menu.d.ts +177 -0
  39. package/components/menu/menu.guards.d.ts +15 -0
  40. package/components/menuItem/menuItem.d.ts +179 -0
  41. package/components/menuItem/menuItem.guards.d.ts +15 -0
  42. package/components/nav/nav.d.ts +27 -0
  43. package/components/numberInput/numberInput.d.ts +2 -0
  44. package/components/option/option.d.ts +6 -0
  45. package/components/option/option.guards.d.ts +16 -0
  46. package/components/radio/radio.d.ts +31 -0
  47. package/components/radiogroup/radioGroup.d.ts +47 -0
  48. package/components/section/section.d.ts +27 -0
  49. package/components/select/select.d.ts +32 -0
  50. package/components/spinner/spinner.d.ts +7 -0
  51. package/components/switch/switch.d.ts +102 -0
  52. package/components/telInput/telInput.d.ts +2 -0
  53. package/components/textField/textField.d.ts +9 -0
  54. package/components/themeProvider/themeProvider.d.ts +54 -0
  55. package/components/timeInput/timeInput.d.ts +2 -0
  56. package/components/toggleButton/toggleButton.d.ts +6 -0
  57. package/components/tooltip/tooltip.d.ts +8 -0
  58. package/components/urlInput/urlInput.d.ts +2 -0
  59. package/context/fieldsetContext.d.ts +22 -0
  60. package/context/radioGroupContext.d.ts +28 -0
  61. package/context/themeContext.d.ts +61 -0
  62. package/hooks/useAnimate.d.ts +55 -0
  63. package/hooks/useClickOutside.d.ts +36 -0
  64. package/hooks/useEscapeHandler.d.ts +1 -0
  65. package/hooks/useFocusState.d.ts +16 -0
  66. package/hooks/useFocusVisible.d.ts +20 -0
  67. package/hooks/useTheme.d.ts +12 -0
  68. package/index.css +1 -0
  69. package/index.d.ts +53 -0
  70. package/index.mjs +3300 -0
  71. package/internal/inlineTooltip/inlineTooltip.d.ts +11 -0
  72. package/internal/inlineTooltip/inlineTooltip2.d.ts +10 -0
  73. package/internal/inlineTooltip/inlineTooltipManager.d.ts +12 -0
  74. package/package.json +38 -0
  75. package/types/index.d.ts +2 -0
  76. package/types/motion.d.ts +17 -0
  77. package/types/theme.d.ts +246 -0
  78. package/utils/calculateFloatingPosition.d.ts +68 -0
  79. package/utils/color.d.ts +415 -0
  80. package/utils/generateMaterialColors.d.ts +31 -0
  81. package/utils/generateSchemes.d.ts +32 -0
  82. package/utils/inputhMethod.d.ts +17 -0
  83. package/utils/utils.d.ts +202 -0
@@ -0,0 +1,11 @@
1
+ import { default as React, HTMLProps } from 'react';
2
+ interface InlineTooltipProps extends HTMLProps<HTMLSpanElement> {
3
+ id: string;
4
+ title: string;
5
+ triggerRef: React.RefObject<HTMLElement>;
6
+ }
7
+ export declare const InlineTooltip: {
8
+ ({ id, title, triggerRef }: InlineTooltipProps): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
11
+ export {};
@@ -0,0 +1,10 @@
1
+ import { HTMLProps } from 'react';
2
+ interface InlineTooltipProps2 extends HTMLProps<HTMLSpanElement> {
3
+ id: string;
4
+ title: string;
5
+ }
6
+ export declare const InlineTooltip2: {
7
+ ({ id, title }: InlineTooltipProps2): import("react/jsx-runtime").JSX.Element;
8
+ displayName: string;
9
+ };
10
+ export {};
@@ -0,0 +1,12 @@
1
+ import { default as React, HTMLProps, ReactElement } from 'react';
2
+ import { ElementAlign } from '../../components/core';
3
+ interface InlineTooltipManagerProps extends HTMLProps<HTMLSpanElement> {
4
+ triggerRef: React.RefObject<HTMLElement>;
5
+ tooltip: ReactElement;
6
+ align: ElementAlign;
7
+ }
8
+ export declare const InlineTooltipManager: {
9
+ ({ tooltip, align, triggerRef }: InlineTooltipManagerProps): React.ReactPortal;
10
+ displayName: string;
11
+ };
12
+ export {};
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@ufoui/core",
3
+ "version": "0.0.1",
4
+ "description": "Lightweight Material Design 3 UI components for React",
5
+ "type": "module",
6
+ "main": "./index.mjs",
7
+ "module": "./index.mjs",
8
+ "types": "./index.d.ts",
9
+ "license": "Apache-2.0",
10
+ "author": "ufoui",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/ufoui/ufoui.git"
14
+ },
15
+ "keywords": [
16
+ "react",
17
+ "components",
18
+ "ui",
19
+ "ufoui",
20
+ "core"
21
+ ],
22
+ "peerDependencies": {
23
+ "react": "^18.0.0",
24
+ "react-dom": "^18.0.0",
25
+ "@material/material-color-utilities": "^0.3.0"
26
+ },
27
+ "sideEffects": [
28
+ "*.css"
29
+ ],
30
+ "exports": {
31
+ ".": {
32
+ "import": "./index.mjs",
33
+ "types": "./index.d.ts"
34
+ },
35
+ "./style.css": "./index.css",
36
+ "./style": "./index.css"
37
+ }
38
+ }
@@ -0,0 +1,2 @@
1
+ export * from './theme';
2
+ export * from './motion';
@@ -0,0 +1,17 @@
1
+ export type MotionAnimation = 'fade' | 'fadeBlur' | 'scale' | 'scaleBlur' | 'popup' | 'slideUp' | 'slideDown' | 'slideLeft' | 'slideRight' | 'slideUpBlur' | 'slideDownBlur' | 'slideLeftBlur' | 'slideRightBlur' | 'rotate' | 'rotateUpRight' | 'rotateUpLeft' | 'rollLeft' | 'rollRight' | 'flipX' | 'flipY' | 'bounce' | 'squish' | 'rubber' | 'popElastic' | 'jelly';
2
+ export declare const motionClassMap: Record<MotionAnimation, string>;
3
+ /**
4
+ * Returns CSS class name for given motion animation.
5
+ * Returns empty string when animation is not defined.
6
+ */
7
+ export declare function getAnimationClass(animation?: MotionAnimation): string;
8
+ /**
9
+ * Returns list of available motion animation names.
10
+ */
11
+ export declare function getAnimationList(): MotionAnimation[];
12
+ export type MotionStyle = 'regular' | 'expressive';
13
+ /**
14
+ * Returns CSS class name for motion style.
15
+ * Expressive enables extended motion parameters.
16
+ */
17
+ export declare function getMotionStyleClass(style?: MotionStyle): string;
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Defines all color roles used in a single theme color scheme (e.g. light or dark).
3
+ *
4
+ * Based on the Material Design 3 palette structure with custom extensions
5
+ * for semantic and system colors (e.g. info, success, warning).
6
+ *
7
+ * @remarks
8
+ * Provides the canonical source for all `--uui-color-*` tokens in both light and dark modes.
9
+ *
10
+ * @category Theme
11
+ */
12
+ export interface ThemeScheme {
13
+ /** Primary brand color used for main UI elements. */
14
+ primary: string;
15
+ /** Foreground color displayed on primary. */
16
+ onPrimary: string;
17
+ /** Container background for primary content. */
18
+ primaryContainer: string;
19
+ /** Foreground color on primary container. */
20
+ onPrimaryContainer: string;
21
+ /** Fixed version of primary for consistent tone. */
22
+ primaryFixed: string;
23
+ /** Foreground color on primaryFixed. */
24
+ onPrimaryFixed: string;
25
+ /** Dimmed tone of primaryFixed. */
26
+ primaryFixedDim: string;
27
+ /** Variant tone for content on primaryFixedDim. */
28
+ onPrimaryFixedVariant: string;
29
+ /** Secondary color for less prominent accents. */
30
+ secondary: string;
31
+ /** Foreground color on secondary. */
32
+ onSecondary: string;
33
+ /** Background container using secondary tone. */
34
+ secondaryContainer: string;
35
+ /** Foreground color on secondary container. */
36
+ onSecondaryContainer: string;
37
+ /** Fixed version of secondary tone. */
38
+ secondaryFixed: string;
39
+ /** Foreground color on secondaryFixed. */
40
+ onSecondaryFixed: string;
41
+ /** Dimmed version of secondaryFixed. */
42
+ secondaryFixedDim: string;
43
+ /** Variant tone for content on secondaryFixedDim. */
44
+ onSecondaryFixedVariant: string;
45
+ /** Tertiary color for decorative or alternative accents. */
46
+ tertiary: string;
47
+ /** Foreground color on tertiary. */
48
+ onTertiary: string;
49
+ /** Background container using tertiary tone. */
50
+ tertiaryContainer: string;
51
+ /** Foreground color on tertiary container. */
52
+ onTertiaryContainer: string;
53
+ /** Fixed version of tertiary tone. */
54
+ tertiaryFixed: string;
55
+ /** Foreground color on tertiaryFixed. */
56
+ onTertiaryFixed: string;
57
+ /** Dimmed version of tertiaryFixed. */
58
+ tertiaryFixedDim: string;
59
+ /** Variant tone for content on tertiaryFixedDim. */
60
+ onTertiaryFixedVariant: string;
61
+ /** Warning tone for alerts or cautions. */
62
+ warning: string;
63
+ /** Foreground color on warning. */
64
+ onWarning: string;
65
+ /** Container color for warning messages. */
66
+ warningContainer: string;
67
+ /** Foreground color on warning container. */
68
+ onWarningContainer: string;
69
+ /** Fixed warning tone. */
70
+ warningFixed: string;
71
+ /** Foreground color on warningFixed. */
72
+ onWarningFixed: string;
73
+ /** Dimmed warningFixed variant. */
74
+ warningFixedDim: string;
75
+ /** Variant foreground color for dimmed warning. */
76
+ onWarningFixedVariant: string;
77
+ /** Informational tone for neutral messages. */
78
+ info: string;
79
+ /** Foreground color on info. */
80
+ onInfo: string;
81
+ /** Container background for info tone. */
82
+ infoContainer: string;
83
+ /** Foreground color on info container. */
84
+ onInfoContainer: string;
85
+ /** Fixed tone for info. */
86
+ infoFixed: string;
87
+ /** Foreground color on infoFixed. */
88
+ onInfoFixed: string;
89
+ /** Dimmed infoFixed variant. */
90
+ infoFixedDim: string;
91
+ /** Variant foreground color for dimmed info. */
92
+ onInfoFixedVariant: string;
93
+ /** Success tone for positive feedback. */
94
+ success: string;
95
+ /** Foreground color on success. */
96
+ onSuccess: string;
97
+ /** Container background for success tone. */
98
+ successContainer: string;
99
+ /** Foreground color on success container. */
100
+ onSuccessContainer: string;
101
+ /** Fixed success tone. */
102
+ successFixed: string;
103
+ /** Foreground color on successFixed. */
104
+ onSuccessFixed: string;
105
+ /** Dimmed successFixed variant. */
106
+ successFixedDim: string;
107
+ /** Variant foreground color for dimmed success. */
108
+ onSuccessFixedVariant: string;
109
+ /** Error tone for destructive actions or validation. */
110
+ error: string;
111
+ /** Foreground color on error. */
112
+ onError: string;
113
+ /** Container background for error tone. */
114
+ errorContainer: string;
115
+ /** Foreground color on error container. */
116
+ onErrorContainer: string;
117
+ /** Fixed error tone. */
118
+ errorFixed: string;
119
+ /** Foreground color on errorFixed. */
120
+ onErrorFixed: string;
121
+ /** Dimmed errorFixed variant. */
122
+ errorFixedDim: string;
123
+ /** Variant foreground color for dimmed error. */
124
+ onErrorFixedVariant: string;
125
+ /** Border and divider color. */
126
+ outline: string;
127
+ /** Secondary outline tone. */
128
+ outlineVariant: string;
129
+ /** Default surface background color. */
130
+ surface: string;
131
+ /** Foreground color on surface. */
132
+ onSurface: string;
133
+ /** Variant background tone for surfaces. */
134
+ surfaceVariant: string;
135
+ /** Foreground color on surfaceVariant. */
136
+ onSurfaceVariant: string;
137
+ /** UI background color. */
138
+ background: string;
139
+ /** Foreground color on background. */
140
+ onBackground: string;
141
+ /** Inverse surface tone (e.g. for bottom navs). */
142
+ inverseSurface: string;
143
+ /** Foreground color on inverse surface. */
144
+ inverseOnSurface: string;
145
+ /** Primary accent used on inverse surfaces. */
146
+ inversePrimary: string;
147
+ /** Color used for shadows and elevation. */
148
+ shadow: string;
149
+ /** Tint overlay for elevated components. */
150
+ surfaceTint: string;
151
+ /** Overlay color for modals, drawers, etc. */
152
+ scrim: string;
153
+ /** Surface tone for highest-level containers. */
154
+ surfaceContainerHighest: string;
155
+ /** Surface tone for high elevation containers. */
156
+ surfaceContainerHigh: string;
157
+ /** Base tone for standard surface containers. */
158
+ surfaceContainer: string;
159
+ /** Surface tone for low elevation containers. */
160
+ surfaceContainerLow: string;
161
+ /** Surface tone for lowest elevation containers. */
162
+ surfaceContainerLowest: string;
163
+ /** Brightest surface tone variant. */
164
+ surfaceBright: string;
165
+ /** Dimmed surface tone variant. */
166
+ surfaceDim: string;
167
+ /** Pure black color used for contrast or background. */
168
+ black: string;
169
+ /** Foreground color displayed on black (typically white). */
170
+ onBlack: string;
171
+ /** Pure white color used for contrast or foreground. */
172
+ white: string;
173
+ /** Foreground color displayed on white (typically black). */
174
+ onWhite: string;
175
+ /** Allows for additional custom tokens. */
176
+ [key: string]: string;
177
+ }
178
+ /**
179
+ * A partial version of {@link ThemeScheme}, used for theme overrides
180
+ * or gradual, progressive theming updates.
181
+ *
182
+ * @remarks
183
+ * Useful when defining incomplete color sets (e.g. custom brand palettes).
184
+ *
185
+ * @category Theme
186
+ */
187
+ export type PartialThemeScheme = Partial<ThemeScheme>;
188
+ /**
189
+ * Collection of named color schemes (e.g. light, dark, high-contrast).
190
+ * Used to organize multiple theme modes within a design system.
191
+ *
192
+ * @category Theme
193
+ */
194
+ export interface ThemeSchemes {
195
+ /** Light mode color scheme. */
196
+ light: PartialThemeScheme;
197
+ /** Dark mode color scheme. */
198
+ dark: PartialThemeScheme;
199
+ /** Additional custom schemes such as high-contrast or sepia. */
200
+ [key: string]: PartialThemeScheme;
201
+ }
202
+ /**
203
+ * Partial variant of {@link ThemeSchemes}, allowing selective definition
204
+ * of available color modes.
205
+ *
206
+ * @category Theme
207
+ */
208
+ export type PartialThemeSchemes = Partial<ThemeSchemes>;
209
+ /**
210
+ * Defines the overall theme configuration, including
211
+ * the active mode and all available color schemes.
212
+ *
213
+ * @category Theme
214
+ */
215
+ export interface Theme {
216
+ /** Indicates whether dark mode is currently active. */
217
+ darkMode: boolean;
218
+ /** Collection of all available color schemes. */
219
+ schemes: ThemeSchemes;
220
+ }
221
+ /**
222
+ * Core subset of theme colors representing primary semantic intents
223
+ * (e.g., primary, error, success).
224
+ * Commonly referenced across UI components.
225
+ *
226
+ * Serves as the base for {@link SemanticColor} and {@link ThemeSchemeKeys}.
227
+ *
228
+ * @category Theme
229
+ */
230
+ export declare const ThemeSemanticColorKeys: readonly ["primary", "secondary", "tertiary", "warning", "info", "success", "error"];
231
+ /**
232
+ * Extended set of semantic theme colors.
233
+ * @category Theme
234
+ */
235
+ export declare const ThemeExtendedColorKeys: readonly ["primary", "secondary", "tertiary", "warning", "info", "success", "error", "primaryContainer", "primaryFixed", "primaryFixedDim", "secondaryContainer", "secondaryFixed", "secondaryFixedDim", "tertiaryContainer", "tertiaryFixed", "tertiaryFixedDim", "warningContainer", "warningFixed", "warningFixedDim", "infoContainer", "infoFixed", "infoFixedDim", "successContainer", "successFixed", "successFixedDim", "errorContainer", "errorFixed", "errorFixedDim", "black", "white"];
236
+ /**
237
+ * Surface-level theme colors including extended and neutral tones.
238
+ * @category Theme
239
+ */
240
+ export declare const ThemeSurfaceColorKeys: readonly ["primary", "secondary", "tertiary", "warning", "info", "success", "error", "primaryContainer", "primaryFixed", "primaryFixedDim", "secondaryContainer", "secondaryFixed", "secondaryFixedDim", "tertiaryContainer", "tertiaryFixed", "tertiaryFixedDim", "warningContainer", "warningFixed", "warningFixedDim", "infoContainer", "infoFixed", "infoFixedDim", "successContainer", "successFixed", "successFixedDim", "errorContainer", "errorFixed", "errorFixedDim", "black", "white", "outline", "outlineVariant", "surface", "surfaceVariant", "background", "inverseSurface", "inversePrimary", "surfaceContainerHighest", "surfaceContainerHigh", "surfaceContainer", "surfaceContainerLow", "surfaceContainerLowest", "surfaceBright", "surfaceDim"];
241
+ /**
242
+ * Complete set of color tokens defined in {@link ThemeScheme}.
243
+ * Combines all semantic, extended, and surface color roles for full theme coverage.
244
+ * @category Theme
245
+ */
246
+ export declare const ThemeSchemeKeys: readonly ["primary", "secondary", "tertiary", "warning", "info", "success", "error", "primaryContainer", "primaryFixed", "primaryFixedDim", "secondaryContainer", "secondaryFixed", "secondaryFixedDim", "tertiaryContainer", "tertiaryFixed", "tertiaryFixedDim", "warningContainer", "warningFixed", "warningFixedDim", "infoContainer", "infoFixed", "infoFixedDim", "successContainer", "successFixed", "successFixedDim", "errorContainer", "errorFixed", "errorFixedDim", "black", "white", "outline", "outlineVariant", "surface", "surfaceVariant", "background", "inverseSurface", "inversePrimary", "surfaceContainerHighest", "surfaceContainerHigh", "surfaceContainer", "surfaceContainerLow", "surfaceContainerLowest", "surfaceBright", "surfaceDim", "onPrimary", "onPrimaryContainer", "onPrimaryFixed", "onPrimaryFixedVariant", "onSecondary", "onSecondaryContainer", "onSecondaryFixed", "onSecondaryFixedVariant", "onTertiary", "onTertiaryContainer", "onTertiaryFixed", "onTertiaryFixedVariant", "onWarning", "onWarningContainer", "onWarningFixed", "onWarningFixedVariant", "onInfo", "onInfoContainer", "onInfoFixed", "onInfoFixedVariant", "onSuccess", "onSuccessContainer", "onSuccessFixed", "onSuccessFixedVariant", "onError", "onErrorContainer", "onErrorFixed", "onErrorFixedVariant", "onSurface", "onSurfaceVariant", "onBackground", "inverseOnSurface", "inversePrimary", "shadow", "surfaceTint", "scrim"];
@@ -0,0 +1,68 @@
1
+ import { RefObject } from 'react';
2
+ import { ElementAlign } from '../components/core';
3
+ /**
4
+ * Floating behavior presets used by `calculateFloatingPosition()`.
5
+ *
6
+ * @remarks
7
+ * Each mode defines its own fallback placement list:
8
+ * - **tooltip** – top/bottom center.
9
+ * - **dropdown** – bottom → top.
10
+ * - **menu** – bottomLeft/Right → top.
11
+ * - **submenu** – right/left of parent item.
12
+ *
13
+ * @category Utils
14
+ */
15
+ export type ElementFloatingMode = 'tooltip' | 'dropdown' | 'menu' | 'submenu';
16
+ /**
17
+ * Options for floating element positioning.
18
+ *
19
+ * @property placement - Initial placement or `"auto"` for fallbacks.
20
+ * @property offset - Gap (in px) between elements.
21
+ * @property mode - Floating behavior preset.
22
+ *
23
+ * @category Utils
24
+ */
25
+ export interface CalculateFloatingPositionOptions {
26
+ placement?: ElementAlign;
27
+ offset?: number;
28
+ mode?: ElementFloatingMode;
29
+ }
30
+ /**
31
+ * Computed final placement of the floating element.
32
+ *
33
+ * @property x - Clamped X coordinate.
34
+ * @property y - Clamped Y coordinate.
35
+ * @property placement - Placement actually applied after fallback logic.
36
+ *
37
+ * @category Utils
38
+ */
39
+ export interface ElementFloatingPosition {
40
+ x: number;
41
+ y: number;
42
+ placement: ElementAlign;
43
+ }
44
+ /**
45
+ * Computes the optimal on-screen position for tooltips, dropdowns, menus and submenus.
46
+ *
47
+ * @param referenceRef - Ref to anchor element.
48
+ * @param floatingRef - Ref to floating panel element.
49
+ * @param options - Placement configuration.
50
+ *
51
+ * @returns Final `{ x, y, placement }`, or `null` when refs are missing.
52
+ *
53
+ * @remarks
54
+ * - Supports `"auto"` with preset-specific fallbacks (`mode`).
55
+ * - Prevents overflow — returned values are fully **viewport clamped**.
56
+ * - Works with all UUI floating components.
57
+ * - Side placements (`centerLeft`, `centerRight`) ignore vertical overflow by design.
58
+ *
59
+ * @example
60
+ * const pos = calculateFloatingPosition(refTrigger, refPanel, {
61
+ * placement: "auto",
62
+ * offset: 8,
63
+ * mode: "menu"
64
+ * });
65
+ *
66
+ * @category Utils
67
+ */
68
+ export declare function calculateFloatingPosition(referenceRef: RefObject<HTMLElement>, floatingRef: RefObject<HTMLElement>, options?: CalculateFloatingPositionOptions): ElementFloatingPosition | null;