@overmap-ai/blocks 1.0.40-phone-input.0 → 1.0.40-slide-out-resize-handle.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/Layout/SlideOutClose.d.ts +5 -0
  2. package/dist/Layout/SlideOutContent.d.ts +6 -0
  3. package/dist/Layout/SlideOutHandle.d.ts +5 -0
  4. package/dist/Layout/SlideOutOverlay.d.ts +2 -5
  5. package/dist/Layout/SlideOutRoot.d.ts +10 -0
  6. package/dist/Layout/SlideOutTrigger.d.ts +2 -6
  7. package/dist/Layout/SlideOutViewport.d.ts +5 -0
  8. package/dist/Layout/context.d.ts +0 -1
  9. package/dist/Layout/index.d.ts +11 -3
  10. package/dist/Layout/typings.d.ts +3 -0
  11. package/dist/LuIcon/LuIcon.d.ts +4 -6
  12. package/dist/LuIcon/index.d.ts +1 -1
  13. package/dist/LuIcon/typings.d.ts +2 -2
  14. package/dist/SlideOut/Close.d.ts +4 -0
  15. package/dist/SlideOut/Content.d.ts +11 -0
  16. package/dist/SlideOut/Handle.d.ts +5 -0
  17. package/dist/SlideOut/Overlay.d.ts +4 -0
  18. package/dist/SlideOut/Root.d.ts +9 -0
  19. package/dist/SlideOut/Trigger.d.ts +4 -0
  20. package/dist/SlideOut/Viewport.d.ts +4 -0
  21. package/dist/SlideOut/constants.d.ts +1 -0
  22. package/dist/SlideOut/context.d.ts +17 -0
  23. package/dist/SlideOut/index.d.ts +18 -1
  24. package/dist/SlideOut/typings.d.ts +2 -0
  25. package/dist/blocks.js +387 -354
  26. package/dist/blocks.js.map +1 -1
  27. package/dist/blocks.umd.cjs +385 -350
  28. package/dist/blocks.umd.cjs.map +1 -1
  29. package/dist/index.d.ts +0 -1
  30. package/package.json +1 -2
  31. package/dist/Layout/SlideOut.d.ts +0 -20
  32. package/dist/PhoneNumberInput/CountrySelect.d.ts +0 -11
  33. package/dist/PhoneNumberInput/FlagComponent.d.ts +0 -2
  34. package/dist/PhoneNumberInput/InputComponent.d.ts +0 -5
  35. package/dist/PhoneNumberInput/PhoneNumberInput.d.ts +0 -6
  36. package/dist/PhoneNumberInput/context.d.ts +0 -4
  37. package/dist/PhoneNumberInput/index.d.ts +0 -2
  38. package/dist/PhoneNumberInput/typings.d.ts +0 -9
  39. package/dist/SlideOut/SlideOut.d.ts +0 -49
