@ledgerhq/lumen-ui-react 0.1.13 → 0.1.15

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 (156) hide show
  1. package/dist/_virtual/index.js +5 -0
  2. package/dist/_virtual/index2.js +4 -0
  3. package/dist/_virtual/use-sync-external-store-shim.development.js +4 -0
  4. package/dist/_virtual/use-sync-external-store-shim.production.js +4 -0
  5. package/dist/_virtual/with-selector.development.js +4 -0
  6. package/dist/_virtual/with-selector.js +5 -0
  7. package/dist/_virtual/with-selector.production.js +4 -0
  8. package/dist/_virtual/with-selector2.js +4 -0
  9. package/dist/index.js +138 -129
  10. package/dist/lib/Components/Avatar/Avatar.js +5 -5
  11. package/dist/lib/Components/BaseInput/BaseInput.js +20 -20
  12. package/dist/lib/Components/MediaBanner/MediaBanner.d.ts +25 -0
  13. package/dist/lib/Components/MediaBanner/MediaBanner.d.ts.map +1 -0
  14. package/dist/lib/Components/MediaBanner/MediaBanner.js +98 -0
  15. package/dist/lib/Components/MediaBanner/index.d.ts +3 -0
  16. package/dist/lib/Components/MediaBanner/index.d.ts.map +1 -0
  17. package/dist/lib/Components/MediaBanner/types.d.ts +53 -0
  18. package/dist/lib/Components/MediaBanner/types.d.ts.map +1 -0
  19. package/dist/lib/Components/Popover/Popover.d.ts +57 -0
  20. package/dist/lib/Components/Popover/Popover.d.ts.map +1 -0
  21. package/dist/lib/Components/Popover/Popover.js +126 -0
  22. package/dist/lib/Components/Popover/index.d.ts +3 -0
  23. package/dist/lib/Components/Popover/index.d.ts.map +1 -0
  24. package/dist/lib/Components/Popover/types.d.ts +129 -0
  25. package/dist/lib/Components/Popover/types.d.ts.map +1 -0
  26. package/dist/lib/Components/Tag/Tag.js +5 -5
  27. package/dist/lib/Components/Tooltip/Tooltip.js +1 -1
  28. package/dist/lib/Components/index.d.ts +2 -0
  29. package/dist/lib/Components/index.d.ts.map +1 -1
  30. package/dist/lib/Symbols/Icons/Csv.js +5 -5
  31. package/dist/lib/Symbols/Icons/TriangleDown.d.ts +29 -0
  32. package/dist/lib/Symbols/Icons/TriangleDown.d.ts.map +1 -0
  33. package/dist/lib/Symbols/Icons/TriangleDown.js +25 -0
  34. package/dist/lib/Symbols/Icons/TriangleUp.d.ts +29 -0
  35. package/dist/lib/Symbols/Icons/TriangleUp.d.ts.map +1 -0
  36. package/dist/lib/Symbols/Icons/TriangleUp.js +25 -0
  37. package/dist/lib/Symbols/index.d.ts +2 -0
  38. package/dist/lib/Symbols/index.d.ts.map +1 -1
  39. package/dist/lib/Symbols/index.js +104 -100
  40. package/dist/node_modules/@base-ui/react/esm/composite/composite.js +10 -0
  41. package/dist/node_modules/@base-ui/react/esm/composite/root/CompositeRootContext.js +14 -0
  42. package/dist/node_modules/@base-ui/react/esm/direction-provider/DirectionContext.js +10 -0
  43. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingFocusManager.js +284 -0
  44. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingPortal.js +128 -0
  45. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingRootStore.js +60 -0
  46. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingTree.js +58 -0
  47. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingTreeStore.js +17 -0
  48. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useClick.js +67 -0
  49. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useDismiss.js +275 -0
  50. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloating.js +78 -0
  51. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloatingRootContext.js +38 -0
  52. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverFloatingInteraction.js +87 -0
  53. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverInteractionSharedState.js +42 -0
  54. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js +145 -0
  55. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverShared.js +19 -0
  56. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useInteractions.js +48 -0
  57. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useRole.js +76 -0
  58. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useSyncedFloatingRootContext.js +35 -0
  59. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/middleware/arrow.js +47 -0
  60. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/safePolygon.js +131 -0
  61. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/composite.js +7 -0
  62. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/constants.js +7 -0
  63. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/createAttribute.js +6 -0
  64. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/createEventEmitter.js +17 -0
  65. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/element.js +69 -0
  66. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/enqueueFocus.js +16 -0
  67. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/event.js +30 -0
  68. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/getEmptyRootContext.js +17 -0
  69. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/markOthers.js +80 -0
  70. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/nodes.js +15 -0
  71. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/tabbable.js +68 -0
  72. package/dist/node_modules/@base-ui/react/esm/merge-props/mergeProps.js +82 -0
  73. package/dist/node_modules/@base-ui/react/esm/popover/backdrop/PopoverBackdrop.js +39 -0
  74. package/dist/node_modules/@base-ui/react/esm/popover/popup/PopoverPopup.js +88 -0
  75. package/dist/node_modules/@base-ui/react/esm/popover/portal/PopoverPortal.js +24 -0
  76. package/dist/node_modules/@base-ui/react/esm/popover/portal/PopoverPortalContext.js +14 -0
  77. package/dist/node_modules/@base-ui/react/esm/popover/positioner/PopoverPositioner.js +110 -0
  78. package/dist/node_modules/@base-ui/react/esm/popover/positioner/PopoverPositionerContext.js +14 -0
  79. package/dist/node_modules/@base-ui/react/esm/popover/root/PopoverRoot.js +117 -0
  80. package/dist/node_modules/@base-ui/react/esm/popover/root/PopoverRootContext.js +14 -0
  81. package/dist/node_modules/@base-ui/react/esm/popover/store/PopoverHandle.js +44 -0
  82. package/dist/node_modules/@base-ui/react/esm/popover/store/PopoverStore.js +94 -0
  83. package/dist/node_modules/@base-ui/react/esm/popover/trigger/PopoverTrigger.js +120 -0
  84. package/dist/node_modules/@base-ui/react/esm/popover/utils/constants.js +4 -0
  85. package/dist/node_modules/@base-ui/react/esm/toolbar/root/ToolbarRootContext.js +10 -0
  86. package/dist/node_modules/@base-ui/react/esm/use-button/useButton.js +113 -0
  87. package/dist/node_modules/@base-ui/react/esm/utils/FocusGuard.js +26 -0
  88. package/dist/node_modules/@base-ui/react/esm/utils/InternalBackdrop.js +41 -0
  89. package/dist/node_modules/@base-ui/react/esm/utils/adaptiveOriginMiddleware.js +63 -0
  90. package/dist/node_modules/@base-ui/react/esm/utils/closePart.js +30 -0
  91. package/dist/node_modules/@base-ui/react/esm/utils/constants.js +19 -0
  92. package/dist/node_modules/@base-ui/react/esm/utils/createBaseUIEventDetails.js +26 -0
  93. package/dist/node_modules/@base-ui/react/esm/utils/getDisabledMountTransitionStyles.js +8 -0
  94. package/dist/node_modules/@base-ui/react/esm/utils/getStateAttributesProps.js +16 -0
  95. package/dist/node_modules/@base-ui/react/esm/utils/hideMiddleware.js +20 -0
  96. package/dist/node_modules/@base-ui/react/esm/utils/popupStateMapping.js +40 -0
  97. package/dist/node_modules/@base-ui/react/esm/utils/popups/popupStoreUtils.js +95 -0
  98. package/dist/node_modules/@base-ui/react/esm/utils/popups/popupTriggerMap.js +64 -0
  99. package/dist/node_modules/@base-ui/react/esm/utils/popups/store.js +52 -0
  100. package/dist/node_modules/@base-ui/react/esm/utils/reason-parts.js +9 -0
  101. package/dist/node_modules/@base-ui/react/esm/utils/resolveClassName.js +6 -0
  102. package/dist/node_modules/@base-ui/react/esm/utils/resolveRef.js +6 -0
  103. package/dist/node_modules/@base-ui/react/esm/utils/resolveStyle.js +6 -0
  104. package/dist/node_modules/@base-ui/react/esm/utils/stateAttributesMapping.js +16 -0
  105. package/dist/node_modules/@base-ui/react/esm/utils/useAnchorPositioning.js +267 -0
  106. package/dist/node_modules/@base-ui/react/esm/utils/useAnimationsFinished.js +57 -0
  107. package/dist/node_modules/@base-ui/react/esm/utils/useBaseUiId.js +7 -0
  108. package/dist/node_modules/@base-ui/react/esm/utils/useFocusableWhenDisabled.js +24 -0
  109. package/dist/node_modules/@base-ui/react/esm/utils/useOpenChangeComplete.js +22 -0
  110. package/dist/node_modules/@base-ui/react/esm/utils/useOpenInteractionType.js +30 -0
  111. package/dist/node_modules/@base-ui/react/esm/utils/useRenderElement.js +71 -0
  112. package/dist/node_modules/@base-ui/react/esm/utils/useTransitionStatus.js +42 -0
  113. package/dist/node_modules/@base-ui/react/esm/utils/useValueChanged.js +14 -0
  114. package/dist/node_modules/@base-ui/utils/esm/detectBrowser.js +43 -0
  115. package/dist/node_modules/@base-ui/utils/esm/empty.js +7 -0
  116. package/dist/node_modules/@base-ui/utils/esm/error.js +11 -0
  117. package/dist/node_modules/@base-ui/utils/esm/formatErrorMessage.js +11 -0
  118. package/dist/node_modules/@base-ui/utils/esm/getReactElementRef.js +11 -0
  119. package/dist/node_modules/@base-ui/utils/esm/inertValue.js +7 -0
  120. package/dist/node_modules/@base-ui/utils/esm/mergeObjects.js +14 -0
  121. package/dist/node_modules/@base-ui/utils/esm/owner.js +6 -0
  122. package/dist/node_modules/@base-ui/utils/esm/reactVersion.js +8 -0
  123. package/dist/node_modules/@base-ui/utils/esm/safeReact.js +7 -0
  124. package/dist/node_modules/@base-ui/utils/esm/store/ReactStore.js +145 -0
  125. package/dist/node_modules/@base-ui/utils/esm/store/Store.js +86 -0
  126. package/dist/node_modules/@base-ui/utils/esm/store/createSelector.js +25 -0
  127. package/dist/node_modules/@base-ui/utils/esm/store/useStore.js +21 -0
  128. package/dist/node_modules/@base-ui/utils/esm/useAnimationFrame.js +68 -0
  129. package/dist/node_modules/@base-ui/utils/esm/useEnhancedClickHandler.js +19 -0
  130. package/dist/node_modules/@base-ui/utils/esm/useId.js +20 -0
  131. package/dist/node_modules/@base-ui/utils/esm/useIsoLayoutEffect.js +6 -0
  132. package/dist/node_modules/@base-ui/utils/esm/useMergedRefs.js +69 -0
  133. package/dist/node_modules/@base-ui/utils/esm/useOnFirstRender.js +8 -0
  134. package/dist/node_modules/@base-ui/utils/esm/useOnMount.js +8 -0
  135. package/dist/node_modules/@base-ui/utils/esm/useRefWithInit.js +9 -0
  136. package/dist/node_modules/@base-ui/utils/esm/useScrollLock.js +122 -0
  137. package/dist/node_modules/@base-ui/utils/esm/useStableCallback.js +32 -0
  138. package/dist/node_modules/@base-ui/utils/esm/useTimeout.js +32 -0
  139. package/dist/node_modules/@base-ui/utils/esm/useValueAsRef.js +19 -0
  140. package/dist/node_modules/@base-ui/utils/esm/visuallyHidden.js +18 -0
  141. package/dist/node_modules/@base-ui/utils/esm/warn.js +11 -0
  142. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +494 -0
  143. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +402 -0
  144. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +203 -0
  145. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +136 -0
  146. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +128 -0
  147. package/dist/node_modules/reselect/dist/reselect.js +324 -0
  148. package/dist/node_modules/tabbable/dist/index.esm.js +210 -0
  149. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +58 -0
  150. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +57 -0
  151. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +58 -0
  152. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +46 -0
  153. package/dist/node_modules/use-sync-external-store/shim/index.js +10 -0
  154. package/dist/node_modules/use-sync-external-store/shim/with-selector.js +10 -0
  155. package/dist/package.json +2 -1
  156. package/package.json +2 -1
