@adam-milo/ui 1.0.32 → 1.0.34

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 (152) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +58 -22
  3. package/dist/index10.cjs +1 -1
  4. package/dist/index10.js +94 -56
  5. package/dist/index11.cjs +1 -1
  6. package/dist/index11.js +199 -40
  7. package/dist/index12.cjs +1 -1
  8. package/dist/index12.js +305 -105
  9. package/dist/index13.cjs +1 -1
  10. package/dist/index13.js +260 -74
  11. package/dist/index14.cjs +1 -1
  12. package/dist/index14.js +135 -27
  13. package/dist/index15.cjs +1 -1
  14. package/dist/index15.js +52 -469
  15. package/dist/index16.cjs +1 -1
  16. package/dist/index16.js +57 -111
  17. package/dist/index17.cjs +1 -1
  18. package/dist/index17.js +101 -20
  19. package/dist/index18.cjs +1 -1
  20. package/dist/index18.js +76 -21
  21. package/dist/index19.cjs +1 -1
  22. package/dist/index19.js +25 -29
  23. package/dist/index2.cjs +1 -1
  24. package/dist/index2.js +6 -4
  25. package/dist/index20.cjs +1 -1
  26. package/dist/index20.js +468 -31
  27. package/dist/index21.cjs +1 -1
  28. package/dist/index21.js +155 -41
  29. package/dist/index22.cjs +1 -1
  30. package/dist/index22.js +42 -12
  31. package/dist/index23.cjs +1 -0
  32. package/dist/index23.js +38 -0
  33. package/dist/index24.cjs +1 -1
  34. package/dist/index24.js +32 -287
  35. package/dist/index25.cjs +1 -1
  36. package/dist/index25.js +115 -13
  37. package/dist/index26.cjs +1 -0
  38. package/dist/index26.js +55 -0
  39. package/dist/index27.cjs +1 -0
  40. package/dist/index27.js +45 -0
  41. package/dist/index28.cjs +1 -0
  42. package/dist/index28.js +53 -0
  43. package/dist/index29.cjs +1 -0
  44. package/dist/index29.js +55 -0
  45. package/dist/index3.cjs +1 -1
  46. package/dist/index3.js +33 -33
  47. package/dist/index30.cjs +1 -0
  48. package/dist/index30.js +72 -0
  49. package/dist/index31.cjs +1 -0
  50. package/dist/index31.js +14 -0
  51. package/dist/index32.cjs +1 -0
  52. package/dist/index32.js +332 -0
  53. package/dist/index36.cjs +1 -0
  54. package/dist/index36.js +386 -0
  55. package/dist/index37.cjs +1 -0
  56. package/dist/index37.js +16 -0
  57. package/dist/index4.cjs +1 -1
  58. package/dist/index4.js +59 -11
  59. package/dist/index5.cjs +1 -1
  60. package/dist/index5.js +19 -35
  61. package/dist/index6.cjs +1 -1
  62. package/dist/index6.js +11 -101
  63. package/dist/index62.cjs +1 -0
  64. package/dist/index62.js +502 -0
  65. package/dist/index64.cjs +1 -0
  66. package/dist/index64.js +11 -0
  67. package/dist/index65.cjs +1 -0
  68. package/dist/index65.js +39 -0
  69. package/dist/index66.cjs +1 -0
  70. package/dist/index66.js +64 -0
  71. package/dist/index67.cjs +1 -0
  72. package/dist/index67.js +212 -0
  73. package/dist/index68.cjs +1 -0
  74. package/dist/index68.js +14 -0
  75. package/dist/index69.cjs +1 -0
  76. package/dist/index69.js +293 -0
  77. package/dist/index7.cjs +1 -1
  78. package/dist/index7.js +46 -97
  79. package/dist/index70.cjs +1 -0
  80. package/dist/index70.js +18 -0
  81. package/dist/index71.cjs +1 -0
  82. package/dist/index71.js +129 -0
  83. package/dist/index72.cjs +1 -0
  84. package/dist/index72.js +43 -0
  85. package/dist/index73.cjs +1 -0
  86. package/dist/index73.js +99 -0
  87. package/dist/index74.cjs +1 -0
  88. package/dist/index74.js +71 -0
  89. package/dist/index75.cjs +1 -0
  90. package/dist/index75.js +36 -0
  91. package/dist/index76.cjs +1 -0
  92. package/dist/index76.js +14 -0
  93. package/dist/index77.cjs +1 -0
  94. package/dist/index77.js +17 -0
  95. package/dist/index78.cjs +1 -0
  96. package/dist/index78.js +6 -0
  97. package/dist/index79.cjs +1 -0
  98. package/dist/index79.js +297 -0
  99. package/dist/index8.cjs +1 -1
  100. package/dist/index8.js +97 -88
  101. package/dist/index80.cjs +1 -0
  102. package/dist/index80.js +25 -0
  103. package/dist/index81.cjs +1 -0
  104. package/dist/index81.js +39 -0
  105. package/dist/index82.cjs +1 -0
  106. package/dist/index82.js +625 -0
  107. package/dist/index83.cjs +1 -0
  108. package/dist/index83.js +721 -0
  109. package/dist/index84.cjs +1 -0
  110. package/dist/index84.js +154 -0
  111. package/dist/index85.cjs +1 -0
  112. package/dist/index85.js +173 -0
  113. package/dist/index9.cjs +1 -1
  114. package/dist/index9.js +55 -197
  115. package/dist/src/components/core/button/Button.component.d.ts +13 -7
  116. package/dist/src/components/core/button/Button.component.d.ts.map +1 -1
  117. package/dist/src/components/core/icon/Icon.component.d.ts +1 -1
  118. package/dist/src/components/core/icon/Icon.component.d.ts.map +1 -1
  119. package/dist/src/components/core/icon-button/IconButton.component.d.ts +36 -0
  120. package/dist/src/components/core/icon-button/IconButton.component.d.ts.map +1 -0
  121. package/dist/src/components/core/menu-icon-button/MenuIconButton.component.d.ts +79 -0
  122. package/dist/src/components/core/menu-icon-button/MenuIconButton.component.d.ts.map +1 -0
  123. package/dist/src/components/feedback/spinner/Spinner.component.d.ts +62 -0
  124. package/dist/src/components/feedback/spinner/Spinner.component.d.ts.map +1 -0
  125. package/dist/src/components/forms/input/Input.component.d.ts +5 -0
  126. package/dist/src/components/forms/input/Input.component.d.ts.map +1 -1
  127. package/dist/src/components/forms/otp-input/OTPInput.component.d.ts +82 -0
  128. package/dist/src/components/forms/otp-input/OTPInput.component.d.ts.map +1 -0
  129. package/dist/src/components/forms/phone-input/PhoneInput.component.d.ts +96 -0
  130. package/dist/src/components/forms/phone-input/PhoneInput.component.d.ts.map +1 -0
  131. package/dist/src/components/forms/phone-input/countries.d.ts +93 -0
  132. package/dist/src/components/forms/phone-input/countries.d.ts.map +1 -0
  133. package/dist/src/components/forms/select/Select.component.d.ts +5 -1
  134. package/dist/src/components/forms/select/Select.component.d.ts.map +1 -1
  135. package/dist/src/components/forms/toggle/Toggle.component.d.ts +80 -0
  136. package/dist/src/components/forms/toggle/Toggle.component.d.ts.map +1 -0
  137. package/dist/src/components/layout/auth-layout/AuthLayout.component.d.ts +86 -0
  138. package/dist/src/components/layout/auth-layout/AuthLayout.component.d.ts.map +1 -0
  139. package/dist/src/components/overlays/dialog/Dialog.component.d.ts +36 -2
  140. package/dist/src/components/overlays/dialog/Dialog.component.d.ts.map +1 -1
  141. package/dist/src/components/typography/heading/Heading.component.d.ts +92 -0
  142. package/dist/src/components/typography/heading/Heading.component.d.ts.map +1 -0
  143. package/dist/src/components/typography/link/Link.component.d.ts +80 -0
  144. package/dist/src/components/typography/link/Link.component.d.ts.map +1 -0
  145. package/dist/src/index.d.ts +24 -5
  146. package/dist/src/index.d.ts.map +1 -1
  147. package/dist/style.css +1 -1
  148. package/package.json +2 -1
  149. /package/dist/{index35.cjs → index50.cjs} +0 -0
  150. /package/dist/{index35.js → index50.js} +0 -0
  151. /package/dist/{index42.cjs → index61.cjs} +0 -0
  152. /package/dist/{index42.js → index61.js} +0 -0