@@ -1,6 +1,6 @@
1
1
  (function(global, factory) {
2
- typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@radix-ui/react-alert-dialog"), require("react/jsx-runtime"), require("class-variance-authority"), require("react"), require("@radix-ui/react-avatar"), require("@radix-ui/react-checkbox"), require("react-responsive"), require("cmdk"), require("@radix-ui/react-dialog"), require("react-day-picker"), require("lucide-react/dynamic"), require("@radix-ui/react-hover-card"), require("react-transition-group"), require("react-dom"), require("@radix-ui/react-slot"), require("@floating-ui/react"), require("@radix-ui/react-separator"), require("@radix-ui/react-one-time-password-field"), require("react-error-boundary"), require("react-phone-number-input"), require("lucide-react"), require("react-phone-number-input/min"), require("@radix-ui/react-popover"), require("@radix-ui/react-progress"), require("@radix-ui/react-radio-group"), require("@radix-ui/react-toggle-group"), require("@radix-ui/react-tabs"), require("@radix-ui/react-slider"), require("@radix-ui/react-switch"), require("@radix-ui/react-toast"), require("@radix-ui/react-toggle"), require("@radix-ui/react-tooltip")) : typeof define === "function" && define.amd ? define(["exports", "@radix-ui/react-alert-dialog", "react/jsx-runtime", "class-variance-authority", "react", "@radix-ui/react-avatar", "@radix-ui/react-checkbox", "react-responsive", "cmdk", "@radix-ui/react-dialog", "react-day-picker", "lucide-react/dynamic", "@radix-ui/react-hover-card", "react-transition-group", "react-dom", "@radix-ui/react-slot", "@floating-ui/react", "@radix-ui/react-separator", "@radix-ui/react-one-time-password-field", "react-error-boundary", "react-phone-number-input", "lucide-react", "react-phone-number-input/min", "@radix-ui/react-popover", "@radix-ui/react-progress", "@radix-ui/react-radio-group", "@radix-ui/react-toggle-group", "@radix-ui/react-tabs", "@radix-ui/react-slider", "@radix-ui/react-switch", "@radix-ui/react-toast", "@radix-ui/react-toggle", "@radix-ui/react-tooltip"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.blocks = {}, global.RadixAlertDialog, global.jsxRuntime, global.classVarianceAuthority, global.react, global.RadixAvatar, global.RadixCheckbox, global.reactResponsive, global.cmdk, global.RadixDialog, global.reactDayPicker, global.dynamic, global.RadixHoverCard, global.reactTransitionGroup, global.ReactDOM, global.reactSlot, global.react$1, global.RadixSeparator, global.RadixOneTimePasswordField, global.reactErrorBoundary, global.PhoneInput, global.lucideReact, global.min, global.RadixPopover, global.RadixProgress, global.RadixRadioGroup, global.RadixToggleGroup, global.RadixTabs, global.RadixSlider, global.RadixSwitch, global.RadixToast, global.Toggle, global.RadixTooltip));
3
- })(this, function(exports2, RadixAlertDialog, jsxRuntime, classVarianceAuthority, react, RadixAvatar, RadixCheckbox, reactResponsive, cmdk, RadixDialog, reactDayPicker, dynamic, RadixHoverCard, reactTransitionGroup, ReactDOM, reactSlot, react$1, RadixSeparator, RadixOneTimePasswordField, reactErrorBoundary, PhoneInput, lucideReact, min, RadixPopover, RadixProgress, RadixRadioGroup, RadixToggleGroup, RadixTabs, RadixSlider, RadixSwitch, RadixToast, Toggle, RadixTooltip) {
2
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@radix-ui/react-alert-dialog"), require("react/jsx-runtime"), require("class-variance-authority"), require("react"), require("@radix-ui/react-avatar"), require("@radix-ui/react-checkbox"), require("react-responsive"), require("cmdk"), require("@radix-ui/react-dialog"), require("react-day-picker"), require("lucide-react"), require("@radix-ui/react-hover-card"), require("@radix-ui/react-slot"), require("react-transition-group"), require("react-transition-group/CSSTransition"), require("react-dom"), require("@floating-ui/react"), require("@radix-ui/react-separator"), require("@radix-ui/react-one-time-password-field"), require("react-error-boundary"), require("@radix-ui/react-popover"), require("@radix-ui/react-progress"), require("@radix-ui/react-radio-group"), require("@radix-ui/react-toggle-group"), require("@radix-ui/react-tabs"), require("@radix-ui/react-slider"), require("@radix-ui/react-switch"), require("@radix-ui/react-toast"), require("@radix-ui/react-toggle"), require("@radix-ui/react-tooltip")) : typeof define === "function" && define.amd ? define(["exports", "@radix-ui/react-alert-dialog", "react/jsx-runtime", "class-variance-authority", "react", "@radix-ui/react-avatar", "@radix-ui/react-checkbox", "react-responsive", "cmdk", "@radix-ui/react-dialog", "react-day-picker", "lucide-react", "@radix-ui/react-hover-card", "@radix-ui/react-slot", "react-transition-group", "react-transition-group/CSSTransition", "react-dom", "@floating-ui/react", "@radix-ui/react-separator", "@radix-ui/react-one-time-password-field", "react-error-boundary", "@radix-ui/react-popover", "@radix-ui/react-progress", "@radix-ui/react-radio-group", "@radix-ui/react-toggle-group", "@radix-ui/react-tabs", "@radix-ui/react-slider", "@radix-ui/react-switch", "@radix-ui/react-toast", "@radix-ui/react-toggle", "@radix-ui/react-tooltip"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.blocks = {}, global.RadixAlertDialog, global.jsxRuntime, global.classVarianceAuthority, global.react, global.RadixAvatar, global.RadixCheckbox, global.reactResponsive, global.cmdk, global.RadixDialog, global.reactDayPicker, global.lucideReact, global.RadixHoverCard, global.reactSlot, global.reactTransitionGroup, null, global.ReactDOM, global.react$1, global.RadixSeparator, global.RadixOneTimePasswordField, global.reactErrorBoundary, global.RadixPopover, global.RadixProgress, global.RadixRadioGroup, global.RadixToggleGroup, global.RadixTabs, global.RadixSlider, global.RadixSwitch, global.RadixToast, global.Toggle, global.RadixTooltip));
3
+ })(this, function(exports2, RadixAlertDialog, jsxRuntime, classVarianceAuthority, react, RadixAvatar, RadixCheckbox, reactResponsive, cmdk, RadixDialog, reactDayPicker, lucideReact, RadixHoverCard, reactSlot, reactTransitionGroup, CSSTransition, ReactDOM, react$1, RadixSeparator, RadixOneTimePasswordField, reactErrorBoundary, RadixPopover, RadixProgress, RadixRadioGroup, RadixToggleGroup, RadixTabs, RadixSlider, RadixSwitch, RadixToast, Toggle, RadixTooltip) {
4
4
  "use strict";
5
5
  function _interopNamespaceDefault(e) {
6
6
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
@@ -1655,21 +1655,21 @@
1655
1655
  PageTriggerItem: CommandMenuPageTriggerItem
1656
1656
  };
1657
1657
  const LuIcon = react.memo((props) => {
1658
- const { ref, icon, className, size = "1em", ...rest } = props;
1659
- return /* @__PURE__ */ jsxRuntime.jsx(dynamic.DynamicIcon, { ref, className: classVarianceAuthority.cx("shrink-0", className), size, name: icon, ...rest });
1658
+ const { ref, icon: Icon, className, size = "1em", ...rest } = props;
1659
+ return /* @__PURE__ */ jsxRuntime.jsx(Icon, { ref, className: classVarianceAuthority.cx("shrink-0", className), size, ...rest });
1660
1660
  });
1661
1661
  LuIcon.displayName = "LuIcon";
1662
1662
  const Chevron = (props) => {
1663
1663
  const { orientation, ...rest } = props;
1664
1664
  switch (orientation) {
1665
1665
  case "up":
1666
- return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: "chevron-up", ...rest });
1666
+ return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.ChevronUp, ...rest });
1667
1667
  case "down":
1668
- return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: "chevron-down", ...rest });
1668
+ return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.ChevronDown, ...rest });
1669
1669
  case "left":
1670
- return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: "chevron-left", ...rest });
1670
+ return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.ChevronLeft, ...rest });
1671
1671
  default:
1672
- return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: "chevron-right", ...rest });
1672
+ return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.ChevronRight, ...rest });
1673
1673
  }
1674
1674
  };
1675
1675
  const rootCva = classVarianceAuthority.cva(["relative", "size-max"], {
@@ -2234,9 +2234,9 @@
2234
2234
  const LayoutContext = react.createContext({});
2235
2235
  const useLayoutContext = () => react.useContext(LayoutContext);
2236
2236
  const LayoutContainer = react.memo((props) => {
2237
- const { ref, children, className, ...rest } = props;
2237
+ const { ref, children, ...rest } = props;
2238
2238
  const { hideLayout = false } = useLayoutContext();
2239
- return !hideLayout && /* @__PURE__ */ jsxRuntime.jsx("div", { className: classVarianceAuthority.cx("flex h-full grow", className), ref, ...rest, children });
2239
+ return !hideLayout && /* @__PURE__ */ jsxRuntime.jsx("div", { ref, ...rest, children });
2240
2240
  });
2241
2241
  LayoutContainer.displayName = "LayoutContainer";
2242
2242
  const LayoutRoot = react.memo((props) => {
@@ -2263,6 +2263,23 @@
2263
2263
  return /* @__PURE__ */ jsxRuntime.jsx(LayoutContext.Provider, { value: contextValue, children });
2264
2264
  });
2265
2265
  LayoutRoot.displayName = "LayoutRoot";
2266
+ const SlideOutRootContext = react.createContext({});
2267
+ const SlideOutContextContext = react.createContext({});
2268
+ const SlideOutClose = react.memo((props) => {
2269
+ const { ref, onClick, disabled, ...rest } = props;
2270
+ const { setOpen } = react.use(SlideOutRootContext);
2271
+ const handleClick = react.useCallback(
2272
+ (e) => {
2273
+ onClick == null ? void 0 : onClick(e);
2274
+ if (e.defaultPrevented) return;
2275
+ setOpen(false);
2276
+ },
2277
+ [onClick, setOpen]
2278
+ );
2279
+ return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { ref, onClick: handleClick, "data-disabled": disabled ?? false, ...rest });
2280
+ });
2281
+ SlideOutClose.displayName = "SlideOutClose";
2282
+ const TIMEOUT_DURATION = 200;
2266
2283
  function usePointerDownOutside(onPointerDownOutside, ownerElement = globalThis == null ? void 0 : globalThis.document.body) {
2267
2284
  const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);
2268
2285
  const isPointerInsideReactTreeRef = react.useRef(false);
@@ -2324,293 +2341,392 @@
2324
2341
  return (_a = callbackRef.current) == null ? void 0 : _a.call(callbackRef, ...args);
2325
2342
  }, []);
