@webskill/sdk 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/agent.d.ts +3 -2
  2. package/dist/agent.js +3 -1102
  3. package/dist/browser.d.ts +258 -11
  4. package/dist/browser.js +763 -47
  5. package/dist/{catalogComponents-DTcYfpLQ-CcoOaz-Z.js → catalogComponents-BgAJN0p8-C3K8klJd.js} +508 -923
  6. package/dist/dist-DU9KDAuR.js +1468 -0
  7. package/dist/{dist-1OFC-zax.js → dist-DqcL6jKO.js} +668 -60
  8. package/dist/{dist-BViUeszk.js → dist-sdKFgERo.js} +956 -115
  9. package/dist/{echarts-DhNm2ene.js → echarts-De78wXqV.js} +599 -61
  10. package/dist/{eventTypes-s2uwAcLG-Go3l_dUe.js → eventTypes-FllCrX-Z-DNDeHWoG.js} +6 -2
  11. package/dist/governance.d.ts +7 -3
  12. package/dist/governance.js +1 -1
  13. package/dist/{index-B0QPLWPZ.d.ts → index-3fCHc1mQ.d.ts} +198 -11
  14. package/dist/{index-DtFdMKBX.d.ts → index-C9pzXLKy.d.ts} +366 -9
  15. package/dist/{index-BF4E1a9j.d.ts → index-DFhU1uks.d.ts} +286 -19
  16. package/dist/index.d.ts +4 -4
  17. package/dist/index.js +3 -3
  18. package/dist/mcp.d.ts +58 -7
  19. package/dist/mcp.js +124 -21
  20. package/dist/node.d.ts +3 -3
  21. package/dist/node.js +60 -4
  22. package/dist/{openUiLibrary-CIrV--Ad-B8zG_91e.js → openUiLibrary-BKXW7Iwx-DaymVubt.js} +3 -3
  23. package/dist/processSandboxEntry.js +8 -1
  24. package/dist/sandboxWorkerEntry.js +8 -1
  25. package/dist/{skillVersionStore-D-qHk9ZE-DBsYYCWn.d.ts → skillVersionStore-D-qHk9ZE-DheTIwAB.d.ts} +1 -1
  26. package/dist/testing.d.ts +1 -1
  27. package/dist/{types-CrRcT-LM-DZAp8sWv.d.ts → types-DLctJep_-B5G4uk2u.d.ts} +22 -5
  28. package/dist/ui-react.d.ts +13 -4
  29. package/dist/ui-react.js +93 -259
  30. package/dist/ui-vue.d.ts +1 -1
  31. package/dist/ui-vue.js +2 -2
  32. package/dist/ui.d.ts +4 -4
  33. package/dist/ui.js +3 -3
  34. package/dist/{webskillLitCatalog-BJrphK0y-SGmRXaaO.js → webskillLitCatalog-D_zCqeQF-C9lrvvMr.js} +135 -16
  35. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  import { a as __require, i as __reExport, n as __esmMin, o as __toCommonJS, r as __exportAll$2, s as __toESM$1, t as __commonJSMin$1 } from "./rolldown-runtime-BOF7iYI8.js";
2
2
  import { h as WebSkillError } from "./dist-Bev6i6Ip.js";
3
- import { D as evaluateFieldCondition, I as qualifyFieldName, S as collectScopedValues, Z as DEFAULT_SURFACE_FORM_TEXTS, it as chartSpecFromProps, st as mountEchart, ut as resolveSurfaceFormTexts, x as collectFormScopes } from "./dist-1OFC-zax.js";
3
+ import { Ct as resolveSurfaceFormTexts, E as collectScopedValues, H as qualifyFieldName, I as gaugePercent, T as collectFormScopes, at as DEFAULT_CHART_FONT_SIZES, ct as DEFAULT_SURFACE_HOST_CONTROL_TEXTS, gt as chartSpecFromProps, j as evaluateFieldCondition, st as DEFAULT_SURFACE_FORM_TEXTS, wt as resolveSurfaceHostControlTexts, xt as resolveChartFontSizes, yt as mountEchart } from "./dist-DqcL6jKO.js";
4
4
  import minpath$1 from "node:path";
5
5
  import { fileURLToPath as urlToPath$1 } from "node:url";
6
6
  import { z } from "zod";
7
7
  import * as React$10 from "react";
8
- import React, { Fragment, createContext, createElement, forwardRef, memo, useCallback, useContext, useDeferredValue, useEffect, useId, useInsertionEffect, useLayoutEffect, useMemo, useRef, useState, default as react_default } from "react";
8
+ import React, { createContext, createElement, forwardRef, memo, useCallback, useContext, useDeferredValue, useEffect, useId, useInsertionEffect, useLayoutEffect, useMemo, useRef, useState, default as react_default } from "react";
9
9
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
10
10
  import * as ReactDOM from "react-dom";
11
11
  import minproc$1 from "node:process";
