@vasfal/vellum 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +5 -5
- package/.next/build-manifest.json +13 -14
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +2 -0
- package/.next/required-server-files.json +2 -0
- package/.next/server/app/(app)/page.js +2 -15
- package/.next/server/app/(app)/page.js.nft.json +1 -1
- package/.next/server/app/(app)/page_client-reference-manifest.js +1 -3
- package/.next/server/app/(app)/session/[name]/page.js +2 -15
- package/.next/server/app/(app)/session/[name]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/session/[name]/page_client-reference-manifest.js +1 -3
- package/.next/server/app/(app)/settings/key/page.js +2 -15
- package/.next/server/app/(app)/settings/key/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/key/page_client-reference-manifest.js +1 -3
- package/.next/server/app/_global-error/page.js +32 -9
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.meta +2 -1
- package/.next/server/app/_global-error.rsc +7 -7
- package/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/server/app/_global-error.segments/{__PAGE__.segment.rsc → _global-error/__PAGE__.segment.rsc} +2 -2
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -13
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -3
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +14 -12
- package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -12
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -2
- package/.next/server/app/api/analyze/route.js +12 -9
- package/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/analyze/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/key/route.js +1 -8
- package/.next/server/app/api/key/route.js.nft.json +1 -1
- package/.next/server/app/api/key/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/key-status/route.js +1 -7
- package/.next/server/app/api/key-status/route.js.nft.json +1 -1
- package/.next/server/app/api/key-status/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/models/route.js +1 -7
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/revise/route.js +1 -8
- package/.next/server/app/api/revise/route.js.nft.json +1 -1
- package/.next/server/app/api/revise/route_client-reference-manifest.js +1 -3
- package/.next/server/app/icon.svg/route.js +1 -7
- package/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +24 -27
- package/.next/server/app/index.segments/!KGFwcCk/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/index.segments/!KGFwcCk.segment.rsc +9 -9
- package/.next/server/app/index.segments/_full.segment.rsc +24 -27
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +6 -6
- package/.next/server/app/index.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/record-test/page.js +8 -14
- package/.next/server/app/record-test/page.js.nft.json +1 -1
- package/.next/server/app/record-test/page_client-reference-manifest.js +1 -3
- package/.next/server/app/record-test.html +2 -2
- package/.next/server/app/record-test.rsc +16 -16
- package/.next/server/app/record-test.segments/_full.segment.rsc +16 -16
- package/.next/server/app/record-test.segments/_head.segment.rsc +4 -4
- package/.next/server/app/record-test.segments/_index.segment.rsc +6 -6
- package/.next/server/app/record-test.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/record-test.segments/record-test/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/record-test.segments/record-test.segment.rsc +3 -3
- package/.next/server/app/settings/key.html +1 -1
- package/.next/server/app/settings/key.rsc +28 -34
- package/.next/server/app/settings/key.segments/!KGFwcCk/settings/key/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/settings/key.segments/!KGFwcCk/settings/key.segment.rsc +3 -3
- package/.next/server/app/settings/key.segments/!KGFwcCk/settings.segment.rsc +3 -3
- package/.next/server/app/settings/key.segments/!KGFwcCk.segment.rsc +9 -9
- package/.next/server/app/settings/key.segments/_full.segment.rsc +28 -34
- package/.next/server/app/settings/key.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/key.segments/_index.segment.rsc +6 -6
- package/.next/server/app/settings/key.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/styleguide/page.js +2 -15
- package/.next/server/app/styleguide/page.js.nft.json +1 -1
- package/.next/server/app/styleguide/page_client-reference-manifest.js +1 -3
- package/.next/server/app/styleguide.html +1 -1
- package/.next/server/app/styleguide.rsc +68 -71
- package/.next/server/app/styleguide.segments/_full.segment.rsc +68 -71
- package/.next/server/app/styleguide.segments/_head.segment.rsc +4 -4
- package/.next/server/app/styleguide.segments/_index.segment.rsc +6 -6
- package/.next/server/app/styleguide.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/styleguide.segments/styleguide/__PAGE__.segment.rsc +43 -45
- package/.next/server/app/styleguide.segments/styleguide.segment.rsc +3 -3
- package/.next/server/app-paths-manifest.json +5 -5
- package/.next/server/chunks/15.js +1 -0
- package/.next/server/chunks/319.js +45 -0
- package/.next/server/chunks/367.js +122 -0
- package/.next/server/chunks/393.js +4 -0
- package/.next/server/chunks/491.js +2 -0
- package/.next/server/chunks/497.js +1 -0
- package/.next/server/chunks/546.js +1 -0
- package/.next/server/chunks/592.js +44 -0
- package/.next/server/chunks/607.js +4 -0
- package/.next/server/chunks/724.js +1 -0
- package/.next/server/chunks/741.js +18 -0
- package/.next/server/chunks/813.js +1 -0
- package/.next/server/chunks/837.js +75 -0
- package/.next/server/chunks/852.js +14 -0
- package/.next/server/chunks/907.js +62 -0
- package/.next/server/chunks/915.js +8 -0
- package/.next/server/chunks/994.js +8 -0
- package/.next/server/middleware-build-manifest.js +1 -21
- package/.next/server/middleware-manifest.json +2 -2
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -31
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -5
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/FExJe2q2O67X3zxf-SYQ_/_buildManifest.js +1 -0
- package/.next/static/chunks/185-9c51ded7cd36ca7e.js +1 -0
- package/.next/static/chunks/20-cca33f633fa125b2.js +1 -0
- package/.next/static/chunks/27-02413cc56fbb4570.js +1 -0
- package/.next/static/chunks/376-6f7bc95550542e0b.js +62 -0
- package/.next/static/chunks/479-ea67f878851afbcd.js +1 -0
- package/.next/static/chunks/493-6bd8c75c972d3abd.js +2 -0
- package/.next/static/chunks/4bd1b696-deb4a0a1da1923b0.js +1 -0
- package/.next/static/chunks/603-6235d4d53b37035c.js +1 -0
- package/.next/static/chunks/743-c183133e0fbf1564.js +44 -0
- package/.next/static/chunks/793-5e37343b804eb1d9.js +1 -0
- package/.next/static/chunks/794-dc751ec6c8c611f8.js +32 -0
- package/.next/static/chunks/924-9226750edc5c2c2f.js +1 -0
- package/.next/static/chunks/95247769-a29d70f7fbba27c6.js +1 -0
- package/.next/static/chunks/app/(app)/layout-aad46049bfd54648.js +1 -0
- package/.next/static/chunks/app/(app)/page-d75e1fccccdbe30e.js +1 -0
- package/.next/static/chunks/app/(app)/session/[name]/page-60529ed1fd7a66a1.js +1 -0
- package/.next/static/chunks/app/(app)/settings/key/page-c2aab9f11db98d4e.js +1 -0
- package/.next/static/chunks/app/_global-error/page-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/_not-found/page-6830be21b0ed0c95.js +1 -0
- package/.next/static/chunks/app/api/analyze/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/api/key/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/api/key-status/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/api/models/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/api/revise/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/layout-aa71ca14e7f13c0c.js +1 -0
- package/.next/static/chunks/app/record-test/page-efb4287dda79ede4.js +7 -0
- package/.next/static/chunks/app/styleguide/page-f39510e82c1f9f31.js +1 -0
- package/.next/static/chunks/framework-b29f9083d3cda3b2.js +1 -0
- package/.next/static/chunks/main-app-39f57c6e6702740e.js +1 -0
- package/.next/static/chunks/main-fac8900b4f9c4833.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-c1d4bb24e31b66a2.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/webpack-ceb933bd5f77076f.js +1 -0
- package/.next/static/css/e2905f0858acd77d.css +3 -0
- package/.next/types/app/(app)/page.ts +87 -0
- package/.next/types/app/(app)/session/[name]/page.ts +87 -0
- package/.next/types/app/(app)/settings/key/page.ts +87 -0
- package/.next/types/app/api/analyze/route.ts +351 -0
- package/.next/types/app/api/key/route.ts +351 -0
- package/.next/types/app/api/key-status/route.ts +351 -0
- package/.next/types/app/api/models/route.ts +351 -0
- package/.next/types/app/api/revise/route.ts +351 -0
- package/.next/types/app/layout.ts +87 -0
- package/.next/types/app/record-test/page.ts +87 -0
- package/.next/types/app/styleguide/page.ts +87 -0
- package/.next/types/package.json +1 -0
- package/README.md +4 -6
- package/next.config.ts +8 -0
- package/package.json +4 -4
- package/.next/build/56416d4ae4ce586f.js +0 -6
- package/.next/build/56416d4ae4ce586f.js.map +0 -5
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js +0 -206
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js.map +0 -8
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js +0 -500
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js.map +0 -11
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js +0 -13
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js.map +0 -5
- package/.next/build/chunks/[turbopack]_runtime.js +0 -890
- package/.next/build/chunks/[turbopack]_runtime.js.map +0 -11
- package/.next/build/chunks/node_modules_20v-8wl._.js +0 -6832
- package/.next/build/chunks/node_modules_20v-8wl._.js.map +0 -47
- package/.next/build/package.json +0 -1
- package/.next/cache/.previewinfo +0 -1
- package/.next/cache/.rscinfo +0 -1
- package/.next/cache/.tsbuildinfo +0 -1
- package/.next/diagnostics/route-bundle-stats.json +0 -111
- package/.next/fallback-build-manifest.json +0 -13
- package/.next/server/app/(app)/page/app-paths-manifest.json +0 -3
- package/.next/server/app/(app)/page/build-manifest.json +0 -17
- package/.next/server/app/(app)/page/next-font-manifest.json +0 -11
- package/.next/server/app/(app)/page/server-reference-manifest.json +0 -4
- package/.next/server/app/(app)/page.js.map +0 -5
- package/.next/server/app/(app)/session/[name]/page/app-paths-manifest.json +0 -3
- package/.next/server/app/(app)/session/[name]/page/build-manifest.json +0 -17
- package/.next/server/app/(app)/session/[name]/page/next-font-manifest.json +0 -11
- package/.next/server/app/(app)/session/[name]/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/(app)/session/[name]/page/server-reference-manifest.json +0 -4
- package/.next/server/app/(app)/session/[name]/page.js.map +0 -5
- package/.next/server/app/(app)/settings/key/page/app-paths-manifest.json +0 -3
- package/.next/server/app/(app)/settings/key/page/build-manifest.json +0 -17
- package/.next/server/app/(app)/settings/key/page/next-font-manifest.json +0 -11
- package/.next/server/app/(app)/settings/key/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/(app)/settings/key/page/server-reference-manifest.json +0 -4
- package/.next/server/app/(app)/settings/key/page.js.map +0 -5
- package/.next/server/app/_global-error/page/app-paths-manifest.json +0 -3
- package/.next/server/app/_global-error/page/build-manifest.json +0 -17
- package/.next/server/app/_global-error/page/next-font-manifest.json +0 -6
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/_global-error/page/server-reference-manifest.json +0 -4
- package/.next/server/app/_global-error/page.js.map +0 -5
- package/.next/server/app/_not-found/page/app-paths-manifest.json +0 -3
- package/.next/server/app/_not-found/page/build-manifest.json +0 -17
- package/.next/server/app/_not-found/page/next-font-manifest.json +0 -11
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/_not-found/page/server-reference-manifest.json +0 -4
- package/.next/server/app/_not-found/page.js.map +0 -5
- package/.next/server/app/api/analyze/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/analyze/route/build-manifest.json +0 -9
- package/.next/server/app/api/analyze/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/analyze/route.js.map +0 -5
- package/.next/server/app/api/key/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/key/route/build-manifest.json +0 -9
- package/.next/server/app/api/key/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/key/route.js.map +0 -5
- package/.next/server/app/api/key-status/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/key-status/route/build-manifest.json +0 -9
- package/.next/server/app/api/key-status/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/key-status/route.js.map +0 -5
- package/.next/server/app/api/models/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/models/route/build-manifest.json +0 -9
- package/.next/server/app/api/models/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/models/route.js.map +0 -5
- package/.next/server/app/api/revise/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/revise/route/build-manifest.json +0 -9
- package/.next/server/app/api/revise/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/revise/route.js.map +0 -5
- package/.next/server/app/icon.svg/route/app-paths-manifest.json +0 -3
- package/.next/server/app/icon.svg/route/build-manifest.json +0 -9
- package/.next/server/app/icon.svg/route.js.map +0 -5
- package/.next/server/app/record-test/page/app-paths-manifest.json +0 -3
- package/.next/server/app/record-test/page/build-manifest.json +0 -17
- package/.next/server/app/record-test/page/next-font-manifest.json +0 -11
- package/.next/server/app/record-test/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/record-test/page/server-reference-manifest.json +0 -4
- package/.next/server/app/record-test/page.js.map +0 -5
- package/.next/server/app/styleguide/page/app-paths-manifest.json +0 -3
- package/.next/server/app/styleguide/page/build-manifest.json +0 -17
- package/.next/server/app/styleguide/page/next-font-manifest.json +0 -11
- package/.next/server/app/styleguide/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/styleguide/page/server-reference-manifest.json +0 -4
- package/.next/server/app/styleguide/page.js.map +0 -5
- package/.next/server/chunks/[externals]__1l0bqbz._.js +0 -3
- package/.next/server/chunks/[externals]__1l0bqbz._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__00u0a0m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__00u0a0m._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__02oblj7._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02oblj7._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__04dzkv1._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__04dzkv1._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__081zp1m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__081zp1m._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0dkua3v._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0dkua3v._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0ezil_h._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0ezil_h._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0ww_12a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0ww_12a._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0x-kpif._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0x-kpif._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1kmbnvv._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1kmbnvv._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1kp4vwc._.js +0 -14
- package/.next/server/chunks/[root-of-the-server]__1kp4vwc._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1lbd3kd._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1lbd3kd._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1ra6psc._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ra6psc._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1zn977r._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1zn977r._.js.map +0 -1
- package/.next/server/chunks/[turbopack]_runtime.js +0 -903
- package/.next/server/chunks/[turbopack]_runtime.js.map +0 -11
- package/.next/server/chunks/_04h1cv_._.js +0 -185
- package/.next/server/chunks/_04h1cv_._.js.map +0 -1
- package/.next/server/chunks/_0pqmhjh._.js +0 -185
- package/.next/server/chunks/_0pqmhjh._.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_key-status_route_actions_1qgztm2.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_key-status_route_actions_1qgztm2.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_key_route_actions_15n2qsb.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_key_route_actions_15n2qsb.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_models_route_actions_1h6mkqp.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_models_route_actions_1h6mkqp.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_revise_route_actions_19kk3m-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_revise_route_actions_19kk3m-.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js.map +0 -1
- package/.next/server/chunks/node_modules_0x51oh_._.js +0 -10
- package/.next/server/chunks/node_modules_0x51oh_._.js.map +0 -1
- package/.next/server/chunks/node_modules_19bvt3l._.js +0 -6
- package/.next/server/chunks/node_modules_19bvt3l._.js.map +0 -1
- package/.next/server/chunks/node_modules_1_-az43._.js +0 -16
- package/.next/server/chunks/node_modules_1_-az43._.js.map +0 -1
- package/.next/server/chunks/node_modules_1t2pqct._.js +0 -10
- package/.next/server/chunks/node_modules_1t2pqct._.js.map +0 -1
- package/.next/server/chunks/node_modules_next_08s853w._.js +0 -13
- package/.next/server/chunks/node_modules_next_08s853w._.js.map +0 -1
- package/.next/server/chunks/node_modules_node-fetch_src_index_1gf-_pn.js +0 -3
- package/.next/server/chunks/node_modules_node-fetch_src_index_1gf-_pn.js.map +0 -1
- package/.next/server/chunks/ssr/[externals]__1l0bqbz._.js +0 -3
- package/.next/server/chunks/ssr/[externals]__1l0bqbz._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__06ync7f._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__06ync7f._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0hml-pd._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0hml-pd._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ntia6u._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ntia6u._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sdpd0o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0sdpd0o._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0w2pa_y._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__0w2pa_y._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__10y0-wv._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__10y0-wv._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__11_7weu._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__11_7weu._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1_stkwn._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1_stkwn._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1k6ey-q._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1k6ey-q._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1la73u1._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1la73u1._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1nshnxm._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1nshnxm._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1pssg49._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1pssg49._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1q6zd30._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1q6zd30._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1qlmg27._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1qlmg27._.js.map +0 -1
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -903
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +0 -11
- package/.next/server/chunks/ssr/_01pksvc._.js +0 -78
- package/.next/server/chunks/ssr/_01pksvc._.js.map +0 -1
- package/.next/server/chunks/ssr/_03lgii8._.js +0 -3
- package/.next/server/chunks/ssr/_03lgii8._.js.map +0 -1
- package/.next/server/chunks/ssr/_05tft_r._.js +0 -3
- package/.next/server/chunks/ssr/_05tft_r._.js.map +0 -1
- package/.next/server/chunks/ssr/_06gt995._.js +0 -3
- package/.next/server/chunks/ssr/_06gt995._.js.map +0 -1
- package/.next/server/chunks/ssr/_0jrh37c._.js +0 -46
- package/.next/server/chunks/ssr/_0jrh37c._.js.map +0 -1
- package/.next/server/chunks/ssr/_0kw6yq_._.js +0 -3
- package/.next/server/chunks/ssr/_0kw6yq_._.js.map +0 -1
- package/.next/server/chunks/ssr/_0l3c05z._.js +0 -3
- package/.next/server/chunks/ssr/_0l3c05z._.js.map +0 -1
- package/.next/server/chunks/ssr/_0n-ojw-._.js +0 -3
- package/.next/server/chunks/ssr/_0n-ojw-._.js.map +0 -1
- package/.next/server/chunks/ssr/_0t6a1ln._.js +0 -6
- package/.next/server/chunks/ssr/_0t6a1ln._.js.map +0 -1
- package/.next/server/chunks/ssr/_0td-xk-._.js +0 -3
- package/.next/server/chunks/ssr/_0td-xk-._.js.map +0 -1
- package/.next/server/chunks/ssr/_0y92f-y._.js +0 -46
- package/.next/server/chunks/ssr/_0y92f-y._.js.map +0 -1
- package/.next/server/chunks/ssr/_1b6au28._.js +0 -3
- package/.next/server/chunks/ssr/_1b6au28._.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_page_actions_1gxdy57.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_page_actions_1gxdy57.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_session_[name]_page_actions_115d_ja.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_session_[name]_page_actions_115d_ja.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_settings_key_page_actions_1jsc3or.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_settings_key_page_actions_1jsc3or.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_record-test_page_actions_0a_yofw.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_record-test_page_actions_0a_yofw.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_styleguide_page_actions_174h7x7.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_styleguide_page_actions_174h7x7.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_0el53_h._.js +0 -10
- package/.next/server/chunks/ssr/node_modules_0el53_h._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_0h91jdk._.js +0 -33
- package/.next/server/chunks/ssr/node_modules_0h91jdk._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_1fxqp22._.js +0 -10
- package/.next/server/chunks/ssr/node_modules_1fxqp22._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_1loo6j7._.js +0 -6
- package/.next/server/chunks/ssr/node_modules_1loo6j7._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_1pvqj0r._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1pvqj0r._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js +0 -6
- package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_172hvm-._.js +0 -19
- package/.next/server/chunks/ssr/node_modules_next_dist_172hvm-._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_q50sh.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_q50sh.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_xbpm0.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_xbpm0.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_119i6eu.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_119i6eu.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14nl2rs.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14nl2rs.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18u8k23.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18u8k23.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_iwj0a.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_iwj0a.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_node-fetch_src_index_1e0t9p6.js +0 -3
- package/.next/server/chunks/ssr/node_modules_node-fetch_src_index_1e0t9p6.js.map +0 -1
- package/.next/server/chunks/ssr/src_19oqe9t._.js +0 -3
- package/.next/server/chunks/ssr/src_19oqe9t._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_record-test_page_tsx_08-2bld._.js +0 -9
- package/.next/server/chunks/ssr/src_app_record-test_page_tsx_08-2bld._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_app-sidebar_tsx_1xx2k53._.js +0 -3
- package/.next/server/chunks/ssr/src_components_app-sidebar_tsx_1xx2k53._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_settings_key-setup_tsx_0jxhnpa._.js +0 -3
- package/.next/server/chunks/ssr/src_components_settings_key-setup_tsx_0jxhnpa._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_ui_0lq7ewx._.js +0 -3
- package/.next/server/chunks/ssr/src_components_ui_0lq7ewx._.js.map +0 -1
- package/.next/static/CIZxngYjzUw1Kb0KrE473/_buildManifest.js +0 -11
- package/.next/static/CIZxngYjzUw1Kb0KrE473/_clientMiddlewareManifest.js +0 -1
- package/.next/static/chunks/05-c3ty_6dwfk.js +0 -1
- package/.next/static/chunks/07-hzktxqjvzd.js +0 -4
- package/.next/static/chunks/09bn0buuu6k2x.js +0 -1
- package/.next/static/chunks/0kkimqpuecvfn.js +0 -1
- package/.next/static/chunks/0mk1g55o6kl1e.js +0 -2
- package/.next/static/chunks/0ul837-9k0zx_.js +0 -63
- package/.next/static/chunks/0wpges32btt_p.js +0 -1
- package/.next/static/chunks/18qo-4_hfuwko.js +0 -1
- package/.next/static/chunks/1_dsevxz78b97.js +0 -1
- package/.next/static/chunks/2-oqhnxovgl_2.js +0 -44
- package/.next/static/chunks/2et_7fxuzt9cq.js +0 -31
- package/.next/static/chunks/2im7c515bo69p.js +0 -1
- package/.next/static/chunks/2merpuxt1zcvf.js +0 -1
- package/.next/static/chunks/2qb8lge1e2sv2.js +0 -1
- package/.next/static/chunks/2sj0gufu0lojq.css +0 -3
- package/.next/static/chunks/2zloaj9ja_vpy.js +0 -1
- package/.next/static/chunks/3rvy2rc9d_hwt.js +0 -1
- package/.next/static/chunks/3uci2qhsbp444.js +0 -50
- package/.next/static/chunks/3yao5u25-bf0g.js +0 -1
- package/.next/static/chunks/41_0qs6kjmoek.js +0 -1
- package/.next/static/chunks/4395sbjm36lbl.js +0 -1
- package/.next/static/chunks/turbopack-2cevjmbuh84ft.js +0 -1
- package/.next/static/media/icon.2_sgat73yt9an.svg +0 -7
- package/.next/trace +0 -1
- package/.next/trace-build +0 -1
- package/.next/turbopack +0 -0
- /package/.next/{server/app/(app)/page/react-loadable-manifest.json → react-loadable-manifest.json} +0 -0
- /package/.next/static/{CIZxngYjzUw1Kb0KrE473 → FExJe2q2O67X3zxf-SYQ_}/_ssgManifest.js +0 -0
- /package/.next/static/chunks/{0cz1d0mv5g_q7.js → polyfills-42372ed130431b0a.js} +0 -0
- /package/.next/static/media/{5ce348bf30bf5439-s.31988l_ccedte.woff2 → 013b72fa676f92e0-s.woff2} +0 -0
- /package/.next/static/media/{5476f68d60460930-s.2uwcyprjm3xu3.woff2 → 19cfc7226ec3afaa-s.woff2} +0 -0
- /package/.next/static/media/{9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 → 21350d82a1f187e9-s.woff2} +0 -0
- /package/.next/static/media/{bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 → 2b5b02fc7e511755-s.woff2} +0 -0
- /package/.next/static/media/{6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 → 65f03d54ccadf4a8-s.woff2} +0 -0
- /package/.next/static/media/{797e433ab948586e-s.p.0r6juujl39pe6.woff2 → 7d4881bb7e1bf84d-s.p.woff2} +0 -0
- /package/.next/static/media/{1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 → 8e9860b6e62d6359-s.woff2} +0 -0
- /package/.next/static/media/{4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 → b9408752a0c24fb9-s.woff2} +0 -0
- /package/.next/static/media/{2c55a0e60120577a-s.0-dom-5bn10r2.woff2 → ba9851c3c22cd980-s.woff2} +0 -0
- /package/.next/static/media/{ad66f9afd8947f86-s.3lvt2whj97whp.woff2 → c5fe6dc8356a8c31-s.woff2} +0 -0
- /package/.next/static/media/{2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 → df0a9ae256c0569c-s.woff2} +0 -0
- /package/.next/static/media/{7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 → e038a29029a234f2-s.woff2} +0 -0
- /package/.next/static/media/{83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 → e4af272ccee01ff0-s.p.woff2} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/%40base-ui/react/internals/use-button/useButton.mjs","../../../../node_modules/%40base-ui/react/internals/composite/root/CompositeRootContext.mjs","../../../../node_modules/%40base-ui/react/utils/useFocusableWhenDisabled.mjs","../../../../node_modules/%40base-ui/react/button/Button.mjs","../../../../node_modules/class-variance-authority/dist/index.mjs","../../../../src/components/ui/button.tsx","../../../../node_modules/%40base-ui/utils/useControlled.mjs","../../../../node_modules/%40base-ui/react/floating-ui-react/hooks/useClick.mjs","../../../../node_modules/%40base-ui/react/internals/field-root-context/FieldRootContext.mjs","../../../../node_modules/%40base-ui/react/field/control/FieldControlDataAttributes.mjs","../../../../node_modules/%40base-ui/react/internals/field-constants/constants.mjs","../../../../node_modules/%40base-ui/react/internals/field-register-control/useRegisterFieldControl.mjs","../../../../node_modules/%40base-ui/react/internals/labelable-provider/LabelableContext.mjs","../../../../node_modules/%40base-ui/react/internals/labelable-provider/useLabelableId.mjs","../../../../node_modules/%40base-ui/react/internals/form-context/FormContext.mjs","../../../../node_modules/%40base-ui/react/utils/useOpenInteractionType.mjs","../../../../node_modules/%40base-ui/utils/useEnhancedClickHandler.mjs","../../../../node_modules/%40base-ui/react/internals/useValueChanged.mjs","../../../../node_modules/%40base-ui/react/internals/labelable-provider/useLabel.mjs","../../../../node_modules/%40base-ui/react/utils/useRegisteredLabelId.mjs","../../../../node_modules/%40base-ui/react/utils/InternalBackdrop.mjs","../../../../node_modules/%40base-ui/utils/useScrollLock.mjs","../../../../node_modules/%40base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs","../../../../node_modules/%40base-ui/react/floating-ui-react/utils/enqueueFocus.mjs","../../../../node_modules/%40base-ui/react/floating-ui-react/utils/markOthers.mjs","../../../../node_modules/%40base-ui/react/internals/composite/composite.mjs","../../../../node_modules/%40base-ui/react/separator/Separator.mjs","../../../../node_modules/%40base-ui/react/dialog/backdrop/DialogBackdrop.mjs","../../../../node_modules/%40base-ui/react/dialog/root/DialogRootContext.mjs","../../../../node_modules/%40base-ui/react/dialog/close/DialogClose.mjs","../../../../node_modules/%40base-ui/react/dialog/description/DialogDescription.mjs","../../../../node_modules/%40base-ui/react/dialog/popup/DialogPopup.mjs","../../../../node_modules/%40base-ui/react/dialog/popup/DialogPopupCssVars.mjs","../../../../node_modules/%40base-ui/react/dialog/popup/DialogPopupDataAttributes.mjs","../../../../node_modules/%40base-ui/react/dialog/portal/DialogPortalContext.mjs","../../../../node_modules/%40base-ui/react/dialog/portal/DialogPortal.mjs","../../../../node_modules/%40base-ui/react/dialog/root/DialogRoot.mjs","../../../../node_modules/%40base-ui/react/dialog/root/useRenderDialogRoot.mjs","../../../../node_modules/%40base-ui/react/dialog/root/useDialogRoot.mjs","../../../../node_modules/%40base-ui/react/dialog/store/DialogStore.mjs","../../../../node_modules/%40base-ui/react/dialog/viewport/DialogViewport.mjs","../../../../node_modules/%40base-ui/react/dialog/viewport/DialogViewportDataAttributes.mjs","../../../../node_modules/%40base-ui/react/dialog/title/DialogTitle.mjs","../../../../node_modules/%40base-ui/react/dialog/trigger/DialogTrigger.mjs","../../../../node_modules/%40base-ui/react/dialog/store/DialogHandle.mjs","../../../../node_modules/lucide-react/src/icons/x.ts","../../../../node_modules/%40base-ui/react/input/Input.mjs","../../../../node_modules/%40base-ui/react/field/root/FieldRoot.mjs","../../../../node_modules/%40base-ui/react/fieldset/root/FieldsetRootContext.mjs","../../../../node_modules/%40base-ui/react/internals/labelable-provider/LabelableProvider.mjs","../../../../node_modules/%40base-ui/react/field/root/useFieldValidation.mjs","../../../../node_modules/%40base-ui/react/field/utils/getCombinedFieldValidityData.mjs","../../../../node_modules/%40base-ui/react/internals/field-register-control/useFieldControlRegistration.mjs","../../../../node_modules/%40base-ui/react/field/label/FieldLabel.mjs","../../../../node_modules/%40base-ui/react/field/item/FieldItemContext.mjs","../../../../node_modules/%40base-ui/react/field/error/FieldError.mjs","../../../../node_modules/%40base-ui/react/field/description/FieldDescription.mjs","../../../../node_modules/%40base-ui/react/field/control/FieldControl.mjs","../../../../node_modules/%40base-ui/react/field/validity/FieldValidity.mjs","../../../../node_modules/%40base-ui/react/checkbox-group/CheckboxGroupContext.mjs","../../../../node_modules/%40base-ui/react/field/item/FieldItem.mjs","../../../../src/components/ui/separator.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { isHTMLElement } from '@floating-ui/utils/dom';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { error } from '@base-ui/utils/error';\nimport { SafeReact } from '@base-ui/utils/safeReact';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { makeEventPreventable, mergeProps } from \"../../merge-props/index.mjs\";\nimport { useCompositeRootContext } from \"../composite/root/CompositeRootContext.mjs\";\nimport { useFocusableWhenDisabled } from \"../../utils/useFocusableWhenDisabled.mjs\";\nexport function useButton(parameters = {}) {\n const {\n disabled = false,\n focusableWhenDisabled,\n tabIndex = 0,\n native: isNativeButton = true,\n composite: compositeProp\n } = parameters;\n const elementRef = React.useRef(null);\n const compositeRootContext = useCompositeRootContext(true);\n const isCompositeItem = compositeProp ?? compositeRootContext !== undefined;\n const {\n props: focusableWhenDisabledProps\n } = useFocusableWhenDisabled({\n focusableWhenDisabled,\n disabled,\n composite: isCompositeItem,\n tabIndex,\n isNativeButton\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!elementRef.current) {\n return;\n }\n const isButtonTag = isButtonElement(elementRef.current);\n if (isNativeButton) {\n if (!isButtonTag) {\n const ownerStackMessage = SafeReact.captureOwnerStack?.() || '';\n const message = 'A component that acts as a button expected a native <button> because the ' + '`nativeButton` prop is true. Rendering a non-<button> removes native button ' + 'semantics, which can impact forms and accessibility. Use a real <button> in the ' + '`render` prop, or set `nativeButton` to `false`.';\n error(`${message}${ownerStackMessage}`);\n }\n } else if (isButtonTag) {\n const ownerStackMessage = SafeReact.captureOwnerStack?.() || '';\n const message = 'A component that acts as a button expected a non-<button> because the `nativeButton` ' + 'prop is false. Rendering a <button> keeps native behavior while Base UI applies ' + 'non-native attributes and handlers, which can add unintended extra attributes (such ' + 'as `role` or `aria-disabled`). Use a non-<button> in the `render` prop, or set ' + '`nativeButton` to `true`.';\n error(`${message}${ownerStackMessage}`);\n }\n }, [isNativeButton]);\n }\n\n // handles a disabled composite button rendering another button, e.g.\n // <Toolbar.Button disabled render={<Menu.Trigger />} />\n // the `disabled` prop needs to pass through 2 `useButton`s then finally\n // delete the `disabled` attribute from DOM\n const updateDisabled = React.useCallback(() => {\n const element = elementRef.current;\n if (!isButtonElement(element)) {\n return;\n }\n if (isCompositeItem && disabled && focusableWhenDisabledProps.disabled === undefined && element.disabled) {\n element.disabled = false;\n }\n }, [disabled, focusableWhenDisabledProps.disabled, isCompositeItem]);\n useIsoLayoutEffect(updateDisabled, [updateDisabled]);\n const getButtonProps = React.useCallback((externalProps = {}) => {\n const {\n onClick: externalOnClick,\n onMouseDown: externalOnMouseDown,\n onKeyUp: externalOnKeyUp,\n onKeyDown: externalOnKeyDown,\n onPointerDown: externalOnPointerDown,\n ...otherExternalProps\n } = externalProps;\n return mergeProps({\n onClick(event) {\n if (disabled) {\n event.preventDefault();\n return;\n }\n externalOnClick?.(event);\n },\n onMouseDown(event) {\n if (!disabled) {\n externalOnMouseDown?.(event);\n }\n },\n onKeyDown(event) {\n if (disabled) {\n return;\n }\n makeEventPreventable(event);\n externalOnKeyDown?.(event);\n if (event.baseUIHandlerPrevented) {\n return;\n }\n const isCurrentTarget = event.target === event.currentTarget;\n const currentTarget = event.currentTarget;\n const isButton = isButtonElement(currentTarget);\n const isLink = !isNativeButton && isValidLinkElement(currentTarget);\n const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink);\n const isEnterKey = event.key === 'Enter';\n const isSpaceKey = event.key === ' ';\n const role = currentTarget.getAttribute('role');\n const isTextNavigationRole = role?.startsWith('menuitem') || role === 'option' || role === 'gridcell';\n if (isCurrentTarget && isCompositeItem && isSpaceKey) {\n if (event.defaultPrevented && isTextNavigationRole) {\n return;\n }\n event.preventDefault();\n if (isLink || isNativeButton && isButton) {\n currentTarget.click();\n event.preventBaseUIHandler();\n } else if (shouldClick) {\n externalOnClick?.(event);\n event.preventBaseUIHandler();\n }\n return;\n }\n\n // Keyboard accessibility for native and non-native elements.\n if (shouldClick) {\n if (!isNativeButton && (isSpaceKey || isEnterKey)) {\n event.preventDefault();\n }\n if (!isNativeButton && isEnterKey) {\n externalOnClick?.(event);\n }\n }\n },\n onKeyUp(event) {\n if (disabled) {\n return;\n }\n\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0\n makeEventPreventable(event);\n externalOnKeyUp?.(event);\n if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === ' ') {\n event.preventDefault();\n return;\n }\n if (event.baseUIHandlerPrevented) {\n return;\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && event.key === ' ') {\n externalOnClick?.(event);\n }\n },\n onPointerDown(event) {\n if (disabled) {\n event.preventDefault();\n return;\n }\n externalOnPointerDown?.(event);\n }\n }, isNativeButton ? {\n type: 'button'\n } : {\n role: 'button'\n }, focusableWhenDisabledProps, otherExternalProps);\n }, [disabled, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);\n const buttonRef = useStableCallback(element => {\n elementRef.current = element;\n updateDisabled();\n });\n return {\n getButtonProps,\n buttonRef\n };\n}\nfunction isButtonElement(elem) {\n return isHTMLElement(elem) && elem.tagName === 'BUTTON';\n}\nfunction isValidLinkElement(elem) {\n return Boolean(elem?.tagName === 'A' && elem?.href);\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const CompositeRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") CompositeRootContext.displayName = \"CompositeRootContext\";\nexport function useCompositeRootContext(optional = false) {\n const context = React.useContext(CompositeRootContext);\n if (context === undefined && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>.' : _formatErrorMessage(16));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nexport function useFocusableWhenDisabled(parameters) {\n const {\n focusableWhenDisabled,\n disabled,\n composite = false,\n tabIndex: tabIndexProp = 0,\n isNativeButton\n } = parameters;\n const isFocusableComposite = composite && focusableWhenDisabled !== false;\n const isNonFocusableComposite = composite && focusableWhenDisabled === false;\n\n // we can't explicitly assign `undefined` to any of these props because it\n // would otherwise prevent subsequently merged props from setting them\n const props = React.useMemo(() => {\n const additionalProps = {\n // allow Tabbing away from focusableWhenDisabled elements\n onKeyDown(event) {\n if (disabled && focusableWhenDisabled && event.key !== 'Tab') {\n event.preventDefault();\n }\n }\n };\n if (!composite) {\n additionalProps.tabIndex = tabIndexProp;\n if (!isNativeButton && disabled) {\n additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;\n }\n }\n if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled) {\n additionalProps['aria-disabled'] = disabled;\n }\n if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {\n additionalProps.disabled = disabled;\n }\n return additionalProps;\n }, [composite, disabled, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);\n return {\n props\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { useButton } from \"../internals/use-button/useButton.mjs\";\nimport { useRenderElement } from \"../internals/useRenderElement.mjs\";\n/**\n * A button component that can be used to trigger actions.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Button](https://base-ui.com/react/components/button)\n */\nexport const Button = /*#__PURE__*/React.forwardRef(function Button(componentProps, forwardedRef) {\n const {\n render,\n className,\n disabled = false,\n focusableWhenDisabled = false,\n nativeButton = true,\n style,\n ...elementProps\n } = componentProps;\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n focusableWhenDisabled,\n native: nativeButton\n });\n const state = {\n disabled\n };\n return useRenderElement('button', componentProps, {\n state,\n ref: [forwardedRef, buttonRef],\n props: [elementProps, getButtonProps]\n });\n});\nif (process.env.NODE_ENV !== \"production\") Button.displayName = \"Button\";","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n outline:\n \"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg\",\n \"icon-lg\": \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>) {\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","'use client';\n\n// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- process.env never changes, dependency arrays are intentionally ignored\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nimport { error } from \"./error.mjs\";\nexport function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n error([`A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && serializeToDevModeString(defaultValue) !== serializeToDevModeString(defaultProp)) {\n error([`A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [defaultProp]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}\nfunction serializeToDevModeString(input) {\n let nextId = 0;\n const seen = new WeakMap();\n try {\n const result = JSON.stringify(input, function replacer(key, value) {\n if (key === '_owner' && this != null && typeof this === 'object' && '$$typeof' in this) {\n return undefined;\n }\n if (typeof value === 'bigint') {\n return `__bigint__:${value}`;\n }\n if (value !== null && typeof value === 'object') {\n const id = seen.get(value);\n if (id !== undefined) {\n return `__object__:${id}`;\n }\n seen.set(value, nextId);\n nextId += 1;\n }\n return value;\n });\n return result ?? `__top__:${typeof input}`;\n } catch {\n return '__unserializable__';\n }\n}","'use client';\n\nimport * as React from 'react';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { getTarget, isTypeableElement } from \"../utils/element.mjs\";\nimport { isMouseLikePointerType } from \"../utils/event.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nexport function useClick(context, props = {}) {\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n stickIfOpen = true,\n touchOpenDelay = 0,\n reason = REASONS.triggerPress\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const dataRef = store.context.dataRef;\n const pointerTypeRef = React.useRef(undefined);\n const frame = useAnimationFrame();\n const touchOpenTimeout = useTimeout();\n const reference = React.useMemo(() => {\n function setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType) {\n const details = createChangeEventDetails(reason, nativeEvent, target);\n if (nextOpen && pointerType === 'touch' && touchOpenDelay > 0) {\n touchOpenTimeout.start(touchOpenDelay, () => {\n store.setOpen(true, details);\n });\n } else {\n store.setOpen(nextOpen, details);\n }\n }\n function getNextOpen(open, currentTarget, isClickLikeOpenEvent) {\n const openEvent = dataRef.current.openEvent;\n const hasClickedOnInactiveTrigger = store.select('domReferenceElement') !== currentTarget;\n if (open && hasClickedOnInactiveTrigger) {\n // Moving between triggers should always open the newly active one.\n return true;\n }\n if (!open) {\n // A closed popup should open on the next press.\n return true;\n }\n if (!toggle) {\n // Non-toggle mode never closes on a repeated trigger press.\n return true;\n }\n if (openEvent && stickIfOpen) {\n // Preserve hover/focus-opened popups until the matching click-like event closes them.\n return !isClickLikeOpenEvent(openEvent.type);\n }\n\n // Otherwise, a repeated click toggles the popup closed.\n return false;\n }\n return {\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n const pointerType = pointerTypeRef.current;\n const nativeEvent = event.nativeEvent;\n const open = store.select('open');\n\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0 || eventOption === 'click' || isMouseLikePointerType(pointerType, true) && ignoreMouse) {\n return;\n }\n const nextOpen = getNextOpen(open, event.currentTarget, openEventType => openEventType === 'click' || openEventType === 'mousedown');\n\n // Animations sometimes won't run on a typeable element if using a rAF.\n // Focus is always set on these elements. For touch, we may delay opening.\n const target = getTarget(nativeEvent);\n if (isTypeableElement(target)) {\n setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType);\n return;\n }\n\n // Capture the currentTarget before the rAF.\n // as React sets it to null after the event handler completes.\n const eventCurrentTarget = event.currentTarget;\n\n // Wait until focus is set on the element. This is an alternative to\n // `event.preventDefault()` to avoid :focus-visible from appearing when using a pointer.\n frame.request(() => {\n setOpenWithTouchDelay(nextOpen, nativeEvent, eventCurrentTarget, pointerType);\n });\n },\n onClick(event) {\n if (eventOption === 'mousedown-only') {\n return;\n }\n const pointerType = pointerTypeRef.current;\n if (eventOption === 'mousedown' && pointerType) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) {\n return;\n }\n const open = store.select('open');\n const nextOpen = getNextOpen(open, event.currentTarget, openEventType => openEventType === 'click' || openEventType === 'mousedown' || openEventType === 'keydown' || openEventType === 'keyup');\n setOpenWithTouchDelay(nextOpen, event.nativeEvent, event.currentTarget, pointerType);\n },\n onKeyDown() {\n pointerTypeRef.current = undefined;\n }\n };\n }, [dataRef, eventOption, ignoreMouse, reason, store, stickIfOpen, toggle, frame, touchOpenTimeout, touchOpenDelay]);\n return React.useMemo(() => enabled ? {\n reference\n } : EMPTY_OBJECT, [enabled, reference]);\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { NOOP } from \"../noop.mjs\";\nimport { DEFAULT_FIELD_ROOT_STATE, DEFAULT_FIELD_STATE_ATTRIBUTES, DEFAULT_VALIDITY_STATE } from \"../field-constants/constants.mjs\";\nexport const DEFAULT_FIELD_ROOT_CONTEXT = {\n invalid: undefined,\n name: undefined,\n validityData: {\n state: DEFAULT_VALIDITY_STATE,\n errors: [],\n error: '',\n value: '',\n initialValue: null\n },\n setValidityData: NOOP,\n disabled: undefined,\n touched: DEFAULT_FIELD_STATE_ATTRIBUTES.touched,\n setTouched: NOOP,\n dirty: DEFAULT_FIELD_STATE_ATTRIBUTES.dirty,\n setDirty: NOOP,\n filled: DEFAULT_FIELD_STATE_ATTRIBUTES.filled,\n setFilled: NOOP,\n focused: DEFAULT_FIELD_STATE_ATTRIBUTES.focused,\n setFocused: NOOP,\n validate: () => null,\n validationMode: 'onSubmit',\n validationDebounceTime: 0,\n shouldValidateOnChange: () => false,\n state: DEFAULT_FIELD_ROOT_STATE,\n markedDirtyRef: {\n current: false\n },\n registerFieldControl: NOOP,\n validation: {\n getValidationProps: (_disabled, props = EMPTY_OBJECT) => props,\n inputRef: {\n current: null\n },\n registerInput: NOOP,\n commit: async () => {},\n change: NOOP\n }\n};\nexport const FieldRootContext = /*#__PURE__*/React.createContext(DEFAULT_FIELD_ROOT_CONTEXT);\nif (process.env.NODE_ENV !== \"production\") FieldRootContext.displayName = \"FieldRootContext\";\nexport function useFieldRootContext(optional = true) {\n const context = React.useContext(FieldRootContext);\n if (context.setValidityData === NOOP && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>.' : _formatErrorMessage(28));\n }\n return context;\n}","export let FieldControlDataAttributes = /*#__PURE__*/function (FieldControlDataAttributes) {\n /**\n * Present when the field is disabled.\n */\n FieldControlDataAttributes[\"disabled\"] = \"data-disabled\";\n /**\n * Present when the field is in a valid state.\n */\n FieldControlDataAttributes[\"valid\"] = \"data-valid\";\n /**\n * Present when the field is in an invalid state.\n */\n FieldControlDataAttributes[\"invalid\"] = \"data-invalid\";\n /**\n * Present when the field has been touched.\n */\n FieldControlDataAttributes[\"touched\"] = \"data-touched\";\n /**\n * Present when the field's value has changed.\n */\n FieldControlDataAttributes[\"dirty\"] = \"data-dirty\";\n /**\n * Present when the field is filled.\n */\n FieldControlDataAttributes[\"filled\"] = \"data-filled\";\n /**\n * Present when the field control is focused.\n */\n FieldControlDataAttributes[\"focused\"] = \"data-focused\";\n return FieldControlDataAttributes;\n}({});","import { FieldControlDataAttributes } from \"../../field/control/FieldControlDataAttributes.mjs\";\nexport const DEFAULT_VALIDITY_STATE = {\n badInput: false,\n customError: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: null,\n valueMissing: false\n};\nexport const DEFAULT_FIELD_STATE_ATTRIBUTES = {\n valid: null,\n touched: false,\n dirty: false,\n filled: false,\n focused: false\n};\nexport const DEFAULT_FIELD_ROOT_STATE = {\n disabled: false,\n ...DEFAULT_FIELD_STATE_ATTRIBUTES\n};\nexport const fieldValidityMapping = {\n valid(value) {\n if (value === null) {\n return null;\n }\n if (value) {\n return {\n [FieldControlDataAttributes.valid]: ''\n };\n }\n return {\n [FieldControlDataAttributes.invalid]: ''\n };\n }\n};","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFieldRootContext } from \"../field-root-context/FieldRootContext.mjs\";\nexport function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name) {\n const {\n registerFieldControl\n } = useFieldRootContext();\n const sourceRef = React.useRef(null);\n if (!sourceRef.current) {\n sourceRef.current = Symbol();\n }\n useIsoLayoutEffect(() => {\n const source = sourceRef.current;\n if (!source || !enabled) {\n return undefined;\n }\n const registration = {\n controlRef,\n getValue: getFormValueOverride,\n id,\n name,\n value\n };\n registerFieldControl(source, registration);\n return () => {\n registerFieldControl(source, undefined);\n };\n }, [controlRef, enabled, getFormValueOverride, id, name, registerFieldControl, value]);\n}","'use client';\n\nimport * as React from 'react';\nimport { NOOP } from \"../noop.mjs\";\n/**\n * A context for providing [labelable elements](https://html.spec.whatwg.org/multipage/forms.html#category-label)\\\n * with an accessible name (label) and description.\n */\nexport const LabelableContext = /*#__PURE__*/React.createContext({\n controlId: undefined,\n registerControlId: NOOP,\n labelId: undefined,\n setLabelId: NOOP,\n messageIds: [],\n setMessageIds: NOOP,\n getDescriptionProps: externalProps => externalProps\n});\nif (process.env.NODE_ENV !== \"production\") LabelableContext.displayName = \"LabelableContext\";\nexport function useLabelableContext() {\n return React.useContext(LabelableContext);\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { isElement } from '@floating-ui/utils/dom';\nimport { NOOP } from \"../noop.mjs\";\nimport { useBaseUiId } from \"../useBaseUiId.mjs\";\nimport { useLabelableContext } from \"./LabelableContext.mjs\";\nexport function useLabelableId(params = {}) {\n const {\n id,\n implicit = false,\n controlRef\n } = params;\n const {\n controlId,\n registerControlId\n } = useLabelableContext();\n const defaultId = useBaseUiId(id);\n const controlIdForEffect = implicit ? controlId : undefined;\n const controlSourceRef = useRefWithInit(() => Symbol('labelable-control'));\n const hasRegisteredRef = React.useRef(false);\n const hadExplicitIdRef = React.useRef(id != null);\n const unregisterControlId = useStableCallback(() => {\n if (!hasRegisteredRef.current || registerControlId === NOOP) {\n return;\n }\n hasRegisteredRef.current = false;\n registerControlId(controlSourceRef.current, undefined);\n });\n useIsoLayoutEffect(() => {\n if (registerControlId === NOOP) {\n return undefined;\n }\n let nextId;\n if (implicit) {\n const elem = controlRef?.current;\n if (isElement(elem) && elem.closest('label') != null) {\n nextId = id ?? null;\n } else {\n nextId = controlIdForEffect ?? defaultId;\n }\n } else if (id != null) {\n hadExplicitIdRef.current = true;\n nextId = id;\n } else if (hadExplicitIdRef.current) {\n nextId = defaultId;\n } else {\n unregisterControlId();\n return undefined;\n }\n if (nextId === undefined) {\n unregisterControlId();\n return undefined;\n }\n hasRegisteredRef.current = true;\n registerControlId(controlSourceRef.current, nextId);\n return undefined;\n }, [id, controlRef, controlIdForEffect, registerControlId, implicit, defaultId, controlSourceRef, unregisterControlId]);\n React.useEffect(() => {\n return unregisterControlId;\n }, [unregisterControlId]);\n return controlId ?? defaultId;\n}","'use client';\n\nimport * as React from 'react';\nimport { NOOP } from \"../noop.mjs\";\nexport const FormContext = /*#__PURE__*/React.createContext({\n formRef: {\n current: {\n fields: new Map()\n }\n },\n errors: {},\n clearErrors: NOOP,\n validationMode: 'onSubmit',\n submitAttemptedRef: {\n current: false\n }\n});\nif (process.env.NODE_ENV !== \"production\") FormContext.displayName = \"FormContext\";\nexport function useFormContext() {\n return React.useContext(FormContext);\n}","'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useEnhancedClickHandler } from '@base-ui/utils/useEnhancedClickHandler';\nimport { platform } from '@base-ui/utils/platform';\nimport { useValueChanged } from \"../internals/useValueChanged.mjs\";\nexport function useOpenMethodTriggerProps(open, setOpenMethod) {\n const handleTriggerClick = useStableCallback((_, interactionType) => {\n const isOpen = typeof open === 'function' ? open() : open;\n if (!isOpen) {\n setOpenMethod(interactionType || (\n // On iOS Safari, the hitslop around touch targets means tapping outside an element's\n // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`\n // will be \"\" in that case.\n platform.os.ios ? 'touch' : ''));\n }\n });\n const {\n onClick,\n onPointerDown\n } = useEnhancedClickHandler(handleTriggerClick);\n return React.useMemo(() => ({\n onClick,\n onPointerDown\n }), [onClick, onPointerDown]);\n}\n\n/**\n * Determines the interaction type (keyboard, mouse, touch, etc.) that opened the component.\n *\n * @param open The open state of the component.\n */\nexport function useOpenInteractionType(open) {\n const [openMethod, setOpenMethod] = React.useState(null);\n const triggerProps = useOpenMethodTriggerProps(open, setOpenMethod);\n useValueChanged(open, previousOpen => {\n if (previousOpen && !open) {\n setOpenMethod(null);\n }\n });\n return React.useMemo(() => ({\n openMethod,\n triggerProps\n }), [openMethod, triggerProps]);\n}","'use client';\n\nimport * as React from 'react';\n/**\n * Provides a cross-browser way to determine the type of the pointer used to click.\n * Safari and Firefox do not provide the PointerEvent to the click handler (they use MouseEvent) yet.\n * Additionally, this implementation detects if the click was triggered by the keyboard.\n *\n * @param handler The function to be called when the button is clicked. The first parameter is the original event and the second parameter is the pointer type.\n */\nexport function useEnhancedClickHandler(handler) {\n const lastClickInteractionTypeRef = React.useRef('');\n const handlePointerDown = React.useCallback(event => {\n if (event.defaultPrevented) {\n return;\n }\n lastClickInteractionTypeRef.current = event.pointerType;\n handler(event, event.pointerType);\n }, [handler]);\n const handleClick = React.useCallback(event => {\n // event.detail has the number of clicks performed on the element. 0 means it was triggered by the keyboard.\n if (event.detail === 0) {\n handler(event, 'keyboard');\n return;\n }\n if ('pointerType' in event) {\n // Chrome and Edge correctly use PointerEvent\n handler(event, event.pointerType);\n } else {\n handler(event, lastClickInteractionTypeRef.current);\n }\n lastClickInteractionTypeRef.current = '';\n }, [handler]);\n return {\n onClick: handleClick,\n onPointerDown: handlePointerDown\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nexport function useValueChanged(value, onChange) {\n const valueRef = React.useRef(value);\n const onChangeCallback = useStableCallback(onChange);\n useIsoLayoutEffect(() => {\n if (valueRef.current === value) {\n return;\n }\n onChangeCallback(valueRef.current);\n }, [value, onChangeCallback]);\n useIsoLayoutEffect(() => {\n valueRef.current = value;\n }, [value]);\n}","'use client';\n\nimport { isHTMLElement } from '@floating-ui/utils/dom';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { getTarget } from \"../../floating-ui-react/utils.mjs\";\nimport { useRegisteredLabelId } from \"../../utils/useRegisteredLabelId.mjs\";\nimport { useLabelableContext } from \"./LabelableContext.mjs\";\nexport function useLabel(params = {}) {\n const {\n id: idProp,\n fallbackControlId,\n native = false,\n setLabelId: setLabelIdProp,\n focusControl: focusControlProp\n } = params;\n const {\n controlId: contextControlId,\n setLabelId: setContextLabelId\n } = useLabelableContext();\n const syncLabelId = useStableCallback(nextLabelId => {\n setContextLabelId(nextLabelId);\n setLabelIdProp?.(nextLabelId);\n });\n const id = useRegisteredLabelId(idProp, syncLabelId);\n const resolvedControlId = contextControlId ?? fallbackControlId;\n function focusControl(event) {\n if (focusControlProp) {\n focusControlProp(event, resolvedControlId);\n return;\n }\n if (!resolvedControlId) {\n return;\n }\n const controlElement = ownerDocument(event.currentTarget).getElementById(resolvedControlId);\n if (isHTMLElement(controlElement)) {\n focusElementWithVisible(controlElement);\n }\n }\n function handleInteraction(event) {\n const target = getTarget(event.nativeEvent);\n if (target?.closest('button,input,select,textarea')) {\n return;\n }\n\n // Prevent text selection when double clicking label.\n if (!event.defaultPrevented && event.detail > 1) {\n event.preventDefault();\n }\n if (native) {\n return;\n }\n focusControl(event);\n }\n return native ? {\n id,\n htmlFor: resolvedControlId ?? undefined,\n onMouseDown: handleInteraction\n } : {\n id,\n onClick: handleInteraction,\n onPointerDown(event) {\n event.preventDefault();\n }\n };\n}\nexport function focusElementWithVisible(element) {\n element.focus({\n // Available from Chrome 144+ (January 2026).\n // Safari and Firefox already support it.\n focusVisible: true\n });\n}","'use client';\n\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useBaseUiId } from \"../internals/useBaseUiId.mjs\";\nexport function useRegisteredLabelId(idProp, setLabelId) {\n const id = useBaseUiId(idProp);\n useIsoLayoutEffect(() => {\n setLabelId(id);\n return () => {\n setLabelId(undefined);\n };\n }, [id, setLabelId]);\n return id;\n}","import * as React from 'react';\n\n/**\n * @internal\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const InternalBackdrop = /*#__PURE__*/React.forwardRef(function InternalBackdrop(props, ref) {\n const {\n cutout,\n ...otherProps\n } = props;\n let clipPath;\n if (cutout) {\n const rect = cutout.getBoundingClientRect();\n clipPath = `polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${rect.left}px ${rect.top}px,${rect.left}px ${rect.bottom}px,${rect.right}px ${rect.bottom}px,${rect.right}px ${rect.top}px,${rect.left}px ${rect.top}px)`;\n }\n return /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n role: \"presentation\"\n // Ensures Floating UI's outside press detection runs, as it considers\n // it an element that existed when the popup rendered.\n ,\n \"data-base-ui-inert\": \"\",\n ...otherProps,\n style: {\n position: 'fixed',\n inset: 0,\n userSelect: 'none',\n WebkitUserSelect: 'none',\n clipPath\n }\n });\n});\nif (process.env.NODE_ENV !== \"production\") InternalBackdrop.displayName = \"InternalBackdrop\";","'use client';\n\nimport { isOverflowElement } from '@floating-ui/utils/dom';\nimport { addEventListener } from \"./addEventListener.mjs\";\nimport { platform } from \"./platform/index.mjs\";\nimport { ownerDocument, ownerWindow } from \"./owner.mjs\";\nimport { useIsoLayoutEffect } from \"./useIsoLayoutEffect.mjs\";\nimport { Timeout } from \"./useTimeout.mjs\";\nimport { AnimationFrame } from \"./useAnimationFrame.mjs\";\nimport { NOOP } from \"./empty.mjs\";\nlet originalHtmlStyles = {};\nlet originalBodyStyles = {};\nlet originalHtmlScrollBehavior = '';\nfunction hasInsetScrollbars(referenceElement) {\n if (typeof document === 'undefined') {\n return false;\n }\n const doc = ownerDocument(referenceElement);\n const win = ownerWindow(doc);\n return win.innerWidth - doc.documentElement.clientWidth > 0;\n}\nfunction supportsStableScrollbarGutter(referenceElement) {\n const supported = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('scrollbar-gutter', 'stable');\n if (!supported || typeof document === 'undefined') {\n return false;\n }\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n const scrollContainer = isOverflowElement(html) ? html : body;\n const originalScrollContainerOverflowY = scrollContainer.style.overflowY;\n const originalHtmlStyleGutter = html.style.scrollbarGutter;\n html.style.scrollbarGutter = 'stable';\n scrollContainer.style.overflowY = 'scroll';\n const before = scrollContainer.offsetWidth;\n scrollContainer.style.overflowY = 'hidden';\n const after = scrollContainer.offsetWidth;\n scrollContainer.style.overflowY = originalScrollContainerOverflowY;\n html.style.scrollbarGutter = originalHtmlStyleGutter;\n return before === after;\n}\nfunction preventScrollOverlayScrollbars(referenceElement) {\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n\n // If an `overflow` style is present on <html>, we need to lock it, because a lock on <body>\n // won't have any effect.\n // But if <body> has an `overflow` style (like `overflow-x: hidden`), we need to lock it\n // instead, as sticky elements shift otherwise.\n const elementToLock = isOverflowElement(html) ? html : body;\n const originalElementToLockStyles = {\n overflowY: elementToLock.style.overflowY,\n overflowX: elementToLock.style.overflowX\n };\n Object.assign(elementToLock.style, {\n overflowY: 'hidden',\n overflowX: 'hidden'\n });\n return () => {\n Object.assign(elementToLock.style, originalElementToLockStyles);\n };\n}\nfunction preventScrollInsetScrollbars(referenceElement) {\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n const win = ownerWindow(html);\n let scrollTop = 0;\n let scrollLeft = 0;\n let updateGutterOnly = false;\n const resizeFrame = AnimationFrame.create();\n\n // Pinch-zoom in Safari causes a shift. Just don't lock scroll if there's any pinch-zoom.\n if (platform.engine.webkit && (win.visualViewport?.scale ?? 1) !== 1) {\n return () => {};\n }\n function lockScroll() {\n /* DOM reads: */\n\n const htmlStyles = win.getComputedStyle(html);\n const bodyStyles = win.getComputedStyle(body);\n const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || '';\n const hasBothEdges = htmlScrollbarGutterValue.includes('both-edges');\n const scrollbarGutterValue = hasBothEdges ? 'stable both-edges' : 'stable';\n scrollTop = html.scrollTop;\n scrollLeft = html.scrollLeft;\n originalHtmlStyles = {\n scrollbarGutter: html.style.scrollbarGutter,\n overflowY: html.style.overflowY,\n overflowX: html.style.overflowX\n };\n originalHtmlScrollBehavior = html.style.scrollBehavior;\n originalBodyStyles = {\n position: body.style.position,\n height: body.style.height,\n width: body.style.width,\n boxSizing: body.style.boxSizing,\n overflowY: body.style.overflowY,\n overflowX: body.style.overflowX,\n scrollBehavior: body.style.scrollBehavior\n };\n const isScrollableY = html.scrollHeight > html.clientHeight;\n const isScrollableX = html.scrollWidth > html.clientWidth;\n const hasConstantOverflowY = htmlStyles.overflowY === 'scroll' || bodyStyles.overflowY === 'scroll';\n const hasConstantOverflowX = htmlStyles.overflowX === 'scroll' || bodyStyles.overflowX === 'scroll';\n\n // Values can be negative in Firefox\n const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);\n const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);\n\n // Avoid shift due to the default <body> margin. This does cause elements to be clipped\n // with whitespace. Warn if <body> has margins?\n const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);\n const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);\n const elementToLock = isOverflowElement(html) ? html : body;\n updateGutterOnly = supportsStableScrollbarGutter(referenceElement);\n\n /*\n * DOM writes:\n * Do not read the DOM past this point!\n */\n\n if (updateGutterOnly) {\n html.style.scrollbarGutter = scrollbarGutterValue;\n elementToLock.style.overflowY = 'hidden';\n elementToLock.style.overflowX = 'hidden';\n return;\n }\n Object.assign(html.style, {\n scrollbarGutter: scrollbarGutterValue,\n overflowY: 'hidden',\n overflowX: 'hidden'\n });\n if (isScrollableY || hasConstantOverflowY) {\n html.style.overflowY = 'scroll';\n }\n if (isScrollableX || hasConstantOverflowX) {\n html.style.overflowX = 'scroll';\n }\n Object.assign(body.style, {\n position: 'relative',\n height: marginY || scrollbarHeight ? `calc(100dvh - ${marginY + scrollbarHeight}px)` : '100dvh',\n width: marginX || scrollbarWidth ? `calc(100vw - ${marginX + scrollbarWidth}px)` : '100vw',\n boxSizing: 'border-box',\n overflow: 'hidden',\n scrollBehavior: 'unset'\n });\n body.scrollTop = scrollTop;\n body.scrollLeft = scrollLeft;\n html.setAttribute('data-base-ui-scroll-locked', '');\n html.style.scrollBehavior = 'unset';\n }\n function cleanup() {\n Object.assign(html.style, originalHtmlStyles);\n Object.assign(body.style, originalBodyStyles);\n if (!updateGutterOnly) {\n html.scrollTop = scrollTop;\n html.scrollLeft = scrollLeft;\n html.removeAttribute('data-base-ui-scroll-locked');\n html.style.scrollBehavior = originalHtmlScrollBehavior;\n }\n }\n function handleResize() {\n cleanup();\n resizeFrame.request(lockScroll);\n }\n lockScroll();\n const unsubscribeResize = addEventListener(win, 'resize', handleResize);\n return () => {\n resizeFrame.cancel();\n cleanup();\n // Sometimes this cleanup can run after test teardown because it is called\n // in a `setTimeout(fn, 0)`. Guard the returned cleanup to avoid calling\n // `removeEventListener` when it is no longer available in tests.\n if (typeof win.removeEventListener === 'function') {\n unsubscribeResize();\n }\n };\n}\nclass ScrollLocker {\n lockCount = 0;\n restore = null;\n timeoutLock = Timeout.create();\n timeoutUnlock = Timeout.create();\n acquire(referenceElement) {\n this.lockCount += 1;\n if (this.lockCount === 1 && this.restore === null) {\n this.timeoutLock.start(0, () => this.lock(referenceElement));\n }\n return this.release;\n }\n release = () => {\n this.lockCount -= 1;\n if (this.lockCount === 0 && this.restore) {\n this.timeoutUnlock.start(0, this.unlock);\n }\n };\n unlock = () => {\n if (this.lockCount === 0 && this.restore) {\n this.restore?.();\n this.restore = null;\n }\n };\n lock(referenceElement) {\n if (this.lockCount === 0 || this.restore !== null) {\n return;\n }\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const htmlOverflowY = ownerWindow(html).getComputedStyle(html).overflowY;\n\n // If the site author already hid overflow on <html>, respect it and bail out.\n if (htmlOverflowY === 'hidden' || htmlOverflowY === 'clip') {\n this.restore = NOOP;\n return;\n }\n const hasOverlayScrollbars = platform.os.ios || !hasInsetScrollbars(referenceElement);\n\n // On iOS, scroll locking does not work if the navbar is collapsed. Due to numerous\n // side effects and bugs that arise on iOS, it must be researched extensively before\n // being enabled to ensure it doesn't cause the following issues:\n // - Textboxes must scroll into view when focused, nor cause a glitchy scroll animation.\n // - The navbar must not force itself into view and cause layout shift.\n // - Scroll containers must not flicker upon closing a popup when it has an exit animation.\n this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);\n }\n}\nconst SCROLL_LOCKER = new ScrollLocker();\n\n/**\n * Locks the scroll of the document when enabled.\n *\n * @param enabled - Whether to enable the scroll lock.\n * @param referenceElement - Element to use as a reference for lock calculations.\n */\nexport function useScrollLock(enabled = true, referenceElement = null) {\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return undefined;\n }\n return SCROLL_LOCKER.acquire(referenceElement);\n }, [enabled, referenceElement]);\n}","'use client';\n\nimport * as React from 'react';\nimport { getNodeName, isHTMLElement } from '@floating-ui/utils/dom';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { mergeCleanups } from '@base-ui/utils/mergeCleanups';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { platform } from '@base-ui/utils/platform';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { ownerDocument, ownerWindow } from '@base-ui/utils/owner';\nimport { FocusGuard } from \"../../utils/FocusGuard.mjs\";\nimport { activeElement, contains, getTarget, isTypeableCombobox, getFloatingFocusElement, isTypeableElement } from \"../utils/element.mjs\";\nimport { isVirtualClick, isVirtualPointerEvent, stopEvent } from \"../utils/event.mjs\";\nimport { tabbable, focusable, isOutsideEvent, isTabbable, getNextTabbable, getPreviousTabbable } from \"../utils/tabbable.mjs\";\nimport { getNodeAncestors, getNodeChildren } from \"../utils/nodes.mjs\";\nimport { isElementVisible } from \"../utils/composite.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { createAttribute } from \"../utils/createAttribute.mjs\";\nimport { enqueueFocus } from \"../utils/enqueueFocus.mjs\";\nimport { markOthers } from \"../utils/markOthers.mjs\";\nimport { usePortalContext } from \"./FloatingPortal.mjs\";\nimport { useFloatingTree } from \"./FloatingTree.mjs\";\nimport { CLICK_TRIGGER_IDENTIFIER } from \"../../internals/constants.mjs\";\nimport { resolveRef } from \"../../utils/resolveRef.mjs\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getEventType(event, lastInteractionType) {\n const win = ownerWindow(getTarget(event));\n if (event instanceof win.KeyboardEvent) {\n return 'keyboard';\n }\n if (event instanceof win.FocusEvent) {\n // Focus events can be caused by a preceding pointer interaction (e.g., focusout on outside press).\n // Prefer the last known pointer type if provided, else treat as keyboard.\n return lastInteractionType || 'keyboard';\n }\n if ('pointerType' in event) {\n return event.pointerType || 'keyboard';\n }\n if ('touches' in event) {\n return 'touch';\n }\n if (event instanceof win.MouseEvent) {\n // onClick events may not contain pointer events, and will fall through to here\n return lastInteractionType || (event.detail === 0 ? 'keyboard' : 'mouse');\n }\n return '';\n}\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction clearDisconnectedPreviouslyFocusedElements() {\n previouslyFocusedElements = previouslyFocusedElements.filter(entry => {\n return entry.deref()?.isConnected;\n });\n}\nfunction addPreviouslyFocusedElement(element) {\n clearDisconnectedPreviouslyFocusedElements();\n if (element && getNodeName(element) !== 'body') {\n previouslyFocusedElements.push(new WeakRef(element));\n if (previouslyFocusedElements.length > LIST_LIMIT) {\n previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);\n }\n }\n}\nfunction getPreviouslyFocusedElement() {\n clearDisconnectedPreviouslyFocusedElements();\n return previouslyFocusedElements[previouslyFocusedElements.length - 1]?.deref();\n}\nfunction getFirstTabbableElement(container) {\n if (!container) {\n return null;\n }\n if (isTabbable(container)) {\n return container;\n }\n return tabbable(container)[0] || container;\n}\nfunction handleTabIndex(floatingFocusElement) {\n if (floatingFocusElement.hasAttribute('tabindex') && !floatingFocusElement.hasAttribute('data-tabindex')) {\n return;\n }\n if (!floatingFocusElement.getAttribute('role')?.includes('dialog')) {\n return;\n }\n const focusableElements = focusable(floatingFocusElement);\n const tabbableContent = focusableElements.filter(element => {\n const dataTabIndex = element.getAttribute('data-tabindex') || '';\n return isTabbable(element) || element.hasAttribute('data-tabindex') && !dataTabIndex.startsWith('-');\n });\n const tabIndex = floatingFocusElement.getAttribute('tabindex');\n if (tabbableContent.length === 0) {\n if (tabIndex !== '0') {\n floatingFocusElement.setAttribute('tabindex', '0');\n // Mark our own write so the externally-managed early-return above doesn't\n // mistake it for a user-authored `tabindex` and freeze management.\n floatingFocusElement.setAttribute('data-tabindex', '0');\n }\n } else if (tabIndex !== '-1' || floatingFocusElement.hasAttribute('data-tabindex') && floatingFocusElement.getAttribute('data-tabindex') !== '-1') {\n floatingFocusElement.setAttribute('tabindex', '-1');\n floatingFocusElement.setAttribute('data-tabindex', '-1');\n }\n}\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n * @internal\n */\nexport function FloatingFocusManager(props) {\n const {\n context,\n children,\n disabled = false,\n initialFocus = true,\n returnFocus = true,\n restoreFocus = false,\n modal = true,\n closeOnFocusOut = true,\n openInteractionType = '',\n nextFocusableElement,\n previousFocusableElement,\n beforeContentFocusGuardRef,\n externalTree,\n getInsideElements\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const domReference = store.useState('domReferenceElement');\n const floating = store.useState('floatingElement');\n const {\n events,\n dataRef\n } = store.context;\n const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);\n const ignoreInitialFocus = initialFocus === false;\n // If the reference is a combobox and is typeable (e.g. input/textarea),\n // there are different focus semantics. The guards should not be rendered, but\n // aria-hidden should be applied to all nodes still. Further, the visually\n // hidden dismiss button should only appear at the end of the list, not the\n // start.\n const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n const initialFocusRef = useValueAsRef(initialFocus);\n const returnFocusRef = useValueAsRef(returnFocus);\n const openInteractionTypeRef = useValueAsRef(openInteractionType);\n const openRef = useValueAsRef(open);\n const tree = useFloatingTree(externalTree);\n const portalContext = usePortalContext();\n const preventReturnFocusRef = React.useRef(false);\n const isPointerDownRef = React.useRef(false);\n const pointerDownOutsideRef = React.useRef(false);\n const lastFocusedTabbableRef = React.useRef(null);\n const closeTypeRef = React.useRef('');\n const lastInteractionTypeRef = React.useRef('');\n const beforeGuardRef = React.useRef(null);\n const afterGuardRef = React.useRef(null);\n const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext?.beforeInsideRef);\n const mergedAfterGuardRef = useMergedRefs(afterGuardRef, portalContext?.afterInsideRef);\n const blurTimeout = useTimeout();\n const pointerDownTimeout = useTimeout();\n const restoreFocusFrame = useAnimationFrame();\n const isInsidePortal = portalContext != null;\n const floatingFocusElement = getFloatingFocusElement(floating);\n const getTabbableContent = useStableCallback((container = floatingFocusElement) => {\n return container ? tabbable(container) : [];\n });\n const getResolvedInsideElements = useStableCallback(() => getInsideElements?.().filter(element => element != null) ?? []);\n\n // Prevent Tab from escaping the modal when there are no tabbable elements.\n React.useEffect(() => {\n if (disabled || !modal) {\n return undefined;\n }\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if (contains(floatingFocusElement, activeElement(ownerDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n stopEvent(event);\n }\n }\n }\n const doc = ownerDocument(floatingFocusElement);\n return addEventListener(doc, 'keydown', onKeyDown);\n }, [disabled, floatingFocusElement, modal, isUntrappedTypeableCombobox, getTabbableContent]);\n\n // Track pointer/keyboard interactions to disambiguate focus and outside presses.\n React.useEffect(() => {\n if (disabled || !open) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n function clearPointerDownOutside() {\n pointerDownOutsideRef.current = false;\n }\n function onPointerDown(event) {\n const target = getTarget(event);\n const insideElements = getResolvedInsideElements();\n const pointerTargetInside = contains(floating, target) || contains(domReference, target) || contains(portalContext?.portalNode, target) || insideElements.some(element => element === target || contains(element, target));\n pointerDownOutsideRef.current = !pointerTargetInside;\n lastInteractionTypeRef.current = event.pointerType || 'keyboard';\n if (target?.closest(`[${CLICK_TRIGGER_IDENTIFIER}]`)) {\n isPointerDownRef.current = true;\n // Reset on the next tick so a single click on a click-trigger doesn't\n // permanently suppress focus-out closing for the lifetime of the instance.\n pointerDownTimeout.start(0, () => {\n isPointerDownRef.current = false;\n });\n }\n }\n function onKeyDown() {\n lastInteractionTypeRef.current = 'keyboard';\n }\n return mergeCleanups(addEventListener(doc, 'pointerdown', onPointerDown, true), addEventListener(doc, 'pointerup', clearPointerDownOutside, true), addEventListener(doc, 'pointercancel', clearPointerDownOutside, true), addEventListener(doc, 'keydown', onKeyDown, true),\n // Avoid a stale `true` leaking into the next open (e.g. keep-mounted popups)\n // if the popup dismissed between pointerdown and pointerup.\n clearPointerDownOutside);\n }, [disabled, floating, domReference, floatingFocusElement, open, portalContext, pointerDownTimeout, getResolvedInsideElements]);\n\n // Close on focus out and restore focus within the floating tree when needed.\n React.useEffect(() => {\n if (disabled || !closeOnFocusOut) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n pointerDownTimeout.start(0, () => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusIn(event) {\n const target = getTarget(event);\n if (isTabbable(target)) {\n lastFocusedTabbableRef.current = target;\n }\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n const currentTarget = event.currentTarget;\n const target = getTarget(event);\n\n // When focus is lost to the body (e.g. on a backdrop press), record the element that\n // had focus so a confirmation dialog opened while the body is focused can return focus\n // to it. Scoped to `modal` to avoid non-modal popups polluting the shared stack.\n if (modal && relatedTarget == null && target != null && contains(floating, target)) {\n addPreviouslyFocusedElement(target);\n }\n queueMicrotask(() => {\n const nodeId = getNodeId();\n const triggers = store.context.triggerElements;\n const insideElements = getResolvedInsideElements();\n const isRelatedFocusGuard = relatedTarget?.hasAttribute(createAttribute('focus-guard')) && [beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeInsideRef.current, portalContext?.afterInsideRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement)].includes(relatedTarget);\n const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || contains(element, relatedTarget)) || relatedTarget != null && triggers.hasElement(relatedTarget) || triggers.hasMatchingElement(trigger => contains(trigger, relatedTarget)) || isRelatedFocusGuard || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find(node => contains(node.context?.elements.floating, relatedTarget) || contains(node.context?.elements.domReference, relatedTarget)) || getNodeAncestors(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, getFloatingFocusElement(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));\n if (currentTarget === domReference && floatingFocusElement) {\n handleTabIndex(floatingFocusElement);\n }\n\n // Restore focus to the previous tabbable element index to prevent\n // focus from being lost outside the floating tree.\n if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {\n // Let `FloatingPortal` effect knows that focus is still inside the\n // floating tree.\n if (isHTMLElement(floatingFocusElement)) {\n floatingFocusElement.focus();\n // If explicitly requested to restore focus to the popup container, do not search\n // for the next/previous tabbable element.\n if (restoreFocus === 'popup') {\n // If the element is removed on pointerdown, focus tries to move it,\n // but since it's removed at the same time, focus gets lost as it\n // happens after the .focus() call above.\n // In this case, focus needs to be moved asynchronously.\n restoreFocusFrame.request(() => {\n floatingFocusElement.focus();\n });\n return;\n }\n }\n const tabbableContent = getTabbableContent();\n const prevTabbable = lastFocusedTabbableRef.current;\n const nodeToFocus = (prevTabbable && tabbableContent.includes(prevTabbable) ? prevTabbable : null) || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\n if (isHTMLElement(nodeToFocus)) {\n nodeToFocus.focus();\n }\n }\n\n // https://github.com/floating-ui/floating-ui/issues/3060\n if (dataRef.current.insideReactTree) {\n dataRef.current.insideReactTree = false;\n return;\n }\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && (\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n // For an \"untrapped\" typeable combobox (input role=combobox with\n // initialFocus=false), re-opening the popup and tabbing out should still close it even\n // when the previously focused element (e.g. the next tabbable outside the popup) is\n // focused again. Otherwise, the popup remains open on the second Tab sequence:\n // click input -> Tab (closes) -> click input -> Tab.\n // Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.\n isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {\n preventReturnFocusRef.current = true;\n store.setOpen(false, createChangeEventDetails(REASONS.focusOut, event));\n }\n });\n }\n function markInsideReactTree() {\n if (pointerDownOutsideRef.current) {\n return;\n }\n dataRef.current.insideReactTree = true;\n blurTimeout.start(0, () => {\n dataRef.current.insideReactTree = false;\n });\n }\n const domReferenceElement = isHTMLElement(domReference) ? domReference : null;\n if (!floating && !domReferenceElement) {\n return undefined;\n }\n return mergeCleanups(domReferenceElement && addEventListener(domReferenceElement, 'focusout', handleFocusOutside), domReferenceElement && addEventListener(domReferenceElement, 'pointerdown', handlePointerDown), floating && addEventListener(floating, 'focusin', handleFocusIn), floating && addEventListener(floating, 'focusout', handleFocusOutside), floating && portalContext && addEventListener(floating, 'focusout', markInsideReactTree, true));\n }, [disabled, domReference, floating, floatingFocusElement, modal, tree, portalContext, store, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);\n\n // Hide everything outside the floating tree from assistive tech while open.\n React.useEffect(() => {\n if (disabled || !floating || !open) {\n return undefined;\n }\n\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from(portalContext?.portalNode?.querySelectorAll(`[${createAttribute('portal')}]`) || []);\n const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];\n const rootAncestorComboboxDomReference = ancestors.find(node => isTypeableCombobox(node.context?.elements.domReference || null))?.context?.elements.domReference;\n const controlInsideElements = [floating, ...portalNodes, beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, ...getResolvedInsideElements()];\n const insideElements = [...controlInsideElements, rootAncestorComboboxDomReference, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement), isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n const ariaHiddenCleanup = markOthers(insideElements, {\n ariaHidden: modal || isUntrappedTypeableCombobox,\n mark: false\n });\n const markerInsideElements = [floating, ...portalNodes].filter(x => x != null);\n const markerCleanup = markOthers(markerInsideElements);\n return () => {\n markerCleanup();\n ariaHiddenCleanup();\n };\n }, [open, disabled, domReference, floating, modal, portalContext, isUntrappedTypeableCombobox, tree, getNodeId, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);\n\n // Focus the initial element when the floating element opens.\n useIsoLayoutEffect(() => {\n if (!open || disabled || !isHTMLElement(floatingFocusElement)) {\n return;\n }\n const doc = ownerDocument(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n\n // Wait for any layout effect state setters to execute to set `tabIndex`.\n queueMicrotask(() => {\n const initialFocusValueOrFn = initialFocusRef.current;\n const resolvedInitialFocus = typeof initialFocusValueOrFn === 'function' ? initialFocusValueOrFn(openInteractionTypeRef.current || '') : initialFocusValueOrFn;\n\n // `null` should fallback to default behavior in case of an empty ref.\n if (resolvedInitialFocus === undefined || resolvedInitialFocus === false) {\n return;\n }\n const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);\n if (focusAlreadyInsideFloatingEl) {\n return;\n }\n let focusableElements = null;\n const getDefaultFocusElement = () => {\n if (focusableElements == null) {\n focusableElements = getTabbableContent(floatingFocusElement);\n }\n return focusableElements[0] || floatingFocusElement;\n };\n let elToFocus;\n if (resolvedInitialFocus === true || resolvedInitialFocus === null) {\n elToFocus = getDefaultFocusElement();\n } else {\n elToFocus = resolveRef(resolvedInitialFocus);\n }\n elToFocus = elToFocus || getDefaultFocusElement();\n const hadFocusInside = contains(floatingFocusElement, activeElement(doc));\n enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floatingFocusElement,\n shouldFocus() {\n // This focus is queued on the next animation frame. If the floating element has closed\n // before it runs — e.g. tabbing out of a kept-mounted popup — don't pull focus back\n // onto the initial element after it has legitimately moved elsewhere.\n if (!openRef.current) {\n return false;\n }\n if (hadFocusInside) {\n return true;\n }\n const currentActiveElement = activeElement(doc);\n const focusMovedInside = currentActiveElement !== elToFocus && contains(floatingFocusElement, currentActiveElement);\n return !focusMovedInside;\n }\n });\n });\n }, [disabled, open, floatingFocusElement, getTabbableContent, initialFocusRef, openInteractionTypeRef, openRef]);\n\n // Track return focus targets and restore focus on unmount/close.\n useIsoLayoutEffect(() => {\n if (disabled || !floatingFocusElement) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n const elementFocusedBeforeOpen = activeElement(doc);\n // Only nullish interaction types represent programmatic opens. The empty\n // string default is intentionally not treated as programmatic.\n const preferPreviousFocus = openInteractionTypeRef.current == null;\n addPreviouslyFocusedElement(elementFocusedBeforeOpen);\n\n // Dismissing via outside press should always ignore `returnFocus` to\n // prevent unwanted scrolling.\n function onOpenChangeLocal(details) {\n if (!details.open) {\n closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);\n }\n if (details.reason === REASONS.triggerHover && details.nativeEvent.type === 'mouseleave') {\n preventReturnFocusRef.current = true;\n }\n if (details.reason !== REASONS.outsidePress) {\n return;\n }\n if (details.nested) {\n preventReturnFocusRef.current = false;\n } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {\n preventReturnFocusRef.current = false;\n } else {\n let isPreventScrollSupported = false;\n ownerDocument(floatingFocusElement).createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n if (isPreventScrollSupported) {\n preventReturnFocusRef.current = false;\n } else {\n preventReturnFocusRef.current = true;\n }\n }\n }\n events.on('openchange', onOpenChangeLocal);\n function getReturnElement() {\n const returnFocusValueOrFn = returnFocusRef.current;\n let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeTypeRef.current) : returnFocusValueOrFn;\n\n // `null` should fallback to default behavior in case of an empty ref.\n if (resolvedReturnFocusValue === undefined || resolvedReturnFocusValue === false) {\n return null;\n }\n if (resolvedReturnFocusValue === null) {\n resolvedReturnFocusValue = true;\n }\n const referenceReturnElement = domReference?.isConnected ? domReference : null;\n const previousReturnElement = elementFocusedBeforeOpen?.isConnected && getNodeName(elementFocusedBeforeOpen) !== 'body' ? elementFocusedBeforeOpen : null;\n let defaultReturnElement = preferPreviousFocus ? previousReturnElement || referenceReturnElement : referenceReturnElement || previousReturnElement;\n if (!defaultReturnElement) {\n defaultReturnElement = getPreviouslyFocusedElement() || null;\n }\n if (typeof resolvedReturnFocusValue === 'boolean') {\n return defaultReturnElement;\n }\n return resolveRef(resolvedReturnFocusValue) || defaultReturnElement || null;\n }\n return () => {\n events.off('openchange', onOpenChangeLocal);\n const activeEl = activeElement(doc);\n const insideElements = getResolvedInsideElements();\n const isFocusInsideFloatingTree = contains(floating, activeEl) || insideElements.some(element => element === activeEl || contains(element, activeEl)) || tree && getNodeChildren(tree.nodesRef.current, getNodeId(), false).some(node => contains(node.context?.elements.floating, activeEl));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const returnFocusValueOrFn = returnFocusRef.current;\n const returnElement = getReturnElement();\n queueMicrotask(() => {\n // This is `returnElement`, if it's tabbable, or its first tabbable child.\n const tabbableReturnElement = getFirstTabbableElement(returnElement);\n const hasExplicitReturnFocus = typeof returnFocusValueOrFn !== 'boolean';\n if (returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && (\n // If the focus moved somewhere else after mount, avoid returning focus\n // since it likely entered a different element which should be\n // respected: https://github.com/floating-ui/floating-ui/issues/2607\n !hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n tabbableReturnElement.focus({\n preventScroll: true\n });\n }\n preventReturnFocusRef.current = false;\n });\n };\n }, [disabled, floating, floatingFocusElement, returnFocusRef, openInteractionTypeRef, events, tree, domReference, getNodeId, getResolvedInsideElements]);\n\n // Safari may randomly scroll to the bottom of the page if an input inside a popup has focus\n // when the popup unmounts from the DOM.\n // By blurring it before the popup unmounts, we can prevent this behavior.\n useIsoLayoutEffect(() => {\n if (!platform.engine.webkit || open || !floating) {\n return;\n }\n const activeEl = activeElement(ownerDocument(floating));\n if (!isHTMLElement(activeEl) || !isTypeableElement(activeEl)) {\n return;\n }\n if (contains(floating, activeEl)) {\n activeEl.blur();\n }\n }, [open, floating]);\n\n // Synchronize the `context` & `modal` value to the FloatingPortal context.\n // It will decide whether or not it needs to render its own guards.\n useIsoLayoutEffect(() => {\n if (disabled || !portalContext) {\n return undefined;\n }\n portalContext.setFocusManagerState({\n modal,\n closeOnFocusOut,\n open,\n onOpenChange: store.setOpen,\n domReference\n });\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [disabled, portalContext, modal, open, store, closeOnFocusOut, domReference]);\n\n // Keep the floating element tabIndex in sync and clear stale focus records.\n useIsoLayoutEffect(() => {\n if (disabled || !floatingFocusElement) {\n return undefined;\n }\n handleTabIndex(floatingFocusElement);\n return () => {\n queueMicrotask(clearDisconnectedPreviouslyFocusedElements);\n };\n }, [disabled, floatingFocusElement]);\n const shouldRenderGuards = !disabled && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [shouldRenderGuards && /*#__PURE__*/_jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedBeforeGuardRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableContent();\n enqueueFocus(els[els.length - 1]);\n } else if (portalContext?.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable(domReference);\n nextTabbable?.focus();\n } else {\n resolveRef(previousFocusableElement ?? portalContext.beforeOutsideRef)?.focus();\n }\n }\n }\n }), children, shouldRenderGuards && /*#__PURE__*/_jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedAfterGuardRef,\n onFocus: event => {\n if (modal) {\n enqueueFocus(getTabbableContent()[0]);\n } else if (portalContext?.portalNode) {\n if (closeOnFocusOut) {\n preventReturnFocusRef.current = true;\n }\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable(domReference);\n prevTabbable?.focus();\n } else {\n resolveRef(nextFocusableElement ?? portalContext.afterOutsideRef)?.focus();\n }\n }\n }\n })]\n });\n}","import { NOOP } from '@base-ui/utils/empty';\nlet rafId = 0;\nexport function enqueueFocus(el, options = {}) {\n const {\n preventScroll = false,\n sync = false,\n shouldFocus\n } = options;\n cancelAnimationFrame(rafId);\n function exec() {\n if (shouldFocus && !shouldFocus()) {\n return;\n }\n el?.focus({\n preventScroll\n });\n }\n if (sync) {\n exec();\n return NOOP;\n }\n const currentRafId = requestAnimationFrame(exec);\n rafId = currentRafId;\n return () => {\n if (rafId === currentRafId) {\n cancelAnimationFrame(currentRafId);\n rafId = 0;\n }\n };\n}","// Modified to add conditional `aria-hidden` support:\n// https://github.com/theKashey/aria-hidden/blob/9220c8f4a4fd35f63bee5510a9f41a37264382d4/src/index.ts\nimport { getNodeName, isShadowRoot } from '@floating-ui/utils/dom';\nimport { ownerDocument } from '@base-ui/utils/owner';\nconst counters = {\n inert: new WeakMap(),\n 'aria-hidden': new WeakMap()\n};\nconst markerName = 'data-base-ui-inert';\nconst uncontrolledElementsSets = {\n inert: new WeakSet(),\n 'aria-hidden': new WeakSet()\n};\nlet markerCounterMap = new WeakMap();\nlet lockCount = 0;\nfunction getUncontrolledElementsSet(controlAttribute) {\n return uncontrolledElementsSets[controlAttribute];\n}\nfunction unwrapHost(node) {\n if (!node) {\n return null;\n }\n return isShadowRoot(node) ? node.host : unwrapHost(node.parentNode);\n}\nconst correctElements = (parent, targets) => targets.map(target => {\n if (parent.contains(target)) {\n return target;\n }\n const correctedTarget = unwrapHost(target);\n if (parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n return null;\n}).filter(x => x != null);\nconst buildKeepSet = targets => {\n const keep = new Set();\n targets.forEach(target => {\n let node = target;\n while (node && !keep.has(node)) {\n keep.add(node);\n node = node.parentNode;\n }\n });\n return keep;\n};\nconst collectOutsideElements = (root, keepElements, stopElements) => {\n const outside = [];\n const walk = parent => {\n if (!parent || stopElements.has(parent)) {\n return;\n }\n Array.from(parent.children).forEach(node => {\n if (getNodeName(node) === 'script') {\n return;\n }\n if (keepElements.has(node)) {\n walk(node);\n } else {\n outside.push(node);\n }\n });\n };\n walk(root);\n return outside;\n};\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert, {\n mark = true\n}) {\n let controlAttribute = null;\n if (inert) {\n controlAttribute = 'inert';\n } else if (ariaHidden) {\n controlAttribute = 'aria-hidden';\n }\n let counterMap = null;\n let uncontrolledElementsSet = null;\n const avoidElements = correctElements(body, uncorrectedAvoidElements);\n const markerTargets = mark ? collectOutsideElements(body, buildKeepSet(avoidElements), new Set(avoidElements)) : [];\n const hiddenElements = [];\n const markedElements = [];\n if (controlAttribute) {\n const map = counters[controlAttribute];\n const currentUncontrolledElementsSet = getUncontrolledElementsSet(controlAttribute);\n uncontrolledElementsSet = currentUncontrolledElementsSet;\n counterMap = map;\n const ariaLiveElements = correctElements(body, Array.from(body.querySelectorAll('[aria-live]')));\n const controlElements = avoidElements.concat(ariaLiveElements);\n const controlTargets = collectOutsideElements(body, buildKeepSet(controlElements), new Set(controlElements));\n controlTargets.forEach(node => {\n const attr = node.getAttribute(controlAttribute);\n const alreadyHidden = attr !== null && attr !== 'false';\n const counterValue = (map.get(node) || 0) + 1;\n map.set(node, counterValue);\n hiddenElements.push(node);\n if (counterValue === 1 && alreadyHidden) {\n currentUncontrolledElementsSet.add(node);\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, controlAttribute === 'inert' ? '' : 'true');\n }\n });\n }\n if (mark) {\n markerTargets.forEach(node => {\n const markerValue = (markerCounterMap.get(node) || 0) + 1;\n markerCounterMap.set(node, markerValue);\n markedElements.push(node);\n if (markerValue === 1) {\n node.setAttribute(markerName, '');\n }\n });\n }\n lockCount += 1;\n return () => {\n if (counterMap) {\n hiddenElements.forEach(element => {\n const currentCounterValue = counterMap.get(element) || 0;\n const counterValue = currentCounterValue - 1;\n counterMap.set(element, counterValue);\n if (!counterValue) {\n if (!uncontrolledElementsSet?.has(element) && controlAttribute) {\n element.removeAttribute(controlAttribute);\n }\n uncontrolledElementsSet?.delete(element);\n }\n });\n }\n if (mark) {\n markedElements.forEach(element => {\n const markerValue = (markerCounterMap.get(element) || 0) - 1;\n markerCounterMap.set(element, markerValue);\n if (!markerValue) {\n element.removeAttribute(markerName);\n }\n });\n }\n lockCount -= 1;\n if (!lockCount) {\n counters.inert = new WeakMap();\n counters['aria-hidden'] = new WeakMap();\n uncontrolledElementsSets.inert = new WeakSet();\n uncontrolledElementsSets['aria-hidden'] = new WeakSet();\n markerCounterMap = new WeakMap();\n }\n };\n}\nexport function markOthers(avoidElements, options = {}) {\n const {\n ariaHidden = false,\n inert = false,\n mark = true\n } = options;\n const body = ownerDocument(avoidElements[0]).body;\n return applyAttributeToOthers(avoidElements, body, ariaHidden, inert, {\n mark\n });\n}","import { isHTMLElement } from '@floating-ui/utils/dom';\nexport { stopEvent, isIndexOutOfListBounds, isListIndexDisabled, findNonDisabledListIndex, getMaxListIndex, getMinListIndex } from \"../../floating-ui-react/utils.mjs\";\nexport const ARROW_UP = 'ArrowUp';\nexport const ARROW_DOWN = 'ArrowDown';\nexport const ARROW_LEFT = 'ArrowLeft';\nexport const ARROW_RIGHT = 'ArrowRight';\nexport const HOME = 'Home';\nexport const END = 'End';\nexport const PAGE_UP = 'PageUp';\nexport const PAGE_DOWN = 'PageDown';\nexport const HORIZONTAL_KEYS = new Set([ARROW_LEFT, ARROW_RIGHT]);\nexport const HORIZONTAL_KEYS_WITH_EXTRA_KEYS = new Set([ARROW_LEFT, ARROW_RIGHT, HOME, END]);\nexport const VERTICAL_KEYS = new Set([ARROW_UP, ARROW_DOWN]);\nexport const VERTICAL_KEYS_WITH_EXTRA_KEYS = new Set([ARROW_UP, ARROW_DOWN, HOME, END]);\nexport const ARROW_KEYS = new Set([...HORIZONTAL_KEYS, ...VERTICAL_KEYS]);\nexport const COMPOSITE_KEYS = new Set([...ARROW_KEYS, HOME, END]);\nexport const SHIFT = 'Shift';\nexport const CONTROL = 'Control';\nexport const ALT = 'Alt';\nexport const META = 'Meta';\nexport const MODIFIER_KEYS = new Set([SHIFT, CONTROL, ALT, META]);\nfunction isInputElement(element) {\n return isHTMLElement(element) && element.tagName === 'INPUT';\n}\nexport function isNativeInput(element) {\n if (isInputElement(element) && element.selectionStart != null) {\n return true;\n }\n if (isHTMLElement(element) && element.tagName === 'TEXTAREA') {\n return true;\n }\n return false;\n}\nexport function scrollIntoViewIfNeeded(scrollContainer, element, direction, orientation) {\n if (!scrollContainer || !element || !element.scrollTo) {\n return;\n }\n let targetX = scrollContainer.scrollLeft;\n let targetY = scrollContainer.scrollTop;\n const isOverflowingX = scrollContainer.clientWidth < scrollContainer.scrollWidth;\n const isOverflowingY = scrollContainer.clientHeight < scrollContainer.scrollHeight;\n if (isOverflowingX && orientation !== 'vertical') {\n const elementOffsetLeft = getOffset(scrollContainer, element, 'left');\n const containerStyles = getStyles(scrollContainer);\n const elementStyles = getStyles(element);\n if (direction === 'ltr') {\n if (elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight > scrollContainer.scrollLeft + scrollContainer.clientWidth - containerStyles.scrollPaddingRight) {\n // overflow to the right, scroll to align right edges\n targetX = elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight - scrollContainer.clientWidth + containerStyles.scrollPaddingRight;\n } else if (elementOffsetLeft - elementStyles.scrollMarginLeft < scrollContainer.scrollLeft + containerStyles.scrollPaddingLeft) {\n // overflow to the left, scroll to align left edges\n targetX = elementOffsetLeft - elementStyles.scrollMarginLeft - containerStyles.scrollPaddingLeft;\n }\n }\n if (direction === 'rtl') {\n if (elementOffsetLeft - elementStyles.scrollMarginRight < scrollContainer.scrollLeft + containerStyles.scrollPaddingLeft) {\n // overflow to the left, scroll to align left edges\n targetX = elementOffsetLeft - elementStyles.scrollMarginLeft - containerStyles.scrollPaddingLeft;\n } else if (elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight > scrollContainer.scrollLeft + scrollContainer.clientWidth - containerStyles.scrollPaddingRight) {\n // overflow to the right, scroll to align right edges\n targetX = elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight - scrollContainer.clientWidth + containerStyles.scrollPaddingRight;\n }\n }\n }\n if (isOverflowingY && orientation !== 'horizontal') {\n const elementOffsetTop = getOffset(scrollContainer, element, 'top');\n const containerStyles = getStyles(scrollContainer);\n const elementStyles = getStyles(element);\n if (elementOffsetTop - elementStyles.scrollMarginTop < scrollContainer.scrollTop + containerStyles.scrollPaddingTop) {\n // overflow upwards, align top edges\n targetY = elementOffsetTop - elementStyles.scrollMarginTop - containerStyles.scrollPaddingTop;\n } else if (elementOffsetTop + element.offsetHeight + elementStyles.scrollMarginBottom > scrollContainer.scrollTop + scrollContainer.clientHeight - containerStyles.scrollPaddingBottom) {\n // overflow downwards, align bottom edges\n targetY = elementOffsetTop + element.offsetHeight + elementStyles.scrollMarginBottom - scrollContainer.clientHeight + containerStyles.scrollPaddingBottom;\n }\n }\n scrollContainer.scrollTo({\n left: targetX,\n top: targetY,\n behavior: 'auto'\n });\n}\nfunction getOffset(ancestor, element, side) {\n const propName = side === 'left' ? 'offsetLeft' : 'offsetTop';\n let result = 0;\n while (element.offsetParent) {\n result += element[propName];\n if (element.offsetParent === ancestor) {\n break;\n }\n element = element.offsetParent;\n }\n return result;\n}\nfunction getStyles(element) {\n const styles = getComputedStyle(element);\n return {\n scrollMarginTop: parseFloat(styles.scrollMarginTop) || 0,\n scrollMarginRight: parseFloat(styles.scrollMarginRight) || 0,\n scrollMarginBottom: parseFloat(styles.scrollMarginBottom) || 0,\n scrollMarginLeft: parseFloat(styles.scrollMarginLeft) || 0,\n scrollPaddingTop: parseFloat(styles.scrollPaddingTop) || 0,\n scrollPaddingRight: parseFloat(styles.scrollPaddingRight) || 0,\n scrollPaddingBottom: parseFloat(styles.scrollPaddingBottom) || 0,\n scrollPaddingLeft: parseFloat(styles.scrollPaddingLeft) || 0\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { useRenderElement } from \"../internals/useRenderElement.mjs\";\n\n/**\n * A separator element accessible to screen readers.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Separator](https://base-ui.com/react/components/separator)\n */\nexport const Separator = /*#__PURE__*/React.forwardRef(function SeparatorComponent(componentProps, forwardedRef) {\n const {\n className,\n render,\n orientation = 'horizontal',\n style,\n ...elementProps\n } = componentProps;\n const state = {\n orientation\n };\n const element = useRenderElement('div', componentProps, {\n state,\n ref: forwardedRef,\n props: [{\n role: 'separator',\n 'aria-orientation': orientation\n }, elementProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Separator\";","'use client';\n\nimport * as React from 'react';\nimport { useDialogRootContext } from \"../root/DialogRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { popupStateMapping as baseMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { transitionStatusMapping } from \"../../internals/stateAttributesMapping.mjs\";\nconst stateAttributesMapping = {\n ...baseMapping,\n ...transitionStatusMapping\n};\n\n/**\n * An overlay displayed beneath the popup.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nexport const DialogBackdrop = /*#__PURE__*/React.forwardRef(function DialogBackdrop(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n forceRender = false,\n ...elementProps\n } = componentProps;\n const {\n store\n } = useDialogRootContext();\n const open = store.useState('open');\n const nested = store.useState('nested');\n const mounted = store.useState('mounted');\n const transitionStatus = store.useState('transitionStatus');\n const state = {\n open,\n transitionStatus\n };\n return useRenderElement('div', componentProps, {\n state,\n ref: [store.context.backdropRef, forwardedRef],\n stateAttributesMapping,\n props: [{\n role: 'presentation',\n hidden: !mounted,\n style: {\n userSelect: 'none',\n WebkitUserSelect: 'none'\n }\n }, elementProps],\n enabled: forceRender || !nested\n });\n});\nif (process.env.NODE_ENV !== \"production\") DialogBackdrop.displayName = \"DialogBackdrop\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const IsDrawerContext = /*#__PURE__*/React.createContext(false);\nif (process.env.NODE_ENV !== \"production\") IsDrawerContext.displayName = \"IsDrawerContext\";\nexport const DialogRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") DialogRootContext.displayName = \"DialogRootContext\";\nexport function useDialogRootContext(optional) {\n const dialogRootContext = React.useContext(DialogRootContext);\n if (optional === false && dialogRootContext === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: DialogRootContext is missing. Dialog parts must be placed within <Dialog.Root>.' : _formatErrorMessage(27));\n }\n return dialogRootContext;\n}","'use client';\n\nimport * as React from 'react';\nimport { useDialogRootContext } from \"../root/DialogRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useButton } from \"../../internals/use-button/index.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\n\n/**\n * A button that closes the dialog.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nexport const DialogClose = /*#__PURE__*/React.forwardRef(function DialogClose(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n disabled = false,\n nativeButton = true,\n ...elementProps\n } = componentProps;\n const {\n store\n } = useDialogRootContext();\n const open = store.useState('open');\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n native: nativeButton\n });\n const state = {\n disabled\n };\n function handleClick(event) {\n if (open) {\n store.setOpen(false, createChangeEventDetails(REASONS.closePress, event.nativeEvent));\n }\n }\n return useRenderElement('button', componentProps, {\n state,\n ref: [forwardedRef, buttonRef],\n props: [{\n onClick: handleClick\n }, elementProps, getButtonProps]\n });\n});\nif (process.env.NODE_ENV !== \"production\") DialogClose.displayName = \"DialogClose\";","'use client';\n\nimport * as React from 'react';\nimport { useDialogRootContext } from \"../root/DialogRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\n/**\n * A paragraph with additional information about the dialog.\n * Renders a `<p>` element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nexport const DialogDescription = /*#__PURE__*/React.forwardRef(function DialogDescription(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n id: idProp,\n ...elementProps\n } = componentProps;\n const {\n store\n } = useDialogRootContext();\n const id = useBaseUiId(idProp);\n store.useSyncedValueWithCleanup('descriptionElementId', id);\n return useRenderElement('p', componentProps, {\n ref: forwardedRef,\n props: [{\n id\n }, elementProps]\n });\n});\nif (process.env.NODE_ENV !== \"production\") DialogDescription.displayName = \"DialogDescription\";","'use client';\n\nimport * as React from 'react';\nimport { FloatingFocusManager } from \"../../floating-ui-react/index.mjs\";\nimport { useDialogRootContext } from \"../root/DialogRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { popupStateMapping as baseMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { transitionStatusMapping } from \"../../internals/stateAttributesMapping.mjs\";\nimport { DialogPopupCssVars } from \"./DialogPopupCssVars.mjs\";\nimport { DialogPopupDataAttributes } from \"./DialogPopupDataAttributes.mjs\";\nimport { useDialogPortalContext } from \"../portal/DialogPortalContext.mjs\";\nimport { useOpenChangeComplete } from \"../../internals/useOpenChangeComplete.mjs\";\nimport { COMPOSITE_KEYS } from \"../../internals/composite/composite.mjs\";\nimport { FOCUSABLE_POPUP_PROPS, createDefaultInitialFocus } from \"../../utils/popups/index.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stateAttributesMapping = {\n ...baseMapping,\n ...transitionStatusMapping,\n nestedDialogOpen(value) {\n return value ? {\n [DialogPopupDataAttributes.nestedDialogOpen]: ''\n } : null;\n }\n};\n\n/**\n * A container for the dialog contents.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nexport const DialogPopup = /*#__PURE__*/React.forwardRef(function DialogPopup(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n finalFocus,\n initialFocus,\n ...elementProps\n } = componentProps;\n const {\n store\n } = useDialogRootContext();\n const descriptionElementId = store.useState('descriptionElementId');\n const disablePointerDismissal = store.useState('disablePointerDismissal');\n const floatingRootContext = store.useState('floatingRootContext');\n const rootPopupProps = store.useState('popupProps');\n const modal = store.useState('modal');\n const mounted = store.useState('mounted');\n const nested = store.useState('nested');\n const nestedOpenDialogCount = store.useState('nestedOpenDialogCount');\n const open = store.useState('open');\n const openMethod = store.useState('openMethod');\n const titleElementId = store.useState('titleElementId');\n const transitionStatus = store.useState('transitionStatus');\n const role = store.useState('role');\n const floatingId = floatingRootContext.useState('floatingId');\n const popupId = elementProps.id ?? floatingId;\n useDialogPortalContext();\n useOpenChangeComplete({\n open,\n ref: store.context.popupRef,\n onComplete() {\n if (open) {\n store.context.onOpenChangeComplete?.(true);\n }\n }\n });\n const resolvedInitialFocus = initialFocus === undefined ? createDefaultInitialFocus(store.context.popupRef) : initialFocus;\n const nestedDialogOpen = nestedOpenDialogCount > 0;\n const setPopupElement = store.useStateSetter('popupElement');\n const state = {\n open,\n nested,\n transitionStatus,\n nestedDialogOpen\n };\n const element = useRenderElement('div', componentProps, {\n state,\n props: [rootPopupProps, {\n id: popupId,\n 'aria-labelledby': titleElementId ?? undefined,\n 'aria-describedby': descriptionElementId ?? undefined,\n role,\n ...FOCUSABLE_POPUP_PROPS,\n hidden: !mounted,\n onKeyDown(event) {\n if (COMPOSITE_KEYS.has(event.key)) {\n event.stopPropagation();\n }\n },\n style: {\n [DialogPopupCssVars.nestedDialogs]: nestedOpenDialogCount\n }\n }, elementProps],\n ref: [forwardedRef, store.context.popupRef, setPopupElement],\n stateAttributesMapping\n });\n return /*#__PURE__*/_jsx(FloatingFocusManager, {\n context: floatingRootContext,\n openInteractionType: openMethod,\n disabled: !mounted,\n closeOnFocusOut: !disablePointerDismissal,\n initialFocus: resolvedInitialFocus,\n returnFocus: finalFocus,\n modal: modal !== false,\n restoreFocus: \"popup\",\n children: element\n });\n});\nif (process.env.NODE_ENV !== \"production\") DialogPopup.displayName = \"DialogPopup\";","export let DialogPopupCssVars = /*#__PURE__*/function (DialogPopupCssVars) {\n /**\n * Indicates how many dialogs are nested within.\n * @type {number}\n */\n DialogPopupCssVars[\"nestedDialogs\"] = \"--nested-dialogs\";\n return DialogPopupCssVars;\n}({});","import { CommonPopupDataAttributes } from \"../../utils/popupStateMapping.mjs\";\nexport let DialogPopupDataAttributes = function (DialogPopupDataAttributes) {\n /**\n * Present when the dialog is open.\n */\n DialogPopupDataAttributes[DialogPopupDataAttributes[\"open\"] = CommonPopupDataAttributes.open] = \"open\";\n /**\n * Present when the dialog is closed.\n */\n DialogPopupDataAttributes[DialogPopupDataAttributes[\"closed\"] = CommonPopupDataAttributes.closed] = \"closed\";\n /**\n * Present when the dialog is animating in.\n */\n DialogPopupDataAttributes[DialogPopupDataAttributes[\"startingStyle\"] = CommonPopupDataAttributes.startingStyle] = \"startingStyle\";\n /**\n * Present when the dialog is animating out.\n */\n DialogPopupDataAttributes[DialogPopupDataAttributes[\"endingStyle\"] = CommonPopupDataAttributes.endingStyle] = \"endingStyle\";\n /**\n * Present when the dialog is nested within another dialog.\n */\n DialogPopupDataAttributes[\"nested\"] = \"data-nested\";\n /**\n * Present when the dialog has other open dialogs nested within it.\n */\n DialogPopupDataAttributes[\"nestedDialogOpen\"] = \"data-nested-dialog-open\";\n return DialogPopupDataAttributes;\n}({});","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const DialogPortalContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") DialogPortalContext.displayName = \"DialogPortalContext\";\nexport function useDialogPortalContext() {\n const value = React.useContext(DialogPortalContext);\n if (value === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: <Dialog.Portal> is missing.' : _formatErrorMessage(26));\n }\n return value;\n}","'use client';\n\nimport * as React from 'react';\nimport { inertValue } from '@base-ui/utils/inertValue';\nimport { FloatingPortal } from \"../../floating-ui-react/index.mjs\";\nimport { useDialogRootContext } from \"../root/DialogRootContext.mjs\";\nimport { DialogPortalContext } from \"./DialogPortalContext.mjs\";\nimport { InternalBackdrop } from \"../../utils/InternalBackdrop.mjs\";\n\n/**\n * A portal element that moves the popup to a different part of the DOM.\n * By default, the portal element is appended to `<body>`.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const DialogPortal = /*#__PURE__*/React.forwardRef(function DialogPortal(props, forwardedRef) {\n const {\n keepMounted = false,\n ...portalProps\n } = props;\n const {\n store\n } = useDialogRootContext();\n const mounted = store.useState('mounted');\n const modal = store.useState('modal');\n const open = store.useState('open');\n const shouldRender = mounted || keepMounted;\n if (!shouldRender) {\n return null;\n }\n return /*#__PURE__*/_jsx(DialogPortalContext.Provider, {\n value: keepMounted,\n children: /*#__PURE__*/_jsxs(FloatingPortal, {\n ref: forwardedRef,\n ...portalProps,\n children: [mounted && modal === true && /*#__PURE__*/_jsx(InternalBackdrop, {\n ref: store.context.internalBackdropRef,\n inert: inertValue(!open)\n }), props.children]\n })\n });\n});\nif (process.env.NODE_ENV !== \"production\") DialogPortal.displayName = \"DialogPortal\";","'use client';\n\nimport * as React from 'react';\nimport { IsDrawerContext } from \"./DialogRootContext.mjs\";\nimport { useRenderDialogRoot } from \"./useRenderDialogRoot.mjs\";\n\n/**\n * Groups all parts of the dialog.\n * Doesn't render its own HTML element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nexport function DialogRoot(props) {\n const mode = React.useContext(IsDrawerContext) ? 'drawer' : 'dialog';\n return useRenderDialogRoot(props, mode);\n}","'use client';\n\nimport * as React from 'react';\nimport { useOnFirstRender } from '@base-ui/utils/useOnFirstRender';\nimport { DialogInteractions, useDialogRoot } from \"./useDialogRoot.mjs\";\nimport { DialogRootContext, IsDrawerContext, useDialogRootContext } from \"./DialogRootContext.mjs\";\nimport { DialogStore } from \"../store/DialogStore.mjs\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function useRenderDialogRoot(props, mode = 'dialog') {\n const {\n children,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n onOpenChangeComplete,\n disablePointerDismissal: disablePointerDismissalProp = false,\n modal: modalProp = true,\n actionsRef,\n handle,\n triggerId: triggerIdProp,\n defaultTriggerId: defaultTriggerIdProp = null\n } = props;\n const isDrawer = mode === 'drawer';\n const isAlertDialog = mode === 'alert-dialog';\n const modal = isAlertDialog ? true : modalProp;\n const disablePointerDismissal = isAlertDialog || disablePointerDismissalProp;\n const role = isAlertDialog ? 'alertdialog' : 'dialog';\n const parentDialogRootContext = useDialogRootContext(true);\n const nested = Boolean(parentDialogRootContext);\n const rootState = {\n modal,\n disablePointerDismissal,\n nested,\n role\n };\n const store = DialogStore.useStore(handle?.store, {\n open: defaultOpen,\n openProp,\n activeTriggerId: defaultTriggerIdProp,\n triggerIdProp,\n ...rootState\n });\n\n // Support initially open state when uncontrolled\n useOnFirstRender(() => {\n const nextState = openProp === undefined && store.state.open === false && defaultOpen === true ? {\n open: true,\n activeTriggerId: defaultTriggerIdProp\n } : null;\n if (isAlertDialog) {\n // Handles can reuse plain Dialog stores; alert dialog invariants must exist immediately.\n store.update(nextState ? {\n ...rootState,\n ...nextState\n } : rootState);\n } else if (nextState) {\n store.update(nextState);\n }\n });\n store.useControlledProp('openProp', openProp);\n store.useControlledProp('triggerIdProp', triggerIdProp);\n store.useSyncedValues(rootState);\n store.useContextCallback('onOpenChange', onOpenChange);\n store.useContextCallback('onOpenChangeComplete', onOpenChangeComplete);\n const open = store.useState('open');\n const mounted = store.useState('mounted');\n const payload = store.useState('payload');\n useDialogRoot({\n store,\n actionsRef\n });\n const shouldRenderInteractions = open || mounted;\n const contextValue = React.useMemo(() => ({\n store\n }), [store]);\n return /*#__PURE__*/_jsx(IsDrawerContext.Provider, {\n value: false,\n children: /*#__PURE__*/_jsxs(DialogRootContext.Provider, {\n value: contextValue,\n children: [shouldRenderInteractions && /*#__PURE__*/_jsx(DialogInteractions, {\n store: store,\n parentContext: parentDialogRootContext?.store.context,\n isDrawer: isDrawer\n }), typeof children === 'function' ? children({\n payload\n }) : children]\n })\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { useScrollLock } from '@base-ui/utils/useScrollLock';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { useDismiss } from \"../../floating-ui-react/index.mjs\";\nimport { contains, getTarget } from \"../../floating-ui-react/utils.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useImplicitActiveTrigger, useOpenStateTransitions, usePopupInteractionProps, usePopupRootSync } from \"../../utils/popups/index.mjs\";\nexport function useDialogRoot(params) {\n const {\n store,\n actionsRef\n } = params;\n const open = store.useState('open');\n usePopupRootSync(store, open);\n useImplicitActiveTrigger(store);\n const {\n forceUnmount\n } = useOpenStateTransitions(open, store);\n const handleImperativeClose = React.useCallback(() => {\n store.setOpen(false, createChangeEventDetails(REASONS.imperativeAction));\n }, [store]);\n React.useImperativeHandle(actionsRef, () => ({\n unmount: forceUnmount,\n close: handleImperativeClose\n }), [forceUnmount, handleImperativeClose]);\n}\nexport function DialogInteractions({\n store,\n parentContext,\n isDrawer\n}) {\n const open = store.useState('open');\n const disablePointerDismissal = store.useState('disablePointerDismissal');\n const modal = store.useState('modal');\n const popupElement = store.useState('popupElement');\n const floatingRootContext = store.useState('floatingRootContext');\n const [ownNestedOpenDialogs, setOwnNestedOpenDialogs] = React.useState(0);\n const [ownNestedOpenDrawers, setOwnNestedOpenDrawers] = React.useState(0);\n const isTopmost = ownNestedOpenDialogs === 0;\n const dismiss = useDismiss(floatingRootContext, {\n outsidePressEvent() {\n if (store.context.internalBackdropRef.current || store.context.backdropRef.current) {\n return 'intentional';\n }\n // Ensure `aria-hidden` on outside elements is removed immediately\n // on outside press when trapping focus.\n return {\n mouse: modal === 'trap-focus' ? 'sloppy' : 'intentional',\n touch: 'sloppy'\n };\n },\n outsidePress(event) {\n if (!store.context.outsidePressEnabledRef.current) {\n return false;\n }\n\n // For mouse events, only accept left button (button 0)\n // For touch events, a single touch is equivalent to left button\n if ('button' in event && event.button !== 0) {\n return false;\n }\n if ('touches' in event && event.touches.length !== 1) {\n return false;\n }\n const target = getTarget(event);\n if (isTopmost && !disablePointerDismissal) {\n // Only close if the click occurred on the dialog's owning backdrop.\n // This supports multiple modal dialogs that aren't nested in the React tree:\n // https://github.com/mui/base-ui/issues/1320\n if (modal) {\n return store.context.internalBackdropRef.current || store.context.backdropRef.current ? store.context.internalBackdropRef.current === target || store.context.backdropRef.current === target || contains(target, popupElement) && !target?.hasAttribute('data-base-ui-portal') : true;\n }\n return true;\n }\n return false;\n },\n escapeKey: isTopmost\n });\n useScrollLock(open && modal === true, popupElement);\n\n // Listen for nested open/close events on this store to maintain the counts.\n store.useContextCallback('onNestedDialogOpen', (dialogCount, drawerCount) => {\n setOwnNestedOpenDialogs(dialogCount);\n setOwnNestedOpenDrawers(drawerCount);\n });\n store.useContextCallback('onNestedDialogClose', () => {\n setOwnNestedOpenDialogs(0);\n setOwnNestedOpenDrawers(0);\n });\n\n // Notify parent of our open/close state using parent callbacks, if any\n React.useEffect(() => {\n if (parentContext?.onNestedDialogOpen && open) {\n parentContext.onNestedDialogOpen(ownNestedOpenDialogs + 1, ownNestedOpenDrawers + (isDrawer ? 1 : 0));\n }\n if (parentContext?.onNestedDialogClose && !open) {\n parentContext.onNestedDialogClose();\n }\n return () => {\n if (parentContext?.onNestedDialogClose && open) {\n parentContext.onNestedDialogClose();\n }\n };\n }, [isDrawer, open, ownNestedOpenDialogs, ownNestedOpenDrawers, parentContext]);\n const activeTriggerProps = dismiss.reference ?? EMPTY_OBJECT;\n const inactiveTriggerProps = dismiss.trigger ?? EMPTY_OBJECT;\n // Consumers (DialogPopup/DrawerPopup) already spread `FOCUSABLE_POPUP_PROPS`\n // directly, so the popup props only need to carry the dismiss handlers.\n const popupProps = dismiss.floating ?? EMPTY_OBJECT;\n usePopupInteractionProps(store, {\n activeTriggerProps,\n inactiveTriggerProps,\n popupProps,\n nestedOpenDialogCount: ownNestedOpenDialogs,\n nestedOpenDrawerCount: ownNestedOpenDrawers\n });\n return null;\n}","import * as React from 'react';\nimport { createSelector, ReactStore } from '@base-ui/utils/store';\nimport { createPopupFloatingRootContext, createInitialPopupStoreState, popupStoreSelectors, PopupTriggerMap, setPopupOpenState, usePopupStore } from \"../../utils/popups/index.mjs\";\nconst selectors = {\n ...popupStoreSelectors,\n modal: createSelector(state => state.modal),\n nested: createSelector(state => state.nested),\n nestedOpenDialogCount: createSelector(state => state.nestedOpenDialogCount),\n nestedOpenDrawerCount: createSelector(state => state.nestedOpenDrawerCount),\n disablePointerDismissal: createSelector(state => state.disablePointerDismissal),\n openMethod: createSelector(state => state.openMethod),\n descriptionElementId: createSelector(state => state.descriptionElementId),\n titleElementId: createSelector(state => state.titleElementId),\n viewportElement: createSelector(state => state.viewportElement),\n role: createSelector(state => state.role)\n};\nexport class DialogStore extends ReactStore {\n constructor(initialState, floatingId, nested = false) {\n const triggerElements = new PopupTriggerMap();\n const state = createInitialState(initialState);\n state.floatingRootContext = createPopupFloatingRootContext(triggerElements, floatingId, nested);\n super(state, {\n popupRef: /*#__PURE__*/React.createRef(),\n backdropRef: /*#__PURE__*/React.createRef(),\n internalBackdropRef: /*#__PURE__*/React.createRef(),\n outsidePressEnabledRef: {\n current: true\n },\n triggerElements,\n onOpenChange: undefined,\n onOpenChangeComplete: undefined\n }, selectors);\n }\n setOpen = (nextOpen, eventDetails) => {\n eventDetails.preventUnmountOnClose = () => {\n this.set('preventUnmountingOnClose', true);\n };\n if (!nextOpen && eventDetails.trigger == null && this.state.activeTriggerId != null) {\n // When closing the dialog, pass the old trigger to the onOpenChange event\n // so it's not reset too early (potentially causing focus issues in controlled scenarios).\n eventDetails.trigger = this.state.activeTriggerElement ?? undefined;\n }\n this.context.onOpenChange?.(nextOpen, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n this.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);\n const updatedState = {\n open: nextOpen\n };\n setPopupOpenState(updatedState, nextOpen, eventDetails.trigger);\n this.update(updatedState);\n };\n static useStore(externalStore, initialState) {\n /* eslint-disable react-hooks/rules-of-hooks */\n const store = usePopupStore(externalStore, (floatingId, nested) => new DialogStore(initialState, floatingId, nested), true).store;\n /* eslint-enable react-hooks/rules-of-hooks */\n\n return store;\n }\n}\nfunction createInitialState(initialState = {}) {\n return {\n ...createInitialPopupStoreState(),\n modal: true,\n disablePointerDismissal: false,\n popupElement: null,\n viewportElement: null,\n descriptionElementId: undefined,\n titleElementId: undefined,\n openMethod: null,\n nested: false,\n nestedOpenDialogCount: 0,\n nestedOpenDrawerCount: 0,\n role: 'dialog',\n ...initialState\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { popupStateMapping as baseMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { transitionStatusMapping } from \"../../internals/stateAttributesMapping.mjs\";\nimport { useDialogRootContext } from \"../root/DialogRootContext.mjs\";\nimport { useDialogPortalContext } from \"../portal/DialogPortalContext.mjs\";\nimport { DialogViewportDataAttributes } from \"./DialogViewportDataAttributes.mjs\";\nconst stateAttributesMapping = {\n ...baseMapping,\n ...transitionStatusMapping,\n nested(value) {\n return value ? {\n [DialogViewportDataAttributes.nested]: ''\n } : null;\n },\n nestedDialogOpen(value) {\n return value ? {\n [DialogViewportDataAttributes.nestedDialogOpen]: ''\n } : null;\n }\n};\n\n/**\n * A positioning container for the dialog popup that can be made scrollable.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nexport const DialogViewport = /*#__PURE__*/React.forwardRef(function DialogViewport(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n children,\n ...elementProps\n } = componentProps;\n const keepMounted = useDialogPortalContext();\n const {\n store\n } = useDialogRootContext();\n const open = store.useState('open');\n const nested = store.useState('nested');\n const transitionStatus = store.useState('transitionStatus');\n const nestedOpenDialogCount = store.useState('nestedOpenDialogCount');\n const mounted = store.useState('mounted');\n const setViewportElement = store.useStateSetter('viewportElement');\n const nestedDialogOpen = nestedOpenDialogCount > 0;\n const state = {\n open,\n nested,\n transitionStatus,\n nestedDialogOpen\n };\n const shouldRender = keepMounted || mounted;\n return useRenderElement('div', componentProps, {\n enabled: shouldRender,\n state,\n ref: [forwardedRef, setViewportElement],\n stateAttributesMapping,\n props: [{\n role: 'presentation',\n hidden: !mounted,\n style: {\n pointerEvents: !open ? 'none' : undefined\n },\n children\n }, elementProps]\n });\n});\nif (process.env.NODE_ENV !== \"production\") DialogViewport.displayName = \"DialogViewport\";","import { CommonPopupDataAttributes } from \"../../utils/popupStateMapping.mjs\";\nexport let DialogViewportDataAttributes = function (DialogViewportDataAttributes) {\n /**\n * Present when the dialog is open.\n */\n DialogViewportDataAttributes[DialogViewportDataAttributes[\"open\"] = CommonPopupDataAttributes.open] = \"open\";\n /**\n * Present when the dialog is closed.\n */\n DialogViewportDataAttributes[DialogViewportDataAttributes[\"closed\"] = CommonPopupDataAttributes.closed] = \"closed\";\n /**\n * Present when the dialog is animating in.\n */\n DialogViewportDataAttributes[DialogViewportDataAttributes[\"startingStyle\"] = CommonPopupDataAttributes.startingStyle] = \"startingStyle\";\n /**\n * Present when the dialog is animating out.\n */\n DialogViewportDataAttributes[DialogViewportDataAttributes[\"endingStyle\"] = CommonPopupDataAttributes.endingStyle] = \"endingStyle\";\n /**\n * Present when the dialog is nested within another dialog.\n */\n DialogViewportDataAttributes[\"nested\"] = \"data-nested\";\n /**\n * Present when the dialog has other open dialogs nested within it.\n */\n DialogViewportDataAttributes[\"nestedDialogOpen\"] = \"data-nested-dialog-open\";\n return DialogViewportDataAttributes;\n}({});","'use client';\n\nimport * as React from 'react';\nimport { useDialogRootContext } from \"../root/DialogRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\n/**\n * A heading that labels the dialog.\n * Renders an `<h2>` element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nexport const DialogTitle = /*#__PURE__*/React.forwardRef(function DialogTitle(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n id: idProp,\n ...elementProps\n } = componentProps;\n const {\n store\n } = useDialogRootContext();\n const id = useBaseUiId(idProp);\n store.useSyncedValueWithCleanup('titleElementId', id);\n return useRenderElement('h2', componentProps, {\n ref: forwardedRef,\n props: [{\n id\n }, elementProps]\n });\n});\nif (process.env.NODE_ENV !== \"production\") DialogTitle.displayName = \"DialogTitle\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nimport { useDialogRootContext } from \"../root/DialogRootContext.mjs\";\nimport { useButton } from \"../../internals/use-button/useButton.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { triggerOpenStateMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { CLICK_TRIGGER_IDENTIFIER } from \"../../internals/constants.mjs\";\nimport { useTriggerDataForwarding } from \"../../utils/popups/index.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useClick } from \"../../floating-ui-react/index.mjs\";\nimport { useOpenMethodTriggerProps } from \"../../utils/useOpenInteractionType.mjs\";\n\n/**\n * A button that opens the dialog.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)\n */\nexport const DialogTrigger = /*#__PURE__*/React.forwardRef(function DialogTrigger(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n disabled = false,\n nativeButton = true,\n id: idProp,\n payload,\n handle,\n ...elementProps\n } = componentProps;\n const dialogRootContext = useDialogRootContext(true);\n const store = handle?.store ?? dialogRootContext?.store;\n if (!store) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: <Dialog.Trigger> must be used within <Dialog.Root> or provided with a handle.' : _formatErrorMessage(79));\n }\n const thisTriggerId = useBaseUiId(idProp);\n const floatingContext = store.useState('floatingRootContext');\n const isOpenedByThisTrigger = store.useState('isOpenedByTrigger', thisTriggerId);\n const popupId = store.useState('triggerPopupId', thisTriggerId);\n const triggerElementRef = React.useRef(null);\n const {\n registerTrigger,\n isMountedByThisTrigger\n } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store, {\n payload\n });\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n native: nativeButton\n });\n const click = useClick(floatingContext, {\n enabled: floatingContext != null\n });\n const interactionTypeProps = useOpenMethodTriggerProps(() => store.select('open'), interactionType => {\n store.set('openMethod', interactionType);\n });\n const state = {\n disabled,\n open: isOpenedByThisTrigger\n };\n const rootTriggerProps = store.useState('triggerProps', isMountedByThisTrigger);\n return useRenderElement('button', componentProps, {\n state,\n ref: [buttonRef, forwardedRef, registerTrigger, triggerElementRef],\n props: [click.reference, rootTriggerProps, interactionTypeProps, {\n [CLICK_TRIGGER_IDENTIFIER]: '',\n id: thisTriggerId,\n 'aria-haspopup': 'dialog',\n 'aria-expanded': isOpenedByThisTrigger,\n 'aria-controls': popupId\n }, elementProps, getButtonProps],\n stateAttributesMapping: triggerOpenStateMapping\n });\n});\nif (process.env.NODE_ENV !== \"production\") DialogTrigger.displayName = \"DialogTrigger\";","import { DialogStore } from \"./DialogStore.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\n\n/**\n * A handle to control a Dialog imperatively and to associate detached triggers with it.\n */\nexport class DialogHandle {\n /**\n * Internal store holding the dialog state.\n * @internal\n */\n\n constructor(store) {\n this.store = store ?? new DialogStore();\n }\n\n /**\n * Opens the dialog and associates it with the trigger with the given id.\n * The trigger, if provided, must be a matching Trigger component with this handle passed as a prop.\n *\n * This method should only be called in an event handler or an effect (not during rendering).\n *\n * @param triggerId ID of the trigger to associate with the dialog. If null, the dialog will open without a trigger association.\n */\n open(triggerId) {\n const triggerElement = triggerId ? this.store.context.triggerElements.getById(triggerId) : undefined;\n if (process.env.NODE_ENV !== 'production') {\n if (triggerId && !triggerElement) {\n console.warn(`Base UI: DialogHandle.open: No trigger found with id \"${triggerId}\". The dialog will open, but the trigger will not be associated with the dialog.`);\n }\n }\n this.store.setOpen(true, createChangeEventDetails(REASONS.imperativeAction, undefined, triggerElement));\n }\n\n /**\n * Opens the dialog and sets the payload.\n * Does not associate the dialog with any trigger.\n *\n * @param payload Payload to set when opening the dialog.\n */\n openWithPayload(payload) {\n this.store.set('payload', payload);\n this.store.setOpen(true, createChangeEventDetails(REASONS.imperativeAction, undefined, undefined));\n }\n\n /**\n * Closes the dialog.\n */\n close() {\n this.store.setOpen(false, createChangeEventDetails(REASONS.imperativeAction, undefined, undefined));\n }\n\n /**\n * Indicates whether the dialog is currently open.\n */\n get isOpen() {\n return this.store.select('open');\n }\n}\n\n/**\n * Creates a new handle to connect a Dialog.Root with detached Dialog.Trigger components.\n */\nexport function createDialogHandle() {\n return new DialogHandle();\n}","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M18 6 6 18', key: '1bl5f8' }],\n ['path', { d: 'm6 6 12 12', key: 'd8bk6v' }],\n];\n\n/**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst X = createLucideIcon('x', __iconNode);\n\nexport default X;\n","'use client';\n\nimport * as React from 'react';\nimport { Field } from \"../field/index.mjs\";\n\n/**\n * A native input element that automatically works with [Field](https://base-ui.com/react/components/field).\n * Renders an `<input>` element.\n *\n * Documentation: [Base UI Input](https://base-ui.com/react/components/input)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const Input = /*#__PURE__*/React.forwardRef(function Input(props, forwardedRef) {\n return /*#__PURE__*/_jsx(Field.Control, {\n ref: forwardedRef,\n ...props\n });\n});\nif (process.env.NODE_ENV !== \"production\") Input.displayName = \"Input\";","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { FieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { DEFAULT_VALIDITY_STATE, fieldValidityMapping } from \"../../internals/field-constants/constants.mjs\";\nimport { useFieldsetRootContext } from \"../../fieldset/root/FieldsetRootContext.mjs\";\nimport { useFormContext } from \"../../internals/form-context/FormContext.mjs\";\nimport { LabelableProvider } from \"../../internals/labelable-provider/index.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useFieldValidation } from \"./useFieldValidation.mjs\";\nimport { useFieldControlRegistration } from \"../../internals/field-register-control/useFieldControlRegistration.mjs\";\n\n/**\n * @internal\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FieldRootInner = /*#__PURE__*/React.forwardRef(function FieldRootInner(componentProps, forwardedRef) {\n const {\n errors,\n validationMode: formValidationMode,\n submitAttemptedRef\n } = useFormContext();\n const {\n render,\n className,\n validate: validateProp,\n validationDebounceTime = 0,\n validationMode = formValidationMode,\n name,\n disabled: disabledProp = false,\n invalid: invalidProp,\n dirty: dirtyProp,\n touched: touchedProp,\n actionsRef,\n style,\n ...elementProps\n } = componentProps;\n const disabledFieldset = useFieldsetRootContext(true)?.disabled;\n const validate = useStableCallback(validateProp || (() => null));\n const disabled = disabledFieldset || disabledProp;\n const [touchedState, setTouchedUnwrapped] = React.useState(false);\n const [dirtyState, setDirtyUnwrapped] = React.useState(false);\n const [filled, setFilled] = React.useState(false);\n const [focused, setFocused] = React.useState(false);\n const dirty = dirtyProp ?? dirtyState;\n const touched = touchedProp ?? touchedState;\n const markedDirtyRef = React.useRef(dirty);\n const registeredFieldIdRef = React.useRef(undefined);\n const [registeredFieldName, setRegisteredFieldName] = React.useState();\n const effectiveName = name ?? registeredFieldName;\n useIsoLayoutEffect(() => {\n if (dirtyProp !== undefined) {\n markedDirtyRef.current = dirtyProp;\n }\n }, [dirtyProp]);\n const getRegisteredFieldId = React.useCallback(() => registeredFieldIdRef.current, []);\n const setRegisteredFieldId = React.useCallback(id => {\n registeredFieldIdRef.current = id;\n }, []);\n const setDirty = useStableCallback(value => {\n if (dirtyProp !== undefined) {\n return;\n }\n if (value) {\n markedDirtyRef.current = true;\n }\n setDirtyUnwrapped(value);\n });\n const setTouched = useStableCallback(value => {\n if (touchedProp !== undefined) {\n return;\n }\n setTouchedUnwrapped(value);\n });\n const shouldValidateOnChange = useStableCallback(() => validationMode === 'onChange' || validationMode === 'onSubmit' && submitAttemptedRef.current);\n const formError = effectiveName && Object.hasOwn(errors, effectiveName) ? errors[effectiveName] : null;\n const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);\n const invalid = invalidProp === true || hasFormError;\n const [validityData, setValidityData] = React.useState({\n state: DEFAULT_VALIDITY_STATE,\n error: '',\n errors: [],\n value: null,\n initialValue: null\n });\n const valid = disabled ? null : !invalid && validityData.state.valid;\n const state = React.useMemo(() => ({\n disabled,\n touched,\n dirty,\n valid,\n filled,\n focused\n }), [disabled, touched, dirty, valid, filled, focused]);\n const validation = useFieldValidation({\n setValidityData,\n validate,\n validityData,\n validationDebounceTime,\n invalid,\n markedDirtyRef,\n state,\n shouldValidateOnChange,\n getRegisteredFieldId\n });\n const [validateFieldControl, registerFieldControl] = useFieldControlRegistration({\n commit: validation.commit,\n invalid,\n markedDirtyRef,\n name,\n setRegisteredFieldName,\n setRegisteredFieldId,\n setValidityData,\n validityData\n });\n React.useImperativeHandle(actionsRef, () => ({\n validate: validateFieldControl\n }), [validateFieldControl]);\n const contextValue = React.useMemo(() => ({\n invalid,\n name: effectiveName,\n validityData,\n setValidityData,\n disabled,\n touched,\n setTouched,\n dirty,\n setDirty,\n filled,\n setFilled,\n focused,\n setFocused,\n validate,\n validationMode,\n validationDebounceTime,\n shouldValidateOnChange,\n state,\n markedDirtyRef,\n registerFieldControl,\n validation\n }), [invalid, effectiveName, validityData, disabled, touched, setTouched, dirty, setDirty, filled, setFilled, focused, setFocused, validate, validationMode, validationDebounceTime, shouldValidateOnChange, state, registerFieldControl, validation]);\n const element = useRenderElement('div', componentProps, {\n ref: forwardedRef,\n state,\n props: elementProps,\n stateAttributesMapping: fieldValidityMapping\n });\n return /*#__PURE__*/_jsx(FieldRootContext.Provider, {\n value: contextValue,\n children: element\n });\n});\n\n/**\n * Groups all parts of the field.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Field](https://base-ui.com/react/components/field)\n */\nif (process.env.NODE_ENV !== \"production\") FieldRootInner.displayName = \"FieldRootInner\";\nexport const FieldRoot = /*#__PURE__*/React.forwardRef(function FieldRoot(componentProps, forwardedRef) {\n return /*#__PURE__*/_jsx(LabelableProvider, {\n children: /*#__PURE__*/_jsx(FieldRootInner, {\n ...componentProps,\n ref: forwardedRef\n })\n });\n});\nif (process.env.NODE_ENV !== \"production\") FieldRoot.displayName = \"FieldRoot\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const FieldsetRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") FieldsetRootContext.displayName = \"FieldsetRootContext\";\nexport function useFieldsetRootContext(optional = false) {\n const context = React.useContext(FieldsetRootContext);\n if (!context && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: FieldsetRootContext is missing. Fieldset parts must be placed within <Fieldset.Root>.' : _formatErrorMessage(86));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { useBaseUiId } from \"../useBaseUiId.mjs\";\nimport { LabelableContext, useLabelableContext } from \"./LabelableContext.mjs\";\n\n/**\n * @internal\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const LabelableProvider = function LabelableProvider(props) {\n const defaultId = useBaseUiId();\n const initialControlId = props.controlId === undefined ? defaultId : props.controlId;\n const [controlId, setControlIdState] = React.useState(initialControlId);\n const [labelId, setLabelId] = React.useState(props.labelId);\n const [messageIds, setMessageIds] = React.useState([]);\n const registrationsRef = useRefWithInit(() => new Map());\n const {\n messageIds: parentMessageIds\n } = useLabelableContext();\n const registerControlId = useStableCallback((source, nextId) => {\n const registrations = registrationsRef.current;\n if (nextId === undefined) {\n registrations.delete(source);\n return;\n }\n registrations.set(source, nextId);\n\n // Only flush when registering, not when unregistering.\n // This prevents loops during rapid unmount/remount cycles (e.g. React Activity).\n // The next registration will pick up the correct state.\n setControlIdState(prev => {\n if (registrations.size === 0) {\n return undefined;\n }\n let nextControlId;\n for (const id of registrations.values()) {\n if (prev !== undefined && id === prev) {\n return prev;\n }\n if (nextControlId === undefined) {\n nextControlId = id;\n }\n }\n return nextControlId;\n });\n });\n const getDescriptionProps = React.useCallback(externalProps => {\n const ids = externalProps['aria-describedby'] ? externalProps['aria-describedby'].split(' ') : [];\n ids.push(...parentMessageIds, ...messageIds);\n return {\n ...externalProps,\n 'aria-describedby': Array.from(new Set(ids)).join(' ') || undefined\n };\n }, [parentMessageIds, messageIds]);\n const contextValue = React.useMemo(() => ({\n controlId,\n registerControlId,\n labelId,\n setLabelId,\n messageIds,\n setMessageIds,\n getDescriptionProps\n }), [controlId, registerControlId, labelId, setLabelId, messageIds, setMessageIds, getDescriptionProps]);\n return /*#__PURE__*/_jsx(LabelableContext.Provider, {\n value: contextValue,\n children: props.children\n });\n};\nif (process.env.NODE_ENV !== \"production\") LabelableProvider.displayName = \"LabelableProvider\";","'use client';\n\nimport * as React from 'react';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { useLabelableContext } from \"../../internals/labelable-provider/LabelableContext.mjs\";\nimport { mergeProps } from \"../../merge-props/index.mjs\";\nimport { DEFAULT_VALIDITY_STATE } from \"../../internals/field-constants/constants.mjs\";\nimport { useFormContext } from \"../../internals/form-context/FormContext.mjs\";\nimport { getCombinedFieldValidityData } from \"../utils/getCombinedFieldValidityData.mjs\";\nconst validityKeys = Object.keys(DEFAULT_VALIDITY_STATE);\nfunction isOnlyValueMissing(state) {\n if (!state || state.valid || !state.valueMissing) {\n return false;\n }\n let onlyValueMissing = false;\n for (const key of validityKeys) {\n if (key === 'valid') {\n continue;\n }\n if (key === 'valueMissing') {\n onlyValueMissing = state[key];\n } else if (state[key]) {\n onlyValueMissing = false;\n }\n }\n return onlyValueMissing;\n}\n\n/**\n * Picks the input whose native validity should represent a field that owns several inputs (such as a\n * checkbox group). Prefers the first enabled currently-invalid input, where \"first\" follows Set\n * insertion order (mount order), and otherwise returns the first enabled input. Disabled inputs are\n * skipped because they don't participate in native constraint validation.\n */\nfunction findRepresentativeInput(inputs) {\n let fallback = null;\n for (const input of inputs) {\n if (input.disabled) {\n continue;\n }\n if (!input.validity.valid) {\n return input;\n }\n fallback ??= input;\n }\n return fallback;\n}\nfunction clearCustomValidity(element, inputs) {\n let didClearElement = false;\n for (const input of inputs) {\n input.setCustomValidity('');\n didClearElement ||= input === element;\n }\n if (!didClearElement) {\n element.setCustomValidity('');\n }\n}\nexport function useFieldValidation(params) {\n const {\n formRef\n } = useFormContext();\n const {\n setValidityData,\n validate,\n validityData,\n validationDebounceTime,\n invalid,\n markedDirtyRef,\n state,\n shouldValidateOnChange,\n getRegisteredFieldId\n } = params;\n const {\n controlId,\n getDescriptionProps\n } = useLabelableContext();\n const timeout = useTimeout();\n const inputRef = React.useRef(null);\n const registeredInputs = useRefWithInit(() => new Set()).current;\n const validationCommitIdRef = React.useRef(0);\n\n // Checkbox groups register several inputs against a single field. Track them so a `required`\n // checkbox can't be satisfied by another input in the group, matching native per-checkbox behavior.\n const registerInput = React.useCallback(element => {\n if (!element) {\n return undefined;\n }\n registeredInputs.add(element);\n return () => {\n registeredInputs.delete(element);\n };\n }, [registeredInputs]);\n const commit = useStableCallback(async (value, revalidate = false) => {\n // A field can own several inputs (a checkbox group), but only the last-mounted one wins the shared\n // `inputRef`. Validate against the registry instead so every input counts; `inputRef` is the\n // fallback only when no registered input applies (none registered, or all of them disabled).\n const element = findRepresentativeInput(registeredInputs) ?? inputRef.current;\n if (!element) {\n return;\n }\n validationCommitIdRef.current += 1;\n const validationCommitId = validationCommitIdRef.current;\n function updateRegisteredFieldValidity(nextValidityData, externalInvalid = invalid) {\n const fieldId = getRegisteredFieldId() ?? controlId;\n if (fieldId == null) {\n return;\n }\n const currentFieldData = formRef.current.fields.get(fieldId);\n if (!currentFieldData) {\n return;\n }\n const validityDataWithFormErrors = getCombinedFieldValidityData(nextValidityData, externalInvalid);\n formRef.current.fields.set(fieldId, {\n ...currentFieldData,\n validityData: validityDataWithFormErrors\n });\n }\n if (revalidate) {\n if (state.valid !== false) {\n return;\n }\n const currentNativeValidity = element.validity;\n if (!currentNativeValidity.valueMissing) {\n // The 'valueMissing' (required) condition has been resolved by the user typing.\n // Temporarily mark the field as valid for this onChange event.\n // Other native errors (e.g., typeMismatch) will be caught by full validation on blur or submit.\n const nextValidityData = {\n value,\n state: {\n ...DEFAULT_VALIDITY_STATE,\n valid: true\n },\n error: '',\n errors: [],\n initialValue: validityData.initialValue\n };\n clearCustomValidity(element, registeredInputs);\n\n // The required value is now present; ignore stale external invalid state for this pass.\n updateRegisteredFieldValidity(nextValidityData, false);\n setValidityData(nextValidityData);\n return;\n }\n\n // Value is still missing, or other conditions apply.\n // Let's use a representation of current validity for isOnlyValueMissing.\n const currentNativeValidityObject = validityKeys.reduce((acc, key) => {\n acc[key] = currentNativeValidity[key];\n return acc;\n }, {});\n\n // If it's (still) natively invalid due to something other than just valueMissing,\n // then bail from this revalidation on change to avoid \"scolding\" for other errors.\n if (!currentNativeValidityObject.valid && !isOnlyValueMissing(currentNativeValidityObject)) {\n return;\n }\n\n // If valueMissing is still true AND it's the only issue, or if the field is now natively valid,\n // let it fall through to the main validation logic below.\n }\n function getState(el) {\n const computedState = validityKeys.reduce((acc, key) => {\n acc[key] = el.validity[key];\n return acc;\n }, {});\n let hasOnlyValueMissingError = false;\n for (const key of validityKeys) {\n if (key === 'valid') {\n continue;\n }\n if (key === 'valueMissing' && computedState[key]) {\n hasOnlyValueMissingError = true;\n } else if (computedState[key]) {\n return computedState;\n }\n }\n\n // Only make `valueMissing` mark the field invalid if it's been changed\n // to reduce error noise.\n if (hasOnlyValueMissingError && !markedDirtyRef.current) {\n computedState.valid = true;\n computedState.valueMissing = false;\n }\n return computedState;\n }\n timeout.clear();\n let result = null;\n let validationErrors = [];\n const nextState = getState(element);\n let defaultValidationMessage;\n const isValidatingOnChange = shouldValidateOnChange();\n if (element.validationMessage && !isValidatingOnChange) {\n // not validating on change, if there is a `validationMessage` from\n // native validity, set errors and skip calling the custom validate fn\n defaultValidationMessage = element.validationMessage;\n validationErrors = [element.validationMessage];\n } else {\n // call the validate function because either\n // - validating on change, or\n // - native constraint validations passed, custom validity check is next\n const formValues = Array.from(formRef.current.fields.values()).reduce((acc, field) => {\n if (field.name) {\n acc[field.name] = field.getValue();\n }\n return acc;\n }, {});\n const resultOrPromise = validate(value, formValues);\n if (typeof resultOrPromise === 'object' && resultOrPromise !== null && 'then' in resultOrPromise) {\n result = await resultOrPromise;\n if (validationCommitId !== validationCommitIdRef.current) {\n return;\n }\n } else {\n result = resultOrPromise;\n }\n if (result !== null) {\n nextState.valid = false;\n nextState.customError = true;\n if (Array.isArray(result)) {\n validationErrors = result;\n element.setCustomValidity(result.join('\\n'));\n } else if (result) {\n validationErrors = [result];\n element.setCustomValidity(result);\n }\n } else if (isValidatingOnChange) {\n // validate function returned no errors, if validating on change\n // we need to clear the custom validity state\n clearCustomValidity(element, registeredInputs);\n nextState.customError = false;\n if (element.validationMessage) {\n defaultValidationMessage = element.validationMessage;\n validationErrors = [element.validationMessage];\n } else if (element.validity.valid && !nextState.valid) {\n nextState.valid = true;\n }\n }\n }\n const nextValidityData = {\n value,\n state: nextState,\n error: defaultValidationMessage ?? (Array.isArray(result) ? result[0] : result ?? ''),\n errors: validationErrors,\n initialValue: validityData.initialValue\n };\n\n // Keep Form-level errors part of overall field validity for submit blocking/focus logic.\n updateRegisteredFieldValidity(nextValidityData);\n setValidityData(nextValidityData);\n });\n const change = useStableCallback(value => {\n timeout.clear();\n const validateOnChange = shouldValidateOnChange();\n if (validateOnChange && value !== '' && validationDebounceTime) {\n validationCommitIdRef.current += 1;\n timeout.start(validationDebounceTime, () => {\n commit(value);\n });\n } else {\n commit(value, !validateOnChange);\n }\n });\n const getValidationProps = React.useCallback((disabled, externalProps = {}) => mergeProps(getDescriptionProps(externalProps), state.valid === false && !state.disabled && !disabled ? {\n 'aria-invalid': true\n } : EMPTY_OBJECT), [getDescriptionProps, state.disabled, state.valid]);\n return React.useMemo(() => ({\n getValidationProps,\n inputRef,\n registerInput,\n commit,\n change\n }), [getValidationProps, registerInput, commit, change]);\n}","/**\n * Combines the field's client-side, stateful validity data with the external invalid state to\n * determine the field's true validity.\n */\nexport function getCombinedFieldValidityData(validityData, invalid) {\n return {\n ...validityData,\n state: {\n ...validityData.state,\n valid: !invalid && validityData.state.valid\n }\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { getCombinedFieldValidityData } from \"../../field/utils/getCombinedFieldValidityData.mjs\";\nimport { useFormContext } from \"../form-context/FormContext.mjs\";\nexport function useFieldControlRegistration(params) {\n const {\n commit,\n invalid,\n markedDirtyRef,\n name,\n setRegisteredFieldName,\n setRegisteredFieldId,\n setValidityData,\n validityData\n } = params;\n const {\n formRef\n } = useFormContext();\n const activeFieldControlSourceRef = React.useRef(null);\n const registrationRef = React.useRef(null);\n const fallbackControlRef = React.useRef(null);\n const getValueForForm = useStableCallback(() => {\n const registration = registrationRef.current;\n if (!registration) {\n return undefined;\n }\n if (registration.getValue) {\n return registration.getValue();\n }\n return registration.value;\n });\n function getRegistrationValue(registration) {\n return registration.value === undefined ? getValueForForm() : registration.value;\n }\n const validate = useStableCallback(() => {\n const registration = registrationRef.current;\n markedDirtyRef.current = true;\n if (!registration) {\n commit(validityData.value);\n return;\n }\n commit(getRegistrationValue(registration));\n });\n function refreshRegistration() {\n const registration = registrationRef.current;\n if (!registration || !registration.id) {\n return;\n }\n formRef.current.fields.set(registration.id, {\n getValue: getValueForForm,\n name: name ?? registration.name,\n controlRef: registration.controlRef ?? fallbackControlRef,\n validityData: getCombinedFieldValidityData(validityData, invalid),\n validate\n });\n }\n function deleteRegistration(id = registrationRef.current?.id) {\n if (id) {\n formRef.current.fields.delete(id);\n }\n }\n function syncInitialValue() {\n const registration = registrationRef.current;\n if (!registration) {\n return;\n }\n const initialValue = getRegistrationValue(registration);\n if (validityData.initialValue === null && initialValue !== null) {\n setValidityData(prev => ({\n ...prev,\n initialValue\n }));\n }\n }\n useIsoLayoutEffect(() => {\n const registration = registrationRef.current;\n if (!registration || !registration.id) {\n return;\n }\n setRegisteredFieldName(name ? undefined : registration.name);\n formRef.current.fields.set(registration.id, {\n getValue: getValueForForm,\n name: name ?? registration.name,\n controlRef: registration.controlRef ?? fallbackControlRef,\n validityData: getCombinedFieldValidityData(validityData, invalid),\n validate\n });\n }, [formRef, getValueForForm, invalid, name, setRegisteredFieldName, validate, validityData]);\n useIsoLayoutEffect(() => {\n const fields = formRef.current.fields;\n return () => {\n const id = registrationRef.current?.id;\n if (id) {\n fields.delete(id);\n }\n };\n }, [formRef]);\n const register = useStableCallback((source, registration) => {\n if (!registration) {\n if (activeFieldControlSourceRef.current === source) {\n activeFieldControlSourceRef.current = null;\n deleteRegistration();\n registrationRef.current = null;\n setRegisteredFieldName(undefined);\n setRegisteredFieldId(undefined);\n }\n return;\n }\n const previousId = registrationRef.current?.id;\n activeFieldControlSourceRef.current = source;\n registrationRef.current = registration;\n if (!name) {\n setRegisteredFieldName(registration.name);\n }\n setRegisteredFieldId(registration.id);\n if (previousId && previousId !== registration.id) {\n deleteRegistration(previousId);\n }\n syncInitialValue();\n refreshRegistration();\n });\n return [validate, register];\n}","'use client';\n\nimport * as React from 'react';\nimport { error } from '@base-ui/utils/error';\nimport { SafeReact } from '@base-ui/utils/safeReact';\nimport { useFieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { fieldValidityMapping } from \"../../internals/field-constants/constants.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useLabelableContext } from \"../../internals/labelable-provider/LabelableContext.mjs\";\nimport { useLabel } from \"../../internals/labelable-provider/useLabel.mjs\";\nimport { useFieldItemContext } from \"../item/FieldItemContext.mjs\";\n\n/**\n * An accessible label that is automatically associated with the field control.\n * Renders a `<label>` element.\n *\n * Documentation: [Base UI Field](https://base-ui.com/react/components/field)\n */\nexport const FieldLabel = /*#__PURE__*/React.forwardRef(function FieldLabel(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n id: idProp,\n nativeLabel = true,\n ...elementProps\n } = componentProps;\n const fieldRootContext = useFieldRootContext(false);\n const fieldItemContext = useFieldItemContext();\n const {\n labelId\n } = useLabelableContext();\n const state = {\n ...fieldRootContext.state,\n disabled: fieldRootContext.disabled || fieldItemContext.disabled\n };\n const labelRef = React.useRef(null);\n const labelProps = useLabel({\n id: labelId ?? idProp,\n native: nativeLabel\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!labelRef.current) {\n return;\n }\n const isLabelTag = labelRef.current.tagName === 'LABEL';\n if (nativeLabel) {\n if (!isLabelTag) {\n const ownerStackMessage = SafeReact.captureOwnerStack?.() || '';\n const message = '<Field.Label> expected a <label> element because the `nativeLabel` prop is true. ' + 'Rendering a non-<label> disables native label association, so `htmlFor` will not ' + 'work. Use a real <label> in the `render` prop, or set `nativeLabel` to `false`.';\n error(`${message}${ownerStackMessage}`);\n }\n } else if (isLabelTag) {\n const ownerStackMessage = SafeReact.captureOwnerStack?.() || '';\n const message = '<Field.Label> expected a non-<label> element because the `nativeLabel` prop is false. ' + 'Rendering a <label> assumes native label behavior while Base UI treats it as ' + 'non-native, which can cause unexpected pointer behavior. Use a non-<label> in the ' + '`render` prop, or set `nativeLabel` to `true`.';\n error(`${message}${ownerStackMessage}`);\n }\n }, [nativeLabel]);\n }\n const element = useRenderElement('label', componentProps, {\n ref: [forwardedRef, labelRef],\n state,\n props: [labelProps, elementProps],\n stateAttributesMapping: fieldValidityMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") FieldLabel.displayName = \"FieldLabel\";","'use client';\n\nimport * as React from 'react';\nexport const FieldItemContext = /*#__PURE__*/React.createContext({\n disabled: false\n});\nif (process.env.NODE_ENV !== \"production\") FieldItemContext.displayName = \"FieldItemContext\";\nexport function useFieldItemContext() {\n const context = React.useContext(FieldItemContext);\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { useLabelableContext } from \"../../internals/labelable-provider/LabelableContext.mjs\";\nimport { fieldValidityMapping } from \"../../internals/field-constants/constants.mjs\";\nimport { useFormContext } from \"../../internals/form-context/FormContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useOpenChangeComplete } from \"../../internals/useOpenChangeComplete.mjs\";\nimport { transitionStatusMapping } from \"../../internals/stateAttributesMapping.mjs\";\nimport { useTransitionStatus } from \"../../internals/useTransitionStatus.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst stateAttributesMapping = {\n ...fieldValidityMapping,\n ...transitionStatusMapping\n};\n\n/**\n * An error message displayed if the field control fails validation.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Field](https://base-ui.com/react/components/field)\n */\nexport const FieldError = /*#__PURE__*/React.forwardRef(function FieldError(componentProps, forwardedRef) {\n const {\n render,\n id: idProp,\n className,\n match,\n style,\n ...elementProps\n } = componentProps;\n const id = useBaseUiId(idProp);\n const {\n validityData,\n state: fieldState,\n name\n } = useFieldRootContext(false);\n const {\n setMessageIds\n } = useLabelableContext();\n const {\n errors\n } = useFormContext();\n const formError = name && Object.hasOwn(errors, name) ? errors[name] : null;\n const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);\n const hasSpecificMatch = typeof match === 'string';\n let rendered = false;\n if (match === true) {\n rendered = true;\n } else if (fieldState.disabled) {\n rendered = false;\n } else if (hasSpecificMatch) {\n rendered = Boolean(validityData.state[match]);\n } else {\n rendered = hasFormError || validityData.state.valid === false;\n }\n const {\n mounted,\n transitionStatus,\n setMounted\n } = useTransitionStatus(rendered);\n useIsoLayoutEffect(() => {\n if (!rendered || !id) {\n return undefined;\n }\n setMessageIds(v => v.concat(id));\n return () => {\n setMessageIds(v => v.filter(item => item !== id));\n };\n }, [rendered, id, setMessageIds]);\n const errorRef = React.useRef(null);\n const [lastRenderedMessage, setLastRenderedMessage] = React.useState(null);\n const [lastRenderedMessageKey, setLastRenderedMessageKey] = React.useState(null);\n let error = validityData.error;\n if (!hasSpecificMatch && hasFormError) {\n error = formError;\n } else if (validityData.errors.length > 1) {\n error = validityData.errors;\n }\n let errorMessage = error ?? '';\n if (Array.isArray(error)) {\n errorMessage = error.length > 1 ? /*#__PURE__*/_jsx(\"ul\", {\n children: error.map(message => /*#__PURE__*/_jsx(\"li\", {\n children: message\n }, message))\n }) : error[0] ?? '';\n }\n const errorKey = Array.isArray(error) ? JSON.stringify(error) : error;\n if (rendered && errorKey !== lastRenderedMessageKey) {\n setLastRenderedMessageKey(errorKey);\n setLastRenderedMessage(errorMessage);\n }\n useOpenChangeComplete({\n open: rendered,\n ref: errorRef,\n onComplete() {\n if (!rendered) {\n setMounted(false);\n }\n }\n });\n const state = {\n ...fieldState,\n transitionStatus\n };\n const element = useRenderElement('div', componentProps, {\n ref: [forwardedRef, errorRef],\n state,\n props: [{\n id,\n children: rendered ? errorMessage : lastRenderedMessage\n }, elementProps],\n stateAttributesMapping,\n enabled: mounted\n });\n if (!mounted) {\n return null;\n }\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") FieldError.displayName = \"FieldError\";","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { useLabelableContext } from \"../../internals/labelable-provider/LabelableContext.mjs\";\nimport { fieldValidityMapping } from \"../../internals/field-constants/constants.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useFieldItemContext } from \"../item/FieldItemContext.mjs\";\n\n/**\n * A paragraph with additional information about the field.\n * Renders a `<p>` element.\n *\n * Documentation: [Base UI Field](https://base-ui.com/react/components/field)\n */\nexport const FieldDescription = /*#__PURE__*/React.forwardRef(function FieldDescription(componentProps, forwardedRef) {\n const {\n render,\n id: idProp,\n className,\n style,\n ...elementProps\n } = componentProps;\n const id = useBaseUiId(idProp);\n const fieldRootContext = useFieldRootContext(false);\n const fieldItemContext = useFieldItemContext();\n const {\n setMessageIds\n } = useLabelableContext();\n const state = {\n ...fieldRootContext.state,\n disabled: fieldRootContext.disabled || fieldItemContext.disabled\n };\n useIsoLayoutEffect(() => {\n if (!id) {\n return undefined;\n }\n setMessageIds(v => v.concat(id));\n return () => {\n setMessageIds(v => v.filter(item => item !== id));\n };\n }, [id, setMessageIds]);\n const element = useRenderElement('p', componentProps, {\n ref: forwardedRef,\n state,\n props: [{\n id\n }, elementProps],\n stateAttributesMapping: fieldValidityMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") FieldDescription.displayName = \"FieldDescription\";","'use client';\n\nimport * as React from 'react';\nimport { useControlled } from '@base-ui/utils/useControlled';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useFieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { useRegisterFieldControl } from \"../../internals/field-register-control/useRegisterFieldControl.mjs\";\nimport { useFormContext } from \"../../internals/form-context/FormContext.mjs\";\nimport { useLabelableContext } from \"../../internals/labelable-provider/LabelableContext.mjs\";\nimport { useLabelableId } from \"../../internals/labelable-provider/useLabelableId.mjs\";\nimport { fieldValidityMapping } from \"../../internals/field-constants/constants.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { activeElement } from \"../../floating-ui-react/utils.mjs\";\n\n/**\n * The form control to label and validate.\n * Renders an `<input>` element.\n *\n * You can omit this part and use any Base UI input component instead. For example,\n * [Input](https://base-ui.com/react/components/input), [Checkbox](https://base-ui.com/react/components/checkbox),\n * or [Select](https://base-ui.com/react/components/select), among others, will work with Field out of the box.\n *\n * Documentation: [Base UI Field](https://base-ui.com/react/components/field)\n */\nexport const FieldControl = /*#__PURE__*/React.forwardRef(function FieldControl(componentProps, forwardedRef) {\n const {\n render,\n className,\n id: idProp,\n name: nameProp,\n value: valueProp,\n disabled: disabledProp = false,\n onValueChange,\n defaultValue,\n autoFocus = false,\n style,\n ...elementProps\n } = componentProps;\n const {\n state: fieldState,\n name: fieldName,\n disabled: fieldDisabled,\n setTouched,\n setDirty,\n validityData,\n setFocused,\n setFilled,\n validationMode,\n validation\n } = useFieldRootContext();\n const {\n clearErrors\n } = useFormContext();\n const disabled = fieldDisabled || disabledProp;\n const name = fieldName ?? nameProp;\n const state = {\n ...fieldState,\n disabled\n };\n const {\n labelId\n } = useLabelableContext();\n const id = useLabelableId({\n id: idProp\n });\n useIsoLayoutEffect(() => {\n const hasExternalValue = valueProp != null;\n if (validation.inputRef.current?.value || hasExternalValue && valueProp !== '') {\n setFilled(true);\n } else if (hasExternalValue && valueProp === '') {\n setFilled(false);\n }\n }, [validation.inputRef, setFilled, valueProp]);\n const inputRef = React.useRef(null);\n useIsoLayoutEffect(() => {\n if (autoFocus && inputRef.current === activeElement(ownerDocument(inputRef.current))) {\n setFocused(true);\n }\n }, [autoFocus, setFocused]);\n const [valueUnwrapped] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'FieldControl',\n state: 'value'\n });\n const isControlled = valueProp !== undefined;\n const value = isControlled ? valueUnwrapped : undefined;\n const getValueFromInput = useStableCallback(() => validation.inputRef.current?.value);\n useRegisterFieldControl(validation.inputRef, id, value, getValueFromInput, !disabled, nameProp);\n const element = useRenderElement('input', componentProps, {\n ref: [forwardedRef, inputRef],\n state,\n props: [{\n id,\n disabled,\n name,\n ref: validation.inputRef,\n 'aria-labelledby': labelId,\n autoFocus,\n ...(isControlled ? {\n value\n } : {\n defaultValue\n }),\n onChange(event) {\n const inputValue = event.currentTarget.value;\n onValueChange?.(inputValue, createChangeEventDetails(REASONS.none, event.nativeEvent));\n // `validation.change` reads `markedDirtyRef`, so update dirty before validating.\n setDirty(inputValue !== validityData.initialValue);\n setFilled(inputValue !== '');\n\n // Workaround for https://github.com/facebook/react/issues/9023\n if (!event.nativeEvent.defaultPrevented) {\n clearErrors(name);\n validation.change(inputValue);\n }\n },\n onFocus() {\n setFocused(true);\n },\n onBlur(event) {\n setTouched(true);\n setFocused(false);\n if (validationMode === 'onBlur') {\n validation.commit(event.currentTarget.value);\n }\n },\n onKeyDown(event) {\n if (event.currentTarget.tagName === 'INPUT' && event.key === 'Enter') {\n setTouched(true);\n validation.commit(event.currentTarget.value);\n }\n }\n }, elementProps, props => validation.getValidationProps(disabled, props)],\n stateAttributesMapping: fieldValidityMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") FieldControl.displayName = \"FieldControl\";","'use client';\n\nimport * as React from 'react';\nimport { useFieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { getCombinedFieldValidityData } from \"../utils/getCombinedFieldValidityData.mjs\";\nimport { useTransitionStatus } from \"../../internals/useTransitionStatus.mjs\";\n\n/**\n * Used to display a custom message based on the field's validity.\n * Requires `children` to be a function that accepts field validity state as an argument.\n *\n * Documentation: [Base UI Field](https://base-ui.com/react/components/field)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const FieldValidity = function FieldValidity(props) {\n const {\n children\n } = props;\n const {\n validityData,\n invalid\n } = useFieldRootContext(false);\n const combinedFieldValidityData = React.useMemo(() => getCombinedFieldValidityData(validityData, invalid), [validityData, invalid]);\n const isInvalid = combinedFieldValidityData.state.valid === false;\n const {\n transitionStatus\n } = useTransitionStatus(isInvalid);\n const fieldValidityState = React.useMemo(() => {\n return {\n ...combinedFieldValidityData,\n validity: combinedFieldValidityData.state,\n transitionStatus\n };\n }, [combinedFieldValidityData, transitionStatus]);\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: children(fieldValidityState)\n });\n};\nif (process.env.NODE_ENV !== \"production\") FieldValidity.displayName = \"FieldValidity\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const CheckboxGroupContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") CheckboxGroupContext.displayName = \"CheckboxGroupContext\";\nexport function useCheckboxGroupContext(optional = true) {\n const context = React.useContext(CheckboxGroupContext);\n if (context === undefined && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: CheckboxGroupContext is missing. CheckboxGroup parts must be placed within <CheckboxGroup>.' : _formatErrorMessage(3));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { useFieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { fieldValidityMapping } from \"../../internals/field-constants/constants.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { FieldItemContext } from \"./FieldItemContext.mjs\";\nimport { LabelableProvider } from \"../../internals/labelable-provider/index.mjs\";\nimport { useCheckboxGroupContext } from \"../../checkbox-group/CheckboxGroupContext.mjs\";\n\n/**\n * Groups individual items in a checkbox group or radio group with a label and description.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Field](https://base-ui.com/react/components/field)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const FieldItem = /*#__PURE__*/React.forwardRef(function FieldItem(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n disabled: disabledProp = false,\n ...elementProps\n } = componentProps;\n const {\n state: fieldState,\n disabled: rootDisabled\n } = useFieldRootContext(false);\n const disabled = rootDisabled || disabledProp;\n const state = {\n ...fieldState,\n disabled\n };\n const checkboxGroupContext = useCheckboxGroupContext();\n const hasParentCheckbox = checkboxGroupContext?.allValues !== undefined;\n const controlId = hasParentCheckbox ? checkboxGroupContext?.parent.id : undefined;\n const fieldItemContext = React.useMemo(() => ({\n disabled\n }), [disabled]);\n const element = useRenderElement('div', componentProps, {\n ref: forwardedRef,\n state,\n props: elementProps,\n stateAttributesMapping: fieldValidityMapping\n });\n return /*#__PURE__*/_jsx(LabelableProvider, {\n controlId: controlId,\n children: /*#__PURE__*/_jsx(FieldItemContext.Provider, {\n value: fieldItemContext,\n children: element\n })\n });\n});\nif (process.env.NODE_ENV !== \"production\") FieldItem.displayName = \"FieldItem\";","\"use client\"\n\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n ...props\n}: SeparatorPrimitive.Props) {\n return (\n <SeparatorPrimitive\n data-slot=\"separator\"\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"],"names":["CompositeRootContext","undefined","useCompositeRootContext","optional","context","Error","Button","componentProps","forwardedRef","render","className","disabled","focusableWhenDisabled","nativeButton","style","elementProps","getButtonProps","buttonRef","native","state","ref","props","falsyToString","value","cx","cva","base","config","_config_compoundVariants","variants","class","defaultVariants","getVariantClassNames","Object","keys","map","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","entries","reduce","acc","param","key","getCompoundVariantClassNames","compoundVariants","cvClass","cvClassName","compoundVariantOptions","every","Array","isArray","includes","buttonVariants","default","outline","secondary","ghost","destructive","link","size","xs","sm","lg","icon","useControlled","controlled","defaultProp","name","current","isControlled","valueState","setValue","setValueIfUncontrolled","newValue","serializeToDevModeString","input","nextId","seen","WeakMap","result","JSON","stringify","replacer","id","get","set","useClick","enabled","event","eventOption","toggle","ignoreMouse","stickIfOpen","touchOpenDelay","reason","triggerPress","store","rootStore","dataRef","pointerTypeRef","frame","touchOpenTimeout","reference","setOpenWithTouchDelay","nextOpen","nativeEvent","target","pointerType","details","start","setOpen","getNextOpen","open","currentTarget","isClickLikeOpenEvent","openEvent","hasClickedOnInactiveTrigger","select","type","onPointerDown","onMouseDown","button","openEventType","eventCurrentTarget","request","onClick","onKeyDown","FieldControlDataAttributes","useRegisterFieldControl","controlRef","getFormValueOverride","registerFieldControl","sourceRef","Symbol","source","registration","getValue","LabelableContext","controlId","registerControlId","labelId","setLabelId","messageIds","setMessageIds","getDescriptionProps","externalProps","useLabelableContext","useLabelableId","params","implicit","defaultId","controlIdForEffect","controlSourceRef","hasRegisteredRef","hadExplicitIdRef","unregisterControlId","elem","closest","FormContext","formRef","fields","Map","errors","clearErrors","validationMode","submitAttemptedRef","useFormContext","useEnhancedClickHandler","handler","lastClickInteractionTypeRef","handlePointerDown","defaultPrevented","handleClick","detail","useRegisteredLabelId","idProp","InternalBackdrop","cutout","otherProps","clipPath","rect","getBoundingClientRect","left","top","bottom","right","role","position","inset","userSelect","WebkitUserSelect","originalHtmlStyles","originalBodyStyles","originalHtmlScrollBehavior","hasInsetScrollbars","referenceElement","document","doc","win","innerWidth","documentElement","clientWidth","supportsStableScrollbarGutter","supported","CSS","supports","html","body","scrollContainer","originalScrollContainerOverflowY","overflowY","originalHtmlStyleGutter","scrollbarGutter","before","offsetWidth","after","preventScrollOverlayScrollbars","elementToLock","originalElementToLockStyles","overflowX","assign","preventScrollInsetScrollbars","scrollTop","scrollLeft","updateGutterOnly","resizeFrame","create","engine","webkit","visualViewport","scale","lockScroll","htmlStyles","getComputedStyle","bodyStyles","htmlScrollbarGutterValue","hasBothEdges","scrollbarGutterValue","scrollBehavior","height","width","boxSizing","isScrollableY","scrollHeight","clientHeight","isScrollableX","scrollWidth","hasConstantOverflowY","hasConstantOverflowX","scrollbarWidth","Math","max","scrollbarHeight","innerHeight","marginY","parseFloat","marginTop","marginBottom","marginX","marginLeft","marginRight","overflow","setAttribute","cleanup","removeAttribute","handleResize","unsubscribeResize","cancel","removeEventListener","ScrollLocker","lockCount","restore","timeoutLock","timeoutUnlock","acquire","lock","release","unlock","htmlOverflowY","hasOverlayScrollbars","os","ios","SCROLL_LOCKER","useScrollLock","rafId","enqueueFocus","el","options","preventScroll","sync","shouldFocus","cancelAnimationFrame","exec","focus","currentRafId","requestAnimationFrame","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","HOME","END","PAGE_UP","PAGE_DOWN","HORIZONTAL_KEYS","Set","HORIZONTAL_KEYS_WITH_EXTRA_KEYS","VERTICAL_KEYS","VERTICAL_KEYS_WITH_EXTRA_KEYS","ARROW_KEYS","COMPOSITE_KEYS","SHIFT","CONTROL","ALT","META","MODIFIER_KEYS","isInputElement","element","tagName","isNativeInput","selectionStart","scrollIntoViewIfNeeded","direction","orientation","scrollTo","targetX","targetY","isOverflowingX","isOverflowingY","elementOffsetLeft","getOffset","containerStyles","getStyles","elementStyles","scrollMarginRight","scrollPaddingRight","scrollMarginLeft","scrollPaddingLeft","elementOffsetTop","scrollMarginTop","scrollPaddingTop","offsetHeight","scrollMarginBottom","scrollPaddingBottom","behavior","ancestor","side","propName","offsetParent","styles","Separator","SeparatorComponent","DialogPopupCssVars","DialogPortal","keepMounted","portalProps","mounted","useState","modal","shouldRender","Provider","children","internalBackdropRef","inert","useDialogRoot","actionsRef","forceUnmount","handleImperativeClose","imperativeAction","unmount","close","DialogInteractions","parentContext","isDrawer","disablePointerDismissal","popupElement","floatingRootContext","ownNestedOpenDialogs","setOwnNestedOpenDialogs","ownNestedOpenDrawers","setOwnNestedOpenDrawers","isTopmost","dismiss","outsidePressEvent","backdropRef","mouse","touch","outsidePress","outsidePressEnabledRef","touches","length","hasAttribute","escapeKey","useContextCallback","dialogCount","drawerCount","onNestedDialogOpen","onNestedDialogClose","activeTriggerProps","inactiveTriggerProps","trigger","popupProps","floating","nestedOpenDialogCount","nestedOpenDrawerCount","DialogTrigger","payload","handle","dialogRootContext","thisTriggerId","floatingContext","isOpenedByThisTrigger","popupId","triggerElementRef","registerTrigger","isMountedByThisTrigger","click","interactionTypeProps","interactionType","rootTriggerProps","stateAttributesMapping"],"mappings":"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","ignoreList":[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]}
|