2326
2343
  }
2327
- const TIMEOUT_DURATION = 200;
2328
- const SlideOut = react.memo((props) => {
2329
- const {
2330
- ref,
2331
- children,
2332
- className,
2333
- style,
2334
- open,
2335
- hide = false,
2336
- modal = false,
2337
- overlayComponent,
2338
- resizeable = true,
2339
- side,
2340
- position = "relative",
2341
- initialWidth,
2342
- minWidth,
2343
- maxWidth,
2344
- onDismiss,
2345
- onOpening,
2346
- onClosed,
2347
- content,
2348
- ...otherProps
2349
- } = props;
2350
- const isLeft = side === "left";
2351
- const [parentContainer, setParentContainer] = react.useState(document.body);
2352
- const childrenContainerRef = react.useRef(null);
2353
- const localRef = react.useRef(null);
2354
- const nodeRef = react.useRef(null);
2355
- const mergedRefs = mergeRefs([ref, localRef, nodeRef]);
2356
- const [isResizing, setIsResizing] = react.useState(false);
2357
- const [computedWidth, setComputedWidth] = react.useState(null);
2358
- const prevClientX = react.useRef(null);
2359
- const handleDismiss = react.useCallback(() => {
2360
- if (modal && onDismiss) {
2361
- onDismiss();
2362
- }
2363
- }, [modal, onDismiss]);
2364
- const handleAssignParentContainer = react.useCallback((element) => {
2365
- if (element) {
2366
- setParentContainer(element);
2344
+ const SlideOutContent = react.memo((props) => {
2345
+ const { ref, children, style, side, type, resizeable = false, initialSize, minSize, maxSize, ...rest } = props;
2346
+ const internalRef = react.useRef(null);
2347
+ const { open, setOpen, parentElement, modal, hide } = react.use(SlideOutRootContext);
2348
+ const [computedSize, setComputedSize] = react.useState(null);
2349
+ const handleClose = react.useCallback(() => {
2350
+ if (modal) setOpen(false);
2351
+ }, [modal, setOpen]);
2352
+ const { onPointerDownCapture: handlePointerDownCapture } = usePointerDownOutside(
2353
+ handleClose,
2354
+ parentElement ?? void 0
2355
+ );
2356
+ react.useLayoutEffect(() => {
2357
+ if (!open || !internalRef.current) return;
2358
+ const { offsetWidth, offsetHeight } = internalRef.current;
2359
+ switch (side) {
2360
+ case "left":
2361
+ case "right":
2362
+ setComputedSize(offsetWidth);
2363
+ break;
2364
+ case "top":
2365
+ case "bottom":
2366
+ setComputedSize(offsetHeight);
2367
+ }
2368
+ }, [open, side]);
2369
+ const computedStyle = react.useMemo(() => {
2370
+ switch (side) {
2371
+ case "left":
2372
+ return {
2373
+ ...style,
2374
+ left: 0,
2375
+ width: computedSize ?? initialSize,
2376
+ maxWidth: maxSize,
2377
+ minWidth: minSize,
2378
+ position: type === "inline" ? "relative" : "absolute",
2379
+ "--slide-out-size": `${computedSize}px`
2380
+ };
2381
+ case "right":
2382
+ return {
2383
+ ...style,
2384
+ right: 0,
2385
+ width: computedSize ?? initialSize,
2386
+ maxWidth: maxSize,
2387
+ minWidth: minSize,
2388
+ position: type === "inline" ? "relative" : "absolute",
2389
+ "--slide-out-size": `${computedSize}px`
2390
+ };
2391
+ case "top":
2392
+ return {
2393
+ ...style,
2394
+ top: 0,
2395
+ height: computedSize ?? initialSize,
2396
+ maxHeight: maxSize,
2397
+ minHeight: minSize,
2398
+ position: type === "inline" ? "relative" : "absolute",
2399
+ "--slide-out-size": `${computedSize}px`
2400
+ };
2401
+ case "bottom":
2402
+ return {
2403
+ ...style,
2404
+ bottom: 0,
2405
+ height: computedSize ?? initialSize,
2406
+ maxHeight: maxSize,
2407
+ minHeight: minSize,
2408
+ position: type === "inline" ? "relative" : "absolute",
2409
+ "--slide-out-size": `${computedSize}px`
2410
+ };
2367
2411
  }
2368
- }, []);
2369
- react.useEffect(() => {
2370
- if (!childrenContainerRef.current) return;
2371
- const originalParentPointerEvents = childrenContainerRef.current.style.pointerEvents;
2372
- if (open && modal) {
2373
- childrenContainerRef.current.style.pointerEvents = "none";
2412
+ }, [computedSize, initialSize, maxSize, minSize, side, style, type]);
2413
+ const transitionClassNames = react.useMemo(() => {
2414
+ switch (side) {
2415
+ case "left":
2416
+ return {
2417
+ enter: "-ml-(--slide-out-size)",
2418
+ enterActive: "ease-linear duration-200 transition-[margin-left] ml-0",
2419
+ enterDone: "ml-0",
2420
+ exitActive: "ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-size)",
2421
+ exitDone: "-ml-(--slide-out-size)"
2422
+ };
2423
+ case "right":
2424
+ return {
2425
+ enter: "-mr-(--slide-out-size)",
2426
+ enterActive: "ease-linear duration-200 transition-[margin-right] mr-0",
2427
+ enterDone: "mr-0",
2428
+ exitActive: "ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-size)",
2429
+ exitDone: "-mr-(--slide-out-size)"
2430
+ };
2431
+ case "top":
2432
+ return {
2433
+ enter: "-mt-(--slide-out-size)",
2434
+ enterActive: "ease-linear duration-200 transition-[margin-top] mt-0",
2435
+ enterDone: "mt-0",
2436
+ exitActive: "ease-linear duration-200 transition-[margin-top] -mt-(--slide-out-size)",
2437
+ exitDone: "-mt-(--slide-out-size)"
2438
+ };
2439
+ case "bottom":
2440
+ return {
2441
+ enter: "-mb-(--slide-out-size)",
2442
+ enterActive: "ease-linear duration-200 transition-[margin-bottom] mb-0",
2443
+ enterDone: "mb-0",
2444
+ exitActive: "ease-linear duration-200 transition-[margin-bottom] -mb-(--slide-out-size)",
2445
+ exitDone: "-mb-(--slide-out-size)"
2446
+ };
2374
2447
  }
2375
- return () => {
2376
- if (childrenContainerRef.current) {
2377
- childrenContainerRef.current.style.pointerEvents = originalParentPointerEvents;
2378
- }
2379
- };
2380
- }, [modal, open, parentContainer.style]);
2381
- const { onPointerDownCapture: handlePointerDownCapture } = usePointerDownOutside(handleDismiss, parentContainer);
2382
- const CSSTransitionClassNames = react.useMemo(
2448
+ }, [side]);
2449
+ const contextValue = react.useMemo(
2383
2450
  () => ({
2384
- enter: isLeft ? "-ml-(--slide-out-width)" : "-mr-(--slide-out-width)",
2385
- enterActive: isLeft ? "ease-linear duration-200 transition-[margin-left] ml-0" : "ease-linear duration-200 transition-[margin-right] mr-0",
2386
- enterDone: isLeft ? "ml-0" : "mr-0",
2387
- exitActive: isLeft ? "ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)" : "ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)",
2388
- exitDone: isLeft ? "-ml-(--slide-out-width)" : "-mr-(--slide-out-width)"
2451
+ side,
2452
+ type,
2453
+ resizeable,
2454
+ computedSize,
2455
+ setComputedSize
2389
2456
  }),
2390
- [isLeft]
2457
+ [computedSize, resizeable, side, type]
2391
2458
  );
2392
- const handleMouseDown = react.useCallback((e) => {
2393
- const { clientX } = e;
2394
- prevClientX.current = clientX;
2395
- setIsResizing(true);
2396
- }, []);
2397
- const handleMouseMove = react.useCallback(
2459
+ return !hide ? (
2460
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2461
+ // @ts-ignore
2462
+ /* @__PURE__ */ jsxRuntime.jsx(
2463
+ reactTransitionGroup.CSSTransition,
2464
+ {
2465
+ classNames: transitionClassNames,
2466
+ in: open,
2467
+ timeout: TIMEOUT_DURATION,
2468
+ unmountOnExit: true,
2469
+ mountOnEnter: true,
2470
+ nodeRef: internalRef,
2471
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2472
+ "div",
2473
+ {
2474
+ ref: mergeRefs([ref, internalRef]),
2475
+ onPointerDownCapture: handlePointerDownCapture,
2476
+ "data-open": open,
2477
+ "data-side": side,
2478
+ "data-type": type,
2479
+ style: computedStyle,
2480
+ ...rest,
2481
+ children: /* @__PURE__ */ jsxRuntime.jsx(SlideOutContextContext, { value: contextValue, children })
2482
+ }
2483
+ )
2484
+ }
2485
+ )
2486
+ ) : null;
2487
+ });
2488
+ SlideOutContent.displayName = "SlideOutContent";
2489
+ const SlideOutHandle = react.memo((props) => {
2490
+ const { ref, onMouseDown, disabled, ...rest } = props;
2491
+ const prevClientCoord = react.useRef(null);
2492
+ const [isResizing, setIsResizing] = react.useState(false);
2493
+ const { side, resizeable, computedSize, setComputedSize } = react.use(SlideOutContextContext);
2494
+ const computedDisabled = disabled ?? !resizeable;
2495
+ const setPrevClientCoord = react.useCallback(
2496
+ (clientX, clientY) => {
2497
+ switch (side) {
2498
+ case "left":
2499
+ prevClientCoord.current = clientX;
2500
+ break;
2501
+ case "right":
2502
+ prevClientCoord.current = clientX;
2503
+ break;
2504
+ case "top":
2505
+ prevClientCoord.current = clientY;
2506
+ break;
2507
+ case "bottom":
2508
+ prevClientCoord.current = clientY;
2509
+ break;
2510
+ }
2511
+ },
2512
+ [side]
2513
+ );
2514
+ const handlePointerDown = react.useCallback(
2515
+ (e) => {
2516
+ onMouseDown == null ? void 0 : onMouseDown(e);
2517
+ if (e.defaultPrevented || computedDisabled) return;
2518
+ e.preventDefault();
2519
+ setPrevClientCoord(e.clientX, e.clientY);
2520
+ setIsResizing(true);
2521
+ },
2522
+ [computedDisabled, onMouseDown, setPrevClientCoord]
2523
+ );
2524
+ const handlePointerMove = react.useCallback(
2398
2525
  (e) => {
2399
- if (!isResizing) return;
2400
- const { clientX } = e;
2401
- const deltaX = (clientX - prevClientX.current) * (isLeft ? 1 : -1);
2402
- prevClientX.current = clientX;
2403
- setComputedWidth((prevWidth) => prevWidth + deltaX);
2526
+ if (!isResizing || !prevClientCoord.current || computedDisabled) return;
2527
+ e.preventDefault();
2528
+ const { clientX, clientY } = e;
2529
+ let delta = 0;
2530
+ switch (side) {
2531
+ case "left":
2532
+ delta = clientX - prevClientCoord.current;
2533
+ break;
2534
+ case "right":
2535
+ delta = (clientX - prevClientCoord.current) * -1;
2536
+ break;
2537
+ case "top":
2538
+ delta = clientY - prevClientCoord.current;
2539
+ break;
2540
+ case "bottom":
2541
+ delta = (clientY - prevClientCoord.current) * -1;
2542
+ break;
2543
+ }
2544
+ setPrevClientCoord(clientX, clientY);
2545
+ setComputedSize(computedSize + delta);
2404
2546
  },
2405
- [isLeft, isResizing]
2547
+ [computedDisabled, computedSize, isResizing, setComputedSize, setPrevClientCoord, side]
2406
2548
  );
2407
- const handleMouseUp = react.useCallback(() => {
2408
- if (!isResizing) return;
2409
- prevClientX.current = null;
2549
+ const handlePointerUp = react.useCallback(() => {
2550
+ if (!isResizing || computedDisabled) return;
2551
+ prevClientCoord.current = null;
2410
2552
  setIsResizing(false);
2411
- }, [isResizing]);
2553
+ }, [computedDisabled, isResizing]);
2412
2554
  react.useEffect(() => {
2413
- window.addEventListener("mousemove", handleMouseMove);
2414
- window.addEventListener("mouseup", handleMouseUp);
2555
+ document.addEventListener("pointermove", handlePointerMove);
2556
+ document.addEventListener("pointerup", handlePointerUp);
2415
2557
  return () => {
2416
- window.removeEventListener("mousemove", handleMouseMove);
2417
- window.removeEventListener("mouseup", handleMouseUp);
2558
+ document.removeEventListener("pointermove", handlePointerMove);
2559
+ document.removeEventListener("pointerup", handlePointerUp);
2418
2560
  };
2419
- }, [handleMouseMove, handleMouseUp]);
2420
- react.useLayoutEffect(() => {
2421
- if (!open) return;
2422
- setComputedWidth(localRef.current.offsetWidth);
2423
- }, [open]);
2424
- const resizableStyle = react.useMemo(
2425
- () => ({
2426
- ...style,
2427
- width: computedWidth ?? initialWidth,
2428
- maxWidth,
2429
- minWidth,
2430
- position,
2431
- "--slide-out-width": `${computedWidth}${typeof computedWidth === "number" ? "px" : ""}`
2432
- }),
2433
- [computedWidth, initialWidth, maxWidth, minWidth, position, style]
2434
- );
2435
- const resizableEnable = react.useMemo(
2436
- () => ({ left: resizeable && !isLeft, right: resizeable && isLeft }),
2437
- [isLeft, resizeable]
2438
- );
2439
- const SlideOut2 = react.useMemo(
2440
- () => (
2441
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2442
- // @ts-ignore
2443
- /* @__PURE__ */ jsxRuntime.jsx(
2444
- reactTransitionGroup.CSSTransition,
2445
- {
2446
- classNames: CSSTransitionClassNames,
2447
- in: open,
2448
- timeout: TIMEOUT_DURATION,
2449
- unmountOnExit: true,
2450
- mountOnEnter: true,
2451
- onEntering: onOpening,
2452
- onExited: onClosed,
2453
- nodeRef,
2454
- children: /* @__PURE__ */ jsxRuntime.jsxs(
2455
- "div",
2456
- {
2457
- className: classVarianceAuthority.cx(
2458
- "top-0",
2459
- "bottom-0",
2460
- {
2461
- "left-0": isLeft,
2462
- "right-0": !isLeft,
2463
- absolute: position === "absolute",
2464
- relative: position === "relative"
2465
- },
2466
- className
2467
- ),
2468
- ref: mergedRefs,
2469
- onPointerDownCapture: handlePointerDownCapture,
2470
- "data-side": side,
2471
- style: resizableStyle,
2472
- children: [
2473
- /* @__PURE__ */ jsxRuntime.jsx(
2474
- "div",
2475
- {
2476
- className: classVarianceAuthority.cx("absolute top-0 bottom-0 w-[3px]", {
2477
- "right-0": isLeft,
2478
- "left-0": !isLeft,
2479
- "pointer-events-none": !resizableEnable
2480
- }),
2481
- onMouseDown: handleMouseDown,
2482
- "data-resizing": isResizing ? "" : void 0
2483
- }
2484
- ),
2485
- content
2486
- ]
2487
- }
2488
- )
2489
- }
2490
- )
2491
- ),
2492
- [
2493
- CSSTransitionClassNames,
2494
- open,
2495
- onOpening,
2496
- onClosed,
2497
- className,
2498
- isLeft,
2499
- position,
2500
- mergedRefs,
2501
- handlePointerDownCapture,
2502
- side,
2503
- resizableStyle,
2504
- handleMouseDown,
2505
- isResizing,
2506
- resizableEnable,
2507
- content
2508
- ]
2509
- );
2510
- return /* @__PURE__ */ jsxRuntime.jsxs(
2561
+ }, [handlePointerMove, handlePointerUp]);
2562
+ return /* @__PURE__ */ jsxRuntime.jsx(
2511
2563
  "div",
2512
2564
  {
2513
- className: "relative flex h-full max-h-full w-full max-w-full overflow-hidden",
2514
- ref: handleAssignParentContainer,
2515
- ...otherProps,
2516
- children: [
2517
- side === "left" && !hide && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2518
- open && overlayComponent,
2519
- " ",
2520
- content && SlideOut2
2521
- ] }),
2522
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full max-w-full grow overflow-hidden", ref: childrenContainerRef, children }),
2523
- side === "right" && !hide && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2524
- open && overlayComponent,
2525
- " ",
2526
- content && SlideOut2
2527
- ] })
2528
- ]
2565
+ ref,
2566
+ onPointerDown: handlePointerDown,
2567
+ "data-resizing": isResizing,
2568
+ "data-side": side,
2569
+ "data-disabled": computedDisabled,
2570
+ ...rest
2529
2571
  }
2530
2572
  );