@@ -3490,8 +3490,8 @@ function useDarkAncestor() {
3490
3490
 
3491
3491
  //#endregion
3492
3492
  //#region ../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.5_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
3493
- var __defProp$31 = Object.defineProperty;
3494
- var __name$29 = (target, value) => __defProp$31(target, "name", {
3493
+ var __defProp$29 = Object.defineProperty;
3494
+ var __name$27 = (target, value) => __defProp$29(target, "name", {
3495
3495
  value,
3496
3496
  configurable: true
3497
3497
  });
@@ -3499,7 +3499,7 @@ function setRef$1(ref, value) {
3499
3499
  if (typeof ref === "function") return ref(value);
3500
3500
  else if (ref !== null && ref !== void 0) ref.current = value;
3501
3501
  }
3502
- __name$29(setRef$1, "setRef");
3502
+ __name$27(setRef$1, "setRef");
3503
3503
  function composeRefs(...refs) {
3504
3504
  return (node) => {
3505
3505
  let hasCleanup = false;
@@ -3517,16 +3517,16 @@ function composeRefs(...refs) {
3517
3517
  };
3518
3518
  };
3519
3519
  }
3520
- __name$29(composeRefs, "composeRefs");
3520
+ __name$27(composeRefs, "composeRefs");
3521
3521
  function useComposedRefs(...refs) {
3522
3522
  return React$10.useCallback(composeRefs(...refs), refs);
3523
3523
  }
3524
- __name$29(useComposedRefs, "useComposedRefs");
3524
+ __name$27(useComposedRefs, "useComposedRefs");
3525
3525
 
3526
3526
  //#endregion
3527
3527
  //#region ../../node_modules/.pnpm/@radix-ui+react-context@1.2.2_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-context/dist/index.mjs
3528
- var __defProp$30 = Object.defineProperty;
3529
- var __name$28 = (target, value) => __defProp$30(target, "name", {
3528
+ var __defProp$28 = Object.defineProperty;
3529
+ var __name$26 = (target, value) => __defProp$28(target, "name", {
3530
3530
  value,
3531
3531
  configurable: true
3532
3532
  });
@@ -3534,7 +3534,7 @@ var __name$28 = (target, value) => __defProp$30(target, "name", {
3534
3534
  function createContext2(rootComponentName, defaultContext) {
3535
3535
  const Context = React$10.createContext(defaultContext);
3536
3536
  Context.displayName = rootComponentName + "Context";
3537
- const Provider = /* @__PURE__ */ __name$28((props) => {
3537
+ const Provider = /* @__PURE__ */ __name$26((props) => {
3538
3538
  const { children, ...context } = props;
3539
3539
  const value = React$10.useMemo(() => context, Object.values(context));
3540
3540
  return /* @__PURE__ */ jsx(Context.Provider, {
@@ -3551,10 +3551,10 @@ function createContext2(rootComponentName, defaultContext) {
3551
3551
  if (optional) return void 0;
3552
3552
  throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
3553
3553
  }
3554
- __name$28(useContext2, "useContext");
3554
+ __name$26(useContext2, "useContext");
3555
3555
  return [Provider, useContext2];
3556
3556
  }
3557
- __name$28(createContext2, "createContext");
3557
+ __name$26(createContext2, "createContext");
3558
3558
  // @__NO_SIDE_EFFECTS__
3559
3559
  function createContextScope(scopeName, createContextScopeDeps = []) {
3560
3560
  let defaultContexts = [];
@@ -3563,7 +3563,7 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
3563
3563
  BaseContext.displayName = rootComponentName + "Context";
3564
3564
  const index = defaultContexts.length;
3565
3565
  defaultContexts = [...defaultContexts, defaultContext];
3566
- const Provider = /* @__PURE__ */ __name$28((props) => {
3566
+ const Provider = /* @__PURE__ */ __name$26((props) => {
3567
3567
  const { scope, children, ...context } = props;
3568
3568
  const Context = scope?.[scopeName]?.[index] || BaseContext;
3569
3569
  const value = React$10.useMemo(() => context, Object.values(context));
@@ -3582,15 +3582,15 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
3582
3582
  if (optional) return void 0;
3583
3583
  throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
3584
3584
  }
3585
- __name$28(useContext2, "useContext");
3585
+ __name$26(useContext2, "useContext");
3586
3586
  return [Provider, useContext2];
3587
3587
  }
3588
- __name$28(createContext3, "createContext");
3589
- const createScope = /* @__PURE__ */ __name$28(() => {
3588
+ __name$26(createContext3, "createContext");
3589
+ const createScope = /* @__PURE__ */ __name$26(() => {
3590
3590
  const scopeContexts = defaultContexts.map((defaultContext) => {
3591
3591
  return React$10.createContext(defaultContext);
3592
3592
  });
3593
- return /* @__PURE__ */ __name$28(function useScope(scope) {
3593
+ return /* @__PURE__ */ __name$26(function useScope(scope) {
3594
3594
  const contexts = scope?.[scopeName] || scopeContexts;
3595
3595
  return React$10.useMemo(() => ({ [`__scope${scopeName}`]: {
3596
3596
  ...scope,
@@ -3601,16 +3601,16 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
3601
3601
  createScope.scopeName = scopeName;
3602
3602
  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];
3603
3603
  }
3604
- __name$28(createContextScope, "createContextScope");
3604
+ __name$26(createContextScope, "createContextScope");
3605
3605
  function composeContextScopes(...scopes) {
3606
3606
  const baseScope = scopes[0];
3607
3607
  if (scopes.length === 1) return baseScope;
3608
- const createScope = /* @__PURE__ */ __name$28(() => {
3608
+ const createScope = /* @__PURE__ */ __name$26(() => {
3609
3609
  const scopeHooks = scopes.map((createScope2) => ({
3610
3610
  useScope: createScope2(),
3611
3611
  scopeName: createScope2.scopeName
3612
3612
  }));
3613
- return /* @__PURE__ */ __name$28(function useComposedScopes(overrideScopes) {
3613
+ return /* @__PURE__ */ __name$26(function useComposedScopes(overrideScopes) {
3614
3614
  const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
3615
3615
  const currentScope = useScope(overrideScopes)[`__scope${scopeName}`];
3616
3616
  return {
@@ -3624,33 +3624,33 @@ function composeContextScopes(...scopes) {
3624
3624
  createScope.scopeName = baseScope.scopeName;
3625
3625
  return createScope;
3626
3626
  }
3627
- __name$28(composeContextScopes, "composeContextScopes");
3627
+ __name$26(composeContextScopes, "composeContextScopes");
3628
3628
 
3629
3629
  //#endregion
3630
3630
  //#region ../../node_modules/.pnpm/@radix-ui+primitive@1.1.7/node_modules/@radix-ui/primitive/dist/index.mjs
3631
- var __defProp$29 = Object.defineProperty;
3632
- var __name$27 = (target, value) => __defProp$29(target, "name", {
3631
+ var __defProp$27 = Object.defineProperty;
3632
+ var __name$25 = (target, value) => __defProp$27(target, "name", {
3633
3633
  value,
3634
3634
  configurable: true
3635
3635
  });
3636
3636
  var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
3637
3637
  function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
3638
- return /* @__PURE__ */ __name$27(function handleEvent(event) {
3638
+ return /* @__PURE__ */ __name$25(function handleEvent(event) {
3639
3639
  originalEventHandler?.(event);
3640
3640
  if (checkForDefaultPrevented === false || !event || !event.defaultPrevented) return ourEventHandler?.(event);
3641
3641
  }, "handleEvent");
3642
3642
  }
3643
- __name$27(composeEventHandlers, "composeEventHandlers");
3643
+ __name$25(composeEventHandlers, "composeEventHandlers");
3644
3644
  function getOwnerWindow(element) {
3645
3645
  if (!canUseDOM) throw new Error("Cannot access window outside of the DOM");
3646
3646
  return element?.ownerDocument?.defaultView ?? window;
3647
3647
  }
3648
- __name$27(getOwnerWindow, "getOwnerWindow");
3648
+ __name$25(getOwnerWindow, "getOwnerWindow");
3649
3649
  function getOwnerDocument(element) {
3650
3650
  if (!canUseDOM) throw new Error("Cannot access document outside of the DOM");
3651
3651
  return element?.ownerDocument ?? document;
3652
3652
  }
3653
- __name$27(getOwnerDocument, "getOwnerDocument");
3653
+ __name$25(getOwnerDocument, "getOwnerDocument");
3654
3654
  function getActiveElement(node, activeDescendant = false) {
3655
3655
  const { activeElement } = getOwnerDocument(node);
3656
3656
  if (!activeElement?.nodeName) return null;
@@ -3664,11 +3664,11 @@ function getActiveElement(node, activeDescendant = false) {
3664
3664
  }
3665
3665
  return activeElement;
3666
3666
  }
3667
- __name$27(getActiveElement, "getActiveElement");
3667
+ __name$25(getActiveElement, "getActiveElement");
3668
3668
  function isFrame(element) {
3669
3669
  return element.tagName === "IFRAME";
3670
3670
  }
3671
- __name$27(isFrame, "isFrame");
3671
+ __name$25(isFrame, "isFrame");
3672
3672
 
3673
3673
  //#endregion
3674
3674
  //#region ../../node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.4_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
@@ -3676,8 +3676,8 @@ var useLayoutEffect2 = globalThis?.document ? React$10.useLayoutEffect : () => {
3676
3676
 
3677
3677
  //#endregion
3678
3678
  //#region ../../node_modules/.pnpm/@radix-ui+react-use-effect-event@0.0.5_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs
3679
- var __defProp$28 = Object.defineProperty;
3680
- var __name$26 = (target, value) => __defProp$28(target, "name", {
3679
+ var __defProp$26 = Object.defineProperty;
3680
+ var __name$24 = (target, value) => __defProp$26(target, "name", {
3681
3681
  value,
3682
3682
  configurable: true
3683
3683
  });
@@ -3696,17 +3696,17 @@ function useEffectEvent$2(callback) {
3696
3696
  });
3697
3697
  return React$10.useMemo(() => ((...args) => ref.current?.(...args)), []);
3698
3698
  }
3699
- __name$26(useEffectEvent$2, "useEffectEvent");
3699
+ __name$24(useEffectEvent$2, "useEffectEvent");
3700
3700
 
3701
3701
  //#endregion
3702
3702
  //#region ../../node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.2.6_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
3703
- var __defProp$27 = Object.defineProperty;
3704
- var __name$25 = (target, value) => __defProp$27(target, "name", {
3703
+ var __defProp$25 = Object.defineProperty;
3704
+ var __name$23 = (target, value) => __defProp$25(target, "name", {
3705
3705
  value,
3706
3706
  configurable: true
3707
3707
  });
3708
3708
  var useInsertionEffect$1 = React$10[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
3709
- function useControllableState({ prop, defaultProp, onChange = /* @__PURE__ */ __name$25(() => {}, "onChange"), caller }) {
3709
+ function useControllableState({ prop, defaultProp, onChange = /* @__PURE__ */ __name$23(() => {}, "onChange"), caller }) {
3710
3710
  const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({
3711
3711
  defaultProp,
3712
3712
  onChange
@@ -3733,7 +3733,7 @@ function useControllableState({ prop, defaultProp, onChange = /* @__PURE__ */ __
3733
3733
  onChangeRef
3734
3734
  ])];
3735
3735
  }
3736
- __name$25(useControllableState, "useControllableState");
3736
+ __name$23(useControllableState, "useControllableState");
3737
3737
  function useUncontrolledState({ defaultProp, onChange }) {
3738
3738
  const [value, setValue] = React$10.useState(defaultProp);
3739
3739
  const prevValueRef = React$10.useRef(value);
@@ -3753,11 +3753,11 @@ function useUncontrolledState({ defaultProp, onChange }) {
3753
3753
  onChangeRef
3754
3754
  ];
3755
3755
  }
3756
- __name$25(useUncontrolledState, "useUncontrolledState");
3756
+ __name$23(useUncontrolledState, "useUncontrolledState");
3757
3757
  function isFunction$4(value) {
3758
3758
  return typeof value === "function";
3759
3759
  }
3760
- __name$25(isFunction$4, "isFunction");
3760
+ __name$23(isFunction$4, "isFunction");
3761
3761
  var SYNC_STATE = Symbol("RADIX:SYNC_STATE");
3762
3762
  function useControllableStateReducer(reducer, userArgs, initialArg, init) {
3763
3763
  const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;
@@ -3816,12 +3816,12 @@ function useControllableStateReducer(reducer, userArgs, initialArg, init) {
3816
3816
  ]);
3817
3817
  return [state, dispatch];
3818
3818
  }
3819
- __name$25(useControllableStateReducer, "useControllableStateReducer");
3819
+ __name$23(useControllableStateReducer, "useControllableStateReducer");
3820
3820
 
3821
3821
  //#endregion
3822
3822
  //#region ../../node_modules/.pnpm/@radix-ui+react-use-size@1.1.4_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-use-size/dist/index.mjs
3823
- var __defProp$26 = Object.defineProperty;
3824
- var __name$24 = (target, value) => __defProp$26(target, "name", {
3823
+ var __defProp$24 = Object.defineProperty;
3824
+ var __name$22 = (target, value) => __defProp$24(target, "name", {
3825
3825
  value,
3826
3826
  configurable: true
3827
3827
  });
@@ -3859,12 +3859,12 @@ function useSize(element) {
3859
3859
  }, [element]);
3860
3860
  return size;
3861
3861
  }
3862
- __name$24(useSize, "useSize");
3862
+ __name$22(useSize, "useSize");
3863
3863
 
3864
3864
  //#endregion
3865
3865
  //#region ../../node_modules/.pnpm/@radix-ui+react-presence@1.1.10_@types+react-dom@19.2.3_@types+react@19.2.17__@types+re_138587ba593102bdcf335a5673d92068/node_modules/@radix-ui/react-presence/dist/index.mjs
3866
- var __defProp$25 = Object.defineProperty;
3867
- var __name$23 = (target, value) => __defProp$25(target, "name", {
3866
+ var __defProp$23 = Object.defineProperty;
3867
+ var __name$21 = (target, value) => __defProp$23(target, "name", {
3868
3868
  value,
3869
3869
  configurable: true
3870
3870
  });
@@ -3873,8 +3873,8 @@ function useStateMachine$1(initialState, machine) {
3873
3873
  return machine[state][event] ?? state;
3874
3874
  }, initialState);
3875
3875
  }
3876
- __name$23(useStateMachine$1, "useStateMachine");
3877
- var Presence = /* @__PURE__ */ __name$23((props) => {
3876
+ __name$21(useStateMachine$1, "useStateMachine");
3877
+ var Presence = /* @__PURE__ */ __name$21((props) => {
3878
3878
  const { present, children } = props;
3879
3879
  const presence = usePresence(present);
3880
3880
  const child = typeof children === "function" ? children({ present: presence.isPresent }) : React$10.Children.only(children);
@@ -3923,7 +3923,7 @@ function usePresence(present) {
3923
3923
  if (node) {
3924
3924
  let timeoutId;
3925
3925
  const ownerWindow = node.ownerDocument.defaultView ?? window;
3926
- const handleAnimationEnd = /* @__PURE__ */ __name$23((event) => {
3926
+ const handleAnimationEnd = /* @__PURE__ */ __name$21((event) => {
3927
3927
  const isCurrentAnimation = getAnimationName(stylesRef.current).includes(CSS.escape(event.animationName));
3928
3928
  if (event.target === node && isCurrentAnimation) {
3929
3929
  send("ANIMATION_END");
@@ -3936,7 +3936,7 @@ function usePresence(present) {
3936
3936
  }
3937
3937
  }
3938
3938
  }, "handleAnimationEnd");
3939
- const handleAnimationStart = /* @__PURE__ */ __name$23((event) => {
3939
+ const handleAnimationStart = /* @__PURE__ */ __name$21((event) => {
3940
3940
  if (event.target === node) prevAnimationNameRef.current = getAnimationName(stylesRef.current);
3941
3941
  }, "handleAnimationStart");
3942
3942
  node.addEventListener("animationstart", handleAnimationStart);
@@ -3962,12 +3962,12 @@ function usePresence(present) {
3962
3962
  }, [])
3963
3963
  };
3964
3964
  }
3965
- __name$23(usePresence, "usePresence");
3965
+ __name$21(usePresence, "usePresence");
3966
3966
  function setRef(ref, value) {
3967
3967
  if (typeof ref === "function") return ref(value);
3968
3968
  else if (ref !== null && ref !== void 0) ref.current = value;
3969
3969
  }
3970
- __name$23(setRef, "setRef");
3970
+ __name$21(setRef, "setRef");
3971
3971
  function useStableComposedRefs(...refs) {
3972
3972
  const refsRef = React$10.useRef(refs);
3973
3973
  refsRef.current = refs;
@@ -3988,11 +3988,11 @@ function useStableComposedRefs(...refs) {
3988
3988
  };
3989
3989
  }, []);
3990
3990
  }
3991
- __name$23(useStableComposedRefs, "useStableComposedRefs");
3991
+ __name$21(useStableComposedRefs, "useStableComposedRefs");
3992
3992
  function getAnimationName(styles) {
3993
3993
  return styles?.animationName || "none";
3994
3994
  }
3995
- __name$23(getAnimationName, "getAnimationName");
3995
+ __name$21(getAnimationName, "getAnimationName");
3996
3996
  function getElementRef$1(element) {
3997
3997
  let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
3998
3998
  let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
@@ -4002,12 +4002,12 @@ function getElementRef$1(element) {
4002
4002
  if (mayWarn) return element.props.ref;
4003
4003
  return element.props.ref || element.ref;
4004
4004
  }
4005
- __name$23(getElementRef$1, "getElementRef");
4005
+ __name$21(getElementRef$1, "getElementRef");
4006
4006
 
4007
4007
  //#endregion
4008
4008
  //#region ../../node_modules/.pnpm/@radix-ui+react-slot@1.3.3_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-slot/dist/index.mjs
4009
- var __defProp$24 = Object.defineProperty;
4010
- var __name$22 = (target, value) => __defProp$24(target, "name", {
4009
+ var __defProp$22 = Object.defineProperty;
4010
+ var __name$20 = (target, value) => __defProp$22(target, "name", {
4011
4011
  value,
4012
4012
  configurable: true
4013
4013
  });
@@ -4044,17 +4044,17 @@ function createSlot(ownerName) {
4044
4044
  Slot2.displayName = `${ownerName}.Slot`;
4045
4045
  return Slot2;
4046
4046
  }
4047
- __name$22(createSlot, "createSlot");
4047
+ __name$20(createSlot, "createSlot");
4048
4048
  var SLOTTABLE_IDENTIFIER = Symbol.for("radix.slottable");
4049
4049
  // @__NO_SIDE_EFFECTS__
4050
4050
  function createSlottable(ownerName) {
4051
- const Slottable2 = /* @__PURE__ */ __name$22((props) => "child" in props ? props.children(props.child) : props.children, "Slottable");
4051
+ const Slottable2 = /* @__PURE__ */ __name$20((props) => "child" in props ? props.children(props.child) : props.children, "Slottable");
4052
4052
  Slottable2.displayName = `${ownerName}.Slottable`;
4053
4053
  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
4054
4054
  return Slottable2;
4055
4055
  }
4056
- __name$22(createSlottable, "createSlottable");
4057
- var getSlottableElementFromSlottable = /* @__PURE__ */ __name$22((slottable, child) => {
4056
+ __name$20(createSlottable, "createSlottable");
4057
+ var getSlottableElementFromSlottable = /* @__PURE__ */ __name$20((slottable, child) => {
4058
4058
  if ("child" in slottable.props) {
4059
4059
  const child2 = slottable.props.child;
4060
4060
  if (!React$10.isValidElement(child2)) return null;
@@ -4085,7 +4085,7 @@ function mergeProps(slotProps, childProps) {
4085
4085
  ...overrideProps
4086
4086
  };
4087
4087
  }
4088
- __name$22(mergeProps, "mergeProps");
4088
+ __name$20(mergeProps, "mergeProps");
4089
4089
  function getElementRef(element) {
4090
4090
  let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
4091
4091
  let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
@@ -4095,32 +4095,32 @@ function getElementRef(element) {
4095
4095
  if (mayWarn) return element.props.ref;
4096
4096
  return element.props.ref || element.ref;
4097
4097
  }
4098
- __name$22(getElementRef, "getElementRef");
4098
+ __name$20(getElementRef, "getElementRef");
4099
4099
  function isSlottable(child) {
4100
4100
  return React$10.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
4101
4101
  }
4102
- __name$22(isSlottable, "isSlottable");
4102
+ __name$20(isSlottable, "isSlottable");
4103
4103
  var REACT_LAZY_TYPE = Symbol.for("react.lazy");
4104
4104
  function isLazyComponent(element) {
4105
4105
  return element != null && typeof element === "object" && "$$typeof" in element && element.$$typeof === REACT_LAZY_TYPE && "_payload" in element && isPromiseLike(element._payload);
4106
4106
  }
4107
- __name$22(isLazyComponent, "isLazyComponent");
4107
+ __name$20(isLazyComponent, "isLazyComponent");
4108
4108
  function isPromiseLike(value) {
4109
4109
  return typeof value === "object" && value !== null && "then" in value;
4110
4110
  }
4111
- __name$22(isPromiseLike, "isPromiseLike");
4112
- var createSlotError = /* @__PURE__ */ __name$22((ownerName) => {
4111
+ __name$20(isPromiseLike, "isPromiseLike");
4112
+ var createSlotError = /* @__PURE__ */ __name$20((ownerName) => {
4113
4113
  return `${ownerName} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`;
4114
4114
  }, "createSlotError");
4115
- var createSlottableError = /* @__PURE__ */ __name$22((ownerName) => {
4115
+ var createSlottableError = /* @__PURE__ */ __name$20((ownerName) => {
4116
4116
  return `${ownerName} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`;
4117
4117
  }, "createSlottableError");
4118
4118
  var use$2 = React$10[" use ".trim().toString()];
4119
4119
 
4120
4120
  //#endregion
4121
4121
  //#region ../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.10_@types+react-dom@19.2.3_@types+react@19.2.17__@types+r_be17283a23f513d7b972453cc36e2a96/node_modules/@radix-ui/react-primitive/dist/index.mjs
4122
- var __defProp$23 = Object.defineProperty;
4123
- var __name$21 = (target, value) => __defProp$23(target, "name", {
4122
+ var __defProp$21 = Object.defineProperty;
4123
+ var __name$19 = (target, value) => __defProp$21(target, "name", {
4124
4124
  value,
4125
4125
  configurable: true
4126
4126
  });
@@ -4162,12 +4162,12 @@ var Primitive = [
4162
4162
  function dispatchDiscreteCustomEvent(target, event) {
4163
4163
  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));
4164
4164
  }
4165
- __name$21(dispatchDiscreteCustomEvent, "dispatchDiscreteCustomEvent");
4165
+ __name$19(dispatchDiscreteCustomEvent, "dispatchDiscreteCustomEvent");
4166
4166
 
4167
4167
  //#endregion
4168
4168
  //#region ../../node_modules/.pnpm/@radix-ui+react-switch@1.3.7_@types+react-dom@19.2.3_@types+react@19.2.17__@types+react_e96baf15833549650471eefa4ffd78d0/node_modules/@radix-ui/react-switch/dist/index.mjs
4169
- var __defProp$22 = Object.defineProperty;
4170
- var __name$20 = (target, value) => __defProp$22(target, "name", {
4169
+ var __defProp$20 = Object.defineProperty;
4170
+ var __name$18 = (target, value) => __defProp$20(target, "name", {
4171
4171
  value,
4172
4172
  configurable: true
4173
4173
  });
@@ -4210,16 +4210,16 @@ function SwitchProvider(props) {
4210
4210
  children: isFunction$3(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
4211
4211
  });
4212
4212
  }
4213
- __name$20(SwitchProvider, "SwitchProvider");
4214
- var TRIGGER_NAME$3 = "SwitchTrigger";
4215
- var SwitchTrigger = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$20(function SwitchTrigger2({ __scopeSwitch, onClick, ...switchProps }, forwardedRef) {
4216
- const { control, form, value, disabled, checked, required, setControl, setChecked, hasConsumerStoppedPropagationRef, onUserInteraction, isFormControl, bubbleInput } = useSwitchContext(TRIGGER_NAME$3, __scopeSwitch);
4213
+ __name$18(SwitchProvider, "SwitchProvider");
4214
+ var TRIGGER_NAME$2 = "SwitchTrigger";
4215
+ var SwitchTrigger = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$18(function SwitchTrigger2({ __scopeSwitch, onClick, ...switchProps }, forwardedRef) {
4216
+ const { control, form, value, disabled, checked, required, setControl, setChecked, hasConsumerStoppedPropagationRef, onUserInteraction, isFormControl, bubbleInput } = useSwitchContext(TRIGGER_NAME$2, __scopeSwitch);
4217
4217
  const composedRefs = useComposedRefs(forwardedRef, setControl);
4218
4218
  const initialCheckedStateRef = React$10.useRef(checked);
4219
4219
  React$10.useEffect(() => {
4220
4220
  const associatedForm = form ? control?.ownerDocument.getElementById(form) : control?.form;
4221
4221
  if (associatedForm instanceof HTMLFormElement) {
4222
- const reset = /* @__PURE__ */ __name$20(() => setChecked(initialCheckedStateRef.current), "reset");
4222
+ const reset = /* @__PURE__ */ __name$18(() => setChecked(initialCheckedStateRef.current), "reset");
4223
4223
  associatedForm.addEventListener("reset", reset);
4224
4224
  return () => associatedForm.removeEventListener("reset", reset);
4225
4225
  }
@@ -4249,7 +4249,7 @@ var SwitchTrigger = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$2
4249
4249
  })
4250
4250
  });
4251
4251
  }, "SwitchTrigger"));
4252
- var Switch$1 = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$20(function Switch2(props, forwardedRef) {
4252
+ var Switch$1 = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$18(function Switch2(props, forwardedRef) {
4253
4253
  const { __scopeSwitch, name, checked, defaultChecked, required, disabled, value, onCheckedChange, form, ...switchProps } = props;
4254
4254
  return /* @__PURE__ */ jsx(SwitchProvider, {
4255
4255
  __scopeSwitch,
@@ -4269,7 +4269,7 @@ var Switch$1 = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$20(fun
4269
4269
  });
4270
4270
  }, "Switch"));
4271
4271
  var THUMB_NAME$1 = "SwitchThumb";
4272
- var SwitchThumb = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$20(function SwitchThumb2(props, forwardedRef) {
4272
+ var SwitchThumb = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$18(function SwitchThumb2(props, forwardedRef) {
4273
4273
  const { __scopeSwitch, ...thumbProps } = props;
4274
4274
  const context = useSwitchContext(THUMB_NAME$1, __scopeSwitch);
4275
4275
  return /* @__PURE__ */ jsx(Primitive.span, {
@@ -4280,7 +4280,7 @@ var SwitchThumb = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$20(
4280
4280
  });
4281
4281
  }, "SwitchThumb"));
4282
4282
  var BUBBLE_INPUT_NAME$2 = "SwitchBubbleInput";
4283
- var SwitchBubbleInput = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$20(function SwitchBubbleInput2({ __scopeSwitch, onClick, ...props }, forwardedRef) {
4283
+ var SwitchBubbleInput = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$18(function SwitchBubbleInput2({ __scopeSwitch, onClick, ...props }, forwardedRef) {
4284
4284
  const { control, hasConsumerStoppedPropagationRef, userInteractionCount, checked, defaultChecked, required, disabled, name, value, form, bubbleInput, setBubbleInput } = useSwitchContext(BUBBLE_INPUT_NAME$2, __scopeSwitch);
4285
4285
  const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);
4286
4286
  const controlSize = useSize(control);
@@ -4340,16 +4340,16 @@ var SwitchBubbleInput = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __na
4340
4340
  function isFunction$3(value) {
4341
4341
  return typeof value === "function";
4342
4342
  }
4343
- __name$20(isFunction$3, "isFunction");
4343
+ __name$18(isFunction$3, "isFunction");
4344
4344
  function getState$2(checked) {
4345
4345
  return checked ? "checked" : "unchecked";
4346
4346
  }
4347
- __name$20(getState$2, "getState");
4347
+ __name$18(getState$2, "getState");
4348
4348
 
4349
4349
  //#endregion
4350
4350
  //#region ../../node_modules/.pnpm/@radix-ui+react-collection@1.1.15_@types+react-dom@19.2.3_@types+react@19.2.17__@types+_e3b314e214d3788bd2a3a0fbdfeba189/node_modules/@radix-ui/react-collection/dist/index.mjs
4351
- var __defProp$21 = Object.defineProperty;
4352
- var __name$19 = (target, value) => __defProp$21(target, "name", {
4351
+ var __defProp$19 = Object.defineProperty;
4352
+ var __name$17 = (target, value) => __defProp$19(target, "name", {
4353
4353
  value,
4354
4354
  configurable: true
4355
4355
  });
@@ -4361,7 +4361,7 @@ function createCollection(name) {
4361
4361
  collectionRef: { current: null },
4362
4362
  itemMap: /* @__PURE__ */ new Map()
4363
4363
  });
4364
- const CollectionProvider = /* @__PURE__ */ __name$19((props) => {
4364
+ const CollectionProvider = /* @__PURE__ */ __name$17((props) => {
4365
4365
  const { scope, children } = props;
4366
4366
  const ref = React$10.useRef(null);
4367
4367
  const itemMap = React$10.useRef(/* @__PURE__ */ new Map()).current;
@@ -4415,7 +4415,7 @@ function createCollection(name) {
4415
4415
  return Array.from(context.itemMap.values()).sort((a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current));
4416
4416
  }, [context.collectionRef, context.itemMap]);
4417
4417
  }
4418
- __name$19(useCollection, "useCollection");
4418
+ __name$17(useCollection, "useCollection");
4419
4419
  return [
4420
4420
  {
4421
4421
  Provider: CollectionProvider,
@@ -4426,11 +4426,11 @@ function createCollection(name) {
4426
4426
  createCollectionScope
4427
4427
  ];
4428
4428
  }
4429
- __name$19(createCollection, "createCollection");
4429
+ __name$17(createCollection, "createCollection");
4430
4430
  var __instanciated = /* @__PURE__ */ new WeakMap();
4431
4431
  var OrderedDict = class _OrderedDict extends Map {
4432
4432
  static {
4433
- __name$19(this, "OrderedDict");
4433
+ __name$17(this, "OrderedDict");
4434
4434
  }
4435
4435
  #keys;
4436
4436
  constructor(entries) {
@@ -4698,18 +4698,18 @@ function at(array, index) {
4698
4698
  const actualIndex = toSafeIndex(array, index);
4699
4699
  return actualIndex === -1 ? void 0 : array[actualIndex];
4700
4700
  }
4701
- __name$19(at, "at");
4701
+ __name$17(at, "at");
4702
4702
  function toSafeIndex(array, index) {
4703
4703
  const length = array.length;
4704
4704
  const relativeIndex = toSafeInteger(index);
4705
4705
  const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
4706
4706
  return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;
4707
4707
  }
4708
- __name$19(toSafeIndex, "toSafeIndex");
4708
+ __name$17(toSafeIndex, "toSafeIndex");
4709
4709
  function toSafeInteger(number) {
4710
4710
  return number !== number || number === 0 ? 0 : Math.trunc(number);
4711
4711
  }
4712
- __name$19(toSafeInteger, "toSafeInteger");
4712
+ __name$17(toSafeInteger, "toSafeInteger");
4713
4713
  // @__NO_SIDE_EFFECTS__
4714
4714
  function createCollection2(name) {
4715
4715
  const PROVIDER_NAME = name + "CollectionProvider";
@@ -4719,16 +4719,16 @@ function createCollection2(name) {
4719
4719
  collectionRef: { current: null },
4720
4720
  collectionRefObject: { current: null },
4721
4721
  itemMap: new OrderedDict(),
4722
- setItemMap: /* @__PURE__ */ __name$19(() => void 0, "setItemMap")
4722
+ setItemMap: /* @__PURE__ */ __name$17(() => void 0, "setItemMap")
4723
4723
  });
4724
- const CollectionProvider = /* @__PURE__ */ __name$19(({ state, ...props }) => {
4724
+ const CollectionProvider = /* @__PURE__ */ __name$17(({ state, ...props }) => {
4725
4725
  return state ? /* @__PURE__ */ jsx(CollectionProviderImpl, {
4726
4726
  ...props,
4727
4727
  state
4728
4728
  }) : /* @__PURE__ */ jsx(CollectionInit, { ...props });
4729
4729
  }, "CollectionProvider");
4730
4730
  CollectionProvider.displayName = PROVIDER_NAME;
4731
- const CollectionInit = /* @__PURE__ */ __name$19((props) => {
4731
+ const CollectionInit = /* @__PURE__ */ __name$17((props) => {
4732
4732
  const state = useInitCollection();
4733
4733
  return /* @__PURE__ */ jsx(CollectionProviderImpl, {
4734
4734
  ...props,
@@ -4736,7 +4736,7 @@ function createCollection2(name) {
4736
4736
  });
4737
4737
  }, "CollectionInit");
4738
4738
  CollectionInit.displayName = PROVIDER_NAME + "Init";
4739
- const CollectionProviderImpl = /* @__PURE__ */ __name$19((props) => {
4739
+ const CollectionProviderImpl = /* @__PURE__ */ __name$17((props) => {
4740
4740
  const { scope, children, state } = props;
4741
4741
  const ref = React$10.useRef(null);
4742
4742
  const [collectionElement, setCollectionElement] = React$10.useState(null);
@@ -4825,12 +4825,12 @@ function createCollection2(name) {
4825
4825
  function useInitCollection() {
4826
4826
  return React$10.useState(new OrderedDict());
4827
4827
  }
4828
- __name$19(useInitCollection, "useInitCollection");
4828
+ __name$17(useInitCollection, "useInitCollection");
4829
4829
  function useCollection(scope) {
4830
4830
  const { itemMap } = useCollectionContext(name + "CollectionConsumer", scope);
4831
4831
  return itemMap;
4832
4832
  }
4833
- __name$19(useCollection, "useCollection");
4833
+ __name$17(useCollection, "useCollection");
4834
4834
  return [{
4835
4835
  Provider: CollectionProvider,
4836
4836
  Slot: CollectionSlot,
@@ -4841,7 +4841,7 @@ function createCollection2(name) {
4841
4841
  useInitCollection
4842
4842
  }];
4843
4843
  }
4844
- __name$19(createCollection2, "createCollection");
4844
+ __name$17(createCollection2, "createCollection");
4845
4845
  function shallowEqual$1(a, b) {
4846
4846
  if (a === b) return true;
4847
4847
  if (typeof a !== "object" || typeof b !== "object") return false;
@@ -4855,15 +4855,15 @@ function shallowEqual$1(a, b) {
4855
4855
  }
4856
4856
  return true;
4857
4857
  }
4858
- __name$19(shallowEqual$1, "shallowEqual");
4858
+ __name$17(shallowEqual$1, "shallowEqual");
4859
4859
  function isElementPreceding(a, b) {
4860
4860
  return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);
4861
4861
  }
4862
- __name$19(isElementPreceding, "isElementPreceding");
4862
+ __name$17(isElementPreceding, "isElementPreceding");
4863
4863
  function sortByDocumentPosition(a, b) {
4864
4864
  return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;
4865
4865
  }
4866
- __name$19(sortByDocumentPosition, "sortByDocumentPosition");
4866
+ __name$17(sortByDocumentPosition, "sortByDocumentPosition");
4867
4867
  function getChildListObserver(callback) {
4868
4868
  return new MutationObserver((mutationsList) => {
4869
4869
  for (const mutation of mutationsList) if (mutation.type === "childList") {
@@ -4872,12 +4872,12 @@ function getChildListObserver(callback) {
4872
4872
  }
4873
4873
  });
4874
4874
  }
4875
- __name$19(getChildListObserver, "getChildListObserver");
4875
+ __name$17(getChildListObserver, "getChildListObserver");
4876
4876
 
4877
4877
  //#endregion
4878
4878
  //#region ../../node_modules/.pnpm/@radix-ui+react-direction@1.1.4_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-direction/dist/index.mjs
4879
- var __defProp$20 = Object.defineProperty;
4880
- var __name$18 = (target, value) => __defProp$20(target, "name", {
4879
+ var __defProp$18 = Object.defineProperty;
4880
+ var __name$16 = (target, value) => __defProp$18(target, "name", {
4881
4881
  value,
4882
4882
  configurable: true
4883
4883
  });
@@ -4886,12 +4886,12 @@ function useDirection(localDir) {
4886
4886
  const globalDir = React$10.useContext(DirectionContext);
4887
4887
  return localDir || globalDir || "ltr";
4888
4888
  }
4889
- __name$18(useDirection, "useDirection");
4889
+ __name$16(useDirection, "useDirection");
4890
4890
 
4891
4891
  //#endregion
4892
4892
  //#region ../../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.4_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
4893
- var __defProp$19 = Object.defineProperty;
4894
- var __name$17 = (target, value) => __defProp$19(target, "name", {
4893
+ var __defProp$17 = Object.defineProperty;
4894
+ var __name$15 = (target, value) => __defProp$17(target, "name", {
4895
4895
  value,
4896
4896
  configurable: true
4897
4897
  });
@@ -4902,12 +4902,12 @@ function useCallbackRef(callback) {
4902
4902
  });
4903
4903
  return React$10.useMemo(() => ((...args) => callbackRef.current?.(...args)), []);
4904
4904
  }
4905
- __name$17(useCallbackRef, "useCallbackRef");
4905
+ __name$15(useCallbackRef, "useCallbackRef");
4906
4906
 
4907
4907
  //#endregion
4908
4908
  //#region ../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.19_@types+react-dom@19.2.3_@types+react@19.2.17___1726272c044b69ad8799cdb51c1704df/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
4909
- var __defProp$18 = Object.defineProperty;
4910
- var __name$16 = (target, value) => __defProp$18(target, "name", {
4909
+ var __defProp$16 = Object.defineProperty;
4910
+ var __name$14 = (target, value) => __defProp$16(target, "name", {
4911
4911
  value,
4912
4912
  configurable: true
4913
4913
  });
@@ -4921,7 +4921,7 @@ var DismissableLayerContext = React$10.createContext({
4921
4921
  branches: /* @__PURE__ */ new Set(),
4922
4922
  dismissableSurfaces: /* @__PURE__ */ new Set()
4923
4923
  });
4924
- var DismissableLayer = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$16(function DismissableLayer2(props, forwardedRef) {
4924
+ var DismissableLayer = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$14(function DismissableLayer2(props, forwardedRef) {
4925
4925
  const { disableOutsidePointerEvents = false, deferPointerDownOutside = false, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, ...layerProps } = props;
4926
4926
  const context = React$10.useContext(DismissableLayerContext);
4927
4927
  const [node, setNode] = React$10.useState(null);
@@ -5008,7 +5008,7 @@ var DismissableLayer = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __nam
5008
5008
  };
5009
5009
  }, [node, context]);
5010
5010
  React$10.useEffect(() => {
5011
- const handleUpdate = /* @__PURE__ */ __name$16(() => force({}), "handleUpdate");
5011
+ const handleUpdate = /* @__PURE__ */ __name$14(() => force({}), "handleUpdate");
5012
5012
  document.addEventListener(CONTEXT_UPDATE, handleUpdate);
5013
5013
  return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
5014
5014
  }, []);
@@ -5036,8 +5036,8 @@ function useDismissableLayerSurface() {
5036
5036
  }, [node, context.dismissableSurfaces]);
5037
5037
  return setNode;
5038
5038
  }
5039
- __name$16(useDismissableLayerSurface, "useDismissableLayerSurface");
5040
- var IS_TRUE = /* @__PURE__ */ __name$16(() => true, "IS_TRUE");
5039
+ __name$14(useDismissableLayerSurface, "useDismissableLayerSurface");
5040
+ var IS_TRUE = /* @__PURE__ */ __name$14(() => true, "IS_TRUE");
5041
5041
  function usePointerDownOutside(onPointerDownOutside, args) {
5042
5042
  const { ownerDocument = globalThis?.document, deferPointerDownOutside = false, isDeferredPointerDownOutsideRef, dismissableSurfaces, shouldHandlePointerDownOutside = IS_TRUE } = args;
5043
5043
  const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);
@@ -5051,11 +5051,11 @@ function usePointerDownOutside(onPointerDownOutside, args) {
5051
5051
  isDeferredPointerDownOutsideRef.current = false;
5052
5052
  interceptedOutsideInteractionEventsRef.current.clear();
5053
5053
  }
5054
- __name$16(resetOutsideInteraction, "resetOutsideInteraction");
5054
+ __name$14(resetOutsideInteraction, "resetOutsideInteraction");
5055
5055
  function isOutsideInteractionIntercepted() {
5056
5056
  return Array.from(interceptedOutsideInteractionEventsRef.current.values()).some(Boolean);
5057
5057
  }
5058
- __name$16(isOutsideInteractionIntercepted, "isOutsideInteractionIntercepted");
5058
+ __name$14(isOutsideInteractionIntercepted, "isOutsideInteractionIntercepted");
5059
5059
  function handleInteractionCapture(event) {
5060
5060
  if (!isPointerDownOutsideRef.current) return;
5061
5061
  const target = event.target;
@@ -5064,12 +5064,12 @@ function usePointerDownOutside(onPointerDownOutside, args) {
5064
5064
  if (isPointerDownOutsideRef.current) handleClickRef.current();
5065
5065
  }, 0);
5066
5066
  }
5067
- __name$16(handleInteractionCapture, "handleInteractionCapture");
5067
+ __name$14(handleInteractionCapture, "handleInteractionCapture");
5068
5068
  function handleInteractionBubble(event) {
5069
5069
  if (isPointerDownOutsideRef.current) interceptedOutsideInteractionEventsRef.current.set(event.type, false);
5070
5070
  }
5071
- __name$16(handleInteractionBubble, "handleInteractionBubble");
5072
- const handlePointerDown = /* @__PURE__ */ __name$16((event) => {
5071
+ __name$14(handleInteractionBubble, "handleInteractionBubble");
5072
+ const handlePointerDown = /* @__PURE__ */ __name$14((event) => {
5073
5073
  if (event.target && !isPointerInsideReactTreeRef.current) {
5074
5074
  let handleAndDispatchPointerDownOutsideEvent2 = function() {
5075
5075
  ownerDocument.removeEventListener("click", handleClickRef.current);
@@ -5077,7 +5077,7 @@ function usePointerDownOutside(onPointerDownOutside, args) {
5077
5077
  resetOutsideInteraction();
5078
5078
  if (!wasOutsideInteractionIntercepted) handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, { discrete: true });
5079
5079
  };
5080
- __name$16(handleAndDispatchPointerDownOutsideEvent2, "handleAndDispatchPointerDownOutsideEvent");
5080
+ __name$14(handleAndDispatchPointerDownOutsideEvent2, "handleAndDispatchPointerDownOutsideEvent");
5081
5081
  if (!shouldHandlePointerDownOutside(event.target)) {
5082
5082
  ownerDocument.removeEventListener("click", handleClickRef.current);
5083
5083
  resetOutsideInteraction();
@@ -5132,30 +5132,30 @@ function usePointerDownOutside(onPointerDownOutside, args) {
5132
5132
  dismissableSurfaces,
5133
5133
  shouldHandlePointerDownOutside
5134
5134
  ]);
5135
- return { onPointerDownCapture: /* @__PURE__ */ __name$16(() => isPointerInsideReactTreeRef.current = true, "onPointerDownCapture") };
5135
+ return { onPointerDownCapture: /* @__PURE__ */ __name$14(() => isPointerInsideReactTreeRef.current = true, "onPointerDownCapture") };
5136
5136
  }
5137
- __name$16(usePointerDownOutside, "usePointerDownOutside");
5137
+ __name$14(usePointerDownOutside, "usePointerDownOutside");
5138
5138
  function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
5139
5139
  const handleFocusOutside = useCallbackRef(onFocusOutside);
5140
5140
  const isFocusInsideReactTreeRef = React$10.useRef(false);
5141
5141
  React$10.useEffect(() => {
5142
- const handleFocus = /* @__PURE__ */ __name$16((event) => {
5142
+ const handleFocus = /* @__PURE__ */ __name$14((event) => {
5143
5143
  if (event.target && !isFocusInsideReactTreeRef.current) handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, { originalEvent: event }, { discrete: false });
5144
5144
  }, "handleFocus");
5145
5145
  ownerDocument.addEventListener("focusin", handleFocus);
5146
5146
  return () => ownerDocument.removeEventListener("focusin", handleFocus);
5147
5147
  }, [ownerDocument, handleFocusOutside]);
5148
5148
  return {
5149
- onFocusCapture: /* @__PURE__ */ __name$16(() => isFocusInsideReactTreeRef.current = true, "onFocusCapture"),
5150
- onBlurCapture: /* @__PURE__ */ __name$16(() => isFocusInsideReactTreeRef.current = false, "onBlurCapture")
5149
+ onFocusCapture: /* @__PURE__ */ __name$14(() => isFocusInsideReactTreeRef.current = true, "onFocusCapture"),
5150
+ onBlurCapture: /* @__PURE__ */ __name$14(() => isFocusInsideReactTreeRef.current = false, "onBlurCapture")
5151
5151
  };
5152
5152
  }
5153
- __name$16(useFocusOutside, "useFocusOutside");
5153
+ __name$14(useFocusOutside, "useFocusOutside");
5154
5154
  function dispatchUpdate() {
5155
5155
  const event = new CustomEvent(CONTEXT_UPDATE);
5156
5156
  document.dispatchEvent(event);
5157
5157
  }
5158
- __name$16(dispatchUpdate, "dispatchUpdate");
5158
+ __name$14(dispatchUpdate, "dispatchUpdate");
5159
5159
  function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
5160
5160
  const target = detail.originalEvent.target;
5161
5161
  const event = new CustomEvent(name, {
@@ -5167,12 +5167,12 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
5167
5167
  if (discrete) dispatchDiscreteCustomEvent(target, event);
5168
5168
  else target.dispatchEvent(event);
5169
5169
  }
5170
- __name$16(handleAndDispatchCustomEvent, "handleAndDispatchCustomEvent");
5170
+ __name$14(handleAndDispatchCustomEvent, "handleAndDispatchCustomEvent");
5171
5171
 
5172
5172
  //#endregion
5173
5173
  //#region ../../node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.6_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-focus-guards/dist/index.mjs
5174
- var __defProp$17 = Object.defineProperty;
5175
- var __name$15 = (target, value) => __defProp$17(target, "name", {
5174
+ var __defProp$15 = Object.defineProperty;
5175
+ var __name$13 = (target, value) => __defProp$15(target, "name", {
5176
5176
  value,
5177
5177
  configurable: true
5178
5178
  });
@@ -5182,7 +5182,7 @@ function FocusGuards(props) {
5182
5182
  useFocusGuards();
5183
5183
  return props.children;
5184
5184
  }
5185
- __name$15(FocusGuards, "FocusGuards");
5185
+ __name$13(FocusGuards, "FocusGuards");
5186
5186
  function useFocusGuards() {
5187
5187
  React$10.useEffect(() => {
5188
5188
  if (!guards) guards = {
@@ -5203,7 +5203,7 @@ function useFocusGuards() {
5203
5203
  };
5204
5204
  }, []);
5205
5205
  }
5206
- __name$15(useFocusGuards, "useFocusGuards");
5206
+ __name$13(useFocusGuards, "useFocusGuards");
5207
5207
  function createFocusGuard() {
5208
5208
  const element = document.createElement("span");
5209
5209
  element.setAttribute("data-radix-focus-guard", "");
@@ -5214,12 +5214,12 @@ function createFocusGuard() {
5214
5214
  element.style.pointerEvents = "none";
5215
5215
  return element;
5216
5216
  }
5217
- __name$15(createFocusGuard, "createFocusGuard");
5217
+ __name$13(createFocusGuard, "createFocusGuard");
5218
5218
 
5219
5219
  //#endregion
5220
5220
  //#region ../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.16_@types+react-dom@19.2.3_@types+react@19.2.17__@types_688a7092b7a27f27c45d3c59450c400f/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
5221
- var __defProp$16 = Object.defineProperty;
5222
- var __name$14 = (target, value) => __defProp$16(target, "name", {
5221
+ var __defProp$14 = Object.defineProperty;
5222
+ var __name$12 = (target, value) => __defProp$14(target, "name", {
5223
5223
  value,
5224
5224
  configurable: true
5225
5225
  });
@@ -5229,7 +5229,7 @@ var EVENT_OPTIONS$1 = {
5229
5229
  bubbles: false,
5230
5230
  cancelable: true
5231
5231
  };
5232
- var FocusScope = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$14(function FocusScope2(props, forwardedRef) {
5232
+ var FocusScope = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$12(function FocusScope2(props, forwardedRef) {
5233
5233
  const { loop = false, trapped = false, onMountAutoFocus: onMountAutoFocusProp, onUnmountAutoFocus: onUnmountAutoFocusProp, ...scopeProps } = props;
5234
5234
  const [container, setContainer] = React$10.useState(null);
5235
5235
  const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);
@@ -5261,9 +5261,9 @@ var FocusScope = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$14(f
5261
5261
  if (document.activeElement !== document.body) return;
5262
5262
  for (const mutation of mutations) if (mutation.removedNodes.length > 0) focus(container);
5263
5263
  };
5264
- __name$14(handleFocusIn2, "handleFocusIn");
5265
- __name$14(handleFocusOut2, "handleFocusOut");
5266
- __name$14(handleMutations2, "handleMutations");
5264
+ __name$12(handleFocusIn2, "handleFocusIn");
5265
+ __name$12(handleFocusOut2, "handleFocusOut");
5266
+ __name$12(handleMutations2, "handleMutations");
5267
5267
  document.addEventListener("focusin", handleFocusIn2);
5268
5268
  document.addEventListener("focusout", handleFocusOut2);
5269
5269
  const mutationObserver = new MutationObserver(handleMutations2);
@@ -5291,7 +5291,7 @@ var FocusScope = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$14(f
5291
5291
  container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
5292
5292
  container.dispatchEvent(mountEvent);
5293
5293
  if (!mountEvent.defaultPrevented) {
5294
- focusFirst$2(removeLinks(getTabbableCandidates(container)), { select: true });
5294
+ focusFirst$1(removeLinks(getTabbableCandidates(container)), { select: true });
5295
5295
  if (document.activeElement === previouslyFocusedElement) focus(container);
5296
5296
  }
5297
5297
  }
@@ -5343,22 +5343,22 @@ var FocusScope = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$14(f
5343
5343
  onKeyDown: handleKeyDown
5344
5344
  });
5345
5345
  }, "FocusScope"));
5346
- function focusFirst$2(candidates, { select = false } = {}) {
5346
+ function focusFirst$1(candidates, { select = false } = {}) {
5347
5347
  const previouslyFocusedElement = document.activeElement;
5348
5348
  for (const candidate of candidates) {
5349
5349
  focus(candidate, { select });
5350
5350
  if (document.activeElement !== previouslyFocusedElement) return;
5351
5351
  }
5352
5352
  }
5353
- __name$14(focusFirst$2, "focusFirst");
5353
+ __name$12(focusFirst$1, "focusFirst");
5354
5354
  function getTabbableEdges(container) {
5355
5355
  const candidates = getTabbableCandidates(container);
5356
5356
  return [findVisible(candidates, container), findVisible(candidates.reverse(), container)];
5357
5357
  }
5358
- __name$14(getTabbableEdges, "getTabbableEdges");
5358
+ __name$12(getTabbableEdges, "getTabbableEdges");
5359
5359
  function getTabbableCandidates(container) {
5360
5360
  const nodes = [];
5361
- const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, { acceptNode: /* @__PURE__ */ __name$14((node) => {
5361
+ const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, { acceptNode: /* @__PURE__ */ __name$12((node) => {
5362
5362
  const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden";
5363
5363
  if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;
5364
5364
  return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
@@ -5366,12 +5366,12 @@ function getTabbableCandidates(container) {
5366
5366
  while (walker.nextNode()) nodes.push(walker.currentNode);
5367
5367
  return nodes;
5368
5368
  }
5369
- __name$14(getTabbableCandidates, "getTabbableCandidates");
5369
+ __name$12(getTabbableCandidates, "getTabbableCandidates");
5370
5370
  function findVisible(elements, container) {
5371
5371
  const canUseCheckVisibility = typeof container.checkVisibility === "function" && container.checkVisibility({ checkVisibilityCSS: true });
5372
5372
  for (const element of elements) if (!(canUseCheckVisibility ? !element.checkVisibility({ checkVisibilityCSS: true }) : isHidden(element, { upTo: container }))) return element;
5373
5373
  }
5374
- __name$14(findVisible, "findVisible");
5374
+ __name$12(findVisible, "findVisible");
5375
5375
  function isHidden(node, { upTo }) {
5376
5376
  if (getComputedStyle(node).visibility === "hidden") return true;
5377
5377
  while (node) {
@@ -5381,11 +5381,11 @@ function isHidden(node, { upTo }) {
5381
5381
  }
5382
5382
  return false;
5383
5383
  }
5384
- __name$14(isHidden, "isHidden");
5384
+ __name$12(isHidden, "isHidden");
5385
5385
  function isSelectableInput(element) {
5386
5386
  return element instanceof HTMLInputElement && "select" in element;
5387
5387
  }
5388
- __name$14(isSelectableInput, "isSelectableInput");
5388
+ __name$12(isSelectableInput, "isSelectableInput");
5389
5389
  function focus(element, { select = false } = {}) {
5390
5390
  if (element && element.focus) {
5391
5391
  const previouslyFocusedElement = document.activeElement;
@@ -5393,7 +5393,7 @@ function focus(element, { select = false } = {}) {
5393
5393
  if (element !== previouslyFocusedElement && isSelectableInput(element) && select) element.select();
5394
5394
  }
5395
5395
  }
5396
- __name$14(focus, "focus");
5396
+ __name$12(focus, "focus");
5397
5397
  var focusScopesStack = createFocusScopesStack();
5398
5398
  function createFocusScopesStack() {
5399
5399
  let stack = [];
@@ -5410,23 +5410,23 @@ function createFocusScopesStack() {
5410
5410
  }
5411
5411
  };
5412
5412
  }
5413
- __name$14(createFocusScopesStack, "createFocusScopesStack");
5413
+ __name$12(createFocusScopesStack, "createFocusScopesStack");
5414
5414
  function arrayRemove(array, item) {
5415
5415
  const updatedArray = [...array];
5416
5416
  const index = updatedArray.indexOf(item);
5417
5417
  if (index !== -1) updatedArray.splice(index, 1);
5418
5418
  return updatedArray;
5419
5419
  }
5420
- __name$14(arrayRemove, "arrayRemove");
5420
+ __name$12(arrayRemove, "arrayRemove");
5421
5421
  function removeLinks(items) {
5422
5422
  return items.filter((item) => item.tagName !== "A");
5423
5423
  }
5424
- __name$14(removeLinks, "removeLinks");
5424
+ __name$12(removeLinks, "removeLinks");
5425
5425
 
5426
5426
  //#endregion
5427
5427
  //#region ../../node_modules/.pnpm/@radix-ui+react-id@1.1.4_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-id/dist/index.mjs
5428
- var __defProp$15 = Object.defineProperty;
5429
- var __name$13 = (target, value) => __defProp$15(target, "name", {
5428
+ var __defProp$13 = Object.defineProperty;
5429
+ var __name$11 = (target, value) => __defProp$13(target, "name", {
5430
5430
  value,
5431
5431
  configurable: true
5432
5432
  });
@@ -5439,7 +5439,7 @@ function useId$1(deterministicId) {
5439
5439
  }, [deterministicId]);
5440
5440
  return deterministicId || (id ? `radix-${id}` : "");
5441
5441
  }
5442
- __name$13(useId$1, "useId");
5442
+ __name$11(useId$1, "useId");
5443
5443
 
5444
5444
  //#endregion
5445
5445
  //#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
@@ -7077,15 +7077,15 @@ const arrow = (options, deps) => {
7077
7077
 
7078
7078
  //#endregion
7079
7079
  //#region ../../node_modules/.pnpm/@radix-ui+react-popper@1.3.7_@types+react-dom@19.2.3_@types+react@19.2.17__@types+react_4e5bda27561956783247cbf95bf4739f/node_modules/@radix-ui/react-popper/dist/index.mjs
7080
- var __defProp$14 = Object.defineProperty;
7081
- var __name$12 = (target, value) => __defProp$14(target, "name", {
7080
+ var __defProp$12 = Object.defineProperty;
7081
+ var __name$10 = (target, value) => __defProp$12(target, "name", {
7082
7082
  value,
7083
7083
  configurable: true
7084
7084
  });
7085
7085
  var POPPER_NAME = "Popper";
7086
7086
  var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
7087
7087
  var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
7088
- var Popper = /* @__PURE__ */ __name$12((props) => {
7088
+ var Popper = /* @__PURE__ */ __name$10((props) => {
7089
7089
  const { __scopePopper, children } = props;
7090
7090
  const [anchor, setAnchor] = React$10.useState(null);
7091
7091
  const [placementState, setPlacementState] = React$10.useState(void 0);
@@ -7099,7 +7099,7 @@ var Popper = /* @__PURE__ */ __name$12((props) => {
7099
7099
  });
7100
7100
  }, "Popper");
7101
7101
  var ANCHOR_NAME = "PopperAnchor";
7102
- var PopperAnchor = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$12(function PopperAnchor2(props, forwardedRef) {
7102
+ var PopperAnchor = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$10(function PopperAnchor2(props, forwardedRef) {
7103
7103
  const { __scopePopper, virtualRef, ...anchorProps } = props;
7104
7104
  const context = usePopperContext(ANCHOR_NAME, __scopePopper);
7105
7105
  const ref = React$10.useRef(null);
@@ -7125,11 +7125,11 @@ var PopperAnchor = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$12
7125
7125
  ref: composedRefs
7126
7126
  });
7127
7127
  }, "PopperAnchor"));
7128
- var CONTENT_NAME$4 = "PopperContent";
7129
- var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$4);
7130
- var PopperContent = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$12(function PopperContent2(props, forwardedRef) {
7128
+ var CONTENT_NAME$2 = "PopperContent";
7129
+ var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$2);
7130
+ var PopperContent = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$10(function PopperContent2(props, forwardedRef) {
7131
7131
  const { __scopePopper, side = "bottom", sideOffset = 0, align = "center", alignOffset = 0, arrowPadding = 0, avoidCollisions = true, collisionBoundary = [], collisionPadding: collisionPaddingProp = 0, sticky = "partial", hideWhenDetached = false, updatePositionStrategy = "optimized", onPlaced, ...contentProps } = props;
7132
- const context = usePopperContext(CONTENT_NAME$4, __scopePopper);
7132
+ const context = usePopperContext(CONTENT_NAME$2, __scopePopper);
7133
7133
  const [content, setContent] = React$10.useState(null);
7134
7134
  const composedRefs = useComposedRefs(forwardedRef, setContent);
7135
7135
  const [arrow$4, setArrow] = React$10.useState(null);
@@ -7154,7 +7154,7 @@ var PopperContent = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$1
7154
7154
  const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({
7155
7155
  strategy: "fixed",
7156
7156
  placement: desiredPlacement,
7157
- whileElementsMounted: /* @__PURE__ */ __name$12((...args) => {
7157
+ whileElementsMounted: /* @__PURE__ */ __name$10((...args) => {
7158
7158
  return autoUpdate(...args, { animationFrame: updatePositionStrategy === "always" });
7159
7159
  }, "whileElementsMounted"),
7160
7160
  elements: { reference: context.anchor },
@@ -7172,7 +7172,7 @@ var PopperContent = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$1
7172
7172
  avoidCollisions && flip({ ...detectOverflowOptions }),
7173
7173
  size({
7174
7174
  ...detectOverflowOptions,
7175
- apply: /* @__PURE__ */ __name$12(({ elements, rects, availableWidth, availableHeight }) => {
7175
+ apply: /* @__PURE__ */ __name$10(({ elements, rects, availableWidth, availableHeight }) => {
7176
7176
  const { width: anchorWidth, height: anchorHeight } = rects.reference;
7177
7177
  const contentStyle = elements.floating.style;
7178
7178
  contentStyle.setProperty("--radix-popper-available-width", `${availableWidth}px`);
@@ -7254,8 +7254,8 @@ var PopperContent = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$1
7254
7254
  function isNotNull(value) {
7255
7255
  return value !== null;
7256
7256
  }
7257
- __name$12(isNotNull, "isNotNull");
7258
- var transformOrigin = /* @__PURE__ */ __name$12((options) => ({
7257
+ __name$10(isNotNull, "isNotNull");
7258
+ var transformOrigin = /* @__PURE__ */ __name$10((options) => ({
7259
7259
  name: "transformOrigin",
7260
7260
  options,
7261
7261
  fn(data) {
@@ -7296,19 +7296,19 @@ function getSideAndAlignFromPlacement(placement) {
7296
7296
  const [side, align = "center"] = placement.split("-");
7297
7297
  return [side, align];
7298
7298
  }
7299
- __name$12(getSideAndAlignFromPlacement, "getSideAndAlignFromPlacement");
7300
- var Root2$1 = Popper;
7299
+ __name$10(getSideAndAlignFromPlacement, "getSideAndAlignFromPlacement");
7300
+ var Root2 = Popper;
7301
7301
  var Anchor = PopperAnchor;
7302
7302
  var Content = PopperContent;
7303
7303
 
7304
7304
  //#endregion
7305
7305
  //#region ../../node_modules/.pnpm/@radix-ui+react-portal@1.1.17_@types+react-dom@19.2.3_@types+react@19.2.17__@types+reac_17de5f572cef13944a3e44b7d1e8f104/node_modules/@radix-ui/react-portal/dist/index.mjs
7306
- var __defProp$13 = Object.defineProperty;
7307
- var __name$11 = (target, value) => __defProp$13(target, "name", {
7306
+ var __defProp$11 = Object.defineProperty;
7307
+ var __name$9 = (target, value) => __defProp$11(target, "name", {
7308
7308
  value,
7309
7309
  configurable: true
7310
7310
  });
7311
- var Portal$1 = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$11(function Portal2(props, forwardedRef) {
7311
+ var Portal = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$9(function Portal2(props, forwardedRef) {
7312
7312
  const { container: containerProp, ...portalProps } = props;
7313
7313
  const [mounted, setMounted] = React$10.useState(false);
7314
7314
  useLayoutEffect2(() => setMounted(true), []);
@@ -7321,8 +7321,8 @@ var Portal$1 = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$11(fun
7321
7321
 
7322
7322
  //#endregion
7323
7323
  //#region ../../node_modules/.pnpm/@radix-ui+react-use-is-hydrated@0.1.3_@types+react@19.2.17_react@19.2.8/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs
7324
- var __defProp$12 = Object.defineProperty;
7325
- var __name$10 = (target, value) => __defProp$12(target, "name", {
7324
+ var __defProp$10 = Object.defineProperty;
7325
+ var __name$8 = (target, value) => __defProp$10(target, "name", {
7326
7326
  value,
7327
7327
  configurable: true
7328
7328
  });
@@ -7337,22 +7337,22 @@ function useIsHydrated() {
7337
7337
  }, []);
7338
7338
  return isHydrated;
7339
7339
  }
7340
- __name$10(useIsHydrated, "useIsHydrated");
7340
+ __name$8(useIsHydrated, "useIsHydrated");
7341
7341
  var useReactSyncExternalStore = React$10[" useSyncExternalStore ".trim().toString()];
7342
7342
  function subscribe() {
7343
7343
  return () => {};
7344
7344
  }
7345
- __name$10(subscribe, "subscribe");
7345
+ __name$8(subscribe, "subscribe");
7346
7346
  function useIsHydratedModern() {
7347
7347
  return useReactSyncExternalStore(subscribe, () => true, () => false);
7348
7348
  }
7349
- __name$10(useIsHydratedModern, "useIsHydratedModern");
7349
+ __name$8(useIsHydratedModern, "useIsHydratedModern");
7350
7350
  var useIsHydrated2 = typeof useReactSyncExternalStore === "function" ? useIsHydratedModern : useIsHydrated;
7351
7351
 
7352
7352
  //#endregion
7353
7353
  //#region ../../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.19_@types+react-dom@19.2.3_@types+react@19.2.17__@type_1ba36d19799ef89b87b035255f196a64/node_modules/@radix-ui/react-roving-focus/dist/index.mjs
7354
- var __defProp$11 = Object.defineProperty;
7355
- var __name$9 = (target, value) => __defProp$11(target, "name", {
7354
+ var __defProp$9 = Object.defineProperty;
7355
+ var __name$7 = (target, value) => __defProp$9(target, "name", {
7356
7356
  value,
7357
7357
  configurable: true
7358
7358
  });
@@ -7362,13 +7362,13 @@ var EVENT_OPTIONS = {
7362
7362
  cancelable: true
7363
7363
  };
7364
7364
  var GROUP_NAME = "RovingFocusGroup";
7365
- var [Collection$2, useCollection$2, createCollectionScope$2] = createCollection(GROUP_NAME);
7366
- var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(GROUP_NAME, [createCollectionScope$2]);
7365
+ var [Collection$1, useCollection$1, createCollectionScope$1] = createCollection(GROUP_NAME);
7366
+ var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(GROUP_NAME, [createCollectionScope$1]);
7367
7367
  var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);
7368
- var RovingFocusGroup = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$9(function RovingFocusGroup2(props, forwardedRef) {
7369
- return /* @__PURE__ */ jsx(Collection$2.Provider, {
7368
+ var RovingFocusGroup = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$7(function RovingFocusGroup2(props, forwardedRef) {
7369
+ return /* @__PURE__ */ jsx(Collection$1.Provider, {
7370
7370
  scope: props.__scopeRovingFocusGroup,
7371
- children: /* @__PURE__ */ jsx(Collection$2.Slot, {
7371
+ children: /* @__PURE__ */ jsx(Collection$1.Slot, {
7372
7372
  scope: props.__scopeRovingFocusGroup,
7373
7373
  children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, {
7374
7374
  ...props,
@@ -7377,7 +7377,7 @@ var RovingFocusGroup = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __nam
7377
7377
  })
7378
7378
  });
7379
7379
  }, "RovingFocusGroup"));
7380
- var RovingFocusGroupImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$9(function RovingFocusGroupImpl2(props, forwardedRef) {
7380
+ var RovingFocusGroupImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$7(function RovingFocusGroupImpl2(props, forwardedRef) {
7381
7381
  const { __scopeRovingFocusGroup, orientation, loop = false, dir, currentTabStopId: currentTabStopIdProp, defaultCurrentTabStopId, onCurrentTabStopIdChange, onEntryFocus, preventScrollOnEntryFocus = false, ...groupProps } = props;
7382
7382
  const ref = React$10.useRef(null);
7383
7383
  const composedRefs = useComposedRefs(forwardedRef, ref);
@@ -7390,7 +7390,7 @@ var RovingFocusGroupImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ _
7390
7390
  });
7391
7391
  const [isTabbingBackOut, setIsTabbingBackOut] = React$10.useState(false);
7392
7392
  const handleEntryFocus = useCallbackRef(onEntryFocus);
7393
- const getItems = useCollection$2(__scopeRovingFocusGroup);
7393
+ const getItems = useCollection$1(__scopeRovingFocusGroup);
7394
7394
  const isClickFocusRef = React$10.useRef(false);
7395
7395
  const [focusableItemsCount, setFocusableItemsCount] = React$10.useState(0);
7396
7396
  React$10.useEffect(() => {
@@ -7429,7 +7429,7 @@ var RovingFocusGroupImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ _
7429
7429
  event.currentTarget.dispatchEvent(entryFocusEvent);
7430
7430
  if (!entryFocusEvent.defaultPrevented) {
7431
7431
  const items = getItems().filter((item) => item.focusable);
7432
- focusFirst$1([
7432
+ focusFirst([
7433
7433
  items.find((item) => item.active),
7434
7434
  items.find((item) => item.id === currentTabStopId),
7435
7435
  ...items
@@ -7442,14 +7442,14 @@ var RovingFocusGroupImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ _
7442
7442
  })
7443
7443
  });
7444
7444
  }, "RovingFocusGroupImpl"));
7445
- var ITEM_NAME$2 = "RovingFocusGroupItem";
7446
- var RovingFocusGroupItem = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$9(function RovingFocusGroupItem2(props, forwardedRef) {
7445
+ var ITEM_NAME$1 = "RovingFocusGroupItem";
7446
+ var RovingFocusGroupItem = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$7(function RovingFocusGroupItem2(props, forwardedRef) {
7447
7447
  const { __scopeRovingFocusGroup, focusable = true, active = false, tabStopId, children, ...itemProps } = props;
7448
7448
  const autoId = useId$1();
7449
7449
  const id = tabStopId || autoId;
7450
- const context = useRovingFocusContext(ITEM_NAME$2, __scopeRovingFocusGroup);
7450
+ const context = useRovingFocusContext(ITEM_NAME$1, __scopeRovingFocusGroup);
7451
7451
  const isCurrentTabStop = context.currentTabStopId === id;
7452
- const getItems = useCollection$2(__scopeRovingFocusGroup);
7452
+ const getItems = useCollection$1(__scopeRovingFocusGroup);
7453
7453
  const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;
7454
7454
  const isHydrated = useIsHydrated2();
7455
7455
  useLayoutEffect2(() => {
@@ -7472,7 +7472,7 @@ var RovingFocusGroupItem = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ _
7472
7472
  onFocusableItemAdd,
7473
7473
  onFocusableItemRemove
7474
7474
  ]);
7475
- return /* @__PURE__ */ jsx(Collection$2.ItemSlot, {
7475
+ return /* @__PURE__ */ jsx(Collection$1.ItemSlot, {
7476
7476
  scope: __scopeRovingFocusGroup,
7477
7477
  id,
7478
7478
  focusable,
@@ -7502,9 +7502,9 @@ var RovingFocusGroupItem = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ _
7502
7502
  else if (focusIntent === "prev" || focusIntent === "next") {
7503
7503
  if (focusIntent === "prev") candidateNodes.reverse();
7504
7504
  const currentIndex = candidateNodes.indexOf(event.currentTarget);
7505
- candidateNodes = context.loop ? wrapArray$2(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
7505
+ candidateNodes = context.loop ? wrapArray$1(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
7506
7506
  }
7507
- setTimeout(() => focusFirst$1(candidateNodes));
7507
+ setTimeout(() => focusFirst(candidateNodes));
7508
7508
  }
7509
7509
  }),
7510
7510
  children: typeof children === "function" ? children({
@@ -7528,15 +7528,15 @@ function getDirectionAwareKey(key, dir) {
7528
7528
  if (dir !== "rtl") return key;
7529
7529
  return key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
7530
7530
  }
7531
- __name$9(getDirectionAwareKey, "getDirectionAwareKey");
7531
+ __name$7(getDirectionAwareKey, "getDirectionAwareKey");
7532
7532
  function getFocusIntent(event, orientation, dir) {
7533
7533
  const key = getDirectionAwareKey(event.key, dir);
7534
7534
  if (orientation === "vertical" && ["ArrowLeft", "ArrowRight"].includes(key)) return void 0;
7535
7535
  if (orientation === "horizontal" && ["ArrowUp", "ArrowDown"].includes(key)) return void 0;
7536
7536
  return MAP_KEY_TO_FOCUS_INTENT[key];
7537
7537
  }
7538
- __name$9(getFocusIntent, "getFocusIntent");
7539
- function focusFirst$1(candidates, preventScroll = false) {
7538
+ __name$7(getFocusIntent, "getFocusIntent");
7539
+ function focusFirst(candidates, preventScroll = false) {
7540
7540
  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
7541
7541
  for (const candidate of candidates) {
7542
7542
  if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
@@ -7544,11 +7544,11 @@ function focusFirst$1(candidates, preventScroll = false) {
7544
7544
  if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
7545
7545
  }
7546
7546
  }
7547
- __name$9(focusFirst$1, "focusFirst");
7548
- function wrapArray$2(array, startIndex) {
7547
+ __name$7(focusFirst, "focusFirst");
7548
+ function wrapArray$1(array, startIndex) {
7549
7549
  return array.map((_, index) => array[(startIndex + index) % array.length]);
7550
7550
  }
7551
- __name$9(wrapArray$2, "wrapArray");
7551
+ __name$7(wrapArray$1, "wrapArray");
7552
7552
  var Root$2 = RovingFocusGroup;
7553
7553
  var Item = RovingFocusGroupItem;
7554
7554
 
@@ -9601,649 +9601,6 @@ var require_es5 = /* @__PURE__ */ __commonJSMin$1(((exports) => {
9601
9601
  exports.RemoveScroll = Combination_1.default;
9602
9602
  }));
9603
9603
 
9604
- //#endregion
9605
- //#region ../../node_modules/.pnpm/@radix-ui+react-menu@2.1.24_@types+react-dom@19.2.3_@types+react@19.2.17__@types+react@_b4abbb2a563651316651d75e08bb1ff0/node_modules/@radix-ui/react-menu/dist/index.mjs
9606
- var import_es5 = require_es5$6();
9607
- var import_es5$1 = require_es5();
9608
- var __defProp$10 = Object.defineProperty;
9609
- var __name$8 = (target, value) => __defProp$10(target, "name", {
9610
- value,
9611
- configurable: true
9612
- });
9613
- var SELECTION_KEYS$1 = ["Enter", " "];
9614
- var FIRST_KEYS = [
9615
- "ArrowDown",
9616
- "PageUp",
9617
- "Home"
9618
- ];
9619
- var LAST_KEYS = [
9620
- "ArrowUp",
9621
- "PageDown",
9622
- "End"
9623
- ];
9624
- var FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
9625
- var SUB_OPEN_KEYS = {
9626
- ltr: [...SELECTION_KEYS$1, "ArrowRight"],
9627
- rtl: [...SELECTION_KEYS$1, "ArrowLeft"]
9628
- };
9629
- var MENU_NAME = "Menu";
9630
- var [Collection$1, useCollection$1, createCollectionScope$1] = createCollection(MENU_NAME);
9631
- var [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [
9632
- createCollectionScope$1,
9633
- createPopperScope,
9634
- createRovingFocusGroupScope
9635
- ]);
9636
- var usePopperScope$1 = createPopperScope();
9637
- var useRovingFocusGroupScope$1 = createRovingFocusGroupScope();
9638
- var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);
9639
- var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
9640
- var Menu = /* @__PURE__ */ __name$8((props) => {
9641
- const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;
9642
- const popperScope = usePopperScope$1(__scopeMenu);
9643
- const [content, setContent] = React$10.useState(null);
9644
- const isUsingKeyboardRef = React$10.useRef(false);
9645
- const handleOpenChange = useCallbackRef(onOpenChange);
9646
- const direction = useDirection(dir);
9647
- React$10.useEffect(() => {
9648
- const handleKeyDown = /* @__PURE__ */ __name$8(() => {
9649
- isUsingKeyboardRef.current = true;
9650
- document.addEventListener("pointerdown", handlePointer, {
9651
- capture: true,
9652
- once: true
9653
- });
9654
- document.addEventListener("pointermove", handlePointer, {
9655
- capture: true,
9656
- once: true
9657
- });
9658
- }, "handleKeyDown");
9659
- const handlePointer = /* @__PURE__ */ __name$8(() => isUsingKeyboardRef.current = false, "handlePointer");
9660
- document.addEventListener("keydown", handleKeyDown, { capture: true });
9661
- return () => {
9662
- document.removeEventListener("keydown", handleKeyDown, { capture: true });
9663
- document.removeEventListener("pointerdown", handlePointer, { capture: true });
9664
- document.removeEventListener("pointermove", handlePointer, { capture: true });
9665
- };
9666
- }, []);
9667
- React$10.useEffect(() => {
9668
- if (!open) return;
9669
- const handleBlur = /* @__PURE__ */ __name$8(() => handleOpenChange(false), "handleBlur");
9670
- window.addEventListener("blur", handleBlur);
9671
- return () => window.removeEventListener("blur", handleBlur);
9672
- }, [open, handleOpenChange]);
9673
- return /* @__PURE__ */ jsx(Root2$1, {
9674
- ...popperScope,
9675
- children: /* @__PURE__ */ jsx(MenuProvider, {
9676
- scope: __scopeMenu,
9677
- open,
9678
- onOpenChange: handleOpenChange,
9679
- content,
9680
- onContentChange: setContent,
9681
- children: /* @__PURE__ */ jsx(MenuRootProvider, {
9682
- scope: __scopeMenu,
9683
- onClose: React$10.useCallback(() => handleOpenChange(false), [handleOpenChange]),
9684
- isUsingKeyboardRef,
9685
- dir: direction,
9686
- modal,
9687
- children
9688
- })
9689
- })
9690
- });
9691
- }, "Menu");
9692
- var MenuAnchor = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuAnchor2(props, forwardedRef) {
9693
- const { __scopeMenu, ...anchorProps } = props;
9694
- const popperScope = usePopperScope$1(__scopeMenu);
9695
- return /* @__PURE__ */ jsx(Anchor, {
9696
- ...popperScope,
9697
- ...anchorProps,
9698
- ref: forwardedRef
9699
- });
9700
- }, "MenuAnchor"));
9701
- var PORTAL_NAME$1 = "MenuPortal";
9702
- var [PortalProvider$2, usePortalContext$2] = createMenuContext(PORTAL_NAME$1, { forceMount: void 0 });
9703
- var MenuPortal = /* @__PURE__ */ __name$8((props) => {
9704
- const { __scopeMenu, forceMount, children, container } = props;
9705
- const context = useMenuContext(PORTAL_NAME$1, __scopeMenu);
9706
- return /* @__PURE__ */ jsx(PortalProvider$2, {
9707
- scope: __scopeMenu,
9708
- forceMount,
9709
- children: /* @__PURE__ */ jsx(Presence, {
9710
- present: forceMount || context.open,
9711
- children: /* @__PURE__ */ jsx(Portal$1, {
9712
- asChild: true,
9713
- container,
9714
- children
9715
- })
9716
- })
9717
- });
9718
- }, "MenuPortal");
9719
- var CONTENT_NAME$3 = "MenuContent";
9720
- var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME$3);
9721
- var MenuContent = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuContent2(props, forwardedRef) {
9722
- const portalContext = usePortalContext$2(CONTENT_NAME$3, props.__scopeMenu);
9723
- const { forceMount = portalContext.forceMount, ...contentProps } = props;
9724
- const context = useMenuContext(CONTENT_NAME$3, props.__scopeMenu);
9725
- const rootContext = useMenuRootContext(CONTENT_NAME$3, props.__scopeMenu);
9726
- return /* @__PURE__ */ jsx(Collection$1.Provider, {
9727
- scope: props.__scopeMenu,
9728
- children: /* @__PURE__ */ jsx(Presence, {
9729
- present: forceMount || context.open,
9730
- children: /* @__PURE__ */ jsx(Collection$1.Slot, {
9731
- scope: props.__scopeMenu,
9732
- children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, {
9733
- ...contentProps,
9734
- ref: forwardedRef
9735
- }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, {
9736
- ...contentProps,
9737
- ref: forwardedRef
9738
- })
9739
- })
9740
- })
9741
- });
9742
- }, "MenuContent"));
9743
- var MenuRootContentModal = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuRootContentModal2(props, forwardedRef) {
9744
- const context = useMenuContext(CONTENT_NAME$3, props.__scopeMenu);
9745
- const ref = React$10.useRef(null);
9746
- const composedRefs = useComposedRefs(forwardedRef, ref);
9747
- React$10.useEffect(() => {
9748
- const content = ref.current;
9749
- if (content) return (0, import_es5.hideOthers)(content);
9750
- }, []);
9751
- return /* @__PURE__ */ jsx(MenuContentImpl, {
9752
- ...props,
9753
- ref: composedRefs,
9754
- trapFocus: context.open,
9755
- disableOutsidePointerEvents: context.open,
9756
- disableOutsideScroll: true,
9757
- onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => event.preventDefault(), { checkForDefaultPrevented: false }),
9758
- onDismiss: () => context.onOpenChange(false)
9759
- });
9760
- }, "MenuRootContentModal"));
9761
- var MenuRootContentNonModal = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuRootContentNonModal2(props, forwardedRef) {
9762
- const context = useMenuContext(CONTENT_NAME$3, props.__scopeMenu);
9763
- return /* @__PURE__ */ jsx(MenuContentImpl, {
9764
- ...props,
9765
- ref: forwardedRef,
9766
- trapFocus: false,
9767
- disableOutsidePointerEvents: false,
9768
- disableOutsideScroll: false,
9769
- onDismiss: () => context.onOpenChange(false)
9770
- });
9771
- }, "MenuRootContentNonModal"));
9772
- var Slot$2 = createSlot("MenuContent.ScrollLock");
9773
- var MenuContentImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuContentImpl2(props, forwardedRef) {
9774
- const { __scopeMenu, loop = false, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEntryFocus, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, onDismiss, disableOutsideScroll, ...contentProps } = props;
9775
- const context = useMenuContext(CONTENT_NAME$3, __scopeMenu);
9776
- const rootContext = useMenuRootContext(CONTENT_NAME$3, __scopeMenu);
9777
- const popperScope = usePopperScope$1(__scopeMenu);
9778
- const rovingFocusGroupScope = useRovingFocusGroupScope$1(__scopeMenu);
9779
- const getItems = useCollection$1(__scopeMenu);
9780
- const [currentItemId, setCurrentItemId] = React$10.useState(null);
9781
- const contentRef = React$10.useRef(null);
9782
- const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);
9783
- const timerRef = React$10.useRef(0);
9784
- const searchRef = React$10.useRef("");
9785
- const pointerGraceTimerRef = React$10.useRef(0);
9786
- const pointerGraceIntentRef = React$10.useRef(null);
9787
- const pointerDirRef = React$10.useRef("right");
9788
- const lastPointerXRef = React$10.useRef(0);
9789
- const ScrollLockWrapper = disableOutsideScroll ? import_es5$1.RemoveScroll : React$10.Fragment;
9790
- const scrollLockWrapperProps = disableOutsideScroll ? {
9791
- as: Slot$2,
9792
- allowPinchZoom: true
9793
- } : void 0;
9794
- const handleTypeaheadSearch = /* @__PURE__ */ __name$8((key) => {
9795
- const search = searchRef.current + key;
9796
- const items = getItems().filter((item) => !item.disabled);
9797
- const currentItem = document.activeElement;
9798
- const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;
9799
- const nextMatch = getNextMatch(items.map((item) => item.textValue), search, currentMatch);
9800
- const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;
9801
- (/* @__PURE__ */ __name$8((function updateSearch(value) {
9802
- searchRef.current = value;
9803
- window.clearTimeout(timerRef.current);
9804
- if (value !== "") timerRef.current = window.setTimeout(() => updateSearch(""), 1e3);
9805
- }), "updateSearch"))(search);
9806
- if (newItem) setTimeout(() => newItem.focus());
9807
- }, "handleTypeaheadSearch");
9808
- React$10.useEffect(() => {
9809
- return () => window.clearTimeout(timerRef.current);
9810
- }, []);
9811
- useFocusGuards();
9812
- const isPointerMovingToSubmenu = React$10.useCallback((event) => {
9813
- return pointerDirRef.current === pointerGraceIntentRef.current?.side && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);
9814
- }, []);
9815
- return /* @__PURE__ */ jsx(MenuContentProvider, {
9816
- scope: __scopeMenu,
9817
- searchRef,
9818
- onItemEnter: React$10.useCallback((event) => {
9819
- if (isPointerMovingToSubmenu(event)) event.preventDefault();
9820
- }, [isPointerMovingToSubmenu]),
9821
- onItemLeave: React$10.useCallback((event) => {
9822
- if (isPointerMovingToSubmenu(event)) return;
9823
- contentRef.current?.focus();
9824
- setCurrentItemId(null);
9825
- }, [isPointerMovingToSubmenu]),
9826
- onTriggerLeave: React$10.useCallback((event) => {
9827
- if (isPointerMovingToSubmenu(event)) event.preventDefault();
9828
- }, [isPointerMovingToSubmenu]),
9829
- pointerGraceTimerRef,
9830
- onPointerGraceIntentChange: React$10.useCallback((intent) => {
9831
- pointerGraceIntentRef.current = intent;
9832
- }, []),
9833
- children: /* @__PURE__ */ jsx(ScrollLockWrapper, {
9834
- ...scrollLockWrapperProps,
9835
- children: /* @__PURE__ */ jsx(FocusScope, {
9836
- asChild: true,
9837
- trapped: trapFocus,
9838
- onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {
9839
- event.preventDefault();
9840
- contentRef.current?.focus({ preventScroll: true });
9841
- }),
9842
- onUnmountAutoFocus: onCloseAutoFocus,
9843
- children: /* @__PURE__ */ jsx(DismissableLayer, {
9844
- asChild: true,
9845
- disableOutsidePointerEvents,
9846
- onEscapeKeyDown,
9847
- onPointerDownOutside,
9848
- onFocusOutside,
9849
- onInteractOutside,
9850
- onDismiss,
9851
- children: /* @__PURE__ */ jsx(Root$2, {
9852
- asChild: true,
9853
- ...rovingFocusGroupScope,
9854
- dir: rootContext.dir,
9855
- orientation: "vertical",
9856
- loop,
9857
- currentTabStopId: currentItemId,
9858
- onCurrentTabStopIdChange: setCurrentItemId,
9859
- onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {
9860
- if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
9861
- }),
9862
- preventScrollOnEntryFocus: true,
9863
- children: /* @__PURE__ */ jsx(Content, {
9864
- role: "menu",
9865
- "aria-orientation": "vertical",
9866
- "data-state": getOpenState(context.open),
9867
- "data-radix-menu-content": "",
9868
- dir: rootContext.dir,
9869
- ...popperScope,
9870
- ...contentProps,
9871
- ref: composedRefs,
9872
- style: {
9873
- outline: "none",
9874
- ...contentProps.style
9875
- },
9876
- onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {
9877
- const isKeyDownInside = event.target.closest("[data-radix-menu-content]") === event.currentTarget;
9878
- const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
9879
- const isCharacterKey = event.key.length === 1;
9880
- if (isKeyDownInside) {
9881
- if (event.key === "Tab") event.preventDefault();
9882
- if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);
9883
- }
9884
- const content = contentRef.current;
9885
- if (event.target !== content) return;
9886
- if (!FIRST_LAST_KEYS.includes(event.key)) return;
9887
- event.preventDefault();
9888
- const candidateNodes = getItems().filter((item) => !item.disabled).map((item) => item.ref.current);
9889
- if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();
9890
- focusFirst(candidateNodes);
9891
- }),
9892
- onBlur: composeEventHandlers(props.onBlur, (event) => {
9893
- if (!event.currentTarget.contains(event.target)) {
9894
- window.clearTimeout(timerRef.current);
9895
- searchRef.current = "";
9896
- }
9897
- }),
9898
- onPointerMove: composeEventHandlers(props.onPointerMove, whenMouse((event) => {
9899
- const target = event.target;
9900
- const pointerXHasChanged = lastPointerXRef.current !== event.clientX;
9901
- if (event.currentTarget.contains(target) && pointerXHasChanged) {
9902
- const newDir = event.clientX > lastPointerXRef.current ? "right" : "left";
9903
- pointerDirRef.current = newDir;
9904
- lastPointerXRef.current = event.clientX;
9905
- }
9906
- }))
9907
- })
9908
- })
9909
- })
9910
- })
9911
- })
9912
- });
9913
- }, "MenuContentImpl"));
9914
- var ITEM_NAME$1 = "MenuItem";
9915
- var ITEM_SELECT = "menu.itemSelect";
9916
- var MenuItem = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuItem2(props, forwardedRef) {
9917
- const { disabled = false, onSelect, ...itemProps } = props;
9918
- const ref = React$10.useRef(null);
9919
- const rootContext = useMenuRootContext(ITEM_NAME$1, props.__scopeMenu);
9920
- const contentContext = useMenuContentContext(ITEM_NAME$1, props.__scopeMenu);
9921
- const composedRefs = useComposedRefs(forwardedRef, ref);
9922
- const isPointerDownRef = React$10.useRef(false);
9923
- const handleSelect = /* @__PURE__ */ __name$8(() => {
9924
- const menuItem = ref.current;
9925
- if (!disabled && menuItem) {
9926
- const itemSelectEvent = new CustomEvent(ITEM_SELECT, {
9927
- bubbles: true,
9928
- cancelable: true
9929
- });
9930
- menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });
9931
- dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);
9932
- if (itemSelectEvent.defaultPrevented) isPointerDownRef.current = false;
9933
- else rootContext.onClose();
9934
- }
9935
- }, "handleSelect");
9936
- return /* @__PURE__ */ jsx(MenuItemImpl, {
9937
- ...itemProps,
9938
- ref: composedRefs,
9939
- disabled,
9940
- onClick: composeEventHandlers(props.onClick, handleSelect),
9941
- onPointerDown: (event) => {
9942
- props.onPointerDown?.(event);
9943
- isPointerDownRef.current = true;
9944
- },
9945
- onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
9946
- if (!isPointerDownRef.current) event.currentTarget?.click();
9947
- }),
9948
- onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
9949
- if (disabled || event.target !== event.currentTarget) return;
9950
- if (contentContext.searchRef.current !== "" && event.key === " ") return;
9951
- if (SELECTION_KEYS$1.includes(event.key)) {
9952
- event.currentTarget.click();
9953
- event.preventDefault();
9954
- }
9955
- })
9956
- });
9957
- }, "MenuItem"));
9958
- var MenuItemImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuItemImpl2(props, forwardedRef) {
9959
- const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;
9960
- const contentContext = useMenuContentContext(ITEM_NAME$1, __scopeMenu);
9961
- const rovingFocusGroupScope = useRovingFocusGroupScope$1(__scopeMenu);
9962
- const ref = React$10.useRef(null);
9963
- const composedRefs = useComposedRefs(forwardedRef, ref);
9964
- const [isFocused, setIsFocused] = React$10.useState(false);
9965
- const [textContent, setTextContent] = React$10.useState("");
9966
- React$10.useEffect(() => {
9967
- const menuItem = ref.current;
9968
- if (menuItem) setTextContent((menuItem.textContent ?? "").trim());
9969
- }, [itemProps.children]);
9970
- return /* @__PURE__ */ jsx(Collection$1.ItemSlot, {
9971
- scope: __scopeMenu,
9972
- disabled,
9973
- textValue: textValue ?? textContent,
9974
- children: /* @__PURE__ */ jsx(Item, {
9975
- asChild: true,
9976
- ...rovingFocusGroupScope,
9977
- focusable: !disabled,
9978
- children: /* @__PURE__ */ jsx(Primitive.div, {
9979
- role: "menuitem",
9980
- "data-highlighted": isFocused ? "" : void 0,
9981
- "aria-disabled": disabled || void 0,
9982
- "data-disabled": disabled ? "" : void 0,
9983
- ...itemProps,
9984
- ref: composedRefs,
9985
- onPointerMove: composeEventHandlers(props.onPointerMove, whenMouse((event) => {
9986
- if (disabled) contentContext.onItemLeave(event);
9987
- else {
9988
- contentContext.onItemEnter(event);
9989
- if (!event.defaultPrevented) event.currentTarget.focus({ preventScroll: true });
9990
- }
9991
- })),
9992
- onPointerLeave: composeEventHandlers(props.onPointerLeave, whenMouse((event) => contentContext.onItemLeave(event))),
9993
- onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),
9994
- onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))
9995
- })
9996
- })
9997
- });
9998
- }, "MenuItemImpl"));
9999
- var MenuCheckboxItem = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuCheckboxItem2(props, forwardedRef) {
10000
- const { checked = false, onCheckedChange, ...checkboxItemProps } = props;
10001
- return /* @__PURE__ */ jsx(ItemIndicatorProvider, {
10002
- scope: props.__scopeMenu,
10003
- checked,
10004
- children: /* @__PURE__ */ jsx(MenuItem, {
10005
- role: "menuitemcheckbox",
10006
- "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
10007
- ...checkboxItemProps,
10008
- ref: forwardedRef,
10009
- "data-state": getCheckedState(checked),
10010
- onSelect: composeEventHandlers(checkboxItemProps.onSelect, () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked), { checkForDefaultPrevented: false })
10011
- })
10012
- });
10013
- }, "MenuCheckboxItem"));
10014
- var [RadioGroupProvider$1, useRadioGroupContext$1] = createMenuContext("MenuRadioGroup", {
10015
- value: void 0,
10016
- onValueChange: /* @__PURE__ */ __name$8(() => {}, "onValueChange")
10017
- });
10018
- var ITEM_INDICATOR_NAME$1 = "MenuItemIndicator";
10019
- var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(ITEM_INDICATOR_NAME$1, { checked: false });
10020
- var MenuItemIndicator = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$8(function MenuItemIndicator2(props, forwardedRef) {
10021
- const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;
10022
- const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME$1, __scopeMenu);
10023
- return /* @__PURE__ */ jsx(Presence, {
10024
- present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,
10025
- children: /* @__PURE__ */ jsx(Primitive.span, {
10026
- ...itemIndicatorProps,
10027
- ref: forwardedRef,
10028
- "data-state": getCheckedState(indicatorContext.checked)
10029
- })
10030
- });
10031
- }, "MenuItemIndicator"));
10032
- var SUB_NAME = "MenuSub";
10033
- var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
10034
- function getOpenState(open) {
10035
- return open ? "open" : "closed";
10036
- }
10037
- __name$8(getOpenState, "getOpenState");
10038
- function isIndeterminate(checked) {
10039
- return checked === "indeterminate";
10040
- }
10041
- __name$8(isIndeterminate, "isIndeterminate");
10042
- function getCheckedState(checked) {
10043
- return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
10044
- }
10045
- __name$8(getCheckedState, "getCheckedState");
10046
- function focusFirst(candidates) {
10047
- const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
10048
- for (const candidate of candidates) {
10049
- if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
10050
- candidate.focus();
10051
- if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
10052
- }
10053
- }
10054
- __name$8(focusFirst, "focusFirst");
10055
- function wrapArray$1(array, startIndex) {
10056
- return array.map((_, index) => array[(startIndex + index) % array.length]);
10057
- }
10058
- __name$8(wrapArray$1, "wrapArray");
10059
- function getNextMatch(values, search, currentMatch) {
10060
- const normalizedSearch = search.length > 1 && Array.from(search).every((char) => char === search[0]) ? search[0] : search;
10061
- const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
10062
- let wrappedValues = wrapArray$1(values, Math.max(currentMatchIndex, 0));
10063
- if (normalizedSearch.length === 1) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);
10064
- const nextMatch = wrappedValues.find((value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase()));
10065
- return nextMatch !== currentMatch ? nextMatch : void 0;
10066
- }
10067
- __name$8(getNextMatch, "getNextMatch");
10068
- function isPointInPolygon(point, polygon) {
10069
- const { x, y } = point;
10070
- let inside = false;
10071
- for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
10072
- const ii = polygon[i];
10073
- const jj = polygon[j];
10074
- const xi = ii.x;
10075
- const yi = ii.y;
10076
- const xj = jj.x;
10077
- const yj = jj.y;
10078
- if (yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi) inside = !inside;
10079
- }
10080
- return inside;
10081
- }
10082
- __name$8(isPointInPolygon, "isPointInPolygon");
10083
- function isPointerInGraceArea(event, area) {
10084
- if (!area) return false;
10085
- return isPointInPolygon({
10086
- x: event.clientX,
10087
- y: event.clientY
10088
- }, area);
10089
- }
10090
- __name$8(isPointerInGraceArea, "isPointerInGraceArea");
10091
- function whenMouse(handler) {
10092
- return (event) => event.pointerType === "mouse" ? handler(event) : void 0;
10093
- }
10094
- __name$8(whenMouse, "whenMouse");
10095
- var Root3 = Menu;
10096
- var Anchor2 = MenuAnchor;
10097
- var Portal = MenuPortal;
10098
- var Content2$1 = MenuContent;
10099
- var CheckboxItem = MenuCheckboxItem;
10100
- var ItemIndicator = MenuItemIndicator;
10101
-
10102
- //#endregion
10103
- //#region ../../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.24_@types+react-dom@19.2.3_@types+react@19.2.17__@typ_cea3081213c77aa7bdcc6d13e3bb1673/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs
10104
- var __defProp$9 = Object.defineProperty;
10105
- var __name$7 = (target, value) => __defProp$9(target, "name", {
10106
- value,
10107
- configurable: true
10108
- });
10109
- var DROPDOWN_MENU_NAME = "DropdownMenu";
10110
- var [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(DROPDOWN_MENU_NAME, [createMenuScope]);
10111
- var useMenuScope = createMenuScope();
10112
- var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);
10113
- var DropdownMenu$1 = /* @__PURE__ */ __name$7((props) => {
10114
- const { __scopeDropdownMenu, children, dir, open: openProp, defaultOpen, onOpenChange, modal = true } = props;
10115
- const menuScope = useMenuScope(__scopeDropdownMenu);
10116
- const triggerRef = React$10.useRef(null);
10117
- const [open, setOpen] = useControllableState({
10118
- prop: openProp,
10119
- defaultProp: defaultOpen ?? false,
10120
- onChange: onOpenChange,
10121
- caller: DROPDOWN_MENU_NAME
10122
- });
10123
- return /* @__PURE__ */ jsx(DropdownMenuProvider, {
10124
- scope: __scopeDropdownMenu,
10125
- triggerId: useId$1(),
10126
- triggerRef,
10127
- contentId: useId$1(),
10128
- open,
10129
- onOpenChange: setOpen,
10130
- onOpenToggle: React$10.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
10131
- modal,
10132
- children: /* @__PURE__ */ jsx(Root3, {
10133
- ...menuScope,
10134
- open,
10135
- onOpenChange: setOpen,
10136
- dir,
10137
- modal,
10138
- children
10139
- })
10140
- });
10141
- }, "DropdownMenu");
10142
- var TRIGGER_NAME$2 = "DropdownMenuTrigger";
10143
- var DropdownMenuTrigger$1 = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$7(function DropdownMenuTrigger2(props, forwardedRef) {
10144
- const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
10145
- const context = useDropdownMenuContext(TRIGGER_NAME$2, __scopeDropdownMenu);
10146
- const menuScope = useMenuScope(__scopeDropdownMenu);
10147
- const composedRefs = useComposedRefs(forwardedRef, context.triggerRef);
10148
- return /* @__PURE__ */ jsx(Anchor2, {
10149
- asChild: true,
10150
- ...menuScope,
10151
- children: /* @__PURE__ */ jsx(Primitive.button, {
10152
- type: "button",
10153
- id: context.triggerId,
10154
- "aria-haspopup": "menu",
10155
- "aria-expanded": context.open,
10156
- "aria-controls": context.open ? context.contentId : void 0,
10157
- "data-state": context.open ? "open" : "closed",
10158
- "data-disabled": disabled ? "" : void 0,
10159
- disabled,
10160
- ...triggerProps,
10161
- ref: composedRefs,
10162
- onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
10163
- if (!disabled && event.button === 0 && event.ctrlKey === false) {
10164
- context.onOpenToggle();
10165
- if (!context.open) event.preventDefault();
10166
- }
10167
- }),
10168
- onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
10169
- if (disabled) return;
10170
- if (["Enter", " "].includes(event.key)) context.onOpenToggle();
10171
- if (event.key === "ArrowDown") context.onOpenChange(true);
10172
- if ([
10173
- "Enter",
10174
- " ",
10175
- "ArrowDown"
10176
- ].includes(event.key)) event.preventDefault();
10177
- })
10178
- })
10179
- });
10180
- }, "DropdownMenuTrigger"));
10181
- var DropdownMenuPortal = /* @__PURE__ */ __name$7((props) => {
10182
- const { __scopeDropdownMenu, ...portalProps } = props;
10183
- const menuScope = useMenuScope(__scopeDropdownMenu);
10184
- return /* @__PURE__ */ jsx(Portal, {
10185
- ...menuScope,
10186
- ...portalProps
10187
- });
10188
- }, "DropdownMenuPortal");
10189
- var CONTENT_NAME$2 = "DropdownMenuContent";
10190
- var DropdownMenuContent$1 = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$7(function DropdownMenuContent2(props, forwardedRef) {
10191
- const { __scopeDropdownMenu, ...contentProps } = props;
10192
- const context = useDropdownMenuContext(CONTENT_NAME$2, __scopeDropdownMenu);
10193
- const menuScope = useMenuScope(__scopeDropdownMenu);
10194
- const hasInteractedOutsideRef = React$10.useRef(false);
10195
- return /* @__PURE__ */ jsx(Content2$1, {
10196
- id: context.contentId,
10197
- "aria-labelledby": context.triggerId,
10198
- ...menuScope,
10199
- ...contentProps,
10200
- ref: forwardedRef,
10201
- onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
10202
- if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
10203
- hasInteractedOutsideRef.current = false;
10204
- event.preventDefault();
10205
- }),
10206
- onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {
10207
- const originalEvent = event.detail.originalEvent;
10208
- const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
10209
- const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
10210
- if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;
10211
- }),
10212
- style: {
10213
- ...props.style,
10214
- "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
10215
- "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
10216
- "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
10217
- "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
10218
- "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
10219
- }
10220
- });
10221
- }, "DropdownMenuContent"));
10222
- var DropdownMenuCheckboxItem$1 = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$7(function DropdownMenuCheckboxItem2(props, forwardedRef) {
10223
- const { __scopeDropdownMenu, ...checkboxItemProps } = props;
10224
- const menuScope = useMenuScope(__scopeDropdownMenu);
10225
- return /* @__PURE__ */ jsx(CheckboxItem, {
10226
- ...menuScope,
10227
- ...checkboxItemProps,
10228
- ref: forwardedRef
10229
- });
10230
- }, "DropdownMenuCheckboxItem"));
10231
- var DropdownMenuItemIndicator = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __name$7(function DropdownMenuItemIndicator2(props, forwardedRef) {
10232
- const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
10233
- const menuScope = useMenuScope(__scopeDropdownMenu);
10234
- return /* @__PURE__ */ jsx(ItemIndicator, {
10235
- ...menuScope,
10236
- ...itemIndicatorProps,
10237
- ref: forwardedRef
10238
- });
10239
- }, "DropdownMenuItemIndicator"));
10240
- var Root2 = DropdownMenu$1;
10241
- var Trigger = DropdownMenuTrigger$1;
10242
- var Portal2 = DropdownMenuPortal;
10243
- var Content2 = DropdownMenuContent$1;
10244
- var CheckboxItem2 = DropdownMenuCheckboxItem$1;
10245
- var ItemIndicator2 = DropdownMenuItemIndicator;
10246
-
10247
9604
  //#endregion
10248
9605
  //#region ../../node_modules/.pnpm/@radix-ui+number@1.1.3/node_modules/@radix-ui/number/dist/index.mjs
10249
9606
  var __defProp$8 = Object.defineProperty;
@@ -11014,6 +10371,8 @@ function W(_, C, h) {
11014
10371
 
11015
10372
  //#endregion
11016
10373
  //#region ../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.23_@types+react-dom@19.2.3_@types+react@19.2.17__@types+reac_ebeaa069aac513f5f318f7d1d5f561bf/node_modules/@radix-ui/react-dialog/dist/index.mjs
10374
+ var import_es5 = require_es5();
10375
+ var import_es5$1 = require_es5$6();
11017
10376
  var __defProp$5 = Object.defineProperty;
11018
10377
  var __name$3 = (target, value) => __defProp$5(target, "name", {
11019
10378
  value,
@@ -11062,7 +10421,7 @@ var DialogPortal = /* @__PURE__ */ __name$3((props) => {
11062
10421
  forceMount,
11063
10422
  children: React$10.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, {
11064
10423
  present: forceMount || context.open,
11065
- children: /* @__PURE__ */ jsx(Portal$1, {
10424
+ children: /* @__PURE__ */ jsx(Portal, {
11066
10425
  asChild: true,
11067
10426
  container,
11068
10427
  children: child
@@ -11088,7 +10447,7 @@ var DialogOverlayImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __na
11088
10447
  const { __scopeDialog, ...overlayProps } = props;
11089
10448
  const context = useDialogContext(OVERLAY_NAME, __scopeDialog);
11090
10449
  const composedRefs = useComposedRefs(forwardedRef, useDismissableLayerSurface());
11091
- return /* @__PURE__ */ jsx(import_es5$1.RemoveScroll, {
10450
+ return /* @__PURE__ */ jsx(import_es5.RemoveScroll, {
11092
10451
  as: Slot$1,
11093
10452
  allowPinchZoom: true,
11094
10453
  shards: [context.contentRef],
@@ -11125,7 +10484,7 @@ var DialogContentModal = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __n
11125
10484
  const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);
11126
10485
  React$10.useEffect(() => {
11127
10486
  const content = contentRef.current;
11128
- if (content) return (0, import_es5.hideOthers)(content);
10487
+ if (content) return (0, import_es5$1.hideOthers)(content);
11129
10488
  }, []);
11130
10489
  return /* @__PURE__ */ jsx(DialogContentImpl, {
11131
10490
  ...props,
@@ -12153,7 +11512,7 @@ function SelectProvider(props) {
12153
11512
  nativeSelectKey,
12154
11513
  isFormControl
12155
11514
  };
12156
- return /* @__PURE__ */ jsx(Root2$1, {
11515
+ return /* @__PURE__ */ jsx(Root2, {
12157
11516
  ...popperScope,
12158
11517
  children: /* @__PURE__ */ jsx(SelectProviderImpl, {
12159
11518
  scope: __scopeSelect,
@@ -12279,7 +11638,7 @@ var SelectPortal = /* @__PURE__ */ __name((props) => {
12279
11638
  return /* @__PURE__ */ jsx(PortalProvider, {
12280
11639
  scope: props.__scopeSelect,
12281
11640
  forceMount,
12282
- children: /* @__PURE__ */ jsx(Portal$1, {
11641
+ children: /* @__PURE__ */ jsx(Portal, {
12283
11642
  asChild: true,
12284
11643
  ...portalProps
12285
11644
  })
@@ -12335,7 +11694,7 @@ var SelectContentImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __na
12335
11694
  const [isPositioned, setIsPositioned] = React$10.useState(false);
12336
11695
  const firstValidItemFoundRef = React$10.useRef(false);
12337
11696
  React$10.useEffect(() => {
12338
- if (content) return (0, import_es5.hideOthers)(content);
11697
+ if (content) return (0, import_es5$1.hideOthers)(content);
12339
11698
  }, [content]);
12340
11699
  useFocusGuards();
12341
11700
  const focusFirst = React$10.useCallback((candidates) => {
@@ -12448,7 +11807,7 @@ var SelectContentImpl = /* @__PURE__ */ React$10.forwardRef(/* @__PURE__ */ __na
12448
11807
  position,
12449
11808
  isPositioned,
12450
11809
  searchRef,
12451
- children: /* @__PURE__ */ jsx(import_es5$1.RemoveScroll, {
11810
+ children: /* @__PURE__ */ jsx(import_es5.RemoveScroll, {
12452
11811
  as: Slot,
12453
11812
  allowPinchZoom: true,
12454
11813
  children: /* @__PURE__ */ jsx(FocusScope, {
@@ -100779,46 +100138,6 @@ function Switch({ className = "", label, ...props }) {
100779
100138
  })]
100780
100139
  });
100781
100140
  }
100782
- const DropdownMenu = Root2;
100783
- /** 基类锁定 `h` `p` `rounded`(className 覆盖不生效):触发器与 `Button` 保持同高。 */
100784
- function DropdownMenuTrigger({ children, className = "", asChild, ...props }) {
100785
- const triggerClass = asChild ? className : `inline-flex h-9 items-center justify-center rounded-md border border-border bg-surface px-3 text-sm font-medium text-ink shadow-xs outline-none transition-colors hover:bg-subtle focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/20 ${className}`;
100786
- return /* @__PURE__ */ jsx(Trigger, {
100787
- className: triggerClass,
100788
- ...asChild !== void 0 ? { asChild } : {},
100789
- ...props,
100790
- children
100791
- });
100792
- }
100793
- /**
100794
- * 浮层宽度下限默认值在 `.webskill-dropdown-content`(components 层),消费方的 `min-w-*` 能确定性地压过它。
100795
- * 基类锁定 `p` `rounded` `z`(className 覆盖不生效):`z` 取自 S4 层级契约变量,逐个覆盖会让层级关系变成运气。
100796
- */
100797
- function DropdownMenuContent({ children, className = "", sideOffset = 6, ...props }) {
100798
- return /* @__PURE__ */ jsx(Portal2, {
100799
- container: usePortalContainer(),
100800
- children: /* @__PURE__ */ jsx(Content2, {
100801
- sideOffset,
100802
- className: `webskill-dropdown-content z-[var(--webskill-z-popper)] rounded-md border border-border bg-surface p-1 text-sm text-ink shadow-pop outline-none ${className}`,
100803
- ...props,
100804
- children
100805
- })
100806
- });
100807
- }
100808
- /** 基类锁定 `p` `rounded`(className 覆盖不生效):左内边距与勾选标记位置耦合。 */
100809
- function DropdownMenuCheckboxItem({ children, className = "", ...props }) {
100810
- return /* @__PURE__ */ jsxs(CheckboxItem2, {
100811
- className: `relative flex cursor-pointer items-center rounded-sm py-1.5 pr-2 pl-7 text-sm outline-none transition-colors data-[highlighted]:bg-subtle data-[disabled]:pointer-events-none data-[disabled]:opacity-50 ${className}`,
100812
- ...props,
100813
- children: [/* @__PURE__ */ jsx("span", {
100814
- className: "absolute left-2 inline-flex size-3.5 items-center justify-center",
100815
- children: /* @__PURE__ */ jsx(ItemIndicator2, { children: /* @__PURE__ */ jsx(Check, {
100816
- className: "size-3.5",
100817
- "aria-hidden": true
100818
- }) })
100819
- }), children]
100820
- });
100821
- }
100822
100141
  /** Source-owned scroll container with accessible Radix viewport semantics. */
100823
100142
  function ScrollArea({ children, className = "", ...props }) {
100824
100143
  return /* @__PURE__ */ jsxs(Root$1, {
@@ -100992,6 +100311,7 @@ function RadioGroup({ options, className = "", invalid = false, orientation, ...
100992
100311
  className: `flex ${orientation === "horizontal" ? "flex-row flex-wrap gap-4" : "flex-col gap-2"} ${className}`,
100993
100312
  children: options.map((option) => {
100994
100313
  const itemId = `${instanceId}-${option.value}`;
100314
+ const labelId = `${itemId}-label`;
100995
100315
  const descId = option.description !== void 0 ? `${itemId}-desc` : void 0;
100996
100316
  return /* @__PURE__ */ jsxs("label", {
100997
100317
  htmlFor: itemId,
@@ -101000,12 +100320,14 @@ function RadioGroup({ options, className = "", invalid = false, orientation, ...
101000
100320
  id: itemId,
101001
100321
  value: option.value,
101002
100322
  disabled: option.disabled,
100323
+ "aria-labelledby": labelId,
101003
100324
  "aria-describedby": descId,
101004
100325
  className: `mt-0.5 inline-flex size-4 shrink-0 items-center justify-center rounded-full border bg-surface shadow-xs outline-none transition-colors disabled:cursor-not-allowed data-[state=checked]:border-primary ${invalid ? "border-destructive focus-visible:ring-destructive/20" : "border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/20"}`,
101005
100326
  children: /* @__PURE__ */ jsx(RadioGroupIndicator, { className: "size-2 rounded-full bg-primary" })
101006
100327
  }), /* @__PURE__ */ jsxs("span", {
101007
100328
  className: "min-w-0",
101008
100329
  children: [/* @__PURE__ */ jsx("span", {
100330
+ id: labelId,
101009
100331
  className: "block",
101010
100332
  children: option.label
101011
100333
  }), option.description !== void 0 && /* @__PURE__ */ jsx("span", {
@@ -123564,11 +122886,55 @@ function u(n, o, u) {
123564
122886
  }
123565
122887
 
123566
122888
  //#endregion
123567
- //#region ../ui-react/dist/catalogComponents-DTcYfpLQ.js
122889
+ //#region ../ui-react/dist/catalogComponents-BgAJN0p8.js
122890
+ /**
122891
+ * 表单与宿主控件文案的注入口(FR-22.4 / 偏差 D-14 方向 A)。
122892
+ *
122893
+ * `ui-react` 自己**不持有任何文案**:字典在 chatbot 与 console 各一份,
122894
+ * 而 `ui-react` 被两者共同消费,import 任何一方都是错的依赖方向。
122895
+ * 缺省值是英文,不注入时行为与改造前一致。
122896
+ */
122897
+ const SurfaceFormTextsContext = createContext(DEFAULT_SURFACE_FORM_TEXTS);
122898
+ const SurfaceHostControlTextsContext = createContext(DEFAULT_SURFACE_HOST_CONTROL_TEXTS);
122899
+ function useSurfaceFormTexts() {
122900
+ return useContext(SurfaceFormTextsContext);
122901
+ }
122902
+ function useSurfaceHostControlTexts() {
122903
+ return useContext(SurfaceHostControlTextsContext);
122904
+ }
122905
+ function SurfaceFormTextsProvider({ texts, hostControlTexts, children }) {
122906
+ const value = useMemo(() => resolveSurfaceFormTexts(texts), [texts]);
122907
+ const controlValue = useMemo(() => resolveSurfaceHostControlTexts(hostControlTexts), [hostControlTexts]);
122908
+ return /* @__PURE__ */ jsx(SurfaceFormTextsContext.Provider, {
122909
+ value,
122910
+ children: /* @__PURE__ */ jsx(SurfaceHostControlTextsContext.Provider, {
122911
+ value: controlValue,
122912
+ children
122913
+ })
122914
+ });
122915
+ }
122916
+ /**
122917
+ * 画布内字号的注入口(分册 25 FR-25.4)。形态对齐 `SurfaceFormTextsProvider`:
122918
+ * 图表文字画在 canvas 上,宿主的 CSS 够不到,只能由 React 侧传进渲染调用。
122919
+ * 不注入时取默认值,行为与改造前一致。
122920
+ */
122921
+ const ChartFontSizesContext = createContext(DEFAULT_CHART_FONT_SIZES);
122922
+ function useChartFontSizes() {
122923
+ return useContext(ChartFontSizesContext);
122924
+ }
122925
+ function ChartFontSizesProvider({ sizes, children }) {
122926
+ const value = useMemo(() => resolveChartFontSizes(sizes), [sizes]);
122927
+ return /* @__PURE__ */ jsx(ChartFontSizesContext.Provider, {
122928
+ value,
122929
+ children
122930
+ });
122931
+ }
123568
122932
  /** echarts 挂载点:surface 图表与 catalog 声明树的 Chart 节点共用,实现在 `@webskill/ui`,与 A2UI 档同一份 */
123569
- function EChart({ chart }) {
122933
+ function EChart({ chart, fontSizes }) {
123570
122934
  const containerRef = useRef(null);
123571
122935
  const handleRef = useRef(void 0);
122936
+ const inherited = useChartFontSizes();
122937
+ const effective = fontSizes ?? inherited;
123572
122938
  useEffect(() => {
123573
122939
  const container = containerRef.current;
123574
122940
  if (!container) return;
@@ -123580,31 +122946,13 @@ function EChart({ chart }) {
123580
122946
  };
123581
122947
  }, []);
123582
122948
  useEffect(() => {
123583
- handleRef.current?.setChart(chart);
123584
- }, [chart]);
122949
+ handleRef.current?.setChart(chart, effective);
122950
+ }, [chart, effective]);
123585
122951
  return /* @__PURE__ */ jsx("div", {
123586
122952
  className: "webskill-surface__chart",
123587
122953
  ref: containerRef
123588
122954
  });
123589
122955
  }
123590
- /**
123591
- * 表单文案的注入口(FR-22.4 / 偏差 D-14 方向 A)。
123592
- *
123593
- * `ui-react` 自己**不持有任何文案**:字典在 chatbot 与 console 各一份,
123594
- * 而 `ui-react` 被两者共同消费,import 任何一方都是错的依赖方向。
123595
- * 缺省值是英文,不注入时行为与改造前一致。
123596
- */
123597
- const SurfaceFormTextsContext = createContext(DEFAULT_SURFACE_FORM_TEXTS);
123598
- function useSurfaceFormTexts() {
123599
- return useContext(SurfaceFormTextsContext);
123600
- }
123601
- function SurfaceFormTextsProvider({ texts, children }) {
123602
- const value = useMemo(() => resolveSurfaceFormTexts(texts), [texts]);
123603
- return /* @__PURE__ */ jsx(SurfaceFormTextsContext.Provider, {
123604
- value,
123605
- children
123606
- });
123607
- }
123608
122956
  const str = (props, key, fallback = "") => typeof props[key] === "string" ? props[key] : fallback;
123609
122957
  function collectFields(node, out) {
123610
122958
  if (node.component === "FieldArray") return;
@@ -123937,6 +123285,7 @@ function SurfaceField({ form, props, scope, binding }) {
123937
123285
  };
123938
123286
  const errorId = error ? `webskill-surface-${form.surfaceId}-${key}-error` : void 0;
123939
123287
  const labelId = `webskill-surface-${form.surfaceId}-${key}-label`;
123288
+ const controlId = `webskill-surface-${form.surfaceId}-${key}`;
123940
123289
  const options = Array.isArray(props["options"]) ? props["options"] : [];
123941
123290
  const suggestion = props["suggestion"];
123942
123291
  const texts = useSurfaceFormTexts();
@@ -123956,20 +123305,20 @@ function SurfaceField({ form, props, scope, binding }) {
123956
123305
  if (!binding && !form.isFieldVisible(key)) return null;
123957
123306
  const control = () => {
123958
123307
  if (type === "textarea") return /* @__PURE__ */ jsx(Textarea, {
123959
- id: key,
123308
+ id: controlId,
123960
123309
  ...anchor,
123961
123310
  invalid: Boolean(error),
123962
123311
  value: typeof value === "string" ? value : "",
123963
123312
  onChange: (event) => setValue(event.target.value)
123964
123313
  });
123965
123314
  if (type === "toggle") return /* @__PURE__ */ jsx(Switch, {
123966
- id: key,
123315
+ id: controlId,
123967
123316
  ...anchor,
123968
123317
  checked: value === true,
123969
123318
  onCheckedChange: (next) => setValue(next)
123970
123319
  });
123971
123320
  if (asRadioGroup) return /* @__PURE__ */ jsx(RadioGroup, {
123972
- id: key,
123321
+ id: controlId,
123973
123322
  ...anchor,
123974
123323
  "aria-labelledby": labelId,
123975
123324
  invalid: Boolean(error),
@@ -123987,7 +123336,7 @@ function SurfaceField({ form, props, scope, binding }) {
123987
123336
  value: String(index)
123988
123337
  }));
123989
123338
  if (multiple) return /* @__PURE__ */ jsx("select", {
123990
- id: key,
123339
+ id: controlId,
123991
123340
  ...anchor,
123992
123341
  multiple: true,
123993
123342
  value: Array.isArray(value) ? value.map((item) => optionIndex(options, item)) : [],
@@ -123998,7 +123347,7 @@ function SurfaceField({ form, props, scope, binding }) {
123998
123347
  }, option.value))
123999
123348
  });
124000
123349
  return /* @__PURE__ */ jsx(Select, {
124001
- id: key,
123350
+ id: controlId,
124002
123351
  ...anchor,
124003
123352
  options: optionList,
124004
123353
  value: optionIndex(options, value),
@@ -124006,14 +123355,14 @@ function SurfaceField({ form, props, scope, binding }) {
124006
123355
  });
124007
123356
  }
124008
123357
  if (type === "file") return /* @__PURE__ */ jsx("input", {
124009
- id: key,
123358
+ id: controlId,
124010
123359
  ...anchor,
124011
123360
  type: "file",
124012
123361
  className: "w-full cursor-pointer rounded-md border border-input bg-surface px-3 py-2 text-sm text-muted shadow-xs transition-colors outline-none file:mr-3 file:cursor-pointer file:rounded-md file:border-0 file:bg-primary file:px-3 file:py-1 file:text-sm file:font-medium file:text-primary-foreground hover:file:bg-primary/90 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/20 disabled:cursor-not-allowed disabled:opacity-50",
124013
123362
  onChange: (event) => setValue(event.target.files?.[0]?.name ?? "")
124014
123363
  });
124015
123364
  return /* @__PURE__ */ jsx(Input, {
124016
- id: key,
123365
+ id: controlId,
124017
123366
  ...anchor,
124018
123367
  invalid: Boolean(error),
124019
123368
  type: type === "number" ? "number" : type === "date" ? "date" : type === "password" ? "password" : "text",
@@ -124027,7 +123376,7 @@ function SurfaceField({ form, props, scope, binding }) {
124027
123376
  /* @__PURE__ */ jsx(FieldLabel, {
124028
123377
  id: labelId,
124029
123378
  required,
124030
- ...asRadioGroup ? {} : { htmlFor: key },
123379
+ ...asRadioGroup ? {} : { htmlFor: controlId },
124031
123380
  children: label
124032
123381
  }),
124033
123382
  control(),
@@ -124188,13 +123537,49 @@ function SpecTabs({ props, children }) {
124188
123537
  }), panels[index] ?? null]
124189
123538
  });
124190
123539
  }
123540
+ /** 语义档 → 最小列宽。刻意不收像素值:模型给不准,且会绕开 token 体系 */
123541
+ const MIN_COLUMN_WIDTH = {
123542
+ sm: "12rem",
123543
+ md: "16rem",
123544
+ lg: "22rem"
123545
+ };
124191
123546
  function SpecGrid({ props, children }) {
123547
+ if (props["columns"] === "auto") return /* @__PURE__ */ jsx("div", {
123548
+ className: "grid gap-3",
123549
+ "data-webskill-multicol": "",
123550
+ style: { gridTemplateColumns: `repeat(auto-fit, minmax(${MIN_COLUMN_WIDTH[str(props, "minColumnWidth", "md")] ?? MIN_COLUMN_WIDTH["md"]}, 1fr))` },
123551
+ children
123552
+ });
124192
123553
  return /* @__PURE__ */ jsx("div", {
124193
123554
  className: "grid gap-3",
123555
+ "data-webskill-multicol": "",
124194
123556
  style: { gridTemplateColumns: `repeat(${Math.min(4, Math.max(2, num(props, "columns", 2)))}, minmax(0, 1fr))` },
124195
123557
  children
124196
123558
  });
124197
123559
  }
123560
+ const SPLIT_RATIO = {
123561
+ "1:1": "1fr 1fr",
123562
+ "2:1": "2fr 1fr",
123563
+ "3:1": "3fr 1fr",
123564
+ "1:2": "1fr 2fr"
123565
+ };
123566
+ /**
123567
+ * 主次分栏(FR-12.3)。窄容器降级为纵向堆叠——用容器查询而不是视口断点,
123568
+ * 因为 surface 可能被塞进任意宽度的宿主容器里。
123569
+ */
123570
+ function SpecSplit({ props, children }) {
123571
+ return /* @__PURE__ */ jsx("div", {
123572
+ className: "webskill-spec-split grid gap-3",
123573
+ "data-webskill-multicol": "",
123574
+ style: { "--split-ratio": SPLIT_RATIO[str(props, "ratio", "1:1")] ?? SPLIT_RATIO["1:1"] },
123575
+ children
123576
+ });
123577
+ }
123578
+ /** `Card` 的跨列与内间距(FR-12.4)。`span` 只在 `Grid` 内有意义,别处静默无效 */
123579
+ function cardLayoutProps(props) {
123580
+ const density = str(props, "density", "default");
123581
+ return { className: `${density === "compact" ? "p-2" : density === "comfortable" ? "p-5" : "p-3"} ${num(props, "span", 1) === 2 ? "webskill-spec-card--span2" : ""}`.trim() };
123582
+ }
124198
123583
  function SpecTimeline({ props }) {
124199
123584
  return /* @__PURE__ */ jsx("ol", {
124200
123585
  className: "flex flex-col gap-2 pl-4",
@@ -124241,6 +123626,190 @@ function SpecProgress({ props }) {
124241
123626
  });
124242
123627
  }
124243
123628
  /**
123629
+ * 0.11.0 分册 13 的 8 个新组件。与上面四个同理:四档渲染共用这一份,
123630
+ * 避免同一个 spec 在不同档里长成不同版式(FR-12.5 / AC-G15)。
123631
+ *
123632
+ * `palette` 是**装饰色**,与表状态的 `tone` 语义不重叠;取值是色板名不是颜色值,
123633
+ * 映射到 design token 后深浅色主题自动跟随(AC-13.6)。
123634
+ */
123635
+ const PALETTE_CLASS = {
123636
+ sky: "webskill-palette-sky",
123637
+ violet: "webskill-palette-violet",
123638
+ amber: "webskill-palette-amber",
123639
+ rose: "webskill-palette-rose",
123640
+ emerald: "webskill-palette-emerald"
123641
+ };
123642
+ function paletteClass(props) {
123643
+ const name = str(props, "palette");
123644
+ return name && PALETTE_CLASS[name] ? PALETTE_CLASS[name] : "";
123645
+ }
123646
+ /** 白名单外的图标名不渲染成图形,降级为可读文本——渲染不出来的方块比没有更糟 */
123647
+ const ICON_GLYPH = {
123648
+ info: "ℹ",
123649
+ check: "✓",
123650
+ alert: "⚠",
123651
+ x: "✕",
123652
+ clock: "◷",
123653
+ calendar: "▤",
123654
+ user: "☺",
123655
+ star: "★",
123656
+ search: "⌕",
123657
+ settings: "⚙",
123658
+ download: "↓",
123659
+ link: "🔗",
123660
+ chart: "▥",
123661
+ file: "▢",
123662
+ folder: "▤",
123663
+ mail: "✉"
123664
+ };
123665
+ function SpecIcon({ props }) {
123666
+ const name = str(props, "name");
123667
+ const glyph = ICON_GLYPH[name];
123668
+ return /* @__PURE__ */ jsx("span", {
123669
+ className: `inline-flex size-4 items-center justify-center text-sm ${paletteClass(props)}`,
123670
+ "data-icon": name,
123671
+ role: "img",
123672
+ "aria-label": name,
123673
+ children: glyph ?? name
123674
+ });
123675
+ }
123676
+ const RATIO_CLASS = {
123677
+ "1:1": "aspect-square",
123678
+ "4:3": "aspect-[4/3]",
123679
+ "16:9": "aspect-video"
123680
+ };
123681
+ function SpecImage({ props }) {
123682
+ const ratio = str(props, "ratio", "auto");
123683
+ return /* @__PURE__ */ jsx("img", {
123684
+ src: str(props, "src"),
123685
+ alt: str(props, "alt"),
123686
+ className: `w-full rounded-md object-cover ${RATIO_CLASS[ratio] ?? ""}`
123687
+ });
123688
+ }
123689
+ function SpecQuote({ props }) {
123690
+ const by = str(props, "by");
123691
+ return /* @__PURE__ */ jsxs("blockquote", {
123692
+ className: "border-l-2 border-border pl-3 text-sm italic text-ink",
123693
+ children: [str(props, "text"), by ? /* @__PURE__ */ jsxs("footer", {
123694
+ className: "mt-1 text-xs not-italic text-muted",
123695
+ children: ["— ", by]
123696
+ }) : null]
123697
+ });
123698
+ }
123699
+ function SpecCallout({ props }) {
123700
+ const title = str(props, "title");
123701
+ return /* @__PURE__ */ jsxs("aside", {
123702
+ className: `rounded-md border border-border bg-subtle p-3 ${paletteClass(props)}`,
123703
+ children: [title ? /* @__PURE__ */ jsx("strong", {
123704
+ className: "block text-sm text-ink",
123705
+ children: title
123706
+ }) : null, /* @__PURE__ */ jsx("p", {
123707
+ className: "text-sm text-ink",
123708
+ children: str(props, "text")
123709
+ })]
123710
+ });
123711
+ }
123712
+ function SpecKeyValue({ props }) {
123713
+ return /* @__PURE__ */ jsx("dl", {
123714
+ className: "grid grid-cols-[auto_1fr] gap-x-4 gap-y-1 text-sm",
123715
+ children: list(props["items"]).map((item, index) => /* @__PURE__ */ jsxs("div", {
123716
+ className: "contents",
123717
+ children: [/* @__PURE__ */ jsx("dt", {
123718
+ className: "text-muted",
123719
+ children: str(item, "label")
123720
+ }), /* @__PURE__ */ jsx("dd", {
123721
+ className: "text-ink",
123722
+ children: str(item, "value")
123723
+ })]
123724
+ }, index))
123725
+ });
123726
+ }
123727
+ function SpecGauge({ props }) {
123728
+ const min = num(props, "min", 0);
123729
+ const max = num(props, "max", 100);
123730
+ const value = num(props, "value", min);
123731
+ const percent = gaugePercent(value, min, max);
123732
+ const label = str(props, "label");
123733
+ return /* @__PURE__ */ jsxs("div", {
123734
+ className: "flex flex-col gap-1",
123735
+ "data-tone": str(props, "tone", "neutral"),
123736
+ children: [
123737
+ label ? /* @__PURE__ */ jsx("span", {
123738
+ className: "text-xs text-muted",
123739
+ children: label
123740
+ }) : null,
123741
+ /* @__PURE__ */ jsx("div", {
123742
+ role: "meter",
123743
+ "aria-label": label || "Gauge",
123744
+ "aria-valuenow": value,
123745
+ "aria-valuemin": min,
123746
+ "aria-valuemax": max,
123747
+ className: "h-2 w-full overflow-hidden rounded-full bg-subtle",
123748
+ children: /* @__PURE__ */ jsx("div", {
123749
+ className: "h-full bg-accent",
123750
+ style: { width: `${percent}%` }
123751
+ })
123752
+ }),
123753
+ /* @__PURE__ */ jsx("span", {
123754
+ className: "text-sm font-medium text-ink",
123755
+ children: value
123756
+ })
123757
+ ]
123758
+ });
123759
+ }
123760
+ function SpecAccordion({ props }) {
123761
+ return /* @__PURE__ */ jsx("div", {
123762
+ className: "flex flex-col gap-1",
123763
+ children: list(props["items"]).map((item, index) => /* @__PURE__ */ jsxs("details", {
123764
+ className: "rounded-md border border-border px-3 py-2",
123765
+ children: [/* @__PURE__ */ jsx("summary", {
123766
+ className: "cursor-pointer text-sm font-medium text-ink",
123767
+ children: str(item, "title")
123768
+ }), /* @__PURE__ */ jsx("p", {
123769
+ className: "mt-1 text-sm text-ink",
123770
+ children: str(item, "text")
123771
+ })]
123772
+ }, index))
123773
+ });
123774
+ }
123775
+ function SpecCarousel({ props }) {
123776
+ const items = list(props["items"]);
123777
+ return /* @__PURE__ */ jsx("div", {
123778
+ className: "flex snap-x snap-mandatory gap-3 overflow-x-auto pb-1",
123779
+ role: "group",
123780
+ "aria-label": useSurfaceHostControlTexts().carousel,
123781
+ children: items.map((item, index) => /* @__PURE__ */ jsxs("figure", {
123782
+ className: "w-48 shrink-0 snap-start rounded-md border border-border p-2",
123783
+ children: [
123784
+ item["src"] ? /* @__PURE__ */ jsx("img", {
123785
+ src: str(item, "src"),
123786
+ alt: str(item, "title"),
123787
+ className: "mb-1 w-full rounded object-cover"
123788
+ }) : null,
123789
+ /* @__PURE__ */ jsx("figcaption", {
123790
+ className: "text-sm font-medium text-ink",
123791
+ children: str(item, "title")
123792
+ }),
123793
+ item["text"] ? /* @__PURE__ */ jsx("p", {
123794
+ className: "text-xs text-muted",
123795
+ children: str(item, "text")
123796
+ }) : null
123797
+ ]
123798
+ }, index))
123799
+ });
123800
+ }
123801
+ /**
123802
+ * surface 级视觉档(FR-13.4):只认**根节点**上的 `theme`。
123803
+ *
123804
+ * 刻意放在这里而不是渲染器文件里:`catalog-props-declared` 护栏按「最近的
123805
+ * `case 'Name':`」归属 props 读取,写在 switch 之后会被算到最后一个组件头上。
123806
+ * `office` 是缺省档,返回 undefined 让根容器一个属性都不加(AC-13.8 的回归基线)。
123807
+ */
123808
+ function surfaceThemeOf(node) {
123809
+ const value = node?.props?.["theme"];
123810
+ return typeof value === "string" && value !== "office" ? value : void 0;
123811
+ }
123812
+ /**
124244
123813
  * json-render 与 OpenUI 两档的 Renderer 都只把 props 交给组件实现,拿不到节点 id,
124245
123814
  * 也拿不到表单状态,因此表单值与动作回传统一走这个 Context。
124246
123815
  * 缺省值故意不给空实现:没包 Provider 就是宿主接线错了,必须失败而不是“点了没反应”。
@@ -124292,7 +123861,10 @@ function CatalogForm({ props, children }) {
124292
123861
  className: "text-sm font-semibold text-ink",
124293
123862
  children: str(props, "title")
124294
123863
  }) : null,
124295
- children,
123864
+ /* @__PURE__ */ jsx("div", {
123865
+ className: "webskill-spec-form__fields",
123866
+ children
123867
+ }),
124296
123868
  /* @__PURE__ */ jsx(SurfaceFormButtons, {
124297
123869
  form,
124298
123870
  props,
@@ -124366,7 +123938,7 @@ const catalogComponentImpls = {
124366
123938
  children
124367
123939
  }),
124368
123940
  Card: ({ props, children }) => /* @__PURE__ */ jsxs("section", {
124369
- className: "webskill-spec-card flex flex-col gap-2 rounded-lg border border-border bg-card p-3",
123941
+ className: `webskill-spec-card flex flex-col gap-2 rounded-lg border border-border bg-card ${cardLayoutProps(props).className} ${paletteClass(props)}`,
124370
123942
  children: [
124371
123943
  /* @__PURE__ */ jsx("h3", {
124372
123944
  className: "text-sm font-semibold text-ink",
@@ -124381,7 +123953,7 @@ const catalogComponentImpls = {
124381
123953
  }),
124382
123954
  Separator: () => /* @__PURE__ */ jsx(Separator, {}),
124383
123955
  Heading: ({ props }) => /* @__PURE__ */ jsx("h3", {
124384
- className: "text-sm font-semibold text-ink",
123956
+ className: `text-sm font-semibold text-ink ${paletteClass(props)}`,
124385
123957
  children: str(props, "text")
124386
123958
  }),
124387
123959
  Text: ({ props }) => /* @__PURE__ */ jsx("p", {
@@ -124391,6 +123963,7 @@ const catalogComponentImpls = {
124391
123963
  Markdown: ({ props }) => /* @__PURE__ */ jsx(Markdown, { children: str(props, "text") }),
124392
123964
  Badge: ({ props }) => /* @__PURE__ */ jsx(Badge, {
124393
123965
  tone: "neutral",
123966
+ className: paletteClass(props),
124394
123967
  children: str(props, "text")
124395
123968
  }),
124396
123969
  Metric: ({ props }) => /* @__PURE__ */ jsxs("div", {
@@ -124436,7 +124009,19 @@ const catalogComponentImpls = {
124436
124009
  props,
124437
124010
  children
124438
124011
  }),
124012
+ Split: ({ props, children }) => /* @__PURE__ */ jsx(SpecSplit, {
124013
+ props,
124014
+ children
124015
+ }),
124439
124016
  Timeline: ({ props }) => /* @__PURE__ */ jsx(SpecTimeline, { props }),
124017
+ Icon: ({ props }) => /* @__PURE__ */ jsx(SpecIcon, { props }),
124018
+ Image: ({ props }) => /* @__PURE__ */ jsx(SpecImage, { props }),
124019
+ Quote: ({ props }) => /* @__PURE__ */ jsx(SpecQuote, { props }),
124020
+ Callout: ({ props }) => /* @__PURE__ */ jsx(SpecCallout, { props }),
124021
+ KeyValue: ({ props }) => /* @__PURE__ */ jsx(SpecKeyValue, { props }),
124022
+ Gauge: ({ props }) => /* @__PURE__ */ jsx(SpecGauge, { props }),
124023
+ Accordion: ({ props }) => /* @__PURE__ */ jsx(SpecAccordion, { props }),
124024
+ Carousel: ({ props }) => /* @__PURE__ */ jsx(SpecCarousel, { props }),
124440
124025
  Progress: ({ props }) => /* @__PURE__ */ jsx(SpecProgress, { props }),
124441
124026
  FileLink: ({ props }) => /* @__PURE__ */ jsx("span", {
124442
124027
  className: "text-sm text-ink",
@@ -124462,4 +124047,4 @@ const catalogComponentImpls = {
124462
124047
  };
124463
124048
 
124464
124049
  //#endregion
124465
- export { DropdownMenuContent as C, Separator as D, Markdown as E, DropdownMenuCheckboxItem as S, Input as T, useSurfaceFormTexts as _, SpecProgress as a, DataTable as b, SurfaceButton as c, SurfaceFormButtons as d, SurfaceFormTextsProvider as f, useSurfaceForm as g, useCatalogSurfaceForm as h, SpecGrid as i, SurfaceField as l, str as m, CatalogSurfaceProvider as n, SpecTabs as o, catalogComponentImpls as p, EChart as r, SpecTimeline as s, CatalogNode as t, SurfaceFieldArray as u, Badge as v, DropdownMenuTrigger as w, DropdownMenu as x, Button as y };
124050
+ export { useSurfaceForm as A, cardLayoutProps as C, surfaceThemeOf as D, str as E, DataTable as F, Markdown as I, Separator as L, useSurfaceHostControlTexts as M, Badge as N, useCatalogSurfaceForm as O, Button as P, SurfaceFormTextsProvider as S, paletteClass as T, SpecTimeline as _, SpecAccordion as a, SurfaceFieldArray as b, SpecGauge as c, SpecImage as d, SpecKeyValue as f, SpecTabs as g, SpecSplit as h, EChart as i, useSurfaceFormTexts as j, useChartFontSizes as k, SpecGrid as l, SpecQuote as m, CatalogSurfaceProvider as n, SpecCallout as o, SpecProgress as p, ChartFontSizesProvider as r, SpecCarousel as s, CatalogNode as t, SpecIcon as u, SurfaceButton as v, catalogComponentImpls as w, SurfaceFormButtons as x, SurfaceField as y };