loopable-cli 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/_connectorId-CkygNLny.js +1 -0
  3. package/.output/public/assets/_loopId-Cshlc5Ja.js +1 -0
  4. package/.output/public/assets/_taskId-BKDIJ_Fg.js +1 -0
  5. package/.output/public/assets/alert-BT2EVMJP.js +1 -0
  6. package/.output/public/assets/arrow-left-CWUZt6k2.js +1 -0
  7. package/.output/public/assets/arrow-right-dy_oOg_c.js +1 -0
  8. package/.output/public/assets/connection-status-DCqqmY_6.js +1 -0
  9. package/.output/public/assets/connector-icon-BUoK6Cru.js +1 -0
  10. package/.output/public/assets/connectors-CeLBtEtg.js +1 -0
  11. package/.output/public/assets/{external-link-D46X-bXa.js → external-link-DC11orFA.js} +1 -1
  12. package/.output/public/assets/gaps-BtFoD7mF.js +1 -0
  13. package/.output/public/assets/inbox-BYNjkNDJ.js +1 -0
  14. package/.output/public/assets/index-0yP3Jn_G.js +18 -0
  15. package/.output/public/assets/{loader-CcBl2u8m.js → loader-B4Epchm_.js} +1 -1
  16. package/.output/public/assets/loop-form-DnSJNc1k.js +1 -0
  17. package/.output/public/assets/loops-1CvbqO6m.js +1 -0
  18. package/.output/public/assets/new-m5NlqYQT.js +1 -0
  19. package/.output/public/assets/play-DD4xQgvi.js +1 -0
  20. package/.output/public/assets/preload-helper-CfdAYKD7.js +3 -0
  21. package/.output/public/assets/refresh-cw-C3xBnKfy.js +1 -0
  22. package/.output/public/assets/rolldown-runtime-CbXtAM7H.js +1 -0
  23. package/.output/public/assets/runners-D8QVl-Y6.js +1 -0
  24. package/.output/public/assets/select-Cppu-hti.js +1 -0
  25. package/.output/public/assets/setting-fields-bJ_gTG7Q.js +3 -0
  26. package/.output/public/assets/styles-ClTGaXU0.css +2 -0
  27. package/.output/public/assets/switch-hRIbNGOj.js +1 -0
  28. package/.output/public/assets/task-list-BAxjcVgr.js +1 -0
  29. package/.output/public/assets/textarea-Fyuzi6Vp.js +1 -0
  30. package/.output/public/assets/{trash-2-D6u6NpzO.js → trash-2-BXZzBsoV.js} +1 -1
  31. package/.output/public/assets/useValueChanged-VVyq4hb9.js +1 -0
  32. package/.output/server/{_connectorId-8nb5yOzG.mjs → _connectorId-C9yydJrC.mjs} +92 -11
  33. package/.output/server/_libs/@base-ui/react+[...].mjs +427 -427
  34. package/.output/server/{_loopId-BsUL1SeL.mjs → _loopId-B0VG-eBC.mjs} +44 -15
  35. package/.output/server/_ssr/{callback-CUINvl7M.mjs → access-DTttr563.mjs} +39 -5
  36. package/.output/server/_ssr/{agents-DAOZPgO2.mjs → agents-C7B6RJ6-.mjs} +3 -3
  37. package/.output/server/_ssr/{agents-Btql102J.mjs → agents-DG643yoJ.mjs} +4 -4
  38. package/.output/server/_ssr/{alert-NEiOCTOl.mjs → alert-DQvzE7bu.mjs} +1 -1
  39. package/.output/server/_ssr/{client-CKkOfh-s.mjs → client-BtVRVhQ2.mjs} +4 -2
  40. package/.output/server/_ssr/{connection-status-Bi5peUAk.mjs → connection-status-BZr3Y-IC.mjs} +2 -2
  41. package/.output/server/_ssr/{connections-qnw2GVlP.mjs → connections-Df-aDpfJ.mjs} +816 -17
  42. package/.output/server/_ssr/connector-icon-WvxwZ5TF.mjs +56 -0
  43. package/.output/server/_ssr/{connectors-BHNwuIMj.mjs → connectors-BU0IiRge.mjs} +7 -6
  44. package/.output/server/_ssr/{connectors-C28g0i4c.mjs → connectors-e0mf2pMs.mjs} +14 -3
  45. package/.output/server/_ssr/{gaps-RAFSXLZf.mjs → gaps-Cz76ZicM.mjs} +6 -6
  46. package/.output/server/_ssr/inbox-CAUBa1I3.mjs +114 -0
  47. package/.output/server/_ssr/{loop-form-DlObSewZ.mjs → loop-form-FqSaXiHl.mjs} +8 -7
  48. package/.output/server/_ssr/{loops-APFcP0y6.mjs → loops-D8WuK7Ke.mjs} +200 -7
  49. package/.output/server/_ssr/{loops-xt2Bn7_q.mjs → loops-Dqoebe8q.mjs} +8 -8
  50. package/.output/server/_ssr/{new-DfKyd2Wa.mjs → new-bBsVaWD6.mjs} +5 -5
  51. package/.output/server/_ssr/{router-3WmpE5b_.mjs → router-54IDWTVz.mjs} +68 -62
  52. package/.output/server/_ssr/{runners-By-mwc3F.mjs → runners-Cj6z9Mqh.mjs} +26 -3
  53. package/.output/server/_ssr/{runners-DtXs4Q8a.mjs → runners-D2UAdLyj.mjs} +3 -3
  54. package/.output/server/_ssr/{runners-DI_NxpHC.mjs → runners-DGWaVvWi.mjs} +4 -4
  55. package/.output/server/_ssr/{secrets-Hqti-niS.mjs → secrets-CRnpwGBh.mjs} +2 -2
  56. package/.output/server/_ssr/{setting-fields-8vKFj4df.mjs → setting-fields-DzBlslan.mjs} +6 -13
  57. package/.output/server/_ssr/ssr.mjs +45 -33
  58. package/.output/server/_ssr/{start-Bdc2GJUI.mjs → start-Vq3Oan3v.mjs} +3 -4
  59. package/.output/server/_ssr/{switch-ReNglgH6.mjs → switch-1pnd_bPJ.mjs} +2 -2
  60. package/.output/server/_ssr/{task-list-CUITIqkb.mjs → task-list-_qgBS9LU.mjs} +9 -8
  61. package/.output/server/_ssr/{tasks-vcoodp_D.mjs → tasks-BDqznm57.mjs} +98 -8
  62. package/.output/server/_ssr/{tasks-SAjNovX6.mjs → tasks-Qtml5TlK.mjs} +15 -6
  63. package/.output/server/_ssr/textarea-CHJTKtsJ.mjs +14 -0
  64. package/.output/server/{_tanstack-start-manifest_v-C0cP5F0M.mjs → _tanstack-start-manifest_v-CvheE7ZF.mjs} +54 -48
  65. package/.output/server/{_taskId-CXS3lod0.mjs → _taskId-V4QLBO2N.mjs} +17 -10
  66. package/.output/server/index.mjs +173 -166
  67. package/README.md +26 -21
  68. package/dist/cli.mjs +7146 -16
  69. package/dist/dispatcher.mjs +844 -33
  70. package/drizzle/0024_prompt_tasks.sql +44 -0
  71. package/drizzle/meta/_journal.json +7 -0
  72. package/package.json +21 -17
  73. package/.output/public/assets/_connectorId-BWjYn5tm.js +0 -1
  74. package/.output/public/assets/_loopId-Ds4RkyEc.js +0 -1
  75. package/.output/public/assets/_taskId-BOzICXDf.js +0 -1
  76. package/.output/public/assets/alert-Bn9-Zm0l.js +0 -1
  77. package/.output/public/assets/arrow-left-BF9juV9T.js +0 -1
  78. package/.output/public/assets/arrow-right-CzqvnOY1.js +0 -1
  79. package/.output/public/assets/button-HCY6DCY-.js +0 -1
  80. package/.output/public/assets/connection-status-CYZB8kLy.js +0 -1
  81. package/.output/public/assets/connector-icon-BZ_MUJV_.js +0 -1
  82. package/.output/public/assets/connectors-BvzttfSu.js +0 -1
  83. package/.output/public/assets/connectors-DdJNwRN_.js +0 -1
  84. package/.output/public/assets/gaps-D-I6xiDc.js +0 -1
  85. package/.output/public/assets/inbox-BUUu9xxE.js +0 -1
  86. package/.output/public/assets/index-ztzex0FN.js +0 -10
  87. package/.output/public/assets/loop-form-dB3CLcZb.js +0 -1
  88. package/.output/public/assets/loops-DRunQrxL.js +0 -1
  89. package/.output/public/assets/loops-oSdqMd29.js +0 -1
  90. package/.output/public/assets/manifests-DNMqf7Vi.js +0 -7
  91. package/.output/public/assets/new-uyFxVjuB.js +0 -1
  92. package/.output/public/assets/preload-helper-ORbuV86A.js +0 -3
  93. package/.output/public/assets/runners-DSU3r5Ww.js +0 -1
  94. package/.output/public/assets/setting-fields-ixkpdBb-.js +0 -3
  95. package/.output/public/assets/styles-DZL5V1o7.css +0 -2
  96. package/.output/public/assets/switch-d5ummmHY.js +0 -1
  97. package/.output/public/assets/task-list-BpOStt9v.js +0 -1
  98. package/.output/public/assets/tasks-B8MsKgic.js +0 -1
  99. package/.output/server/_ssr/access-zIl15o8y.mjs +0 -42
  100. package/.output/server/_ssr/connector-icon-DZXQLLFo.mjs +0 -37
  101. package/.output/server/_ssr/inbox-k5zHergU.mjs +0 -35