2531
2573
  });
2532
- SlideOut.displayName = "SlideOut";
2533
- const DEFAULT_INITIAL_WIDTH = "30%";
2534
- const LayoutSlideOut = react.memo((props) => {
2535
- const { small, hideLayout, isOpen, setOpen } = useLayoutContext();
2574
+ SlideOutHandle.displayName = "SlideOutHandle";
2575
+ const SlideOutOverlay = react.memo((props) => {
2576
+ const { ref, ...rest } = props;
2577
+ const { open, hide } = react.use(SlideOutRootContext);
2578
+ return open && !hide ? /* @__PURE__ */ jsxRuntime.jsx("div", { ref, "data-open": open, ...rest }) : null;
2579
+ });
2580
+ SlideOutOverlay.displayName = "SlideOutOverlay";
2581
+ const SlideOutRoot = react.memo((props) => {
2536
2582
  const {
2537
2583
  ref,
2538
- id,
2539
2584
  children,
2540
- className,
2541
- defaultOpen,
2542
- side,
2543
- initialWidth = DEFAULT_INITIAL_WIDTH,
2544
- onDismiss,
2585
+ defaultOpen = false,
2586
+ open: controlledOpen,
2587
+ onOpenChange,
2588
+ modal = false,
2589
+ hide = false,
2545
2590
  ...rest
2546
2591
  } = props;
2547
- const open = isOpen(id);
2592
+ const [parentElement, setParentElement] = react.useState(null);
2593
+ const [open, setOpen] = useControlledState(defaultOpen, controlledOpen, onOpenChange);
2594
+ const contextValue = react.useMemo(
2595
+ () => ({
2596
+ parentElement,
2597
+ open,
2598
+ setOpen,
2599
+ modal,
2600
+ hide
2601
+ }),
2602
+ [hide, modal, open, parentElement, setOpen]
2603
+ );
2604
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: mergeRefs([ref, setParentElement]), ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(SlideOutRootContext, { value: contextValue, children }) });
2605
+ });
2606
+ SlideOutRoot.displayName = "SlideOutRoot";
2607
+ const SlideOutTrigger = react.memo((props) => {
2608
+ const { ref, onClick, ...rest } = props;
2609
+ const { open, setOpen } = react.use(SlideOutRootContext);
2610
+ const handleClick = react.useCallback(
2611
+ (e) => {
2612
+ onClick == null ? void 0 : onClick(e);
2613
+ if (e.defaultPrevented) return;
2614
+ setOpen(!open);
2615
+ },
2616
+ [onClick, open, setOpen]
2617
+ );
2618
+ return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { ref, onClick: handleClick, "data-disabled": props.disabled ?? false, ...rest });
2619
+ });
2620
+ SlideOutTrigger.displayName = "SlideOutTrigger";
2621
+ const SlideOutViewport = react.memo((props) => {
2622
+ const { ref, ...rest } = props;
2623
+ const internalRef = react.useRef(null);
2624
+ const { open, modal, parentElement } = react.use(SlideOutRootContext);
2625
+ react.useEffect(() => {
2626
+ if (!internalRef.current) return;
2627
+ const internalElement = internalRef.current;
2628
+ const originalParentPointerEvents = internalElement.style.pointerEvents;
2629
+ if (open && modal) {
2630
+ internalElement.style.pointerEvents = "none";
2631
+ }
2632
+ return () => {
2633
+ internalElement.style.pointerEvents = originalParentPointerEvents;
2634
+ };
2635
+ }, [modal, open, parentElement == null ? void 0 : parentElement.style]);
2636
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: mergeRefs([ref, internalRef]), ...rest });
2637
+ });
2638
+ SlideOutViewport.displayName = "SlideOutViewport";
2639
+ const SlideOut = {
2640
+ Close: SlideOutClose,
2641
+ Content: SlideOutContent,
2642
+ Handle: SlideOutHandle,
2643
+ Overlay: SlideOutOverlay,
2644
+ Root: SlideOutRoot,
2645
+ Trigger: SlideOutTrigger,
2646
+ Viewport: SlideOutViewport
2647
+ };
2648
+ const LayoutSlideOutClose = react.memo((props) => {
2649
+ const { ref, ...rest } = props;
2650
+ return /* @__PURE__ */ jsxRuntime.jsx(SlideOutClose, { ref, ...rest });
2651
+ });
2652
+ LayoutSlideOutClose.displayName = "LayoutSlideOutClose";
2653
+ const LayoutSlideOutContent = react.memo((props) => {
2654
+ const { ref, type, ...rest } = props;
2655
+ const { small } = react.use(LayoutContext);
2656
+ return /* @__PURE__ */ jsxRuntime.jsx(SlideOutContent, { ref, type: type ?? (small ? "overlay" : "inline"), ...rest });
2657
+ });
2658
+ LayoutSlideOutContent.displayName = "LayoutSlideOutContent";
2659
+ const LayoutSlideOutHandle = react.memo((props) => {
2660
+ const { ref, ...rest } = props;
2661
+ return /* @__PURE__ */ jsxRuntime.jsx(SlideOutHandle, { ref, ...rest });
2662
+ });
2663
+ LayoutSlideOutHandle.displayName = "LayoutSlideOutHandle";
2664
+ const LayoutSlideOutOverlay = react.memo((props) => {
2665
+ const { ref, smallModeOnly = false, ...rest } = props;
2666
+ const { small, hideLayout } = useLayoutContext();
2667
+ const showOverlay = react.useMemo(() => {
2668
+ if (hideLayout) return false;
2669
+ if (smallModeOnly && !small) return false;
2670
+ return true;
2671
+ }, [hideLayout, small, smallModeOnly]);
2672
+ return showOverlay ? /* @__PURE__ */ jsxRuntime.jsx(SlideOutOverlay, { ref, ...rest }) : null;
2673
+ });
2674
+ LayoutSlideOutOverlay.displayName = "SlideOutOverlay";
2675
+ const LayoutSlideOutRoot = react.memo((props) => {
2676
+ const { ref, slideOutId, defaultOpen, hide, ...rest } = props;
2677
+ const { isOpen, setOpen, small, hideLayout } = react.use(LayoutContext);
2678
+ const open = isOpen(slideOutId);
2679
+ const handleOpenChange = react.useCallback(
2680
+ (open2) => {
2681
+ if (!open2) setOpen(slideOutId, false);
2682
+ },
2683
+ [setOpen, slideOutId]
2684
+ );
2548
2685
  react.useEffect(() => {
2549
2686
  if (small && (defaultOpen == null ? void 0 : defaultOpen.small) !== void 0) {
2550
- setOpen(id, defaultOpen == null ? void 0 : defaultOpen.small);
2687
+ setOpen(slideOutId, defaultOpen == null ? void 0 : defaultOpen.small);
2551
2688
  } else if (!small && (defaultOpen == null ? void 0 : defaultOpen.large) !== void 0) {
2552
- setOpen(id, defaultOpen == null ? void 0 : defaultOpen.large);
2553
- }
2554
- }, [defaultOpen, id, setOpen, small]);
2555
- const handleDismiss = react.useCallback(() => {
2556
- setOpen(id, false);
2557
- onDismiss == null ? void 0 : onDismiss();
2558
- }, [id, onDismiss, setOpen]);
2559
- return !hideLayout && /* @__PURE__ */ jsxRuntime.jsx(
2560
- SlideOut,
2689
+ setOpen(slideOutId, defaultOpen == null ? void 0 : defaultOpen.large);
2690
+ }
2691
+ }, [defaultOpen, slideOutId, setOpen, small]);
2692
+ return /* @__PURE__ */ jsxRuntime.jsx(
2693
+ SlideOutRoot,
2561
2694
  {
2562
- className: classVarianceAuthority.cx(`overmap-layout-slideOut-${side}`, className),
2563
- side,
2564
2695
  ref,
2565
2696
  open,
2566
- initialWidth,
2697
+ onOpenChange: handleOpenChange,
2567
2698
  modal: small,
2568
- onDismiss: handleDismiss,
2569
- position: small ? "absolute" : "relative",
2570
- ...rest,
2571
- children
2699
+ hide: hide ?? hideLayout,
2700
+ ...rest
2572
2701
  }
2573
2702
  );