@@ -0,0 +1,95 @@
1
+ import * as l from "react";
2
+ import { useStableCallback as a } from "../../../../utils/esm/useStableCallback.js";
3
+ import { useIsoLayoutEffect as s } from "../../../../utils/esm/useIsoLayoutEffect.js";
4
+ import { useTransitionStatus as f } from "../useTransitionStatus.js";
5
+ import { useOpenChangeComplete as m } from "../useOpenChangeComplete.js";
6
+ function d(e, n) {
7
+ const t = l.useRef(null), r = l.useRef(null);
8
+ return l.useCallback((i) => {
9
+ if (e !== void 0) {
10
+ if (t.current !== null) {
11
+ const c = t.current, g = r.current, u = n.context.triggerElements.getById(c);
12
+ g && u === g && n.context.triggerElements.delete(c), t.current = null, r.current = null;
13
+ }
14
+ i !== null && (t.current = e, r.current = i, n.context.triggerElements.add(e, i));
15
+ }
16
+ }, [n, e]);
17
+ }
18
+ function x(e, n, t, r) {
19
+ const i = t.useState("isMountedByTrigger", e), c = d(e, t), g = a((u) => {
20
+ if (c(u), !u || !t.select("open"))
21
+ return;
22
+ const o = t.select("activeTriggerId");
23
+ if (o === e) {
24
+ t.update({
25
+ activeTriggerElement: u,
26
+ ...r
27
+ });
28
+ return;
29
+ }
30
+ o == null && t.update({
31
+ activeTriggerId: e,
32
+ activeTriggerElement: u,
33
+ ...r
34
+ });
35
+ });
36
+ return s(() => {
37
+ i && t.update({
38
+ activeTriggerElement: n.current,
39
+ ...r
40
+ });
41
+ }, [i, t, n, ...Object.values(r)]), {
42
+ registerTrigger: g,
43
+ isMountedByThisTrigger: i
44
+ };
45
+ }
46
+ function C(e) {
47
+ const n = e.useState("open");
48
+ s(() => {
49
+ if (n && !e.select("activeTriggerId") && e.context.triggerElements.size === 1) {
50
+ const t = e.context.triggerElements.entries().next();
51
+ if (!t.done) {
52
+ const [r, i] = t.value;
53
+ e.update({
54
+ activeTriggerId: r,
55
+ activeTriggerElement: i
56
+ });
57
+ }
58
+ }
59
+ }, [n, e]);
60
+ }
61
+ function I(e, n, t) {
62
+ const {
63
+ mounted: r,
64
+ setMounted: i,
65
+ transitionStatus: c
66
+ } = f(e);
67
+ n.useSyncedValues({
68
+ mounted: r,
69
+ transitionStatus: c
70
+ });
71
+ const g = a(() => {
72
+ i(!1), n.update({
73
+ activeTriggerId: null,
74
+ activeTriggerElement: null,
75
+ mounted: !1
76
+ }), t?.(), n.context.onOpenChangeComplete?.(!1);
77
+ }), u = n.useState("preventUnmountingOnClose");
78
+ return m({
79
+ enabled: !u,
80
+ open: e,
81
+ ref: n.context.popupRef,
82
+ onComplete() {
83
+ e || g();
84
+ }
85
+ }), {
86
+ forceUnmount: g,
87
+ transitionStatus: c
88
+ };
89
+ }
90
+ export {
91
+ C as useImplicitActiveTrigger,
92
+ I as useOpenStateTransitions,
93
+ x as useTriggerDataForwarding,
94
+ d as useTriggerRegistration
95
+ };
@@ -0,0 +1,64 @@
1
+ class n {
2
+ constructor() {
3
+ this.elementsSet = /* @__PURE__ */ new Set(), this.idMap = /* @__PURE__ */ new Map();
4
+ }
5
+ /**
6
+ * Adds a trigger element with the given ID.
7
+ *
8
+ * Note: The provided element is assumed to not be registered under multiple IDs.
9
+ */
10
+ add(e, t) {
11
+ const s = this.idMap.get(e);
12
+ if (s !== t && (s !== void 0 && this.elementsSet.delete(s), this.elementsSet.add(t), this.idMap.set(e, t), process.env.NODE_ENV !== "production" && this.elementsSet.size !== this.idMap.size))
13
+ throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
14
+ }
15
+ /**
16
+ * Removes the trigger element with the given ID.
17
+ */
18
+ delete(e) {
19
+ const t = this.idMap.get(e);
20
+ t && (this.elementsSet.delete(t), this.idMap.delete(e));
21
+ }
22
+ /**
23
+ * Whether the given element is registered as a trigger.
24
+ */
25
+ hasElement(e) {
26
+ return this.elementsSet.has(e);
27
+ }
28
+ /**
29
+ * Whether there is a registered trigger element matching the given predicate.
30
+ */
31
+ hasMatchingElement(e) {
32
+ for (const t of this.elementsSet)
33
+ if (e(t))
34
+ return !0;
35
+ return !1;
36
+ }
37
+ /**
38
+ * Returns the trigger element associated with the given ID, or undefined if no such element exists.
39
+ */
40
+ getById(e) {
41
+ return this.idMap.get(e);
42
+ }
43
+ /**
44
+ * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
45
+ */
46
+ entries() {
47
+ return this.idMap.entries();
48
+ }
49
+ /**
50
+ * Returns an iterable of all registered trigger elements.
51
+ */
52
+ elements() {
53
+ return this.elementsSet.values();
54
+ }
55
+ /**
56
+ * Returns the number of registered trigger elements.
57
+ */
58
+ get size() {
59
+ return this.idMap.size;
60
+ }
61
+ }
62
+ export {
63
+ n as PopupTriggerMap
64
+ };
@@ -0,0 +1,52 @@
1
+ import { getEmptyRootContext as i } from "../../floating-ui-react/utils/getEmptyRootContext.js";
2
+ import { EMPTY_OBJECT as r } from "../../../../utils/esm/empty.js";
3
+ import { createSelector as o } from "../../../../utils/esm/store/createSelector.js";
4
+ function u() {
5
+ return {
6
+ open: !1,
7
+ openProp: void 0,
8
+ mounted: !1,
9
+ transitionStatus: "idle",
10
+ floatingRootContext: i(),
11
+ preventUnmountingOnClose: !1,
12
+ payload: void 0,
13
+ activeTriggerId: null,
14
+ activeTriggerElement: null,
15
+ triggerIdProp: void 0,
16
+ popupElement: null,
17
+ positionerElement: null,
18
+ activeTriggerProps: r,
19
+ inactiveTriggerProps: r,
20
+ popupProps: r
21
+ };
22
+ }
23
+ const t = o((e) => e.triggerIdProp ?? e.activeTriggerId), a = {
24
+ open: o((e) => e.openProp ?? e.open),
25
+ mounted: o((e) => e.mounted),
26
+ transitionStatus: o((e) => e.transitionStatus),
27
+ floatingRootContext: o((e) => e.floatingRootContext),
28
+ preventUnmountingOnClose: o((e) => e.preventUnmountingOnClose),
29
+ payload: o((e) => e.payload),
30
+ activeTriggerId: t,
31
+ activeTriggerElement: o((e) => e.mounted ? e.activeTriggerElement : null),
32
+ /**
33
+ * Whether the trigger with the given ID was used to open the popup.
34
+ */
35
+ isTriggerActive: o((e, n) => n !== void 0 && t(e) === n),
36
+ /**
37
+ * Whether the popup is open and was activated by a trigger with the given ID.
38
+ */
39
+ isOpenedByTrigger: o((e, n) => n !== void 0 && t(e) === n && e.open),
40
+ /**
41
+ * Whether the popup is mounted and was activated by a trigger with the given ID.
42
+ */
43
+ isMountedByTrigger: o((e, n) => n !== void 0 && t(e) === n && e.mounted),
44
+ triggerProps: o((e, n) => n ? e.activeTriggerProps : e.inactiveTriggerProps),
45
+ popupProps: o((e) => e.popupProps),
46
+ popupElement: o((e) => e.popupElement),
47
+ positionerElement: o((e) => e.positionerElement)
48
+ };
49
+ export {
50
+ u as createInitialPopupStoreState,
51
+ a as popupStoreSelectors
52
+ };
@@ -0,0 +1,9 @@
1
+ const e = "trigger-press", s = "trigger-hover", t = "outside-press", r = "focus-out", o = "escape-key", c = "imperative-action";
2
+ export {
3
+ o as escapeKey,
4
+ r as focusOut,
5
+ c as imperativeAction,
6
+ t as outsidePress,
7
+ s as triggerHover,
8
+ e as triggerPress
9
+ };
@@ -0,0 +1,6 @@
1
+ function t(n, o) {
2
+ return typeof n == "function" ? n(o) : n;
3
+ }
4
+ export {
5
+ t as resolveClassName
6
+ };
@@ -0,0 +1,6 @@
1
+ function n(r) {
2
+ return r == null ? r : "current" in r ? r.current : r;
3
+ }
4
+ export {
5
+ n as resolveRef
6
+ };
@@ -0,0 +1,6 @@
1
+ function e(n, o) {
2
+ return typeof n == "function" ? n(o) : n;
3
+ }
4
+ export {
5
+ e as resolveStyle
6
+ };
@@ -0,0 +1,16 @@
1
+ let n = /* @__PURE__ */ (function(t) {
2
+ return t.startingStyle = "data-starting-style", t.endingStyle = "data-ending-style", t;
3
+ })({});
4
+ const e = {
5
+ [n.startingStyle]: ""
6
+ }, i = {
7
+ [n.endingStyle]: ""
8
+ }, r = {
9
+ transitionStatus(t) {
10
+ return t === "starting" ? e : t === "ending" ? i : null;
11
+ }
12
+ };
13
+ export {
14
+ n as TransitionStatusDataAttributes,
15
+ r as transitionStatusMapping
16
+ };
@@ -0,0 +1,267 @@
1
+ import * as d from "react";
2
+ import { getSide as T, getAlignment as Fe, getSideAxis as Me } from "../../../../@floating-ui/utils/dist/floating-ui.utils.js";
3
+ import { ownerDocument as qe } from "../../../utils/esm/owner.js";
4
+ import { useIsoLayoutEffect as N } from "../../../utils/esm/useIsoLayoutEffect.js";
5
+ import { useValueAsRef as Q } from "../../../utils/esm/useValueAsRef.js";
6
+ import { useStableCallback as Ge } from "../../../utils/esm/useStableCallback.js";
7
+ import { useDirection as Je } from "../direction-provider/DirectionContext.js";
8
+ import { arrow as Ke } from "../floating-ui-react/middleware/arrow.js";
9
+ import { hide as Ne } from "./hideMiddleware.js";
10
+ import { DEFAULT_SIDES as Qe } from "./adaptiveOriginMiddleware.js";
11
+ import { useFloating as Ze } from "../floating-ui-react/hooks/useFloating.js";
12
+ import { autoUpdate as De } from "../../../../@floating-ui/dom/dist/floating-ui.dom.js";
13
+ import { offset as et, shift as tt, flip as nt, size as ot, limitShift as it } from "../../../../@floating-ui/react-dom/dist/floating-ui.react-dom.js";
14
+ function He(a, u, h) {
15
+ const n = a === "inline-start" || a === "inline-end";
16
+ return {
17
+ top: "top",
18
+ right: n ? h ? "inline-start" : "inline-end" : "right",
19
+ bottom: "bottom",
20
+ left: n ? h ? "inline-end" : "inline-start" : "left"
21
+ }[u];
22
+ }
23
+ function ke(a, u, h) {
24
+ const {
25
+ rects: n,
26
+ placement: c
27
+ } = a;
28
+ return {
29
+ side: He(u, T(c), h),
30
+ align: Fe(c) || "center",
31
+ anchor: {
32
+ width: n.reference.width,
33
+ height: n.reference.height
34
+ },
35
+ positioner: {
36
+ width: n.floating.width,
37
+ height: n.floating.height
38
+ }
39
+ };
40
+ }
41
+ function wt(a) {
42
+ const {
43
+ // Public parameters
44
+ anchor: u,
45
+ positionMethod: h = "absolute",
46
+ side: n = "bottom",
47
+ sideOffset: c = 0,
48
+ align: S = "center",
49
+ alignOffset: z = 0,
50
+ collisionBoundary: Z,
51
+ collisionPadding: Le = 5,
52
+ sticky: B = !1,
53
+ arrowPadding: ee = 5,
54
+ disableAnchorTracking: V = !1,
55
+ // Private parameters
56
+ keepMounted: I = !1,
57
+ floatingRootContext: M,
58
+ mounted: r,
59
+ collisionAvoidance: U,
60
+ shiftCrossAxis: R = !1,
61
+ nodeId: Te,
62
+ adaptiveOrigin: W,
63
+ lazyFlip: te = !1,
64
+ externalTree: ze
65
+ } = a, [ne, oe] = d.useState(null);
66
+ !r && ne !== null && oe(null);
67
+ const P = U.side || "flip", O = U.align || "flip", Be = U.fallbackAxisSide || "end", ie = typeof u == "function" ? u : void 0, Ve = Ge(ie), re = ie ? Ve : u, D = Q(u), y = Je() === "rtl", se = ne || {
68
+ top: "top",
69
+ right: "right",
70
+ bottom: "bottom",
71
+ left: "left",
72
+ "inline-end": y ? "left" : "right",
73
+ "inline-start": y ? "right" : "left"
74
+ }[n], Ie = S === "center" ? se : `${se}-${S}`;
75
+ let t = Le;
76
+ const p = 1, ce = n === "bottom" ? p : 0, le = n === "top" ? p : 0, ae = n === "right" ? p : 0, fe = n === "left" ? p : 0;
77
+ typeof t == "number" ? t = {
78
+ top: t + ce,
79
+ right: t + fe,
80
+ bottom: t + le,
81
+ left: t + ae
82
+ } : t && (t = {
83
+ top: (t.top || 0) + ce,
84
+ right: (t.right || 0) + fe,
85
+ bottom: (t.bottom || 0) + le,
86
+ left: (t.left || 0) + ae
87
+ });
88
+ const k = {
89
+ boundary: Z === "clipping-ancestors" ? "clippingAncestors" : Z,
90
+ padding: t
91
+ }, x = d.useRef(null), Y = Q(c), X = Q(z), C = [et((e) => {
92
+ const o = ke(e, n, y), l = typeof Y.current == "function" ? Y.current(o) : Y.current, i = typeof X.current == "function" ? X.current(o) : X.current;
93
+ return {
94
+ mainAxis: l,
95
+ crossAxis: i,
96
+ alignmentAxis: i
97
+ };
98
+ }, [typeof c != "function" ? c : 0, typeof z != "function" ? z : 0, y, n])], de = O === "none" && P !== "shift", ue = !de && (B || R || P === "shift"), pe = P === "none" ? null : nt({
99
+ ...k,
100
+ // Ensure the popup flips if it's been limited by its --available-height and it resizes.
101
+ // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
102
+ padding: {
103
+ top: t.top + p,
104
+ right: t.right + p,
105
+ bottom: t.bottom + p,
106
+ left: t.left + p
107
+ },
108
+ mainAxis: !R && P === "flip",
109
+ crossAxis: O === "flip" ? "alignment" : !1,
110
+ fallbackAxisSideDirection: Be
111
+ }), he = de ? null : tt((e) => {
112
+ const o = qe(e.elements.floating).documentElement;
113
+ return {
114
+ ...k,
115
+ // Use the Layout Viewport to avoid shifting around when pinch-zooming
116
+ // for context menus.
117
+ rootBoundary: R ? {
118
+ x: 0,
119
+ y: 0,
120
+ width: o.clientWidth,
121
+ height: o.clientHeight
122
+ } : void 0,
123
+ mainAxis: O !== "none",
124
+ crossAxis: ue,
125
+ limiter: B || R ? void 0 : it((l) => {
126
+ if (!x.current)
127
+ return {};
128
+ const {
129
+ width: i,
130
+ height: f
131
+ } = x.current.getBoundingClientRect(), s = Me(T(l.placement)), g = s === "y" ? i : f, A = s === "y" ? t.left + t.right : t.top + t.bottom;
132
+ return {
133
+ offset: g / 2 + A / 2
134
+ };
135
+ })
136
+ };
137
+ }, [k, B, R, t, O]);
138
+ P === "shift" || O === "shift" || S === "center" ? C.push(he, pe) : C.push(pe, he), C.push(ot({
139
+ ...k,
140
+ apply({
141
+ elements: {
142
+ floating: e
143
+ },
144
+ availableWidth: o,
145
+ availableHeight: l,
146
+ rects: i
147
+ }) {
148
+ const f = e.style;
149
+ f.setProperty("--available-width", `${o}px`), f.setProperty("--available-height", `${l}px`);
150
+ const s = window.devicePixelRatio || 1, {
151
+ x: g,
152
+ y: A,
153
+ width: L,
154
+ height: q
155
+ } = i.reference, G = (Math.round((g + L) * s) - Math.round(g * s)) / s, J = (Math.round((A + q) * s) - Math.round(A * s)) / s;
156
+ f.setProperty("--anchor-width", `${G}px`), f.setProperty("--anchor-height", `${J}px`);
157
+ }
158
+ }), Ke(() => ({
159
+ // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
160
+ // we'll create a fake element.
161
+ element: x.current || document.createElement("div"),
162
+ padding: ee,
163
+ offsetParent: "floating"
164
+ }), [ee]), {
165
+ name: "transformOrigin",
166
+ fn(e) {
167
+ const {
168
+ elements: o,
169
+ middlewareData: l,
170
+ placement: i,
171
+ rects: f,
172
+ y: s
173
+ } = e, g = T(i), A = Me(g), L = x.current, q = l.arrow?.x || 0, G = l.arrow?.y || 0, J = L?.clientWidth || 0, Ue = L?.clientHeight || 0, K = q + J / 2, Ee = G + Ue / 2, We = Math.abs(l.shift?.y || 0), Ye = f.reference.height / 2, E = typeof c == "function" ? c(ke(e, n, y)) : c, Xe = We > E, je = {
174
+ top: `${K}px calc(100% + ${E}px)`,
175
+ bottom: `${K}px ${-E}px`,
176
+ left: `calc(100% + ${E}px) ${Ee}px`,
177
+ right: `${-E}px ${Ee}px`
178
+ }[g], _e = `${K}px ${f.reference.y + Ye - s}px`;
179
+ return o.floating.style.setProperty("--transform-origin", ue && A === "y" && Xe ? _e : je), {};
180
+ }
181
+ }, Ne, W), N(() => {
182
+ !r && M && M.update({
183
+ referenceElement: null,
184
+ floatingElement: null,
185
+ domReferenceElement: null
186
+ });
187
+ }, [r, M]);
188
+ const j = d.useMemo(() => ({
189
+ elementResize: !V && typeof ResizeObserver < "u",
190
+ layoutShift: !V && typeof IntersectionObserver < "u"
191
+ }), [V]), {
192
+ refs: b,
193
+ elements: v,
194
+ x: me,
195
+ y: ge,
196
+ middlewareData: w,
197
+ update: F,
198
+ placement: ye,
199
+ context: xe,
200
+ isPositioned: m,
201
+ floatingStyles: be
202
+ } = Ze({
203
+ rootContext: M,
204
+ placement: Ie,
205
+ middleware: C,
206
+ strategy: h,
207
+ whileElementsMounted: I ? void 0 : (...e) => De(...e, j),
208
+ nodeId: Te,
209
+ externalTree: ze
210
+ }), {
211
+ sideX: we,
212
+ sideY: Ae
213
+ } = w.adaptiveOrigin || Qe, _ = m ? h : "fixed", Se = d.useMemo(() => {
214
+ const e = W ? {
215
+ position: _,
216
+ [we]: me,
217
+ [Ae]: ge
218
+ } : {
219
+ position: _,
220
+ ...be
221
+ };
222
+ return m || (e.opacity = 0), e;
223
+ }, [W, _, we, me, Ae, ge, be, m]), H = d.useRef(null);
224
+ N(() => {
225
+ if (!r)
226
+ return;
227
+ const e = D.current, o = typeof e == "function" ? e() : e, i = (Ce(o) ? o.current : o) || null || null;
228
+ i !== H.current && (b.setPositionReference(i), H.current = i);
229
+ }, [r, b, re, D]), d.useEffect(() => {
230
+ if (!r)
231
+ return;
232
+ const e = D.current;
233
+ typeof e != "function" && Ce(e) && e.current !== H.current && (b.setPositionReference(e.current), H.current = e.current);
234
+ }, [r, b, re, D]), d.useEffect(() => {
235
+ if (I && r && v.domReference && v.floating)
236
+ return De(v.domReference, v.floating, F, j);
237
+ }, [I, r, v, F, j]);
238
+ const $ = T(ye), Re = He(n, $, y), Pe = Fe(ye) || "center", Oe = !!w.hide?.referenceHidden;
239
+ N(() => {
240
+ te && r && m && oe($);
241
+ }, [te, r, m, $]);
242
+ const ve = d.useMemo(() => ({
243
+ position: "absolute",
244
+ top: w.arrow?.y,
245
+ left: w.arrow?.x
246
+ }), [w.arrow]), $e = w.arrow?.centerOffset !== 0;
247
+ return d.useMemo(() => ({
248
+ positionerStyles: Se,
249
+ arrowStyles: ve,
250
+ arrowRef: x,
251
+ arrowUncentered: $e,
252
+ side: Re,
253
+ align: Pe,
254
+ physicalSide: $,
255
+ anchorHidden: Oe,
256
+ refs: b,
257
+ context: xe,
258
+ isPositioned: m,
259
+ update: F
260
+ }), [Se, ve, x, $e, Re, Pe, $, Oe, b, xe, m, F]);
261
+ }
262
+ function Ce(a) {
263
+ return a != null && "current" in a;
264
+ }
265
+ export {
266
+ wt as useAnchorPositioning
267
+ };
@@ -0,0 +1,57 @@
1
+ import * as b from "react-dom";
2
+ import { useAnimationFrame as A } from "../../../utils/esm/useAnimationFrame.js";
3
+ import { useStableCallback as d } from "../../../utils/esm/useStableCallback.js";
4
+ import { resolveRef as S } from "./resolveRef.js";
5
+ import { TransitionStatusDataAttributes as h } from "./stateAttributesMapping.js";
6
+ function D(c, f = !1, l = !0) {
7
+ const i = A();
8
+ return d((s, o = null) => {
9
+ i.cancel();
10
+ function a() {
11
+ b.flushSync(s);
12
+ }
13
+ const u = S(c);
14
+ if (u == null)
15
+ return;
16
+ const e = u;
17
+ if (typeof e.getAnimations != "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED)
18
+ s();
19
+ else {
20
+ let m = function() {
21
+ const t = h.startingStyle;
22
+ if (!e.hasAttribute(t)) {
23
+ i.request(r);
24
+ return;
25
+ }
26
+ const n = new MutationObserver(() => {
27
+ e.hasAttribute(t) || (n.disconnect(), r());
28
+ });
29
+ n.observe(e, {
30
+ attributes: !0,
31
+ attributeFilter: [t]
32
+ }), o?.addEventListener("abort", () => n.disconnect(), {
33
+ once: !0
34
+ });
35
+ }, r = function() {
36
+ Promise.all(e.getAnimations().map((t) => t.finished)).then(() => {
37
+ o?.aborted || a();
38
+ }).catch(() => {
39
+ const t = e.getAnimations();
40
+ if (l) {
41
+ if (o?.aborted)
42
+ return;
43
+ a();
44
+ } else t.length > 0 && t.some((n) => n.pending || n.playState !== "finished") && r();
45
+ });
46
+ };
47
+ if (f) {
48
+ m();
49
+ return;
50
+ }
51
+ i.request(r);
52
+ }
53
+ });
54
+ }
55
+ export {
56
+ D as useAnimationsFinished
57
+ };
@@ -0,0 +1,7 @@
1
+ import { useId as r } from "../../../utils/esm/useId.js";
2
+ function i(e) {
3
+ return r(e, "base-ui");
4
+ }
5
+ export {
6
+ i as useBaseUiId
7
+ };
@@ -0,0 +1,24 @@
1
+ import * as r from "react";
2
+ function f(l) {
3
+ const {
4
+ focusableWhenDisabled: e,
5
+ disabled: o,
6
+ composite: t = !1,
7
+ tabIndex: i = 0,
8
+ isNativeButton: s
9
+ } = l, n = t && e !== !1, b = t && e === !1;
10
+ return {
11
+ props: r.useMemo(() => {
12
+ const a = {
13
+ // allow Tabbing away from focusableWhenDisabled elements
14
+ onKeyDown(d) {
15
+ o && e && d.key !== "Tab" && d.preventDefault();
16
+ }
17
+ };
18
+ return t || (a.tabIndex = i, !s && o && (a.tabIndex = e ? i : -1)), (s && (e || n) || !s && o) && (a["aria-disabled"] = o), s && (!e || b) && (a.disabled = o), a;
19
+ }, [t, o, e, n, b, s, i])
20
+ };
21
+ }
22
+ export {
23
+ f as useFocusableWhenDisabled
24
+ };
@@ -0,0 +1,22 @@
1
+ import * as l from "react";
2
+ import { useStableCallback as m } from "../../../utils/esm/useStableCallback.js";
3
+ import { useAnimationsFinished as f } from "./useAnimationsFinished.js";
4
+ function c(a) {
5
+ const {
6
+ enabled: e = !0,
7
+ open: n,
8
+ ref: i,
9
+ onComplete: s
10
+ } = a, o = m(s), t = f(i, n, !1);
11
+ l.useEffect(() => {
12
+ if (!e)
13
+ return;
14
+ const r = new AbortController();
15
+ return t(o, r.signal), () => {
16
+ r.abort();
17
+ };
18
+ }, [e, n, o, t]);
19
+ }
20
+ export {
21
+ c as useOpenChangeComplete
22
+ };
@@ -0,0 +1,30 @@
1
+ import * as l from "react";
2
+ import { useStableCallback as c } from "../../../utils/esm/useStableCallback.js";
3
+ import { useEnhancedClickHandler as u } from "../../../utils/esm/useEnhancedClickHandler.js";
4
+ import { isIOS as m } from "../../../utils/esm/detectBrowser.js";
5
+ import { useValueChanged as p } from "./useValueChanged.js";
6
+ function C(e) {
7
+ const [o, t] = l.useState(null), s = c((i, a) => {
8
+ e || t(a || // On iOS Safari, the hitslop around touch targets means tapping outside an element's
9
+ // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`
10
+ // will be "" in that case.
11
+ (m ? "touch" : ""));
12
+ });
13
+ p(e, (i) => {
14
+ i && !e && t(null);
15
+ });
16
+ const {
17
+ onClick: r,
18
+ onPointerDown: n
19
+ } = u(s);
20
+ return l.useMemo(() => ({
21
+ openMethod: o,
22
+ triggerProps: {
23
+ onClick: r,
24
+ onPointerDown: n
25
+ }
26
+ }), [o, r, n]);
27
+ }
28
+ export {
29
+ C as useOpenInteractionType
30
+ };