@@ -718,6 +718,182 @@ var require_react_dom = /* @__PURE__ */ __commonJSMin(((exports, module) => {
718
718
  module.exports = require_react_dom_production();
719
719
  }));
720
720
  //#endregion
721
+ //#region node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
722
+ var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
723
+ function hasWindow() {
724
+ return typeof window !== "undefined";
725
+ }
726
+ function getNodeName(node) {
727
+ if (isNode(node)) return (node.nodeName || "").toLowerCase();
728
+ return "#document";
729
+ }
730
+ function getWindow(node) {
731
+ var _node$ownerDocument;
732
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
733
+ }
734
+ function getDocumentElement(node) {
735
+ var _ref;
736
+ return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
737
+ }
738
+ function isNode(value) {
739
+ if (!hasWindow()) return false;
740
+ return value instanceof Node || value instanceof getWindow(value).Node;
741
+ }
742
+ function isElement(value) {
743
+ if (!hasWindow()) return false;
744
+ return value instanceof Element || value instanceof getWindow(value).Element;
745
+ }
746
+ function isHTMLElement(value) {
747
+ if (!hasWindow()) return false;
748
+ return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
749
+ }
750
+ function isShadowRoot(value) {
751
+ if (!hasWindow() || typeof ShadowRoot === "undefined") return false;
752
+ return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
753
+ }
754
+ function isOverflowElement(element) {
755
+ const { overflow, overflowX, overflowY, display } = getComputedStyle$1(element);
756
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
757
+ }
758
+ function isTableElement(element) {
759
+ return /^(table|td|th)$/.test(getNodeName(element));
760
+ }
761
+ function isTopLayer(element) {
762
+ try {
763
+ if (element.matches(":popover-open")) return true;
764
+ } catch (_e) {}
765
+ try {
766
+ return element.matches(":modal");
767
+ } catch (_e) {
768
+ return false;
769
+ }
770
+ }
771
+ var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
772
+ var containRe = /paint|layout|strict|content/;
773
+ var isNotNone = (value) => !!value && value !== "none";
774
+ var isWebKitValue;
775
+ function isContainingBlock(elementOrCss) {
776
+ const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
777
+ return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
778
+ }
779
+ function getContainingBlock(element) {
780
+ let currentNode = getParentNode(element);
781
+ while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
782
+ if (isContainingBlock(currentNode)) return currentNode;
783
+ else if (isTopLayer(currentNode)) return null;
784
+ currentNode = getParentNode(currentNode);
785
+ }
786
+ return null;
787
+ }
788
+ function isWebKit() {
789
+ if (isWebKitValue == null) isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
790
+ return isWebKitValue;
791
+ }
792
+ function isLastTraversableNode(node) {
793
+ return /^(html|body|#document)$/.test(getNodeName(node));
794
+ }
795
+ function getComputedStyle$1(element) {
796
+ return getWindow(element).getComputedStyle(element);
797
+ }
798
+ function getNodeScroll(element) {
799
+ if (isElement(element)) return {
800
+ scrollLeft: element.scrollLeft,
801
+ scrollTop: element.scrollTop
802
+ };
803
+ return {
804
+ scrollLeft: element.scrollX,
805
+ scrollTop: element.scrollY
806
+ };
807
+ }
808
+ function getParentNode(node) {
809
+ if (getNodeName(node) === "html") return node;
810
+ const result = node.assignedSlot || node.parentNode || isShadowRoot(node) && node.host || getDocumentElement(node);
811
+ return isShadowRoot(result) ? result.host : result;
812
+ }
813
+ function getNearestOverflowAncestor(node) {
814
+ const parentNode = getParentNode(node);
815
+ if (isLastTraversableNode(parentNode)) return (node.ownerDocument || node).body;
816
+ if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) return parentNode;
817
+ return getNearestOverflowAncestor(parentNode);
818
+ }
819
+ function getOverflowAncestors(node, list, traverseIframes) {
820
+ var _node$ownerDocument2;
821
+ if (list === void 0) list = [];
822
+ if (traverseIframes === void 0) traverseIframes = true;
823
+ const scrollableAncestor = getNearestOverflowAncestor(node);
824
+ const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
825
+ const win = getWindow(scrollableAncestor);
826
+ if (isBody) {
827
+ const frameElement = getFrameElement(win);
828
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
829
+ } else return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
830
+ }
831
+ function getFrameElement(win) {
832
+ return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
833
+ }
834
+ //#endregion
835
+ //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/safeReact.mjs
836
+ /**
837
+ * A clone of the React namespace for reading APIs that may be missing in older
838
+ * supported React versions. Bundlers can rewrite direct `React.someNewApi`
839
+ * reads into named imports, which breaks React 17. Reading from this cloned
840
+ * object keeps those lookups optional.
841
+ *
842
+ * @see https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379
843
+ */
844
+ var SafeReact = { ...import_react };
845
+ //#endregion
846
+ //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/useRefWithInit.mjs
847
+ var UNINITIALIZED = {};
848
+ /**
849
+ * A React.useRef() that is initialized with a function. Note that it accepts an optional
850
+ * initialization argument, so the initialization function doesn't need to be an inline closure.
851
+ *
852
+ * @usage
853
+ * const ref = useRefWithInit(sortColumns, columns)
854
+ */
855
+ function useRefWithInit(init, initArg) {
856
+ const ref = import_react.useRef(UNINITIALIZED);
857
+ if (ref.current === UNINITIALIZED) ref.current = init(initArg);
858
+ return ref;
859
+ }
860
+ //#endregion
861
+ //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/useStableCallback.mjs
862
+ var useInsertionEffect = SafeReact.useInsertionEffect;
863
+ var useSafeInsertionEffect = useInsertionEffect && useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn();
864
+ /**
865
+ * Stabilizes the function passed so it's always the same between renders.
866
+ *
867
+ * The function becomes non-reactive to any values it captures.
868
+ * It can safely be passed as a dependency of `React.useMemo` and `React.useEffect` without re-triggering them if its captured values change.
869
+ *
870
+ * The function must only be called inside effects and event handlers, never during render (which throws an error).
871
+ *
872
+ * This hook is a more permissive version of React 19.2's `React.useEffectEvent` in that it can be passed through contexts and called in event handler props, not just effects.
873
+ */
874
+ function useStableCallback(callback) {
875
+ const stable = useRefWithInit(createStableCallback).current;
876
+ stable.next = callback;
877
+ useSafeInsertionEffect(stable.effect);
878
+ return stable.trampoline;
879
+ }
880
+ function createStableCallback() {
881
+ const stable = {
882
+ next: void 0,
883
+ callback: assertNotCalled,
884
+ trampoline: (...args) => stable.callback?.(...args),
885
+ effect: () => {
886
+ stable.callback = stable.next;
887
+ }
888
+ };
889
+ return stable;
890
+ }
891
+ function assertNotCalled() {}
892
+ //#endregion
893
+ //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
894
+ var noop = () => {};
895
+ var useIsoLayoutEffect = typeof document !== "undefined" ? import_react.useLayoutEffect : noop;
896
+ //#endregion
721
897
  //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/mergeObjects.mjs