2574
2703
  });
2575
- LayoutSlideOut.displayName = "LayoutSlideOut";
2576
- const LayoutSlideOutOverlay = react.memo((props) => {
2577
- const { ref, children, className, active, slideOutId, smallModeOnly = false, ...rest } = props;
2578
- const { small, hideLayout, isOpen } = useLayoutContext();
2579
- const showOverlay = react.useMemo(() => {
2580
- if (active !== void 0) return active;
2581
- if (hideLayout) return false;
2582
- if (smallModeOnly && !small) return false;
2583
- return isOpen(slideOutId);
2584
- }, [active, hideLayout, isOpen, slideOutId, small, smallModeOnly]);
2585
- return showOverlay && /* @__PURE__ */ jsxRuntime.jsx("div", { className: classVarianceAuthority.cx("overmap-layout-overlay", "fixed inset-0", className), ref, ...rest, children });
2586
- });
2587
- LayoutSlideOutOverlay.displayName = "SlideOutOverlay";
2588
- function nextStateBasedOnType(open, type) {
2589
- switch (type) {
2590
- case "toggle":
2591
- return !open;
2592
- case "open":
2593
- return true;
2594
- case "close":
2595
- return false;
2596
- }
2597
- }
2704
+ LayoutSlideOutRoot.displayName = "LayoutSlideOutRoot";
2598
2705
  const LayoutSlideOutTrigger = react.memo((props) => {
2599
- const { ref, slideOutId, type = "toggle", children, ...rest } = props;
2706
+ const { ref, slideOutId, children, ...rest } = props;
2600
2707
  const { isOpen, setOpen } = useLayoutContext();
2601
2708
  const open = isOpen(slideOutId);
2602
2709
  const handleClick = react.useCallback(() => {
2603
- setOpen(slideOutId, nextStateBasedOnType(open, type));
2604
- }, [open, setOpen, slideOutId, type]);
2710
+ setOpen(slideOutId, !open);
2711
+ }, [open, setOpen, slideOutId]);
2605
2712
  return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { "data-state": getOpenState(open), ref, onClick: handleClick, ...rest, children });
