@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,94 @@
1
+ import * as s from "react";
2
+ import * as u from "react-dom";
3
+ import { Timeout as m } from "../../../../utils/esm/useTimeout.js";
4
+ import { useRefWithInit as g } from "../../../../utils/esm/useRefWithInit.js";
5
+ import { useOnMount as h } from "../../../../utils/esm/useOnMount.js";
6
+ import { PATIENT_CLICK_THRESHOLD as I } from "../../utils/constants.js";
7
+ import { popupStoreSelectors as R, createInitialPopupStoreState as T } from "../../utils/popups/store.js";
8
+ import { ReactStore as C } from "../../../../utils/esm/store/ReactStore.js";
9
+ import { PopupTriggerMap as E } from "../../utils/popups/popupTriggerMap.js";
10
+ import { createSelector as n } from "../../../../utils/esm/store/createSelector.js";
11
+ import { focusOut as O, triggerHover as k, triggerPress as y, escapeKey as S } from "../../utils/reason-parts.js";
12
+ function w() {
13
+ return {
14
+ ...T(),
15
+ disabled: !1,
16
+ modal: !1,
17
+ instantType: void 0,
18
+ openMethod: null,
19
+ openChangeReason: null,
20
+ titleElementId: void 0,
21
+ descriptionElementId: void 0,
22
+ stickIfOpen: !0,
23
+ nested: !1,
24
+ openOnHover: !1,
25
+ closeDelay: 0,
26
+ hasViewport: !1
27
+ };
28
+ }
29
+ const H = {
30
+ ...R,
31
+ disabled: n((e) => e.disabled),
32
+ instantType: n((e) => e.instantType),
33
+ openMethod: n((e) => e.openMethod),
34
+ openChangeReason: n((e) => e.openChangeReason),
35
+ modal: n((e) => e.modal),
36
+ stickIfOpen: n((e) => e.stickIfOpen),
37
+ titleElementId: n((e) => e.titleElementId),
38
+ descriptionElementId: n((e) => e.descriptionElementId),
39
+ openOnHover: n((e) => e.openOnHover),
40
+ closeDelay: n((e) => e.closeDelay),
41
+ hasViewport: n((e) => e.hasViewport)
42
+ };
43
+ class f extends C {
44
+ constructor(o) {
45
+ const t = {
46
+ ...w(),
47
+ ...o
48
+ };
49
+ t.open && o?.mounted === void 0 && (t.mounted = !0), super(t, {
50
+ popupRef: /* @__PURE__ */ s.createRef(),
51
+ backdropRef: /* @__PURE__ */ s.createRef(),
52
+ internalBackdropRef: /* @__PURE__ */ s.createRef(),
53
+ onOpenChange: void 0,
54
+ onOpenChangeComplete: void 0,
55
+ triggerFocusTargetRef: /* @__PURE__ */ s.createRef(),
56
+ beforeContentFocusGuardRef: /* @__PURE__ */ s.createRef(),
57
+ stickIfOpenTimeout: new m(),
58
+ triggerElements: new E()
59
+ }, H);
60
+ }
61
+ setOpen = (o, t) => {
62
+ const r = t.reason === k, i = t.reason === y && t.event.detail === 0, d = !o && (t.reason === S || t.reason == null);
63
+ if (t.preventUnmountOnClose = () => {
64
+ this.set("preventUnmountingOnClose", !0);
65
+ }, this.context.onOpenChange?.(o, t), t.isCanceled)
66
+ return;
67
+ const l = {
68
+ open: o,
69
+ nativeEvent: t.event,
70
+ reason: t.reason,
71
+ nested: this.state.nested,
72
+ triggerElement: t.trigger
73
+ };
74
+ this.state.floatingRootContext.context.events?.emit("openchange", l);
75
+ const c = () => {
76
+ const a = {
77
+ open: o,
78
+ openChangeReason: t.reason
79
+ }, p = t.trigger?.id ?? null;
80
+ (p || o) && (a.activeTriggerId = p, a.activeTriggerElement = t.trigger ?? null), this.update(a);
81
+ };
82
+ r ? (this.set("stickIfOpen", !0), this.context.stickIfOpenTimeout.start(I, () => {
83
+ this.set("stickIfOpen", !1);
84
+ }), u.flushSync(c)) : c(), i || d ? this.set("instantType", i ? "click" : "dismiss") : t.reason === O ? this.set("instantType", "focus") : this.set("instantType", void 0);
85
+ };
86
+ static useStore(o, t) {
87
+ const r = g(() => new f(t)).current, i = o ?? r;
88
+ return h(r.disposeEffect), i;
89
+ }
90
+ disposeEffect = () => this.context.stickIfOpenTimeout.disposeEffect();
91
+ }
92
+ export {
93
+ f as PopoverStore
94
+ };
@@ -0,0 +1,120 @@
1
+ import z from "../../../../utils/esm/formatErrorMessage.js";
2
+ import * as o from "react";
3
+ import * as T from "react-dom";
4
+ import { useStableCallback as h } from "../../../../utils/esm/useStableCallback.js";
5
+ import { usePopoverRootContext as J } from "../root/PopoverRootContext.js";
6
+ import { useButton as Q } from "../../use-button/useButton.js";
7
+ import { pressableTriggerOpenStateMapping as W, triggerOpenStateMapping as X } from "../../utils/popupStateMapping.js";
8
+ import { useRenderElement as Z } from "../../utils/useRenderElement.js";
9
+ import { CLICK_TRIGGER_IDENTIFIER as $ } from "../../utils/constants.js";
10
+ import { OPEN_DELAY as ee } from "../utils/constants.js";
11
+ import { useBaseUiId as te } from "../../utils/useBaseUiId.js";
12
+ import { FocusGuard as v } from "../../utils/FocusGuard.js";
13
+ import { createChangeEventDetails as R } from "../../utils/createBaseUIEventDetails.js";
14
+ import { jsxs as re, jsx as c } from "react/jsx-runtime";
15
+ import { useTriggerDataForwarding as oe } from "../../utils/popups/popupStoreUtils.js";
16
+ import { useHoverReferenceInteraction as ne } from "../../floating-ui-react/hooks/useHoverReferenceInteraction.js";
17
+ import { safePolygon as se } from "../../floating-ui-react/safePolygon.js";
18
+ import { useClick as ie } from "../../floating-ui-react/hooks/useClick.js";
19
+ import { useInteractions as ae } from "../../floating-ui-react/hooks/useInteractions.js";
20
+ import { getTabbableBeforeElement as ce, isOutsideEvent as pe, getTabbableAfterElement as ue, getNextTabbable as le } from "../../floating-ui-react/utils/tabbable.js";
21
+ import { triggerPress as E, focusOut as P } from "../../utils/reason-parts.js";
22
+ import { contains as ge } from "../../floating-ui-react/utils/element.js";
23
+ const fe = /* @__PURE__ */ o.forwardRef(function(l, F) {
24
+ const {
25
+ render: de,
26
+ className: be,
27
+ disabled: p = !1,
28
+ nativeButton: O = !0,
29
+ handle: x,
30
+ payload: y,
31
+ openOnHover: g = !1,
32
+ delay: C = ee,
33
+ closeDelay: f = 0,
34
+ id: I,
35
+ ...S
36
+ } = l, M = J(!0), e = x?.store ?? M?.store;
37
+ if (!e)
38
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Popover.Trigger> must be either used within a <Popover.Root> component or provided with a handle." : z(74));
39
+ const n = te(I), m = e.useState("isTriggerActive", n), s = e.useState("floatingRootContext"), B = e.useState("isOpenedByTrigger", n), i = o.useRef(null), {
40
+ registerTrigger: N,
41
+ isMountedByThisTrigger: D
42
+ } = oe(n, i, e, {
43
+ payload: y,
44
+ disabled: p,
45
+ openOnHover: g,
46
+ closeDelay: f
47
+ }), u = e.useState("openChangeReason"), w = e.useState("stickIfOpen"), k = e.useState("openMethod"), A = ne(s, {
48
+ enabled: s != null && g && (k !== "touch" || u !== E),
49
+ mouseOnly: !0,
50
+ move: !1,
51
+ handleClose: se(),
52
+ restMs: C,
53
+ delay: {
54
+ close: f
55
+ },
56
+ triggerElementRef: i,
57
+ isActiveTrigger: m
58
+ }), G = ie(s, {
59
+ enabled: s != null,
60
+ stickIfOpen: w
61
+ }), _ = ae([G]), j = e.useState("triggerProps", D), H = {
62
+ disabled: p,
63
+ open: B
64
+ }, {
65
+ getButtonProps: L,
66
+ buttonRef: U
67
+ } = Q({
68
+ disabled: p,
69
+ native: O
70
+ }), V = o.useMemo(() => ({
71
+ open(t) {
72
+ return t && u === E ? W.open(t) : X.open(t);
73
+ }
74
+ }), [u]), d = Z("button", l, {
75
+ state: H,
76
+ ref: [U, F, N, i],
77
+ props: [_.getReferenceProps(), A, j, {
78
+ [$]: "",
79
+ id: n
80
+ }, S, L],
81
+ stateAttributesMapping: V
82
+ }), b = o.useRef(null), K = h((t) => {
83
+ T.flushSync(() => {
84
+ e.setOpen(!1, R(P, t.nativeEvent, t.currentTarget));
85
+ }), ce(b.current)?.focus();
86
+ }), Y = h((t) => {
87
+ const a = e.select("positionerElement");
88
+ if (a && pe(t, a))
89
+ e.context.beforeContentFocusGuardRef.current?.focus();
90
+ else {
91
+ T.flushSync(() => {
92
+ e.setOpen(!1, R(P, t.nativeEvent, t.currentTarget));
93
+ });
94
+ let r = ue(e.context.triggerFocusTargetRef.current || i.current);
95
+ for (; r !== null && ge(a, r); ) {
96
+ const q = r;
97
+ if (r = le(r), r === q)
98
+ break;
99
+ }
100
+ r?.focus();
101
+ }
102
+ });
103
+ return m ? /* @__PURE__ */ re(o.Fragment, {
104
+ children: [/* @__PURE__ */ c(v, {
105
+ ref: b,
106
+ onFocus: K
107
+ }), /* @__PURE__ */ c(o.Fragment, {
108
+ children: d
109
+ }, n), /* @__PURE__ */ c(v, {
110
+ ref: e.context.triggerFocusTargetRef,
111
+ onFocus: Y
112
+ })]
113
+ }) : /* @__PURE__ */ c(o.Fragment, {
114
+ children: d
115
+ }, n);
116
+ });
117
+ process.env.NODE_ENV !== "production" && (fe.displayName = "PopoverTrigger");
118
+ export {
119
+ fe as PopoverTrigger
120
+ };
@@ -0,0 +1,4 @@
1
+ const o = 300;
2
+ export {
3
+ o as OPEN_DELAY
4
+ };
@@ -0,0 +1,10 @@
1
+ import * as o from "react";
2
+ const t = /* @__PURE__ */ o.createContext(void 0);
3
+ process.env.NODE_ENV !== "production" && (t.displayName = "ToolbarRootContext");
4
+ function r(e) {
5
+ return o.useContext(t);
6
+ }
7
+ export {
8
+ t as ToolbarRootContext,
9
+ r as useToolbarRootContext
10
+ };
@@ -0,0 +1,113 @@
1
+ import * as l from "react";
2
+ import { isHTMLElement as M } from "../../../../@floating-ui/utils/dist/floating-ui.utils.dom.js";
3
+ import { useStableCallback as H } from "../../../utils/esm/useStableCallback.js";
4
+ import { error as y } from "../../../utils/esm/error.js";
5
+ import { SafeReact as B } from "../../../utils/esm/safeReact.js";
6
+ import { useIsoLayoutEffect as A } from "../../../utils/esm/useIsoLayoutEffect.js";
7
+ import { useCompositeRootContext as L } from "../composite/root/CompositeRootContext.js";
8
+ import { useFocusableWhenDisabled as W } from "../utils/useFocusableWhenDisabled.js";
9
+ import { mergeProps as $, makeEventPreventable as x } from "../merge-props/mergeProps.js";
10
+ function Y(a = {}) {
11
+ const {
12
+ disabled: o = !1,
13
+ focusableWhenDisabled: C,
14
+ tabIndex: P = 0,
15
+ native: t = !0,
16
+ composite: T
17
+ } = a, i = l.useRef(null), E = L(!0), s = T ?? E !== void 0, {
18
+ props: u
19
+ } = W({
20
+ focusableWhenDisabled: C,
21
+ disabled: o,
22
+ composite: s,
23
+ tabIndex: P,
24
+ isNativeButton: t
25
+ });
26
+ process.env.NODE_ENV !== "production" && l.useEffect(() => {
27
+ if (!i.current)
28
+ return;
29
+ const n = f(i.current);
30
+ if (t) {
31
+ if (!n) {
32
+ const r = B.captureOwnerStack?.() || "";
33
+ y(`A component that acts as a button expected a native <button> because the \`nativeButton\` prop is true. Rendering a non-<button> removes native button semantics, which can impact forms and accessibility. Use a real <button> in the \`render\` prop, or set \`nativeButton\` to \`false\`.${r}`);
34
+ }
35
+ } else if (n) {
36
+ const r = B.captureOwnerStack?.() || "";
37
+ y(`A component that acts as a button expected a non-<button> because the \`nativeButton\` prop is false. Rendering a <button> keeps native behavior while Base UI applies non-native attributes and handlers, which can add unintended extra attributes (such as \`role\` or \`aria-disabled\`). Use a non-<button> in the \`render\` prop, or set \`nativeButton\` to \`true\`.${r}`);
38
+ }
39
+ }, [t]);
40
+ const p = l.useCallback(() => {
41
+ const n = i.current;
42
+ f(n) && s && o && u.disabled === void 0 && n.disabled && (n.disabled = !1);
43
+ }, [o, u.disabled, s]);
44
+ A(p, [p]);
45
+ const U = l.useCallback((n = {}) => {
46
+ const {
47
+ onClick: r,
48
+ onMouseDown: d,
49
+ onKeyUp: O,
50
+ onKeyDown: I,
51
+ onPointerDown: K,
52
+ ...N
53
+ } = n;
54
+ return $({
55
+ type: t ? "button" : void 0,
56
+ onClick(e) {
57
+ if (o) {
58
+ e.preventDefault();
59
+ return;
60
+ }
61
+ r?.(e);
62
+ },
63
+ onMouseDown(e) {
64
+ o || d?.(e);
65
+ },
66
+ onKeyDown(e) {
67
+ if (o || (x(e), I?.(e), e.baseUIHandlerPrevented))
68
+ return;
69
+ const b = e.target === e.currentTarget, c = e.currentTarget, g = f(c), h = !t && V(c), k = b && (t ? g : !h), D = e.key === "Enter", w = e.key === " ", m = c.getAttribute("role"), S = m?.startsWith("menuitem") || m === "option" || m === "gridcell";
70
+ if (b && s && w) {
71
+ if (e.defaultPrevented && S)
72
+ return;
73
+ e.preventDefault(), h || t && g ? (c.click(), e.preventBaseUIHandler()) : k && (r?.(e), e.preventBaseUIHandler());
74
+ return;
75
+ }
76
+ k && (!t && (w || D) && e.preventDefault(), !t && D && r?.(e));
77
+ },
78
+ onKeyUp(e) {
79
+ if (!o) {
80
+ if (x(e), O?.(e), e.target === e.currentTarget && t && s && f(e.currentTarget) && e.key === " ") {
81
+ e.preventDefault();
82
+ return;
83
+ }
84
+ e.baseUIHandlerPrevented || e.target === e.currentTarget && !t && !s && e.key === " " && r?.(e);
85
+ }
86
+ },
87
+ onPointerDown(e) {
88
+ if (o) {
89
+ e.preventDefault();
90
+ return;
91
+ }
92
+ K?.(e);
93
+ }
94
+ }, t ? void 0 : {
95
+ role: "button"
96
+ }, u, N);
97
+ }, [o, u, s, t]), R = H((n) => {
98
+ i.current = n, p();
99
+ });
100
+ return {
101
+ getButtonProps: U,
102
+ buttonRef: R
103
+ };
104
+ }
105
+ function f(a) {
106
+ return M(a) && a.tagName === "BUTTON";
107
+ }
108
+ function V(a) {
109
+ return !!(a?.tagName === "A" && a?.href);
110
+ }
111
+ export {
112
+ Y as useButton
113
+ };
@@ -0,0 +1,26 @@
1
+ import * as r from "react";
2
+ import { useIsoLayoutEffect as a } from "../../../utils/esm/useIsoLayoutEffect.js";
3
+ import { isSafari as u } from "../../../utils/esm/detectBrowser.js";
4
+ import { visuallyHidden as i } from "../../../utils/esm/visuallyHidden.js";
5
+ import { jsx as f } from "react/jsx-runtime";
6
+ const d = /* @__PURE__ */ r.forwardRef(function(t, e) {
7
+ const [o, s] = r.useState();
8
+ return a(() => {
9
+ u && s("button");
10
+ }, []), /* @__PURE__ */ f("span", {
11
+ ...t,
12
+ ref: e,
13
+ style: i,
14
+ "aria-hidden": o ? void 0 : !0,
15
+ ...{
16
+ tabIndex: 0,
17
+ // Role is only for VoiceOver
18
+ role: o
19
+ },
20
+ "data-base-ui-focus-guard": ""
21
+ });
22
+ });
23
+ process.env.NODE_ENV !== "production" && (d.displayName = "FocusGuard");
24
+ export {
25
+ d as FocusGuard
26
+ };
@@ -0,0 +1,41 @@
1
+ import * as i from "react";
2
+ import { jsx as a } from "react/jsx-runtime";
3
+ const c = /* @__PURE__ */ i.forwardRef(function(r, n) {
4
+ const {
5
+ cutout: e,
6
+ ...p
7
+ } = r;
8
+ let o;
9
+ if (e) {
10
+ const t = e?.getBoundingClientRect();
11
+ o = `polygon(
12
+ 0% 0%,
13
+ 100% 0%,
14
+ 100% 100%,
15
+ 0% 100%,
16
+ 0% 0%,
17
+ ${t.left}px ${t.top}px,
18
+ ${t.left}px ${t.bottom}px,
19
+ ${t.right}px ${t.bottom}px,
20
+ ${t.right}px ${t.top}px,
21
+ ${t.left}px ${t.top}px
22
+ )`;
23
+ }
24
+ return /* @__PURE__ */ a("div", {
25
+ ref: n,
26
+ role: "presentation",
27
+ "data-base-ui-inert": "",
28
+ ...p,
29
+ style: {
30
+ position: "fixed",
31
+ inset: 0,
32
+ userSelect: "none",
33
+ WebkitUserSelect: "none",
34
+ clipPath: o
35
+ }
36
+ });
37
+ });
38
+ process.env.NODE_ENV !== "production" && (c.displayName = "InternalBackdrop");
39
+ export {
40
+ c as InternalBackdrop
41
+ };
@@ -0,0 +1,63 @@
1
+ import { ownerDocument as D } from "../../../utils/esm/owner.js";
2
+ import { getSide as v } from "../../../../@floating-ui/utils/dist/floating-ui.utils.js";
3
+ import { getWindow as x } from "../../../../@floating-ui/utils/dist/floating-ui.utils.dom.js";
4
+ const d = {
5
+ sideX: "left",
6
+ sideY: "top"
7
+ }, O = {
8
+ name: "adaptiveOrigin",
9
+ async fn(g) {
10
+ const {
11
+ x: o,
12
+ y: s,
13
+ rects: {
14
+ floating: f
15
+ },
16
+ elements: {
17
+ floating: i
18
+ },
19
+ platform: a,
20
+ strategy: w,
21
+ placement: p
22
+ } = g, t = x(i), l = t.getComputedStyle(i);
23
+ if (!(l.transitionDuration !== "0s" && l.transitionDuration !== ""))
24
+ return {
25
+ x: o,
26
+ y: s,
27
+ data: d
28
+ };
29
+ const r = await a.getOffsetParent?.(i);
30
+ let e = {
31
+ width: 0,
32
+ height: 0
33
+ };
34
+ if (w === "fixed" && t?.visualViewport)
35
+ e = {
36
+ width: t.visualViewport.width,
37
+ height: t.visualViewport.height
38
+ };
39
+ else if (r === t) {
40
+ const m = D(i);
41
+ e = {
42
+ width: m.documentElement.clientWidth,
43
+ height: m.documentElement.clientHeight
44
+ };
45
+ } else await a.isElement?.(r) && (e = await a.getDimensions(r));
46
+ const n = v(p);
47
+ let h = o, c = s;
48
+ n === "left" && (h = e.width - (o + f.width)), n === "top" && (c = e.height - (s + f.height));
49
+ const u = n === "left" ? "right" : d.sideX, y = n === "top" ? "bottom" : d.sideY;
50
+ return {
51
+ x: h,
52
+ y: c,
53
+ data: {
54
+ sideX: u,
55
+ sideY: y
56
+ }
57
+ };
58
+ }
59
+ };
60
+ export {
61
+ d as DEFAULT_SIDES,
62
+ O as adaptiveOrigin
63
+ };
@@ -0,0 +1,30 @@
1
+ import * as n from "react";
2
+ import { useStableCallback as a } from "../../../utils/esm/useStableCallback.js";
3
+ import { jsx as c } from "react/jsx-runtime";
4
+ const s = /* @__PURE__ */ n.createContext(void 0);
5
+ process.env.NODE_ENV !== "production" && (s.displayName = "ClosePartContext");
6
+ function C() {
7
+ const [o, t] = n.useState(0), e = a(() => (t((r) => r + 1), () => {
8
+ t((r) => Math.max(0, r - 1));
9
+ }));
10
+ return {
11
+ context: n.useMemo(() => ({
12
+ register: e
13
+ }), [e]),
14
+ hasClosePart: o > 0
15
+ };
16
+ }
17
+ function m(o) {
18
+ const {
19
+ value: t,
20
+ children: e
21
+ } = o;
22
+ return /* @__PURE__ */ c(s.Provider, {
23
+ value: t,
24
+ children: e
25
+ });
26
+ }
27
+ export {
28
+ m as ClosePartProvider,
29
+ C as useClosePartCount
30
+ };
@@ -0,0 +1,19 @@
1
+ const t = 500, i = {
2
+ style: {
3
+ transition: "none"
4
+ }
5
+ }, n = "data-base-ui-click-trigger", I = {
6
+ fallbackAxisSide: "end"
7
+ }, e = {
8
+ clipPath: "inset(50%)",
9
+ position: "fixed",
10
+ top: 0,
11
+ left: 0
12
+ };
13
+ export {
14
+ n as CLICK_TRIGGER_IDENTIFIER,
15
+ i as DISABLED_TRANSITIONS_STYLE,
16
+ t as PATIENT_CLICK_THRESHOLD,
17
+ I as POPUP_COLLISION_AVOIDANCE,
18
+ e as ownerVisuallyHidden
19
+ };
@@ -0,0 +1,26 @@
1
+ import { EMPTY_OBJECT as l } from "../../../utils/esm/empty.js";
2
+ function u(a, n, o, s) {
3
+ let e = !1, t = !1;
4
+ const r = l;
5
+ return {
6
+ reason: a,
7
+ event: n ?? new Event("base-ui"),
8
+ cancel() {
9
+ e = !0;
10
+ },
11
+ allowPropagation() {
12
+ t = !0;
13
+ },
14
+ get isCanceled() {
15
+ return e;
16
+ },
17
+ get isPropagationAllowed() {
18
+ return t;
19
+ },
20
+ trigger: o,
21
+ ...r
22
+ };
23
+ }
24
+ export {
25
+ u as createChangeEventDetails
26
+ };
@@ -0,0 +1,8 @@
1
+ import { DISABLED_TRANSITIONS_STYLE as r } from "./constants.js";
2
+ import { EMPTY_OBJECT as o } from "../../../utils/esm/empty.js";
3
+ function T(t) {
4
+ return t === "starting" ? r : o;
5
+ }
6
+ export {
7
+ T as getDisabledMountTransitionStyles
8
+ };
@@ -0,0 +1,16 @@
1
+ function i(r, n) {
2
+ const o = {};
3
+ for (const t in r) {
4
+ const e = r[t];
5
+ if (n?.hasOwnProperty(t)) {
6
+ const s = n[t](e);
7
+ s != null && Object.assign(o, s);
8
+ continue;
9
+ }
10
+ e === !0 ? o[`data-${t.toLowerCase()}`] = "" : e && (o[`data-${t.toLowerCase()}`] = e.toString());
11
+ }
12
+ return o;
13
+ }
14
+ export {
15
+ i as getStateAttributesProps
16
+ };
@@ -0,0 +1,20 @@
1
+ import { hide as a } from "../../../../@floating-ui/react-dom/dist/floating-ui.react-dom.js";
2
+ const o = {
3
+ name: "hide",
4
+ async fn(e) {
5
+ const {
6
+ width: n,
7
+ height: d,
8
+ x: i,
9
+ y: t
10
+ } = e.rects.reference, r = n === 0 && d === 0 && i === 0 && t === 0;
11
+ return {
12
+ data: {
13
+ referenceHidden: (await a().fn(e)).data?.referenceHidden || r
14
+ }
15
+ };
16
+ }
17
+ };
18
+ export {
19
+ o as hide
20
+ };
@@ -0,0 +1,40 @@
1
+ import { TransitionStatusDataAttributes as d } from "./stateAttributesMapping.js";
2
+ let r = (function(n) {
3
+ return n.open = "data-open", n.closed = "data-closed", n[n.startingStyle = d.startingStyle] = "startingStyle", n[n.endingStyle = d.endingStyle] = "endingStyle", n.anchorHidden = "data-anchor-hidden", n.side = "data-side", n.align = "data-align", n;
4
+ })({}), e = /* @__PURE__ */ (function(n) {
5
+ return n.popupOpen = "data-popup-open", n.pressed = "data-pressed", n;
6
+ })({});
7
+ const p = {
8
+ [e.popupOpen]: ""
9
+ }, t = {
10
+ [e.popupOpen]: "",
11
+ [e.pressed]: ""
12
+ }, l = {
13
+ [r.open]: ""
14
+ }, O = {
15
+ [r.closed]: ""
16
+ }, i = {
17
+ [r.anchorHidden]: ""
18
+ }, c = {
19
+ open(n) {
20
+ return n ? p : null;
21
+ }
22
+ }, a = {
23
+ open(n) {
24
+ return n ? t : null;
25
+ }
26
+ }, g = {
27
+ open(n) {
28
+ return n ? l : O;
29
+ },
30
+ anchorHidden(n) {
31
+ return n ? i : null;
32
+ }
33
+ };
34
+ export {
35
+ r as CommonPopupDataAttributes,
36
+ e as CommonTriggerDataAttributes,
37
+ g as popupStateMapping,
38
+ a as pressableTriggerOpenStateMapping,
39
+ c as triggerOpenStateMapping
40
+ };