@powerhousedao/connect 4.1.0-dev.103 → 4.1.0-dev.105

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 (77) hide show
  1. package/dist/assets/{AddDriveModal-C8TXJdWg.js → AddDriveModal-07mDwuqC.js} +9 -9
  2. package/dist/assets/{AddDriveModal-C8TXJdWg.js.map → AddDriveModal-07mDwuqC.js.map} +1 -1
  3. package/dist/assets/{ClearStorageModal-kgZu6fUW.js → ClearStorageModal-NS7l69ap.js} +3 -3
  4. package/dist/assets/{ClearStorageModal-kgZu6fUW.js.map → ClearStorageModal-NS7l69ap.js.map} +1 -1
  5. package/dist/assets/{CookiesPolicyModal-CHx0Plu7.js → CookiesPolicyModal-C6dI4RKZ.js} +3 -3
  6. package/dist/assets/{CookiesPolicyModal-CHx0Plu7.js.map → CookiesPolicyModal-C6dI4RKZ.js.map} +1 -1
  7. package/dist/assets/{CreateDocumentModal-9T47qruK.js → CreateDocumentModal-KKbJcBSL.js} +3 -3
  8. package/dist/assets/{CreateDocumentModal-9T47qruK.js.map → CreateDocumentModal-KKbJcBSL.js.map} +1 -1
  9. package/dist/assets/{DebugSettingsModal-CRJWa6pd.js → DebugSettingsModal-DXtCp24I.js} +4 -4
  10. package/dist/assets/{DebugSettingsModal-CRJWa6pd.js.map → DebugSettingsModal-DXtCp24I.js.map} +1 -1
  11. package/dist/assets/{DeleteDriveModal-D3bGXO4L.js → DeleteDriveModal-MSDNucFy.js} +5 -5
  12. package/dist/assets/{DeleteDriveModal-D3bGXO4L.js.map → DeleteDriveModal-MSDNucFy.js.map} +1 -1
  13. package/dist/assets/{DeleteItemModal--domTYzB.js → DeleteItemModal-DW8_baau.js} +3 -3
  14. package/dist/assets/{DeleteItemModal--domTYzB.js.map → DeleteItemModal-DW8_baau.js.map} +1 -1
  15. package/dist/assets/{DisclaimerModal-Ba42GuBF.js → DisclaimerModal-C6UyAzGM.js} +3 -3
  16. package/dist/assets/{DisclaimerModal-Ba42GuBF.js.map → DisclaimerModal-C6UyAzGM.js.map} +1 -1
  17. package/dist/assets/{DriveSettingsModal-C5RW55cJ.js → DriveSettingsModal-DfM8Gfc9.js} +8 -8
  18. package/dist/assets/{DriveSettingsModal-C5RW55cJ.js.map → DriveSettingsModal-DfM8Gfc9.js.map} +1 -1
  19. package/dist/assets/{ExportDocumentWithErrorsModal-DH4Wari8.js → ExportDocumentWithErrorsModal-cWlxN3T_.js} +3 -3
  20. package/dist/assets/{ExportDocumentWithErrorsModal-DH4Wari8.js.map → ExportDocumentWithErrorsModal-cWlxN3T_.js.map} +1 -1
  21. package/dist/assets/{SettingsModal-Cu159mI0.js → SettingsModal-BlWJfQsu.js} +8 -8
  22. package/dist/assets/{SettingsModal-Cu159mI0.js.map → SettingsModal-BlWJfQsu.js.map} +1 -1
  23. package/dist/assets/{UpgradeDriveModal-CBwCkbH6.js → UpgradeDriveModal-BL7i2apX.js} +2 -2
  24. package/dist/assets/{UpgradeDriveModal-CBwCkbH6.js.map → UpgradeDriveModal-BL7i2apX.js.map} +1 -1
  25. package/dist/assets/{ccip-D7aMa0GY.js → ccip-DhNdZlh7.js} +2 -2
  26. package/dist/assets/{ccip-D7aMa0GY.js.map → ccip-DhNdZlh7.js.map} +1 -1
  27. package/dist/assets/{confirmation-modal-DhDkTlWh.js → confirmation-modal-DM5tMFeL.js} +2 -2
  28. package/dist/assets/{confirmation-modal-DhDkTlWh.js.map → confirmation-modal-DM5tMFeL.js.map} +1 -1
  29. package/dist/assets/{disclosure-BK1-aX0U.js → disclosure-iERpR3s0.js} +2 -2
  30. package/dist/assets/{disclosure-BK1-aX0U.js.map → disclosure-iERpR3s0.js.map} +1 -1
  31. package/dist/assets/{drive-by-id-Clj6-Bqe.js → drive-by-id-BanyjI1t.js} +2 -2
  32. package/dist/assets/{drive-by-id-Clj6-Bqe.js.map → drive-by-id-BanyjI1t.js.map} +1 -1
  33. package/dist/assets/{dropdown-menu-Bg-CMliM.js → dropdown-menu-CXmhaaui.js} +3 -3
  34. package/dist/assets/{dropdown-menu-Bg-CMliM.js.map → dropdown-menu-CXmhaaui.js.map} +1 -1
  35. package/dist/assets/{editor-Dvss0yJl.js → editor-BKLE2wdL.js} +5 -5
  36. package/dist/assets/{editor-Dvss0yJl.js.map → editor-BKLE2wdL.js.map} +1 -1
  37. package/dist/assets/{editor-PBpp1lOl.js → editor-DO3KuTx4.js} +6 -6
  38. package/dist/assets/{editor-PBpp1lOl.js.map → editor-DO3KuTx4.js.map} +1 -1
  39. package/dist/assets/{form-input-BQk8D0sk.js → form-input-DTWcBXOv.js} +2 -2
  40. package/dist/assets/{form-input-BQk8D0sk.js.map → form-input-DTWcBXOv.js.map} +1 -1
  41. package/dist/assets/{hoist-non-react-statics.cjs-BLBIKRcK.js → hoist-non-react-statics.cjs-BXLrPRPo.js} +2 -2
  42. package/dist/assets/{hoist-non-react-statics.cjs-BLBIKRcK.js.map → hoist-non-react-statics.cjs-BXLrPRPo.js.map} +1 -1
  43. package/dist/assets/{index-NwtkAyHu.js → index-BRK2SPwe.js} +5419 -5411
  44. package/dist/assets/{index-NwtkAyHu.js.map → index-BRK2SPwe.js.map} +1 -1
  45. package/dist/assets/{index-Dj3oRMSX.js → index-CwYYkw3b.js} +3 -3
  46. package/dist/assets/{index-Dj3oRMSX.js.map → index-CwYYkw3b.js.map} +1 -1
  47. package/dist/assets/{index-DbkdXCy3.js → index-D9xz2aln.js} +4 -4
  48. package/dist/assets/{index-DbkdXCy3.js.map → index-D9xz2aln.js.map} +1 -1
  49. package/dist/assets/{index-2UxXyUHs.js → index-DrtoT5He.js} +2 -2
  50. package/dist/assets/{index-2UxXyUHs.js.map → index-DrtoT5He.js.map} +1 -1
  51. package/dist/assets/{index-CRSaLTdy.js → index-ZC6AHfIK.js} +2 -2
  52. package/dist/assets/{index-CRSaLTdy.js.map → index-ZC6AHfIK.js.map} +1 -1
  53. package/dist/assets/{index.esm-CsyxQz1t.js → index.esm-BaENpqse.js} +2 -2
  54. package/dist/assets/{index.esm-CsyxQz1t.js.map → index.esm-BaENpqse.js.map} +1 -1
  55. package/dist/assets/{options-OQEfRub-.js → options-x29vXcTw.js} +2 -2
  56. package/dist/assets/{options-OQEfRub-.js.map → options-x29vXcTw.js.map} +1 -1
  57. package/dist/assets/{read-required-modal-DDJ226rj.js → read-required-modal-CywEDaia.js} +2 -2
  58. package/dist/assets/{read-required-modal-DDJ226rj.js.map → read-required-modal-CywEDaia.js.map} +1 -1
  59. package/dist/assets/{toggle-CM9IgRbu.js → toggle-CFuMlRt5.js} +4 -4
  60. package/dist/assets/{toggle-CM9IgRbu.js.map → toggle-CFuMlRt5.js.map} +1 -1
  61. package/dist/index.html +1 -1
  62. package/lib/package.copy.json +1 -1
  63. package/lib/src/components/drive-editor-container.d.ts.map +1 -1
  64. package/lib/src/components/drive-editor-container.js +3 -1
  65. package/lib/src/components/drive-editor-container.js.map +1 -1
  66. package/lib/src/components/editors.d.ts.map +1 -1
  67. package/lib/src/components/editors.js +7 -9
  68. package/lib/src/components/editors.js.map +1 -1
  69. package/lib/src/components/modal/modals/settings/package-manager.d.ts.map +1 -1
  70. package/lib/src/components/modal/modals/settings/package-manager.js +1 -1
  71. package/lib/src/components/modal/modals/settings/package-manager.js.map +1 -1
  72. package/lib/src/store/document-model.d.ts.map +1 -1
  73. package/lib/src/store/document-model.js +1 -1
  74. package/lib/src/store/document-model.js.map +1 -1
  75. package/lib/tsconfig.tsbuildinfo +1 -1
  76. package/package.copy.json +1 -1
  77. package/package.json +9 -9
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports, M as Modal, t as twMerge, a as usePHModal, l as useTranslation, e as closePHModal } from "./index-NwtkAyHu.js";
1
+ import { j as jsxRuntimeExports, M as Modal, t as twMerge, a as usePHModal, l as useTranslation, e as closePHModal } from "./index-BRK2SPwe.js";
2
2
  const buttonStyles = "min-h-[48px] min-w-[142px] text-base font-semibold py-3 px-6 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all";