722
898
  function mergeObjects(a, b) {
723
899
  if (a && !b) return a;
@@ -881,434 +1057,29 @@ function isSyntheticEvent(event) {
881
1057
  //#endregion
882
1058
  //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/formatErrorMessage.mjs
883
1059
  /**
884
- * Creates a formatErrorMessage function with a custom URL and prefix.
885
- * @param baseUrl - The base URL for the error page (e.g., 'https://base-ui.com/production-error')
886
- * @param prefix - The prefix for the error message (e.g., 'Base UI')
887
- * @returns A function that formats error messages with the given URL and prefix
888
- */
889
- function createFormatErrorMessage(baseUrl, prefix) {
890
- return function formatErrorMessage(code, ...args) {
891
- const url = new URL(baseUrl);
892
- url.searchParams.set("code", code.toString());
893
- args.forEach((arg) => url.searchParams.append("args[]", arg));
894
- return `${prefix} error #${code}; visit ${url} for the full message.`;
895
- };
896
- }
897
- /**
898
- * WARNING: Don't import this directly. It's imported by the code generated by
899
- * `@mui/internal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`
900
- * constructors to ensure the plugin works as expected. Supported patterns include:
901
- * throw new Error('My message');
902
- * throw new Error(`My message: ${foo}`);
903
- * throw new Error(`My message: ${foo}` + 'another string');
904
- * ...
905
- */
906
- var formatErrorMessage = createFormatErrorMessage("https://base-ui.com/production-error", "Base UI");
907
- //#endregion
908
- //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/useRefWithInit.mjs
909
- var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
910
- var UNINITIALIZED = {};
911
- /**
912
- * A React.useRef() that is initialized with a function. Note that it accepts an optional
913
- * initialization argument, so the initialization function doesn't need to be an inline closure.
914
- *
915
- * @usage
916
- * const ref = useRefWithInit(sortColumns, columns)
917
- */
918
- function useRefWithInit(init, initArg) {
919
- const ref = import_react.useRef(UNINITIALIZED);
920
- if (ref.current === UNINITIALIZED) ref.current = init(initArg);
921
- return ref;
922
- }
923
- //#endregion
924
- //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/useMergedRefs.mjs
925
- /**
926
- * Merges refs into a single memoized callback ref or `null`.
927
- * This makes sure multiple refs are updated together and have the same value.
928
- *
929
- * This function accepts up to four refs. If you need to merge more, or have an unspecified number of refs to merge,
930
- * use `useMergedRefsN` instead.
931
- */
932
- function useMergedRefs(a, b, c, d) {
933
- const forkRef = useRefWithInit(createForkRef).current;
934
- if (didChange(forkRef, a, b, c, d)) update(forkRef, [
935
- a,
936
- b,
937
- c,
938
- d
939
- ]);
940
- return forkRef.callback;
941
- }
942
- /**
943
- * Merges an array of refs into a single memoized callback ref or `null`.
944
- *
945
- * If you need to merge a fixed number (up to four) of refs, use `useMergedRefs` instead for better performance.
946
- */
947
- function useMergedRefsN(refs) {
948
- const forkRef = useRefWithInit(createForkRef).current;
949
- if (didChangeN(forkRef, refs)) update(forkRef, refs);
950
- return forkRef.callback;
951
- }
952
- function createForkRef() {
953
- return {
954
- callback: null,
955
- cleanup: null,
956
- refs: []
957
- };
958
- }
959
- function didChange(forkRef, a, b, c, d) {
960
- return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
961
- }
962
- function didChangeN(forkRef, newRefs) {
963
- return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);
964
- }
965
- function update(forkRef, refs) {
966
- forkRef.refs = refs;
967
- if (refs.every((ref) => ref == null)) {
968
- forkRef.callback = null;
969
- return;
970
- }
971
- forkRef.callback = (instance) => {
972
- if (forkRef.cleanup) {
973
- forkRef.cleanup();
974
- forkRef.cleanup = null;
975
- }
976
- if (instance != null) {
977
- const cleanupCallbacks = Array(refs.length).fill(null);
978
- for (let i = 0; i < refs.length; i += 1) {
979
- const ref = refs[i];
980
- if (ref == null) continue;
981
- switch (typeof ref) {
982
- case "function": {
983
- const refCleanup = ref(instance);
984
- if (typeof refCleanup === "function") cleanupCallbacks[i] = refCleanup;
985
- break;
986
- }
987
- case "object": ref.current = instance;
988
- }
989
- }
990
- forkRef.cleanup = () => {
991
- for (let i = 0; i < refs.length; i += 1) {
992
- const ref = refs[i];
993
- if (ref == null) continue;
994
- switch (typeof ref) {
995
- case "function": {
996
- const cleanupCallback = cleanupCallbacks[i];
997
- if (typeof cleanupCallback === "function") cleanupCallback();
998
- else ref(null);
999
- break;
1000
- }
1001
- case "object": ref.current = null;
1002
- }
1003
- }
1004
- };
1005
- }
1006
- };
1007
- }
1008
- //#endregion
1009
- //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/reactVersion.mjs
1010
- var majorVersion = parseInt("19.2.0", 10);
1011
- function isReactVersionAtLeast(reactVersionToCheck) {
1012
- return majorVersion >= reactVersionToCheck;
1013
- }
1014
- //#endregion
1015
- //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/getReactElementRef.mjs
1016
- /**
1017
- * Extracts the `ref` from a React element, handling different React versions.
1018
- */
1019
- function getReactElementRef(element) {
1020
- if (!/*#__PURE__*/ import_react.isValidElement(element)) return null;
1021
- const reactElement = element;
1022
- const propsWithRef = reactElement.props;
1023
- return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
1024
- }
1025
- //#endregion
1026
- //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/empty.mjs
1027
- function NOOP() {}
1028
- var EMPTY_ARRAY$1 = Object.freeze([]);
1029
- var EMPTY_OBJECT = Object.freeze({});
1030
- //#endregion
1031
- //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
1032
- function getStateAttributesProps(state, customMapping) {
1033
- const props = {};
1034
- for (const key in state) {
1035
- const value = state[key];
1036
- if (customMapping?.hasOwnProperty(key)) {
1037
- const customProps = customMapping[key](value);
1038
- if (customProps != null) Object.assign(props, customProps);
1039
- continue;
1040
- }
1041
- if (value === true) props[`data-${key.toLowerCase()}`] = "";
1042
- else if (value) props[`data-${key.toLowerCase()}`] = value.toString();
1043
- }
1044
- return props;
1045
- }
1046
- //#endregion
1047
- //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/utils/resolveClassName.mjs
1048
- /**
1049
- * If the provided className is a string, it will be returned as is.
1050
- * Otherwise, the function will call the className function with the state as the first argument.
1051
- *
1052
- * @param className
1053
- * @param state
1054
- */
1055
- function resolveClassName(className, state) {
1056
- return typeof className === "function" ? className(state) : className;
1057
- }
1058
- //#endregion
1059
- //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/utils/resolveStyle.mjs
1060
- /**
1061
- * If the provided style is an object, it will be returned as is.
1062
- * Otherwise, the function will call the style function with the state as the first argument.
1063
- *
1064
- * @param style
1065
- * @param state
1066
- */
1067
- function resolveStyle(style, state) {
1068
- return typeof style === "function" ? style(state) : style;
1069
- }
1070
- //#endregion
1071
- //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/internals/useRenderElement.mjs
1072
- /**
1073
- * Renders a Base UI element.
1074
- *
1075
- * @param element The default HTML element to render. Can be overridden by the `render` prop.
1076
- * @param componentProps An object containing the `render` and `className` props to be used for element customization. Other props are ignored.
1077
- * @param params Additional parameters for rendering the element.
1078
- */
1079
- function useRenderElement(element, componentProps, params = {}) {
1080
- const renderProp = componentProps.render;
1081
- const outProps = useRenderElementProps(componentProps, params);
1082
- if (params.enabled === false) return null;
1083
- return evaluateRenderProp(element, renderProp, outProps, params.state ?? EMPTY_OBJECT);
1084
- }
1085
- /**
1086
- * Computes render element final props.
1087
- */
1088
- function useRenderElementProps(componentProps, params = {}) {
1089
- const { className: classNameProp, style: styleProp, render: renderProp } = componentProps;
1090
- const { state = EMPTY_OBJECT, ref, props, stateAttributesMapping, enabled = true } = params;
1091
- const className = enabled ? resolveClassName(classNameProp, state) : void 0;
1092
- const style = enabled ? resolveStyle(styleProp, state) : void 0;
1093
- const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping) : EMPTY_OBJECT;
1094
- const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
1095
- const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
1096
- if (typeof document !== "undefined") {
1097
- if (!enabled) useMergedRefs(null, null);
1098
- else if (Array.isArray(ref)) outProps.ref = useMergedRefsN([
1099
- outProps.ref,
1100
- getReactElementRef(renderProp),
1101
- ...ref
1102
- ]);
1103
- else outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
1104
- }
1105
- if (!enabled) return EMPTY_OBJECT;
1106
- if (className !== void 0) outProps.className = mergeClassNames(outProps.className, className);
1107
- if (style !== void 0) outProps.style = mergeObjects(outProps.style, style);
1108
- return outProps;
1109
- }
1110
- function resolveRenderFunctionProps(props) {
1111
- if (Array.isArray(props)) return mergePropsN(props);
1112
- return mergeProps(void 0, props);
1113
- }
1114
- var REACT_LAZY_TYPE = Symbol.for("react.lazy");
1115
- function evaluateRenderProp(element, render, props, state) {
1116
- if (render) {
1117
- if (typeof render === "function") return render(props, state);
1118
- const mergedProps = mergeProps(props, render.props);
1119
- mergedProps.ref = props.ref;
1120
- let newElement = render;
1121
- if (newElement?.$$typeof === REACT_LAZY_TYPE) newElement = import_react.Children.toArray(render)[0];
1122
- return /*#__PURE__*/ import_react.cloneElement(newElement, mergedProps);
1123
- }
1124
- if (element) {
1125
- if (typeof element === "string") return renderTag(element, props);
1126
- }
1127
- throw new Error(formatErrorMessage(8));
1128
- }
1129
- function renderTag(Tag, props) {
1130
- if (Tag === "button") return /*#__PURE__*/ (0, import_react.createElement)("button", {
1131
- type: "button",
1132
- ...props,
1133
- key: props.key
1134
- });
1135
- if (Tag === "img") return /*#__PURE__*/ (0, import_react.createElement)("img", {
1136
- alt: "",
1137
- ...props,
1138
- key: props.key
1139
- });
1140
- return /*#__PURE__*/ import_react.createElement(Tag, props);
1141
- }
1142
- //#endregion
1143
- //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/use-render/useRender.mjs
1144
- /**
1145
- * Renders a Base UI element.
1146
- *
1147
- * @public
1148
- */
1149
- function useRender(params) {
1150
- return useRenderElement(params.defaultTagName ?? "div", params, params);
1151
- }
1152
- //#endregion
1153
- //#region node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
1154
- function hasWindow() {
1155
- return typeof window !== "undefined";
1156
- }
1157
- function getNodeName(node) {
1158
- if (isNode(node)) return (node.nodeName || "").toLowerCase();
1159
- return "#document";
1160
- }
1161
- function getWindow(node) {
1162
- var _node$ownerDocument;
1163
- return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1164
- }
1165
- function getDocumentElement(node) {
1166
- var _ref;
1167
- return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1168
- }
1169
- function isNode(value) {
1170
- if (!hasWindow()) return false;
1171
- return value instanceof Node || value instanceof getWindow(value).Node;
1172
- }
1173
- function isElement(value) {
1174
- if (!hasWindow()) return false;
1175
- return value instanceof Element || value instanceof getWindow(value).Element;
1176
- }
1177
- function isHTMLElement(value) {
1178
- if (!hasWindow()) return false;
1179
- return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
1180
- }
1181
- function isShadowRoot(value) {
1182
- if (!hasWindow() || typeof ShadowRoot === "undefined") return false;
1183
- return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
1184
- }
1185
- function isOverflowElement(element) {
1186
- const { overflow, overflowX, overflowY, display } = getComputedStyle$1(element);
1187
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
1188
- }
1189
- function isTableElement(element) {
1190
- return /^(table|td|th)$/.test(getNodeName(element));
1191
- }
1192
- function isTopLayer(element) {
1193
- try {
1194
- if (element.matches(":popover-open")) return true;
1195
- } catch (_e) {}
1196
- try {
1197
- return element.matches(":modal");
1198
- } catch (_e) {
1199
- return false;
1200
- }
1201
- }
1202
- var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
1203
- var containRe = /paint|layout|strict|content/;
1204
- var isNotNone = (value) => !!value && value !== "none";
1205
- var isWebKitValue;
1206
- function isContainingBlock(elementOrCss) {
1207
- const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
1208
- return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
1209
- }
1210
- function getContainingBlock(element) {
1211
- let currentNode = getParentNode(element);
1212
- while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1213
- if (isContainingBlock(currentNode)) return currentNode;
1214
- else if (isTopLayer(currentNode)) return null;
1215
- currentNode = getParentNode(currentNode);
1216
- }
1217
- return null;
1218
- }
1219
- function isWebKit() {
1220
- if (isWebKitValue == null) isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
1221
- return isWebKitValue;
1222
- }
1223
- function isLastTraversableNode(node) {
1224
- return /^(html|body|#document)$/.test(getNodeName(node));
1225
- }
1226
- function getComputedStyle$1(element) {
1227
- return getWindow(element).getComputedStyle(element);
1228
- }
1229
- function getNodeScroll(element) {
1230
- if (isElement(element)) return {
1231
- scrollLeft: element.scrollLeft,
1232
- scrollTop: element.scrollTop
1233
- };
1234
- return {
1235
- scrollLeft: element.scrollX,
1236
- scrollTop: element.scrollY
1237
- };
1238
- }
1239
- function getParentNode(node) {
1240
- if (getNodeName(node) === "html") return node;
1241
- const result = node.assignedSlot || node.parentNode || isShadowRoot(node) && node.host || getDocumentElement(node);
1242
- return isShadowRoot(result) ? result.host : result;
1243
- }
1244
- function getNearestOverflowAncestor(node) {
1245
- const parentNode = getParentNode(node);
1246
- if (isLastTraversableNode(parentNode)) return (node.ownerDocument || node).body;
1247
- if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) return parentNode;
1248
- return getNearestOverflowAncestor(parentNode);
1249
- }
1250
- function getOverflowAncestors(node, list, traverseIframes) {
1251
- var _node$ownerDocument2;
1252
- if (list === void 0) list = [];
1253
- if (traverseIframes === void 0) traverseIframes = true;
1254
- const scrollableAncestor = getNearestOverflowAncestor(node);
1255
- const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
1256
- const win = getWindow(scrollableAncestor);
1257
- if (isBody) {
1258
- const frameElement = getFrameElement(win);
1259
- return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
1260
- } else return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
1261
- }
1262
- function getFrameElement(win) {
1263
- return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1264
- }
1265
- //#endregion
1266
- //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/safeReact.mjs
1267
- /**
1268
- * A clone of the React namespace for reading APIs that may be missing in older
1269
- * supported React versions. Bundlers can rewrite direct `React.someNewApi`
1270
- * reads into named imports, which breaks React 17. Reading from this cloned
1271
- * object keeps those lookups optional.
1272
- *
1273
- * @see https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379
1274
- */
1275
- var SafeReact = { ...import_react };
1276
- //#endregion
1277
- //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/useStableCallback.mjs
1278
- var useInsertionEffect = SafeReact.useInsertionEffect;
1279
- var useSafeInsertionEffect = useInsertionEffect && useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn();
1280
- /**
1281
- * Stabilizes the function passed so it's always the same between renders.
1282
- *
1283
- * The function becomes non-reactive to any values it captures.
1284
- * It can safely be passed as a dependency of `React.useMemo` and `React.useEffect` without re-triggering them if its captured values change.
1285
- *
1286
- * The function must only be called inside effects and event handlers, never during render (which throws an error).
1287
- *
1288
- * This hook is a more permissive version of React 19.2's `React.useEffectEvent` in that it can be passed through contexts and called in event handler props, not just effects.
1289
- */
1290
- function useStableCallback(callback) {
1291
- const stable = useRefWithInit(createStableCallback).current;
1292
- stable.next = callback;
1293
- useSafeInsertionEffect(stable.effect);
1294
- return stable.trampoline;
1295
- }
1296
- function createStableCallback() {
1297
- const stable = {
1298
- next: void 0,
1299
- callback: assertNotCalled,
1300
- trampoline: (...args) => stable.callback?.(...args),
1301
- effect: () => {
1302
- stable.callback = stable.next;
1303
- }
1060
+ * Creates a formatErrorMessage function with a custom URL and prefix.
1061
+ * @param baseUrl - The base URL for the error page (e.g., 'https://base-ui.com/production-error')
1062
+ * @param prefix - The prefix for the error message (e.g., 'Base UI')
1063
+ * @returns A function that formats error messages with the given URL and prefix
1064
+ */
1065
+ function createFormatErrorMessage(baseUrl, prefix) {
1066
+ return function formatErrorMessage(code, ...args) {
1067
+ const url = new URL(baseUrl);
1068
+ url.searchParams.set("code", code.toString());
1069
+ args.forEach((arg) => url.searchParams.append("args[]", arg));
1070
+ return `${prefix} error #${code}; visit ${url} for the full message.`;
1304
1071
  };
1305
- return stable;
1306
1072
  }
1307
- function assertNotCalled() {}
1308
- //#endregion
1309
- //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
1310
- var noop = () => {};
1311
- var useIsoLayoutEffect = typeof document !== "undefined" ? import_react.useLayoutEffect : noop;
1073
+ /**
1074
+ * WARNING: Don't import this directly. It's imported by the code generated by
1075
+ * `@mui/internal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`
1076
+ * constructors to ensure the plugin works as expected. Supported patterns include:
1077
+ * throw new Error('My message');
1078
+ * throw new Error(`My message: ${foo}`);
1079
+ * throw new Error(`My message: ${foo}` + 'another string');
1080
+ * ...
1081
+ */
1082
+ var formatErrorMessage = createFormatErrorMessage("https://base-ui.com/production-error", "Base UI");
1312
1083
  //#endregion
1313
1084
  //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
1314
1085
  var CompositeRootContext = /*#__PURE__*/ import_react.createContext(void 0);
@@ -1485,6 +1256,225 @@ function isValidLinkElement(elem) {
1485
1256
  return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
1486
1257
  }
1487
1258
  //#endregion
1259
+ //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/useMergedRefs.mjs
1260
+ /**
1261
+ * Merges refs into a single memoized callback ref or `null`.
1262
+ * This makes sure multiple refs are updated together and have the same value.
1263
+ *
1264
+ * This function accepts up to four refs. If you need to merge more, or have an unspecified number of refs to merge,
1265
+ * use `useMergedRefsN` instead.
1266
+ */
1267
+ function useMergedRefs(a, b, c, d) {
1268
+ const forkRef = useRefWithInit(createForkRef).current;
1269
+ if (didChange(forkRef, a, b, c, d)) update(forkRef, [
1270
+ a,
1271
+ b,
1272
+ c,
1273
+ d
1274
+ ]);
1275
+ return forkRef.callback;
1276
+ }
1277
+ /**
1278
+ * Merges an array of refs into a single memoized callback ref or `null`.
1279
+ *
1280
+ * If you need to merge a fixed number (up to four) of refs, use `useMergedRefs` instead for better performance.
1281
+ */
1282
+ function useMergedRefsN(refs) {
1283
+ const forkRef = useRefWithInit(createForkRef).current;
1284
+ if (didChangeN(forkRef, refs)) update(forkRef, refs);
1285
+ return forkRef.callback;
1286
+ }
1287
+ function createForkRef() {
1288
+ return {
1289
+ callback: null,
1290
+ cleanup: null,
1291
+ refs: []
1292
+ };
1293
+ }
1294
+ function didChange(forkRef, a, b, c, d) {
1295
+ return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
1296
+ }
1297
+ function didChangeN(forkRef, newRefs) {
1298
+ return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);
1299
+ }
1300
+ function update(forkRef, refs) {
1301
+ forkRef.refs = refs;
1302
+ if (refs.every((ref) => ref == null)) {
1303
+ forkRef.callback = null;
1304
+ return;
1305
+ }
1306
+ forkRef.callback = (instance) => {
1307
+ if (forkRef.cleanup) {
1308
+ forkRef.cleanup();
1309
+ forkRef.cleanup = null;
1310
+ }
1311
+ if (instance != null) {
1312
+ const cleanupCallbacks = Array(refs.length).fill(null);
1313
+ for (let i = 0; i < refs.length; i += 1) {
1314
+ const ref = refs[i];
1315
+ if (ref == null) continue;
1316
+ switch (typeof ref) {
1317
+ case "function": {
1318
+ const refCleanup = ref(instance);
1319
+ if (typeof refCleanup === "function") cleanupCallbacks[i] = refCleanup;
1320
+ break;
1321
+ }
1322
+ case "object": ref.current = instance;
1323
+ }
1324
+ }
1325
+ forkRef.cleanup = () => {
1326
+ for (let i = 0; i < refs.length; i += 1) {
1327
+ const ref = refs[i];
1328
+ if (ref == null) continue;
1329
+ switch (typeof ref) {
1330
+ case "function": {
1331
+ const cleanupCallback = cleanupCallbacks[i];
1332
+ if (typeof cleanupCallback === "function") cleanupCallback();
1333
+ else ref(null);
1334
+ break;
1335
+ }
1336
+ case "object": ref.current = null;
1337
+ }
1338
+ }
1339
+ };
1340
+ }
1341
+ };
1342
+ }
1343
+ //#endregion
1344
+ //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/reactVersion.mjs
1345
+ var majorVersion = parseInt("19.2.0", 10);
1346
+ function isReactVersionAtLeast(reactVersionToCheck) {
1347
+ return majorVersion >= reactVersionToCheck;
1348
+ }
1349
+ //#endregion
1350
+ //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/getReactElementRef.mjs
1351
+ /**
1352
+ * Extracts the `ref` from a React element, handling different React versions.
1353
+ */
1354
+ function getReactElementRef(element) {
1355
+ if (!/*#__PURE__*/ import_react.isValidElement(element)) return null;
1356
+ const reactElement = element;
1357
+ const propsWithRef = reactElement.props;
1358
+ return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
1359
+ }
1360
+ //#endregion
1361
+ //#region node_modules/.pnpm/@base-ui+utils@0.3.2_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/utils/empty.mjs
1362
+ function NOOP() {}
1363
+ var EMPTY_ARRAY$1 = Object.freeze([]);
1364
+ var EMPTY_OBJECT = Object.freeze({});
1365
+ //#endregion
1366
+ //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
1367
+ function getStateAttributesProps(state, customMapping) {
1368
+ const props = {};
1369
+ for (const key in state) {
1370
+ const value = state[key];
1371
+ if (customMapping?.hasOwnProperty(key)) {
1372
+ const customProps = customMapping[key](value);
1373
+ if (customProps != null) Object.assign(props, customProps);
1374
+ continue;
1375
+ }
1376
+ if (value === true) props[`data-${key.toLowerCase()}`] = "";
1377
+ else if (value) props[`data-${key.toLowerCase()}`] = value.toString();
1378
+ }
1379
+ return props;
1380
+ }
1381
+ //#endregion
1382
+ //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/utils/resolveClassName.mjs
1383
+ /**
1384
+ * If the provided className is a string, it will be returned as is.
1385
+ * Otherwise, the function will call the className function with the state as the first argument.
1386
+ *
1387
+ * @param className
1388
+ * @param state
1389
+ */
1390
+ function resolveClassName(className, state) {
1391
+ return typeof className === "function" ? className(state) : className;
1392
+ }
1393
+ //#endregion
1394
+ //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/utils/resolveStyle.mjs
1395
+ /**
1396
+ * If the provided style is an object, it will be returned as is.
1397
+ * Otherwise, the function will call the style function with the state as the first argument.
1398
+ *
1399
+ * @param style
1400
+ * @param state
1401
+ */
1402
+ function resolveStyle(style, state) {
1403
+ return typeof style === "function" ? style(state) : style;
1404
+ }
1405
+ //#endregion
1406
+ //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/internals/useRenderElement.mjs
1407
+ /**
1408
+ * Renders a Base UI element.
1409
+ *
1410
+ * @param element The default HTML element to render. Can be overridden by the `render` prop.
1411
+ * @param componentProps An object containing the `render` and `className` props to be used for element customization. Other props are ignored.
1412
+ * @param params Additional parameters for rendering the element.
1413
+ */
1414
+ function useRenderElement(element, componentProps, params = {}) {
1415
+ const renderProp = componentProps.render;
1416
+ const outProps = useRenderElementProps(componentProps, params);
1417
+ if (params.enabled === false) return null;
1418
+ return evaluateRenderProp(element, renderProp, outProps, params.state ?? EMPTY_OBJECT);
1419
+ }
1420
+ /**
1421
+ * Computes render element final props.
1422
+ */
1423
+ function useRenderElementProps(componentProps, params = {}) {
1424
+ const { className: classNameProp, style: styleProp, render: renderProp } = componentProps;
1425
+ const { state = EMPTY_OBJECT, ref, props, stateAttributesMapping, enabled = true } = params;
1426
+ const className = enabled ? resolveClassName(classNameProp, state) : void 0;
1427
+ const style = enabled ? resolveStyle(styleProp, state) : void 0;
1428
+ const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping) : EMPTY_OBJECT;
1429
+ const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
1430
+ const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
1431
+ if (typeof document !== "undefined") {
1432
+ if (!enabled) useMergedRefs(null, null);
1433
+ else if (Array.isArray(ref)) outProps.ref = useMergedRefsN([
1434
+ outProps.ref,
1435
+ getReactElementRef(renderProp),
1436
+ ...ref
1437
+ ]);
1438
+ else outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
1439
+ }
1440
+ if (!enabled) return EMPTY_OBJECT;
1441
+ if (className !== void 0) outProps.className = mergeClassNames(outProps.className, className);
1442
+ if (style !== void 0) outProps.style = mergeObjects(outProps.style, style);
1443
+ return outProps;
1444
+ }
1445
+ function resolveRenderFunctionProps(props) {
1446
+ if (Array.isArray(props)) return mergePropsN(props);
1447
+ return mergeProps(void 0, props);
1448
+ }
1449
+ var REACT_LAZY_TYPE = Symbol.for("react.lazy");
1450
+ function evaluateRenderProp(element, render, props, state) {
1451
+ if (render) {
1452
+ if (typeof render === "function") return render(props, state);
1453
+ const mergedProps = mergeProps(props, render.props);
1454
+ mergedProps.ref = props.ref;
1455
+ let newElement = render;
1456
+ if (newElement?.$$typeof === REACT_LAZY_TYPE) newElement = import_react.Children.toArray(render)[0];
1457
+ return /*#__PURE__*/ import_react.cloneElement(newElement, mergedProps);
1458
+ }
1459
+ if (element) {
1460
+ if (typeof element === "string") return renderTag(element, props);
1461
+ }
1462
+ throw new Error(formatErrorMessage(8));
1463
+ }
1464
+ function renderTag(Tag, props) {
1465
+ if (Tag === "button") return /*#__PURE__*/ (0, import_react.createElement)("button", {
1466
+ type: "button",
1467
+ ...props,
1468
+ key: props.key
1469
+ });
1470
+ if (Tag === "img") return /*#__PURE__*/ (0, import_react.createElement)("img", {
1471
+ alt: "",
1472
+ ...props,
1473
+ key: props.key
1474
+ });
1475
+ return /*#__PURE__*/ import_react.createElement(Tag, props);
1476
+ }
1477
+ //#endregion
1488
1478
  //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/button/Button.mjs