2606
2713
  });
2607
- LayoutSlideOutTrigger.displayName = "SlideOutTrigger";
2714
+ LayoutSlideOutTrigger.displayName = "LayoutSlideOutTrigger";
2715
+ const LayoutSlideOutViewport = react.memo((props) => {
2716
+ const { ref, ...rest } = props;
2717
+ return /* @__PURE__ */ jsxRuntime.jsx(SlideOutViewport, { ref, ...rest });
2718
+ });
2719
+ LayoutSlideOutViewport.displayName = "LayoutSlideOutViewport";
2608
2720
  const Layout = {
2609
2721
  Root: LayoutRoot,
2610
2722
  Container: LayoutContainer,
2723
+ SlideOutClose: LayoutSlideOutClose,
2724
+ SlideOutContent: LayoutSlideOutContent,
2725
+ SlideOutHandle: LayoutSlideOutHandle,
2611
2726
  SlideOutOverlay: LayoutSlideOutOverlay,
2612
- SlideOut: LayoutSlideOut,
2613
- SlideOutTrigger: LayoutSlideOutTrigger
2727
+ SlideOutRoot: LayoutSlideOutRoot,
2728
+ SlideOutTrigger: LayoutSlideOutTrigger,
2729
+ SlideOutViewport: LayoutSlideOutViewport
2614
2730
  };
