@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.
- package/dist/Layout/SlideOutClose.d.ts +5 -0
- package/dist/Layout/SlideOutContent.d.ts +6 -0
- package/dist/Layout/SlideOutHandle.d.ts +5 -0
- package/dist/Layout/SlideOutOverlay.d.ts +2 -5
- package/dist/Layout/SlideOutRoot.d.ts +10 -0
- package/dist/Layout/SlideOutTrigger.d.ts +2 -6
- package/dist/Layout/SlideOutViewport.d.ts +5 -0
- package/dist/Layout/context.d.ts +0 -1
- package/dist/Layout/index.d.ts +11 -3
- package/dist/Layout/typings.d.ts +3 -0
- package/dist/LuIcon/LuIcon.d.ts +4 -6
- package/dist/LuIcon/index.d.ts +1 -1
- package/dist/LuIcon/typings.d.ts +2 -2
- package/dist/SlideOut/Close.d.ts +4 -0
- package/dist/SlideOut/Content.d.ts +11 -0
- package/dist/SlideOut/Handle.d.ts +5 -0
- package/dist/SlideOut/Overlay.d.ts +4 -0
- package/dist/SlideOut/Root.d.ts +9 -0
- package/dist/SlideOut/Trigger.d.ts +4 -0
- package/dist/SlideOut/Viewport.d.ts +4 -0
- package/dist/SlideOut/constants.d.ts +1 -0
- package/dist/SlideOut/context.d.ts +17 -0
- package/dist/SlideOut/index.d.ts +18 -1
- package/dist/SlideOut/typings.d.ts +2 -0
- package/dist/blocks.js +387 -354
- package/dist/blocks.js.map +1 -1
- package/dist/blocks.umd.cjs +385 -350
- package/dist/blocks.umd.cjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/package.json +1 -2
- package/dist/Layout/SlideOut.d.ts +0 -20
- package/dist/PhoneNumberInput/CountrySelect.d.ts +0 -11
- package/dist/PhoneNumberInput/FlagComponent.d.ts +0 -2
- package/dist/PhoneNumberInput/InputComponent.d.ts +0 -5
- package/dist/PhoneNumberInput/PhoneNumberInput.d.ts +0 -6
- package/dist/PhoneNumberInput/context.d.ts +0 -4
- package/dist/PhoneNumberInput/index.d.ts +0 -2
- package/dist/PhoneNumberInput/typings.d.ts +0 -9
- package/dist/SlideOut/SlideOut.d.ts +0 -49
package/dist/blocks.umd.cjs
CHANGED
|
@@ -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
|
|
3
|
-
})(this, function(exports2, RadixAlertDialog, jsxRuntime, classVarianceAuthority, react, RadixAvatar, RadixCheckbox, reactResponsive, cmdk, RadixDialog, reactDayPicker,
|
|
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(
|
|
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:
|
|
1666
|
+
return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.ChevronUp, ...rest });
|
|
1667
1667
|
case "down":
|
|
1668
|
-
return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon:
|
|
1668
|
+
return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.ChevronDown, ...rest });
|
|
1669
1669
|
case "left":
|
|
1670
|
-
return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon:
|
|
1670
|
+
return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon: lucideReact.ChevronLeft, ...rest });
|
|
1671
1671
|
default:
|
|
1672
|
-
return /* @__PURE__ */ jsxRuntime.jsx(LuIcon, { icon:
|
|
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,
|
|
2237
|
+
const { ref, children, ...rest } = props;
|
|
2238
2238
|
const { hideLayout = false } = useLayoutContext();
|
|
2239
|
-
return !hideLayout && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
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
|
|
2328
|
-
|
|
2329
|
-
const
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
const
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
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.
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
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
|
-
|
|
2376
|
-
|
|
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
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2451
|
+
side,
|
|
2452
|
+
type,
|
|
2453
|
+
resizeable,
|
|
2454
|
+
computedSize,
|
|
2455
|
+
setComputedSize
|
|
2389
2456
|
}),
|
|
2390
|
-
[
|
|
2457
|
+
[computedSize, resizeable, side, type]
|
|
2391
2458
|
);
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
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
|
-
|
|
2401
|
-
const
|
|
2402
|
-
|
|
2403
|
-
|
|
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
|
-
[
|
|
2547
|
+
[computedDisabled, computedSize, isResizing, setComputedSize, setPrevClientCoord, side]
|
|
2406
2548
|
);
|
|
2407
|
-
const
|
|
2408
|
-
if (!isResizing) return;
|
|
2409
|
-
|
|
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
|
-
|
|
2414
|
-
|
|
2555
|
+
document.addEventListener("pointermove", handlePointerMove);
|
|
2556
|
+
document.addEventListener("pointerup", handlePointerUp);
|
|
2415
2557
|
return () => {
|
|
2416
|
-
|
|
2417
|
-
|
|
2558
|
+
document.removeEventListener("pointermove", handlePointerMove);
|
|
2559
|
+
document.removeEventListener("pointerup", handlePointerUp);
|
|
2418
2560
|
};
|
|
2419
|
-
}, [
|
|
2420
|
-
|
|
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
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
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
|
-
|
|
2533
|
-
const
|
|
2534
|
-
|
|
2535
|
-
const {
|
|
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
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2585
|
+
defaultOpen = false,
|
|
2586
|
+
open: controlledOpen,
|
|
2587
|
+
onOpenChange,
|
|
2588
|
+
modal = false,
|
|
2589
|
+
hide = false,
|
|
2545
2590
|
...rest
|
|
2546
2591
|
} = props;
|
|
2547
|
-
const
|
|
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(
|
|
2687
|
+
setOpen(slideOutId, defaultOpen == null ? void 0 : defaultOpen.small);
|
|
2551
2688
|
} else if (!small && (defaultOpen == null ? void 0 : defaultOpen.large) !== void 0) {
|
|
2552
|
-
setOpen(
|
|
2553
|
-
}
|
|
2554
|
-
}, [defaultOpen,
|
|
2555
|
-
|
|
2556
|
-
|
|
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
|
-
|
|
2697
|
+
onOpenChange: handleOpenChange,
|
|
2567
2698
|
modal: small,
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
...rest,
|
|
2571
|
-
children
|
|
2699
|
+
hide: hide ?? hideLayout,
|
|
2700
|
+
...rest
|
|
2572
2701
|
}
|
|
2573
2702
|
);
|
|
2574
2703
|
});
|
|
2575
|
-
|
|
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,
|
|
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,
|
|
2604
|
-
}, [open, setOpen, slideOutId
|
|
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 = "
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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.
|
|
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;
|