package/dist/index7.js CHANGED
@@ -1,112 +1,61 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { forwardRef, useId, useRef, useCallback, useEffect } from "react";
3
- import { cn } from "./index22.js";
4
- /* empty css */
5
- const Checkbox = forwardRef(
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef, useCallback } from "react";
3
+ import { Input } from "./index36.js";
4
+ const NumericInput = forwardRef(
6
5
  ({
7
- label,
8
- error,
9
- helperText,
10
- indeterminate = false,
11
- className,
12
- id: providedId,
13
- required,
14
- disabled,
15
- checked,
6
+ min,
7
+ max,
8
+ step = 1,
9
+ allowDecimals = false,
10
+ validate,
16
11
  "data-cy": dataCy,
17
12
  "data-testid": dataTestId,
18
13
  ...props
19
14
  }, ref) => {
20
- const generatedId = useId();
21
- const id = providedId || generatedId;
22
- const errorId = `${id}-error`;
23
- const helperId = `${id}-helper`;
24
- const finalDataCy = dataCy || "checkbox";
25
- const finalTestId = dataTestId || "checkbox";
26
- const internalRef = useRef(null);
27
- const combinedRef = useCallback(
28
- (element) => {
29
- internalRef.current = element;
30
- if (!ref) return;
31
- if (typeof ref === "function") {
32
- ref(element);
33
- } else if ("current" in ref) {
34
- ref.current = element;
15
+ const numericValidation = useCallback(
16
+ (value) => {
17
+ if (!value) return void 0;
18
+ const numValue = parseFloat(value);
19
+ if (isNaN(numValue)) {
20
+ return "Please enter a valid number";
35
21
  }
22
+ if (!allowDecimals && !Number.isInteger(numValue)) {
23
+ return "Decimals are not allowed";
24
+ }
25
+ if (min !== void 0 && numValue < min) {
26
+ return `Must be at least ${min}`;
27
+ }
28
+ if (max !== void 0 && numValue > max) {
29
+ return `Must be at most ${max}`;
30
+ }
31
+ return void 0;
36
32
  },
37
- [ref]
33
+ [min, max, allowDecimals]
38
34
  );
39
- useEffect(() => {
40
- if (internalRef.current) {
41
- internalRef.current.indeterminate = indeterminate;
42
- }
43
- }, [indeterminate]);
44
- const displayLabel = label && required && !label.includes("*") ? `${label} *` : label;
45
- return /* @__PURE__ */ jsxs(
46
- "div",
35
+ const combinedValidation = useCallback(
36
+ (value) => {
37
+ if (!validate) return numericValidation(value);
38
+ return numericValidation(value) || validate(value);
39
+ },
40
+ [numericValidation, validate]
41
+ );
42
+ return /* @__PURE__ */ jsx(
43
+ Input,
47
44
  {
48
- className: cn("checkbox-wrapper", disabled && "checkbox-wrapper--disabled"),
49
- "data-cy": `${finalDataCy}-wrapper`,
50
- "data-testid": `${finalTestId}-wrapper`,
51
- children: [
52
- /* @__PURE__ */ jsxs("div", { className: "checkbox__container", children: [
53
- /* @__PURE__ */ jsx(
54
- "input",
55
- {
56
- ref: combinedRef,
57
- id,
58
- type: "checkbox",
59
- checked,
60
- className: cn("checkbox__input", error && "checkbox__input--error", className),
61
- "aria-invalid": error ? "true" : "false",
62
- "aria-required": required ? "true" : void 0,
63
- "aria-describedby": error ? errorId : helperText ? helperId : void 0,
64
- "data-cy": finalDataCy,
65
- "data-testid": finalTestId,
66
- "data-indeterminate": indeterminate ? "true" : void 0,
67
- disabled,
68
- required,
69
- ...props
70
- }
71
- ),
72
- label && /* @__PURE__ */ jsx(
73
- "label",
74
- {
75
- htmlFor: id,
76
- className: "checkbox__label",
77
- "data-cy": `${finalDataCy}-label`,
78
- "data-testid": `${finalTestId}-label`,
79
- children: displayLabel
80
- }
81
- )
82
- ] }),
83
- error && /* @__PURE__ */ jsx(
84
- "span",
85
- {
86
- id: errorId,
87
- className: "checkbox__error",
88
- role: "alert",
89
- "data-cy": `${finalDataCy}-error`,
90
- "data-testid": `${finalTestId}-error`,
91
- children: error
92
- }
93
- ),
94
- helperText && !error && /* @__PURE__ */ jsx(
95
- "span",
96
- {
97
- id: helperId,
98
- className: "checkbox__helper",
99
- "data-cy": `${finalDataCy}-helper`,
100
- "data-testid": `${finalTestId}-helper`,
101
- children: helperText
102
- }
103
- )
104
- ]
45
+ ref,
46
+ type: "number",
47
+ min,
48
+ max,
49
+ validate: combinedValidation,
50
+ "data-cy": dataCy || "numeric-input",
51
+ "data-testid": dataTestId || "numeric-input",
52
+ ...props,
53
+ step: allowDecimals ? "any" : step
105
54
  }
106
55
  );
107
56
  }
108
57
  );
109
- Checkbox.displayName = "Checkbox";
58
+ NumericInput.displayName = "NumericInput";
110
59
  export {
111
- Checkbox
60
+ NumericInput
112
61
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("react-dom"),r=require("./index72.cjs"),o=require("./index78.cjs"),i=require("react/jsx-runtime");function n(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const a=n(e);var c=a.forwardRef((e,n)=>{var c;const{container:l,...u}=e,[s,d]=a.useState(!1);o.useLayoutEffect(()=>d(!0),[]);const f=l||s&&(null==(c=null==globalThis?void 0:globalThis.document)?void 0:c.body);return f?t.createPortal(i.jsx(r.Primitive.div,{...u,ref:n}),f):null});c.displayName="Portal",exports.Portal=c;
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import ReactDOM__default from "react-dom";
3
+ import { Primitive } from "./index72.js";
4
+ import { useLayoutEffect as useLayoutEffect2 } from "./index78.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var PORTAL_NAME = "Portal";
7
+ var Portal = React.forwardRef((props, forwardedRef) => {
8
+ var _a;
9
+ const { container: containerProp, ...portalProps } = props;
10
+ const [mounted, setMounted] = React.useState(false);
11
+ useLayoutEffect2(() => setMounted(true), []);
12
+ const container = containerProp || mounted && ((_a = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : _a.body);
13
+ return container ? ReactDOM__default.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
14
+ });
15
+ Portal.displayName = PORTAL_NAME;
16
+ export {
17
+ Portal
18
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),n=require("./index65.cjs"),t=require("./index78.cjs");function r(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const t in e)if("default"!==t){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}return n.default=e,Object.freeze(n)}const o=r(e);var i=e=>{const{present:r,children:i}=e,s=function(e){const[n,r]=o.useState(),i=o.useRef(null),s=o.useRef(e),c=o.useRef("none"),a=e?"mounted":"unmounted",[l,d]=function(e,n){return o.useReducer((e,t)=>n[e][t]??e,e)}(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return o.useEffect(()=>{const e=u(i.current);c.current="mounted"===l?e:"none"},[l]),t.useLayoutEffect(()=>{const n=i.current,t=s.current;if(t!==e){const r=c.current,o=u(n);if(e)d("MOUNT");else if("none"===o||"none"===(null==n?void 0:n.display))d("UNMOUNT");else{d(t&&r!==o?"ANIMATION_OUT":"UNMOUNT")}s.current=e}},[e,d]),t.useLayoutEffect(()=>{if(n){let e;const t=n.ownerDocument.defaultView??window,r=r=>{const o=u(i.current).includes(CSS.escape(r.animationName));if(r.target===n&&o&&(d("ANIMATION_END"),!s.current)){const r=n.style.animationFillMode;n.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=r)})}},o=e=>{e.target===n&&(c.current=u(i.current))};return n.addEventListener("animationstart",o),n.addEventListener("animationcancel",r),n.addEventListener("animationend",r),()=>{t.clearTimeout(e),n.removeEventListener("animationstart",o),n.removeEventListener("animationcancel",r),n.removeEventListener("animationend",r)}}d("ANIMATION_END")},[n,d]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:o.useCallback(e=>{i.current=e?getComputedStyle(e):null,r(e)},[])}}(r),c="function"==typeof i?i({present:s.isPresent}):o.Children.only(i),a=n.useComposedRefs(s.ref,function(e){var n,t;let r=null==(n=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:n.get,o=r&&"isReactWarning"in r&&r.isReactWarning;if(o)return e.ref;if(r=null==(t=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:t.get,o=r&&"isReactWarning"in r&&r.isReactWarning,o)return e.props.ref;return e.props.ref||e.ref}(c));return"function"==typeof i||s.isPresent?o.cloneElement(c,{ref:a}):null};function u(e){return(null==e?void 0:e.animationName)||"none"}i.displayName="Presence",exports.Presence=i;
@@ -0,0 +1,129 @@
1
+ import * as React from "react";
2
+ import { useComposedRefs } from "./index65.js";
3
+ import { useLayoutEffect as useLayoutEffect2 } from "./index78.js";
4
+ function useStateMachine(initialState, machine) {
5
+ return React.useReducer((state, event) => {
6
+ const nextState = machine[state][event];
7
+ return nextState ?? state;
8
+ }, initialState);
9
+ }
10
+ var Presence = (props) => {
11
+ const { present, children } = props;
12
+ const presence = usePresence(present);
13
+ const child = typeof children === "function" ? children({ present: presence.isPresent }) : React.Children.only(children);
14
+ const ref = useComposedRefs(presence.ref, getElementRef(child));
15
+ const forceMount = typeof children === "function";
16
+ return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;
17
+ };
18
+ Presence.displayName = "Presence";
19
+ function usePresence(present) {
20
+ const [node, setNode] = React.useState();
21
+ const stylesRef = React.useRef(null);
22
+ const prevPresentRef = React.useRef(present);
23
+ const prevAnimationNameRef = React.useRef("none");
24
+ const initialState = present ? "mounted" : "unmounted";
25
+ const [state, send] = useStateMachine(initialState, {
26
+ mounted: {
27
+ UNMOUNT: "unmounted",
28
+ ANIMATION_OUT: "unmountSuspended"
29
+ },
30
+ unmountSuspended: {
31
+ MOUNT: "mounted",
32
+ ANIMATION_END: "unmounted"
33
+ },
34
+ unmounted: {
35
+ MOUNT: "mounted"
36
+ }
37
+ });
38
+ React.useEffect(() => {
39
+ const currentAnimationName = getAnimationName(stylesRef.current);
40
+ prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
41
+ }, [state]);
42
+ useLayoutEffect2(() => {
43
+ const styles = stylesRef.current;
44
+ const wasPresent = prevPresentRef.current;
45
+ const hasPresentChanged = wasPresent !== present;
46
+ if (hasPresentChanged) {
47
+ const prevAnimationName = prevAnimationNameRef.current;
48
+ const currentAnimationName = getAnimationName(styles);
49
+ if (present) {
50
+ send("MOUNT");
51
+ } else if (currentAnimationName === "none" || (styles == null ? void 0 : styles.display) === "none") {
52
+ send("UNMOUNT");
53
+ } else {
54
+ const isAnimating = prevAnimationName !== currentAnimationName;
55
+ if (wasPresent && isAnimating) {
56
+ send("ANIMATION_OUT");
57
+ } else {
58
+ send("UNMOUNT");
59
+ }
60
+ }
61
+ prevPresentRef.current = present;
62
+ }
63
+ }, [present, send]);
64
+ useLayoutEffect2(() => {
65
+ if (node) {
66
+ let timeoutId;
67
+ const ownerWindow = node.ownerDocument.defaultView ?? window;
68
+ const handleAnimationEnd = (event) => {
69
+ const currentAnimationName = getAnimationName(stylesRef.current);
70
+ const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));
71
+ if (event.target === node && isCurrentAnimation) {
72
+ send("ANIMATION_END");
73
+ if (!prevPresentRef.current) {
74
+ const currentFillMode = node.style.animationFillMode;
75
+ node.style.animationFillMode = "forwards";
76
+ timeoutId = ownerWindow.setTimeout(() => {
77
+ if (node.style.animationFillMode === "forwards") {
78
+ node.style.animationFillMode = currentFillMode;
79
+ }
80
+ });
81
+ }
82
+ }
83
+ };
84
+ const handleAnimationStart = (event) => {
85
+ if (event.target === node) {
86
+ prevAnimationNameRef.current = getAnimationName(stylesRef.current);
87
+ }
88
+ };
89
+ node.addEventListener("animationstart", handleAnimationStart);
90
+ node.addEventListener("animationcancel", handleAnimationEnd);
91
+ node.addEventListener("animationend", handleAnimationEnd);
92
+ return () => {
93
+ ownerWindow.clearTimeout(timeoutId);
94
+ node.removeEventListener("animationstart", handleAnimationStart);
95
+ node.removeEventListener("animationcancel", handleAnimationEnd);
96
+ node.removeEventListener("animationend", handleAnimationEnd);
97
+ };
98
+ } else {
99
+ send("ANIMATION_END");
100
+ }
101
+ }, [node, send]);
102
+ return {
103
+ isPresent: ["mounted", "unmountSuspended"].includes(state),
104
+ ref: React.useCallback((node2) => {
105
+ stylesRef.current = node2 ? getComputedStyle(node2) : null;
106
+ setNode(node2);
107
+ }, [])
108
+ };
109
+ }
110
+ function getAnimationName(styles) {
111
+ return (styles == null ? void 0 : styles.animationName) || "none";
112
+ }
113
+ function getElementRef(element) {
114
+ var _a, _b;
115
+ let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
116
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
117
+ if (mayWarn) {
118
+ return element.ref;
119
+ }
120
+ getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
121
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
122
+ if (mayWarn) {
123
+ return element.props.ref;
124
+ }
125
+ return element.props.ref || element.ref;
126
+ }
127
+ export {
128
+ Presence
129
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("react-dom"),r=require("./index73.cjs"),i=require("react/jsx-runtime");function n(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const o=n(e),c=n(t);var u=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{const n=r.createSlot(`Primitive.${t}`),c=o.forwardRef((e,r)=>{const{asChild:o,...c}=e,u=o?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),i.jsx(u,{...c,ref:r})});return c.displayName=`Primitive.${t}`,{...e,[t]:c}},{});exports.Primitive=u,exports.dispatchDiscreteCustomEvent=function(e,t){e&&c.flushSync(()=>e.dispatchEvent(t))};
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ import * as ReactDOM from "react-dom";
3
+ import { createSlot } from "./index73.js";
4
+ import { jsx } from "react/jsx-runtime";
5
+ var NODES = [
6
+ "a",
7
+ "button",
8
+ "div",
9
+ "form",
10
+ "h2",
11
+ "h3",
12
+ "img",
13
+ "input",
14
+ "label",
15
+ "li",
16
+ "nav",
17
+ "ol",
18
+ "p",
19
+ "select",
20
+ "span",
21
+ "svg",
22
+ "ul"
23
+ ];
24
+ var Primitive = NODES.reduce((primitive, node) => {
25
+ const Slot = createSlot(`Primitive.${node}`);
26
+ const Node = React.forwardRef((props, forwardedRef) => {
27
+ const { asChild, ...primitiveProps } = props;
28
+ const Comp = asChild ? Slot : node;
29
+ if (typeof window !== "undefined") {
30
+ window[Symbol.for("radix-ui")] = true;
31
+ }
32
+ return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });
33
+ });
34
+ Node.displayName = `Primitive.${node}`;
35
+ return { ...primitive, [node]: Node };
36
+ }, {});
37
+ function dispatchDiscreteCustomEvent(target, event) {
38
+ if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));
39
+ }
40
+ export {
41
+ Primitive,
42
+ dispatchDiscreteCustomEvent
43
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),r=require("./index65.cjs"),t=require("react/jsx-runtime");function n(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const t in e)if("default"!==t){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}return r.default=e,Object.freeze(r)}const o=n(e);function i(e){const t=o.forwardRef((e,t)=>{const{children:n,...i}=e;if(o.isValidElement(n)){const e=function(e){var r,t;let n=null==(r=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:r.get,o=n&&"isReactWarning"in n&&n.isReactWarning;if(o)return e.ref;if(n=null==(t=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:t.get,o=n&&"isReactWarning"in n&&n.isReactWarning,o)return e.props.ref;return e.props.ref||e.ref}(n),l=function(e,r){const t={...r};for(const n in r){const o=e[n],i=r[n];/^on[A-Z]/.test(n)?o&&i?t[n]=(...e)=>{const r=i(...e);return o(...e),r}:o&&(t[n]=o):"style"===n?t[n]={...o,...i}:"className"===n&&(t[n]=[o,i].filter(Boolean).join(" "))}return{...e,...t}}(i,n.props);return n.type!==o.Fragment&&(l.ref=t?r.composeRefs(t,e):e),o.cloneElement(n,l)}return o.Children.count(n)>1?o.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var l=Symbol("radix.slottable");function c(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===l}exports.createSlot=function(e){const r=i(e),n=o.forwardRef((e,n)=>{const{children:i,...l}=e,s=o.Children.toArray(i),a=s.find(c);if(a){const e=a.props.children,i=s.map(r=>r===a?o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null:r);return t.jsx(r,{...l,ref:n,children:o.isValidElement(e)?o.cloneElement(e,void 0,i):null})}return t.jsx(r,{...l,ref:n,children:i})});return n.displayName=`${e}.Slot`,n},exports.createSlottable=function(e){const r=({children:e})=>t.jsx(t.Fragment,{children:e});return r.displayName=`${e}.Slottable`,r.__radixId=l,r};
@@ -0,0 +1,99 @@
1
+ import * as React from "react";
2
+ import { composeRefs } from "./index65.js";
3
+ import { jsx, Fragment } from "react/jsx-runtime";
4
+ // @__NO_SIDE_EFFECTS__
5
+ function createSlot(ownerName) {
6
+ const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
7
+ const Slot2 = React.forwardRef((props, forwardedRef) => {
8
+ const { children, ...slotProps } = props;
9
+ const childrenArray = React.Children.toArray(children);
10
+ const slottable = childrenArray.find(isSlottable);
11
+ if (slottable) {
12
+ const newElement = slottable.props.children;
13
+ const newChildren = childrenArray.map((child) => {
14
+ if (child === slottable) {
15
+ if (React.Children.count(newElement) > 1) return React.Children.only(null);
16
+ return React.isValidElement(newElement) ? newElement.props.children : null;
17
+ } else {
18
+ return child;
19
+ }
20
+ });
21
+ return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
22
+ }
23
+ return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
24
+ });
25
+ Slot2.displayName = `${ownerName}.Slot`;
26
+ return Slot2;
27
+ }
28
+ // @__NO_SIDE_EFFECTS__
29
+ function createSlotClone(ownerName) {
30
+ const SlotClone = React.forwardRef((props, forwardedRef) => {
31
+ const { children, ...slotProps } = props;
32
+ if (React.isValidElement(children)) {
33
+ const childrenRef = getElementRef(children);
34
+ const props2 = mergeProps(slotProps, children.props);
35
+ if (children.type !== React.Fragment) {
36
+ props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
37
+ }
38
+ return React.cloneElement(children, props2);
39
+ }
40
+ return React.Children.count(children) > 1 ? React.Children.only(null) : null;
41
+ });
42
+ SlotClone.displayName = `${ownerName}.SlotClone`;
43
+ return SlotClone;
44
+ }
45
+ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
46
+ // @__NO_SIDE_EFFECTS__
47
+ function createSlottable(ownerName) {
48
+ const Slottable2 = ({ children }) => {
49
+ return /* @__PURE__ */ jsx(Fragment, { children });
50
+ };
51
+ Slottable2.displayName = `${ownerName}.Slottable`;
52
+ Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
53
+ return Slottable2;
54
+ }
55
+ function isSlottable(child) {
56
+ return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
57
+ }
58
+ function mergeProps(slotProps, childProps) {
59
+ const overrideProps = { ...childProps };
60
+ for (const propName in childProps) {
61
+ const slotPropValue = slotProps[propName];
62
+ const childPropValue = childProps[propName];
63
+ const isHandler = /^on[A-Z]/.test(propName);
64
+ if (isHandler) {
65
+ if (slotPropValue && childPropValue) {
66
+ overrideProps[propName] = (...args) => {
67
+ const result = childPropValue(...args);
68
+ slotPropValue(...args);
69
+ return result;
70
+ };
71
+ } else if (slotPropValue) {
72
+ overrideProps[propName] = slotPropValue;
73
+ }
74
+ } else if (propName === "style") {
75
+ overrideProps[propName] = { ...slotPropValue, ...childPropValue };
76
+ } else if (propName === "className") {
77
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
78
+ }
79
+ }
80
+ return { ...slotProps, ...overrideProps };
81
+ }
82
+ function getElementRef(element) {
83
+ var _a, _b;
84
+ let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
85
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
86
+ if (mayWarn) {
87
+ return element.ref;
88
+ }
89
+ getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
90
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
91
+ if (mayWarn) {
92
+ return element.props.ref;
93
+ }
94
+ return element.props.ref || element.ref;
95
+ }
96
+ export {
97
+ createSlot,
98
+ createSlottable
99
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("./index78.cjs");function r(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const n=r(e);var o=n[" useInsertionEffect ".trim().toString()]||t.useLayoutEffect;exports.useControllableState=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:u}){const[c,f,l]=function({defaultProp:e,onChange:t}){const[r,u]=n.useState(e),c=n.useRef(r),f=n.useRef(t);return o(()=>{f.current=t},[t]),n.useEffect(()=>{var e;c.current!==r&&(null==(e=f.current)||e.call(f,r),c.current=r)},[r,c]),[r,u,f]}({defaultProp:t,onChange:r}),s=void 0!==e,a=s?e:c;{const t=n.useRef(void 0!==e);n.useEffect(()=>{const e=t.current;if(e!==s){}t.current=s},[s,u])}const i=n.useCallback(t=>{var r;if(s){const n=function(e){return"function"==typeof e}(t)?t(e):t;n!==e&&(null==(r=l.current)||r.call(l,n))}else f(t)},[s,e,f,l]);return[a,i]};
@@ -0,0 +1,71 @@
1
+ import * as React from "react";
2
+ import { useLayoutEffect as useLayoutEffect2 } from "./index78.js";
3
+ var useInsertionEffect = React[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
4
+ function useControllableState({
5
+ prop,
6
+ defaultProp,
7
+ onChange = () => {
8
+ },
9
+ caller
10
+ }) {
11
+ const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({
12
+ defaultProp,
13
+ onChange
14
+ });
15
+ const isControlled = prop !== void 0;
16
+ const value = isControlled ? prop : uncontrolledProp;
17
+ {
18
+ const isControlledRef = React.useRef(prop !== void 0);
19
+ React.useEffect(() => {
20
+ const wasControlled = isControlledRef.current;
21
+ if (wasControlled !== isControlled) {
22
+ const from = wasControlled ? "controlled" : "uncontrolled";
23
+ const to = isControlled ? "controlled" : "uncontrolled";
24
+ console.warn(
25
+ `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
26
+ );
27
+ }
28
+ isControlledRef.current = isControlled;
29
+ }, [isControlled, caller]);
30
+ }
31
+ const setValue = React.useCallback(
32
+ (nextValue) => {
33
+ var _a;
34
+ if (isControlled) {
35
+ const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
36
+ if (value2 !== prop) {
37
+ (_a = onChangeRef.current) == null ? void 0 : _a.call(onChangeRef, value2);
38
+ }
39
+ } else {
40
+ setUncontrolledProp(nextValue);
41
+ }
42
+ },
43
+ [isControlled, prop, setUncontrolledProp, onChangeRef]
44
+ );
45
+ return [value, setValue];
46
+ }
47
+ function useUncontrolledState({
48
+ defaultProp,
49
+ onChange
50
+ }) {
51
+ const [value, setValue] = React.useState(defaultProp);
52
+ const prevValueRef = React.useRef(value);
53
+ const onChangeRef = React.useRef(onChange);
54
+ useInsertionEffect(() => {
55
+ onChangeRef.current = onChange;
56
+ }, [onChange]);
57
+ React.useEffect(() => {
58
+ var _a;
59
+ if (prevValueRef.current !== value) {
60
+ (_a = onChangeRef.current) == null ? void 0 : _a.call(onChangeRef, value);
61
+ prevValueRef.current = value;
62
+ }
63
+ }, [value, prevValueRef]);
64
+ return [value, setValue, onChangeRef];
65
+ }
66
+ function isFunction(value) {
67
+ return typeof value === "function";
68
+ }
69
+ export {
70
+ useControllableState
71
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),r=require("./index72.cjs"),t=require("react/jsx-runtime");function o(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const t in e)if("default"!==t){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}return r.default=e,Object.freeze(r)}const i=o(e);var n=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),a=i.forwardRef((e,o)=>t.jsx(r.Primitive.span,{...e,ref:o,style:{...n,...e.style}}));a.displayName="VisuallyHidden";var s=a;exports.Root=s,exports.VISUALLY_HIDDEN_STYLES=n,exports.VisuallyHidden=a;
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+ import { Primitive } from "./index72.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ var VISUALLY_HIDDEN_STYLES = Object.freeze({
5
+ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
6
+ position: "absolute",
7
+ border: 0,
8
+ width: 1,
9
+ height: 1,
10
+ padding: 0,
11
+ margin: -1,
12
+ overflow: "hidden",
13
+ clip: "rect(0, 0, 0, 0)",
14
+ whiteSpace: "nowrap",
15
+ wordWrap: "normal"
16
+ });
17
+ var NAME = "VisuallyHidden";
18
+ var VisuallyHidden = React.forwardRef(
19
+ (props, forwardedRef) => {
20
+ return /* @__PURE__ */ jsx(
21
+ Primitive.span,
22
+ {
23
+ ...props,
24
+ ref: forwardedRef,
25
+ style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }
26
+ }
27
+ );
28
+ }
29
+ );
30
+ VisuallyHidden.displayName = NAME;
31
+ var Root = VisuallyHidden;
32
+ export {
33
+ Root,
34
+ VISUALLY_HIDDEN_STYLES,
35
+ VisuallyHidden
36
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function e(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const t=e(require("react"));exports.useCallbackRef=function(e){const r=t.useRef(e);return t.useEffect(()=>{r.current=e}),t.useMemo(()=>(...e)=>{var t;return null==(t=r.current)?void 0:t.call(r,...e)},[])};
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ function useCallbackRef(callback) {
3
+ const callbackRef = React.useRef(callback);
4
+ React.useEffect(() => {
5
+ callbackRef.current = callback;
6
+ });
7
+ return React.useMemo(() => (...args) => {
8
+ var _a;
9
+ return (_a = callbackRef.current) == null ? void 0 : _a.call(callbackRef, ...args);
10
+ }, []);
11
+ }
12
+ export {
13
+ useCallbackRef
14
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("./index76.cjs");function n(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const n in e)if("default"!==n){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}return t.default=e,Object.freeze(t)}const r=n(e);exports.useEscapeKeydown=function(e,n=(null==globalThis?void 0:globalThis.document)){const o=t.useCallbackRef(e);r.useEffect(()=>{const e=e=>{"Escape"===e.key&&o(e)};return n.addEventListener("keydown",e,{capture:!0}),()=>n.removeEventListener("keydown",e,{capture:!0})},[o,n])};
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ import { useCallbackRef } from "./index76.js";
3
+ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis == null ? void 0 : globalThis.document) {
4
+ const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);
5
+ React.useEffect(() => {
6
+ const handleKeyDown = (event) => {
7
+ if (event.key === "Escape") {
8
+ onEscapeKeyDown(event);
9
+ }
10
+ };
11
+ ownerDocument.addEventListener("keydown", handleKeyDown, { capture: true });
12
+ return () => ownerDocument.removeEventListener("keydown", handleKeyDown, { capture: true });
13
+ }, [onEscapeKeyDown, ownerDocument]);
14
+ }
15
+ export {
16
+ useEscapeKeydown
17
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function e(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const o in e)if("default"!==o){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:()=>e[o]})}return t.default=e,Object.freeze(t)}const t=e(require("react"));var o=(null==globalThis?void 0:globalThis.document)?t.useLayoutEffect:()=>{};exports.useLayoutEffect=o;
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ var useLayoutEffect2 = (globalThis == null ? void 0 : globalThis.document) ? React.useLayoutEffect : () => {
3
+ };
4
+ export {
5
+ useLayoutEffect2 as useLayoutEffect
6
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index82.cjs"),t=require("react"),r=require("react-dom");function n(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const o=n(t),i=n(r);var u="undefined"!=typeof document?t.useLayoutEffect:function(){};function s(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(n=r;0!==n--;)if(!s(e[n],t[n]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(t).length)return!1;for(n=r;0!==n--;)if(!{}.hasOwnProperty.call(t,o[n]))return!1;for(n=r;0!==n--;){const r=o[n];if(("_owner"!==r||!e.$$typeof)&&!s(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function f(e){if("undefined"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function c(e,t){const r=f(e);return Math.round(t*r)/r}function l(e){const t=o.useRef(e);return u(()=>{t.current=e}),t}const a=t=>({name:"arrow",options:t,fn(r){const{element:n,padding:o}="function"==typeof t?t(r):t;return n&&(i=n,{}.hasOwnProperty.call(i,"current"))?null!=n.current?e.arrow({element:n.current,padding:o}).fn(r):{}:n?e.arrow({element:n,padding:o}).fn(r):{};var i}});exports.autoUpdate=e.autoUpdate,exports.computePosition=e.computePosition,exports.platform=e.platform,exports.arrow=(e,t)=>({...a(e),options:[e,t]}),exports.flip=(t,r)=>({...e.flip(t),options:[t,r]}),exports.hide=(t,r)=>({...e.hide(t),options:[t,r]}),exports.limitShift=(t,r)=>({...e.limitShift(t),options:[t,r]}),exports.offset=(t,r)=>({...e.offset(t),options:[t,r]}),exports.shift=(t,r)=>({...e.shift(t),options:[t,r]}),exports.size=(t,r)=>({...e.size(t),options:[t,r]}),exports.useFloating=function(t){void 0===t&&(t={});const{placement:r="bottom",strategy:n="absolute",middleware:a=[],platform:p,elements:{reference:d,floating:m}={},transform:g=!0,whileElementsMounted:y,open:w}=t,[x,h]=o.useState({x:0,y:0,strategy:n,placement:r,middlewareData:{},isPositioned:!1}),[b,P]=o.useState(a);s(b,a)||P(a);const[S,O]=o.useState(null),[j,M]=o.useState(null),R=o.useCallback(e=>{e!==q.current&&(q.current=e,O(e))},[]),v=o.useCallback(e=>{e!==z.current&&(z.current=e,M(e))},[]),k=d||S,C=m||j,q=o.useRef(null),z=o.useRef(null),D=o.useRef(x),A=null!=y,E=l(y),F=l(p),T=l(w),U=o.useCallback(()=>{if(!q.current||!z.current)return;const t={placement:r,strategy:n,middleware:b};F.current&&(t.platform=F.current),e.computePosition(q.current,z.current,t).then(e=>{const t={...e,isPositioned:!1!==T.current};$.current&&!s(D.current,t)&&(D.current=t,i.flushSync(()=>{h(t)}))})},[b,r,n,F,T]);u(()=>{!1===w&&D.current.isPositioned&&(D.current.isPositioned=!1,h(e=>({...e,isPositioned:!1})))},[w]);const $=o.useRef(!1);u(()=>($.current=!0,()=>{$.current=!1}),[]),u(()=>{if(k&&(q.current=k),C&&(z.current=C),k&&C){if(E.current)return E.current(k,C,U);U()}},[k,C,U,E,A]);const L=o.useMemo(()=>({reference:q,floating:z,setReference:R,setFloating:v}),[R,v]),V=o.useMemo(()=>({reference:k,floating:C}),[k,C]),_=o.useMemo(()=>{const e={position:n,left:0,top:0};if(!V.floating)return e;const t=c(V.floating,x.x),r=c(V.floating,x.y);return g?{...e,transform:"translate("+t+"px, "+r+"px)",...f(V.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,g,V.floating,x.x,x.y]);return o.useMemo(()=>({...x,update:U,refs:L,elements:V,floatingStyles:_}),[x,U,L,V,_])};