2615
2731
  const linkCva = classVarianceAuthority.cva(["cursor-pointer"], {
2616
2732
  variants: {
@@ -4357,9 +4473,9 @@
4357
4473
  }, [onRetry, resetBoundary]);
4358
4474
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full gap-2", style: outerFlexStyles, children: [
4359
4475
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flexGrow: 1 } }),
4360
- /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: "alert-triangle", size: height, style: centerStyles }),
4476
+ /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.AlertTriangle, size: height, style: centerStyles }),
4361
4477
  /* @__PURE__ */ jsxRuntime.jsx("span", { style: { lineHeight: height, ...centerStyles }, children: message }),
4362
- /* @__PURE__ */ jsxRuntime.jsx(IconButton, { "aria-label": "Try again", variant: "soft", onClick: handleRetry, style: centerStyles, children: /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: "rotate-ccw", size: height }) }),
4478
+ /* @__PURE__ */ jsxRuntime.jsx(IconButton, { "aria-label": "Try again", variant: "soft", onClick: handleRetry, style: centerStyles, children: /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.RotateCcw, size: height }) }),
4363
4479
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flexGrow: 1 } })
4364
4480
  ] });
4365
4481
  });
@@ -4385,95 +4501,6 @@
4385
4501
  );
4386
4502
  });
4387
4503
  OvermapErrorBoundary.displayName = "OvermapErrorBoundary";