1489
1479
  /**
1490
1480
  * A button component that can be used to trigger actions.
@@ -1506,6 +1496,16 @@ var Button = /*#__PURE__*/ import_react.forwardRef(function Button(componentProp
1506
1496
  });
1507
1497
  });
1508
1498
  //#endregion
1499
+ //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/use-render/useRender.mjs
1500
+ /**
1501
+ * Renders a Base UI element.
1502
+ *
1503
+ * @public
1504
+ */
1505
+ function useRender(params) {
1506
+ return useRenderElement(params.defaultTagName ?? "div", params, params);
1507
+ }
1508
+ //#endregion
1509
1509
  //#region node_modules/.pnpm/@base-ui+react@1.7.0_@types+react@19.2.18_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/internals/field-constants/constants.mjs
1510
1510
  var DEFAULT_VALIDITY_STATE = {
1511
1511
  badInput: false,
@@ -12838,4 +12838,4 @@ var TabsList = /*#__PURE__*/ import_react.forwardRef(function TabsList(component
12838
12838
  });
12839
12839
  });
12840
12840
  //#endregion
12841
- export { DialogRoot as A, mergeProps as B, TooltipArrow as C, TooltipTrigger as D, TooltipPortal as E, DialogBackdrop as F, require_with_selector as H, Separator as I, Input as L, DialogPopup as M, DialogDescription as N, TooltipRoot as O, DialogClose as P, Button as R, SelectRoot as S, TooltipPositioner as T, require_jsx_runtime as U, require_react_dom as V, require_react as W, SelectPositioner as _, AvatarFallback as a, SelectValue as b, SwitchThumb as c, SelectScrollDownArrow as d, SelectItemText as f, SelectPopup as g, SelectList as h, TabsRoot as i, DialogPortal as j, DialogTitle as k, SwitchRoot as l, SelectItem as m, TabsPanel as n, AvatarImage as o, SelectItemIndicator as p, TabsTab as r, AvatarRoot as s, TabsList as t, SelectScrollUpArrow as u, SelectPortal as v, TooltipPopup as w, SelectTrigger as x, SelectIcon as y, useRender as z };
12841
+ export { DialogRoot as A, mergeProps as B, TooltipArrow as C, TooltipTrigger as D, TooltipPortal as E, DialogBackdrop as F, require_with_selector as H, Separator as I, Input as L, DialogPopup as M, DialogDescription as N, TooltipRoot as O, DialogClose as P, useRender as R, SelectRoot as S, TooltipPositioner as T, require_jsx_runtime as U, require_react_dom as V, require_react as W, SelectPositioner as _, AvatarFallback as a, SelectValue as b, SwitchThumb as c, SelectScrollDownArrow as d, SelectItemText as f, SelectPopup as g, SelectList as h, TabsRoot as i, DialogPortal as j, DialogTitle as k, SwitchRoot as l, SelectItem as m, TabsPanel as n, AvatarImage as o, SelectItemIndicator as p, TabsTab as r, AvatarRoot as s, TabsList as t, SelectScrollUpArrow as u, SelectPortal as v, TooltipPopup as w, SelectTrigger as x, SelectIcon as y, Button as z };