3
3
  function ConnectUpgradeDriveModal(props) {
4
4
  const { body, header, onOpenChange, onContinue, cancelLabel, continueLabel, overlayProps, contentProps, ...restProps } = props;
@@ -37,4 +37,4 @@ const UpgradeDriveModal = () => {
37
37
  export {
38
38
  UpgradeDriveModal
39
39
  };
40
- //# sourceMappingURL=UpgradeDriveModal-CBwCkbH6.js.map
40
+ //# sourceMappingURL=UpgradeDriveModal-BL7i2apX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradeDriveModal-CBwCkbH6.js","sources":["../../../../packages/design-system/dist/src/connect/components/modal/upgrade-drive-modal.js","../../src/components/modal/modals/UpgradeDriveModal.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Modal } from \"@powerhousedao/design-system\";\nimport { twMerge } from \"tailwind-merge\";\nconst buttonStyles = \"min-h-[48px] min-w-[142px] text-base font-semibold py-3 px-6 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all\";\nexport function ConnectUpgradeDriveModal(props) {\n const { body, header, onOpenChange, onContinue, cancelLabel, continueLabel, overlayProps, contentProps, ...restProps } = props;\n return (_jsx(Modal, { contentProps: {\n ...contentProps,\n className: twMerge(\"rounded-3xl\", contentProps?.className),\n }, onOpenChange: onOpenChange, overlayProps: {\n ...overlayProps,\n className: overlayProps?.className,\n }, ...restProps, children: _jsxs(\"div\", { className: \"w-[400px] p-6 text-slate-300\", children: [_jsx(\"div\", { className: \"border-b border-slate-50 pb-2 text-2xl font-bold text-gray-800\", children: header }), _jsx(\"div\", { className: \"my-6 rounded-md bg-slate-50 p-4 text-center\", children: body }), _jsxs(\"div\", { className: \"mt-8 flex justify-between gap-3\", children: [_jsx(\"button\", { className: twMerge(buttonStyles, \"flex-1 bg-slate-50 text-slate-800\"), onClick: () => onOpenChange?.(false), children: cancelLabel }), _jsx(\"button\", { className: twMerge(buttonStyles, \"flex-1 bg-gray-800 text-gray-50\"), onClick: onContinue, children: continueLabel })] })] }) }));\n}\n//# sourceMappingURL=upgrade-drive-modal.js.map","import { ConnectUpgradeDriveModal } from \"@powerhousedao/design-system\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nexport const UpgradeDriveModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"upgradeDrive\";\n const driveId = open ? phModal.driveId : undefined;\n\n const { t } = useTranslation();\n\n const onContinue = () => {\n // TODO: Implement upgrade drive\n console.log(\"Upgrade drive: \", driveId);\n closePHModal();\n };\n\n return (\n <ConnectUpgradeDriveModal\n open={open}\n onContinue={onContinue}\n header={t(\"modals.upgradeDrive.header\")}\n body={t(\"modals.upgradeDrive.body\")}\n cancelLabel={t(\"common.cancel\")}\n continueLabel={t(\"common.continue\")}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n />\n );\n};\n"],"names":["_jsx","_jsxs","jsx"],"mappings":";AAGA,MAAM,eAAe;AACd,SAAS,yBAAyB,OAAO;AAC5C,QAAM,EAAE,MAAM,QAAQ,cAAc,YAAY,aAAa,eAAe,cAAc,cAAc,GAAG,UAAS,IAAK;AACzH,SAAQA,kBAAAA,IAAK,OAAO,EAAE,cAAc;AAAA,IAC5B,GAAG;AAAA,IACH,WAAW,QAAQ,eAAe,cAAc,SAAS;AAAA,EACrE,GAAW,cAA4B,cAAc;AAAA,IACzC,GAAG;AAAA,IACH,WAAW,cAAc;AAAA,EACrC,GAAW,GAAG,WAAW,UAAUC,kBAAAA,KAAM,OAAO,EAAE,WAAW,gCAAgC,UAAU,CAACD,kBAAAA,IAAK,OAAO,EAAE,WAAW,kEAAkE,UAAU,OAAM,CAAE,GAAGA,kBAAAA,IAAK,OAAO,EAAE,WAAW,+CAA+C,UAAU,KAAI,CAAE,GAAGC,kBAAAA,KAAM,OAAO,EAAE,WAAW,mCAAmC,UAAU,CAACD,kBAAAA,IAAK,UAAU,EAAE,WAAW,QAAQ,cAAc,mCAAmC,GAAG,SAAS,MAAM,eAAe,KAAK,GAAG,UAAU,YAAW,CAAE,GAAGA,kBAAAA,IAAK,UAAU,EAAE,WAAW,QAAQ,cAAc,iCAAiC,GAAG,SAAS,YAAY,UAAU,cAAa,CAAE,CAAC,EAAC,CAAE,CAAC,EAAC,CAAE,EAAC,CAAE;AAClqB;ACRO,MAAM,oBAA8B,MAAM;AAC/C,QAAM,UAAU,WAAA;AAChB,QAAM,OAAO,SAAS,SAAS;AAC/B,QAAM,UAAU,OAAO,QAAQ,UAAU;AAEzC,QAAM,EAAE,EAAA,IAAM,eAAA;AAEd,QAAM,aAAa,MAAM;AAEvB,YAAQ,IAAI,mBAAmB,OAAO;AACtC,iBAAA;AAAA,EACF;AAEA,SACEE,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,EAAE,4BAA4B;AAAA,MACtC,MAAM,EAAE,0BAA0B;AAAA,MAClC,aAAa,EAAE,eAAe;AAAA,MAC9B,eAAe,EAAE,iBAAiB;AAAA,MAClC,cAAc,CAAC,WAAoB;AACjC,YAAI,CAAC,OAAQ,QAAO,aAAA;AAAA,MACtB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"UpgradeDriveModal-BL7i2apX.js","sources":["../../../../packages/design-system/dist/src/connect/components/modal/upgrade-drive-modal.js","../../src/components/modal/modals/UpgradeDriveModal.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Modal } from \"@powerhousedao/design-system\";\nimport { twMerge } from \"tailwind-merge\";\nconst buttonStyles = \"min-h-[48px] min-w-[142px] text-base font-semibold py-3 px-6 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all\";\nexport function ConnectUpgradeDriveModal(props) {\n const { body, header, onOpenChange, onContinue, cancelLabel, continueLabel, overlayProps, contentProps, ...restProps } = props;\n return (_jsx(Modal, { contentProps: {\n ...contentProps,\n className: twMerge(\"rounded-3xl\", contentProps?.className),\n }, onOpenChange: onOpenChange, overlayProps: {\n ...overlayProps,\n className: overlayProps?.className,\n }, ...restProps, children: _jsxs(\"div\", { className: \"w-[400px] p-6 text-slate-300\", children: [_jsx(\"div\", { className: \"border-b border-slate-50 pb-2 text-2xl font-bold text-gray-800\", children: header }), _jsx(\"div\", { className: \"my-6 rounded-md bg-slate-50 p-4 text-center\", children: body }), _jsxs(\"div\", { className: \"mt-8 flex justify-between gap-3\", children: [_jsx(\"button\", { className: twMerge(buttonStyles, \"flex-1 bg-slate-50 text-slate-800\"), onClick: () => onOpenChange?.(false), children: cancelLabel }), _jsx(\"button\", { className: twMerge(buttonStyles, \"flex-1 bg-gray-800 text-gray-50\"), onClick: onContinue, children: continueLabel })] })] }) }));\n}\n//# sourceMappingURL=upgrade-drive-modal.js.map","import { ConnectUpgradeDriveModal } from \"@powerhousedao/design-system\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nexport const UpgradeDriveModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"upgradeDrive\";\n const driveId = open ? phModal.driveId : undefined;\n\n const { t } = useTranslation();\n\n const onContinue = () => {\n // TODO: Implement upgrade drive\n console.log(\"Upgrade drive: \", driveId);\n closePHModal();\n };\n\n return (\n <ConnectUpgradeDriveModal\n open={open}\n onContinue={onContinue}\n header={t(\"modals.upgradeDrive.header\")}\n body={t(\"modals.upgradeDrive.body\")}\n cancelLabel={t(\"common.cancel\")}\n continueLabel={t(\"common.continue\")}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n />\n );\n};\n"],"names":["_jsx","_jsxs","jsx"],"mappings":";AAGA,MAAM,eAAe;AACd,SAAS,yBAAyB,OAAO;AAC5C,QAAM,EAAE,MAAM,QAAQ,cAAc,YAAY,aAAa,eAAe,cAAc,cAAc,GAAG,UAAS,IAAK;AACzH,SAAQA,kBAAAA,IAAK,OAAO,EAAE,cAAc;AAAA,IAC5B,GAAG;AAAA,IACH,WAAW,QAAQ,eAAe,cAAc,SAAS;AAAA,EACrE,GAAW,cAA4B,cAAc;AAAA,IACzC,GAAG;AAAA,IACH,WAAW,cAAc;AAAA,EACrC,GAAW,GAAG,WAAW,UAAUC,kBAAAA,KAAM,OAAO,EAAE,WAAW,gCAAgC,UAAU,CAACD,kBAAAA,IAAK,OAAO,EAAE,WAAW,kEAAkE,UAAU,OAAM,CAAE,GAAGA,kBAAAA,IAAK,OAAO,EAAE,WAAW,+CAA+C,UAAU,KAAI,CAAE,GAAGC,kBAAAA,KAAM,OAAO,EAAE,WAAW,mCAAmC,UAAU,CAACD,kBAAAA,IAAK,UAAU,EAAE,WAAW,QAAQ,cAAc,mCAAmC,GAAG,SAAS,MAAM,eAAe,KAAK,GAAG,UAAU,YAAW,CAAE,GAAGA,kBAAAA,IAAK,UAAU,EAAE,WAAW,QAAQ,cAAc,iCAAiC,GAAG,SAAS,YAAY,UAAU,cAAa,CAAE,CAAC,EAAC,CAAE,CAAC,EAAC,CAAE,EAAC,CAAE;AAClqB;ACRO,MAAM,oBAA8B,MAAM;AAC/C,QAAM,UAAU,WAAA;AAChB,QAAM,OAAO,SAAS,SAAS;AAC/B,QAAM,UAAU,OAAO,QAAQ,UAAU;AAEzC,QAAM,EAAE,EAAA,IAAM,eAAA;AAEd,QAAM,aAAa,MAAM;AAEvB,YAAQ,IAAI,mBAAmB,OAAO;AACtC,iBAAA;AAAA,EACF;AAEA,SACEE,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,EAAE,4BAA4B;AAAA,MACtC,MAAM,EAAE,0BAA0B;AAAA,MAClC,aAAa,EAAE,eAAe;AAAA,MAC9B,eAAe,EAAE,iBAAiB;AAAA,MAClC,cAAc,CAAC,WAAoB;AACjC,YAAI,CAAC,OAAQ,QAAO,aAAA;AAAA,MACtB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,4 +1,4 @@
1
- import { fa as isAddress, fb as InvalidAddressError, fc as BaseError, fd as getUrl, fe as stringify, ff as decodeErrorResult, fg as localBatchGatewayUrl, fh as localBatchGatewayRequest, fi as call, fj as concat, fk as encodeAbiParameters, fl as HttpRequestError, fm as isHex } from "./index-NwtkAyHu.js";
1
+ import { fa as isAddress, fb as InvalidAddressError, fc as BaseError, fd as getUrl, fe as stringify, ff as decodeErrorResult, fg as localBatchGatewayUrl, fh as localBatchGatewayRequest, fi as call, fj as concat, fk as encodeAbiParameters, fl as HttpRequestError, fm as isHex } from "./index-BRK2SPwe.js";
2
2
  function isAddressEqual(a, b) {
3
3
  if (!isAddress(a, { strict: false }))
4
4
  throw new InvalidAddressError({ address: a });
@@ -165,4 +165,4 @@ export {
165
165
  offchainLookupAbiItem,
166
166
  offchainLookupSignature
167
167
  };
168
- //# sourceMappingURL=ccip-D7aMa0GY.js.map
168
+ //# sourceMappingURL=ccip-DhNdZlh7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ccip-D7aMa0GY.js","sources":["../../../../node_modules/.pnpm/viem@2.38.6_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/address/isAddressEqual.js","../../../../node_modules/.pnpm/viem@2.38.6_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/ccip.js","../../../../node_modules/.pnpm/viem@2.38.6_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/ccip.js"],"sourcesContent":["import { InvalidAddressError, } from '../../errors/address.js';\nimport { isAddress } from './isAddress.js';\nexport function isAddressEqual(a, b) {\n if (!isAddress(a, { strict: false }))\n throw new InvalidAddressError({ address: a });\n if (!isAddress(b, { strict: false }))\n throw new InvalidAddressError({ address: b });\n return a.toLowerCase() === b.toLowerCase();\n}\n//# sourceMappingURL=isAddressEqual.js.map","import { stringify } from '../utils/stringify.js';\nimport { BaseError } from './base.js';\nimport { getUrl } from './utils.js';\nexport class OffchainLookupError extends BaseError {\n constructor({ callbackSelector, cause, data, extraData, sender, urls, }) {\n super(cause.shortMessage ||\n 'An error occurred while fetching for an offchain result.', {\n cause,\n metaMessages: [\n ...(cause.metaMessages || []),\n cause.metaMessages?.length ? '' : [],\n 'Offchain Gateway Call:',\n urls && [\n ' Gateway URL(s):',\n ...urls.map((url) => ` ${getUrl(url)}`),\n ],\n ` Sender: ${sender}`,\n ` Data: ${data}`,\n ` Callback selector: ${callbackSelector}`,\n ` Extra data: ${extraData}`,\n ].flat(),\n name: 'OffchainLookupError',\n });\n }\n}\nexport class OffchainLookupResponseMalformedError extends BaseError {\n constructor({ result, url }) {\n super('Offchain gateway response is malformed. Response data must be a hex value.', {\n metaMessages: [\n `Gateway URL: ${getUrl(url)}`,\n `Response: ${stringify(result)}`,\n ],\n name: 'OffchainLookupResponseMalformedError',\n });\n }\n}\nexport class OffchainLookupSenderMismatchError extends BaseError {\n constructor({ sender, to }) {\n super('Reverted sender address does not match target contract address (`to`).', {\n metaMessages: [\n `Contract address: ${to}`,\n `OffchainLookup sender address: ${sender}`,\n ],\n name: 'OffchainLookupSenderMismatchError',\n });\n }\n}\n//# sourceMappingURL=ccip.js.map","import { call } from '../actions/public/call.js';\nimport { OffchainLookupError, OffchainLookupResponseMalformedError, OffchainLookupSenderMismatchError, } from '../errors/ccip.js';\nimport { HttpRequestError, } from '../errors/request.js';\nimport { decodeErrorResult } from './abi/decodeErrorResult.js';\nimport { encodeAbiParameters } from './abi/encodeAbiParameters.js';\nimport { isAddressEqual } from './address/isAddressEqual.js';\nimport { concat } from './data/concat.js';\nimport { isHex } from './data/isHex.js';\nimport { localBatchGatewayRequest, localBatchGatewayUrl, } from './ens/localBatchGatewayRequest.js';\nimport { stringify } from './stringify.js';\nexport const offchainLookupSignature = '0x556f1830';\nexport const offchainLookupAbiItem = {\n name: 'OffchainLookup',\n type: 'error',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'urls',\n type: 'string[]',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'callbackFunction',\n type: 'bytes4',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nexport async function offchainLookup(client, { blockNumber, blockTag, data, to, }) {\n const { args } = decodeErrorResult({\n data,\n abi: [offchainLookupAbiItem],\n });\n const [sender, urls, callData, callbackSelector, extraData] = args;\n const { ccipRead } = client;\n const ccipRequest_ = ccipRead && typeof ccipRead?.request === 'function'\n ? ccipRead.request\n : ccipRequest;\n try {\n if (!isAddressEqual(to, sender))\n throw new OffchainLookupSenderMismatchError({ sender, to });\n const result = urls.includes(localBatchGatewayUrl)\n ? await localBatchGatewayRequest({\n data: callData,\n ccipRequest: ccipRequest_,\n })\n : await ccipRequest_({ data: callData, sender, urls });\n const { data: data_ } = await call(client, {\n blockNumber,\n blockTag,\n data: concat([\n callbackSelector,\n encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),\n ]),\n to,\n });\n return data_;\n }\n catch (err) {\n throw new OffchainLookupError({\n callbackSelector,\n cause: err,\n data,\n extraData,\n sender,\n urls,\n });\n }\n}\nexport async function ccipRequest({ data, sender, urls, }) {\n let error = new Error('An unknown error occurred.');\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n const method = url.includes('{data}') ? 'GET' : 'POST';\n const body = method === 'POST' ? { data, sender } : undefined;\n const headers = method === 'POST' ? { 'Content-Type': 'application/json' } : {};\n try {\n const response = await fetch(url.replace('{sender}', sender.toLowerCase()).replace('{data}', data), {\n body: JSON.stringify(body),\n headers,\n method,\n });\n let result;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n result = (await response.json()).data;\n }\n else {\n result = (await response.text());\n }\n if (!response.ok) {\n error = new HttpRequestError({\n body,\n details: result?.error\n ? stringify(result.error)\n : response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n continue;\n }\n if (!isHex(result)) {\n error = new OffchainLookupResponseMalformedError({\n result,\n url,\n });\n continue;\n }\n return result;\n }\n catch (err) {\n error = new HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n }\n throw error;\n}\n//# sourceMappingURL=ccip.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"ccip-DhNdZlh7.js","sources":["../../../../node_modules/.pnpm/viem@2.38.6_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/address/isAddressEqual.js","../../../../node_modules/.pnpm/viem@2.38.6_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/ccip.js","../../../../node_modules/.pnpm/viem@2.38.6_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/utils/ccip.js"],"sourcesContent":["import { InvalidAddressError, } from '../../errors/address.js';\nimport { isAddress } from './isAddress.js';\nexport function isAddressEqual(a, b) {\n if (!isAddress(a, { strict: false }))\n throw new InvalidAddressError({ address: a });\n if (!isAddress(b, { strict: false }))\n throw new InvalidAddressError({ address: b });\n return a.toLowerCase() === b.toLowerCase();\n}\n//# sourceMappingURL=isAddressEqual.js.map","import { stringify } from '../utils/stringify.js';\nimport { BaseError } from './base.js';\nimport { getUrl } from './utils.js';\nexport class OffchainLookupError extends BaseError {\n constructor({ callbackSelector, cause, data, extraData, sender, urls, }) {\n super(cause.shortMessage ||\n 'An error occurred while fetching for an offchain result.', {\n cause,\n metaMessages: [\n ...(cause.metaMessages || []),\n cause.metaMessages?.length ? '' : [],\n 'Offchain Gateway Call:',\n urls && [\n ' Gateway URL(s):',\n ...urls.map((url) => ` ${getUrl(url)}`),\n ],\n ` Sender: ${sender}`,\n ` Data: ${data}`,\n ` Callback selector: ${callbackSelector}`,\n ` Extra data: ${extraData}`,\n ].flat(),\n name: 'OffchainLookupError',\n });\n }\n}\nexport class OffchainLookupResponseMalformedError extends BaseError {\n constructor({ result, url }) {\n super('Offchain gateway response is malformed. Response data must be a hex value.', {\n metaMessages: [\n `Gateway URL: ${getUrl(url)}`,\n `Response: ${stringify(result)}`,\n ],\n name: 'OffchainLookupResponseMalformedError',\n });\n }\n}\nexport class OffchainLookupSenderMismatchError extends BaseError {\n constructor({ sender, to }) {\n super('Reverted sender address does not match target contract address (`to`).', {\n metaMessages: [\n `Contract address: ${to}`,\n `OffchainLookup sender address: ${sender}`,\n ],\n name: 'OffchainLookupSenderMismatchError',\n });\n }\n}\n//# sourceMappingURL=ccip.js.map","import { call } from '../actions/public/call.js';\nimport { OffchainLookupError, OffchainLookupResponseMalformedError, OffchainLookupSenderMismatchError, } from '../errors/ccip.js';\nimport { HttpRequestError, } from '../errors/request.js';\nimport { decodeErrorResult } from './abi/decodeErrorResult.js';\nimport { encodeAbiParameters } from './abi/encodeAbiParameters.js';\nimport { isAddressEqual } from './address/isAddressEqual.js';\nimport { concat } from './data/concat.js';\nimport { isHex } from './data/isHex.js';\nimport { localBatchGatewayRequest, localBatchGatewayUrl, } from './ens/localBatchGatewayRequest.js';\nimport { stringify } from './stringify.js';\nexport const offchainLookupSignature = '0x556f1830';\nexport const offchainLookupAbiItem = {\n name: 'OffchainLookup',\n type: 'error',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'urls',\n type: 'string[]',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'callbackFunction',\n type: 'bytes4',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nexport async function offchainLookup(client, { blockNumber, blockTag, data, to, }) {\n const { args } = decodeErrorResult({\n data,\n abi: [offchainLookupAbiItem],\n });\n const [sender, urls, callData, callbackSelector, extraData] = args;\n const { ccipRead } = client;\n const ccipRequest_ = ccipRead && typeof ccipRead?.request === 'function'\n ? ccipRead.request\n : ccipRequest;\n try {\n if (!isAddressEqual(to, sender))\n throw new OffchainLookupSenderMismatchError({ sender, to });\n const result = urls.includes(localBatchGatewayUrl)\n ? await localBatchGatewayRequest({\n data: callData,\n ccipRequest: ccipRequest_,\n })\n : await ccipRequest_({ data: callData, sender, urls });\n const { data: data_ } = await call(client, {\n blockNumber,\n blockTag,\n data: concat([\n callbackSelector,\n encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),\n ]),\n to,\n });\n return data_;\n }\n catch (err) {\n throw new OffchainLookupError({\n callbackSelector,\n cause: err,\n data,\n extraData,\n sender,\n urls,\n });\n }\n}\nexport async function ccipRequest({ data, sender, urls, }) {\n let error = new Error('An unknown error occurred.');\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n const method = url.includes('{data}') ? 'GET' : 'POST';\n const body = method === 'POST' ? { data, sender } : undefined;\n const headers = method === 'POST' ? { 'Content-Type': 'application/json' } : {};\n try {\n const response = await fetch(url.replace('{sender}', sender.toLowerCase()).replace('{data}', data), {\n body: JSON.stringify(body),\n headers,\n method,\n });\n let result;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n result = (await response.json()).data;\n }\n else {\n result = (await response.text());\n }\n if (!response.ok) {\n error = new HttpRequestError({\n body,\n details: result?.error\n ? stringify(result.error)\n : response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n continue;\n }\n if (!isHex(result)) {\n error = new OffchainLookupResponseMalformedError({\n result,\n url,\n });\n continue;\n }\n return result;\n }\n catch (err) {\n error = new HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n }\n throw error;\n}\n//# sourceMappingURL=ccip.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports, M as Modal, t as twMerge, V as mergeClassNameProps } from "./index-NwtkAyHu.js";
1
+ import { j as jsxRuntimeExports, M as Modal, t as twMerge, V as mergeClassNameProps } from "./index-BRK2SPwe.js";
2
2
  const buttonStyles = "min-h-[48px] min-w-[142px] text-base font-semibold py-3 px-6 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all";
3
3
  function ConnectConfirmationModal(props) {
4
4
  const { body, header, children, onCancel, onOpenChange, onContinue, cancelLabel, continueLabel, overlayProps, contentProps, bodyProps = {}, headerProps = {}, containerProps = {}, cancelButtonProps = {}, continueButtonProps = {}, buttonContainerProps = {}, ...restProps } = props;
@@ -13,4 +13,4 @@ function ConnectConfirmationModal(props) {
13
13
  export {
14
14
  ConnectConfirmationModal as C
15
15
  };
16
- //# sourceMappingURL=confirmation-modal-DhDkTlWh.js.map
16
+ //# sourceMappingURL=confirmation-modal-DM5tMFeL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation-modal-DhDkTlWh.js","sources":["../../../../packages/design-system/dist/src/connect/components/modal/confirmation-modal.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Modal, mergeClassNameProps } from \"@powerhousedao/design-system\";\nimport { twMerge } from \"tailwind-merge\";\nconst buttonStyles = \"min-h-[48px] min-w-[142px] text-base font-semibold py-3 px-6 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all\";\nexport function ConnectConfirmationModal(props) {\n const { body, header, children, onCancel, onOpenChange, onContinue, cancelLabel, continueLabel, overlayProps, contentProps, bodyProps = {}, headerProps = {}, containerProps = {}, cancelButtonProps = {}, continueButtonProps = {}, buttonContainerProps = {}, ...restProps } = props;\n return (_jsx(Modal, { contentProps: {\n ...contentProps,\n className: twMerge(\"rounded-3xl\", contentProps?.className),\n }, onOpenChange: onOpenChange, overlayProps: {\n ...overlayProps,\n className: overlayProps?.className,\n }, ...restProps, children: _jsxs(\"div\", { ...mergeClassNameProps(containerProps, \"w-[400px] p-6 text-slate-300\"), children: [_jsx(\"div\", { ...mergeClassNameProps(headerProps, \"border-b border-slate-50 pb-2 text-2xl font-bold text-gray-800\"), children: header }), _jsxs(\"div\", { ...mergeClassNameProps(bodyProps, \"my-6 rounded-md bg-slate-50 p-4 text-center\"), children: [body, children] }), _jsxs(\"div\", { ...mergeClassNameProps(buttonContainerProps, \"mt-8 flex justify-between gap-3\"), children: [_jsx(\"button\", { onClick: onCancel, ...mergeClassNameProps(cancelButtonProps, twMerge(buttonStyles, \"flex-1 bg-slate-50 text-slate-800\")), children: cancelLabel }), _jsx(\"button\", { onClick: onContinue, ...mergeClassNameProps(continueButtonProps, twMerge(buttonStyles, \"flex-1 bg-gray-800 text-gray-50\")), children: continueLabel })] })] }) }));\n}\n//# sourceMappingURL=confirmation-modal.js.map"],"names":["_jsx","_jsxs"],"mappings":";AAGA,MAAM,eAAe;AACd,SAAS,yBAAyB,OAAO;AAC5C,QAAM,EAAE,MAAM,QAAQ,UAAU,UAAU,cAAc,YAAY,aAAa,eAAe,cAAc,cAAc,YAAY,CAAA,GAAI,cAAc,IAAI,iBAAiB,CAAA,GAAI,oBAAoB,CAAA,GAAI,sBAAsB,CAAA,GAAI,uBAAuB,CAAA,GAAI,GAAG,UAAS,IAAK;AACjR,SAAQA,kBAAAA,IAAK,OAAO,EAAE,cAAc;AAAA,IAC5B,GAAG;AAAA,IACH,WAAW,QAAQ,eAAe,cAAc,SAAS;AAAA,EACrE,GAAW,cAA4B,cAAc;AAAA,IACzC,GAAG;AAAA,IACH,WAAW,cAAc;AAAA,EACrC,GAAW,GAAG,WAAW,UAAUC,kBAAAA,KAAM,OAAO,EAAE,GAAG,oBAAoB,gBAAgB,8BAA8B,GAAG,UAAU,CAACD,sBAAK,OAAO,EAAE,GAAG,oBAAoB,aAAa,gEAAgE,GAAG,UAAU,OAAM,CAAE,GAAGC,kBAAAA,KAAM,OAAO,EAAE,GAAG,oBAAoB,WAAW,6CAA6C,GAAG,UAAU,CAAC,MAAM,QAAQ,EAAC,CAAE,GAAGA,kBAAAA,KAAM,OAAO,EAAE,GAAG,oBAAoB,sBAAsB,iCAAiC,GAAG,UAAU,CAACD,kBAAAA,IAAK,UAAU,EAAE,SAAS,UAAU,GAAG,oBAAoB,mBAAmB,QAAQ,cAAc,mCAAmC,CAAC,GAAG,UAAU,YAAW,CAAE,GAAGA,kBAAAA,IAAK,UAAU,EAAE,SAAS,YAAY,GAAG,oBAAoB,qBAAqB,QAAQ,cAAc,iCAAiC,CAAC,GAAG,UAAU,cAAa,CAAE,CAAC,GAAG,CAAC,EAAC,CAAE,GAAG;AACh1B;"}
1
+ {"version":3,"file":"confirmation-modal-DM5tMFeL.js","sources":["../../../../packages/design-system/dist/src/connect/components/modal/confirmation-modal.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Modal, mergeClassNameProps } from \"@powerhousedao/design-system\";\nimport { twMerge } from \"tailwind-merge\";\nconst buttonStyles = \"min-h-[48px] min-w-[142px] text-base font-semibold py-3 px-6 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all\";\nexport function ConnectConfirmationModal(props) {\n const { body, header, children, onCancel, onOpenChange, onContinue, cancelLabel, continueLabel, overlayProps, contentProps, bodyProps = {}, headerProps = {}, containerProps = {}, cancelButtonProps = {}, continueButtonProps = {}, buttonContainerProps = {}, ...restProps } = props;\n return (_jsx(Modal, { contentProps: {\n ...contentProps,\n className: twMerge(\"rounded-3xl\", contentProps?.className),\n }, onOpenChange: onOpenChange, overlayProps: {\n ...overlayProps,\n className: overlayProps?.className,\n }, ...restProps, children: _jsxs(\"div\", { ...mergeClassNameProps(containerProps, \"w-[400px] p-6 text-slate-300\"), children: [_jsx(\"div\", { ...mergeClassNameProps(headerProps, \"border-b border-slate-50 pb-2 text-2xl font-bold text-gray-800\"), children: header }), _jsxs(\"div\", { ...mergeClassNameProps(bodyProps, \"my-6 rounded-md bg-slate-50 p-4 text-center\"), children: [body, children] }), _jsxs(\"div\", { ...mergeClassNameProps(buttonContainerProps, \"mt-8 flex justify-between gap-3\"), children: [_jsx(\"button\", { onClick: onCancel, ...mergeClassNameProps(cancelButtonProps, twMerge(buttonStyles, \"flex-1 bg-slate-50 text-slate-800\")), children: cancelLabel }), _jsx(\"button\", { onClick: onContinue, ...mergeClassNameProps(continueButtonProps, twMerge(buttonStyles, \"flex-1 bg-gray-800 text-gray-50\")), children: continueLabel })] })] }) }));\n}\n//# sourceMappingURL=confirmation-modal.js.map"],"names":["_jsx","_jsxs"],"mappings":";AAGA,MAAM,eAAe;AACd,SAAS,yBAAyB,OAAO;AAC5C,QAAM,EAAE,MAAM,QAAQ,UAAU,UAAU,cAAc,YAAY,aAAa,eAAe,cAAc,cAAc,YAAY,CAAA,GAAI,cAAc,IAAI,iBAAiB,CAAA,GAAI,oBAAoB,CAAA,GAAI,sBAAsB,CAAA,GAAI,uBAAuB,CAAA,GAAI,GAAG,UAAS,IAAK;AACjR,SAAQA,kBAAAA,IAAK,OAAO,EAAE,cAAc;AAAA,IAC5B,GAAG;AAAA,IACH,WAAW,QAAQ,eAAe,cAAc,SAAS;AAAA,EACrE,GAAW,cAA4B,cAAc;AAAA,IACzC,GAAG;AAAA,IACH,WAAW,cAAc;AAAA,EACrC,GAAW,GAAG,WAAW,UAAUC,kBAAAA,KAAM,OAAO,EAAE,GAAG,oBAAoB,gBAAgB,8BAA8B,GAAG,UAAU,CAACD,sBAAK,OAAO,EAAE,GAAG,oBAAoB,aAAa,gEAAgE,GAAG,UAAU,OAAM,CAAE,GAAGC,kBAAAA,KAAM,OAAO,EAAE,GAAG,oBAAoB,WAAW,6CAA6C,GAAG,UAAU,CAAC,MAAM,QAAQ,EAAC,CAAE,GAAGA,kBAAAA,KAAM,OAAO,EAAE,GAAG,oBAAoB,sBAAsB,iCAAiC,GAAG,UAAU,CAACD,kBAAAA,IAAK,UAAU,EAAE,SAAS,UAAU,GAAG,oBAAoB,mBAAmB,QAAQ,cAAc,mCAAmC,CAAC,GAAG,UAAU,YAAW,CAAE,GAAGA,kBAAAA,IAAK,UAAU,EAAE,SAAS,YAAY,GAAG,oBAAoB,qBAAqB,QAAQ,cAAc,iCAAiC,CAAC,GAAG,UAAU,cAAa,CAAE,CAAC,GAAG,CAAC,EAAC,CAAE,GAAG;AACh1B;"}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports, t as twMerge, I as Icon, a0 as twJoin } from "./index-NwtkAyHu.js";
1
+ import { j as jsxRuntimeExports, t as twMerge, I as Icon, a0 as twJoin } from "./index-BRK2SPwe.js";
2
2
  function Disclosure(props) {
3
3
  const { title, isOpen, onOpenChange, children, containerClassName, toggleClassName, contentClassName } = props;
4
4
  return jsxRuntimeExports.jsxs("div", { className: twMerge(containerClassName), children: [jsxRuntimeExports.jsxs("div", { className: twMerge("flex cursor-pointer justify-between text-gray-500", toggleClassName), onClick: onOpenChange, children: [jsxRuntimeExports.jsx("h2", { className: "font-semibold text-inherit", children: title }), jsxRuntimeExports.jsx(Icon, { className: twJoin("transition", isOpen ? "" : "-rotate-90"), size: 16, name: "ChevronDown" })] }), jsxRuntimeExports.jsx("div", { className: twMerge("max-h-0 overflow-hidden transition-[max-height] duration-300 ease-in-out", isOpen && "max-h-screen", contentClassName), children })] });
@@ -6,4 +6,4 @@ function Disclosure(props) {
6
6
  export {
7
7
  Disclosure as D
8
8
  };
9
- //# sourceMappingURL=disclosure-BK1-aX0U.js.map
9
+ //# sourceMappingURL=disclosure-iERpR3s0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"disclosure-BK1-aX0U.js","sources":["../../../../packages/design-system/dist/src/connect/components/disclosure/disclosure.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon } from \"@powerhousedao/design-system\";\nimport { twJoin, twMerge } from \"tailwind-merge\";\nexport function Disclosure(props) {\n const { title, isOpen, onOpenChange, children, containerClassName, toggleClassName, contentClassName, } = props;\n return (_jsxs(\"div\", { className: twMerge(containerClassName), children: [_jsxs(\"div\", { className: twMerge(\"flex cursor-pointer justify-between text-gray-500\", toggleClassName), onClick: onOpenChange, children: [_jsx(\"h2\", { className: \"font-semibold text-inherit\", children: title }), _jsx(Icon, { className: twJoin(\"transition\", isOpen ? \"\" : \"-rotate-90\"), size: 16, name: \"ChevronDown\" })] }), _jsx(\"div\", { className: twMerge(\"max-h-0 overflow-hidden transition-[max-height] duration-300 ease-in-out\", isOpen && \"max-h-screen\", contentClassName), children: children })] }));\n}\n//# sourceMappingURL=disclosure.js.map"],"names":["_jsxs","_jsx"],"mappings":";AAGO,SAAS,WAAW,OAAO;AAC9B,QAAM,EAAE,OAAO,QAAQ,cAAc,UAAU,oBAAoB,iBAAiB,iBAAgB,IAAM;AAC1G,SAAQA,kBAAAA,KAAM,OAAO,EAAE,WAAW,QAAQ,kBAAkB,GAAG,UAAU,CAACA,kBAAAA,KAAM,OAAO,EAAE,WAAW,QAAQ,qDAAqD,eAAe,GAAG,SAAS,cAAc,UAAU,CAACC,kBAAAA,IAAK,MAAM,EAAE,WAAW,8BAA8B,UAAU,MAAK,CAAE,GAAGA,kBAAAA,IAAK,MAAM,EAAE,WAAW,OAAO,cAAc,SAAS,KAAK,YAAY,GAAG,MAAM,IAAI,MAAM,cAAa,CAAE,CAAC,EAAC,CAAE,GAAGA,kBAAAA,IAAK,OAAO,EAAE,WAAW,QAAQ,4EAA4E,UAAU,gBAAgB,gBAAgB,GAAG,SAAkB,CAAE,CAAC,EAAC,CAAE;AACrkB;"}
1
+ {"version":3,"file":"disclosure-iERpR3s0.js","sources":["../../../../packages/design-system/dist/src/connect/components/disclosure/disclosure.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon } from \"@powerhousedao/design-system\";\nimport { twJoin, twMerge } from \"tailwind-merge\";\nexport function Disclosure(props) {\n const { title, isOpen, onOpenChange, children, containerClassName, toggleClassName, contentClassName, } = props;\n return (_jsxs(\"div\", { className: twMerge(containerClassName), children: [_jsxs(\"div\", { className: twMerge(\"flex cursor-pointer justify-between text-gray-500\", toggleClassName), onClick: onOpenChange, children: [_jsx(\"h2\", { className: \"font-semibold text-inherit\", children: title }), _jsx(Icon, { className: twJoin(\"transition\", isOpen ? \"\" : \"-rotate-90\"), size: 16, name: \"ChevronDown\" })] }), _jsx(\"div\", { className: twMerge(\"max-h-0 overflow-hidden transition-[max-height] duration-300 ease-in-out\", isOpen && \"max-h-screen\", contentClassName), children: children })] }));\n}\n//# sourceMappingURL=disclosure.js.map"],"names":["_jsxs","_jsx"],"mappings":";AAGO,SAAS,WAAW,OAAO;AAC9B,QAAM,EAAE,OAAO,QAAQ,cAAc,UAAU,oBAAoB,iBAAiB,iBAAgB,IAAM;AAC1G,SAAQA,kBAAAA,KAAM,OAAO,EAAE,WAAW,QAAQ,kBAAkB,GAAG,UAAU,CAACA,kBAAAA,KAAM,OAAO,EAAE,WAAW,QAAQ,qDAAqD,eAAe,GAAG,SAAS,cAAc,UAAU,CAACC,kBAAAA,IAAK,MAAM,EAAE,WAAW,8BAA8B,UAAU,MAAK,CAAE,GAAGA,kBAAAA,IAAK,MAAM,EAAE,WAAW,OAAO,cAAc,SAAS,KAAK,YAAY,GAAG,MAAM,IAAI,MAAM,cAAa,CAAE,CAAC,EAAC,CAAE,GAAGA,kBAAAA,IAAK,OAAO,EAAE,WAAW,QAAQ,4EAA4E,UAAU,gBAAgB,gBAAgB,GAAG,SAAkB,CAAE,CAAC,EAAC,CAAE;AACrkB;"}
@@ -1,4 +1,4 @@
1
- import { G as useDrives, $ as useDispatch } from "./index-NwtkAyHu.js";
1
+ import { G as useDrives, $ as useDispatch } from "./index-BRK2SPwe.js";
2
2
  function useDriveById(driveId) {
3
3
  const drives = useDrives();
4
4
  const foundDrive = drives?.find((drive2) => drive2.header.id === driveId);
@@ -11,4 +11,4 @@ function useDriveById(driveId) {
11
11
  export {
12
12
  useDriveById as u
13
13
  };
14
- //# sourceMappingURL=drive-by-id-Clj6-Bqe.js.map
14
+ //# sourceMappingURL=drive-by-id-BanyjI1t.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drive-by-id-Clj6-Bqe.js","sources":["../../../../packages/reactor-browser/dist/src/hooks/drive-by-id.js"],"sourcesContent":["import { useDispatch } from \"./dispatch.js\";\nimport { useDrives } from \"./drives.js\";\nexport function useDriveById(driveId) {\n const drives = useDrives();\n const foundDrive = drives?.find((drive) => drive.header.id === driveId);\n const [drive, dispatch] = useDispatch(foundDrive);\n if (!foundDrive) {\n throw new Error(`Drive with id ${driveId} not found`);\n }\n return [drive, dispatch];\n}\n//# sourceMappingURL=drive-by-id.js.map"],"names":["drive"],"mappings":";AAEO,SAAS,aAAa,SAAS;AAClC,QAAM,SAAS,UAAS;AACxB,QAAM,aAAa,QAAQ,KAAK,CAACA,WAAUA,OAAM,OAAO,OAAO,OAAO;AACtE,QAAM,CAAC,OAAO,QAAQ,IAAI,YAAY,UAAU;AAChD,MAAI,CAAC,YAAY;AACb,UAAM,IAAI,MAAM,iBAAiB,OAAO,YAAY;AAAA,EACxD;AACA,SAAO,CAAC,OAAO,QAAQ;AAC3B;"}
1
+ {"version":3,"file":"drive-by-id-BanyjI1t.js","sources":["../../../../packages/reactor-browser/dist/src/hooks/drive-by-id.js"],"sourcesContent":["import { useDispatch } from \"./dispatch.js\";\nimport { useDrives } from \"./drives.js\";\nexport function useDriveById(driveId) {\n const drives = useDrives();\n const foundDrive = drives?.find((drive) => drive.header.id === driveId);\n const [drive, dispatch] = useDispatch(foundDrive);\n if (!foundDrive) {\n throw new Error(`Drive with id ${driveId} not found`);\n }\n return [drive, dispatch];\n}\n//# sourceMappingURL=drive-by-id.js.map"],"names":["drive"],"mappings":";AAEO,SAAS,aAAa,SAAS;AAClC,QAAM,SAAS,UAAS;AACxB,QAAM,aAAa,QAAQ,KAAK,CAACA,WAAUA,OAAM,OAAO,OAAO,OAAO;AACtE,QAAM,CAAC,OAAO,QAAQ,IAAI,YAAY,UAAU;AAChD,MAAI,CAAC,YAAY;AACb,UAAM,IAAI,MAAM,iBAAiB,OAAO,YAAY;AAAA,EACxD;AACA,SAAO,CAAC,OAAO,QAAQ;AAC3B;"}
@@ -1,5 +1,5 @@
1
- import { j as jsxRuntimeExports, t as twMerge, eC as createContextScope, r as reactExports, eX as createPopperScope, eY as useCallbackRef, eZ as Root2$1, e_ as Anchor, e$ as useComposedRefs, eE as composeEventHandlers, eF as Presence, f0 as Portal$1, eD as Primitive, f1 as dispatchDiscreteCustomEvent, f2 as hideOthers, f3 as useFocusGuards, f4 as ReactRemoveScroll, f5 as createSlot, f6 as FocusScope, f7 as DismissableLayer, f8 as Content, f9 as Arrow, ad as composeRefs, eB as useControllableState, a7 as useId } from "./index-NwtkAyHu.js";
2
- import { a as createCollection, c as createRovingFocusGroupScope, u as useDirection, I as Item, R as Root } from "./index-CRSaLTdy.js";
1
+ import { j as jsxRuntimeExports, t as twMerge, eC as createContextScope, r as reactExports, eX as createPopperScope, eY as useCallbackRef, eZ as Root2$1, e_ as Anchor, e$ as useComposedRefs, eE as composeEventHandlers, eF as Presence, f0 as Portal$1, eD as Primitive, f1 as dispatchDiscreteCustomEvent, f2 as hideOthers, f3 as useFocusGuards, f4 as ReactRemoveScroll, f5 as createSlot, f6 as FocusScope, f7 as DismissableLayer, f8 as Content, f9 as Arrow, ad as composeRefs, eB as useControllableState, a7 as useId } from "./index-BRK2SPwe.js";
2
+ import { a as createCollection, c as createRovingFocusGroupScope, u as useDirection, I as Item, R as Root } from "./index-ZC6AHfIK.js";
3
3
  function ConnectDropdownMenu(props) {
4
4
  const { children, items, open, onItemClick, onOpenChange, menuClassName } = props;
5
5
  return jsxRuntimeExports.jsxs(DropdownMenu, { onOpenChange, open, children: [jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, className: "outline-none", children }), jsxRuntimeExports.jsx(DropdownMenuContent, { className: twMerge("modal-shadow cursor-pointer rounded-2xl bg-white text-sm font-medium text-slate-500", menuClassName), children: items.map(({ id, label, icon, className }) => jsxRuntimeExports.jsxs(DropdownMenuItem, { className: twMerge("flex items-center px-5 py-2 outline-none first-of-type:rounded-t-2xl first-of-type:pt-3 last-of-type:rounded-b-2xl last-of-type:pb-3 hover:bg-slate-50", className), onClick: (e) => e.stopPropagation(), onSelect: () => onItemClick(id), children: [icon ? jsxRuntimeExports.jsx("span", { className: "mr-2 inline-block", children: icon }) : null, label] }, id)) })] });
@@ -1023,4 +1023,4 @@ const DropdownMenuItem = Item2;
1023
1023
  export {
1024
1024
  ConnectDropdownMenu as C
1025
1025
  };
1026
- //# sourceMappingURL=dropdown-menu-Bg-CMliM.js.map
1026
+ //# sourceMappingURL=dropdown-menu-CXmhaaui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu-Bg-CMliM.js","sources":["../../../../packages/design-system/dist/src/connect/components/dropdown-menu/dropdown-menu.js","../../../../node_modules/.pnpm/@radix-ui+react-menu@2.1.16_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@1_040ff2abcc161f3449c198580bf5de3c/node_modules/@radix-ui/react-menu/dist/index.mjs","../../../../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.16_@types+react-dom@19.2.2_@types+react@19.2.2__@type_f90fa60edb4ba7a2bde2c9dcd66319cb/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../../../../packages/design-system/dist/src/powerhouse/components/dropdown-menu/dropdown-menu.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from \"@powerhousedao/design-system\";\nimport { twMerge } from \"tailwind-merge\";\nexport function ConnectDropdownMenu(props) {\n const { children, items, open, onItemClick, onOpenChange, menuClassName } = props;\n return (_jsxs(DropdownMenu, { onOpenChange: onOpenChange, open: open, children: [_jsx(DropdownMenuTrigger, { asChild: true, className: \"outline-none\", children: children }), _jsx(DropdownMenuContent, { className: twMerge(\"modal-shadow cursor-pointer rounded-2xl bg-white text-sm font-medium text-slate-500\", menuClassName), children: items.map(({ id, label, icon, className }) => (_jsxs(DropdownMenuItem, { className: twMerge(\"flex items-center px-5 py-2 outline-none first-of-type:rounded-t-2xl first-of-type:pt-3 last-of-type:rounded-b-2xl last-of-type:pb-3 hover:bg-slate-50\", className), onClick: (e) => e.stopPropagation(), onSelect: () => onItemClick(id), children: [icon ? _jsx(\"span\", { className: \"mr-2 inline-block\", children: icon }) : null, label] }, id))) })] }));\n}\n//# sourceMappingURL=dropdown-menu.js.map","\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Content, Item, Label, Portal, Root, Trigger, } from \"@radix-ui/react-dropdown-menu\";\nimport { forwardRef } from \"react\";\nexport const DropdownMenu = Root;\nexport const DropdownMenuTrigger = Trigger;\nexport const DropdownMenuContent = forwardRef(function DropdownMenuContent({ children, ...delegatedProps }, forwardedRef) {\n return (_jsx(Portal, { children: _jsx(Content, { ...delegatedProps, ref: forwardedRef, children: children }) }));\n});\nexport const DropdownMenuLabel = Label;\nexport const DropdownMenuItem = Item;\n//# sourceMappingURL=dropdown-menu.js.map"],"names":["_jsxs","_jsx","React.useState","React.useRef","React.useEffect","jsx","PopperPrimitive.Root","React.useCallback","React.forwardRef","PopperPrimitive.Anchor","PORTAL_NAME","PortalPrimitive","CONTENT_NAME","RemoveScroll","React.Fragment","RovingFocusGroup.Root","PopperPrimitive.Content","GROUP_NAME","LABEL_NAME","ITEM_NAME","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","RADIO_GROUP_NAME","RADIO_ITEM_NAME","SEPARATOR_NAME","ARROW_NAME","PopperPrimitive.Arrow","SUB_TRIGGER_NAME","SUB_CONTENT_NAME","Content2","Item2","DropdownMenu","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","MenuPrimitive.Portal","DropdownMenuContent","MenuPrimitive.Content","MenuPrimitive.Group","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","MenuPrimitive.CheckboxItem","MenuPrimitive.RadioGroup","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","MenuPrimitive.Separator","MenuPrimitive.Arrow","MenuPrimitive.SubTrigger","MenuPrimitive.SubContent","Root","forwardRef","Portal","Content","Item"],"mappings":"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","x_google_ignoreList":[1,2]}
1
+ {"version":3,"file":"dropdown-menu-CXmhaaui.js","sources":["../../../../packages/design-system/dist/src/connect/components/dropdown-menu/dropdown-menu.js","../../../../node_modules/.pnpm/@radix-ui+react-menu@2.1.16_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@1_040ff2abcc161f3449c198580bf5de3c/node_modules/@radix-ui/react-menu/dist/index.mjs","../../../../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.16_@types+react-dom@19.2.2_@types+react@19.2.2__@type_f90fa60edb4ba7a2bde2c9dcd66319cb/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../../../../packages/design-system/dist/src/powerhouse/components/dropdown-menu/dropdown-menu.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from \"@powerhousedao/design-system\";\nimport { twMerge } from \"tailwind-merge\";\nexport function ConnectDropdownMenu(props) {\n const { children, items, open, onItemClick, onOpenChange, menuClassName } = props;\n return (_jsxs(DropdownMenu, { onOpenChange: onOpenChange, open: open, children: [_jsx(DropdownMenuTrigger, { asChild: true, className: \"outline-none\", children: children }), _jsx(DropdownMenuContent, { className: twMerge(\"modal-shadow cursor-pointer rounded-2xl bg-white text-sm font-medium text-slate-500\", menuClassName), children: items.map(({ id, label, icon, className }) => (_jsxs(DropdownMenuItem, { className: twMerge(\"flex items-center px-5 py-2 outline-none first-of-type:rounded-t-2xl first-of-type:pt-3 last-of-type:rounded-b-2xl last-of-type:pb-3 hover:bg-slate-50\", className), onClick: (e) => e.stopPropagation(), onSelect: () => onItemClick(id), children: [icon ? _jsx(\"span\", { className: \"mr-2 inline-block\", children: icon }) : null, label] }, id))) })] }));\n}\n//# sourceMappingURL=dropdown-menu.js.map","\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Content, Item, Label, Portal, Root, Trigger, } from \"@radix-ui/react-dropdown-menu\";\nimport { forwardRef } from \"react\";\nexport const DropdownMenu = Root;\nexport const DropdownMenuTrigger = Trigger;\nexport const DropdownMenuContent = forwardRef(function DropdownMenuContent({ children, ...delegatedProps }, forwardedRef) {\n return (_jsx(Portal, { children: _jsx(Content, { ...delegatedProps, ref: forwardedRef, children: children }) }));\n});\nexport const DropdownMenuLabel = Label;\nexport const DropdownMenuItem = Item;\n//# sourceMappingURL=dropdown-menu.js.map"],"names":["_jsxs","_jsx","React.useState","React.useRef","React.useEffect","jsx","PopperPrimitive.Root","React.useCallback","React.forwardRef","PopperPrimitive.Anchor","PORTAL_NAME","PortalPrimitive","CONTENT_NAME","RemoveScroll","React.Fragment","RovingFocusGroup.Root","PopperPrimitive.Content","GROUP_NAME","LABEL_NAME","ITEM_NAME","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","RADIO_GROUP_NAME","RADIO_ITEM_NAME","SEPARATOR_NAME","ARROW_NAME","PopperPrimitive.Arrow","SUB_TRIGGER_NAME","SUB_CONTENT_NAME","Content2","Item2","DropdownMenu","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","MenuPrimitive.Portal","DropdownMenuContent","MenuPrimitive.Content","MenuPrimitive.Group","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","MenuPrimitive.CheckboxItem","MenuPrimitive.RadioGroup","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","MenuPrimitive.Separator","MenuPrimitive.Arrow","MenuPrimitive.SubTrigger","MenuPrimitive.SubContent","Root","forwardRef","Portal","Content","Item"],"mappings":"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","x_google_ignoreList":[1,2]}