4388
- const PhoneNumberInputContext = react.createContext({});
4389
- const FlagComponent = react.memo((props) => {
4390
- const { country } = props;
4391
- return country ? country : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PhoneIcon, { size: 16 });
4392
- });
4393
- FlagComponent.displayName = "FlagComponent";
4394
- const CountrySelect = react.memo((props) => {
4395
- const { disabled, value, onChange, options } = props;
4396
- const { radius, size, variant, accentColor } = react.use(PhoneNumberInputContext);
4397
- const handleSelect = react.useCallback(
4398
- (e) => {
4399
- onChange(e.target.value);
4400
- },
4401
- [onChange]
4402
- );
4403
- return /* @__PURE__ */ jsxRuntime.jsxs(
4404
- Button,
4405
- {
4406
- className: "relative",
4407
- accentColor,
4408
- radius,
4409
- size,
4410
- variant,
4411
- disabled,
4412
- children: [
4413
- /* @__PURE__ */ jsxRuntime.jsx(FlagComponent, { country: value, countryName: value, "aria-hidden": "true" }),
4414
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { size: 16, "aria-hidden": "true" }),
4415
- /* @__PURE__ */ jsxRuntime.jsxs(
4416
- "select",
4417
- {
4418
- disabled,
4419
- value,
4420
- onChange: handleSelect,
4421
- className: "absolute inset-0 text-sm opacity-0",
4422
- "aria-label": "Select country",
4423
- children: [
4424
- /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: "Select a country" }, "default"),
4425
- options.filter((x) => x.value).map((option, i) => /* @__PURE__ */ jsxRuntime.jsxs("option", { value: option.value, children: [
4426
- option.label,
4427
- " ",
4428
- option.value && `+${min.getCountryCallingCode(option.value)}`
4429
- ] }, option.value ?? `empty-${i}`))
4430
- ]
4431
- }
4432
- )
4433
- ]
4434
- }
4435
- );
4436
- });
4437
- CountrySelect.displayName = "CountrySelect";
4438
- const InputComponent = react.memo((props) => {
4439
- const { accentColor, radius, size, variant } = react.use(PhoneNumberInputContext);
4440
- return /* @__PURE__ */ jsxRuntime.jsx(Input.Root, { variant, size, radius, accentColor, children: /* @__PURE__ */ jsxRuntime.jsx(Input.Field, { ...props }) });
4441
- });
4442
- InputComponent.displayName = "InputComponent";
4443
- const PhoneNumberInput = react.memo((props) => {
4444
- const providerContext = useProvider();
4445
- const {
4446
- ref,
4447
- className,
4448
- size = "md",
4449
- variant = "outline",
4450
- radius = providerContext.radius,
4451
- accentColor = providerContext.accentColor,
4452
- ...rest
4453
- } = props;
4454
- const contextValue = react.useMemo(
4455
- () => ({
4456
- size,
4457
- variant,
4458
- radius,
4459
- accentColor
4460
- }),
4461
- [accentColor, radius, size, variant]
4462
- );
4463
- return /* @__PURE__ */ jsxRuntime.jsx(PhoneNumberInputContext, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(
4464
- PhoneInput,
4465
- {
4466
- ref,
4467
- className: classVarianceAuthority.cx(className, "flex gap-1"),
4468
- flagComponent: FlagComponent,
4469
- countrySelectComponent: CountrySelect,
4470
- inputComponent: InputComponent,
4471
- "data-accent-color": accentColor,
4472
- ...rest
4473
- }
4474
- ) });
4475
- });
4476
- PhoneNumberInput.displayName = "PhoneNumberInput";
4477
4504
  const PopoverArrow = react.memo((props) => {
4478
4505
  const { ref, children, className, ...rest } = props;
4479
4506
  return /* @__PURE__ */ jsxRuntime.jsx(RadixPopover__namespace.Arrow, { className: classVarianceAuthority.cx("fill-(--base-6)", className), ref, ...rest, children });
@@ -6124,7 +6151,7 @@
6124
6151
  action && /* @__PURE__ */ jsxRuntime.jsx(RadixToast__namespace.Action, { className: "w-max", altText: action.altText, asChild: true, children: action.content })
6125
6152
  ] })
6126
6153
  ] }),
6127
- /* @__PURE__ */ jsxRuntime.jsx(RadixToast__namespace.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(IconButton, { size, "aria-label": "Close", variant: "ghost", accentColor, children: /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: "x" }) }) })
6154
+ /* @__PURE__ */ jsxRuntime.jsx(RadixToast__namespace.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(IconButton, { size, "aria-label": "Close", variant: "ghost", accentColor, children: /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.X }) }) })
6128
6155
  ]
6129
6156
  }
6130
6157
  );
@@ -6672,10 +6699,12 @@
6672
6699
  exports2.InputSlot = InputSlot;
6673
6700
  exports2.Layout = Layout;
6674
6701
  exports2.LayoutContainer = LayoutContainer;
6675
- exports2.LayoutContext = LayoutContext;
6676
6702
  exports2.LayoutRoot = LayoutRoot;
6677
- exports2.LayoutSlideOut = LayoutSlideOut;
6703
+ exports2.LayoutSlideOutClose = LayoutSlideOutClose;
6704
+ exports2.LayoutSlideOutContent = LayoutSlideOutContent;
6705
+ exports2.LayoutSlideOutHandle = LayoutSlideOutHandle;
6678
6706
  exports2.LayoutSlideOutOverlay = LayoutSlideOutOverlay;
6707
+ exports2.LayoutSlideOutRoot = LayoutSlideOutRoot;
6679
6708
  exports2.LayoutSlideOutTrigger = LayoutSlideOutTrigger;
6680
6709
  exports2.Link = Link;
6681
6710
  exports2.LuIcon = LuIcon;
@@ -6736,7 +6765,6 @@
6736
6765
  exports2.OverlayTitle = OverlayTitle;
6737
6766
  exports2.OverlayTrigger = OverlayTrigger;
6738
6767
  exports2.OvermapErrorBoundary = OvermapErrorBoundary;
6739
- exports2.PhoneNumberInput = PhoneNumberInput;
6740
6768
  exports2.Popover = Popover;
6741
6769
  exports2.PopoverArrow = PopoverArrow;
6742
6770
  exports2.PopoverContent = PopoverContent;
@@ -6762,6 +6790,13 @@
6762
6790
  exports2.SegmentedTabsTrigger = SegmentedTabsTrigger;
6763
6791
  exports2.Separator = Separator;
6764
6792
  exports2.SlideOut = SlideOut;
6793
+ exports2.SlideOutClose = SlideOutClose;
6794
+ exports2.SlideOutContent = SlideOutContent;
6795
+ exports2.SlideOutHandle = SlideOutHandle;
6796
+ exports2.SlideOutOverlay = SlideOutOverlay;
6797
+ exports2.SlideOutRoot = SlideOutRoot;
6798
+ exports2.SlideOutTrigger = SlideOutTrigger;
6799
+ exports2.SlideOutViewport = SlideOutViewport;
6765
6800
  exports2.Slider = Slider;
6766
6801
  exports2.Spinner = Spinner;
6767
6802
  exports2.Switch = Switch;