@windrun-huaiin/third-ui 5.13.6 → 5.14.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/fuma/mdx/index.js +534 -2677
- package/dist/fuma/mdx/index.js.map +1 -1
- package/dist/fuma/mdx/index.mjs +533 -2676
- package/dist/fuma/mdx/index.mjs.map +1 -1
- package/dist/fuma/server.js +206 -2465
- package/dist/fuma/server.js.map +1 -1
- package/dist/fuma/server.mjs +203 -2462
- package/dist/fuma/server.mjs.map +1 -1
- package/package.json +1 -1
- package/src/fuma/mdx/mermaid.tsx +115 -21
package/dist/fuma/mdx/index.js
CHANGED
|
@@ -2737,2477 +2737,21 @@ for (const [iconName, IconComponent] of Object.entries(BUILTIN_ICON_COMPONENTS))
|
|
|
2737
2737
|
var wrappedBuiltinIconsPart = tempWrappedBuiltinIcons;
|
|
2738
2738
|
var globalLucideIcons = __spreadValues(__spreadValues({}, styledLimitedIconsPart), wrappedBuiltinIconsPart);
|
|
2739
2739
|
|
|
2740
|
-
// ../base-ui/src/ui/alert-dialog.tsx
|
|
2741
|
-
var React57 = __toESM(require("react"), 1);
|
|
2742
|
-
|
|
2743
|
-
// ../../node_modules/.pnpm/@radix-ui+react-alert-dialog@1.1.14_@types+react-dom@19.1.3_@types+react@19.1.2__@types_c6ff7006a888f63e36d2502e019661c3/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs
|
|
2744
|
-
var React55 = __toESM(require("react"), 1);
|
|
2745
|
-
|
|
2746
|
-
// ../../node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-context/dist/index.mjs
|
|
2747
|
-
var React33 = __toESM(require("react"), 1);
|
|
2748
|
-
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2749
|
-
function createContext2(rootComponentName, defaultContext) {
|
|
2750
|
-
const Context = React33.createContext(defaultContext);
|
|
2751
|
-
const Provider = (props) => {
|
|
2752
|
-
const _a = props, { children } = _a, context = __objRest(_a, ["children"]);
|
|
2753
|
-
const value = React33.useMemo(() => context, Object.values(context));
|
|
2754
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Context.Provider, { value, children });
|
|
2755
|
-
};
|
|
2756
|
-
Provider.displayName = rootComponentName + "Provider";
|
|
2757
|
-
function useContext22(consumerName) {
|
|
2758
|
-
const context = React33.useContext(Context);
|
|
2759
|
-
if (context) return context;
|
|
2760
|
-
if (defaultContext !== void 0) return defaultContext;
|
|
2761
|
-
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
|
2762
|
-
}
|
|
2763
|
-
return [Provider, useContext22];
|
|
2764
|
-
}
|
|
2765
|
-
function createContextScope(scopeName, createContextScopeDeps = []) {
|
|
2766
|
-
let defaultContexts = [];
|
|
2767
|
-
function createContext32(rootComponentName, defaultContext) {
|
|
2768
|
-
const BaseContext = React33.createContext(defaultContext);
|
|
2769
|
-
const index = defaultContexts.length;
|
|
2770
|
-
defaultContexts = [...defaultContexts, defaultContext];
|
|
2771
|
-
const Provider = (props) => {
|
|
2772
|
-
var _b;
|
|
2773
|
-
const _a = props, { scope, children } = _a, context = __objRest(_a, ["scope", "children"]);
|
|
2774
|
-
const Context = ((_b = scope == null ? void 0 : scope[scopeName]) == null ? void 0 : _b[index]) || BaseContext;
|
|
2775
|
-
const value = React33.useMemo(() => context, Object.values(context));
|
|
2776
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Context.Provider, { value, children });
|
|
2777
|
-
};
|
|
2778
|
-
Provider.displayName = rootComponentName + "Provider";
|
|
2779
|
-
function useContext22(consumerName, scope) {
|
|
2780
|
-
var _a;
|
|
2781
|
-
const Context = ((_a = scope == null ? void 0 : scope[scopeName]) == null ? void 0 : _a[index]) || BaseContext;
|
|
2782
|
-
const context = React33.useContext(Context);
|
|
2783
|
-
if (context) return context;
|
|
2784
|
-
if (defaultContext !== void 0) return defaultContext;
|
|
2785
|
-
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
|
2786
|
-
}
|
|
2787
|
-
return [Provider, useContext22];
|
|
2788
|
-
}
|
|
2789
|
-
const createScope = () => {
|
|
2790
|
-
const scopeContexts = defaultContexts.map((defaultContext) => {
|
|
2791
|
-
return React33.createContext(defaultContext);
|
|
2792
|
-
});
|
|
2793
|
-
return function useScope(scope) {
|
|
2794
|
-
const contexts = (scope == null ? void 0 : scope[scopeName]) || scopeContexts;
|
|
2795
|
-
return React33.useMemo(
|
|
2796
|
-
() => ({ [`__scope${scopeName}`]: __spreadProps(__spreadValues({}, scope), { [scopeName]: contexts }) }),
|
|
2797
|
-
[scope, contexts]
|
|
2798
|
-
);
|
|
2799
|
-
};
|
|
2800
|
-
};
|
|
2801
|
-
createScope.scopeName = scopeName;
|
|
2802
|
-
return [createContext32, composeContextScopes(createScope, ...createContextScopeDeps)];
|
|
2803
|
-
}
|
|
2804
|
-
function composeContextScopes(...scopes) {
|
|
2805
|
-
const baseScope = scopes[0];
|
|
2806
|
-
if (scopes.length === 1) return baseScope;
|
|
2807
|
-
const createScope = () => {
|
|
2808
|
-
const scopeHooks = scopes.map((createScope2) => ({
|
|
2809
|
-
useScope: createScope2(),
|
|
2810
|
-
scopeName: createScope2.scopeName
|
|
2811
|
-
}));
|
|
2812
|
-
return function useComposedScopes(overrideScopes) {
|
|
2813
|
-
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
|
|
2814
|
-
const scopeProps = useScope(overrideScopes);
|
|
2815
|
-
const currentScope = scopeProps[`__scope${scopeName}`];
|
|
2816
|
-
return __spreadValues(__spreadValues({}, nextScopes2), currentScope);
|
|
2817
|
-
}, {});
|
|
2818
|
-
return React33.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
|
|
2819
|
-
};
|
|
2820
|
-
};
|
|
2821
|
-
createScope.scopeName = baseScope.scopeName;
|
|
2822
|
-
return createScope;
|
|
2823
|
-
}
|
|
2824
|
-
|
|
2825
|
-
// ../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
|
|
2826
|
-
var React34 = __toESM(require("react"), 1);
|
|
2827
|
-
function setRef(ref, value) {
|
|
2828
|
-
if (typeof ref === "function") {
|
|
2829
|
-
return ref(value);
|
|
2830
|
-
} else if (ref !== null && ref !== void 0) {
|
|
2831
|
-
ref.current = value;
|
|
2832
|
-
}
|
|
2833
|
-
}
|
|
2834
|
-
function composeRefs(...refs) {
|
|
2835
|
-
return (node) => {
|
|
2836
|
-
let hasCleanup = false;
|
|
2837
|
-
const cleanups = refs.map((ref) => {
|
|
2838
|
-
const cleanup = setRef(ref, node);
|
|
2839
|
-
if (!hasCleanup && typeof cleanup == "function") {
|
|
2840
|
-
hasCleanup = true;
|
|
2841
|
-
}
|
|
2842
|
-
return cleanup;
|
|
2843
|
-
});
|
|
2844
|
-
if (hasCleanup) {
|
|
2845
|
-
return () => {
|
|
2846
|
-
for (let i = 0; i < cleanups.length; i++) {
|
|
2847
|
-
const cleanup = cleanups[i];
|
|
2848
|
-
if (typeof cleanup == "function") {
|
|
2849
|
-
cleanup();
|
|
2850
|
-
} else {
|
|
2851
|
-
setRef(refs[i], null);
|
|
2852
|
-
}
|
|
2853
|
-
}
|
|
2854
|
-
};
|
|
2855
|
-
}
|
|
2856
|
-
};
|
|
2857
|
-
}
|
|
2858
|
-
function useComposedRefs(...refs) {
|
|
2859
|
-
return React34.useCallback(composeRefs(...refs), refs);
|
|
2860
|
-
}
|
|
2861
|
-
|
|
2862
|
-
// ../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.14_@types+react-dom@19.1.3_@types+react@19.1.2__@types+react_848f83211ce5e4d8275fe0d3e11a9387/node_modules/@radix-ui/react-dialog/dist/index.mjs
|
|
2863
|
-
var React54 = __toESM(require("react"), 1);
|
|
2864
|
-
|
|
2865
|
-
// ../../node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.mjs
|
|
2866
|
-
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
|
2867
|
-
return function handleEvent(event) {
|
|
2868
|
-
originalEventHandler == null ? void 0 : originalEventHandler(event);
|
|
2869
|
-
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
|
2870
|
-
return ourEventHandler == null ? void 0 : ourEventHandler(event);
|
|
2871
|
-
}
|
|
2872
|
-
};
|
|
2873
|
-
}
|
|
2874
|
-
|
|
2875
|
-
// ../../node_modules/.pnpm/@radix-ui+react-id@1.1.1_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-id/dist/index.mjs
|
|
2876
|
-
var React36 = __toESM(require("react"), 1);
|
|
2877
|
-
|
|
2878
|
-
// ../../node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.1_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
|
|
2879
|
-
var React35 = __toESM(require("react"), 1);
|
|
2880
|
-
var useLayoutEffect2 = (globalThis == null ? void 0 : globalThis.document) ? React35.useLayoutEffect : () => {
|
|
2881
|
-
};
|
|
2882
|
-
|
|
2883
|
-
// ../../node_modules/.pnpm/@radix-ui+react-id@1.1.1_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-id/dist/index.mjs
|
|
2884
|
-
var useReactId = React36[" useId ".trim().toString()] || (() => void 0);
|
|
2885
|
-
var count = 0;
|
|
2886
|
-
function useId(deterministicId) {
|
|
2887
|
-
const [id, setId] = React36.useState(useReactId());
|
|
2888
|
-
useLayoutEffect2(() => {
|
|
2889
|
-
if (!deterministicId) setId((reactId) => reactId != null ? reactId : String(count++));
|
|
2890
|
-
}, [deterministicId]);
|
|
2891
|
-
return deterministicId || (id ? `radix-${id}` : "");
|
|
2892
|
-
}
|
|
2893
|
-
|
|
2894
|
-
// ../../node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.2.2_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
|
|
2895
|
-
var React37 = __toESM(require("react"), 1);
|
|
2896
|
-
var React210 = __toESM(require("react"), 1);
|
|
2897
|
-
var useInsertionEffect = React37[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
|
|
2898
|
-
function useControllableState({
|
|
2899
|
-
prop,
|
|
2900
|
-
defaultProp,
|
|
2901
|
-
onChange = () => {
|
|
2902
|
-
},
|
|
2903
|
-
caller
|
|
2904
|
-
}) {
|
|
2905
|
-
const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({
|
|
2906
|
-
defaultProp,
|
|
2907
|
-
onChange
|
|
2908
|
-
});
|
|
2909
|
-
const isControlled = prop !== void 0;
|
|
2910
|
-
const value = isControlled ? prop : uncontrolledProp;
|
|
2911
|
-
if (true) {
|
|
2912
|
-
const isControlledRef = React37.useRef(prop !== void 0);
|
|
2913
|
-
React37.useEffect(() => {
|
|
2914
|
-
const wasControlled = isControlledRef.current;
|
|
2915
|
-
if (wasControlled !== isControlled) {
|
|
2916
|
-
const from = wasControlled ? "controlled" : "uncontrolled";
|
|
2917
|
-
const to = isControlled ? "controlled" : "uncontrolled";
|
|
2918
|
-
console.warn(
|
|
2919
|
-
`${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
|
|
2920
|
-
);
|
|
2921
|
-
}
|
|
2922
|
-
isControlledRef.current = isControlled;
|
|
2923
|
-
}, [isControlled, caller]);
|
|
2924
|
-
}
|
|
2925
|
-
const setValue = React37.useCallback(
|
|
2926
|
-
(nextValue) => {
|
|
2927
|
-
var _a;
|
|
2928
|
-
if (isControlled) {
|
|
2929
|
-
const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
|
|
2930
|
-
if (value2 !== prop) {
|
|
2931
|
-
(_a = onChangeRef.current) == null ? void 0 : _a.call(onChangeRef, value2);
|
|
2932
|
-
}
|
|
2933
|
-
} else {
|
|
2934
|
-
setUncontrolledProp(nextValue);
|
|
2935
|
-
}
|
|
2936
|
-
},
|
|
2937
|
-
[isControlled, prop, setUncontrolledProp, onChangeRef]
|
|
2938
|
-
);
|
|
2939
|
-
return [value, setValue];
|
|
2940
|
-
}
|
|
2941
|
-
function useUncontrolledState({
|
|
2942
|
-
defaultProp,
|
|
2943
|
-
onChange
|
|
2944
|
-
}) {
|
|
2945
|
-
const [value, setValue] = React37.useState(defaultProp);
|
|
2946
|
-
const prevValueRef = React37.useRef(value);
|
|
2947
|
-
const onChangeRef = React37.useRef(onChange);
|
|
2948
|
-
useInsertionEffect(() => {
|
|
2949
|
-
onChangeRef.current = onChange;
|
|
2950
|
-
}, [onChange]);
|
|
2951
|
-
React37.useEffect(() => {
|
|
2952
|
-
var _a;
|
|
2953
|
-
if (prevValueRef.current !== value) {
|
|
2954
|
-
(_a = onChangeRef.current) == null ? void 0 : _a.call(onChangeRef, value);
|
|
2955
|
-
prevValueRef.current = value;
|
|
2956
|
-
}
|
|
2957
|
-
}, [value, prevValueRef]);
|
|
2958
|
-
return [value, setValue, onChangeRef];
|
|
2959
|
-
}
|
|
2960
|
-
function isFunction(value) {
|
|
2961
|
-
return typeof value === "function";
|
|
2962
|
-
}
|
|
2963
|
-
var SYNC_STATE = Symbol("RADIX:SYNC_STATE");
|
|
2964
|
-
|
|
2965
|
-
// ../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.10_@types+react-dom@19.1.3_@types+react@19.1.2__@_048ea5800fbfacb7489e4b7d728b493c/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
|
|
2966
|
-
var React42 = __toESM(require("react"), 1);
|
|
2967
|
-
|
|
2968
|
-
// ../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.3_@types+react-dom@19.1.3_@types+react@19.1.2__@types+rea_43250ccbc78c27b15284efcf829a65d5/node_modules/@radix-ui/react-primitive/dist/index.mjs
|
|
2969
|
-
var React39 = __toESM(require("react"), 1);
|
|
2970
|
-
var ReactDOM = __toESM(require("react-dom"), 1);
|
|
2971
|
-
|
|
2972
|
-
// ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
2973
|
-
var React38 = __toESM(require("react"), 1);
|
|
2974
|
-
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2975
|
-
// @__NO_SIDE_EFFECTS__
|
|
2976
|
-
function createSlot(ownerName) {
|
|
2977
|
-
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
2978
|
-
const Slot22 = React38.forwardRef((props, forwardedRef) => {
|
|
2979
|
-
const _a = props, { children } = _a, slotProps = __objRest(_a, ["children"]);
|
|
2980
|
-
const childrenArray = React38.Children.toArray(children);
|
|
2981
|
-
const slottable = childrenArray.find(isSlottable);
|
|
2982
|
-
if (slottable) {
|
|
2983
|
-
const newElement = slottable.props.children;
|
|
2984
|
-
const newChildren = childrenArray.map((child) => {
|
|
2985
|
-
if (child === slottable) {
|
|
2986
|
-
if (React38.Children.count(newElement) > 1) return React38.Children.only(null);
|
|
2987
|
-
return React38.isValidElement(newElement) ? newElement.props.children : null;
|
|
2988
|
-
} else {
|
|
2989
|
-
return child;
|
|
2990
|
-
}
|
|
2991
|
-
});
|
|
2992
|
-
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children: React38.isValidElement(newElement) ? React38.cloneElement(newElement, void 0, newChildren) : null }));
|
|
2993
|
-
}
|
|
2994
|
-
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children }));
|
|
2995
|
-
});
|
|
2996
|
-
Slot22.displayName = `${ownerName}.Slot`;
|
|
2997
|
-
return Slot22;
|
|
2998
|
-
}
|
|
2999
|
-
var Slot = /* @__PURE__ */ createSlot("Slot");
|
|
3000
|
-
// @__NO_SIDE_EFFECTS__
|
|
3001
|
-
function createSlotClone(ownerName) {
|
|
3002
|
-
const SlotClone = React38.forwardRef((props, forwardedRef) => {
|
|
3003
|
-
const _a = props, { children } = _a, slotProps = __objRest(_a, ["children"]);
|
|
3004
|
-
if (React38.isValidElement(children)) {
|
|
3005
|
-
const childrenRef = getElementRef(children);
|
|
3006
|
-
const props2 = mergeProps(slotProps, children.props);
|
|
3007
|
-
if (children.type !== React38.Fragment) {
|
|
3008
|
-
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
3009
|
-
}
|
|
3010
|
-
return React38.cloneElement(children, props2);
|
|
3011
|
-
}
|
|
3012
|
-
return React38.Children.count(children) > 1 ? React38.Children.only(null) : null;
|
|
3013
|
-
});
|
|
3014
|
-
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
3015
|
-
return SlotClone;
|
|
3016
|
-
}
|
|
3017
|
-
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
3018
|
-
// @__NO_SIDE_EFFECTS__
|
|
3019
|
-
function createSlottable(ownerName) {
|
|
3020
|
-
const Slottable2 = ({ children }) => {
|
|
3021
|
-
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children });
|
|
3022
|
-
};
|
|
3023
|
-
Slottable2.displayName = `${ownerName}.Slottable`;
|
|
3024
|
-
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
|
3025
|
-
return Slottable2;
|
|
3026
|
-
}
|
|
3027
|
-
function isSlottable(child) {
|
|
3028
|
-
return React38.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
3029
|
-
}
|
|
3030
|
-
function mergeProps(slotProps, childProps) {
|
|
3031
|
-
const overrideProps = __spreadValues({}, childProps);
|
|
3032
|
-
for (const propName in childProps) {
|
|
3033
|
-
const slotPropValue = slotProps[propName];
|
|
3034
|
-
const childPropValue = childProps[propName];
|
|
3035
|
-
const isHandler = /^on[A-Z]/.test(propName);
|
|
3036
|
-
if (isHandler) {
|
|
3037
|
-
if (slotPropValue && childPropValue) {
|
|
3038
|
-
overrideProps[propName] = (...args) => {
|
|
3039
|
-
const result = childPropValue(...args);
|
|
3040
|
-
slotPropValue(...args);
|
|
3041
|
-
return result;
|
|
3042
|
-
};
|
|
3043
|
-
} else if (slotPropValue) {
|
|
3044
|
-
overrideProps[propName] = slotPropValue;
|
|
3045
|
-
}
|
|
3046
|
-
} else if (propName === "style") {
|
|
3047
|
-
overrideProps[propName] = __spreadValues(__spreadValues({}, slotPropValue), childPropValue);
|
|
3048
|
-
} else if (propName === "className") {
|
|
3049
|
-
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
|
3050
|
-
}
|
|
3051
|
-
}
|
|
3052
|
-
return __spreadValues(__spreadValues({}, slotProps), overrideProps);
|
|
3053
|
-
}
|
|
3054
|
-
function getElementRef(element) {
|
|
3055
|
-
var _a, _b;
|
|
3056
|
-
let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
|
|
3057
|
-
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
3058
|
-
if (mayWarn) {
|
|
3059
|
-
return element.ref;
|
|
3060
|
-
}
|
|
3061
|
-
getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
|
|
3062
|
-
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
3063
|
-
if (mayWarn) {
|
|
3064
|
-
return element.props.ref;
|
|
3065
|
-
}
|
|
3066
|
-
return element.props.ref || element.ref;
|
|
3067
|
-
}
|
|
3068
|
-
|
|
3069
|
-
// ../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.3_@types+react-dom@19.1.3_@types+react@19.1.2__@types+rea_43250ccbc78c27b15284efcf829a65d5/node_modules/@radix-ui/react-primitive/dist/index.mjs
|
|
3070
|
-
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3071
|
-
var NODES = [
|
|
3072
|
-
"a",
|
|
3073
|
-
"button",
|
|
3074
|
-
"div",
|
|
3075
|
-
"form",
|
|
3076
|
-
"h2",
|
|
3077
|
-
"h3",
|
|
3078
|
-
"img",
|
|
3079
|
-
"input",
|
|
3080
|
-
"label",
|
|
3081
|
-
"li",
|
|
3082
|
-
"nav",
|
|
3083
|
-
"ol",
|
|
3084
|
-
"p",
|
|
3085
|
-
"select",
|
|
3086
|
-
"span",
|
|
3087
|
-
"svg",
|
|
3088
|
-
"ul"
|
|
3089
|
-
];
|
|
3090
|
-
var Primitive = NODES.reduce((primitive, node) => {
|
|
3091
|
-
const Slot3 = createSlot(`Primitive.${node}`);
|
|
3092
|
-
const Node2 = React39.forwardRef((props, forwardedRef) => {
|
|
3093
|
-
const _a = props, { asChild } = _a, primitiveProps = __objRest(_a, ["asChild"]);
|
|
3094
|
-
const Comp = asChild ? Slot3 : node;
|
|
3095
|
-
if (typeof window !== "undefined") {
|
|
3096
|
-
window[Symbol.for("radix-ui")] = true;
|
|
3097
|
-
}
|
|
3098
|
-
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Comp, __spreadProps(__spreadValues({}, primitiveProps), { ref: forwardedRef }));
|
|
3099
|
-
});
|
|
3100
|
-
Node2.displayName = `Primitive.${node}`;
|
|
3101
|
-
return __spreadProps(__spreadValues({}, primitive), { [node]: Node2 });
|
|
3102
|
-
}, {});
|
|
3103
|
-
function dispatchDiscreteCustomEvent(target, event) {
|
|
3104
|
-
if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
3105
|
-
}
|
|
3106
|
-
|
|
3107
|
-
// ../../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.1_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
|
|
3108
|
-
var React40 = __toESM(require("react"), 1);
|
|
3109
|
-
function useCallbackRef(callback) {
|
|
3110
|
-
const callbackRef = React40.useRef(callback);
|
|
3111
|
-
React40.useEffect(() => {
|
|
3112
|
-
callbackRef.current = callback;
|
|
3113
|
-
});
|
|
3114
|
-
return React40.useMemo(() => (...args) => {
|
|
3115
|
-
var _a;
|
|
3116
|
-
return (_a = callbackRef.current) == null ? void 0 : _a.call(callbackRef, ...args);
|
|
3117
|
-
}, []);
|
|
3118
|
-
}
|
|
3119
|
-
|
|
3120
|
-
// ../../node_modules/.pnpm/@radix-ui+react-use-escape-keydown@1.1.1_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs
|
|
3121
|
-
var React41 = __toESM(require("react"), 1);
|
|
3122
|
-
function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis == null ? void 0 : globalThis.document) {
|
|
3123
|
-
const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);
|
|
3124
|
-
React41.useEffect(() => {
|
|
3125
|
-
const handleKeyDown = (event) => {
|
|
3126
|
-
if (event.key === "Escape") {
|
|
3127
|
-
onEscapeKeyDown(event);
|
|
3128
|
-
}
|
|
3129
|
-
};
|
|
3130
|
-
ownerDocument.addEventListener("keydown", handleKeyDown, { capture: true });
|
|
3131
|
-
return () => ownerDocument.removeEventListener("keydown", handleKeyDown, { capture: true });
|
|
3132
|
-
}, [onEscapeKeyDown, ownerDocument]);
|
|
3133
|
-
}
|
|
3134
|
-
|
|
3135
|
-
// ../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.10_@types+react-dom@19.1.3_@types+react@19.1.2__@_048ea5800fbfacb7489e4b7d728b493c/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
|
|
3136
|
-
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3137
|
-
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
|
3138
|
-
var CONTEXT_UPDATE = "dismissableLayer.update";
|
|
3139
|
-
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
|
3140
|
-
var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
|
|
3141
|
-
var originalBodyPointerEvents;
|
|
3142
|
-
var DismissableLayerContext = React42.createContext({
|
|
3143
|
-
layers: /* @__PURE__ */ new Set(),
|
|
3144
|
-
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
3145
|
-
branches: /* @__PURE__ */ new Set()
|
|
3146
|
-
});
|
|
3147
|
-
var DismissableLayer = React42.forwardRef(
|
|
3148
|
-
(props, forwardedRef) => {
|
|
3149
|
-
var _b;
|
|
3150
|
-
const _a = props, {
|
|
3151
|
-
disableOutsidePointerEvents = false,
|
|
3152
|
-
onEscapeKeyDown,
|
|
3153
|
-
onPointerDownOutside,
|
|
3154
|
-
onFocusOutside,
|
|
3155
|
-
onInteractOutside,
|
|
3156
|
-
onDismiss
|
|
3157
|
-
} = _a, layerProps = __objRest(_a, [
|
|
3158
|
-
"disableOutsidePointerEvents",
|
|
3159
|
-
"onEscapeKeyDown",
|
|
3160
|
-
"onPointerDownOutside",
|
|
3161
|
-
"onFocusOutside",
|
|
3162
|
-
"onInteractOutside",
|
|
3163
|
-
"onDismiss"
|
|
3164
|
-
]);
|
|
3165
|
-
const context = React42.useContext(DismissableLayerContext);
|
|
3166
|
-
const [node, setNode] = React42.useState(null);
|
|
3167
|
-
const ownerDocument = (_b = node == null ? void 0 : node.ownerDocument) != null ? _b : globalThis == null ? void 0 : globalThis.document;
|
|
3168
|
-
const [, force] = React42.useState({});
|
|
3169
|
-
const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));
|
|
3170
|
-
const layers = Array.from(context.layers);
|
|
3171
|
-
const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
|
|
3172
|
-
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);
|
|
3173
|
-
const index = node ? layers.indexOf(node) : -1;
|
|
3174
|
-
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
|
3175
|
-
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
|
3176
|
-
const pointerDownOutside = usePointerDownOutside((event) => {
|
|
3177
|
-
const target = event.target;
|
|
3178
|
-
const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));
|
|
3179
|
-
if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
|
|
3180
|
-
onPointerDownOutside == null ? void 0 : onPointerDownOutside(event);
|
|
3181
|
-
onInteractOutside == null ? void 0 : onInteractOutside(event);
|
|
3182
|
-
if (!event.defaultPrevented) onDismiss == null ? void 0 : onDismiss();
|
|
3183
|
-
}, ownerDocument);
|
|
3184
|
-
const focusOutside = useFocusOutside((event) => {
|
|
3185
|
-
const target = event.target;
|
|
3186
|
-
const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));
|
|
3187
|
-
if (isFocusInBranch) return;
|
|
3188
|
-
onFocusOutside == null ? void 0 : onFocusOutside(event);
|
|
3189
|
-
onInteractOutside == null ? void 0 : onInteractOutside(event);
|
|
3190
|
-
if (!event.defaultPrevented) onDismiss == null ? void 0 : onDismiss();
|
|
3191
|
-
}, ownerDocument);
|
|
3192
|
-
useEscapeKeydown((event) => {
|
|
3193
|
-
const isHighestLayer = index === context.layers.size - 1;
|
|
3194
|
-
if (!isHighestLayer) return;
|
|
3195
|
-
onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(event);
|
|
3196
|
-
if (!event.defaultPrevented && onDismiss) {
|
|
3197
|
-
event.preventDefault();
|
|
3198
|
-
onDismiss();
|
|
3199
|
-
}
|
|
3200
|
-
}, ownerDocument);
|
|
3201
|
-
React42.useEffect(() => {
|
|
3202
|
-
if (!node) return;
|
|
3203
|
-
if (disableOutsidePointerEvents) {
|
|
3204
|
-
if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
|
|
3205
|
-
originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
|
|
3206
|
-
ownerDocument.body.style.pointerEvents = "none";
|
|
3207
|
-
}
|
|
3208
|
-
context.layersWithOutsidePointerEventsDisabled.add(node);
|
|
3209
|
-
}
|
|
3210
|
-
context.layers.add(node);
|
|
3211
|
-
dispatchUpdate();
|
|
3212
|
-
return () => {
|
|
3213
|
-
if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {
|
|
3214
|
-
ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;
|
|
3215
|
-
}
|
|
3216
|
-
};
|
|
3217
|
-
}, [node, ownerDocument, disableOutsidePointerEvents, context]);
|
|
3218
|
-
React42.useEffect(() => {
|
|
3219
|
-
return () => {
|
|
3220
|
-
if (!node) return;
|
|
3221
|
-
context.layers.delete(node);
|
|
3222
|
-
context.layersWithOutsidePointerEventsDisabled.delete(node);
|
|
3223
|
-
dispatchUpdate();
|
|
3224
|
-
};
|
|
3225
|
-
}, [node, context]);
|
|
3226
|
-
React42.useEffect(() => {
|
|
3227
|
-
const handleUpdate = () => force({});
|
|
3228
|
-
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
3229
|
-
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
3230
|
-
}, []);
|
|
3231
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3232
|
-
Primitive.div,
|
|
3233
|
-
__spreadProps(__spreadValues({}, layerProps), {
|
|
3234
|
-
ref: composedRefs,
|
|
3235
|
-
style: __spreadValues({
|
|
3236
|
-
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0
|
|
3237
|
-
}, props.style),
|
|
3238
|
-
onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),
|
|
3239
|
-
onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),
|
|
3240
|
-
onPointerDownCapture: composeEventHandlers(
|
|
3241
|
-
props.onPointerDownCapture,
|
|
3242
|
-
pointerDownOutside.onPointerDownCapture
|
|
3243
|
-
)
|
|
3244
|
-
})
|
|
3245
|
-
);
|
|
3246
|
-
}
|
|
3247
|
-
);
|
|
3248
|
-
DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
|
|
3249
|
-
var BRANCH_NAME = "DismissableLayerBranch";
|
|
3250
|
-
var DismissableLayerBranch = React42.forwardRef((props, forwardedRef) => {
|
|
3251
|
-
const context = React42.useContext(DismissableLayerContext);
|
|
3252
|
-
const ref = React42.useRef(null);
|
|
3253
|
-
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
3254
|
-
React42.useEffect(() => {
|
|
3255
|
-
const node = ref.current;
|
|
3256
|
-
if (node) {
|
|
3257
|
-
context.branches.add(node);
|
|
3258
|
-
return () => {
|
|
3259
|
-
context.branches.delete(node);
|
|
3260
|
-
};
|
|
3261
|
-
}
|
|
3262
|
-
}, [context.branches]);
|
|
3263
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Primitive.div, __spreadProps(__spreadValues({}, props), { ref: composedRefs }));
|
|
3264
|
-
});
|
|
3265
|
-
DismissableLayerBranch.displayName = BRANCH_NAME;
|
|
3266
|
-
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis == null ? void 0 : globalThis.document) {
|
|
3267
|
-
const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);
|
|
3268
|
-
const isPointerInsideReactTreeRef = React42.useRef(false);
|
|
3269
|
-
const handleClickRef = React42.useRef(() => {
|
|
3270
|
-
});
|
|
3271
|
-
React42.useEffect(() => {
|
|
3272
|
-
const handlePointerDown = (event) => {
|
|
3273
|
-
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
3274
|
-
let handleAndDispatchPointerDownOutsideEvent2 = function() {
|
|
3275
|
-
handleAndDispatchCustomEvent(
|
|
3276
|
-
POINTER_DOWN_OUTSIDE,
|
|
3277
|
-
handlePointerDownOutside,
|
|
3278
|
-
eventDetail,
|
|
3279
|
-
{ discrete: true }
|
|
3280
|
-
);
|
|
3281
|
-
};
|
|
3282
|
-
var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;
|
|
3283
|
-
const eventDetail = { originalEvent: event };
|
|
3284
|
-
if (event.pointerType === "touch") {
|
|
3285
|
-
ownerDocument.removeEventListener("click", handleClickRef.current);
|
|
3286
|
-
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;
|
|
3287
|
-
ownerDocument.addEventListener("click", handleClickRef.current, { once: true });
|
|
3288
|
-
} else {
|
|
3289
|
-
handleAndDispatchPointerDownOutsideEvent2();
|
|
3290
|
-
}
|
|
3291
|
-
} else {
|
|
3292
|
-
ownerDocument.removeEventListener("click", handleClickRef.current);
|
|
3293
|
-
}
|
|
3294
|
-
isPointerInsideReactTreeRef.current = false;
|
|
3295
|
-
};
|
|
3296
|
-
const timerId = window.setTimeout(() => {
|
|
3297
|
-
ownerDocument.addEventListener("pointerdown", handlePointerDown);
|
|
3298
|
-
}, 0);
|
|
3299
|
-
return () => {
|
|
3300
|
-
window.clearTimeout(timerId);
|
|
3301
|
-
ownerDocument.removeEventListener("pointerdown", handlePointerDown);
|
|
3302
|
-
ownerDocument.removeEventListener("click", handleClickRef.current);
|
|
3303
|
-
};
|
|
3304
|
-
}, [ownerDocument, handlePointerDownOutside]);
|
|
3305
|
-
return {
|
|
3306
|
-
// ensures we check React component tree (not just DOM tree)
|
|
3307
|
-
onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true
|
|
3308
|
-
};
|
|
3309
|
-
}
|
|
3310
|
-
function useFocusOutside(onFocusOutside, ownerDocument = globalThis == null ? void 0 : globalThis.document) {
|
|
3311
|
-
const handleFocusOutside = useCallbackRef(onFocusOutside);
|
|
3312
|
-
const isFocusInsideReactTreeRef = React42.useRef(false);
|
|
3313
|
-
React42.useEffect(() => {
|
|
3314
|
-
const handleFocus = (event) => {
|
|
3315
|
-
if (event.target && !isFocusInsideReactTreeRef.current) {
|
|
3316
|
-
const eventDetail = { originalEvent: event };
|
|
3317
|
-
handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
|
|
3318
|
-
discrete: false
|
|
3319
|
-
});
|
|
3320
|
-
}
|
|
3321
|
-
};
|
|
3322
|
-
ownerDocument.addEventListener("focusin", handleFocus);
|
|
3323
|
-
return () => ownerDocument.removeEventListener("focusin", handleFocus);
|
|
3324
|
-
}, [ownerDocument, handleFocusOutside]);
|
|
3325
|
-
return {
|
|
3326
|
-
onFocusCapture: () => isFocusInsideReactTreeRef.current = true,
|
|
3327
|
-
onBlurCapture: () => isFocusInsideReactTreeRef.current = false
|
|
3328
|
-
};
|
|
3329
|
-
}
|
|
3330
|
-
function dispatchUpdate() {
|
|
3331
|
-
const event = new CustomEvent(CONTEXT_UPDATE);
|
|
3332
|
-
document.dispatchEvent(event);
|
|
3333
|
-
}
|
|
3334
|
-
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
|
3335
|
-
const target = detail.originalEvent.target;
|
|
3336
|
-
const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });
|
|
3337
|
-
if (handler) target.addEventListener(name, handler, { once: true });
|
|
3338
|
-
if (discrete) {
|
|
3339
|
-
dispatchDiscreteCustomEvent(target, event);
|
|
3340
|
-
} else {
|
|
3341
|
-
target.dispatchEvent(event);
|
|
3342
|
-
}
|
|
3343
|
-
}
|
|
3344
|
-
|
|
3345
|
-
// ../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.7_@types+react-dom@19.1.3_@types+react@19.1.2__@types+r_1ff7b04b7c975087a2da2b1568ac976e/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
|
|
3346
|
-
var React43 = __toESM(require("react"), 1);
|
|
3347
|
-
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3348
|
-
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
|
3349
|
-
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
|
3350
|
-
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
|
3351
|
-
var FOCUS_SCOPE_NAME = "FocusScope";
|
|
3352
|
-
var FocusScope = React43.forwardRef((props, forwardedRef) => {
|
|
3353
|
-
const _a = props, {
|
|
3354
|
-
loop = false,
|
|
3355
|
-
trapped = false,
|
|
3356
|
-
onMountAutoFocus: onMountAutoFocusProp,
|
|
3357
|
-
onUnmountAutoFocus: onUnmountAutoFocusProp
|
|
3358
|
-
} = _a, scopeProps = __objRest(_a, [
|
|
3359
|
-
"loop",
|
|
3360
|
-
"trapped",
|
|
3361
|
-
"onMountAutoFocus",
|
|
3362
|
-
"onUnmountAutoFocus"
|
|
3363
|
-
]);
|
|
3364
|
-
const [container, setContainer] = React43.useState(null);
|
|
3365
|
-
const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);
|
|
3366
|
-
const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);
|
|
3367
|
-
const lastFocusedElementRef = React43.useRef(null);
|
|
3368
|
-
const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));
|
|
3369
|
-
const focusScope = React43.useRef({
|
|
3370
|
-
paused: false,
|
|
3371
|
-
pause() {
|
|
3372
|
-
this.paused = true;
|
|
3373
|
-
},
|
|
3374
|
-
resume() {
|
|
3375
|
-
this.paused = false;
|
|
3376
|
-
}
|
|
3377
|
-
}).current;
|
|
3378
|
-
React43.useEffect(() => {
|
|
3379
|
-
if (trapped) {
|
|
3380
|
-
let handleFocusIn2 = function(event) {
|
|
3381
|
-
if (focusScope.paused || !container) return;
|
|
3382
|
-
const target = event.target;
|
|
3383
|
-
if (container.contains(target)) {
|
|
3384
|
-
lastFocusedElementRef.current = target;
|
|
3385
|
-
} else {
|
|
3386
|
-
focus(lastFocusedElementRef.current, { select: true });
|
|
3387
|
-
}
|
|
3388
|
-
}, handleFocusOut2 = function(event) {
|
|
3389
|
-
if (focusScope.paused || !container) return;
|
|
3390
|
-
const relatedTarget = event.relatedTarget;
|
|
3391
|
-
if (relatedTarget === null) return;
|
|
3392
|
-
if (!container.contains(relatedTarget)) {
|
|
3393
|
-
focus(lastFocusedElementRef.current, { select: true });
|
|
3394
|
-
}
|
|
3395
|
-
}, handleMutations2 = function(mutations) {
|
|
3396
|
-
const focusedElement = document.activeElement;
|
|
3397
|
-
if (focusedElement !== document.body) return;
|
|
3398
|
-
for (const mutation of mutations) {
|
|
3399
|
-
if (mutation.removedNodes.length > 0) focus(container);
|
|
3400
|
-
}
|
|
3401
|
-
};
|
|
3402
|
-
var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;
|
|
3403
|
-
document.addEventListener("focusin", handleFocusIn2);
|
|
3404
|
-
document.addEventListener("focusout", handleFocusOut2);
|
|
3405
|
-
const mutationObserver = new MutationObserver(handleMutations2);
|
|
3406
|
-
if (container) mutationObserver.observe(container, { childList: true, subtree: true });
|
|
3407
|
-
return () => {
|
|
3408
|
-
document.removeEventListener("focusin", handleFocusIn2);
|
|
3409
|
-
document.removeEventListener("focusout", handleFocusOut2);
|
|
3410
|
-
mutationObserver.disconnect();
|
|
3411
|
-
};
|
|
3412
|
-
}
|
|
3413
|
-
}, [trapped, container, focusScope.paused]);
|
|
3414
|
-
React43.useEffect(() => {
|
|
3415
|
-
if (container) {
|
|
3416
|
-
focusScopesStack.add(focusScope);
|
|
3417
|
-
const previouslyFocusedElement = document.activeElement;
|
|
3418
|
-
const hasFocusedCandidate = container.contains(previouslyFocusedElement);
|
|
3419
|
-
if (!hasFocusedCandidate) {
|
|
3420
|
-
const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
|
|
3421
|
-
container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
|
|
3422
|
-
container.dispatchEvent(mountEvent);
|
|
3423
|
-
if (!mountEvent.defaultPrevented) {
|
|
3424
|
-
focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });
|
|
3425
|
-
if (document.activeElement === previouslyFocusedElement) {
|
|
3426
|
-
focus(container);
|
|
3427
|
-
}
|
|
3428
|
-
}
|
|
3429
|
-
}
|
|
3430
|
-
return () => {
|
|
3431
|
-
container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
|
|
3432
|
-
setTimeout(() => {
|
|
3433
|
-
const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
|
|
3434
|
-
container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
|
|
3435
|
-
container.dispatchEvent(unmountEvent);
|
|
3436
|
-
if (!unmountEvent.defaultPrevented) {
|
|
3437
|
-
focus(previouslyFocusedElement != null ? previouslyFocusedElement : document.body, { select: true });
|
|
3438
|
-
}
|
|
3439
|
-
container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
|
|
3440
|
-
focusScopesStack.remove(focusScope);
|
|
3441
|
-
}, 0);
|
|
3442
|
-
};
|
|
3443
|
-
}
|
|
3444
|
-
}, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);
|
|
3445
|
-
const handleKeyDown = React43.useCallback(
|
|
3446
|
-
(event) => {
|
|
3447
|
-
if (!loop && !trapped) return;
|
|
3448
|
-
if (focusScope.paused) return;
|
|
3449
|
-
const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey;
|
|
3450
|
-
const focusedElement = document.activeElement;
|
|
3451
|
-
if (isTabKey && focusedElement) {
|
|
3452
|
-
const container2 = event.currentTarget;
|
|
3453
|
-
const [first, last] = getTabbableEdges(container2);
|
|
3454
|
-
const hasTabbableElementsInside = first && last;
|
|
3455
|
-
if (!hasTabbableElementsInside) {
|
|
3456
|
-
if (focusedElement === container2) event.preventDefault();
|
|
3457
|
-
} else {
|
|
3458
|
-
if (!event.shiftKey && focusedElement === last) {
|
|
3459
|
-
event.preventDefault();
|
|
3460
|
-
if (loop) focus(first, { select: true });
|
|
3461
|
-
} else if (event.shiftKey && focusedElement === first) {
|
|
3462
|
-
event.preventDefault();
|
|
3463
|
-
if (loop) focus(last, { select: true });
|
|
3464
|
-
}
|
|
3465
|
-
}
|
|
3466
|
-
}
|
|
3467
|
-
},
|
|
3468
|
-
[loop, trapped, focusScope.paused]
|
|
3469
|
-
);
|
|
3470
|
-
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Primitive.div, __spreadProps(__spreadValues({ tabIndex: -1 }, scopeProps), { ref: composedRefs, onKeyDown: handleKeyDown }));
|
|
3471
|
-
});
|
|
3472
|
-
FocusScope.displayName = FOCUS_SCOPE_NAME;
|
|
3473
|
-
function focusFirst(candidates, { select = false } = {}) {
|
|
3474
|
-
const previouslyFocusedElement = document.activeElement;
|
|
3475
|
-
for (const candidate of candidates) {
|
|
3476
|
-
focus(candidate, { select });
|
|
3477
|
-
if (document.activeElement !== previouslyFocusedElement) return;
|
|
3478
|
-
}
|
|
3479
|
-
}
|
|
3480
|
-
function getTabbableEdges(container) {
|
|
3481
|
-
const candidates = getTabbableCandidates(container);
|
|
3482
|
-
const first = findVisible(candidates, container);
|
|
3483
|
-
const last = findVisible(candidates.reverse(), container);
|
|
3484
|
-
return [first, last];
|
|
3485
|
-
}
|
|
3486
|
-
function getTabbableCandidates(container) {
|
|
3487
|
-
const nodes = [];
|
|
3488
|
-
const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
|
|
3489
|
-
acceptNode: (node) => {
|
|
3490
|
-
const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden";
|
|
3491
|
-
if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;
|
|
3492
|
-
return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
3493
|
-
}
|
|
3494
|
-
});
|
|
3495
|
-
while (walker.nextNode()) nodes.push(walker.currentNode);
|
|
3496
|
-
return nodes;
|
|
3497
|
-
}
|
|
3498
|
-
function findVisible(elements, container) {
|
|
3499
|
-
for (const element of elements) {
|
|
3500
|
-
if (!isHidden(element, { upTo: container })) return element;
|
|
3501
|
-
}
|
|
3502
|
-
}
|
|
3503
|
-
function isHidden(node, { upTo }) {
|
|
3504
|
-
if (getComputedStyle(node).visibility === "hidden") return true;
|
|
3505
|
-
while (node) {
|
|
3506
|
-
if (upTo !== void 0 && node === upTo) return false;
|
|
3507
|
-
if (getComputedStyle(node).display === "none") return true;
|
|
3508
|
-
node = node.parentElement;
|
|
3509
|
-
}
|
|
3510
|
-
return false;
|
|
3511
|
-
}
|
|
3512
|
-
function isSelectableInput(element) {
|
|
3513
|
-
return element instanceof HTMLInputElement && "select" in element;
|
|
3514
|
-
}
|
|
3515
|
-
function focus(element, { select = false } = {}) {
|
|
3516
|
-
if (element && element.focus) {
|
|
3517
|
-
const previouslyFocusedElement = document.activeElement;
|
|
3518
|
-
element.focus({ preventScroll: true });
|
|
3519
|
-
if (element !== previouslyFocusedElement && isSelectableInput(element) && select)
|
|
3520
|
-
element.select();
|
|
3521
|
-
}
|
|
3522
|
-
}
|
|
3523
|
-
var focusScopesStack = createFocusScopesStack();
|
|
3524
|
-
function createFocusScopesStack() {
|
|
3525
|
-
let stack = [];
|
|
3526
|
-
return {
|
|
3527
|
-
add(focusScope) {
|
|
3528
|
-
const activeFocusScope = stack[0];
|
|
3529
|
-
if (focusScope !== activeFocusScope) {
|
|
3530
|
-
activeFocusScope == null ? void 0 : activeFocusScope.pause();
|
|
3531
|
-
}
|
|
3532
|
-
stack = arrayRemove(stack, focusScope);
|
|
3533
|
-
stack.unshift(focusScope);
|
|
3534
|
-
},
|
|
3535
|
-
remove(focusScope) {
|
|
3536
|
-
var _a;
|
|
3537
|
-
stack = arrayRemove(stack, focusScope);
|
|
3538
|
-
(_a = stack[0]) == null ? void 0 : _a.resume();
|
|
3539
|
-
}
|
|
3540
|
-
};
|
|
3541
|
-
}
|
|
3542
|
-
function arrayRemove(array, item) {
|
|
3543
|
-
const updatedArray = [...array];
|
|
3544
|
-
const index = updatedArray.indexOf(item);
|
|
3545
|
-
if (index !== -1) {
|
|
3546
|
-
updatedArray.splice(index, 1);
|
|
3547
|
-
}
|
|
3548
|
-
return updatedArray;
|
|
3549
|
-
}
|
|
3550
|
-
function removeLinks(items) {
|
|
3551
|
-
return items.filter((item) => item.tagName !== "A");
|
|
3552
|
-
}
|
|
3553
|
-
|
|
3554
|
-
// ../../node_modules/.pnpm/@radix-ui+react-portal@1.1.9_@types+react-dom@19.1.3_@types+react@19.1.2__@types+react@_a0745de0839b0b019298ec068509a840/node_modules/@radix-ui/react-portal/dist/index.mjs
|
|
3555
|
-
var React44 = __toESM(require("react"), 1);
|
|
3556
|
-
var import_react_dom = __toESM(require("react-dom"), 1);
|
|
3557
|
-
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3558
|
-
var PORTAL_NAME = "Portal";
|
|
3559
|
-
var Portal = React44.forwardRef((props, forwardedRef) => {
|
|
3560
|
-
var _b;
|
|
3561
|
-
const _a = props, { container: containerProp } = _a, portalProps = __objRest(_a, ["container"]);
|
|
3562
|
-
const [mounted, setMounted] = React44.useState(false);
|
|
3563
|
-
useLayoutEffect2(() => setMounted(true), []);
|
|
3564
|
-
const container = containerProp || mounted && ((_b = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : _b.body);
|
|
3565
|
-
return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Primitive.div, __spreadProps(__spreadValues({}, portalProps), { ref: forwardedRef })), container) : null;
|
|
3566
|
-
});
|
|
3567
|
-
Portal.displayName = PORTAL_NAME;
|
|
3568
|
-
|
|
3569
|
-
// ../../node_modules/.pnpm/@radix-ui+react-presence@1.1.4_@types+react-dom@19.1.3_@types+react@19.1.2__@types+reac_dbbe976722e7c3e02883ea31c3bbbf14/node_modules/@radix-ui/react-presence/dist/index.mjs
|
|
3570
|
-
var React211 = __toESM(require("react"), 1);
|
|
3571
|
-
var React45 = __toESM(require("react"), 1);
|
|
3572
|
-
function useStateMachine(initialState, machine) {
|
|
3573
|
-
return React45.useReducer((state, event) => {
|
|
3574
|
-
const nextState = machine[state][event];
|
|
3575
|
-
return nextState != null ? nextState : state;
|
|
3576
|
-
}, initialState);
|
|
3577
|
-
}
|
|
3578
|
-
var Presence = (props) => {
|
|
3579
|
-
const { present, children } = props;
|
|
3580
|
-
const presence = usePresence(present);
|
|
3581
|
-
const child = typeof children === "function" ? children({ present: presence.isPresent }) : React211.Children.only(children);
|
|
3582
|
-
const ref = useComposedRefs(presence.ref, getElementRef2(child));
|
|
3583
|
-
const forceMount = typeof children === "function";
|
|
3584
|
-
return forceMount || presence.isPresent ? React211.cloneElement(child, { ref }) : null;
|
|
3585
|
-
};
|
|
3586
|
-
Presence.displayName = "Presence";
|
|
3587
|
-
function usePresence(present) {
|
|
3588
|
-
const [node, setNode] = React211.useState();
|
|
3589
|
-
const stylesRef = React211.useRef(null);
|
|
3590
|
-
const prevPresentRef = React211.useRef(present);
|
|
3591
|
-
const prevAnimationNameRef = React211.useRef("none");
|
|
3592
|
-
const initialState = present ? "mounted" : "unmounted";
|
|
3593
|
-
const [state, send] = useStateMachine(initialState, {
|
|
3594
|
-
mounted: {
|
|
3595
|
-
UNMOUNT: "unmounted",
|
|
3596
|
-
ANIMATION_OUT: "unmountSuspended"
|
|
3597
|
-
},
|
|
3598
|
-
unmountSuspended: {
|
|
3599
|
-
MOUNT: "mounted",
|
|
3600
|
-
ANIMATION_END: "unmounted"
|
|
3601
|
-
},
|
|
3602
|
-
unmounted: {
|
|
3603
|
-
MOUNT: "mounted"
|
|
3604
|
-
}
|
|
3605
|
-
});
|
|
3606
|
-
React211.useEffect(() => {
|
|
3607
|
-
const currentAnimationName = getAnimationName(stylesRef.current);
|
|
3608
|
-
prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
|
|
3609
|
-
}, [state]);
|
|
3610
|
-
useLayoutEffect2(() => {
|
|
3611
|
-
const styles = stylesRef.current;
|
|
3612
|
-
const wasPresent = prevPresentRef.current;
|
|
3613
|
-
const hasPresentChanged = wasPresent !== present;
|
|
3614
|
-
if (hasPresentChanged) {
|
|
3615
|
-
const prevAnimationName = prevAnimationNameRef.current;
|
|
3616
|
-
const currentAnimationName = getAnimationName(styles);
|
|
3617
|
-
if (present) {
|
|
3618
|
-
send("MOUNT");
|
|
3619
|
-
} else if (currentAnimationName === "none" || (styles == null ? void 0 : styles.display) === "none") {
|
|
3620
|
-
send("UNMOUNT");
|
|
3621
|
-
} else {
|
|
3622
|
-
const isAnimating = prevAnimationName !== currentAnimationName;
|
|
3623
|
-
if (wasPresent && isAnimating) {
|
|
3624
|
-
send("ANIMATION_OUT");
|
|
3625
|
-
} else {
|
|
3626
|
-
send("UNMOUNT");
|
|
3627
|
-
}
|
|
3628
|
-
}
|
|
3629
|
-
prevPresentRef.current = present;
|
|
3630
|
-
}
|
|
3631
|
-
}, [present, send]);
|
|
3632
|
-
useLayoutEffect2(() => {
|
|
3633
|
-
var _a;
|
|
3634
|
-
if (node) {
|
|
3635
|
-
let timeoutId;
|
|
3636
|
-
const ownerWindow = (_a = node.ownerDocument.defaultView) != null ? _a : window;
|
|
3637
|
-
const handleAnimationEnd = (event) => {
|
|
3638
|
-
const currentAnimationName = getAnimationName(stylesRef.current);
|
|
3639
|
-
const isCurrentAnimation = currentAnimationName.includes(event.animationName);
|
|
3640
|
-
if (event.target === node && isCurrentAnimation) {
|
|
3641
|
-
send("ANIMATION_END");
|
|
3642
|
-
if (!prevPresentRef.current) {
|
|
3643
|
-
const currentFillMode = node.style.animationFillMode;
|
|
3644
|
-
node.style.animationFillMode = "forwards";
|
|
3645
|
-
timeoutId = ownerWindow.setTimeout(() => {
|
|
3646
|
-
if (node.style.animationFillMode === "forwards") {
|
|
3647
|
-
node.style.animationFillMode = currentFillMode;
|
|
3648
|
-
}
|
|
3649
|
-
});
|
|
3650
|
-
}
|
|
3651
|
-
}
|
|
3652
|
-
};
|
|
3653
|
-
const handleAnimationStart = (event) => {
|
|
3654
|
-
if (event.target === node) {
|
|
3655
|
-
prevAnimationNameRef.current = getAnimationName(stylesRef.current);
|
|
3656
|
-
}
|
|
3657
|
-
};
|
|
3658
|
-
node.addEventListener("animationstart", handleAnimationStart);
|
|
3659
|
-
node.addEventListener("animationcancel", handleAnimationEnd);
|
|
3660
|
-
node.addEventListener("animationend", handleAnimationEnd);
|
|
3661
|
-
return () => {
|
|
3662
|
-
ownerWindow.clearTimeout(timeoutId);
|
|
3663
|
-
node.removeEventListener("animationstart", handleAnimationStart);
|
|
3664
|
-
node.removeEventListener("animationcancel", handleAnimationEnd);
|
|
3665
|
-
node.removeEventListener("animationend", handleAnimationEnd);
|
|
3666
|
-
};
|
|
3667
|
-
} else {
|
|
3668
|
-
send("ANIMATION_END");
|
|
3669
|
-
}
|
|
3670
|
-
}, [node, send]);
|
|
3671
|
-
return {
|
|
3672
|
-
isPresent: ["mounted", "unmountSuspended"].includes(state),
|
|
3673
|
-
ref: React211.useCallback((node2) => {
|
|
3674
|
-
stylesRef.current = node2 ? getComputedStyle(node2) : null;
|
|
3675
|
-
setNode(node2);
|
|
3676
|
-
}, [])
|
|
3677
|
-
};
|
|
3678
|
-
}
|
|
3679
|
-
function getAnimationName(styles) {
|
|
3680
|
-
return (styles == null ? void 0 : styles.animationName) || "none";
|
|
3681
|
-
}
|
|
3682
|
-
function getElementRef2(element) {
|
|
3683
|
-
var _a, _b;
|
|
3684
|
-
let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
|
|
3685
|
-
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
3686
|
-
if (mayWarn) {
|
|
3687
|
-
return element.ref;
|
|
3688
|
-
}
|
|
3689
|
-
getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
|
|
3690
|
-
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
3691
|
-
if (mayWarn) {
|
|
3692
|
-
return element.props.ref;
|
|
3693
|
-
}
|
|
3694
|
-
return element.props.ref || element.ref;
|
|
3695
|
-
}
|
|
3696
|
-
|
|
3697
|
-
// ../../node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.2_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-focus-guards/dist/index.mjs
|
|
3698
|
-
var React46 = __toESM(require("react"), 1);
|
|
3699
|
-
var count2 = 0;
|
|
3700
|
-
function useFocusGuards() {
|
|
3701
|
-
React46.useEffect(() => {
|
|
3702
|
-
var _a, _b;
|
|
3703
|
-
const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
|
|
3704
|
-
document.body.insertAdjacentElement("afterbegin", (_a = edgeGuards[0]) != null ? _a : createFocusGuard());
|
|
3705
|
-
document.body.insertAdjacentElement("beforeend", (_b = edgeGuards[1]) != null ? _b : createFocusGuard());
|
|
3706
|
-
count2++;
|
|
3707
|
-
return () => {
|
|
3708
|
-
if (count2 === 1) {
|
|
3709
|
-
document.querySelectorAll("[data-radix-focus-guard]").forEach((node) => node.remove());
|
|
3710
|
-
}
|
|
3711
|
-
count2--;
|
|
3712
|
-
};
|
|
3713
|
-
}, []);
|
|
3714
|
-
}
|
|
3715
|
-
function createFocusGuard() {
|
|
3716
|
-
const element = document.createElement("span");
|
|
3717
|
-
element.setAttribute("data-radix-focus-guard", "");
|
|
3718
|
-
element.tabIndex = 0;
|
|
3719
|
-
element.style.outline = "none";
|
|
3720
|
-
element.style.opacity = "0";
|
|
3721
|
-
element.style.position = "fixed";
|
|
3722
|
-
element.style.pointerEvents = "none";
|
|
3723
|
-
return element;
|
|
3724
|
-
}
|
|
3725
|
-
|
|
3726
|
-
// ../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
3727
|
-
var __assign = function() {
|
|
3728
|
-
__assign = Object.assign || function __assign2(t) {
|
|
3729
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
3730
|
-
s = arguments[i];
|
|
3731
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
3732
|
-
}
|
|
3733
|
-
return t;
|
|
3734
|
-
};
|
|
3735
|
-
return __assign.apply(this, arguments);
|
|
3736
|
-
};
|
|
3737
|
-
function __rest(s, e) {
|
|
3738
|
-
var t = {};
|
|
3739
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
3740
|
-
t[p] = s[p];
|
|
3741
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
3742
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
3743
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
3744
|
-
t[p[i]] = s[p[i]];
|
|
3745
|
-
}
|
|
3746
|
-
return t;
|
|
3747
|
-
}
|
|
3748
|
-
function __spreadArray(to, from, pack) {
|
|
3749
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3750
|
-
if (ar || !(i in from)) {
|
|
3751
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
3752
|
-
ar[i] = from[i];
|
|
3753
|
-
}
|
|
3754
|
-
}
|
|
3755
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
3756
|
-
}
|
|
3757
|
-
|
|
3758
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/Combination.js
|
|
3759
|
-
var React53 = __toESM(require("react"));
|
|
3760
|
-
|
|
3761
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/UI.js
|
|
3762
|
-
var React49 = __toESM(require("react"));
|
|
3763
|
-
|
|
3764
|
-
// ../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll-bar/dist/es2015/constants.js
|
|
3765
|
-
var zeroRightClassName = "right-scroll-bar-position";
|
|
3766
|
-
var fullWidthClassName = "width-before-scroll-bar";
|
|
3767
|
-
var noScrollbarsClassName = "with-scroll-bars-hidden";
|
|
3768
|
-
var removedBarSizeVariable = "--removed-body-scroll-bar-size";
|
|
3769
|
-
|
|
3770
|
-
// ../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@19.1.2_react@19.1.0/node_modules/use-callback-ref/dist/es2015/assignRef.js
|
|
3771
|
-
function assignRef(ref, value) {
|
|
3772
|
-
if (typeof ref === "function") {
|
|
3773
|
-
ref(value);
|
|
3774
|
-
} else if (ref) {
|
|
3775
|
-
ref.current = value;
|
|
3776
|
-
}
|
|
3777
|
-
return ref;
|
|
3778
|
-
}
|
|
3779
|
-
|
|
3780
|
-
// ../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@19.1.2_react@19.1.0/node_modules/use-callback-ref/dist/es2015/useRef.js
|
|
3781
|
-
var import_react35 = require("react");
|
|
3782
|
-
function useCallbackRef2(initialValue, callback) {
|
|
3783
|
-
var ref = (0, import_react35.useState)(function() {
|
|
3784
|
-
return {
|
|
3785
|
-
// value
|
|
3786
|
-
value: initialValue,
|
|
3787
|
-
// last callback
|
|
3788
|
-
callback,
|
|
3789
|
-
// "memoized" public interface
|
|
3790
|
-
facade: {
|
|
3791
|
-
get current() {
|
|
3792
|
-
return ref.value;
|
|
3793
|
-
},
|
|
3794
|
-
set current(value) {
|
|
3795
|
-
var last = ref.value;
|
|
3796
|
-
if (last !== value) {
|
|
3797
|
-
ref.value = value;
|
|
3798
|
-
ref.callback(value, last);
|
|
3799
|
-
}
|
|
3800
|
-
}
|
|
3801
|
-
}
|
|
3802
|
-
};
|
|
3803
|
-
})[0];
|
|
3804
|
-
ref.callback = callback;
|
|
3805
|
-
return ref.facade;
|
|
3806
|
-
}
|
|
3807
|
-
|
|
3808
|
-
// ../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@19.1.2_react@19.1.0/node_modules/use-callback-ref/dist/es2015/useMergeRef.js
|
|
3809
|
-
var React47 = __toESM(require("react"));
|
|
3810
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React47.useLayoutEffect : React47.useEffect;
|
|
3811
|
-
var currentValues = /* @__PURE__ */ new WeakMap();
|
|
3812
|
-
function useMergeRefs(refs, defaultValue) {
|
|
3813
|
-
var callbackRef = useCallbackRef2(defaultValue || null, function(newValue) {
|
|
3814
|
-
return refs.forEach(function(ref) {
|
|
3815
|
-
return assignRef(ref, newValue);
|
|
3816
|
-
});
|
|
3817
|
-
});
|
|
3818
|
-
useIsomorphicLayoutEffect(function() {
|
|
3819
|
-
var oldValue = currentValues.get(callbackRef);
|
|
3820
|
-
if (oldValue) {
|
|
3821
|
-
var prevRefs_1 = new Set(oldValue);
|
|
3822
|
-
var nextRefs_1 = new Set(refs);
|
|
3823
|
-
var current_1 = callbackRef.current;
|
|
3824
|
-
prevRefs_1.forEach(function(ref) {
|
|
3825
|
-
if (!nextRefs_1.has(ref)) {
|
|
3826
|
-
assignRef(ref, null);
|
|
3827
|
-
}
|
|
3828
|
-
});
|
|
3829
|
-
nextRefs_1.forEach(function(ref) {
|
|
3830
|
-
if (!prevRefs_1.has(ref)) {
|
|
3831
|
-
assignRef(ref, current_1);
|
|
3832
|
-
}
|
|
3833
|
-
});
|
|
3834
|
-
}
|
|
3835
|
-
currentValues.set(callbackRef, refs);
|
|
3836
|
-
}, [refs]);
|
|
3837
|
-
return callbackRef;
|
|
3838
|
-
}
|
|
3839
|
-
|
|
3840
|
-
// ../../node_modules/.pnpm/use-sidecar@1.1.3_@types+react@19.1.2_react@19.1.0/node_modules/use-sidecar/dist/es2015/medium.js
|
|
3841
|
-
function ItoI(a) {
|
|
3842
|
-
return a;
|
|
3843
|
-
}
|
|
3844
|
-
function innerCreateMedium(defaults, middleware) {
|
|
3845
|
-
if (middleware === void 0) {
|
|
3846
|
-
middleware = ItoI;
|
|
3847
|
-
}
|
|
3848
|
-
var buffer = [];
|
|
3849
|
-
var assigned = false;
|
|
3850
|
-
var medium = {
|
|
3851
|
-
read: function() {
|
|
3852
|
-
if (assigned) {
|
|
3853
|
-
throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");
|
|
3854
|
-
}
|
|
3855
|
-
if (buffer.length) {
|
|
3856
|
-
return buffer[buffer.length - 1];
|
|
3857
|
-
}
|
|
3858
|
-
return defaults;
|
|
3859
|
-
},
|
|
3860
|
-
useMedium: function(data) {
|
|
3861
|
-
var item = middleware(data, assigned);
|
|
3862
|
-
buffer.push(item);
|
|
3863
|
-
return function() {
|
|
3864
|
-
buffer = buffer.filter(function(x) {
|
|
3865
|
-
return x !== item;
|
|
3866
|
-
});
|
|
3867
|
-
};
|
|
3868
|
-
},
|
|
3869
|
-
assignSyncMedium: function(cb) {
|
|
3870
|
-
assigned = true;
|
|
3871
|
-
while (buffer.length) {
|
|
3872
|
-
var cbs = buffer;
|
|
3873
|
-
buffer = [];
|
|
3874
|
-
cbs.forEach(cb);
|
|
3875
|
-
}
|
|
3876
|
-
buffer = {
|
|
3877
|
-
push: function(x) {
|
|
3878
|
-
return cb(x);
|
|
3879
|
-
},
|
|
3880
|
-
filter: function() {
|
|
3881
|
-
return buffer;
|
|
3882
|
-
}
|
|
3883
|
-
};
|
|
3884
|
-
},
|
|
3885
|
-
assignMedium: function(cb) {
|
|
3886
|
-
assigned = true;
|
|
3887
|
-
var pendingQueue = [];
|
|
3888
|
-
if (buffer.length) {
|
|
3889
|
-
var cbs = buffer;
|
|
3890
|
-
buffer = [];
|
|
3891
|
-
cbs.forEach(cb);
|
|
3892
|
-
pendingQueue = buffer;
|
|
3893
|
-
}
|
|
3894
|
-
var executeQueue = function() {
|
|
3895
|
-
var cbs2 = pendingQueue;
|
|
3896
|
-
pendingQueue = [];
|
|
3897
|
-
cbs2.forEach(cb);
|
|
3898
|
-
};
|
|
3899
|
-
var cycle = function() {
|
|
3900
|
-
return Promise.resolve().then(executeQueue);
|
|
3901
|
-
};
|
|
3902
|
-
cycle();
|
|
3903
|
-
buffer = {
|
|
3904
|
-
push: function(x) {
|
|
3905
|
-
pendingQueue.push(x);
|
|
3906
|
-
cycle();
|
|
3907
|
-
},
|
|
3908
|
-
filter: function(filter) {
|
|
3909
|
-
pendingQueue = pendingQueue.filter(filter);
|
|
3910
|
-
return buffer;
|
|
3911
|
-
}
|
|
3912
|
-
};
|
|
3913
|
-
}
|
|
3914
|
-
};
|
|
3915
|
-
return medium;
|
|
3916
|
-
}
|
|
3917
|
-
function createSidecarMedium(options) {
|
|
3918
|
-
if (options === void 0) {
|
|
3919
|
-
options = {};
|
|
3920
|
-
}
|
|
3921
|
-
var medium = innerCreateMedium(null);
|
|
3922
|
-
medium.options = __assign({ async: true, ssr: false }, options);
|
|
3923
|
-
return medium;
|
|
3924
|
-
}
|
|
3925
|
-
|
|
3926
|
-
// ../../node_modules/.pnpm/use-sidecar@1.1.3_@types+react@19.1.2_react@19.1.0/node_modules/use-sidecar/dist/es2015/exports.js
|
|
3927
|
-
var React48 = __toESM(require("react"));
|
|
3928
|
-
var SideCar = function(_a) {
|
|
3929
|
-
var sideCar = _a.sideCar, rest = __rest(_a, ["sideCar"]);
|
|
3930
|
-
if (!sideCar) {
|
|
3931
|
-
throw new Error("Sidecar: please provide `sideCar` property to import the right car");
|
|
3932
|
-
}
|
|
3933
|
-
var Target = sideCar.read();
|
|
3934
|
-
if (!Target) {
|
|
3935
|
-
throw new Error("Sidecar medium not found");
|
|
3936
|
-
}
|
|
3937
|
-
return React48.createElement(Target, __assign({}, rest));
|
|
3938
|
-
};
|
|
3939
|
-
SideCar.isSideCarExport = true;
|
|
3940
|
-
function exportSidecar(medium, exported) {
|
|
3941
|
-
medium.useMedium(exported);
|
|
3942
|
-
return SideCar;
|
|
3943
|
-
}
|
|
3944
|
-
|
|
3945
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/medium.js
|
|
3946
|
-
var effectCar = createSidecarMedium();
|
|
3947
|
-
|
|
3948
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/UI.js
|
|
3949
|
-
var nothing = function() {
|
|
3950
|
-
return;
|
|
3951
|
-
};
|
|
3952
|
-
var RemoveScroll = React49.forwardRef(function(props, parentRef) {
|
|
3953
|
-
var ref = React49.useRef(null);
|
|
3954
|
-
var _a = React49.useState({
|
|
3955
|
-
onScrollCapture: nothing,
|
|
3956
|
-
onWheelCapture: nothing,
|
|
3957
|
-
onTouchMoveCapture: nothing
|
|
3958
|
-
}), callbacks = _a[0], setCallbacks = _a[1];
|
|
3959
|
-
var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? "div" : _b, gapMode = props.gapMode, rest = __rest(props, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]);
|
|
3960
|
-
var SideCar2 = sideCar;
|
|
3961
|
-
var containerRef = useMergeRefs([ref, parentRef]);
|
|
3962
|
-
var containerProps = __assign(__assign({}, rest), callbacks);
|
|
3963
|
-
return React49.createElement(
|
|
3964
|
-
React49.Fragment,
|
|
3965
|
-
null,
|
|
3966
|
-
enabled && React49.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),
|
|
3967
|
-
forwardProps ? React49.cloneElement(React49.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React49.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)
|
|
3968
|
-
);
|
|
3969
|
-
});
|
|
3970
|
-
RemoveScroll.defaultProps = {
|
|
3971
|
-
enabled: true,
|
|
3972
|
-
removeScrollBar: true,
|
|
3973
|
-
inert: false
|
|
3974
|
-
};
|
|
3975
|
-
RemoveScroll.classNames = {
|
|
3976
|
-
fullWidth: fullWidthClassName,
|
|
3977
|
-
zeroRight: zeroRightClassName
|
|
3978
|
-
};
|
|
3979
|
-
|
|
3980
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/SideEffect.js
|
|
3981
|
-
var React52 = __toESM(require("react"));
|
|
3982
|
-
|
|
3983
|
-
// ../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll-bar/dist/es2015/component.js
|
|
3984
|
-
var React51 = __toESM(require("react"));
|
|
3985
|
-
|
|
3986
|
-
// ../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@19.1.2_react@19.1.0/node_modules/react-style-singleton/dist/es2015/hook.js
|
|
3987
|
-
var React50 = __toESM(require("react"));
|
|
3988
|
-
|
|
3989
|
-
// ../../node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.js
|
|
3990
|
-
var currentNonce;
|
|
3991
|
-
var getNonce = function() {
|
|
3992
|
-
if (currentNonce) {
|
|
3993
|
-
return currentNonce;
|
|
3994
|
-
}
|
|
3995
|
-
if (typeof __webpack_nonce__ !== "undefined") {
|
|
3996
|
-
return __webpack_nonce__;
|
|
3997
|
-
}
|
|
3998
|
-
return void 0;
|
|
3999
|
-
};
|
|
4000
|
-
|
|
4001
|
-
// ../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@19.1.2_react@19.1.0/node_modules/react-style-singleton/dist/es2015/singleton.js
|
|
4002
|
-
function makeStyleTag() {
|
|
4003
|
-
if (!document)
|
|
4004
|
-
return null;
|
|
4005
|
-
var tag = document.createElement("style");
|
|
4006
|
-
tag.type = "text/css";
|
|
4007
|
-
var nonce = getNonce();
|
|
4008
|
-
if (nonce) {
|
|
4009
|
-
tag.setAttribute("nonce", nonce);
|
|
4010
|
-
}
|
|
4011
|
-
return tag;
|
|
4012
|
-
}
|
|
4013
|
-
function injectStyles(tag, css) {
|
|
4014
|
-
if (tag.styleSheet) {
|
|
4015
|
-
tag.styleSheet.cssText = css;
|
|
4016
|
-
} else {
|
|
4017
|
-
tag.appendChild(document.createTextNode(css));
|
|
4018
|
-
}
|
|
4019
|
-
}
|
|
4020
|
-
function insertStyleTag(tag) {
|
|
4021
|
-
var head = document.head || document.getElementsByTagName("head")[0];
|
|
4022
|
-
head.appendChild(tag);
|
|
4023
|
-
}
|
|
4024
|
-
var stylesheetSingleton = function() {
|
|
4025
|
-
var counter = 0;
|
|
4026
|
-
var stylesheet = null;
|
|
4027
|
-
return {
|
|
4028
|
-
add: function(style) {
|
|
4029
|
-
if (counter == 0) {
|
|
4030
|
-
if (stylesheet = makeStyleTag()) {
|
|
4031
|
-
injectStyles(stylesheet, style);
|
|
4032
|
-
insertStyleTag(stylesheet);
|
|
4033
|
-
}
|
|
4034
|
-
}
|
|
4035
|
-
counter++;
|
|
4036
|
-
},
|
|
4037
|
-
remove: function() {
|
|
4038
|
-
counter--;
|
|
4039
|
-
if (!counter && stylesheet) {
|
|
4040
|
-
stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);
|
|
4041
|
-
stylesheet = null;
|
|
4042
|
-
}
|
|
4043
|
-
}
|
|
4044
|
-
};
|
|
4045
|
-
};
|
|
4046
|
-
|
|
4047
|
-
// ../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@19.1.2_react@19.1.0/node_modules/react-style-singleton/dist/es2015/hook.js
|
|
4048
|
-
var styleHookSingleton = function() {
|
|
4049
|
-
var sheet = stylesheetSingleton();
|
|
4050
|
-
return function(styles, isDynamic) {
|
|
4051
|
-
React50.useEffect(function() {
|
|
4052
|
-
sheet.add(styles);
|
|
4053
|
-
return function() {
|
|
4054
|
-
sheet.remove();
|
|
4055
|
-
};
|
|
4056
|
-
}, [styles && isDynamic]);
|
|
4057
|
-
};
|
|
4058
|
-
};
|
|
4059
|
-
|
|
4060
|
-
// ../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@19.1.2_react@19.1.0/node_modules/react-style-singleton/dist/es2015/component.js
|
|
4061
|
-
var styleSingleton = function() {
|
|
4062
|
-
var useStyle = styleHookSingleton();
|
|
4063
|
-
var Sheet = function(_a) {
|
|
4064
|
-
var styles = _a.styles, dynamic = _a.dynamic;
|
|
4065
|
-
useStyle(styles, dynamic);
|
|
4066
|
-
return null;
|
|
4067
|
-
};
|
|
4068
|
-
return Sheet;
|
|
4069
|
-
};
|
|
4070
|
-
|
|
4071
|
-
// ../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll-bar/dist/es2015/utils.js
|
|
4072
|
-
var zeroGap = {
|
|
4073
|
-
left: 0,
|
|
4074
|
-
top: 0,
|
|
4075
|
-
right: 0,
|
|
4076
|
-
gap: 0
|
|
4077
|
-
};
|
|
4078
|
-
var parse = function(x) {
|
|
4079
|
-
return parseInt(x || "", 10) || 0;
|
|
4080
|
-
};
|
|
4081
|
-
var getOffset = function(gapMode) {
|
|
4082
|
-
var cs = window.getComputedStyle(document.body);
|
|
4083
|
-
var left = cs[gapMode === "padding" ? "paddingLeft" : "marginLeft"];
|
|
4084
|
-
var top = cs[gapMode === "padding" ? "paddingTop" : "marginTop"];
|
|
4085
|
-
var right = cs[gapMode === "padding" ? "paddingRight" : "marginRight"];
|
|
4086
|
-
return [parse(left), parse(top), parse(right)];
|
|
4087
|
-
};
|
|
4088
|
-
var getGapWidth = function(gapMode) {
|
|
4089
|
-
if (gapMode === void 0) {
|
|
4090
|
-
gapMode = "margin";
|
|
4091
|
-
}
|
|
4092
|
-
if (typeof window === "undefined") {
|
|
4093
|
-
return zeroGap;
|
|
4094
|
-
}
|
|
4095
|
-
var offsets = getOffset(gapMode);
|
|
4096
|
-
var documentWidth = document.documentElement.clientWidth;
|
|
4097
|
-
var windowWidth = window.innerWidth;
|
|
4098
|
-
return {
|
|
4099
|
-
left: offsets[0],
|
|
4100
|
-
top: offsets[1],
|
|
4101
|
-
right: offsets[2],
|
|
4102
|
-
gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0])
|
|
4103
|
-
};
|
|
4104
|
-
};
|
|
4105
|
-
|
|
4106
|
-
// ../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll-bar/dist/es2015/component.js
|
|
4107
|
-
var Style = styleSingleton();
|
|
4108
|
-
var lockAttribute = "data-scroll-locked";
|
|
4109
|
-
var getStyles = function(_a, allowRelative, gapMode, important) {
|
|
4110
|
-
var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;
|
|
4111
|
-
if (gapMode === void 0) {
|
|
4112
|
-
gapMode = "margin";
|
|
4113
|
-
}
|
|
4114
|
-
return "\n .".concat(noScrollbarsClassName, " {\n overflow: hidden ").concat(important, ";\n padding-right: ").concat(gap, "px ").concat(important, ";\n }\n body[").concat(lockAttribute, "] {\n overflow: hidden ").concat(important, ";\n overscroll-behavior: contain;\n ").concat([
|
|
4115
|
-
allowRelative && "position: relative ".concat(important, ";"),
|
|
4116
|
-
gapMode === "margin" && "\n padding-left: ".concat(left, "px;\n padding-top: ").concat(top, "px;\n padding-right: ").concat(right, "px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(gap, "px ").concat(important, ";\n "),
|
|
4117
|
-
gapMode === "padding" && "padding-right: ".concat(gap, "px ").concat(important, ";")
|
|
4118
|
-
].filter(Boolean).join(""), "\n }\n \n .").concat(zeroRightClassName, " {\n right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(fullWidthClassName, " {\n margin-right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(zeroRightClassName, " .").concat(zeroRightClassName, " {\n right: 0 ").concat(important, ";\n }\n \n .").concat(fullWidthClassName, " .").concat(fullWidthClassName, " {\n margin-right: 0 ").concat(important, ";\n }\n \n body[").concat(lockAttribute, "] {\n ").concat(removedBarSizeVariable, ": ").concat(gap, "px;\n }\n");
|
|
4119
|
-
};
|
|
4120
|
-
var getCurrentUseCounter = function() {
|
|
4121
|
-
var counter = parseInt(document.body.getAttribute(lockAttribute) || "0", 10);
|
|
4122
|
-
return isFinite(counter) ? counter : 0;
|
|
4123
|
-
};
|
|
4124
|
-
var useLockAttribute = function() {
|
|
4125
|
-
React51.useEffect(function() {
|
|
4126
|
-
document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());
|
|
4127
|
-
return function() {
|
|
4128
|
-
var newCounter = getCurrentUseCounter() - 1;
|
|
4129
|
-
if (newCounter <= 0) {
|
|
4130
|
-
document.body.removeAttribute(lockAttribute);
|
|
4131
|
-
} else {
|
|
4132
|
-
document.body.setAttribute(lockAttribute, newCounter.toString());
|
|
4133
|
-
}
|
|
4134
|
-
};
|
|
4135
|
-
}, []);
|
|
4136
|
-
};
|
|
4137
|
-
var RemoveScrollBar = function(_a) {
|
|
4138
|
-
var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? "margin" : _b;
|
|
4139
|
-
useLockAttribute();
|
|
4140
|
-
var gap = React51.useMemo(function() {
|
|
4141
|
-
return getGapWidth(gapMode);
|
|
4142
|
-
}, [gapMode]);
|
|
4143
|
-
return React51.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
|
|
4144
|
-
};
|
|
4145
|
-
|
|
4146
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js
|
|
4147
|
-
var passiveSupported = false;
|
|
4148
|
-
if (typeof window !== "undefined") {
|
|
4149
|
-
try {
|
|
4150
|
-
options = Object.defineProperty({}, "passive", {
|
|
4151
|
-
get: function() {
|
|
4152
|
-
passiveSupported = true;
|
|
4153
|
-
return true;
|
|
4154
|
-
}
|
|
4155
|
-
});
|
|
4156
|
-
window.addEventListener("test", options, options);
|
|
4157
|
-
window.removeEventListener("test", options, options);
|
|
4158
|
-
} catch (err) {
|
|
4159
|
-
passiveSupported = false;
|
|
4160
|
-
}
|
|
4161
|
-
}
|
|
4162
|
-
var options;
|
|
4163
|
-
var nonPassive = passiveSupported ? { passive: false } : false;
|
|
4164
|
-
|
|
4165
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/handleScroll.js
|
|
4166
|
-
var alwaysContainsScroll = function(node) {
|
|
4167
|
-
return node.tagName === "TEXTAREA";
|
|
4168
|
-
};
|
|
4169
|
-
var elementCanBeScrolled = function(node, overflow) {
|
|
4170
|
-
if (!(node instanceof Element)) {
|
|
4171
|
-
return false;
|
|
4172
|
-
}
|
|
4173
|
-
var styles = window.getComputedStyle(node);
|
|
4174
|
-
return (
|
|
4175
|
-
// not-not-scrollable
|
|
4176
|
-
styles[overflow] !== "hidden" && // contains scroll inside self
|
|
4177
|
-
!(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === "visible")
|
|
4178
|
-
);
|
|
4179
|
-
};
|
|
4180
|
-
var elementCouldBeVScrolled = function(node) {
|
|
4181
|
-
return elementCanBeScrolled(node, "overflowY");
|
|
4182
|
-
};
|
|
4183
|
-
var elementCouldBeHScrolled = function(node) {
|
|
4184
|
-
return elementCanBeScrolled(node, "overflowX");
|
|
4185
|
-
};
|
|
4186
|
-
var locationCouldBeScrolled = function(axis, node) {
|
|
4187
|
-
var ownerDocument = node.ownerDocument;
|
|
4188
|
-
var current = node;
|
|
4189
|
-
do {
|
|
4190
|
-
if (typeof ShadowRoot !== "undefined" && current instanceof ShadowRoot) {
|
|
4191
|
-
current = current.host;
|
|
4192
|
-
}
|
|
4193
|
-
var isScrollable = elementCouldBeScrolled(axis, current);
|
|
4194
|
-
if (isScrollable) {
|
|
4195
|
-
var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];
|
|
4196
|
-
if (scrollHeight > clientHeight) {
|
|
4197
|
-
return true;
|
|
4198
|
-
}
|
|
4199
|
-
}
|
|
4200
|
-
current = current.parentNode;
|
|
4201
|
-
} while (current && current !== ownerDocument.body);
|
|
4202
|
-
return false;
|
|
4203
|
-
};
|
|
4204
|
-
var getVScrollVariables = function(_a) {
|
|
4205
|
-
var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;
|
|
4206
|
-
return [
|
|
4207
|
-
scrollTop,
|
|
4208
|
-
scrollHeight,
|
|
4209
|
-
clientHeight
|
|
4210
|
-
];
|
|
4211
|
-
};
|
|
4212
|
-
var getHScrollVariables = function(_a) {
|
|
4213
|
-
var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;
|
|
4214
|
-
return [
|
|
4215
|
-
scrollLeft,
|
|
4216
|
-
scrollWidth,
|
|
4217
|
-
clientWidth
|
|
4218
|
-
];
|
|
4219
|
-
};
|
|
4220
|
-
var elementCouldBeScrolled = function(axis, node) {
|
|
4221
|
-
return axis === "v" ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);
|
|
4222
|
-
};
|
|
4223
|
-
var getScrollVariables = function(axis, node) {
|
|
4224
|
-
return axis === "v" ? getVScrollVariables(node) : getHScrollVariables(node);
|
|
4225
|
-
};
|
|
4226
|
-
var getDirectionFactor = function(axis, direction) {
|
|
4227
|
-
return axis === "h" && direction === "rtl" ? -1 : 1;
|
|
4228
|
-
};
|
|
4229
|
-
var handleScroll = function(axis, endTarget, event, sourceDelta, noOverscroll) {
|
|
4230
|
-
var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);
|
|
4231
|
-
var delta = directionFactor * sourceDelta;
|
|
4232
|
-
var target = event.target;
|
|
4233
|
-
var targetInLock = endTarget.contains(target);
|
|
4234
|
-
var shouldCancelScroll = false;
|
|
4235
|
-
var isDeltaPositive = delta > 0;
|
|
4236
|
-
var availableScroll = 0;
|
|
4237
|
-
var availableScrollTop = 0;
|
|
4238
|
-
do {
|
|
4239
|
-
if (!target) {
|
|
4240
|
-
break;
|
|
4241
|
-
}
|
|
4242
|
-
var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];
|
|
4243
|
-
var elementScroll = scroll_1 - capacity - directionFactor * position;
|
|
4244
|
-
if (position || elementScroll) {
|
|
4245
|
-
if (elementCouldBeScrolled(axis, target)) {
|
|
4246
|
-
availableScroll += elementScroll;
|
|
4247
|
-
availableScrollTop += position;
|
|
4248
|
-
}
|
|
4249
|
-
}
|
|
4250
|
-
var parent_1 = target.parentNode;
|
|
4251
|
-
target = parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1;
|
|
4252
|
-
} while (
|
|
4253
|
-
// portaled content
|
|
4254
|
-
!targetInLock && target !== document.body || // self content
|
|
4255
|
-
targetInLock && (endTarget.contains(target) || endTarget === target)
|
|
4256
|
-
);
|
|
4257
|
-
if (isDeltaPositive && (noOverscroll && Math.abs(availableScroll) < 1 || !noOverscroll && delta > availableScroll)) {
|
|
4258
|
-
shouldCancelScroll = true;
|
|
4259
|
-
} else if (!isDeltaPositive && (noOverscroll && Math.abs(availableScrollTop) < 1 || !noOverscroll && -delta > availableScrollTop)) {
|
|
4260
|
-
shouldCancelScroll = true;
|
|
4261
|
-
}
|
|
4262
|
-
return shouldCancelScroll;
|
|
4263
|
-
};
|
|
4264
|
-
|
|
4265
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/SideEffect.js
|
|
4266
|
-
var getTouchXY = function(event) {
|
|
4267
|
-
return "changedTouches" in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];
|
|
4268
|
-
};
|
|
4269
|
-
var getDeltaXY = function(event) {
|
|
4270
|
-
return [event.deltaX, event.deltaY];
|
|
4271
|
-
};
|
|
4272
|
-
var extractRef = function(ref) {
|
|
4273
|
-
return ref && "current" in ref ? ref.current : ref;
|
|
4274
|
-
};
|
|
4275
|
-
var deltaCompare = function(x, y) {
|
|
4276
|
-
return x[0] === y[0] && x[1] === y[1];
|
|
4277
|
-
};
|
|
4278
|
-
var generateStyle = function(id) {
|
|
4279
|
-
return "\n .block-interactivity-".concat(id, " {pointer-events: none;}\n .allow-interactivity-").concat(id, " {pointer-events: all;}\n");
|
|
4280
|
-
};
|
|
4281
|
-
var idCounter = 0;
|
|
4282
|
-
var lockStack = [];
|
|
4283
|
-
function RemoveScrollSideCar(props) {
|
|
4284
|
-
var shouldPreventQueue = React52.useRef([]);
|
|
4285
|
-
var touchStartRef = React52.useRef([0, 0]);
|
|
4286
|
-
var activeAxis = React52.useRef();
|
|
4287
|
-
var id = React52.useState(idCounter++)[0];
|
|
4288
|
-
var Style2 = React52.useState(styleSingleton)[0];
|
|
4289
|
-
var lastProps = React52.useRef(props);
|
|
4290
|
-
React52.useEffect(function() {
|
|
4291
|
-
lastProps.current = props;
|
|
4292
|
-
}, [props]);
|
|
4293
|
-
React52.useEffect(function() {
|
|
4294
|
-
if (props.inert) {
|
|
4295
|
-
document.body.classList.add("block-interactivity-".concat(id));
|
|
4296
|
-
var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);
|
|
4297
|
-
allow_1.forEach(function(el) {
|
|
4298
|
-
return el.classList.add("allow-interactivity-".concat(id));
|
|
4299
|
-
});
|
|
4300
|
-
return function() {
|
|
4301
|
-
document.body.classList.remove("block-interactivity-".concat(id));
|
|
4302
|
-
allow_1.forEach(function(el) {
|
|
4303
|
-
return el.classList.remove("allow-interactivity-".concat(id));
|
|
4304
|
-
});
|
|
4305
|
-
};
|
|
4306
|
-
}
|
|
4307
|
-
return;
|
|
4308
|
-
}, [props.inert, props.lockRef.current, props.shards]);
|
|
4309
|
-
var shouldCancelEvent = React52.useCallback(function(event, parent) {
|
|
4310
|
-
if ("touches" in event && event.touches.length === 2 || event.type === "wheel" && event.ctrlKey) {
|
|
4311
|
-
return !lastProps.current.allowPinchZoom;
|
|
4312
|
-
}
|
|
4313
|
-
var touch = getTouchXY(event);
|
|
4314
|
-
var touchStart = touchStartRef.current;
|
|
4315
|
-
var deltaX = "deltaX" in event ? event.deltaX : touchStart[0] - touch[0];
|
|
4316
|
-
var deltaY = "deltaY" in event ? event.deltaY : touchStart[1] - touch[1];
|
|
4317
|
-
var currentAxis;
|
|
4318
|
-
var target = event.target;
|
|
4319
|
-
var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? "h" : "v";
|
|
4320
|
-
if ("touches" in event && moveDirection === "h" && target.type === "range") {
|
|
4321
|
-
return false;
|
|
4322
|
-
}
|
|
4323
|
-
var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);
|
|
4324
|
-
if (!canBeScrolledInMainDirection) {
|
|
4325
|
-
return true;
|
|
4326
|
-
}
|
|
4327
|
-
if (canBeScrolledInMainDirection) {
|
|
4328
|
-
currentAxis = moveDirection;
|
|
4329
|
-
} else {
|
|
4330
|
-
currentAxis = moveDirection === "v" ? "h" : "v";
|
|
4331
|
-
canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);
|
|
4332
|
-
}
|
|
4333
|
-
if (!canBeScrolledInMainDirection) {
|
|
4334
|
-
return false;
|
|
4335
|
-
}
|
|
4336
|
-
if (!activeAxis.current && "changedTouches" in event && (deltaX || deltaY)) {
|
|
4337
|
-
activeAxis.current = currentAxis;
|
|
4338
|
-
}
|
|
4339
|
-
if (!currentAxis) {
|
|
4340
|
-
return true;
|
|
4341
|
-
}
|
|
4342
|
-
var cancelingAxis = activeAxis.current || currentAxis;
|
|
4343
|
-
return handleScroll(cancelingAxis, parent, event, cancelingAxis === "h" ? deltaX : deltaY, true);
|
|
4344
|
-
}, []);
|
|
4345
|
-
var shouldPrevent = React52.useCallback(function(_event) {
|
|
4346
|
-
var event = _event;
|
|
4347
|
-
if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) {
|
|
4348
|
-
return;
|
|
4349
|
-
}
|
|
4350
|
-
var delta = "deltaY" in event ? getDeltaXY(event) : getTouchXY(event);
|
|
4351
|
-
var sourceEvent = shouldPreventQueue.current.filter(function(e) {
|
|
4352
|
-
return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta);
|
|
4353
|
-
})[0];
|
|
4354
|
-
if (sourceEvent && sourceEvent.should) {
|
|
4355
|
-
if (event.cancelable) {
|
|
4356
|
-
event.preventDefault();
|
|
4357
|
-
}
|
|
4358
|
-
return;
|
|
4359
|
-
}
|
|
4360
|
-
if (!sourceEvent) {
|
|
4361
|
-
var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function(node) {
|
|
4362
|
-
return node.contains(event.target);
|
|
4363
|
-
});
|
|
4364
|
-
var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;
|
|
4365
|
-
if (shouldStop) {
|
|
4366
|
-
if (event.cancelable) {
|
|
4367
|
-
event.preventDefault();
|
|
4368
|
-
}
|
|
4369
|
-
}
|
|
4370
|
-
}
|
|
4371
|
-
}, []);
|
|
4372
|
-
var shouldCancel = React52.useCallback(function(name, delta, target, should) {
|
|
4373
|
-
var event = { name, delta, target, should, shadowParent: getOutermostShadowParent(target) };
|
|
4374
|
-
shouldPreventQueue.current.push(event);
|
|
4375
|
-
setTimeout(function() {
|
|
4376
|
-
shouldPreventQueue.current = shouldPreventQueue.current.filter(function(e) {
|
|
4377
|
-
return e !== event;
|
|
4378
|
-
});
|
|
4379
|
-
}, 1);
|
|
4380
|
-
}, []);
|
|
4381
|
-
var scrollTouchStart = React52.useCallback(function(event) {
|
|
4382
|
-
touchStartRef.current = getTouchXY(event);
|
|
4383
|
-
activeAxis.current = void 0;
|
|
4384
|
-
}, []);
|
|
4385
|
-
var scrollWheel = React52.useCallback(function(event) {
|
|
4386
|
-
shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
|
|
4387
|
-
}, []);
|
|
4388
|
-
var scrollTouchMove = React52.useCallback(function(event) {
|
|
4389
|
-
shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
|
|
4390
|
-
}, []);
|
|
4391
|
-
React52.useEffect(function() {
|
|
4392
|
-
lockStack.push(Style2);
|
|
4393
|
-
props.setCallbacks({
|
|
4394
|
-
onScrollCapture: scrollWheel,
|
|
4395
|
-
onWheelCapture: scrollWheel,
|
|
4396
|
-
onTouchMoveCapture: scrollTouchMove
|
|
4397
|
-
});
|
|
4398
|
-
document.addEventListener("wheel", shouldPrevent, nonPassive);
|
|
4399
|
-
document.addEventListener("touchmove", shouldPrevent, nonPassive);
|
|
4400
|
-
document.addEventListener("touchstart", scrollTouchStart, nonPassive);
|
|
4401
|
-
return function() {
|
|
4402
|
-
lockStack = lockStack.filter(function(inst) {
|
|
4403
|
-
return inst !== Style2;
|
|
4404
|
-
});
|
|
4405
|
-
document.removeEventListener("wheel", shouldPrevent, nonPassive);
|
|
4406
|
-
document.removeEventListener("touchmove", shouldPrevent, nonPassive);
|
|
4407
|
-
document.removeEventListener("touchstart", scrollTouchStart, nonPassive);
|
|
4408
|
-
};
|
|
4409
|
-
}, []);
|
|
4410
|
-
var removeScrollBar = props.removeScrollBar, inert = props.inert;
|
|
4411
|
-
return React52.createElement(
|
|
4412
|
-
React52.Fragment,
|
|
4413
|
-
null,
|
|
4414
|
-
inert ? React52.createElement(Style2, { styles: generateStyle(id) }) : null,
|
|
4415
|
-
removeScrollBar ? React52.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null
|
|
4416
|
-
);
|
|
4417
|
-
}
|
|
4418
|
-
function getOutermostShadowParent(node) {
|
|
4419
|
-
var shadowParent = null;
|
|
4420
|
-
while (node !== null) {
|
|
4421
|
-
if (node instanceof ShadowRoot) {
|
|
4422
|
-
shadowParent = node.host;
|
|
4423
|
-
node = node.host;
|
|
4424
|
-
}
|
|
4425
|
-
node = node.parentNode;
|
|
4426
|
-
}
|
|
4427
|
-
return shadowParent;
|
|
4428
|
-
}
|
|
4429
|
-
|
|
4430
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/sidecar.js
|
|
4431
|
-
var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);
|
|
4432
|
-
|
|
4433
|
-
// ../../node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@19.1.2_react@19.1.0/node_modules/react-remove-scroll/dist/es2015/Combination.js
|
|
4434
|
-
var ReactRemoveScroll = React53.forwardRef(function(props, ref) {
|
|
4435
|
-
return React53.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
|
|
4436
|
-
});
|
|
4437
|
-
ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
|
4438
|
-
var Combination_default = ReactRemoveScroll;
|
|
4439
|
-
|
|
4440
|
-
// ../../node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.js
|
|
4441
|
-
var getDefaultParent = function(originalTarget) {
|
|
4442
|
-
if (typeof document === "undefined") {
|
|
4443
|
-
return null;
|
|
4444
|
-
}
|
|
4445
|
-
var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;
|
|
4446
|
-
return sampleTarget.ownerDocument.body;
|
|
4447
|
-
};
|
|
4448
|
-
var counterMap = /* @__PURE__ */ new WeakMap();
|
|
4449
|
-
var uncontrolledNodes = /* @__PURE__ */ new WeakMap();
|
|
4450
|
-
var markerMap = {};
|
|
4451
|
-
var lockCount = 0;
|
|
4452
|
-
var unwrapHost = function(node) {
|
|
4453
|
-
return node && (node.host || unwrapHost(node.parentNode));
|
|
4454
|
-
};
|
|
4455
|
-
var correctTargets = function(parent, targets) {
|
|
4456
|
-
return targets.map(function(target) {
|
|
4457
|
-
if (parent.contains(target)) {
|
|
4458
|
-
return target;
|
|
4459
|
-
}
|
|
4460
|
-
var correctedTarget = unwrapHost(target);
|
|
4461
|
-
if (correctedTarget && parent.contains(correctedTarget)) {
|
|
4462
|
-
return correctedTarget;
|
|
4463
|
-
}
|
|
4464
|
-
console.error("aria-hidden", target, "in not contained inside", parent, ". Doing nothing");
|
|
4465
|
-
return null;
|
|
4466
|
-
}).filter(function(x) {
|
|
4467
|
-
return Boolean(x);
|
|
4468
|
-
});
|
|
4469
|
-
};
|
|
4470
|
-
var applyAttributeToOthers = function(originalTarget, parentNode, markerName, controlAttribute) {
|
|
4471
|
-
var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
|
|
4472
|
-
if (!markerMap[markerName]) {
|
|
4473
|
-
markerMap[markerName] = /* @__PURE__ */ new WeakMap();
|
|
4474
|
-
}
|
|
4475
|
-
var markerCounter = markerMap[markerName];
|
|
4476
|
-
var hiddenNodes = [];
|
|
4477
|
-
var elementsToKeep = /* @__PURE__ */ new Set();
|
|
4478
|
-
var elementsToStop = new Set(targets);
|
|
4479
|
-
var keep = function(el) {
|
|
4480
|
-
if (!el || elementsToKeep.has(el)) {
|
|
4481
|
-
return;
|
|
4482
|
-
}
|
|
4483
|
-
elementsToKeep.add(el);
|
|
4484
|
-
keep(el.parentNode);
|
|
4485
|
-
};
|
|
4486
|
-
targets.forEach(keep);
|
|
4487
|
-
var deep = function(parent) {
|
|
4488
|
-
if (!parent || elementsToStop.has(parent)) {
|
|
4489
|
-
return;
|
|
4490
|
-
}
|
|
4491
|
-
Array.prototype.forEach.call(parent.children, function(node) {
|
|
4492
|
-
if (elementsToKeep.has(node)) {
|
|
4493
|
-
deep(node);
|
|
4494
|
-
} else {
|
|
4495
|
-
try {
|
|
4496
|
-
var attr = node.getAttribute(controlAttribute);
|
|
4497
|
-
var alreadyHidden = attr !== null && attr !== "false";
|
|
4498
|
-
var counterValue = (counterMap.get(node) || 0) + 1;
|
|
4499
|
-
var markerValue = (markerCounter.get(node) || 0) + 1;
|
|
4500
|
-
counterMap.set(node, counterValue);
|
|
4501
|
-
markerCounter.set(node, markerValue);
|
|
4502
|
-
hiddenNodes.push(node);
|
|
4503
|
-
if (counterValue === 1 && alreadyHidden) {
|
|
4504
|
-
uncontrolledNodes.set(node, true);
|
|
4505
|
-
}
|
|
4506
|
-
if (markerValue === 1) {
|
|
4507
|
-
node.setAttribute(markerName, "true");
|
|
4508
|
-
}
|
|
4509
|
-
if (!alreadyHidden) {
|
|
4510
|
-
node.setAttribute(controlAttribute, "true");
|
|
4511
|
-
}
|
|
4512
|
-
} catch (e) {
|
|
4513
|
-
console.error("aria-hidden: cannot operate on ", node, e);
|
|
4514
|
-
}
|
|
4515
|
-
}
|
|
4516
|
-
});
|
|
4517
|
-
};
|
|
4518
|
-
deep(parentNode);
|
|
4519
|
-
elementsToKeep.clear();
|
|
4520
|
-
lockCount++;
|
|
4521
|
-
return function() {
|
|
4522
|
-
hiddenNodes.forEach(function(node) {
|
|
4523
|
-
var counterValue = counterMap.get(node) - 1;
|
|
4524
|
-
var markerValue = markerCounter.get(node) - 1;
|
|
4525
|
-
counterMap.set(node, counterValue);
|
|
4526
|
-
markerCounter.set(node, markerValue);
|
|
4527
|
-
if (!counterValue) {
|
|
4528
|
-
if (!uncontrolledNodes.has(node)) {
|
|
4529
|
-
node.removeAttribute(controlAttribute);
|
|
4530
|
-
}
|
|
4531
|
-
uncontrolledNodes.delete(node);
|
|
4532
|
-
}
|
|
4533
|
-
if (!markerValue) {
|
|
4534
|
-
node.removeAttribute(markerName);
|
|
4535
|
-
}
|
|
4536
|
-
});
|
|
4537
|
-
lockCount--;
|
|
4538
|
-
if (!lockCount) {
|
|
4539
|
-
counterMap = /* @__PURE__ */ new WeakMap();
|
|
4540
|
-
counterMap = /* @__PURE__ */ new WeakMap();
|
|
4541
|
-
uncontrolledNodes = /* @__PURE__ */ new WeakMap();
|
|
4542
|
-
markerMap = {};
|
|
4543
|
-
}
|
|
4544
|
-
};
|
|
4545
|
-
};
|
|
4546
|
-
var hideOthers = function(originalTarget, parentNode, markerName) {
|
|
4547
|
-
if (markerName === void 0) {
|
|
4548
|
-
markerName = "data-aria-hidden";
|
|
4549
|
-
}
|
|
4550
|
-
var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
|
|
4551
|
-
var activeParentNode = parentNode || getDefaultParent(originalTarget);
|
|
4552
|
-
if (!activeParentNode) {
|
|
4553
|
-
return function() {
|
|
4554
|
-
return null;
|
|
4555
|
-
};
|
|
4556
|
-
}
|
|
4557
|
-
targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll("[aria-live], script")));
|
|
4558
|
-
return applyAttributeToOthers(targets, activeParentNode, markerName, "aria-hidden");
|
|
4559
|
-
};
|
|
4560
|
-
|
|
4561
|
-
// ../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.14_@types+react-dom@19.1.3_@types+react@19.1.2__@types+react_848f83211ce5e4d8275fe0d3e11a9387/node_modules/@radix-ui/react-dialog/dist/index.mjs
|
|
4562
|
-
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
4563
|
-
var DIALOG_NAME = "Dialog";
|
|
4564
|
-
var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
|
|
4565
|
-
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
|
4566
|
-
var Dialog = (props) => {
|
|
4567
|
-
const {
|
|
4568
|
-
__scopeDialog,
|
|
4569
|
-
children,
|
|
4570
|
-
open: openProp,
|
|
4571
|
-
defaultOpen,
|
|
4572
|
-
onOpenChange,
|
|
4573
|
-
modal = true
|
|
4574
|
-
} = props;
|
|
4575
|
-
const triggerRef = React54.useRef(null);
|
|
4576
|
-
const contentRef = React54.useRef(null);
|
|
4577
|
-
const [open, setOpen] = useControllableState({
|
|
4578
|
-
prop: openProp,
|
|
4579
|
-
defaultProp: defaultOpen != null ? defaultOpen : false,
|
|
4580
|
-
onChange: onOpenChange,
|
|
4581
|
-
caller: DIALOG_NAME
|
|
4582
|
-
});
|
|
4583
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4584
|
-
DialogProvider,
|
|
4585
|
-
{
|
|
4586
|
-
scope: __scopeDialog,
|
|
4587
|
-
triggerRef,
|
|
4588
|
-
contentRef,
|
|
4589
|
-
contentId: useId(),
|
|
4590
|
-
titleId: useId(),
|
|
4591
|
-
descriptionId: useId(),
|
|
4592
|
-
open,
|
|
4593
|
-
onOpenChange: setOpen,
|
|
4594
|
-
onOpenToggle: React54.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
4595
|
-
modal,
|
|
4596
|
-
children
|
|
4597
|
-
}
|
|
4598
|
-
);
|
|
4599
|
-
};
|
|
4600
|
-
Dialog.displayName = DIALOG_NAME;
|
|
4601
|
-
var TRIGGER_NAME = "DialogTrigger";
|
|
4602
|
-
var DialogTrigger = React54.forwardRef(
|
|
4603
|
-
(props, forwardedRef) => {
|
|
4604
|
-
const _a = props, { __scopeDialog } = _a, triggerProps = __objRest(_a, ["__scopeDialog"]);
|
|
4605
|
-
const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
|
|
4606
|
-
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
|
4607
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4608
|
-
Primitive.button,
|
|
4609
|
-
__spreadProps(__spreadValues({
|
|
4610
|
-
type: "button",
|
|
4611
|
-
"aria-haspopup": "dialog",
|
|
4612
|
-
"aria-expanded": context.open,
|
|
4613
|
-
"aria-controls": context.contentId,
|
|
4614
|
-
"data-state": getState(context.open)
|
|
4615
|
-
}, triggerProps), {
|
|
4616
|
-
ref: composedTriggerRef,
|
|
4617
|
-
onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
|
|
4618
|
-
})
|
|
4619
|
-
);
|
|
4620
|
-
}
|
|
4621
|
-
);
|
|
4622
|
-
DialogTrigger.displayName = TRIGGER_NAME;
|
|
4623
|
-
var PORTAL_NAME2 = "DialogPortal";
|
|
4624
|
-
var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME2, {
|
|
4625
|
-
forceMount: void 0
|
|
4626
|
-
});
|
|
4627
|
-
var DialogPortal = (props) => {
|
|
4628
|
-
const { __scopeDialog, forceMount, children, container } = props;
|
|
4629
|
-
const context = useDialogContext(PORTAL_NAME2, __scopeDialog);
|
|
4630
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React54.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Portal, { asChild: true, container, children: child }) })) });
|
|
4631
|
-
};
|
|
4632
|
-
DialogPortal.displayName = PORTAL_NAME2;
|
|
4633
|
-
var OVERLAY_NAME = "DialogOverlay";
|
|
4634
|
-
var DialogOverlay = React54.forwardRef(
|
|
4635
|
-
(props, forwardedRef) => {
|
|
4636
|
-
const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
|
|
4637
|
-
const _a = props, { forceMount = portalContext.forceMount } = _a, overlayProps = __objRest(_a, ["forceMount"]);
|
|
4638
|
-
const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
|
|
4639
|
-
return context.modal ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DialogOverlayImpl, __spreadProps(__spreadValues({}, overlayProps), { ref: forwardedRef })) }) : null;
|
|
4640
|
-
}
|
|
4641
|
-
);
|
|
4642
|
-
DialogOverlay.displayName = OVERLAY_NAME;
|
|
4643
|
-
var Slot2 = createSlot("DialogOverlay.RemoveScroll");
|
|
4644
|
-
var DialogOverlayImpl = React54.forwardRef(
|
|
4645
|
-
(props, forwardedRef) => {
|
|
4646
|
-
const _a = props, { __scopeDialog } = _a, overlayProps = __objRest(_a, ["__scopeDialog"]);
|
|
4647
|
-
const context = useDialogContext(OVERLAY_NAME, __scopeDialog);
|
|
4648
|
-
return (
|
|
4649
|
-
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
4650
|
-
// ie. when `Overlay` and `Content` are siblings
|
|
4651
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4652
|
-
Primitive.div,
|
|
4653
|
-
__spreadProps(__spreadValues({
|
|
4654
|
-
"data-state": getState(context.open)
|
|
4655
|
-
}, overlayProps), {
|
|
4656
|
-
ref: forwardedRef,
|
|
4657
|
-
style: __spreadValues({ pointerEvents: "auto" }, overlayProps.style)
|
|
4658
|
-
})
|
|
4659
|
-
) })
|
|
4660
|
-
);
|
|
4661
|
-
}
|
|
4662
|
-
);
|
|
4663
|
-
var CONTENT_NAME = "DialogContent";
|
|
4664
|
-
var DialogContent = React54.forwardRef(
|
|
4665
|
-
(props, forwardedRef) => {
|
|
4666
|
-
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
|
|
4667
|
-
const _a = props, { forceMount = portalContext.forceMount } = _a, contentProps = __objRest(_a, ["forceMount"]);
|
|
4668
|
-
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
|
4669
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DialogContentModal, __spreadProps(__spreadValues({}, contentProps), { ref: forwardedRef })) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DialogContentNonModal, __spreadProps(__spreadValues({}, contentProps), { ref: forwardedRef })) });
|
|
4670
|
-
}
|
|
4671
|
-
);
|
|
4672
|
-
DialogContent.displayName = CONTENT_NAME;
|
|
4673
|
-
var DialogContentModal = React54.forwardRef(
|
|
4674
|
-
(props, forwardedRef) => {
|
|
4675
|
-
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
|
4676
|
-
const contentRef = React54.useRef(null);
|
|
4677
|
-
const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);
|
|
4678
|
-
React54.useEffect(() => {
|
|
4679
|
-
const content = contentRef.current;
|
|
4680
|
-
if (content) return hideOthers(content);
|
|
4681
|
-
}, []);
|
|
4682
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4683
|
-
DialogContentImpl,
|
|
4684
|
-
__spreadProps(__spreadValues({}, props), {
|
|
4685
|
-
ref: composedRefs,
|
|
4686
|
-
trapFocus: context.open,
|
|
4687
|
-
disableOutsidePointerEvents: true,
|
|
4688
|
-
onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
|
|
4689
|
-
var _a;
|
|
4690
|
-
event.preventDefault();
|
|
4691
|
-
(_a = context.triggerRef.current) == null ? void 0 : _a.focus();
|
|
4692
|
-
}),
|
|
4693
|
-
onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {
|
|
4694
|
-
const originalEvent = event.detail.originalEvent;
|
|
4695
|
-
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
|
4696
|
-
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
|
4697
|
-
if (isRightClick) event.preventDefault();
|
|
4698
|
-
}),
|
|
4699
|
-
onFocusOutside: composeEventHandlers(
|
|
4700
|
-
props.onFocusOutside,
|
|
4701
|
-
(event) => event.preventDefault()
|
|
4702
|
-
)
|
|
4703
|
-
})
|
|
4704
|
-
);
|
|
4705
|
-
}
|
|
4706
|
-
);
|
|
4707
|
-
var DialogContentNonModal = React54.forwardRef(
|
|
4708
|
-
(props, forwardedRef) => {
|
|
4709
|
-
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
|
4710
|
-
const hasInteractedOutsideRef = React54.useRef(false);
|
|
4711
|
-
const hasPointerDownOutsideRef = React54.useRef(false);
|
|
4712
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4713
|
-
DialogContentImpl,
|
|
4714
|
-
__spreadProps(__spreadValues({}, props), {
|
|
4715
|
-
ref: forwardedRef,
|
|
4716
|
-
trapFocus: false,
|
|
4717
|
-
disableOutsidePointerEvents: false,
|
|
4718
|
-
onCloseAutoFocus: (event) => {
|
|
4719
|
-
var _a, _b;
|
|
4720
|
-
(_a = props.onCloseAutoFocus) == null ? void 0 : _a.call(props, event);
|
|
4721
|
-
if (!event.defaultPrevented) {
|
|
4722
|
-
if (!hasInteractedOutsideRef.current) (_b = context.triggerRef.current) == null ? void 0 : _b.focus();
|
|
4723
|
-
event.preventDefault();
|
|
4724
|
-
}
|
|
4725
|
-
hasInteractedOutsideRef.current = false;
|
|
4726
|
-
hasPointerDownOutsideRef.current = false;
|
|
4727
|
-
},
|
|
4728
|
-
onInteractOutside: (event) => {
|
|
4729
|
-
var _a, _b;
|
|
4730
|
-
(_a = props.onInteractOutside) == null ? void 0 : _a.call(props, event);
|
|
4731
|
-
if (!event.defaultPrevented) {
|
|
4732
|
-
hasInteractedOutsideRef.current = true;
|
|
4733
|
-
if (event.detail.originalEvent.type === "pointerdown") {
|
|
4734
|
-
hasPointerDownOutsideRef.current = true;
|
|
4735
|
-
}
|
|
4736
|
-
}
|
|
4737
|
-
const target = event.target;
|
|
4738
|
-
const targetIsTrigger = (_b = context.triggerRef.current) == null ? void 0 : _b.contains(target);
|
|
4739
|
-
if (targetIsTrigger) event.preventDefault();
|
|
4740
|
-
if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
|
|
4741
|
-
event.preventDefault();
|
|
4742
|
-
}
|
|
4743
|
-
}
|
|
4744
|
-
})
|
|
4745
|
-
);
|
|
4746
|
-
}
|
|
4747
|
-
);
|
|
4748
|
-
var DialogContentImpl = React54.forwardRef(
|
|
4749
|
-
(props, forwardedRef) => {
|
|
4750
|
-
const _a = props, { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus } = _a, contentProps = __objRest(_a, ["__scopeDialog", "trapFocus", "onOpenAutoFocus", "onCloseAutoFocus"]);
|
|
4751
|
-
const context = useDialogContext(CONTENT_NAME, __scopeDialog);
|
|
4752
|
-
const contentRef = React54.useRef(null);
|
|
4753
|
-
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
|
4754
|
-
useFocusGuards();
|
|
4755
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
4756
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4757
|
-
FocusScope,
|
|
4758
|
-
{
|
|
4759
|
-
asChild: true,
|
|
4760
|
-
loop: true,
|
|
4761
|
-
trapped: trapFocus,
|
|
4762
|
-
onMountAutoFocus: onOpenAutoFocus,
|
|
4763
|
-
onUnmountAutoFocus: onCloseAutoFocus,
|
|
4764
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4765
|
-
DismissableLayer,
|
|
4766
|
-
__spreadProps(__spreadValues({
|
|
4767
|
-
role: "dialog",
|
|
4768
|
-
id: context.contentId,
|
|
4769
|
-
"aria-describedby": context.descriptionId,
|
|
4770
|
-
"aria-labelledby": context.titleId,
|
|
4771
|
-
"data-state": getState(context.open)
|
|
4772
|
-
}, contentProps), {
|
|
4773
|
-
ref: composedRefs,
|
|
4774
|
-
onDismiss: () => context.onOpenChange(false)
|
|
4775
|
-
})
|
|
4776
|
-
)
|
|
4777
|
-
}
|
|
4778
|
-
),
|
|
4779
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
4780
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(TitleWarning, { titleId: context.titleId }),
|
|
4781
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
|
|
4782
|
-
] })
|
|
4783
|
-
] });
|
|
4784
|
-
}
|
|
4785
|
-
);
|
|
4786
|
-
var TITLE_NAME = "DialogTitle";
|
|
4787
|
-
var DialogTitle = React54.forwardRef(
|
|
4788
|
-
(props, forwardedRef) => {
|
|
4789
|
-
const _a = props, { __scopeDialog } = _a, titleProps = __objRest(_a, ["__scopeDialog"]);
|
|
4790
|
-
const context = useDialogContext(TITLE_NAME, __scopeDialog);
|
|
4791
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Primitive.h2, __spreadProps(__spreadValues({ id: context.titleId }, titleProps), { ref: forwardedRef }));
|
|
4792
|
-
}
|
|
4793
|
-
);
|
|
4794
|
-
DialogTitle.displayName = TITLE_NAME;
|
|
4795
|
-
var DESCRIPTION_NAME = "DialogDescription";
|
|
4796
|
-
var DialogDescription = React54.forwardRef(
|
|
4797
|
-
(props, forwardedRef) => {
|
|
4798
|
-
const _a = props, { __scopeDialog } = _a, descriptionProps = __objRest(_a, ["__scopeDialog"]);
|
|
4799
|
-
const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
|
|
4800
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Primitive.p, __spreadProps(__spreadValues({ id: context.descriptionId }, descriptionProps), { ref: forwardedRef }));
|
|
4801
|
-
}
|
|
4802
|
-
);
|
|
4803
|
-
DialogDescription.displayName = DESCRIPTION_NAME;
|
|
4804
|
-
var CLOSE_NAME = "DialogClose";
|
|
4805
|
-
var DialogClose = React54.forwardRef(
|
|
4806
|
-
(props, forwardedRef) => {
|
|
4807
|
-
const _a = props, { __scopeDialog } = _a, closeProps = __objRest(_a, ["__scopeDialog"]);
|
|
4808
|
-
const context = useDialogContext(CLOSE_NAME, __scopeDialog);
|
|
4809
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4810
|
-
Primitive.button,
|
|
4811
|
-
__spreadProps(__spreadValues({
|
|
4812
|
-
type: "button"
|
|
4813
|
-
}, closeProps), {
|
|
4814
|
-
ref: forwardedRef,
|
|
4815
|
-
onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
|
|
4816
|
-
})
|
|
4817
|
-
);
|
|
4818
|
-
}
|
|
4819
|
-
);
|
|
4820
|
-
DialogClose.displayName = CLOSE_NAME;
|
|
4821
|
-
function getState(open) {
|
|
4822
|
-
return open ? "open" : "closed";
|
|
4823
|
-
}
|
|
4824
|
-
var TITLE_WARNING_NAME = "DialogTitleWarning";
|
|
4825
|
-
var [WarningProvider, useWarningContext] = createContext2(TITLE_WARNING_NAME, {
|
|
4826
|
-
contentName: CONTENT_NAME,
|
|
4827
|
-
titleName: TITLE_NAME,
|
|
4828
|
-
docsSlug: "dialog"
|
|
4829
|
-
});
|
|
4830
|
-
var TitleWarning = ({ titleId }) => {
|
|
4831
|
-
const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);
|
|
4832
|
-
const MESSAGE = `\`${titleWarningContext.contentName}\` requires a \`${titleWarningContext.titleName}\` for the component to be accessible for screen reader users.
|
|
4833
|
-
|
|
4834
|
-
If you want to hide the \`${titleWarningContext.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4835
|
-
|
|
4836
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;
|
|
4837
|
-
React54.useEffect(() => {
|
|
4838
|
-
if (titleId) {
|
|
4839
|
-
const hasTitle = document.getElementById(titleId);
|
|
4840
|
-
if (!hasTitle) console.error(MESSAGE);
|
|
4841
|
-
}
|
|
4842
|
-
}, [MESSAGE, titleId]);
|
|
4843
|
-
return null;
|
|
4844
|
-
};
|
|
4845
|
-
var DESCRIPTION_WARNING_NAME = "DialogDescriptionWarning";
|
|
4846
|
-
var DescriptionWarning = ({ contentRef, descriptionId }) => {
|
|
4847
|
-
const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);
|
|
4848
|
-
const MESSAGE = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${descriptionWarningContext.contentName}}.`;
|
|
4849
|
-
React54.useEffect(() => {
|
|
4850
|
-
var _a;
|
|
4851
|
-
const describedById = (_a = contentRef.current) == null ? void 0 : _a.getAttribute("aria-describedby");
|
|
4852
|
-
if (descriptionId && describedById) {
|
|
4853
|
-
const hasDescription = document.getElementById(descriptionId);
|
|
4854
|
-
if (!hasDescription) console.warn(MESSAGE);
|
|
4855
|
-
}
|
|
4856
|
-
}, [MESSAGE, contentRef, descriptionId]);
|
|
4857
|
-
return null;
|
|
4858
|
-
};
|
|
4859
|
-
var Root = Dialog;
|
|
4860
|
-
var Trigger = DialogTrigger;
|
|
4861
|
-
var Portal2 = DialogPortal;
|
|
4862
|
-
var Overlay = DialogOverlay;
|
|
4863
|
-
var Content = DialogContent;
|
|
4864
|
-
var Title = DialogTitle;
|
|
4865
|
-
var Description = DialogDescription;
|
|
4866
|
-
var Close = DialogClose;
|
|
4867
|
-
|
|
4868
|
-
// ../../node_modules/.pnpm/@radix-ui+react-alert-dialog@1.1.14_@types+react-dom@19.1.3_@types+react@19.1.2__@types_c6ff7006a888f63e36d2502e019661c3/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs
|
|
4869
|
-
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
4870
|
-
var ROOT_NAME = "AlertDialog";
|
|
4871
|
-
var [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [
|
|
4872
|
-
createDialogScope
|
|
4873
|
-
]);
|
|
4874
|
-
var useDialogScope = createDialogScope();
|
|
4875
|
-
var AlertDialog = (props) => {
|
|
4876
|
-
const _a = props, { __scopeAlertDialog } = _a, alertDialogProps = __objRest(_a, ["__scopeAlertDialog"]);
|
|
4877
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4878
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Root, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), alertDialogProps), { modal: true }));
|
|
4879
|
-
};
|
|
4880
|
-
AlertDialog.displayName = ROOT_NAME;
|
|
4881
|
-
var TRIGGER_NAME2 = "AlertDialogTrigger";
|
|
4882
|
-
var AlertDialogTrigger = React55.forwardRef(
|
|
4883
|
-
(props, forwardedRef) => {
|
|
4884
|
-
const _a = props, { __scopeAlertDialog } = _a, triggerProps = __objRest(_a, ["__scopeAlertDialog"]);
|
|
4885
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4886
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Trigger, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), triggerProps), { ref: forwardedRef }));
|
|
4887
|
-
}
|
|
4888
|
-
);
|
|
4889
|
-
AlertDialogTrigger.displayName = TRIGGER_NAME2;
|
|
4890
|
-
var PORTAL_NAME3 = "AlertDialogPortal";
|
|
4891
|
-
var AlertDialogPortal = (props) => {
|
|
4892
|
-
const _a = props, { __scopeAlertDialog } = _a, portalProps = __objRest(_a, ["__scopeAlertDialog"]);
|
|
4893
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4894
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Portal2, __spreadValues(__spreadValues({}, dialogScope), portalProps));
|
|
4895
|
-
};
|
|
4896
|
-
AlertDialogPortal.displayName = PORTAL_NAME3;
|
|
4897
|
-
var OVERLAY_NAME2 = "AlertDialogOverlay";
|
|
4898
|
-
var AlertDialogOverlay = React55.forwardRef(
|
|
4899
|
-
(props, forwardedRef) => {
|
|
4900
|
-
const _a = props, { __scopeAlertDialog } = _a, overlayProps = __objRest(_a, ["__scopeAlertDialog"]);
|
|
4901
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4902
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Overlay, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), overlayProps), { ref: forwardedRef }));
|
|
4903
|
-
}
|
|
4904
|
-
);
|
|
4905
|
-
AlertDialogOverlay.displayName = OVERLAY_NAME2;
|
|
4906
|
-
var CONTENT_NAME2 = "AlertDialogContent";
|
|
4907
|
-
var [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME2);
|
|
4908
|
-
var Slottable = createSlottable("AlertDialogContent");
|
|
4909
|
-
var AlertDialogContent = React55.forwardRef(
|
|
4910
|
-
(props, forwardedRef) => {
|
|
4911
|
-
const _a = props, { __scopeAlertDialog, children } = _a, contentProps = __objRest(_a, ["__scopeAlertDialog", "children"]);
|
|
4912
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4913
|
-
const contentRef = React55.useRef(null);
|
|
4914
|
-
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
|
4915
|
-
const cancelRef = React55.useRef(null);
|
|
4916
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
4917
|
-
WarningProvider,
|
|
4918
|
-
{
|
|
4919
|
-
contentName: CONTENT_NAME2,
|
|
4920
|
-
titleName: TITLE_NAME2,
|
|
4921
|
-
docsSlug: "alert-dialog",
|
|
4922
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
4923
|
-
Content,
|
|
4924
|
-
__spreadProps(__spreadValues(__spreadValues({
|
|
4925
|
-
role: "alertdialog"
|
|
4926
|
-
}, dialogScope), contentProps), {
|
|
4927
|
-
ref: composedRefs,
|
|
4928
|
-
onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {
|
|
4929
|
-
var _a2;
|
|
4930
|
-
event.preventDefault();
|
|
4931
|
-
(_a2 = cancelRef.current) == null ? void 0 : _a2.focus({ preventScroll: true });
|
|
4932
|
-
}),
|
|
4933
|
-
onPointerDownOutside: (event) => event.preventDefault(),
|
|
4934
|
-
onInteractOutside: (event) => event.preventDefault(),
|
|
4935
|
-
children: [
|
|
4936
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Slottable, { children }),
|
|
4937
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DescriptionWarning2, { contentRef })
|
|
4938
|
-
]
|
|
4939
|
-
})
|
|
4940
|
-
) })
|
|
4941
|
-
}
|
|
4942
|
-
);
|
|
4943
|
-
}
|
|
4944
|
-
);
|
|
4945
|
-
AlertDialogContent.displayName = CONTENT_NAME2;
|
|
4946
|
-
var TITLE_NAME2 = "AlertDialogTitle";
|
|
4947
|
-
var AlertDialogTitle = React55.forwardRef(
|
|
4948
|
-
(props, forwardedRef) => {
|
|
4949
|
-
const _a = props, { __scopeAlertDialog } = _a, titleProps = __objRest(_a, ["__scopeAlertDialog"]);
|
|
4950
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4951
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Title, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), titleProps), { ref: forwardedRef }));
|
|
4952
|
-
}
|
|
4953
|
-
);
|
|
4954
|
-
AlertDialogTitle.displayName = TITLE_NAME2;
|
|
4955
|
-
var DESCRIPTION_NAME2 = "AlertDialogDescription";
|
|
4956
|
-
var AlertDialogDescription = React55.forwardRef((props, forwardedRef) => {
|
|
4957
|
-
const _a = props, { __scopeAlertDialog } = _a, descriptionProps = __objRest(_a, ["__scopeAlertDialog"]);
|
|
4958
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4959
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Description, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), descriptionProps), { ref: forwardedRef }));
|
|
4960
|
-
});
|
|
4961
|
-
AlertDialogDescription.displayName = DESCRIPTION_NAME2;
|
|
4962
|
-
var ACTION_NAME = "AlertDialogAction";
|
|
4963
|
-
var AlertDialogAction = React55.forwardRef(
|
|
4964
|
-
(props, forwardedRef) => {
|
|
4965
|
-
const _a = props, { __scopeAlertDialog } = _a, actionProps = __objRest(_a, ["__scopeAlertDialog"]);
|
|
4966
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4967
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), actionProps), { ref: forwardedRef }));
|
|
4968
|
-
}
|
|
4969
|
-
);
|
|
4970
|
-
AlertDialogAction.displayName = ACTION_NAME;
|
|
4971
|
-
var CANCEL_NAME = "AlertDialogCancel";
|
|
4972
|
-
var AlertDialogCancel = React55.forwardRef(
|
|
4973
|
-
(props, forwardedRef) => {
|
|
4974
|
-
const _a = props, { __scopeAlertDialog } = _a, cancelProps = __objRest(_a, ["__scopeAlertDialog"]);
|
|
4975
|
-
const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);
|
|
4976
|
-
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
4977
|
-
const ref = useComposedRefs(forwardedRef, cancelRef);
|
|
4978
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), cancelProps), { ref }));
|
|
4979
|
-
}
|
|
4980
|
-
);
|
|
4981
|
-
AlertDialogCancel.displayName = CANCEL_NAME;
|
|
4982
|
-
var DescriptionWarning2 = ({ contentRef }) => {
|
|
4983
|
-
const MESSAGE = `\`${CONTENT_NAME2}\` requires a description for the component to be accessible for screen reader users.
|
|
4984
|
-
|
|
4985
|
-
You can add a description to the \`${CONTENT_NAME2}\` by passing a \`${DESCRIPTION_NAME2}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
|
4986
|
-
|
|
4987
|
-
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${CONTENT_NAME2}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
4988
|
-
|
|
4989
|
-
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
|
|
4990
|
-
React55.useEffect(() => {
|
|
4991
|
-
var _a;
|
|
4992
|
-
const hasDescription = document.getElementById(
|
|
4993
|
-
(_a = contentRef.current) == null ? void 0 : _a.getAttribute("aria-describedby")
|
|
4994
|
-
);
|
|
4995
|
-
if (!hasDescription) console.warn(MESSAGE);
|
|
4996
|
-
}, [MESSAGE, contentRef]);
|
|
4997
|
-
return null;
|
|
4998
|
-
};
|
|
4999
|
-
var Root2 = AlertDialog;
|
|
5000
|
-
var Portal22 = AlertDialogPortal;
|
|
5001
|
-
var Overlay2 = AlertDialogOverlay;
|
|
5002
|
-
var Content2 = AlertDialogContent;
|
|
5003
|
-
var Action = AlertDialogAction;
|
|
5004
|
-
var Cancel = AlertDialogCancel;
|
|
5005
|
-
var Title2 = AlertDialogTitle;
|
|
5006
|
-
var Description2 = AlertDialogDescription;
|
|
5007
|
-
|
|
5008
|
-
// ../lib/src/utils.ts
|
|
5009
|
-
var import_clsx = require("clsx");
|
|
5010
|
-
var import_tailwind_merge = require("tailwind-merge");
|
|
5011
|
-
function cn(...inputs) {
|
|
5012
|
-
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
5013
|
-
}
|
|
5014
|
-
|
|
5015
|
-
// ../base-ui/src/ui/button.tsx
|
|
5016
|
-
var React56 = __toESM(require("react"), 1);
|
|
5017
|
-
var import_class_variance_authority = require("class-variance-authority");
|
|
5018
|
-
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
5019
|
-
var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
5020
|
-
"inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
5021
|
-
{
|
|
5022
|
-
variants: {
|
|
5023
|
-
variant: {
|
|
5024
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
5025
|
-
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
5026
|
-
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
5027
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
5028
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
5029
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
5030
|
-
},
|
|
5031
|
-
size: {
|
|
5032
|
-
default: "h-10 px-4 py-2",
|
|
5033
|
-
sm: "h-9 rounded-md px-3",
|
|
5034
|
-
lg: "h-11 rounded-md px-8",
|
|
5035
|
-
icon: "h-10 w-10"
|
|
5036
|
-
}
|
|
5037
|
-
},
|
|
5038
|
-
defaultVariants: {
|
|
5039
|
-
variant: "default",
|
|
5040
|
-
size: "default"
|
|
5041
|
-
}
|
|
5042
|
-
}
|
|
5043
|
-
);
|
|
5044
|
-
var Button = React56.forwardRef(
|
|
5045
|
-
(_a, ref) => {
|
|
5046
|
-
var _b = _a, { className, variant, size, asChild = false, loading = false, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "loading", "children"]);
|
|
5047
|
-
const Comp = asChild ? Slot : "button";
|
|
5048
|
-
if (asChild) {
|
|
5049
|
-
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5050
|
-
Comp,
|
|
5051
|
-
__spreadProps(__spreadValues({
|
|
5052
|
-
className: cn(buttonVariants({ variant, size, className })),
|
|
5053
|
-
ref,
|
|
5054
|
-
disabled: loading || props.disabled
|
|
5055
|
-
}, props), {
|
|
5056
|
-
children
|
|
5057
|
-
})
|
|
5058
|
-
);
|
|
5059
|
-
}
|
|
5060
|
-
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
5061
|
-
Comp,
|
|
5062
|
-
__spreadProps(__spreadValues({
|
|
5063
|
-
className: cn(buttonVariants({ variant, size, className })),
|
|
5064
|
-
ref,
|
|
5065
|
-
disabled: loading || props.disabled
|
|
5066
|
-
}, props), {
|
|
5067
|
-
children: [
|
|
5068
|
-
children,
|
|
5069
|
-
loading && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
|
|
5070
|
-
]
|
|
5071
|
-
})
|
|
5072
|
-
);
|
|
5073
|
-
}
|
|
5074
|
-
);
|
|
5075
|
-
Button.displayName = "Button";
|
|
5076
|
-
|
|
5077
|
-
// ../base-ui/src/ui/alert-dialog.tsx
|
|
5078
|
-
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
5079
|
-
var AlertDialog2 = Root2;
|
|
5080
|
-
var AlertDialogPortal2 = Portal22;
|
|
5081
|
-
var AlertDialogOverlay2 = React57.forwardRef((_a, ref) => {
|
|
5082
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5083
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5084
|
-
Overlay2,
|
|
5085
|
-
__spreadProps(__spreadValues({
|
|
5086
|
-
className: cn(
|
|
5087
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
5088
|
-
className
|
|
5089
|
-
)
|
|
5090
|
-
}, props), {
|
|
5091
|
-
ref
|
|
5092
|
-
})
|
|
5093
|
-
);
|
|
5094
|
-
});
|
|
5095
|
-
AlertDialogOverlay2.displayName = Overlay2.displayName;
|
|
5096
|
-
var AlertDialogContent2 = React57.forwardRef((_a, ref) => {
|
|
5097
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5098
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(AlertDialogPortal2, { children: [
|
|
5099
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(AlertDialogOverlay2, {}),
|
|
5100
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5101
|
-
Content2,
|
|
5102
|
-
__spreadValues({
|
|
5103
|
-
ref,
|
|
5104
|
-
className: cn(
|
|
5105
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
|
|
5106
|
-
className
|
|
5107
|
-
)
|
|
5108
|
-
}, props)
|
|
5109
|
-
)
|
|
5110
|
-
] });
|
|
5111
|
-
});
|
|
5112
|
-
AlertDialogContent2.displayName = Content2.displayName;
|
|
5113
|
-
var AlertDialogHeader = (_a) => {
|
|
5114
|
-
var _b = _a, {
|
|
5115
|
-
className
|
|
5116
|
-
} = _b, props = __objRest(_b, [
|
|
5117
|
-
"className"
|
|
5118
|
-
]);
|
|
5119
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5120
|
-
"div",
|
|
5121
|
-
__spreadValues({
|
|
5122
|
-
className: cn(
|
|
5123
|
-
"flex flex-col space-y-2 text-center sm:text-left",
|
|
5124
|
-
className
|
|
5125
|
-
)
|
|
5126
|
-
}, props)
|
|
5127
|
-
);
|
|
5128
|
-
};
|
|
5129
|
-
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
5130
|
-
var AlertDialogFooter = (_a) => {
|
|
5131
|
-
var _b = _a, {
|
|
5132
|
-
className
|
|
5133
|
-
} = _b, props = __objRest(_b, [
|
|
5134
|
-
"className"
|
|
5135
|
-
]);
|
|
5136
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5137
|
-
"div",
|
|
5138
|
-
__spreadValues({
|
|
5139
|
-
className: cn(
|
|
5140
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
5141
|
-
className
|
|
5142
|
-
)
|
|
5143
|
-
}, props)
|
|
5144
|
-
);
|
|
5145
|
-
};
|
|
5146
|
-
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
5147
|
-
var AlertDialogTitle2 = React57.forwardRef((_a, ref) => {
|
|
5148
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5149
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5150
|
-
Title2,
|
|
5151
|
-
__spreadValues({
|
|
5152
|
-
ref,
|
|
5153
|
-
className: cn("text-lg font-semibold", className)
|
|
5154
|
-
}, props)
|
|
5155
|
-
);
|
|
5156
|
-
});
|
|
5157
|
-
AlertDialogTitle2.displayName = Title2.displayName;
|
|
5158
|
-
var AlertDialogDescription2 = React57.forwardRef((_a, ref) => {
|
|
5159
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5160
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5161
|
-
Description2,
|
|
5162
|
-
__spreadValues({
|
|
5163
|
-
ref,
|
|
5164
|
-
className: cn("text-sm text-muted-foreground", className)
|
|
5165
|
-
}, props)
|
|
5166
|
-
);
|
|
5167
|
-
});
|
|
5168
|
-
AlertDialogDescription2.displayName = Description2.displayName;
|
|
5169
|
-
var AlertDialogAction2 = React57.forwardRef((_a, ref) => {
|
|
5170
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5171
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5172
|
-
Action,
|
|
5173
|
-
__spreadValues({
|
|
5174
|
-
ref,
|
|
5175
|
-
className: cn(buttonVariants(), className)
|
|
5176
|
-
}, props)
|
|
5177
|
-
);
|
|
5178
|
-
});
|
|
5179
|
-
AlertDialogAction2.displayName = Action.displayName;
|
|
5180
|
-
var AlertDialogCancel2 = React57.forwardRef((_a, ref) => {
|
|
5181
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5182
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5183
|
-
Cancel,
|
|
5184
|
-
__spreadValues({
|
|
5185
|
-
ref,
|
|
5186
|
-
className: cn(
|
|
5187
|
-
buttonVariants({ variant: "outline" }),
|
|
5188
|
-
"mt-2 sm:mt-0",
|
|
5189
|
-
className
|
|
5190
|
-
)
|
|
5191
|
-
}, props)
|
|
5192
|
-
);
|
|
5193
|
-
});
|
|
5194
|
-
AlertDialogCancel2.displayName = Cancel.displayName;
|
|
5195
|
-
|
|
5196
2740
|
// src/fuma/mdx/mermaid.tsx
|
|
5197
|
-
var import_next_themes = require("next-themes");
|
|
5198
|
-
var
|
|
5199
|
-
var
|
|
2741
|
+
var import_next_themes = require("next-themes");
|
|
2742
|
+
var import_react35 = require("react");
|
|
2743
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
5200
2744
|
function Mermaid({ chart, title, watermarkEnabled, watermarkText, enablePreview = true }) {
|
|
5201
|
-
const id = (0,
|
|
5202
|
-
const [svg, setSvg] = (0,
|
|
2745
|
+
const id = (0, import_react35.useId)();
|
|
2746
|
+
const [svg, setSvg] = (0, import_react35.useState)("");
|
|
5203
2747
|
const { resolvedTheme } = (0, import_next_themes.useTheme)();
|
|
5204
|
-
const [open, setOpen] = (0,
|
|
5205
|
-
const [scale, setScale] = (0,
|
|
5206
|
-
const [translate, setTranslate] = (0,
|
|
5207
|
-
const isPanningRef = (0,
|
|
5208
|
-
const startPointRef = (0,
|
|
5209
|
-
const startTranslateRef = (0,
|
|
5210
|
-
(0,
|
|
2748
|
+
const [open, setOpen] = (0, import_react35.useState)(false);
|
|
2749
|
+
const [scale, setScale] = (0, import_react35.useState)(1);
|
|
2750
|
+
const [translate, setTranslate] = (0, import_react35.useState)({ x: 0, y: 0 });
|
|
2751
|
+
const isPanningRef = (0, import_react35.useRef)(false);
|
|
2752
|
+
const startPointRef = (0, import_react35.useRef)({ x: 0, y: 0 });
|
|
2753
|
+
const startTranslateRef = (0, import_react35.useRef)({ x: 0, y: 0 });
|
|
2754
|
+
(0, import_react35.useEffect)(() => {
|
|
5211
2755
|
let isMounted = true;
|
|
5212
2756
|
void renderChart();
|
|
5213
2757
|
function renderChart() {
|
|
@@ -5242,141 +2786,259 @@ function Mermaid({ chart, title, watermarkEnabled, watermarkText, enablePreview
|
|
|
5242
2786
|
};
|
|
5243
2787
|
}, [chart, id, resolvedTheme, watermarkEnabled, watermarkText]);
|
|
5244
2788
|
const clamp = (v, min, max) => Math.min(Math.max(v, min), max);
|
|
5245
|
-
const resetTransform = (0,
|
|
5246
|
-
setScale(
|
|
2789
|
+
const resetTransform = (0, import_react35.useCallback)(() => {
|
|
2790
|
+
setScale(4);
|
|
5247
2791
|
setTranslate({ x: 0, y: 0 });
|
|
5248
2792
|
}, []);
|
|
5249
|
-
const zoomBy = (0,
|
|
5250
|
-
setScale((prev) => clamp(prev + delta, 0.25,
|
|
2793
|
+
const zoomBy = (0, import_react35.useCallback)((delta) => {
|
|
2794
|
+
setScale((prev) => clamp(prev + delta, 0.25, 10));
|
|
5251
2795
|
}, []);
|
|
5252
|
-
const onWheel = (0,
|
|
2796
|
+
const onWheel = (0, import_react35.useCallback)((e) => {
|
|
5253
2797
|
if (e.metaKey || e.ctrlKey) {
|
|
5254
2798
|
e.preventDefault();
|
|
2799
|
+
e.stopPropagation();
|
|
5255
2800
|
const delta = e.deltaY > 0 ? -0.1 : 0.1;
|
|
5256
|
-
setScale((prev) => clamp(prev + delta, 0.25,
|
|
2801
|
+
setScale((prev) => clamp(prev + delta, 0.25, 10));
|
|
5257
2802
|
} else {
|
|
2803
|
+
e.stopPropagation();
|
|
5258
2804
|
setTranslate((prev) => ({ x: prev.x, y: prev.y - e.deltaY }));
|
|
5259
2805
|
}
|
|
5260
2806
|
}, []);
|
|
5261
|
-
const onPointerDown = (0,
|
|
2807
|
+
const onPointerDown = (0, import_react35.useCallback)((e) => {
|
|
5262
2808
|
isPanningRef.current = true;
|
|
5263
2809
|
startPointRef.current = { x: e.clientX, y: e.clientY };
|
|
5264
2810
|
startTranslateRef.current = __spreadValues({}, translate);
|
|
5265
2811
|
e.currentTarget.setPointerCapture(e.pointerId);
|
|
5266
2812
|
}, [translate]);
|
|
5267
|
-
const onPointerMove = (0,
|
|
2813
|
+
const onPointerMove = (0, import_react35.useCallback)((e) => {
|
|
5268
2814
|
if (!isPanningRef.current) return;
|
|
5269
2815
|
const dx = e.clientX - startPointRef.current.x;
|
|
5270
2816
|
const dy = e.clientY - startPointRef.current.y;
|
|
5271
2817
|
setTranslate({ x: startTranslateRef.current.x + dx, y: startTranslateRef.current.y + dy });
|
|
5272
2818
|
}, []);
|
|
5273
|
-
const onPointerUp = (0,
|
|
2819
|
+
const onPointerUp = (0, import_react35.useCallback)((e) => {
|
|
5274
2820
|
isPanningRef.current = false;
|
|
5275
2821
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
5276
2822
|
}, []);
|
|
5277
|
-
|
|
5278
|
-
|
|
2823
|
+
(0, import_react35.useEffect)(() => {
|
|
2824
|
+
if (!open) return;
|
|
2825
|
+
resetTransform();
|
|
2826
|
+
const onGlobalWheel = (ev) => {
|
|
2827
|
+
if (ev.ctrlKey || ev.metaKey) {
|
|
2828
|
+
ev.preventDefault();
|
|
2829
|
+
}
|
|
2830
|
+
};
|
|
2831
|
+
const onKeyDown = (ev) => {
|
|
2832
|
+
if (!(ev.ctrlKey || ev.metaKey)) return;
|
|
2833
|
+
const k = ev.key;
|
|
2834
|
+
if (k === "=" || k === "+") {
|
|
2835
|
+
ev.preventDefault();
|
|
2836
|
+
setScale((prev) => clamp(prev + 0.2, 0.25, 10));
|
|
2837
|
+
} else if (k === "-") {
|
|
2838
|
+
ev.preventDefault();
|
|
2839
|
+
setScale((prev) => clamp(prev - 0.2, 0.25, 10));
|
|
2840
|
+
} else if (k === "0") {
|
|
2841
|
+
ev.preventDefault();
|
|
2842
|
+
resetTransform();
|
|
2843
|
+
}
|
|
2844
|
+
};
|
|
2845
|
+
window.addEventListener("wheel", onGlobalWheel, { passive: false, capture: true });
|
|
2846
|
+
window.addEventListener("keydown", onKeyDown, { capture: true });
|
|
2847
|
+
return () => {
|
|
2848
|
+
window.removeEventListener("wheel", onGlobalWheel, true);
|
|
2849
|
+
window.removeEventListener("keydown", onKeyDown, true);
|
|
2850
|
+
};
|
|
2851
|
+
}, [open, resetTransform]);
|
|
2852
|
+
(0, import_react35.useEffect)(() => {
|
|
2853
|
+
if (!open) return;
|
|
2854
|
+
const previousPosition = document.body.style.position;
|
|
2855
|
+
const previousTop = document.body.style.top;
|
|
2856
|
+
const previousLeft = document.body.style.left;
|
|
2857
|
+
const previousRight = document.body.style.right;
|
|
2858
|
+
const previousWidth = document.body.style.width;
|
|
2859
|
+
const scrollY = window.scrollY;
|
|
2860
|
+
document.body.style.position = "fixed";
|
|
2861
|
+
document.body.style.top = `-${scrollY}px`;
|
|
2862
|
+
document.body.style.left = "0";
|
|
2863
|
+
document.body.style.right = "0";
|
|
2864
|
+
document.body.style.width = "100%";
|
|
2865
|
+
return () => {
|
|
2866
|
+
document.body.style.position = previousPosition;
|
|
2867
|
+
document.body.style.top = previousTop;
|
|
2868
|
+
document.body.style.left = previousLeft;
|
|
2869
|
+
document.body.style.right = previousRight;
|
|
2870
|
+
document.body.style.width = previousWidth;
|
|
2871
|
+
window.scrollTo(0, scrollY);
|
|
2872
|
+
};
|
|
2873
|
+
}, [open]);
|
|
2874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
|
|
2875
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
5279
2876
|
"div",
|
|
5280
2877
|
{
|
|
5281
2878
|
className: enablePreview ? "group relative cursor-zoom-in" : void 0,
|
|
5282
2879
|
onClick: () => enablePreview && svg && setOpen(true),
|
|
5283
2880
|
children: [
|
|
5284
|
-
/* @__PURE__ */ (0,
|
|
5285
|
-
enablePreview && svg && /* @__PURE__ */ (0,
|
|
2881
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { dangerouslySetInnerHTML: { __html: svg } }),
|
|
2882
|
+
enablePreview && svg && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "pointer-events-none absolute right-2 top-2 hidden rounded bg-black/50 px-2 py-0.5 text-[12px] text-white group-hover:block", children: "Preview Chart" })
|
|
5286
2883
|
]
|
|
5287
2884
|
}
|
|
5288
2885
|
),
|
|
5289
|
-
title && /* @__PURE__ */ (0,
|
|
2886
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
5290
2887
|
"div",
|
|
5291
2888
|
{
|
|
5292
2889
|
className: "mt-2 flex items-center justify-center text-center text-[13px] font-italic text-[#AC62FD]",
|
|
5293
2890
|
children: [
|
|
5294
|
-
/* @__PURE__ */ (0,
|
|
5295
|
-
/* @__PURE__ */ (0,
|
|
2891
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(globalLucideIcons.Mmd, { className: "mr-1 h-4 w-4" }),
|
|
2892
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { children: title })
|
|
5296
2893
|
]
|
|
5297
2894
|
}
|
|
5298
2895
|
),
|
|
5299
|
-
enablePreview && /* @__PURE__ */ (0,
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
/* @__PURE__ */ (0,
|
|
5308
|
-
|
|
5309
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center gap-0.5", children: [
|
|
5310
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5311
|
-
"button",
|
|
5312
|
-
{
|
|
5313
|
-
"aria-label": "Zoom out",
|
|
5314
|
-
className: "flex h-6 w-6 items-center justify-center rounded border border-neutral-300 dark:border-neutral-600 text-[13px]",
|
|
5315
|
-
onClick: () => zoomBy(-0.2),
|
|
5316
|
-
children: "\uFF0D"
|
|
5317
|
-
}
|
|
5318
|
-
),
|
|
5319
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("span", { className: "mx-0.5 text-[12px] w-12 text-center select-none", children: [
|
|
5320
|
-
Math.round(scale * 100),
|
|
5321
|
-
"%"
|
|
5322
|
-
] }),
|
|
5323
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5324
|
-
"button",
|
|
5325
|
-
{
|
|
5326
|
-
"aria-label": "Zoom in",
|
|
5327
|
-
className: "flex h-6 w-6 items-center justify-center rounded border border-neutral-300 dark:border-neutral-600 text-[13px]",
|
|
5328
|
-
onClick: () => zoomBy(0.2),
|
|
5329
|
-
children: "\uFF0B"
|
|
5330
|
-
}
|
|
5331
|
-
),
|
|
5332
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5333
|
-
"button",
|
|
2896
|
+
enablePreview && open && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2897
|
+
"div",
|
|
2898
|
+
{
|
|
2899
|
+
role: "dialog",
|
|
2900
|
+
"aria-modal": "true",
|
|
2901
|
+
"aria-label": typeof title === "string" ? title : "Mermaid Preview",
|
|
2902
|
+
className: "fixed inset-0 z-[9999] flex items-center justify-center",
|
|
2903
|
+
children: [
|
|
2904
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2905
|
+
"div",
|
|
5334
2906
|
{
|
|
5335
|
-
"
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
2907
|
+
className: "absolute inset-0 bg-black/60",
|
|
2908
|
+
onClick: () => {
|
|
2909
|
+
setOpen(false);
|
|
2910
|
+
resetTransform();
|
|
2911
|
+
},
|
|
2912
|
+
onWheel: (e) => {
|
|
2913
|
+
e.preventDefault();
|
|
2914
|
+
e.stopPropagation();
|
|
2915
|
+
},
|
|
2916
|
+
onTouchMove: (e) => {
|
|
2917
|
+
e.preventDefault();
|
|
2918
|
+
e.stopPropagation();
|
|
2919
|
+
}
|
|
5339
2920
|
}
|
|
5340
2921
|
),
|
|
5341
|
-
/* @__PURE__ */ (0,
|
|
5342
|
-
"
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
{
|
|
5364
|
-
className: "absolute left-1/2 top-1/2",
|
|
5365
|
-
style: { transform: `translate(-50%, -50%) translate(${translate.x}px, ${translate.y}px)` },
|
|
5366
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5367
|
-
"div",
|
|
2922
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "relative z-[1] max-w-[95vw] w-[95vw] h-[88vh] p-0 bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-700 rounded-md shadow-2xl overflow-hidden", children: [
|
|
2923
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center justify-between px-3 py-2 border-b border-neutral-200 dark:border-neutral-700", children: [
|
|
2924
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-2 text-sm text-neutral-600 dark:text-neutral-300", children: [
|
|
2925
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(globalLucideIcons.Mmd, { className: "h-4 w-4" }),
|
|
2926
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "truncate max-w-[50vw]", children: title != null ? title : "Mermaid Preview" })
|
|
2927
|
+
] }),
|
|
2928
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-0.5", children: [
|
|
2929
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2930
|
+
"button",
|
|
2931
|
+
{
|
|
2932
|
+
"aria-label": "Zoom out",
|
|
2933
|
+
className: "flex h-6 w-6 items-center justify-center rounded border border-neutral-300 dark:border-neutral-600 text-[13px]",
|
|
2934
|
+
onClick: () => zoomBy(-0.5),
|
|
2935
|
+
children: "\uFF0D"
|
|
2936
|
+
}
|
|
2937
|
+
),
|
|
2938
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("span", { className: "mx-0.5 text-[12px] w-12 text-center select-none", children: [
|
|
2939
|
+
Math.round(scale * 100),
|
|
2940
|
+
"%"
|
|
2941
|
+
] }),
|
|
2942
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2943
|
+
"button",
|
|
5368
2944
|
{
|
|
5369
|
-
|
|
5370
|
-
|
|
2945
|
+
"aria-label": "Zoom in",
|
|
2946
|
+
className: "flex h-6 w-6 items-center justify-center rounded border border-neutral-300 dark:border-neutral-600 text-[13px]",
|
|
2947
|
+
onClick: () => zoomBy(0.5),
|
|
2948
|
+
children: "\uFF0B"
|
|
2949
|
+
}
|
|
2950
|
+
),
|
|
2951
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "mx-1 h-4 w-px bg-neutral-300 dark:bg-neutral-700" }),
|
|
2952
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2953
|
+
"button",
|
|
2954
|
+
{
|
|
2955
|
+
"aria-label": "Zoom 100%",
|
|
2956
|
+
className: "inline-flex h-6 min-w-8 items-center justify-center rounded border border-neutral-300 dark:border-neutral-600 px-1.5 text-[12px]",
|
|
2957
|
+
onClick: () => setScale(1),
|
|
2958
|
+
children: "X1"
|
|
2959
|
+
}
|
|
2960
|
+
),
|
|
2961
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2962
|
+
"button",
|
|
2963
|
+
{
|
|
2964
|
+
"aria-label": "Zoom 200%",
|
|
2965
|
+
className: "ml-1 inline-flex h-6 min-w-8 items-center justify-center rounded border border-neutral-300 dark:border-neutral-600 px-1.5 text-[12px]",
|
|
2966
|
+
onClick: () => setScale(2),
|
|
2967
|
+
children: "X2"
|
|
2968
|
+
}
|
|
2969
|
+
),
|
|
2970
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2971
|
+
"button",
|
|
2972
|
+
{
|
|
2973
|
+
"aria-label": "Zoom 300%",
|
|
2974
|
+
className: "ml-1 inline-flex h-6 min-w-8 items-center justify-center rounded border border-neutral-300 dark:border-neutral-600 px-1.5 text-[12px]",
|
|
2975
|
+
onClick: () => setScale(3),
|
|
2976
|
+
children: "X3"
|
|
2977
|
+
}
|
|
2978
|
+
),
|
|
2979
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2980
|
+
"button",
|
|
2981
|
+
{
|
|
2982
|
+
"aria-label": "Zoom 1000%",
|
|
2983
|
+
className: "ml-1 inline-flex h-6 min-w-10 items-center justify-center rounded border border-neutral-300 dark:border-neutral-600 px-1.5 text-[12px]",
|
|
2984
|
+
onClick: () => setScale(10),
|
|
2985
|
+
children: "X10"
|
|
2986
|
+
}
|
|
2987
|
+
),
|
|
2988
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2989
|
+
"button",
|
|
2990
|
+
{
|
|
2991
|
+
"aria-label": "Reset",
|
|
2992
|
+
className: "ml-1 flex h-6 w-6 items-center justify-center rounded text-purple-500 hover:text-purple-600",
|
|
2993
|
+
onClick: resetTransform,
|
|
2994
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(globalLucideIcons.RefreshCcw, { className: "h-3.5 w-3.5" })
|
|
2995
|
+
}
|
|
2996
|
+
),
|
|
2997
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2998
|
+
"button",
|
|
2999
|
+
{
|
|
3000
|
+
"aria-label": "Close",
|
|
3001
|
+
className: "ml-1 flex h-6 w-6 items-center justify-center rounded text-purple-500 hover:text-purple-600",
|
|
3002
|
+
onClick: () => {
|
|
3003
|
+
setOpen(false);
|
|
3004
|
+
resetTransform();
|
|
3005
|
+
},
|
|
3006
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(globalLucideIcons.X, { className: "h-3.5 w-3.5" })
|
|
5371
3007
|
}
|
|
5372
3008
|
)
|
|
3009
|
+
] })
|
|
3010
|
+
] }),
|
|
3011
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
3012
|
+
"div",
|
|
3013
|
+
{
|
|
3014
|
+
className: "relative h-[calc(88vh-40px)] w-full overflow-hidden bg-white dark:bg-neutral-900 touch-none overscroll-contain",
|
|
3015
|
+
onWheel,
|
|
3016
|
+
onPointerDown,
|
|
3017
|
+
onPointerMove,
|
|
3018
|
+
onPointerUp,
|
|
3019
|
+
children: [
|
|
3020
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3021
|
+
"div",
|
|
3022
|
+
{
|
|
3023
|
+
className: "absolute left-1/2 top-1/2",
|
|
3024
|
+
style: { transform: `translate(-50%, -50%) translate(${translate.x}px, ${translate.y}px)` },
|
|
3025
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3026
|
+
"div",
|
|
3027
|
+
{
|
|
3028
|
+
style: { transform: `scale(${scale})`, transformOrigin: "50% 50%" },
|
|
3029
|
+
dangerouslySetInnerHTML: { __html: svg }
|
|
3030
|
+
}
|
|
3031
|
+
)
|
|
3032
|
+
}
|
|
3033
|
+
),
|
|
3034
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "pointer-events-none absolute bottom-2 right-3 rounded bg-black/40 px-2 py-1 text-xs text-white", children: "Drag to pan, hold Cmd/Ctrl + scroll to zoom" })
|
|
3035
|
+
]
|
|
5373
3036
|
}
|
|
5374
|
-
)
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
] }) })
|
|
3037
|
+
)
|
|
3038
|
+
] })
|
|
3039
|
+
]
|
|
3040
|
+
}
|
|
3041
|
+
)
|
|
5380
3042
|
] });
|
|
5381
3043
|
}
|
|
5382
3044
|
function addWatermarkToSvg(svg, watermark) {
|
|
@@ -5399,9 +3061,9 @@ function addWatermarkToSvg(svg, watermark) {
|
|
|
5399
3061
|
|
|
5400
3062
|
// src/fuma/mdx/image-zoom.tsx
|
|
5401
3063
|
var import_framework = require("fumadocs-core/framework");
|
|
5402
|
-
var
|
|
3064
|
+
var import_react36 = require("react");
|
|
5403
3065
|
var import_react_medium_image_zoom = __toESM(require("react-medium-image-zoom"));
|
|
5404
|
-
var
|
|
3066
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
5405
3067
|
function getImageSrc(src) {
|
|
5406
3068
|
if (typeof src === "string") return src;
|
|
5407
3069
|
if (typeof src === "object") {
|
|
@@ -5424,14 +3086,14 @@ function ImageZoom(_a) {
|
|
|
5424
3086
|
"fallbackSrc"
|
|
5425
3087
|
]);
|
|
5426
3088
|
var _a2;
|
|
5427
|
-
const [imgSrc, setImgSrc] = (0,
|
|
3089
|
+
const [imgSrc, setImgSrc] = (0, import_react36.useState)(getImageSrc(props.src));
|
|
5428
3090
|
const handleError = () => {
|
|
5429
3091
|
console.warn("ImageZoom check error:", imgSrc, fallbackSrc);
|
|
5430
3092
|
if (imgSrc !== fallbackSrc) {
|
|
5431
3093
|
setImgSrc(fallbackSrc);
|
|
5432
3094
|
}
|
|
5433
3095
|
};
|
|
5434
|
-
return /* @__PURE__ */ (0,
|
|
3096
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
5435
3097
|
import_react_medium_image_zoom.default,
|
|
5436
3098
|
__spreadProps(__spreadValues({
|
|
5437
3099
|
zoomMargin: 20,
|
|
@@ -5443,7 +3105,7 @@ function ImageZoom(_a) {
|
|
|
5443
3105
|
}, zoomInProps), {
|
|
5444
3106
|
onError: handleError
|
|
5445
3107
|
}),
|
|
5446
|
-
children: children != null ? children : /* @__PURE__ */ (0,
|
|
3108
|
+
children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
5447
3109
|
import_framework.Image,
|
|
5448
3110
|
__spreadProps(__spreadValues({}, props), {
|
|
5449
3111
|
src: imgSrc,
|
|
@@ -5460,36 +3122,36 @@ function ImageZoom(_a) {
|
|
|
5460
3122
|
}
|
|
5461
3123
|
|
|
5462
3124
|
// src/fuma/mdx/trophy-card.tsx
|
|
5463
|
-
var
|
|
3125
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
5464
3126
|
function TrophyCard({
|
|
5465
|
-
icon = /* @__PURE__ */ (0,
|
|
3127
|
+
icon = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(globalLucideIcons.Star, {}),
|
|
5466
3128
|
title,
|
|
5467
3129
|
children
|
|
5468
3130
|
}) {
|
|
5469
|
-
return /* @__PURE__ */ (0,
|
|
3131
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
5470
3132
|
"div",
|
|
5471
3133
|
{
|
|
5472
3134
|
className: "\n border-2 rounded-xl px-4 py-2\n border-purple-200 dark:border-gray-500\n ",
|
|
5473
3135
|
children: [
|
|
5474
|
-
/* @__PURE__ */ (0,
|
|
5475
|
-
/* @__PURE__ */ (0,
|
|
5476
|
-
/* @__PURE__ */ (0,
|
|
3136
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center font-bold text-sm", children: [
|
|
3137
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "mr-2", children: icon }),
|
|
3138
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { children: title })
|
|
5477
3139
|
] }),
|
|
5478
|
-
/* @__PURE__ */ (0,
|
|
3140
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "text-sm -mt-1 leading-none", children })
|
|
5479
3141
|
]
|
|
5480
3142
|
}
|
|
5481
3143
|
);
|
|
5482
3144
|
}
|
|
5483
3145
|
|
|
5484
3146
|
// src/fuma/mdx/image-grid.tsx
|
|
5485
|
-
var
|
|
3147
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
5486
3148
|
function ImageGrid({
|
|
5487
3149
|
type = "url",
|
|
5488
3150
|
images,
|
|
5489
3151
|
altPrefix = "",
|
|
5490
3152
|
cdnBaseUrl
|
|
5491
3153
|
}) {
|
|
5492
|
-
return /* @__PURE__ */ (0,
|
|
3154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
5493
3155
|
"div",
|
|
5494
3156
|
{
|
|
5495
3157
|
style: {
|
|
@@ -5499,7 +3161,7 @@ function ImageGrid({
|
|
|
5499
3161
|
justifyItems: "center",
|
|
5500
3162
|
alignItems: "center"
|
|
5501
3163
|
},
|
|
5502
|
-
children: images.map((img, idx) => /* @__PURE__ */ (0,
|
|
3164
|
+
children: images.map((img, idx) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
5503
3165
|
ImageZoom,
|
|
5504
3166
|
{
|
|
5505
3167
|
src: img.startsWith("http://") || img.startsWith("https://") ? img : type === "url" ? `${cdnBaseUrl == null ? void 0 : cdnBaseUrl.replace(/\/+$/, "")}/${img.replace(/^\/+/, "")}` : img,
|
|
@@ -5511,15 +3173,22 @@ function ImageGrid({
|
|
|
5511
3173
|
);
|
|
5512
3174
|
}
|
|
5513
3175
|
|
|
3176
|
+
// ../lib/src/utils.ts
|
|
3177
|
+
var import_clsx = require("clsx");
|
|
3178
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
3179
|
+
function cn(...inputs) {
|
|
3180
|
+
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
3181
|
+
}
|
|
3182
|
+
|
|
5514
3183
|
// src/fuma/mdx/zia-card.tsx
|
|
5515
3184
|
var import_link2 = __toESM(require("next/link"));
|
|
5516
|
-
var
|
|
3185
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
5517
3186
|
function ZiaCard(_a) {
|
|
5518
3187
|
var _b = _a, { icon, title, description } = _b, props = __objRest(_b, ["icon", "title", "description"]);
|
|
5519
3188
|
const validHref = typeof props.href === "string" && props.href.trim() !== "";
|
|
5520
3189
|
const validDescription = typeof description === "string" && (description == null ? void 0 : description.trim()) !== "";
|
|
5521
3190
|
if (validHref) {
|
|
5522
|
-
return /* @__PURE__ */ (0,
|
|
3191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
5523
3192
|
import_link2.default,
|
|
5524
3193
|
__spreadProps(__spreadValues({
|
|
5525
3194
|
href: props.href,
|
|
@@ -5531,15 +3200,15 @@ function ZiaCard(_a) {
|
|
|
5531
3200
|
)
|
|
5532
3201
|
}, props), {
|
|
5533
3202
|
children: [
|
|
5534
|
-
/* @__PURE__ */ (0,
|
|
5535
|
-
/* @__PURE__ */ (0,
|
|
5536
|
-
validDescription ? /* @__PURE__ */ (0,
|
|
5537
|
-
props.children ? /* @__PURE__ */ (0,
|
|
3203
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "not-prose mb-2 w-fit rounded-md border bg-fd-muted p-1.5 text-fd-muted-foreground [&_svg]:size-4", children: icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(globalLucideIcons.CircleSmall, {}) }),
|
|
3204
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("h3", { className: "not-prose mb-1 text-sm font-medium line-clamp-2 min-h-[2.5rem]", children: title }),
|
|
3205
|
+
validDescription ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "!my-0 text-sm text-fd-muted-foreground", children: description }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "!my-0 text-sm text-fd-muted-foreground opacity-0 select-none", children: "\xA0" }),
|
|
3206
|
+
props.children ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "text-sm text-fd-muted-foreground prose-no-margin", children: props.children }) : null
|
|
5538
3207
|
]
|
|
5539
3208
|
})
|
|
5540
3209
|
);
|
|
5541
3210
|
}
|
|
5542
|
-
return /* @__PURE__ */ (0,
|
|
3211
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
5543
3212
|
"div",
|
|
5544
3213
|
__spreadProps(__spreadValues({
|
|
5545
3214
|
"data-card": true,
|
|
@@ -5549,19 +3218,207 @@ function ZiaCard(_a) {
|
|
|
5549
3218
|
)
|
|
5550
3219
|
}, props), {
|
|
5551
3220
|
children: [
|
|
5552
|
-
/* @__PURE__ */ (0,
|
|
5553
|
-
/* @__PURE__ */ (0,
|
|
5554
|
-
validDescription ? /* @__PURE__ */ (0,
|
|
5555
|
-
props.children ? /* @__PURE__ */ (0,
|
|
3221
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "not-prose mb-2 w-fit rounded-md border bg-fd-muted p-1.5 text-fd-muted-foreground [&_svg]:size-4", children: icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(globalLucideIcons.CircleSmall, {}) }),
|
|
3222
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("h3", { className: "not-prose mb-1 text-sm font-medium line-clamp-2 min-h-[2.5rem]", children: title }),
|
|
3223
|
+
validDescription ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "!my-0 text-sm text-fd-muted-foreground", children: description }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "!my-0 text-sm text-fd-muted-foreground opacity-0 select-none", children: "\xA0" }),
|
|
3224
|
+
props.children ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "text-sm text-fd-muted-foreground prose-no-margin", children: props.children }) : null
|
|
5556
3225
|
]
|
|
5557
3226
|
})
|
|
5558
3227
|
);
|
|
5559
3228
|
}
|
|
5560
3229
|
|
|
3230
|
+
// ../base-ui/src/ui/button.tsx
|
|
3231
|
+
var React35 = __toESM(require("react"), 1);
|
|
3232
|
+
|
|
3233
|
+
// ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
3234
|
+
var React34 = __toESM(require("react"), 1);
|
|
3235
|
+
|
|
3236
|
+
// ../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
|
|
3237
|
+
var React33 = __toESM(require("react"), 1);
|
|
3238
|
+
function setRef(ref, value) {
|
|
3239
|
+
if (typeof ref === "function") {
|
|
3240
|
+
return ref(value);
|
|
3241
|
+
} else if (ref !== null && ref !== void 0) {
|
|
3242
|
+
ref.current = value;
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
function composeRefs(...refs) {
|
|
3246
|
+
return (node) => {
|
|
3247
|
+
let hasCleanup = false;
|
|
3248
|
+
const cleanups = refs.map((ref) => {
|
|
3249
|
+
const cleanup = setRef(ref, node);
|
|
3250
|
+
if (!hasCleanup && typeof cleanup == "function") {
|
|
3251
|
+
hasCleanup = true;
|
|
3252
|
+
}
|
|
3253
|
+
return cleanup;
|
|
3254
|
+
});
|
|
3255
|
+
if (hasCleanup) {
|
|
3256
|
+
return () => {
|
|
3257
|
+
for (let i = 0; i < cleanups.length; i++) {
|
|
3258
|
+
const cleanup = cleanups[i];
|
|
3259
|
+
if (typeof cleanup == "function") {
|
|
3260
|
+
cleanup();
|
|
3261
|
+
} else {
|
|
3262
|
+
setRef(refs[i], null);
|
|
3263
|
+
}
|
|
3264
|
+
}
|
|
3265
|
+
};
|
|
3266
|
+
}
|
|
3267
|
+
};
|
|
3268
|
+
}
|
|
3269
|
+
|
|
3270
|
+
// ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
3271
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3272
|
+
// @__NO_SIDE_EFFECTS__
|
|
3273
|
+
function createSlot(ownerName) {
|
|
3274
|
+
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
3275
|
+
const Slot2 = React34.forwardRef((props, forwardedRef) => {
|
|
3276
|
+
const _a = props, { children } = _a, slotProps = __objRest(_a, ["children"]);
|
|
3277
|
+
const childrenArray = React34.Children.toArray(children);
|
|
3278
|
+
const slottable = childrenArray.find(isSlottable);
|
|
3279
|
+
if (slottable) {
|
|
3280
|
+
const newElement = slottable.props.children;
|
|
3281
|
+
const newChildren = childrenArray.map((child) => {
|
|
3282
|
+
if (child === slottable) {
|
|
3283
|
+
if (React34.Children.count(newElement) > 1) return React34.Children.only(null);
|
|
3284
|
+
return React34.isValidElement(newElement) ? newElement.props.children : null;
|
|
3285
|
+
} else {
|
|
3286
|
+
return child;
|
|
3287
|
+
}
|
|
3288
|
+
});
|
|
3289
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children: React34.isValidElement(newElement) ? React34.cloneElement(newElement, void 0, newChildren) : null }));
|
|
3290
|
+
}
|
|
3291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children }));
|
|
3292
|
+
});
|
|
3293
|
+
Slot2.displayName = `${ownerName}.Slot`;
|
|
3294
|
+
return Slot2;
|
|
3295
|
+
}
|
|
3296
|
+
var Slot = /* @__PURE__ */ createSlot("Slot");
|
|
3297
|
+
// @__NO_SIDE_EFFECTS__
|
|
3298
|
+
function createSlotClone(ownerName) {
|
|
3299
|
+
const SlotClone = React34.forwardRef((props, forwardedRef) => {
|
|
3300
|
+
const _a = props, { children } = _a, slotProps = __objRest(_a, ["children"]);
|
|
3301
|
+
if (React34.isValidElement(children)) {
|
|
3302
|
+
const childrenRef = getElementRef(children);
|
|
3303
|
+
const props2 = mergeProps(slotProps, children.props);
|
|
3304
|
+
if (children.type !== React34.Fragment) {
|
|
3305
|
+
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
3306
|
+
}
|
|
3307
|
+
return React34.cloneElement(children, props2);
|
|
3308
|
+
}
|
|
3309
|
+
return React34.Children.count(children) > 1 ? React34.Children.only(null) : null;
|
|
3310
|
+
});
|
|
3311
|
+
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
3312
|
+
return SlotClone;
|
|
3313
|
+
}
|
|
3314
|
+
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
3315
|
+
function isSlottable(child) {
|
|
3316
|
+
return React34.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
3317
|
+
}
|
|
3318
|
+
function mergeProps(slotProps, childProps) {
|
|
3319
|
+
const overrideProps = __spreadValues({}, childProps);
|
|
3320
|
+
for (const propName in childProps) {
|
|
3321
|
+
const slotPropValue = slotProps[propName];
|
|
3322
|
+
const childPropValue = childProps[propName];
|
|
3323
|
+
const isHandler = /^on[A-Z]/.test(propName);
|
|
3324
|
+
if (isHandler) {
|
|
3325
|
+
if (slotPropValue && childPropValue) {
|
|
3326
|
+
overrideProps[propName] = (...args) => {
|
|
3327
|
+
const result = childPropValue(...args);
|
|
3328
|
+
slotPropValue(...args);
|
|
3329
|
+
return result;
|
|
3330
|
+
};
|
|
3331
|
+
} else if (slotPropValue) {
|
|
3332
|
+
overrideProps[propName] = slotPropValue;
|
|
3333
|
+
}
|
|
3334
|
+
} else if (propName === "style") {
|
|
3335
|
+
overrideProps[propName] = __spreadValues(__spreadValues({}, slotPropValue), childPropValue);
|
|
3336
|
+
} else if (propName === "className") {
|
|
3337
|
+
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
|
3338
|
+
}
|
|
3339
|
+
}
|
|
3340
|
+
return __spreadValues(__spreadValues({}, slotProps), overrideProps);
|
|
3341
|
+
}
|
|
3342
|
+
function getElementRef(element) {
|
|
3343
|
+
var _a, _b;
|
|
3344
|
+
let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
|
|
3345
|
+
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
3346
|
+
if (mayWarn) {
|
|
3347
|
+
return element.ref;
|
|
3348
|
+
}
|
|
3349
|
+
getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
|
|
3350
|
+
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
3351
|
+
if (mayWarn) {
|
|
3352
|
+
return element.props.ref;
|
|
3353
|
+
}
|
|
3354
|
+
return element.props.ref || element.ref;
|
|
3355
|
+
}
|
|
3356
|
+
|
|
3357
|
+
// ../base-ui/src/ui/button.tsx
|
|
3358
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
3359
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3360
|
+
var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
3361
|
+
"inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
3362
|
+
{
|
|
3363
|
+
variants: {
|
|
3364
|
+
variant: {
|
|
3365
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
3366
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
3367
|
+
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
3368
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
3369
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
3370
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
3371
|
+
},
|
|
3372
|
+
size: {
|
|
3373
|
+
default: "h-10 px-4 py-2",
|
|
3374
|
+
sm: "h-9 rounded-md px-3",
|
|
3375
|
+
lg: "h-11 rounded-md px-8",
|
|
3376
|
+
icon: "h-10 w-10"
|
|
3377
|
+
}
|
|
3378
|
+
},
|
|
3379
|
+
defaultVariants: {
|
|
3380
|
+
variant: "default",
|
|
3381
|
+
size: "default"
|
|
3382
|
+
}
|
|
3383
|
+
}
|
|
3384
|
+
);
|
|
3385
|
+
var Button = React35.forwardRef(
|
|
3386
|
+
(_a, ref) => {
|
|
3387
|
+
var _b = _a, { className, variant, size, asChild = false, loading = false, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "loading", "children"]);
|
|
3388
|
+
const Comp = asChild ? Slot : "button";
|
|
3389
|
+
if (asChild) {
|
|
3390
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3391
|
+
Comp,
|
|
3392
|
+
__spreadProps(__spreadValues({
|
|
3393
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
3394
|
+
ref,
|
|
3395
|
+
disabled: loading || props.disabled
|
|
3396
|
+
}, props), {
|
|
3397
|
+
children
|
|
3398
|
+
})
|
|
3399
|
+
);
|
|
3400
|
+
}
|
|
3401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
3402
|
+
Comp,
|
|
3403
|
+
__spreadProps(__spreadValues({
|
|
3404
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
3405
|
+
ref,
|
|
3406
|
+
disabled: loading || props.disabled
|
|
3407
|
+
}, props), {
|
|
3408
|
+
children: [
|
|
3409
|
+
children,
|
|
3410
|
+
loading && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
|
|
3411
|
+
]
|
|
3412
|
+
})
|
|
3413
|
+
);
|
|
3414
|
+
}
|
|
3415
|
+
);
|
|
3416
|
+
Button.displayName = "Button";
|
|
3417
|
+
|
|
5561
3418
|
// src/fuma/mdx/gradient-button.tsx
|
|
5562
3419
|
var import_link3 = __toESM(require("next/link"));
|
|
5563
|
-
var
|
|
5564
|
-
var
|
|
3420
|
+
var import_react37 = __toESM(require("react"));
|
|
3421
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
5565
3422
|
function GradientButton({
|
|
5566
3423
|
title,
|
|
5567
3424
|
icon,
|
|
@@ -5574,7 +3431,7 @@ function GradientButton({
|
|
|
5574
3431
|
loadingText,
|
|
5575
3432
|
preventDoubleClick = true
|
|
5576
3433
|
}) {
|
|
5577
|
-
const [isLoading, setIsLoading] = (0,
|
|
3434
|
+
const [isLoading, setIsLoading] = (0, import_react37.useState)(false);
|
|
5578
3435
|
const actualLoadingText = loadingText || (title == null ? void 0 : title.toString().trim()) || "Loading...";
|
|
5579
3436
|
const getAlignmentClass = () => {
|
|
5580
3437
|
switch (align) {
|
|
@@ -5609,15 +3466,15 @@ function GradientButton({
|
|
|
5609
3466
|
});
|
|
5610
3467
|
const isDisabled = disabled || isLoading;
|
|
5611
3468
|
const displayTitle = isLoading ? actualLoadingText : title;
|
|
5612
|
-
const displayIcon = isLoading ? /* @__PURE__ */ (0,
|
|
3469
|
+
const displayIcon = isLoading ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(globalLucideIcons.Loader2, { className: "h-4 w-4 text-white animate-spin" }) : icon ? import_react37.default.cloneElement(icon, {
|
|
5613
3470
|
className: "h-4 w-4 text-white"
|
|
5614
|
-
}) : /* @__PURE__ */ (0,
|
|
5615
|
-
const buttonContent = onClick ? /* @__PURE__ */ (0,
|
|
5616
|
-
/* @__PURE__ */ (0,
|
|
5617
|
-
/* @__PURE__ */ (0,
|
|
5618
|
-
] }) : /* @__PURE__ */ (0,
|
|
5619
|
-
/* @__PURE__ */ (0,
|
|
5620
|
-
/* @__PURE__ */ (0,
|
|
3471
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(globalLucideIcons.ArrowRight, { className: "h-4 w-4 text-white" });
|
|
3472
|
+
const buttonContent = onClick ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
3473
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { children: displayIcon }),
|
|
3474
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ml-1", children: displayTitle })
|
|
3475
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
3476
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { children: displayTitle }),
|
|
3477
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ml-1", children: displayIcon })
|
|
5621
3478
|
] });
|
|
5622
3479
|
const buttonClassName = `
|
|
5623
3480
|
bg-gradient-to-r
|
|
@@ -5631,9 +3488,9 @@ function GradientButton({
|
|
|
5631
3488
|
${isDisabled ? "opacity-50 cursor-not-allowed" : ""}
|
|
5632
3489
|
${className}
|
|
5633
3490
|
`;
|
|
5634
|
-
return /* @__PURE__ */ (0,
|
|
3491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `flex flex-col sm:flex-row gap-3 ${getAlignmentClass()}`, children: onClick ? (
|
|
5635
3492
|
// for click
|
|
5636
|
-
/* @__PURE__ */ (0,
|
|
3493
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5637
3494
|
Button,
|
|
5638
3495
|
{
|
|
5639
3496
|
size: "lg",
|
|
@@ -5645,14 +3502,14 @@ function GradientButton({
|
|
|
5645
3502
|
)
|
|
5646
3503
|
) : (
|
|
5647
3504
|
// for Link
|
|
5648
|
-
/* @__PURE__ */ (0,
|
|
3505
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5649
3506
|
Button,
|
|
5650
3507
|
{
|
|
5651
3508
|
asChild: true,
|
|
5652
3509
|
size: "lg",
|
|
5653
3510
|
className: buttonClassName,
|
|
5654
3511
|
disabled: isDisabled,
|
|
5655
|
-
children: /* @__PURE__ */ (0,
|
|
3512
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5656
3513
|
import_link3.default,
|
|
5657
3514
|
__spreadProps(__spreadValues({
|
|
5658
3515
|
href: href || "#",
|
|
@@ -5668,14 +3525,14 @@ function GradientButton({
|
|
|
5668
3525
|
}
|
|
5669
3526
|
|
|
5670
3527
|
// src/fuma/mdx/toc-base.tsx
|
|
5671
|
-
var
|
|
3528
|
+
var import_react38 = require("react");
|
|
5672
3529
|
var import_navigation = require("next/navigation");
|
|
5673
3530
|
var import_use_copy_button = require("fumadocs-ui/utils/use-copy-button");
|
|
5674
3531
|
var import_link4 = __toESM(require("fumadocs-core/link"));
|
|
5675
|
-
var
|
|
3532
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
5676
3533
|
var cache = /* @__PURE__ */ new Map();
|
|
5677
3534
|
function LLMCopyButton({ llmApiUrl, sourceKey } = {}) {
|
|
5678
|
-
const [isLoading, setLoading] = (0,
|
|
3535
|
+
const [isLoading, setLoading] = (0, import_react38.useState)(false);
|
|
5679
3536
|
const params = (0, import_navigation.useParams)();
|
|
5680
3537
|
const locale = params.locale;
|
|
5681
3538
|
const slug = params.slug;
|
|
@@ -5710,7 +3567,7 @@ function LLMCopyButton({ llmApiUrl, sourceKey } = {}) {
|
|
|
5710
3567
|
setLoading(false);
|
|
5711
3568
|
}
|
|
5712
3569
|
}));
|
|
5713
|
-
return /* @__PURE__ */ (0,
|
|
3570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5714
3571
|
Button,
|
|
5715
3572
|
{
|
|
5716
3573
|
variant: "ghost",
|
|
@@ -5718,32 +3575,32 @@ function LLMCopyButton({ llmApiUrl, sourceKey } = {}) {
|
|
|
5718
3575
|
loading: isLoading,
|
|
5719
3576
|
className: "justify-start px-0 text-stone-600 hover:text-stone-500 dark:text-stone-400 dark:hover:text-stone-300",
|
|
5720
3577
|
onClick,
|
|
5721
|
-
children: checked ? /* @__PURE__ */ (0,
|
|
5722
|
-
/* @__PURE__ */ (0,
|
|
3578
|
+
children: checked ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
3579
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.Check, {}),
|
|
5723
3580
|
"Copied!"
|
|
5724
|
-
] }) : /* @__PURE__ */ (0,
|
|
5725
|
-
/* @__PURE__ */ (0,
|
|
3581
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
3582
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.Markdown, {}),
|
|
5726
3583
|
"Copy page as Markdown"
|
|
5727
3584
|
] })
|
|
5728
3585
|
}
|
|
5729
3586
|
);
|
|
5730
3587
|
}
|
|
5731
3588
|
function EditOnGitHub({ url }) {
|
|
5732
|
-
return /* @__PURE__ */ (0,
|
|
3589
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
5733
3590
|
import_link4.default,
|
|
5734
3591
|
{
|
|
5735
3592
|
className: "flex items-center gap-x-2 text-stone-600 hover:text-stone-500 dark:text-stone-400 dark:hover:text-stone-300 text-sm",
|
|
5736
3593
|
href: url,
|
|
5737
3594
|
children: [
|
|
5738
|
-
/* @__PURE__ */ (0,
|
|
3595
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.GitHub, {}),
|
|
5739
3596
|
"Edit this page on GitHub"
|
|
5740
3597
|
]
|
|
5741
3598
|
}
|
|
5742
3599
|
);
|
|
5743
3600
|
}
|
|
5744
3601
|
function LastUpdatedDate({ date }) {
|
|
5745
|
-
return /* @__PURE__ */ (0,
|
|
5746
|
-
/* @__PURE__ */ (0,
|
|
3602
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex items-center gap-x-2 text-stone-600 dark:text-stone-400 text-sm", children: [
|
|
3603
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.LastUpdated, {}),
|
|
5747
3604
|
"Lastest on ",
|
|
5748
3605
|
date ? date : "Ages ago"
|
|
5749
3606
|
] });
|
|
@@ -5754,8 +3611,8 @@ var import_next_intl = require("next-intl");
|
|
|
5754
3611
|
|
|
5755
3612
|
// src/fuma/mdx/banner.tsx
|
|
5756
3613
|
var import_class_variance_authority2 = require("class-variance-authority");
|
|
5757
|
-
var
|
|
5758
|
-
var
|
|
3614
|
+
var import_react39 = require("react");
|
|
3615
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
5759
3616
|
var buttonVariants2 = (0, import_class_variance_authority2.cva)(
|
|
5760
3617
|
"inline-flex items-center justify-center rounded-md p-2 text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50",
|
|
5761
3618
|
{
|
|
@@ -5786,15 +3643,15 @@ function Banner(_a) {
|
|
|
5786
3643
|
"changeLayout",
|
|
5787
3644
|
"height"
|
|
5788
3645
|
]);
|
|
5789
|
-
const [open, setOpen] = (0,
|
|
3646
|
+
const [open, setOpen] = (0, import_react39.useState)(true);
|
|
5790
3647
|
const globalKey = id ? `nd-banner-${id}` : null;
|
|
5791
3648
|
const bannerHeight = `${height}rem`;
|
|
5792
3649
|
const headerStartHeight = `${height + 5.5}rem`;
|
|
5793
|
-
(0,
|
|
3650
|
+
(0, import_react39.useEffect)(() => {
|
|
5794
3651
|
if (globalKey) setOpen(localStorage.getItem(globalKey) !== "true");
|
|
5795
3652
|
}, [globalKey]);
|
|
5796
3653
|
if (!open) return null;
|
|
5797
|
-
return /* @__PURE__ */ (0,
|
|
3654
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
5798
3655
|
"div",
|
|
5799
3656
|
__spreadProps(__spreadValues({
|
|
5800
3657
|
id
|
|
@@ -5819,8 +3676,8 @@ function Banner(_a) {
|
|
|
5819
3676
|
borderRadius: 0
|
|
5820
3677
|
},
|
|
5821
3678
|
children: [
|
|
5822
|
-
globalKey ? /* @__PURE__ */ (0,
|
|
5823
|
-
globalKey ? /* @__PURE__ */ (0,
|
|
3679
|
+
globalKey ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("style", { children: `.${globalKey} #${id} { display: none; }` }) : null,
|
|
3680
|
+
globalKey ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5824
3681
|
"script",
|
|
5825
3682
|
{
|
|
5826
3683
|
dangerouslySetInnerHTML: {
|
|
@@ -5830,7 +3687,7 @@ function Banner(_a) {
|
|
|
5830
3687
|
) : null,
|
|
5831
3688
|
variant === "rainbow" ? rainbowLayer : null,
|
|
5832
3689
|
props.children,
|
|
5833
|
-
id ? /* @__PURE__ */ (0,
|
|
3690
|
+
id ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5834
3691
|
"button",
|
|
5835
3692
|
{
|
|
5836
3693
|
type: "button",
|
|
@@ -5846,7 +3703,7 @@ function Banner(_a) {
|
|
|
5846
3703
|
size: "icon"
|
|
5847
3704
|
})
|
|
5848
3705
|
),
|
|
5849
|
-
children: /* @__PURE__ */ (0,
|
|
3706
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(globalLucideIcons.X, {})
|
|
5850
3707
|
}
|
|
5851
3708
|
) : null
|
|
5852
3709
|
]
|
|
@@ -5854,8 +3711,8 @@ function Banner(_a) {
|
|
|
5854
3711
|
);
|
|
5855
3712
|
}
|
|
5856
3713
|
var maskImage = "linear-gradient(to bottom,white,transparent), radial-gradient(circle at top center, white, transparent)";
|
|
5857
|
-
var rainbowLayer = /* @__PURE__ */ (0,
|
|
5858
|
-
/* @__PURE__ */ (0,
|
|
3714
|
+
var rainbowLayer = /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
3715
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5859
3716
|
"div",
|
|
5860
3717
|
{
|
|
5861
3718
|
className: "absolute inset-0 z-[-1]",
|
|
@@ -5874,7 +3731,7 @@ var rainbowLayer = /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_run
|
|
|
5874
3731
|
}
|
|
5875
3732
|
}
|
|
5876
3733
|
),
|
|
5877
|
-
/* @__PURE__ */ (0,
|
|
3734
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5878
3735
|
"div",
|
|
5879
3736
|
{
|
|
5880
3737
|
className: "absolute inset-0 z-[-1]",
|
|
@@ -5892,19 +3749,19 @@ var rainbowLayer = /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_run
|
|
|
5892
3749
|
}
|
|
5893
3750
|
}
|
|
5894
3751
|
),
|
|
5895
|
-
/* @__PURE__ */ (0,
|
|
3752
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("style", { children: `@keyframes fd-moving-banner {
|
|
5896
3753
|
from { background-position: 0% 0; }
|
|
5897
3754
|
to { background-position: 100% 0; }
|
|
5898
3755
|
}` })
|
|
5899
3756
|
] });
|
|
5900
3757
|
|
|
5901
3758
|
// src/fuma/mdx/fuma-banner-suit.tsx
|
|
5902
|
-
var
|
|
3759
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
5903
3760
|
function FumaBannerSuit({ showBanner }) {
|
|
5904
3761
|
const t = (0, import_next_intl.useTranslations)("home");
|
|
5905
3762
|
const heightValue = showBanner ? 3 : 0.5;
|
|
5906
3763
|
const height = `${heightValue}rem`;
|
|
5907
|
-
return /* @__PURE__ */ (0,
|
|
3764
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: showBanner ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Banner, { variant: "rainbow", changeLayout: true, height: heightValue, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-xl", children: t("banner") }) }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5908
3765
|
"div",
|
|
5909
3766
|
{
|
|
5910
3767
|
className: "fixed top-0 left-0 w-screen z-[1001] m-0 rounded-none bg-neutral-100 dark:bg-neutral-900",
|
|
@@ -5918,19 +3775,19 @@ function FumaBannerSuit({ showBanner }) {
|
|
|
5918
3775
|
}
|
|
5919
3776
|
|
|
5920
3777
|
// src/fuma/mdx/fuma-github-info.tsx
|
|
5921
|
-
var
|
|
5922
|
-
var
|
|
3778
|
+
var import_react40 = require("react");
|
|
3779
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
5923
3780
|
function GitHubInfoSkeleton({ owner, repo, className }) {
|
|
5924
|
-
return /* @__PURE__ */ (0,
|
|
5925
|
-
/* @__PURE__ */ (0,
|
|
5926
|
-
/* @__PURE__ */ (0,
|
|
5927
|
-
/* @__PURE__ */ (0,
|
|
3781
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: `flex flex-col gap-1.5 p-2 rounded-lg text-sm text-fd-foreground/80 lg:flex-row lg:items-center animate-pulse ${className}`, children: [
|
|
3782
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
3783
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "size-3.5 bg-fd-muted rounded" }),
|
|
3784
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "h-4 bg-fd-muted rounded w-20" })
|
|
5928
3785
|
] }),
|
|
5929
|
-
/* @__PURE__ */ (0,
|
|
3786
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "h-3 bg-fd-muted rounded w-8" })
|
|
5930
3787
|
] });
|
|
5931
3788
|
}
|
|
5932
3789
|
function GitHubInfoFallback({ owner, repo, className }) {
|
|
5933
|
-
return /* @__PURE__ */ (0,
|
|
3790
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
5934
3791
|
"a",
|
|
5935
3792
|
{
|
|
5936
3793
|
href: `https://github.com/${owner}/${repo}`,
|
|
@@ -5938,17 +3795,17 @@ function GitHubInfoFallback({ owner, repo, className }) {
|
|
|
5938
3795
|
target: "_blank",
|
|
5939
3796
|
className: `flex flex-col gap-1.5 p-2 rounded-lg text-sm text-fd-foreground/80 transition-colors lg:flex-row lg:items-center hover:text-fd-accent-foreground hover:bg-fd-accent ${className}`,
|
|
5940
3797
|
children: [
|
|
5941
|
-
/* @__PURE__ */ (0,
|
|
5942
|
-
/* @__PURE__ */ (0,
|
|
5943
|
-
/* @__PURE__ */ (0,
|
|
5944
|
-
/* @__PURE__ */ (0,
|
|
3798
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("p", { className: "flex items-center gap-2 truncate", children: [
|
|
3799
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("svg", { fill: "currentColor", viewBox: "0 0 24 24", className: "size-3.5", children: [
|
|
3800
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("title", { children: "GitHub" }),
|
|
3801
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })
|
|
5945
3802
|
] }),
|
|
5946
3803
|
owner,
|
|
5947
3804
|
"/",
|
|
5948
3805
|
repo
|
|
5949
3806
|
] }),
|
|
5950
|
-
/* @__PURE__ */ (0,
|
|
5951
|
-
/* @__PURE__ */ (0,
|
|
3807
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("p", { className: "flex text-xs items-center gap-1 text-fd-muted-foreground", children: [
|
|
3808
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.ExternalLink, { className: "size-3" }),
|
|
5952
3809
|
"GitHub"
|
|
5953
3810
|
] })
|
|
5954
3811
|
]
|
|
@@ -5962,7 +3819,7 @@ function GitHubInfoSuccess({
|
|
|
5962
3819
|
className
|
|
5963
3820
|
}) {
|
|
5964
3821
|
const humanizedStars = humanizeNumber(stars);
|
|
5965
|
-
return /* @__PURE__ */ (0,
|
|
3822
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
5966
3823
|
"a",
|
|
5967
3824
|
{
|
|
5968
3825
|
href: `https://github.com/${owner}/${repo}`,
|
|
@@ -5970,17 +3827,17 @@ function GitHubInfoSuccess({
|
|
|
5970
3827
|
target: "_blank",
|
|
5971
3828
|
className: `flex flex-col gap-1.5 p-2 rounded-lg text-sm text-fd-foreground/80 transition-colors lg:flex-row lg:items-center hover:text-fd-accent-foreground hover:bg-fd-accent ${className}`,
|
|
5972
3829
|
children: [
|
|
5973
|
-
/* @__PURE__ */ (0,
|
|
5974
|
-
/* @__PURE__ */ (0,
|
|
5975
|
-
/* @__PURE__ */ (0,
|
|
5976
|
-
/* @__PURE__ */ (0,
|
|
3830
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("p", { className: "flex items-center gap-2 truncate", children: [
|
|
3831
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("svg", { fill: "currentColor", viewBox: "0 0 24 24", className: "size-3.5", children: [
|
|
3832
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("title", { children: "GitHub" }),
|
|
3833
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })
|
|
5977
3834
|
] }),
|
|
5978
3835
|
owner,
|
|
5979
3836
|
"/",
|
|
5980
3837
|
repo
|
|
5981
3838
|
] }),
|
|
5982
|
-
/* @__PURE__ */ (0,
|
|
5983
|
-
/* @__PURE__ */ (0,
|
|
3839
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("p", { className: "flex text-xs items-center gap-1 text-fd-muted-foreground", children: [
|
|
3840
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.Star, { className: "size-3" }),
|
|
5984
3841
|
humanizedStars
|
|
5985
3842
|
] })
|
|
5986
3843
|
]
|
|
@@ -6002,10 +3859,10 @@ function humanizeNumber(num) {
|
|
|
6002
3859
|
return num.toString();
|
|
6003
3860
|
}
|
|
6004
3861
|
function FumaGithubInfo({ owner, repo, token, className }) {
|
|
6005
|
-
const [data, setData] = (0,
|
|
6006
|
-
const [loading, setLoading] = (0,
|
|
6007
|
-
const [error, setError] = (0,
|
|
6008
|
-
(0,
|
|
3862
|
+
const [data, setData] = (0, import_react40.useState)(null);
|
|
3863
|
+
const [loading, setLoading] = (0, import_react40.useState)(true);
|
|
3864
|
+
const [error, setError] = (0, import_react40.useState)(null);
|
|
3865
|
+
(0, import_react40.useEffect)(() => {
|
|
6009
3866
|
const fetchRepoData = () => __async(null, null, function* () {
|
|
6010
3867
|
try {
|
|
6011
3868
|
setLoading(true);
|
|
@@ -6049,12 +3906,12 @@ function FumaGithubInfo({ owner, repo, token, className }) {
|
|
|
6049
3906
|
fetchRepoData();
|
|
6050
3907
|
}, [owner, repo, token]);
|
|
6051
3908
|
if (loading) {
|
|
6052
|
-
return /* @__PURE__ */ (0,
|
|
3909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(GitHubInfoSkeleton, { owner, repo, className });
|
|
6053
3910
|
}
|
|
6054
3911
|
if (error || !data) {
|
|
6055
|
-
return /* @__PURE__ */ (0,
|
|
3912
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(GitHubInfoFallback, { owner, repo, className });
|
|
6056
3913
|
}
|
|
6057
|
-
return /* @__PURE__ */ (0,
|
|
3914
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
6058
3915
|
GitHubInfoSuccess,
|
|
6059
3916
|
{
|
|
6060
3917
|
owner,
|
|
@@ -6067,7 +3924,7 @@ function FumaGithubInfo({ owner, repo, token, className }) {
|
|
|
6067
3924
|
|
|
6068
3925
|
// src/fuma/mdx/site-x.tsx
|
|
6069
3926
|
var import_next_intl2 = require("next-intl");
|
|
6070
|
-
var
|
|
3927
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
6071
3928
|
function SiteX(_a) {
|
|
6072
3929
|
var _b = _a, { type, namespace, tKey, className } = _b, props = __objRest(_b, ["type", "namespace", "tKey", "className"]);
|
|
6073
3930
|
let ns = namespace;
|
|
@@ -6081,7 +3938,7 @@ function SiteX(_a) {
|
|
|
6081
3938
|
const t = (0, import_next_intl2.useTranslations)(ns);
|
|
6082
3939
|
const text = t(key, { defaultValue: type === "site" ? "Site----" : "----@example.com" });
|
|
6083
3940
|
if (type === "site") {
|
|
6084
|
-
return /* @__PURE__ */ (0,
|
|
3941
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
6085
3942
|
"strong",
|
|
6086
3943
|
__spreadProps(__spreadValues({}, props), {
|
|
6087
3944
|
className: cn(
|
|
@@ -6093,7 +3950,7 @@ function SiteX(_a) {
|
|
|
6093
3950
|
);
|
|
6094
3951
|
}
|
|
6095
3952
|
if (type === "email") {
|
|
6096
|
-
return /* @__PURE__ */ (0,
|
|
3953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
6097
3954
|
"a",
|
|
6098
3955
|
__spreadProps(__spreadValues({}, props), {
|
|
6099
3956
|
href: `mailto:${text}`,
|
|
@@ -6109,16 +3966,16 @@ function SiteX(_a) {
|
|
|
6109
3966
|
}
|
|
6110
3967
|
|
|
6111
3968
|
// src/fuma/mdx/zia-file.tsx
|
|
6112
|
-
var
|
|
3969
|
+
var import_react41 = require("react");
|
|
6113
3970
|
var import_collapsible = require("fumadocs-ui/components/ui/collapsible");
|
|
6114
3971
|
var import_link5 = __toESM(require("next/link"));
|
|
6115
|
-
var
|
|
3972
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
6116
3973
|
var itemVariants = "flex flex-row items-center gap-2 rounded-md px-2 py-1.5 text-sm hover:bg-fd-accent hover:text-fd-accent-foreground [&_svg]:size-4";
|
|
6117
3974
|
var anotionClass = "ms-2 px-2 py-0.5 rounded text-xs font-semibold bg-fd-accent/80 text-fd-accent-foreground dark:bg-white/20 dark:text-white";
|
|
6118
3975
|
function ZiaFile(_a) {
|
|
6119
3976
|
var _b = _a, {
|
|
6120
3977
|
name,
|
|
6121
|
-
icon = /* @__PURE__ */ (0,
|
|
3978
|
+
icon = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.File, {}),
|
|
6122
3979
|
className,
|
|
6123
3980
|
anotion,
|
|
6124
3981
|
href
|
|
@@ -6132,16 +3989,16 @@ function ZiaFile(_a) {
|
|
|
6132
3989
|
const validHref = typeof href === "string" && href.trim() !== "";
|
|
6133
3990
|
const validAnotion = typeof anotion === "string" && anotion.trim() !== "";
|
|
6134
3991
|
if (validHref) {
|
|
6135
|
-
return /* @__PURE__ */ (0,
|
|
3992
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_link5.default, { href, className: cn(itemVariants, className), children: [
|
|
6136
3993
|
icon,
|
|
6137
|
-
/* @__PURE__ */ (0,
|
|
6138
|
-
validAnotion && /* @__PURE__ */ (0,
|
|
3994
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: name }),
|
|
3995
|
+
validAnotion && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: anotionClass, children: anotion })
|
|
6139
3996
|
] });
|
|
6140
3997
|
}
|
|
6141
|
-
return /* @__PURE__ */ (0,
|
|
3998
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", __spreadProps(__spreadValues({ className: cn(itemVariants, className) }, rest), { children: [
|
|
6142
3999
|
icon,
|
|
6143
|
-
/* @__PURE__ */ (0,
|
|
6144
|
-
validAnotion && /* @__PURE__ */ (0,
|
|
4000
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: name }),
|
|
4001
|
+
validAnotion && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: anotionClass, children: anotion })
|
|
6145
4002
|
] }));
|
|
6146
4003
|
}
|
|
6147
4004
|
function ZiaFolder(_a) {
|
|
@@ -6158,26 +4015,26 @@ function ZiaFolder(_a) {
|
|
|
6158
4015
|
"className",
|
|
6159
4016
|
"children"
|
|
6160
4017
|
]);
|
|
6161
|
-
const [open, setOpen] = (0,
|
|
4018
|
+
const [open, setOpen] = (0, import_react41.useState)(defaultOpen);
|
|
6162
4019
|
const validAnotion = typeof anotion === "string" && anotion.trim() !== "";
|
|
6163
|
-
return /* @__PURE__ */ (0,
|
|
6164
|
-
/* @__PURE__ */ (0,
|
|
6165
|
-
open ? /* @__PURE__ */ (0,
|
|
6166
|
-
/* @__PURE__ */ (0,
|
|
6167
|
-
validAnotion && /* @__PURE__ */ (0,
|
|
4020
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_collapsible.Collapsible, __spreadProps(__spreadValues({ open, onOpenChange: setOpen }, props), { children: [
|
|
4021
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_collapsible.CollapsibleTrigger, { className: cn(itemVariants, className, "w-full"), children: [
|
|
4022
|
+
open ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.FolderOpen, {}) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.Folder, {}),
|
|
4023
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: name }),
|
|
4024
|
+
validAnotion && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: anotionClass, children: anotion })
|
|
6168
4025
|
] }),
|
|
6169
|
-
/* @__PURE__ */ (0,
|
|
4026
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_collapsible.CollapsibleContent, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "ms-2 flex flex-col border-l ps-2", children }) })
|
|
6170
4027
|
] }));
|
|
6171
4028
|
}
|
|
6172
4029
|
|
|
6173
4030
|
// src/fuma/mdx/toc-footer-wrapper.tsx
|
|
6174
|
-
var
|
|
4031
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
6175
4032
|
function TocFooterWrapper({ lastModified, editPath, githubBaseUrl, copyButtonComponent }) {
|
|
6176
4033
|
const showEdit = githubBaseUrl && editPath;
|
|
6177
|
-
return /* @__PURE__ */ (0,
|
|
6178
|
-
/* @__PURE__ */ (0,
|
|
4034
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col gap-y-2 items-start m-4", children: [
|
|
4035
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(LastUpdatedDate, { date: lastModified }),
|
|
6179
4036
|
copyButtonComponent,
|
|
6180
|
-
showEdit && /* @__PURE__ */ (0,
|
|
4037
|
+
showEdit && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(EditOnGitHub, { url: `${githubBaseUrl}${editPath}` })
|
|
6181
4038
|
] });
|
|
6182
4039
|
}
|
|
6183
4040
|
// Annotate the CommonJS export names for ESM import in node:
|