@exulu/frontend 1.3.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +185 -174
- package/dist/.next/app-path-routes-manifest.json +1 -1
- package/dist/.next/build-manifest.json +2 -2
- package/dist/.next/prerender-manifest.json +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page.js +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/agents/page.js +1 -2
- package/dist/.next/server/app/(application)/agents/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/page.js +1 -1
- package/dist/.next/server/app/(application)/chat/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/configuration/page.js +1 -1
- package/dist/.next/server/app/(application)/configuration/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/dashboard/page.js +5 -1
- package/dist/.next/server/app/(application)/dashboard/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js +5 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/runs/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/runs/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/runs/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/explorer/page.js +1 -1
- package/dist/.next/server/app/(application)/explorer/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/jobs/page.js +1 -1
- package/dist/.next/server/app/(application)/jobs/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/jobs/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/keys/page.js +1 -1
- package/dist/.next/server/app/(application)/keys/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/page.js +1 -1
- package/dist/.next/server/app/(application)/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/page.js +1 -1
- package/dist/.next/server/app/(application)/projects/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/roles/page.js +1 -1
- package/dist/.next/server/app/(application)/roles/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/token/page.js +1 -1
- package/dist/.next/server/app/(application)/token/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/users/page.js +1 -1
- package/dist/.next/server/app/(application)/users/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/create/page.js +1 -1
- package/dist/.next/server/app/(application)/variables/create/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/page.js +1 -1
- package/dist/.next/server/app/(application)/variables/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/workflows/page.js +1 -1
- package/dist/.next/server/app/(application)/workflows/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +1 -1
- package/dist/.next/server/app/api/auth/[...nextauth]/route.js +9 -9
- package/dist/.next/server/app-paths-manifest.json +5 -5
- package/dist/.next/server/chunks/1051.js +16 -16
- package/dist/.next/server/chunks/2270.js +188 -100
- package/dist/.next/server/chunks/{8838.js → 2875.js} +1 -1
- package/dist/.next/server/chunks/2916.js +1 -1
- package/dist/.next/server/chunks/3503.js +1 -0
- package/dist/.next/server/chunks/{7544.js → 4552.js} +1 -1
- package/dist/.next/server/chunks/{3393.js → 4739.js} +1 -1
- package/dist/.next/server/chunks/5192.js +1 -1
- package/dist/.next/server/chunks/5999.js +2 -0
- package/dist/.next/server/chunks/6282.js +1 -0
- package/dist/.next/server/chunks/6623.js +1 -0
- package/dist/.next/server/chunks/7721.js +1 -0
- package/dist/.next/server/chunks/7944.js +2 -2
- package/dist/.next/server/chunks/8050.js +1 -0
- package/dist/.next/server/chunks/8206.js +1 -0
- package/dist/.next/server/chunks/8679.js +5 -0
- package/dist/.next/server/middleware-manifest.json +5 -5
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/1294-368dc8ec59054da4.js +2 -0
- package/dist/.next/static/chunks/1294-368dc8ec59054da4.js.map +1 -0
- package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js → 1645-570e014100772437.js} +1 -1
- package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js.map → 1645-570e014100772437.js.map} +1 -1
- package/dist/.next/static/chunks/1957-5867716304ecd208.js +2 -0
- package/dist/.next/static/chunks/1957-5867716304ecd208.js.map +1 -0
- package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js → 2293-1681cdef5b8c0c0b.js} +1 -1
- package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js.map → 2293-1681cdef5b8c0c0b.js.map} +1 -1
- package/dist/.next/static/chunks/3475-28ce4fce960656bd.js +2 -0
- package/dist/.next/static/chunks/3475-28ce4fce960656bd.js.map +1 -0
- package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js +2 -0
- package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js.map +1 -0
- package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js → 4386-c7690667749bff6a.js} +1 -1
- package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js.map → 4386-c7690667749bff6a.js.map} +1 -1
- package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js +2 -0
- package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js.map +1 -0
- package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js +2 -0
- package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js.map +1 -0
- package/dist/.next/static/chunks/5978-814d6900645d2fcc.js +2 -0
- package/dist/.next/static/chunks/5978-814d6900645d2fcc.js.map +1 -0
- package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js +2 -0
- package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js.map +1 -0
- package/dist/.next/static/chunks/{7564-44a20b31206685e1.js → 6545-5a1d7cf4d5ca770e.js} +21 -21
- package/dist/.next/static/chunks/6545-5a1d7cf4d5ca770e.js.map +1 -0
- package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js +2 -0
- package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js.map +1 -0
- package/dist/.next/static/chunks/723-94e596796cbf911d.js +2 -0
- package/dist/.next/static/chunks/723-94e596796cbf911d.js.map +1 -0
- package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js +2 -0
- package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js.map +1 -0
- package/dist/.next/static/chunks/8269-37dd07515eb44201.js +2 -0
- package/dist/.next/static/chunks/8269-37dd07515eb44201.js.map +1 -0
- package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js +2 -0
- package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js.map +1 -0
- package/dist/.next/static/chunks/8824-20030459012376a3.js +2 -0
- package/dist/.next/static/chunks/8824-20030459012376a3.js.map +1 -0
- package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js +2 -0
- package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js.map +1 -0
- package/dist/.next/static/chunks/9183-a51605ff26b92fed.js +41 -0
- package/dist/.next/static/chunks/9183-a51605ff26b92fed.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js +2 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js → page-63643deabdaa6b2c.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js.map → page-63643deabdaa6b2c.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/{page-3807a8bc2ae87548.js → page-62c7321ba26632af.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-62c7321ba26632af.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js → layout-5eb1d22ddcbc0b55.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js.map → layout-5eb1d22ddcbc0b55.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js → page-8f92af5318feb84f.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js.map → page-8f92af5318feb84f.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js +2 -0
- package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js → page-ef82e92ca7d0da6c.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js.map → page-ef82e92ca7d0da6c.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js +2 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js → page-6246be9d6592d1d3.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js.map → page-6246be9d6592d1d3.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js → page-b1e1fd7dba1e675f.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js.map → page-b1e1fd7dba1e675f.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js → page-a96441a0bc654d68.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js.map → page-a96441a0bc654d68.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js → page-163aadfe9ad0d794.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js.map → page-163aadfe9ad0d794.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js → layout-694c53aca85ef437.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js.map → layout-694c53aca85ef437.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js +2 -0
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js → layout-d7642b25bf6d33b3.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js.map → layout-d7642b25bf6d33b3.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js +2 -0
- package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js → page-b862cb199fd72525.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js.map → page-b862cb199fd72525.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js → page-d79d5c1c1ecabdb5.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js.map → page-d79d5c1c1ecabdb5.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js → page-72cf3aa95776ab96.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js.map → page-72cf3aa95776ab96.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js → page-67864b471b48c950.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js.map → page-67864b471b48c950.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js → page-208b4c9cc64abf2e.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js.map → page-208b4c9cc64abf2e.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js +2 -0
- package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js.map +1 -0
- package/dist/.next/static/css/006966ab2edd0ebc.css +4 -0
- package/dist/.next/static/css/006966ab2edd0ebc.css.map +1 -0
- package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
- package/dist/package.json +4 -1
- package/package.json +1 -1
- package/dist/.next/server/chunks/3743.js +0 -1
- package/dist/.next/server/chunks/4375.js +0 -1
- package/dist/.next/server/chunks/4680.js +0 -1
- package/dist/.next/server/chunks/7203.js +0 -5
- package/dist/.next/server/chunks/7598.js +0 -5
- package/dist/.next/server/chunks/8806.js +0 -1
- package/dist/.next/static/chunks/1957-670ddf66742d95f2.js +0 -2
- package/dist/.next/static/chunks/1957-670ddf66742d95f2.js.map +0 -1
- package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js +0 -2
- package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js.map +0 -1
- package/dist/.next/static/chunks/3832-10b779e2f89f162f.js +0 -2
- package/dist/.next/static/chunks/3832-10b779e2f89f162f.js.map +0 -1
- package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js +0 -2
- package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js.map +0 -1
- package/dist/.next/static/chunks/428-61741966c36f4f72.js +0 -2
- package/dist/.next/static/chunks/428-61741966c36f4f72.js.map +0 -1
- package/dist/.next/static/chunks/5585-4f0c084850210a82.js +0 -2
- package/dist/.next/static/chunks/5585-4f0c084850210a82.js.map +0 -1
- package/dist/.next/static/chunks/5615-042f927b657e6db1.js +0 -41
- package/dist/.next/static/chunks/5615-042f927b657e6db1.js.map +0 -1
- package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js +0 -2
- package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js.map +0 -1
- package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js +0 -2
- package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js.map +0 -1
- package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js +0 -2
- package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js.map +0 -1
- package/dist/.next/static/chunks/7398-c6de1642586049cd.js +0 -2
- package/dist/.next/static/chunks/7398-c6de1642586049cd.js.map +0 -1
- package/dist/.next/static/chunks/7564-44a20b31206685e1.js.map +0 -1
- package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js +0 -2
- package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js +0 -2
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-3807a8bc2ae87548.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js +0 -2
- package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js +0 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js +0 -2
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js +0 -2
- package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js +0 -2
- package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js.map +0 -1
- package/dist/.next/static/css/a7092ddec8ffd4fb.css +0 -4
- package/dist/.next/static/css/a7092ddec8ffd4fb.css.map +0 -1
- /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_buildManifest.js +0 -0
- /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6839],{12199:function(e,t,r){r.d(t,{D:function(){return d}});var n=r(5853),o=r(79285),l=r(49466),i=r(36628),a=r(59058),u=r(77828),s=r(63251),c=r(59394).Nq?o.useLayoutEffect:o.useEffect;function d(e,t){var r=(0,s.x)(null==t?void 0:t.client);(0,a.Vp)(e,a.n_.Mutation);var d=o.useState({called:!1,loading:!1,client:r}),f=d[0],v=d[1],p=o.useRef({result:f,mutationId:0,isMounted:!0,client:r,mutation:e,options:t});c(function(){Object.assign(p.current,{client:r,options:t,mutation:e})});var h=o.useCallback(function(e){void 0===e&&(e={});var t=p.current,r=t.options,o=t.mutation,a=(0,n.pi)((0,n.pi)({},r),{mutation:o}),s=e.client||p.current.client;p.current.result.loading||a.ignoreResults||!p.current.isMounted||v(p.current.result={loading:!0,error:void 0,data:void 0,called:!0,client:s});var c=++p.current.mutationId,d=(0,l.J)(a,e);return s.mutate(d).then(function(t){var r,n,o=t.data,l=t.errors,a=l&&l.length>0?new u.cA({graphQLErrors:l}):void 0,f=e.onError||(null===(r=p.current.options)||void 0===r?void 0:r.onError);if(a&&f&&f(a,d),c===p.current.mutationId&&!d.ignoreResults){var h={called:!0,loading:!1,data:o,error:a,client:s};p.current.isMounted&&!(0,i.D)(p.current.result,h)&&v(p.current.result=h)}var w=e.onCompleted||(null===(n=p.current.options)||void 0===n?void 0:n.onCompleted);return a||null==w||w(t.data,d),t},function(t){if(c===p.current.mutationId&&p.current.isMounted){var r,n={loading:!1,error:t,data:void 0,called:!0,client:s};(0,i.D)(p.current.result,n)||v(p.current.result=n)}var o=e.onError||(null===(r=p.current.options)||void 0===r?void 0:r.onError);if(o)return o(t,d),{data:void 0,errors:t};throw t})},[]),w=o.useCallback(function(){if(p.current.isMounted){var e={called:!1,loading:!1,client:p.current.client};Object.assign(p.current,{mutationId:0,result:e}),v(e)}},[]);return o.useEffect(function(){var e=p.current;return e.isMounted=!0,function(){e.isMounted=!1}},[]),[h,(0,n.pi)({reset:w},f)]}},14488:function(e,t,r){r.d(t,{Ns:function(){return Q},fC:function(){return K},gb:function(){return C},q4:function(){return M},l_:function(){return J}});var n=r(2265),o=r(66840),l=r(98575),i=r(61188),a=e=>{var t,r;let o,a;let{present:s,children:c}=e,d=function(e){var t,r;let[o,l]=n.useState(),a=n.useRef(null),s=n.useRef(e),c=n.useRef("none"),[d,f]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},n.useReducer((e,t)=>{let n=r[e][t];return null!=n?n:e},t));return n.useEffect(()=>{let e=u(a.current);c.current="mounted"===d?e:"none"},[d]),(0,i.b)(()=>{let t=a.current,r=s.current;if(r!==e){let n=c.current,o=u(t);e?f("MOUNT"):"none"===o||(null==t?void 0:t.display)==="none"?f("UNMOUNT"):r&&n!==o?f("ANIMATION_OUT"):f("UNMOUNT"),s.current=e}},[e,f]),(0,i.b)(()=>{if(o){var e;let t;let r=null!==(e=o.ownerDocument.defaultView)&&void 0!==e?e:window,n=e=>{let n=u(a.current).includes(CSS.escape(e.animationName));if(e.target===o&&n&&(f("ANIMATION_END"),!s.current)){let e=o.style.animationFillMode;o.style.animationFillMode="forwards",t=r.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=e)})}},l=e=>{e.target===o&&(c.current=u(a.current))};return o.addEventListener("animationstart",l),o.addEventListener("animationcancel",n),o.addEventListener("animationend",n),()=>{r.clearTimeout(t),o.removeEventListener("animationstart",l),o.removeEventListener("animationcancel",n),o.removeEventListener("animationend",n)}}f("ANIMATION_END")},[o,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:n.useCallback(e=>{a.current=e?getComputedStyle(e):null,l(e)},[])}}(s),f="function"==typeof c?c({present:d.isPresent}):n.Children.only(c),v=(0,l.e)(d.ref,(o=null===(t=Object.getOwnPropertyDescriptor(f.props,"ref"))||void 0===t?void 0:t.get)&&"isReactWarning"in o&&o.isReactWarning?f.ref:(o=null===(r=Object.getOwnPropertyDescriptor(f,"ref"))||void 0===r?void 0:r.get)&&"isReactWarning"in o&&o.isReactWarning?f.props.ref:f.props.ref||f.ref);return"function"==typeof c||d.isPresent?n.cloneElement(f,{ref:v}):null};function u(e){return(null==e?void 0:e.animationName)||"none"}a.displayName="Presence";var s=r(73966),c=r(26606),d=r(29114),f=r(62484);function v(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}"undefined"!=typeof window&&window.document&&window.document.createElement;var p=r(57437),h="ScrollArea",[w,m]=(0,s.b)(h),[g,b]=w(h),S=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:i="hover",dir:a,scrollHideDelay:u=600,...s}=e,[c,f]=n.useState(null),[v,h]=n.useState(null),[w,m]=n.useState(null),[b,S]=n.useState(null),[y,E]=n.useState(null),[T,C]=n.useState(0),[x,R]=n.useState(0),[N,P]=n.useState(!1),[L,D]=n.useState(!1),j=(0,l.e)(t,e=>f(e)),_=(0,d.gm)(a);return(0,p.jsx)(g,{scope:r,type:i,dir:_,scrollHideDelay:u,scrollArea:c,viewport:v,onViewportChange:h,content:w,onContentChange:m,scrollbarX:b,onScrollbarXChange:S,scrollbarXEnabled:N,onScrollbarXEnabledChange:P,scrollbarY:y,onScrollbarYChange:E,scrollbarYEnabled:L,onScrollbarYEnabledChange:D,onCornerWidthChange:C,onCornerHeightChange:R,children:(0,p.jsx)(o.WV.div,{dir:_,...s,ref:j,style:{position:"relative","--radix-scroll-area-corner-width":T+"px","--radix-scroll-area-corner-height":x+"px",...e.style}})})});S.displayName=h;var y="ScrollAreaViewport",E=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:i,nonce:a,...u}=e,s=b(y,r),c=n.useRef(null),d=(0,l.e)(t,c,s.onViewportChange);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,p.jsx)(o.WV.div,{"data-radix-scroll-area-viewport":"",...u,ref:d,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,p.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});E.displayName=y;var T="ScrollAreaScrollbar",C=n.forwardRef((e,t)=>{let{forceMount:r,...o}=e,l=b(T,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=l,u="horizontal"===e.orientation;return n.useEffect(()=>(u?i(!0):a(!0),()=>{u?i(!1):a(!1)}),[u,i,a]),"hover"===l.type?(0,p.jsx)(x,{...o,ref:t,forceMount:r}):"scroll"===l.type?(0,p.jsx)(R,{...o,ref:t,forceMount:r}):"auto"===l.type?(0,p.jsx)(N,{...o,ref:t,forceMount:r}):"always"===l.type?(0,p.jsx)(P,{...o,ref:t}):null});C.displayName=T;var x=n.forwardRef((e,t)=>{let{forceMount:r,...o}=e,l=b(T,e.__scopeScrollArea),[i,u]=n.useState(!1);return n.useEffect(()=>{let e=l.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),u(!0)},n=()=>{t=window.setTimeout(()=>u(!1),l.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[l.scrollArea,l.scrollHideDelay]),(0,p.jsx)(a,{present:r||i,children:(0,p.jsx)(N,{"data-state":i?"visible":"hidden",...o,ref:t})})}),R=n.forwardRef((e,t)=>{var r,o;let{forceMount:l,...i}=e,u=b(T,e.__scopeScrollArea),s="horizontal"===e.orientation,c=q(()=>f("SCROLL_END"),100),[d,f]=(r="hidden",o={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},n.useReducer((e,t)=>{let r=o[e][t];return null!=r?r:e},r));return n.useEffect(()=>{if("idle"===d){let e=window.setTimeout(()=>f("HIDE"),u.scrollHideDelay);return()=>window.clearTimeout(e)}},[d,u.scrollHideDelay,f]),n.useEffect(()=>{let e=u.viewport,t=s?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(f("SCROLL"),c()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[u.viewport,s,f,c]),(0,p.jsx)(a,{present:l||"hidden"!==d,children:(0,p.jsx)(P,{"data-state":"hidden"===d?"hidden":"visible",...i,ref:t,onPointerEnter:v(e.onPointerEnter,()=>f("POINTER_ENTER")),onPointerLeave:v(e.onPointerLeave,()=>f("POINTER_LEAVE"))})})}),N=n.forwardRef((e,t)=>{let r=b(T,e.__scopeScrollArea),{forceMount:o,...l}=e,[i,u]=n.useState(!1),s="horizontal"===e.orientation,c=q(()=>{if(r.viewport){let e=r.viewport.offsetWidth<r.viewport.scrollWidth,t=r.viewport.offsetHeight<r.viewport.scrollHeight;u(s?e:t)}},10);return B(r.viewport,c),B(r.content,c),(0,p.jsx)(a,{present:o||i,children:(0,p.jsx)(P,{"data-state":i?"visible":"hidden",...l,ref:t})})}),P=n.forwardRef((e,t)=>{let{orientation:r="vertical",...o}=e,l=b(T,e.__scopeScrollArea),i=n.useRef(null),a=n.useRef(0),[u,s]=n.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=k(u.viewport,u.content),d={...o,sizes:u,onSizesChange:s,hasThumb:!!(c>0&&c<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function f(e,t){return function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"ltr",o=H(r),l=t||o/2,i=r.scrollbar.paddingStart+l,a=r.scrollbar.size-r.scrollbar.paddingEnd-(o-l),u=r.content-r.viewport;return Y([i,a],"ltr"===n?[0,u]:[-1*u,0])(e)}(e,a.current,u,t)}return"horizontal"===r?(0,p.jsx)(L,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&i.current){let e=F(l.viewport.scrollLeft,u,l.dir);i.current.style.transform="translate3d(".concat(e,"px, 0, 0)")}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=f(e,l.dir))}}):"vertical"===r?(0,p.jsx)(D,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&i.current){let e=F(l.viewport.scrollTop,u);i.current.style.transform="translate3d(0, ".concat(e,"px, 0)")}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=f(e))}}):null}),L=n.forwardRef((e,t)=>{let{sizes:r,onSizesChange:o,...i}=e,a=b(T,e.__scopeScrollArea),[u,s]=n.useState(),c=n.useRef(null),d=(0,l.e)(t,c,a.onScrollbarXChange);return n.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,p.jsx)(A,{"data-orientation":"horizontal",...i,ref:d,sizes:r,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":H(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(a.viewport){let n=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(n),n>0&&n<r&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&u&&o({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:z(u.paddingLeft),paddingEnd:z(u.paddingRight)}})}})}),D=n.forwardRef((e,t)=>{let{sizes:r,onSizesChange:o,...i}=e,a=b(T,e.__scopeScrollArea),[u,s]=n.useState(),c=n.useRef(null),d=(0,l.e)(t,c,a.onScrollbarYChange);return n.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,p.jsx)(A,{"data-orientation":"vertical",...i,ref:d,sizes:r,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":H(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(a.viewport){let n=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(n),n>0&&n<r&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&u&&o({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:z(u.paddingTop),paddingEnd:z(u.paddingBottom)}})}})}),[j,_]=w(T),A=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:i,hasThumb:a,onThumbChange:u,onThumbPointerUp:s,onThumbPointerDown:d,onThumbPositionChange:f,onDragScroll:h,onWheelScroll:w,onResize:m,...g}=e,S=b(T,r),[y,E]=n.useState(null),C=(0,l.e)(t,e=>E(e)),x=n.useRef(null),R=n.useRef(""),N=S.viewport,P=i.content-i.viewport,L=(0,c.W)(w),D=(0,c.W)(f),_=q(m,10);function A(e){x.current&&h({x:e.clientX-x.current.left,y:e.clientY-x.current.top})}return n.useEffect(()=>{let e=e=>{let t=e.target;(null==y?void 0:y.contains(t))&&L(e,P)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[N,y,P,L]),n.useEffect(D,[i,D]),B(y,_),B(S.content,_),(0,p.jsx)(j,{scope:r,scrollbar:y,hasThumb:a,onThumbChange:(0,c.W)(u),onThumbPointerUp:(0,c.W)(s),onThumbPositionChange:D,onThumbPointerDown:(0,c.W)(d),children:(0,p.jsx)(o.WV.div,{...g,ref:C,style:{position:"absolute",...g.style},onPointerDown:v(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),x.current=y.getBoundingClientRect(),R.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",S.viewport&&(S.viewport.style.scrollBehavior="auto"),A(e))}),onPointerMove:v(e.onPointerMove,A),onPointerUp:v(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=R.current,S.viewport&&(S.viewport.style.scrollBehavior=""),x.current=null})})})}),W="ScrollAreaThumb",M=n.forwardRef((e,t)=>{let{forceMount:r,...n}=e,o=_(W,e.__scopeScrollArea);return(0,p.jsx)(a,{present:r||o.hasThumb,children:(0,p.jsx)(I,{ref:t,...n})})}),I=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:i,...a}=e,u=b(W,r),s=_(W,r),{onThumbPositionChange:c}=s,d=(0,l.e)(t,e=>s.onThumbChange(e)),f=n.useRef(void 0),h=q(()=>{f.current&&(f.current(),f.current=void 0)},100);return n.useEffect(()=>{let e=u.viewport;if(e){let t=()=>{if(h(),!f.current){let t=X(e,c);f.current=t,c()}};return c(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[u.viewport,h,c]),(0,p.jsx)(o.WV.div,{"data-state":s.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:v(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;s.onThumbPointerDown({x:r,y:n})}),onPointerUp:v(e.onPointerUp,s.onThumbPointerUp)})});M.displayName=W;var O="ScrollAreaCorner",V=n.forwardRef((e,t)=>{let r=b(O,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&n?(0,p.jsx)(U,{...e,ref:t}):null});V.displayName=O;var U=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,...l}=e,i=b(O,r),[a,u]=n.useState(0),[s,c]=n.useState(0),d=!!(a&&s);return B(i.scrollbarX,()=>{var e;let t=(null===(e=i.scrollbarX)||void 0===e?void 0:e.offsetHeight)||0;i.onCornerHeightChange(t),c(t)}),B(i.scrollbarY,()=>{var e;let t=(null===(e=i.scrollbarY)||void 0===e?void 0:e.offsetWidth)||0;i.onCornerWidthChange(t),u(t)}),d?(0,p.jsx)(o.WV.div,{...l,ref:t,style:{width:a,height:s,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null});function z(e){return e?parseInt(e,10):0}function k(e,t){let r=e/t;return isNaN(r)?0:r}function H(e){let t=k(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function F(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"ltr",n=H(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-o,i=t.content-t.viewport,a=(0,f.u)(e,"ltr"===r?[0,i]:[-1*i,0]);return Y([0,i],[0,l-n])(a)}function Y(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var X=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>{},r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let l={left:e.scrollLeft,top:e.scrollTop},i=r.left!==l.left,a=r.top!==l.top;(i||a)&&t(),r=l,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function q(e,t){let r=(0,c.W)(e),o=n.useRef(0);return n.useEffect(()=>()=>window.clearTimeout(o.current),[]),n.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(r,t)},[r,t])}function B(e,t){let r=(0,c.W)(t);(0,i.b)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}var K=S,J=E,Q=V},20271:function(e,t,r){r.d(t,{VY:function(){return j},aV:function(){return L},fC:function(){return P},xz:function(){return D}});var n=r(2265),o=r(6741),l=r(73966),i=r(1353),a=r(71599),u=r(66840),s=r(29114),c=r(80886),d=r(99255),f=r(57437),v="Tabs",[p,h]=(0,l.b)(v,[i.Pc]),w=(0,i.Pc)(),[m,g]=p(v),b=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,onValueChange:o,defaultValue:l,orientation:i="horizontal",dir:a,activationMode:p="automatic",...h}=e,w=(0,s.gm)(a),[g,b]=(0,c.T)({prop:n,onChange:o,defaultProp:null!=l?l:"",caller:v});return(0,f.jsx)(m,{scope:r,baseId:(0,d.M)(),value:g,onValueChange:b,orientation:i,dir:w,activationMode:p,children:(0,f.jsx)(u.WV.div,{dir:w,"data-orientation":i,...h,ref:t})})});b.displayName=v;var S="TabsList",y=n.forwardRef((e,t)=>{let{__scopeTabs:r,loop:n=!0,...o}=e,l=g(S,r),a=w(r);return(0,f.jsx)(i.fC,{asChild:!0,...a,orientation:l.orientation,dir:l.dir,loop:n,children:(0,f.jsx)(u.WV.div,{role:"tablist","aria-orientation":l.orientation,...o,ref:t})})});y.displayName=S;var E="TabsTrigger",T=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,disabled:l=!1,...a}=e,s=g(E,r),c=w(r),d=R(s.baseId,n),v=N(s.baseId,n),p=n===s.value;return(0,f.jsx)(i.ck,{asChild:!0,...c,focusable:!l,active:p,children:(0,f.jsx)(u.WV.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":v,"data-state":p?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:d,...a,ref:t,onMouseDown:(0,o.M)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(n)}),onKeyDown:(0,o.M)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&s.onValueChange(n)}),onFocus:(0,o.M)(e.onFocus,()=>{let e="manual"!==s.activationMode;p||l||!e||s.onValueChange(n)})})})});T.displayName=E;var C="TabsContent",x=n.forwardRef((e,t)=>{let{__scopeTabs:r,value:o,forceMount:l,children:i,...s}=e,c=g(C,r),d=R(c.baseId,o),v=N(c.baseId,o),p=o===c.value,h=n.useRef(p);return n.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,f.jsx)(a.z,{present:l||p,children:r=>{let{present:n}=r;return(0,f.jsx)(u.WV.div,{"data-state":p?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!n,id:v,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:n&&i})}})});function R(e,t){return"".concat(e,"-trigger-").concat(t)}function N(e,t){return"".concat(e,"-content-").concat(t)}x.displayName=C;var P=b,L=y,D=T,j=x}}]);
|
|
2
|
+
//# sourceMappingURL=6839-0f4cfb48058a5ab6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/chunks/6839-0f4cfb48058a5ab6.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@apollo/client/react/hooks/internal/useIsomorphicLayoutEffect.js","webpack://_N_E/./node_modules/@apollo/client/react/hooks/useMutation.js","webpack://_N_E/../src/presence.tsx","webpack://_N_E/../src/use-state-machine.tsx","webpack://_N_E/./node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://_N_E/../src/scroll-area.tsx","webpack://_N_E/../src/use-state-machine.ts","webpack://_N_E/../src/tabs.tsx"],"sourcesContent":["import * as React from \"rehackt\";\nimport { canUseDOM } from \"../../../utilities/index.js\";\n// use canUseDOM here instead of canUseLayoutEffect because we want to be able\n// to use useLayoutEffect in our jest tests. useLayoutEffect seems to work fine\n// in useSuspenseQuery tests, but to honor the original comment about the\n// warnings for useSyncExternalStore implementation, canUseLayoutEffect is left\n// alone.\nexport var useIsomorphicLayoutEffect = canUseDOM ? React.useLayoutEffect : React.useEffect;\n//# sourceMappingURL=useIsomorphicLayoutEffect.js.map","import { __assign } from \"tslib\";\nimport * as React from \"rehackt\";\nimport { mergeOptions } from \"../../utilities/index.js\";\nimport { equal } from \"@wry/equality\";\nimport { DocumentType, verifyDocumentType } from \"../parser/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\n/**\n *\n *\n * > Refer to the [Mutations](https://www.apollographql.com/docs/react/data/mutations/) section for a more in-depth overview of `useMutation`.\n *\n * @example\n * ```jsx\n * import { gql, useMutation } from '@apollo/client';\n *\n * const ADD_TODO = gql`\n * mutation AddTodo($type: String!) {\n * addTodo(type: $type) {\n * id\n * type\n * }\n * }\n * `;\n *\n * function AddTodo() {\n * let input;\n * const [addTodo, { data }] = useMutation(ADD_TODO);\n *\n * return (\n * <div>\n * <form\n * onSubmit={e => {\n * e.preventDefault();\n * addTodo({ variables: { type: input.value } });\n * input.value = '';\n * }}\n * >\n * <input\n * ref={node => {\n * input = node;\n * }}\n * />\n * <button type=\"submit\">Add Todo</button>\n * </form>\n * </div>\n * );\n * }\n * ```\n * @since 3.0.0\n * @param mutation - A GraphQL mutation document parsed into an AST by `gql`.\n * @param options - Options to control how the mutation is executed.\n * @returns A tuple in the form of `[mutate, result]`\n */\nexport function useMutation(mutation, options) {\n var client = useApolloClient(options === null || options === void 0 ? void 0 : options.client);\n verifyDocumentType(mutation, DocumentType.Mutation);\n var _a = React.useState({\n called: false,\n loading: false,\n client: client,\n }), result = _a[0], setResult = _a[1];\n var ref = React.useRef({\n result: result,\n mutationId: 0,\n isMounted: true,\n client: client,\n mutation: mutation,\n options: options,\n });\n useIsomorphicLayoutEffect(function () {\n Object.assign(ref.current, { client: client, options: options, mutation: mutation });\n });\n var execute = React.useCallback(function (executeOptions) {\n if (executeOptions === void 0) { executeOptions = {}; }\n var _a = ref.current, options = _a.options, mutation = _a.mutation;\n var baseOptions = __assign(__assign({}, options), { mutation: mutation });\n var client = executeOptions.client || ref.current.client;\n if (!ref.current.result.loading &&\n !baseOptions.ignoreResults &&\n ref.current.isMounted) {\n setResult((ref.current.result = {\n loading: true,\n error: void 0,\n data: void 0,\n called: true,\n client: client,\n }));\n }\n var mutationId = ++ref.current.mutationId;\n var clientOptions = mergeOptions(baseOptions, executeOptions);\n return client\n .mutate(clientOptions)\n .then(function (response) {\n var _a, _b;\n var data = response.data, errors = response.errors;\n var error = errors && errors.length > 0 ?\n new ApolloError({ graphQLErrors: errors })\n : void 0;\n var onError = executeOptions.onError || ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError);\n if (error && onError) {\n onError(error, clientOptions);\n }\n if (mutationId === ref.current.mutationId &&\n !clientOptions.ignoreResults) {\n var result_1 = {\n called: true,\n loading: false,\n data: data,\n error: error,\n client: client,\n };\n if (ref.current.isMounted && !equal(ref.current.result, result_1)) {\n setResult((ref.current.result = result_1));\n }\n }\n var onCompleted = executeOptions.onCompleted || ((_b = ref.current.options) === null || _b === void 0 ? void 0 : _b.onCompleted);\n if (!error) {\n onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(response.data, clientOptions);\n }\n return response;\n }, function (error) {\n var _a;\n if (mutationId === ref.current.mutationId &&\n ref.current.isMounted) {\n var result_2 = {\n loading: false,\n error: error,\n data: void 0,\n called: true,\n client: client,\n };\n if (!equal(ref.current.result, result_2)) {\n setResult((ref.current.result = result_2));\n }\n }\n var onError = executeOptions.onError || ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError);\n if (onError) {\n onError(error, clientOptions);\n // TODO(brian): why are we returning this here???\n return { data: void 0, errors: error };\n }\n throw error;\n });\n }, []);\n var reset = React.useCallback(function () {\n if (ref.current.isMounted) {\n var result_3 = {\n called: false,\n loading: false,\n client: ref.current.client,\n };\n Object.assign(ref.current, { mutationId: 0, result: result_3 });\n setResult(result_3);\n }\n }, []);\n React.useEffect(function () {\n var current = ref.current;\n // eslint-disable-next-line react-compiler/react-compiler\n current.isMounted = true;\n return function () {\n current.isMounted = false;\n };\n }, []);\n return [execute, __assign({ reset: reset }, result)];\n}\n//# sourceMappingURL=useMutation.js.map","import * as React from 'react';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useStateMachine } from './use-state-machine';\n\ninterface PresenceProps {\n children: React.ReactElement | ((props: { present: boolean }) => React.ReactElement);\n present: boolean;\n}\n\nconst Presence: React.FC<PresenceProps> = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n\n const child = (\n typeof children === 'function'\n ? children({ present: presence.isPresent })\n : React.Children.only(children)\n ) as React.ReactElement<{ ref?: React.Ref<HTMLElement> }>;\n\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;\n};\n\nPresence.displayName = 'Presence';\n\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/\n\nfunction usePresence(present: boolean) {\n const [node, setNode] = React.useState<HTMLElement>();\n const stylesRef = React.useRef<CSSStyleDeclaration | null>(null);\n const prevPresentRef = React.useRef(present);\n const prevAnimationNameRef = React.useRef<string>('none');\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended',\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted',\n },\n unmounted: {\n MOUNT: 'mounted',\n },\n });\n\n React.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n }, [state]);\n\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n\n if (present) {\n send('MOUNT');\n } else if (currentAnimationName === 'none' || styles?.display === 'none') {\n // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n } else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */\n const isAnimating = prevAnimationName !== currentAnimationName;\n\n if (wasPresent && isAnimating) {\n send('ANIMATION_OUT');\n } else {\n send('UNMOUNT');\n }\n }\n\n prevPresentRef.current = present;\n }\n }, [present, send]);\n\n useLayoutEffect(() => {\n if (node) {\n let timeoutId: number;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */\n const handleAnimationEnd = (event: AnimationEvent) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n // The event.animationName is unescaped for CSS syntax,\n // so we need to escape it to compare with the animationName computed from the style.\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n // With React 18 concurrency this update is applied a frame after the\n // animation ends, creating a flash of visible content. By setting the\n // animation fill mode to \"forwards\", we force the node to keep the\n // styles of the last keyframe, removing the flash.\n //\n // Previously we flushed the update via ReactDom.flushSync, but with\n // exit animations this resulted in the node being removed from the\n // DOM before the synthetic animationEnd event was dispatched, meaning\n // user-provided event handlers would not be called.\n // https://github.com/radix-ui/primitives/pull/1849\n send('ANIMATION_END');\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = 'forwards';\n // Reset the style after the node had time to unmount (for cases\n // where the component chooses not to unmount). Doing this any\n // sooner than `setTimeout` (e.g. with `requestAnimationFrame`)\n // still causes a flash.\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === 'forwards') {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event: AnimationEvent) => {\n if (event.target === node) {\n // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener('animationstart', handleAnimationStart);\n node.addEventListener('animationcancel', handleAnimationEnd);\n node.addEventListener('animationend', handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener('animationstart', handleAnimationStart);\n node.removeEventListener('animationcancel', handleAnimationEnd);\n node.removeEventListener('animationend', handleAnimationEnd);\n };\n } else {\n // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }\n }, [node, send]);\n\n return {\n isPresent: ['mounted', 'unmountSuspended'].includes(state),\n ref: React.useCallback((node: HTMLElement) => {\n stylesRef.current = node ? getComputedStyle(node) : null;\n setNode(node);\n }, []),\n };\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getAnimationName(styles: CSSStyleDeclaration | null) {\n return styles?.animationName || 'none';\n}\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(element: React.ReactElement<{ ref?: React.Ref<unknown> }>) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get;\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element as any).ref;\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get;\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n\n // Not DEV\n return element.props.ref || (element as any).ref;\n}\n\nconst Root = Presence;\n\nexport {\n Presence,\n //\n Root,\n};\nexport type { PresenceProps };\n","import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n ? R\n : never;\n\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>\n) {\n return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n const nextState = (machine[state] as any)[event];\n return nextState ?? state;\n }, initialState);\n}\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { Presence } from '@radix-ui/react-presence';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { clamp } from '@radix-ui/number';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useStateMachine } from './use-state-machine';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\ntype Sizes = {\n content: number;\n viewport: number;\n scrollbar: {\n size: number;\n paddingStart: number;\n paddingEnd: number;\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollArea\n * -----------------------------------------------------------------------------------------------*/\n\nconst SCROLL_AREA_NAME = 'ScrollArea';\n\ntype ScopedProps<P> = P & { __scopeScrollArea?: Scope };\nconst [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\n\ntype ScrollAreaContextValue = {\n type: 'auto' | 'always' | 'scroll' | 'hover';\n dir: Direction;\n scrollHideDelay: number;\n scrollArea: ScrollAreaElement | null;\n viewport: ScrollAreaViewportElement | null;\n onViewportChange(viewport: ScrollAreaViewportElement | null): void;\n content: HTMLDivElement | null;\n onContentChange(content: HTMLDivElement): void;\n scrollbarX: ScrollAreaScrollbarElement | null;\n onScrollbarXChange(scrollbar: ScrollAreaScrollbarElement | null): void;\n scrollbarXEnabled: boolean;\n onScrollbarXEnabledChange(rendered: boolean): void;\n scrollbarY: ScrollAreaScrollbarElement | null;\n onScrollbarYChange(scrollbar: ScrollAreaScrollbarElement | null): void;\n scrollbarYEnabled: boolean;\n onScrollbarYEnabledChange(rendered: boolean): void;\n onCornerWidthChange(width: number): void;\n onCornerHeightChange(height: number): void;\n};\n\nconst [ScrollAreaProvider, useScrollAreaContext] =\n createScrollAreaContext<ScrollAreaContextValue>(SCROLL_AREA_NAME);\n\ntype ScrollAreaElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface ScrollAreaProps extends PrimitiveDivProps {\n type?: ScrollAreaContextValue['type'];\n dir?: ScrollAreaContextValue['dir'];\n scrollHideDelay?: number;\n}\n\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>(\n (props: ScopedProps<ScrollAreaProps>, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = 'hover',\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React.useState<ScrollAreaElement | null>(null);\n const [viewport, setViewport] = React.useState<ScrollAreaViewportElement | null>(null);\n const [content, setContent] = React.useState<HTMLDivElement | null>(null);\n const [scrollbarX, setScrollbarX] = React.useState<ScrollAreaScrollbarElement | null>(null);\n const [scrollbarY, setScrollbarY] = React.useState<ScrollAreaScrollbarElement | null>(null);\n const [cornerWidth, setCornerWidth] = React.useState(0);\n const [cornerHeight, setCornerHeight] = React.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n\n return (\n <ScrollAreaProvider\n scope={__scopeScrollArea}\n type={type}\n dir={direction}\n scrollHideDelay={scrollHideDelay}\n scrollArea={scrollArea}\n viewport={viewport}\n onViewportChange={setViewport}\n content={content}\n onContentChange={setContent}\n scrollbarX={scrollbarX}\n onScrollbarXChange={setScrollbarX}\n scrollbarXEnabled={scrollbarXEnabled}\n onScrollbarXEnabledChange={setScrollbarXEnabled}\n scrollbarY={scrollbarY}\n onScrollbarYChange={setScrollbarY}\n scrollbarYEnabled={scrollbarYEnabled}\n onScrollbarYEnabledChange={setScrollbarYEnabled}\n onCornerWidthChange={setCornerWidth}\n onCornerHeightChange={setCornerHeight}\n >\n <Primitive.div\n dir={direction}\n {...scrollAreaProps}\n ref={composedRefs}\n style={{\n position: 'relative',\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n ['--radix-scroll-area-corner-width' as any]: cornerWidth + 'px',\n ['--radix-scroll-area-corner-height' as any]: cornerHeight + 'px',\n ...props.style,\n }}\n />\n </ScrollAreaProvider>\n );\n }\n);\n\nScrollArea.displayName = SCROLL_AREA_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaViewport\n * -----------------------------------------------------------------------------------------------*/\n\nconst VIEWPORT_NAME = 'ScrollAreaViewport';\n\ntype ScrollAreaViewportElement = React.ComponentRef<typeof Primitive.div>;\ninterface ScrollAreaViewportProps extends PrimitiveDivProps {\n nonce?: string;\n}\n\nconst ScrollAreaViewport = React.forwardRef<ScrollAreaViewportElement, ScrollAreaViewportProps>(\n (props: ScopedProps<ScrollAreaViewportProps>, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React.useRef<ScrollAreaViewportElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return (\n <>\n {/* Hide scrollbars cross-browser and enable momentum scroll for touch devices */}\n <style\n dangerouslySetInnerHTML={{\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`,\n }}\n nonce={nonce}\n />\n <Primitive.div\n data-radix-scroll-area-viewport=\"\"\n {...viewportProps}\n ref={composedRefs}\n style={{\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? 'scroll' : 'hidden',\n overflowY: context.scrollbarYEnabled ? 'scroll' : 'hidden',\n ...props.style,\n }}\n >\n {/**\n * `display: table` ensures our content div will match the size of its children in both\n * horizontal and vertical axis so we can determine if scroll width/height changed and\n * recalculate thumb sizes. This doesn't account for children with *percentage*\n * widths that change. We'll wait to see what use-cases consumers come up with there\n * before trying to resolve it.\n */}\n <div ref={context.onContentChange} style={{ minWidth: '100%', display: 'table' }}>\n {children}\n </div>\n </Primitive.div>\n </>\n );\n }\n);\n\nScrollAreaViewport.displayName = VIEWPORT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaScrollbar\n * -----------------------------------------------------------------------------------------------*/\n\nconst SCROLLBAR_NAME = 'ScrollAreaScrollbar';\n\ntype ScrollAreaScrollbarElement = ScrollAreaScrollbarVisibleElement;\ninterface ScrollAreaScrollbarProps extends ScrollAreaScrollbarVisibleProps {\n forceMount?: true;\n}\n\nconst ScrollAreaScrollbar = React.forwardRef<ScrollAreaScrollbarElement, ScrollAreaScrollbarProps>(\n (props: ScopedProps<ScrollAreaScrollbarProps>, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === 'horizontal';\n\n React.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n\n return context.type === 'hover' ? (\n <ScrollAreaScrollbarHover {...scrollbarProps} ref={forwardedRef} forceMount={forceMount} />\n ) : context.type === 'scroll' ? (\n <ScrollAreaScrollbarScroll {...scrollbarProps} ref={forwardedRef} forceMount={forceMount} />\n ) : context.type === 'auto' ? (\n <ScrollAreaScrollbarAuto {...scrollbarProps} ref={forwardedRef} forceMount={forceMount} />\n ) : context.type === 'always' ? (\n <ScrollAreaScrollbarVisible {...scrollbarProps} ref={forwardedRef} />\n ) : null;\n }\n);\n\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaScrollbarHoverElement = ScrollAreaScrollbarAutoElement;\ninterface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {\n forceMount?: true;\n}\n\nconst ScrollAreaScrollbarHover = React.forwardRef<\n ScrollAreaScrollbarHoverElement,\n ScrollAreaScrollbarHoverProps\n>((props: ScopedProps<ScrollAreaScrollbarHoverProps>, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React.useState(false);\n\n React.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener('pointerenter', handlePointerEnter);\n scrollArea.addEventListener('pointerleave', handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener('pointerenter', handlePointerEnter);\n scrollArea.removeEventListener('pointerleave', handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n\n return (\n <Presence present={forceMount || visible}>\n <ScrollAreaScrollbarAuto\n data-state={visible ? 'visible' : 'hidden'}\n {...scrollbarProps}\n ref={forwardedRef}\n />\n </Presence>\n );\n});\n\ntype ScrollAreaScrollbarScrollElement = ScrollAreaScrollbarVisibleElement;\ninterface ScrollAreaScrollbarScrollProps extends ScrollAreaScrollbarVisibleProps {\n forceMount?: true;\n}\n\nconst ScrollAreaScrollbarScroll = React.forwardRef<\n ScrollAreaScrollbarScrollElement,\n ScrollAreaScrollbarScrollProps\n>((props: ScopedProps<ScrollAreaScrollbarScrollProps>, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === 'horizontal';\n const debounceScrollEnd = useDebounceCallback(() => send('SCROLL_END'), 100);\n const [state, send] = useStateMachine('hidden', {\n hidden: {\n SCROLL: 'scrolling',\n },\n scrolling: {\n SCROLL_END: 'idle',\n POINTER_ENTER: 'interacting',\n },\n interacting: {\n SCROLL: 'interacting',\n POINTER_LEAVE: 'idle',\n },\n idle: {\n HIDE: 'hidden',\n SCROLL: 'scrolling',\n POINTER_ENTER: 'interacting',\n },\n });\n\n React.useEffect(() => {\n if (state === 'idle') {\n const hideTimer = window.setTimeout(() => send('HIDE'), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n\n React.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? 'scrollLeft' : 'scrollTop';\n\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send('SCROLL');\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener('scroll', handleScroll);\n return () => viewport.removeEventListener('scroll', handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n\n return (\n <Presence present={forceMount || state !== 'hidden'}>\n <ScrollAreaScrollbarVisible\n data-state={state === 'hidden' ? 'hidden' : 'visible'}\n {...scrollbarProps}\n ref={forwardedRef}\n onPointerEnter={composeEventHandlers(props.onPointerEnter, () => send('POINTER_ENTER'))}\n onPointerLeave={composeEventHandlers(props.onPointerLeave, () => send('POINTER_LEAVE'))}\n />\n </Presence>\n );\n});\n\ntype ScrollAreaScrollbarAutoElement = ScrollAreaScrollbarVisibleElement;\ninterface ScrollAreaScrollbarAutoProps extends ScrollAreaScrollbarVisibleProps {\n forceMount?: true;\n}\n\nconst ScrollAreaScrollbarAuto = React.forwardRef<\n ScrollAreaScrollbarAutoElement,\n ScrollAreaScrollbarAutoProps\n>((props: ScopedProps<ScrollAreaScrollbarAutoProps>, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React.useState(false);\n const isHorizontal = props.orientation === 'horizontal';\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n\n return (\n <Presence present={forceMount || visible}>\n <ScrollAreaScrollbarVisible\n data-state={visible ? 'visible' : 'hidden'}\n {...scrollbarProps}\n ref={forwardedRef}\n />\n </Presence>\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaScrollbarVisibleElement = ScrollAreaScrollbarAxisElement;\ninterface ScrollAreaScrollbarVisibleProps\n extends Omit<ScrollAreaScrollbarAxisProps, keyof ScrollAreaScrollbarAxisPrivateProps> {\n orientation?: 'horizontal' | 'vertical';\n}\n\nconst ScrollAreaScrollbarVisible = React.forwardRef<\n ScrollAreaScrollbarVisibleElement,\n ScrollAreaScrollbarVisibleProps\n>((props: ScopedProps<ScrollAreaScrollbarVisibleProps>, forwardedRef) => {\n const { orientation = 'vertical', ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React.useRef<ScrollAreaThumbElement | null>(null);\n const pointerOffsetRef = React.useRef(0);\n const [sizes, setSizes] = React.useState<Sizes>({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 },\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n\n type UncommonProps = 'onThumbPositionChange' | 'onDragScroll' | 'onWheelScroll';\n const commonProps: Omit<ScrollAreaScrollbarAxisPrivateProps, UncommonProps> = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => (thumbRef.current = thumb),\n onThumbPointerUp: () => (pointerOffsetRef.current = 0),\n onThumbPointerDown: (pointerPos) => (pointerOffsetRef.current = pointerPos),\n };\n\n function getScrollPosition(pointerPos: number, dir?: Direction) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n\n if (orientation === 'horizontal') {\n return (\n <ScrollAreaScrollbarX\n {...commonProps}\n ref={forwardedRef}\n onThumbPositionChange={() => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n }}\n onWheelScroll={(scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n }}\n onDragScroll={(pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }}\n />\n );\n }\n\n if (orientation === 'vertical') {\n return (\n <ScrollAreaScrollbarY\n {...commonProps}\n ref={forwardedRef}\n onThumbPositionChange={() => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n }}\n onWheelScroll={(scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n }}\n onDragScroll={(pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }}\n />\n );\n }\n\n return null;\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaScrollbarAxisPrivateProps = {\n hasThumb: boolean;\n sizes: Sizes;\n onSizesChange(sizes: Sizes): void;\n onThumbChange(thumb: ScrollAreaThumbElement | null): void;\n onThumbPointerDown(pointerPos: number): void;\n onThumbPointerUp(): void;\n onThumbPositionChange(): void;\n onWheelScroll(scrollPos: number): void;\n onDragScroll(pointerPos: number): void;\n};\n\ntype ScrollAreaScrollbarAxisElement = ScrollAreaScrollbarImplElement;\ninterface ScrollAreaScrollbarAxisProps\n extends Omit<ScrollAreaScrollbarImplProps, keyof ScrollAreaScrollbarImplPrivateProps>,\n ScrollAreaScrollbarAxisPrivateProps {}\n\nconst ScrollAreaScrollbarX = React.forwardRef<\n ScrollAreaScrollbarAxisElement,\n ScrollAreaScrollbarAxisProps\n>((props: ScopedProps<ScrollAreaScrollbarAxisProps>, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React.useState<CSSStyleDeclaration>();\n const ref = React.useRef<ScrollAreaScrollbarAxisElement>(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n\n React.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n\n return (\n <ScrollAreaScrollbarImpl\n data-orientation=\"horizontal\"\n {...scrollbarProps}\n ref={composeRefs}\n sizes={sizes}\n style={{\n bottom: 0,\n left: context.dir === 'rtl' ? 'var(--radix-scroll-area-corner-width)' : 0,\n right: context.dir === 'ltr' ? 'var(--radix-scroll-area-corner-width)' : 0,\n ['--radix-scroll-area-thumb-width' as any]: getThumbSize(sizes) + 'px',\n ...props.style,\n }}\n onThumbPointerDown={(pointerPos) => props.onThumbPointerDown(pointerPos.x)}\n onDragScroll={(pointerPos) => props.onDragScroll(pointerPos.x)}\n onWheelScroll={(event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n }}\n onResize={() => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight),\n },\n });\n }\n }}\n />\n );\n});\n\nconst ScrollAreaScrollbarY = React.forwardRef<\n ScrollAreaScrollbarAxisElement,\n ScrollAreaScrollbarAxisProps\n>((props: ScopedProps<ScrollAreaScrollbarAxisProps>, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React.useState<CSSStyleDeclaration>();\n const ref = React.useRef<ScrollAreaScrollbarAxisElement>(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n\n React.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n\n return (\n <ScrollAreaScrollbarImpl\n data-orientation=\"vertical\"\n {...scrollbarProps}\n ref={composeRefs}\n sizes={sizes}\n style={{\n top: 0,\n right: context.dir === 'ltr' ? 0 : undefined,\n left: context.dir === 'rtl' ? 0 : undefined,\n bottom: 'var(--radix-scroll-area-corner-height)',\n ['--radix-scroll-area-thumb-height' as any]: getThumbSize(sizes) + 'px',\n ...props.style,\n }}\n onThumbPointerDown={(pointerPos) => props.onThumbPointerDown(pointerPos.y)}\n onDragScroll={(pointerPos) => props.onDragScroll(pointerPos.y)}\n onWheelScroll={(event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n // prevent window scroll when wheeling on scrollbar\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n }}\n onResize={() => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom),\n },\n });\n }\n }}\n />\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollbarContext = {\n hasThumb: boolean;\n scrollbar: ScrollAreaScrollbarElement | null;\n onThumbChange(thumb: ScrollAreaThumbElement | null): void;\n onThumbPointerUp(): void;\n onThumbPointerDown(pointerPos: { x: number; y: number }): void;\n onThumbPositionChange(): void;\n};\n\nconst [ScrollbarProvider, useScrollbarContext] =\n createScrollAreaContext<ScrollbarContext>(SCROLLBAR_NAME);\n\ntype ScrollAreaScrollbarImplElement = React.ComponentRef<typeof Primitive.div>;\ntype ScrollAreaScrollbarImplPrivateProps = {\n sizes: Sizes;\n hasThumb: boolean;\n onThumbChange: ScrollbarContext['onThumbChange'];\n onThumbPointerUp: ScrollbarContext['onThumbPointerUp'];\n onThumbPointerDown: ScrollbarContext['onThumbPointerDown'];\n onThumbPositionChange: ScrollbarContext['onThumbPositionChange'];\n onWheelScroll(event: WheelEvent, maxScrollPos: number): void;\n onDragScroll(pointerPos: { x: number; y: number }): void;\n onResize(): void;\n};\ninterface ScrollAreaScrollbarImplProps\n extends Omit<PrimitiveDivProps, keyof ScrollAreaScrollbarImplPrivateProps>,\n ScrollAreaScrollbarImplPrivateProps {}\n\nconst ScrollAreaScrollbarImpl = React.forwardRef<\n ScrollAreaScrollbarImplElement,\n ScrollAreaScrollbarImplProps\n>((props: ScopedProps<ScrollAreaScrollbarImplProps>, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React.useState<ScrollAreaScrollbarElement | null>(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React.useRef<DOMRect | null>(null);\n const prevWebkitUserSelectRef = React.useRef<string>('');\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n\n function handleDragScroll(event: React.PointerEvent<HTMLElement>) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n\n /**\n * We bind wheel event imperatively so we can switch off passive\n * mode for document wheel event to allow it to be prevented\n */\n React.useEffect(() => {\n const handleWheel = (event: WheelEvent) => {\n const element = event.target as HTMLElement;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener('wheel', handleWheel, { passive: false });\n return () => document.removeEventListener('wheel', handleWheel, { passive: false } as any);\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n\n /**\n * Update thumb position on sizes change\n */\n React.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n\n return (\n <ScrollbarProvider\n scope={__scopeScrollArea}\n scrollbar={scrollbar}\n hasThumb={hasThumb}\n onThumbChange={useCallbackRef(onThumbChange)}\n onThumbPointerUp={useCallbackRef(onThumbPointerUp)}\n onThumbPositionChange={handleThumbPositionChange}\n onThumbPointerDown={useCallbackRef(onThumbPointerDown)}\n >\n <Primitive.div\n {...scrollbarProps}\n ref={composeRefs}\n style={{ position: 'absolute', ...scrollbarProps.style }}\n onPointerDown={composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar!.getBoundingClientRect();\n // pointer capture doesn't prevent text selection in Safari\n // so we remove text selection manually when scrolling\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = 'none';\n if (context.viewport) context.viewport.style.scrollBehavior = 'auto';\n handleDragScroll(event);\n }\n })}\n onPointerMove={composeEventHandlers(props.onPointerMove, handleDragScroll)}\n onPointerUp={composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target as HTMLElement;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = '';\n rectRef.current = null;\n })}\n />\n </ScrollbarProvider>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaThumb\n * -----------------------------------------------------------------------------------------------*/\n\nconst THUMB_NAME = 'ScrollAreaThumb';\n\ntype ScrollAreaThumbElement = ScrollAreaThumbImplElement;\ninterface ScrollAreaThumbProps extends ScrollAreaThumbImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst ScrollAreaThumb = React.forwardRef<ScrollAreaThumbElement, ScrollAreaThumbProps>(\n (props: ScopedProps<ScrollAreaThumbProps>, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return (\n <Presence present={forceMount || scrollbarContext.hasThumb}>\n <ScrollAreaThumbImpl ref={forwardedRef} {...thumbProps} />\n </Presence>\n );\n }\n);\n\ntype ScrollAreaThumbImplElement = React.ComponentRef<typeof Primitive.div>;\ninterface ScrollAreaThumbImplProps extends PrimitiveDivProps {}\n\nconst ScrollAreaThumbImpl = React.forwardRef<ScrollAreaThumbImplElement, ScrollAreaThumbImplProps>(\n (props: ScopedProps<ScrollAreaThumbImplProps>, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(forwardedRef, (node) =>\n scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React.useRef<() => void>(undefined);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = undefined;\n }\n }, 100);\n\n React.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n /**\n * We only bind to native scroll event so we know when scroll starts and ends.\n * When scroll starts we start a requestAnimationFrame loop that checks for\n * changes to scroll position. That rAF loop triggers our thumb position change\n * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n */\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener('scroll', handleScroll);\n return () => viewport.removeEventListener('scroll', handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n\n return (\n <Primitive.div\n data-state={scrollbarContext.hasThumb ? 'visible' : 'hidden'}\n {...thumbProps}\n ref={composedRef}\n style={{\n width: 'var(--radix-scroll-area-thumb-width)',\n height: 'var(--radix-scroll-area-thumb-height)',\n ...style,\n }}\n onPointerDownCapture={composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target as HTMLElement;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n })}\n onPointerUp={composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)}\n />\n );\n }\n);\n\nScrollAreaThumb.displayName = THUMB_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ScrollAreaCorner\n * -----------------------------------------------------------------------------------------------*/\n\nconst CORNER_NAME = 'ScrollAreaCorner';\n\ntype ScrollAreaCornerElement = ScrollAreaCornerImplElement;\ninterface ScrollAreaCornerProps extends ScrollAreaCornerImplProps {}\n\nconst ScrollAreaCorner = React.forwardRef<ScrollAreaCornerElement, ScrollAreaCornerProps>(\n (props: ScopedProps<ScrollAreaCornerProps>, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== 'scroll' && hasBothScrollbarsVisible;\n return hasCorner ? <ScrollAreaCornerImpl {...props} ref={forwardedRef} /> : null;\n }\n);\n\nScrollAreaCorner.displayName = CORNER_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ScrollAreaCornerImplElement = React.ComponentRef<typeof Primitive.div>;\ninterface ScrollAreaCornerImplProps extends PrimitiveDivProps {}\n\nconst ScrollAreaCornerImpl = React.forwardRef<\n ScrollAreaCornerImplElement,\n ScrollAreaCornerImplProps\n>((props: ScopedProps<ScrollAreaCornerImplProps>, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const hasSize = Boolean(width && height);\n\n useResizeObserver(context.scrollbarX, () => {\n const height = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height);\n setHeight(height);\n });\n\n useResizeObserver(context.scrollbarY, () => {\n const width = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width);\n setWidth(width);\n });\n\n return hasSize ? (\n <Primitive.div\n {...cornerProps}\n ref={forwardedRef}\n style={{\n width,\n height,\n position: 'absolute',\n right: context.dir === 'ltr' ? 0 : undefined,\n left: context.dir === 'rtl' ? 0 : undefined,\n bottom: 0,\n ...props.style,\n }}\n />\n ) : null;\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction toInt(value?: string) {\n return value ? parseInt(value, 10) : 0;\n}\n\nfunction getThumbRatio(viewportSize: number, contentSize: number) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\n\nfunction getThumbSize(sizes: Sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n // minimum of 18 matches macOS minimum\n return Math.max(thumbSize, 18);\n}\n\nfunction getScrollPositionFromPointer(\n pointerPos: number,\n pointerOffset: number,\n sizes: Sizes,\n dir: Direction = 'ltr'\n) {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === 'ltr' ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange as [number, number]);\n return interpolate(pointerPos);\n}\n\nfunction getThumbOffsetFromScroll(scrollPos: number, sizes: Sizes, dir: Direction = 'ltr') {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === 'ltr' ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange as [number, number]);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nfunction linearScale(input: readonly [number, number], output: readonly [number, number]) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n\nfunction isScrollingWithinScrollbarBounds(scrollPos: number, maxScrollPos: number) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\n\n// Custom scroll handler to avoid scroll-linked effects\n// https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\nconst addUnlinkedScrollListener = (node: HTMLElement, handler = () => {}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\n\nfunction useDebounceCallback(callback: () => void, delay: number) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React.useRef(0);\n React.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\n\nfunction useResizeObserver(element: HTMLElement | null, onResize: () => void) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n /**\n * Resize Observer will throw an often benign error that says `ResizeObserver loop\n * completed with undelivered notifications`. This means that ResizeObserver was not\n * able to deliver all observations within a single animation frame, so we use\n * `requestAnimationFrame` to ensure we don't deliver unnecessary observations.\n * Further reading: https://github.com/WICG/resize-observer/issues/38\n */\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = ScrollArea;\nconst Viewport = ScrollAreaViewport;\nconst Scrollbar = ScrollAreaScrollbar;\nconst Thumb = ScrollAreaThumb;\nconst Corner = ScrollAreaCorner;\n\nexport {\n createScrollAreaScope,\n //\n ScrollArea,\n ScrollAreaViewport,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaCorner,\n //\n Root,\n Viewport,\n Scrollbar,\n Thumb,\n Corner,\n};\nexport type {\n ScrollAreaProps,\n ScrollAreaViewportProps,\n ScrollAreaScrollbarProps,\n ScrollAreaThumbProps,\n ScrollAreaCornerProps,\n};\n","import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n ? R\n : never;\n\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>\n) {\n return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n const nextState = (machine[state] as any)[event];\n return nextState ?? state;\n }, initialState);\n}\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs\n * -----------------------------------------------------------------------------------------------*/\n\nconst TABS_NAME = 'Tabs';\n\ntype ScopedProps<P> = P & { __scopeTabs?: Scope };\nconst [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\n\ntype TabsContextValue = {\n baseId: string;\n value: string;\n onValueChange: (value: string) => void;\n orientation?: TabsProps['orientation'];\n dir?: TabsProps['dir'];\n activationMode?: TabsProps['activationMode'];\n};\n\nconst [TabsProvider, useTabsContext] = createTabsContext<TabsContextValue>(TABS_NAME);\n\ntype TabsElement = React.ComponentRef<typeof Primitive.div>;\ntype RovingFocusGroupProps = React.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface TabsProps extends PrimitiveDivProps {\n /** The value for the selected tab, if controlled */\n value?: string;\n /** The value of the tab to select by default, if uncontrolled */\n defaultValue?: string;\n /** A function called when a new tab is selected */\n onValueChange?: (value: string) => void;\n /**\n * The orientation the tabs are layed out.\n * Mainly so arrow navigation is done accordingly (left & right vs. up & down)\n * @defaultValue horizontal\n */\n orientation?: RovingFocusGroupProps['orientation'];\n /**\n * The direction of navigation between toolbar items.\n */\n dir?: RovingFocusGroupProps['dir'];\n /**\n * Whether a tab is activated automatically or manually.\n * @defaultValue automatic\n * */\n activationMode?: 'automatic' | 'manual';\n}\n\nconst Tabs = React.forwardRef<TabsElement, TabsProps>(\n (props: ScopedProps<TabsProps>, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = 'horizontal',\n dir,\n activationMode = 'automatic',\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? '',\n caller: TABS_NAME,\n });\n\n return (\n <TabsProvider\n scope={__scopeTabs}\n baseId={useId()}\n value={value}\n onValueChange={setValue}\n orientation={orientation}\n dir={direction}\n activationMode={activationMode}\n >\n <Primitive.div\n dir={direction}\n data-orientation={orientation}\n {...tabsProps}\n ref={forwardedRef}\n />\n </TabsProvider>\n );\n }\n);\n\nTabs.displayName = TABS_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst TAB_LIST_NAME = 'TabsList';\n\ntype TabsListElement = React.ComponentRef<typeof Primitive.div>;\ninterface TabsListProps extends PrimitiveDivProps {\n loop?: RovingFocusGroupProps['loop'];\n}\n\nconst TabsList = React.forwardRef<TabsListElement, TabsListProps>(\n (props: ScopedProps<TabsListProps>, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return (\n <RovingFocusGroup.Root\n asChild\n {...rovingFocusGroupScope}\n orientation={context.orientation}\n dir={context.dir}\n loop={loop}\n >\n <Primitive.div\n role=\"tablist\"\n aria-orientation={context.orientation}\n {...listProps}\n ref={forwardedRef}\n />\n </RovingFocusGroup.Root>\n );\n }\n);\n\nTabsList.displayName = TAB_LIST_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'TabsTrigger';\n\ntype TabsTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface TabsTriggerProps extends PrimitiveButtonProps {\n value: string;\n}\n\nconst TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(\n (props: ScopedProps<TabsTriggerProps>, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return (\n <RovingFocusGroup.Item\n asChild\n {...rovingFocusGroupScope}\n focusable={!disabled}\n active={isSelected}\n >\n <Primitive.button\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n aria-controls={contentId}\n data-state={isSelected ? 'active' : 'inactive'}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n id={triggerId}\n {...triggerProps}\n ref={forwardedRef}\n onMouseDown={composeEventHandlers(props.onMouseDown, (event) => {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n // prevent focus to avoid accidental activation\n event.preventDefault();\n }\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if ([' ', 'Enter'].includes(event.key)) context.onValueChange(value);\n })}\n onFocus={composeEventHandlers(props.onFocus, () => {\n // handle \"automatic\" activation if necessary\n // ie. activate tab following focus\n const isAutomaticActivation = context.activationMode !== 'manual';\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })}\n />\n </RovingFocusGroup.Item>\n );\n }\n);\n\nTabsTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'TabsContent';\n\ntype TabsContentElement = React.ComponentRef<typeof Primitive.div>;\ninterface TabsContentProps extends PrimitiveDivProps {\n value: string;\n\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst TabsContent = React.forwardRef<TabsContentElement, TabsContentProps>(\n (props: ScopedProps<TabsContentProps>, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => (isMountAnimationPreventedRef.current = false));\n return () => cancelAnimationFrame(rAF);\n }, []);\n\n return (\n <Presence present={forceMount || isSelected}>\n {({ present }) => (\n <Primitive.div\n data-state={isSelected ? 'active' : 'inactive'}\n data-orientation={context.orientation}\n role=\"tabpanel\"\n aria-labelledby={triggerId}\n hidden={!present}\n id={contentId}\n tabIndex={0}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? '0s' : undefined,\n }}\n >\n {present && children}\n </Primitive.div>\n )}\n </Presence>\n );\n }\n);\n\nTabsContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nfunction makeTriggerId(baseId: string, value: string) {\n return `${baseId}-trigger-${value}`;\n}\n\nfunction makeContentId(baseId: string, value: string) {\n return `${baseId}-content-${value}`;\n}\n\nconst Root = Tabs;\nconst List = TabsList;\nconst Trigger = TabsTrigger;\nconst Content = TabsContent;\n\nexport {\n createTabsScope,\n //\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n //\n Root,\n List,\n Trigger,\n Content,\n};\nexport type { TabsProps, TabsListProps, TabsTriggerProps, TabsContentProps };\n"],"names":["useIsomorphicLayoutEffect","canUse","Nq","rehackt","useLayoutEffect","useEffect","useMutation","mutation","options","client","useApolloClient","x","parser","Vp","n_","Mutation","_a","useState","called","loading","result","setResult","ref","useRef","mutationId","isMounted","Object","assign","current","execute","useCallback","executeOptions","baseOptions","tslib_es6","pi","ignoreResults","error","data","clientOptions","mergeOptions","J","mutate","then","response","_b","errors","length","client_errors","cA","graphQLErrors","onError","result_1","lib","D","onCompleted","result_2","reset","result_3","Presence","getter","mayWarn","present","children","props","presence","usePresence","initialState","machine","node","setNode","React2","stylesRef","prevPresentRef","prevAnimationNameRef","state","send","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","React","event","nextState","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","display","timeoutId","ownerWindow","ownerDocument","defaultView","window","handleAnimationEnd","isCurrentAnimation","includes","CSS","escape","animationName","target","currentFillMode","style","animationFillMode","setTimeout","handleAnimationStart","addEventListener","clearTimeout","removeEventListener","isPresent","getComputedStyle","child","only","useComposedRefs","getOwnPropertyDescriptor","element","get","isReactWarning","forceMount","displayName","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","defaultPrevented","document","createElement","SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","direction","useDirection","jsx","scope","onViewportChange","onContentChange","onScrollbarXChange","onScrollbarXEnabledChange","onScrollbarYChange","onScrollbarYEnabledChange","onCornerWidthChange","onCornerHeightChange","Primitive","div","position","VIEWPORT_NAME","ScrollAreaViewport","nonce","viewportProps","context","jsxs","Fragment","dangerouslySetInnerHTML","__html","overflowX","overflowY","minWidth","SCROLLBAR_NAME","ScrollAreaScrollbar","scrollbarProps","isHorizontal","orientation","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","debounceScrollEnd","useDebounceCallback","hidden","SCROLL","scrolling","SCROLL_END","POINTER_ENTER","interacting","POINTER_LEAVE","idle","HIDE","scrollDirection","prevScrollPos","handleScroll","scrollPos","onPointerEnter","onPointerLeave","handleResize","isOverflowX","offsetWidth","scrollWidth","isOverflowY","offsetHeight","scrollHeight","useResizeObserver","thumbRef","pointerOffsetRef","sizes","setSizes","scrollbar","size","paddingStart","paddingEnd","thumbRatio","getThumbRatio","commonProps","onSizesChange","hasThumb","Boolean","onThumbChange","thumb","onThumbPointerUp","onThumbPointerDown","pointerPos","getScrollPosition","getScrollPositionFromPointer","pointerOffset","thumbSizePx","getThumbSize","offset","minPointerPos","maxPointerPos","maxScrollPos","interpolate","ScrollAreaScrollbarX","onThumbPositionChange","getThumbOffsetFromScroll","scrollLeft","transform","concat","onWheelScroll","onDragScroll","ScrollAreaScrollbarY","scrollTop","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","bottom","left","right","deltaX","preventDefault","onResize","clientWidth","toInt","paddingLeft","paddingRight","top","y","deltaY","clientHeight","paddingTop","paddingBottom","ScrollbarProvider","useScrollbarContext","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","clientX","clientY","handleWheel","contains","passive","onPointerDown","button","setPointerCapture","pointerId","getBoundingClientRect","body","webkitUserSelect","scrollBehavior","onPointerMove","onPointerUp","hasPointerCapture","releasePointerCapture","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","width","height","onPointerDownCapture","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","hasCorner","ScrollAreaCornerImpl","cornerProps","setWidth","setHeight","hasSize","value","parseInt","viewportSize","contentSize","ratio","isNaN","scrollbarPadding","Math","max","scrollWithoutMomentum","clamp","linearScale","input","output","handler","prevPosition","rAF","loop","isHorizontalScroll","isVerticalScroll","requestAnimationFrame","cancelAnimationFrame","callback","delay","handleCallback","debounceTimerRef","resizeObserver","ResizeObserver","observe","unobserve","Root","Viewport","Corner","TABS_NAME","createTabsContext","createTabsScope","createRovingFocusGroupScope","useRovingFocusGroupScope","TabsProvider","useTabsContext","Tabs","__scopeTabs","valueProp","onValueChange","defaultValue","activationMode","tabsProps","setValue","useControllableState","prop","onChange","defaultProp","caller","baseId","useId","TAB_LIST_NAME","TabsList","listProps","rovingFocusGroupScope","RovingFocusGroup","asChild","role","TRIGGER_NAME","TabsTrigger","disabled","triggerProps","triggerId","makeTriggerId","contentId","makeContentId","isSelected","focusable","active","id","onMouseDown","ctrlKey","onKeyDown","key","onFocus","isAutomaticActivation","CONTENT_NAME","TabsContent","contentProps","isMountAnimationPreventedRef","param","tabIndex","animationDuration","List","Trigger","Content"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[723,3619],{22252:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},32660:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},55455:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Book",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20",key:"t4utmx"}]])},66901:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("CheckCircle2",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},33245:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},53417:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]])},52636:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},10866:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]])},45131:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("XCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},1119:function(e,t,n){n.d(t,{Z:function(){return r}});function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}},23619:function(e,t,n){n.d(t,{aU:function(){return eN},$j:function(){return eC},VY:function(){return eD},dk:function(){return ek},aV:function(){return eT},h_:function(){return ex},fC:function(){return eb},Dx:function(){return eR},xz:function(){return ew}});var r=n(2265),o=n(73966),i=n(98575),a=n(6741),l=n(99255),c=n(80886),u=n(22308),s=n(99103),d=n(83832),f=n(71599),p=n(66840),m=n(86097),g=n(60703),v=n(5478),y=n(37053),h=n(57437),b="Dialog",[w,x]=(0,o.b)(b),[T,D]=w(b),N=e=>{let{__scopeDialog:t,children:n,open:o,defaultOpen:i,onOpenChange:a,modal:u=!0}=e,s=r.useRef(null),d=r.useRef(null),[f,p]=(0,c.T)({prop:o,defaultProp:null!=i&&i,onChange:a,caller:b});return(0,h.jsx)(T,{scope:t,triggerRef:s,contentRef:d,contentId:(0,l.M)(),titleId:(0,l.M)(),descriptionId:(0,l.M)(),open:f,onOpenChange:p,onOpenToggle:r.useCallback(()=>p(e=>!e),[p]),modal:u,children:n})};N.displayName=b;var C="DialogTrigger",R=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=D(C,n),l=(0,i.e)(t,o.triggerRef);return(0,h.jsx)(p.WV.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":q(o.open),...r,ref:l,onClick:(0,a.M)(e.onClick,o.onOpenToggle)})});R.displayName=C;var k="DialogPortal",[j,M]=w(k,{forceMount:void 0}),A=e=>{let{__scopeDialog:t,forceMount:n,children:o,container:i}=e,a=D(k,t);return(0,h.jsx)(j,{scope:t,forceMount:n,children:r.Children.map(o,e=>(0,h.jsx)(f.z,{present:n||a.open,children:(0,h.jsx)(d.h,{asChild:!0,container:i,children:e})}))})};A.displayName=k;var O="DialogOverlay",S=r.forwardRef((e,t)=>{let n=M(O,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=D(O,e.__scopeDialog);return i.modal?(0,h.jsx)(f.z,{present:r||i.open,children:(0,h.jsx)(I,{...o,ref:t})}):null});S.displayName=O;var E=(0,y.Z8)("DialogOverlay.RemoveScroll"),I=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=D(O,n);return(0,h.jsx)(g.Z,{as:E,allowPinchZoom:!0,shards:[o.contentRef],children:(0,h.jsx)(p.WV.div,{"data-state":q(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),F="DialogContent",P=r.forwardRef((e,t)=>{let n=M(F,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=D(F,e.__scopeDialog);return(0,h.jsx)(f.z,{present:r||i.open,children:i.modal?(0,h.jsx)(_,{...o,ref:t}):(0,h.jsx)(z,{...o,ref:t})})});P.displayName=F;var _=r.forwardRef((e,t)=>{let n=D(F,e.__scopeDialog),o=r.useRef(null),l=(0,i.e)(t,n.contentRef,o);return r.useEffect(()=>{let e=o.current;if(e)return(0,v.Ry)(e)},[]),(0,h.jsx)(Z,{...e,ref:l,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,a.M)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null===(t=n.triggerRef.current)||void 0===t||t.focus()}),onPointerDownOutside:(0,a.M)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,a.M)(e.onFocusOutside,e=>e.preventDefault())})}),z=r.forwardRef((e,t)=>{let n=D(F,e.__scopeDialog),o=r.useRef(!1),i=r.useRef(!1);return(0,h.jsx)(Z,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var r,a;null===(r=e.onCloseAutoFocus)||void 0===r||r.call(e,t),t.defaultPrevented||(o.current||null===(a=n.triggerRef.current)||void 0===a||a.focus(),t.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:t=>{var r,a;null===(r=e.onInteractOutside)||void 0===r||r.call(e,t),t.defaultPrevented||(o.current=!0,"pointerdown"!==t.detail.originalEvent.type||(i.current=!0));let l=t.target;(null===(a=n.triggerRef.current)||void 0===a?void 0:a.contains(l))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),Z=r.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:l,...c}=e,d=D(F,n),f=r.useRef(null),p=(0,i.e)(t,f);return(0,m.EW)(),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s.M,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:a,onUnmountAutoFocus:l,children:(0,h.jsx)(u.XB,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":q(d.open),...c,ref:p,onDismiss:()=>d.onOpenChange(!1)})}),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(K,{titleId:d.titleId}),(0,h.jsx)($,{contentRef:f,descriptionId:d.descriptionId})]})]})}),L="DialogTitle",B=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=D(L,n);return(0,h.jsx)(p.WV.h2,{id:o.titleId,...r,ref:t})});B.displayName=L;var W="DialogDescription",U=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=D(W,n);return(0,h.jsx)(p.WV.p,{id:o.descriptionId,...r,ref:t})});U.displayName=W;var V="DialogClose",H=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=D(V,n);return(0,h.jsx)(p.WV.button,{type:"button",...r,ref:t,onClick:(0,a.M)(e.onClick,()=>o.onOpenChange(!1))})});function q(e){return e?"open":"closed"}H.displayName=V;var X="DialogTitleWarning",[Y,J]=(0,o.k)(X,{contentName:F,titleName:L,docsSlug:"dialog"}),K=e=>{let{titleId:t}=e,n=J(X),o="`".concat(n.contentName,"` requires a `").concat(n.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(n.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(n.docsSlug);return r.useEffect(()=>{t&&!document.getElementById(t)&&console.error(o)},[o,t]),null},$=e=>{let{contentRef:t,descriptionId:n}=e,o=J("DialogDescriptionWarning"),i="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(o.contentName,"}.");return r.useEffect(()=>{var e;let r=null===(e=t.current)||void 0===e?void 0:e.getAttribute("aria-describedby");n&&r&&!document.getElementById(n)&&console.warn(i)},[i,t,n]),null},G="AlertDialog",[Q,ee]=(0,o.b)(G,[x]),et=x(),en=e=>{let{__scopeAlertDialog:t,...n}=e,r=et(t);return(0,h.jsx)(N,{...r,...n,modal:!0})};en.displayName=G;var er=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,o=et(n);return(0,h.jsx)(R,{...o,...r,ref:t})});er.displayName="AlertDialogTrigger";var eo=e=>{let{__scopeAlertDialog:t,...n}=e,r=et(t);return(0,h.jsx)(A,{...r,...n})};eo.displayName="AlertDialogPortal";var ei=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,o=et(n);return(0,h.jsx)(S,{...o,...r,ref:t})});ei.displayName="AlertDialogOverlay";var ea="AlertDialogContent",[el,ec]=Q(ea),eu=(0,y.sA)("AlertDialogContent"),es=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:o,...l}=e,c=et(n),u=r.useRef(null),s=(0,i.e)(t,u),d=r.useRef(null);return(0,h.jsx)(Y,{contentName:ea,titleName:ed,docsSlug:"alert-dialog",children:(0,h.jsx)(el,{scope:n,cancelRef:d,children:(0,h.jsxs)(P,{role:"alertdialog",...c,...l,ref:s,onOpenAutoFocus:(0,a.M)(l.onOpenAutoFocus,e=>{var t;e.preventDefault(),null===(t=d.current)||void 0===t||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,h.jsx)(eu,{children:o}),(0,h.jsx)(eh,{contentRef:u})]})})})});es.displayName=ea;var ed="AlertDialogTitle",ef=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,o=et(n);return(0,h.jsx)(B,{...o,...r,ref:t})});ef.displayName=ed;var ep="AlertDialogDescription",em=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,o=et(n);return(0,h.jsx)(U,{...o,...r,ref:t})});em.displayName=ep;var eg=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,o=et(n);return(0,h.jsx)(H,{...o,...r,ref:t})});eg.displayName="AlertDialogAction";var ev="AlertDialogCancel",ey=r.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:o}=ec(ev,n),a=et(n),l=(0,i.e)(t,o);return(0,h.jsx)(H,{...a,...r,ref:l})});ey.displayName=ev;var eh=e=>{let{contentRef:t}=e,n="`".concat(ea,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(ea,"` by passing a `").concat(ep,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(ea,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return r.useEffect(()=>{var e;document.getElementById(null===(e=t.current)||void 0===e?void 0:e.getAttribute("aria-describedby"))||console.warn(n)},[n,t]),null},eb=en,ew=er,ex=eo,eT=ei,eD=es,eN=eg,eC=ey,eR=ef,ek=em},88985:function(e,t,n){n.d(t,{Fw:function(){return T},wy:function(){return w},fC:function(){return C}});var r=n(2265);"undefined"!=typeof window&&window.document&&window.document.createElement;var o=n(73966),i=n(80886),a=n(61188),l=n(98575),c=n(66840),u=e=>{var t,n;let o,i;let{present:c,children:u}=e,d=function(e){var t,n;let[o,i]=r.useState(),l=r.useRef(null),c=r.useRef(e),u=r.useRef("none"),[d,f]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>{let r=n[e][t];return null!=r?r:e},t));return r.useEffect(()=>{let e=s(l.current);u.current="mounted"===d?e:"none"},[d]),(0,a.b)(()=>{let t=l.current,n=c.current;if(n!==e){let r=u.current,o=s(t);e?f("MOUNT"):"none"===o||(null==t?void 0:t.display)==="none"?f("UNMOUNT"):n&&r!==o?f("ANIMATION_OUT"):f("UNMOUNT"),c.current=e}},[e,f]),(0,a.b)(()=>{if(o){var e;let t;let n=null!==(e=o.ownerDocument.defaultView)&&void 0!==e?e:window,r=e=>{let r=s(l.current).includes(CSS.escape(e.animationName));if(e.target===o&&r&&(f("ANIMATION_END"),!c.current)){let e=o.style.animationFillMode;o.style.animationFillMode="forwards",t=n.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=e)})}},i=e=>{e.target===o&&(u.current=s(l.current))};return o.addEventListener("animationstart",i),o.addEventListener("animationcancel",r),o.addEventListener("animationend",r),()=>{n.clearTimeout(t),o.removeEventListener("animationstart",i),o.removeEventListener("animationcancel",r),o.removeEventListener("animationend",r)}}f("ANIMATION_END")},[o,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:r.useCallback(e=>{l.current=e?getComputedStyle(e):null,i(e)},[])}}(c),f="function"==typeof u?u({present:d.isPresent}):r.Children.only(u),p=(0,l.e)(d.ref,(o=null===(t=Object.getOwnPropertyDescriptor(f.props,"ref"))||void 0===t?void 0:t.get)&&"isReactWarning"in o&&o.isReactWarning?f.ref:(o=null===(n=Object.getOwnPropertyDescriptor(f,"ref"))||void 0===n?void 0:n.get)&&"isReactWarning"in o&&o.isReactWarning?f.props.ref:f.props.ref||f.ref);return"function"==typeof u||d.isPresent?r.cloneElement(f,{ref:p}):null};function s(e){return(null==e?void 0:e.animationName)||"none"}u.displayName="Presence";var d=n(99255),f=n(57437),p="Collapsible",[m,g]=(0,o.b)(p),[v,y]=m(p),h=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:o,defaultOpen:a,disabled:l,onOpenChange:u,...s}=e,[m,g]=(0,i.T)({prop:o,defaultProp:null!=a&&a,onChange:u,caller:p});return(0,f.jsx)(v,{scope:n,disabled:l,contentId:(0,d.M)(),open:m,onOpenToggle:r.useCallback(()=>g(e=>!e),[g]),children:(0,f.jsx)(c.WV.div,{"data-state":N(m),"data-disabled":l?"":void 0,...s,ref:t})})});h.displayName=p;var b="CollapsibleTrigger",w=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,o=y(b,n);return(0,f.jsx)(c.WV.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":N(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...r,ref:t,onClick:function(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}(e.onClick,o.onOpenToggle)})});w.displayName=b;var x="CollapsibleContent",T=r.forwardRef((e,t)=>{let{forceMount:n,...r}=e,o=y(x,e.__scopeCollapsible);return(0,f.jsx)(u,{present:n||o.open,children:e=>{let{present:n}=e;return(0,f.jsx)(D,{...r,ref:t,present:n})}})});T.displayName=x;var D=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:o,children:i,...u}=e,s=y(x,n),[d,p]=r.useState(o),m=r.useRef(null),g=(0,l.e)(t,m),v=r.useRef(0),h=v.current,b=r.useRef(0),w=b.current,T=s.open||d,D=r.useRef(T),C=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>D.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,a.b)(()=>{let e=m.current;if(e){C.current=C.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();v.current=t.height,b.current=t.width,D.current||(e.style.transitionDuration=C.current.transitionDuration,e.style.animationName=C.current.animationName),p(o)}},[s.open,o]),(0,f.jsx)(c.WV.div,{"data-state":N(s.open),"data-disabled":s.disabled?"":void 0,id:s.contentId,hidden:!T,...u,ref:g,style:{"--radix-collapsible-content-height":h?"".concat(h,"px"):void 0,"--radix-collapsible-content-width":w?"".concat(w,"px"):void 0,...e.style},children:T&&i})});function N(e){return e?"open":"closed"}var C=h},20460:function(e,t,n){n.d(t,{h:function(){return m}});var r=n(57437),o=n(2265);let i={damping:.7,stiffness:.05,mass:1.25},a=1e3/60,l=!1;globalThis.document?.addEventListener("mousedown",()=>{l=!0}),globalThis.document?.addEventListener("mouseup",()=>{l=!1}),globalThis.document?.addEventListener("click",()=>{l=!1});let c=(e={})=>{let[t,n]=(0,o.useState)(!1),[r,i]=(0,o.useState)(!1!==e.initial),[c,s]=(0,o.useState)(!1),f=(0,o.useRef)(null);f.current=e;let p=(0,o.useCallback)(()=>{if(!l)return!1;let e=window.getSelection();if(!e||!e.rangeCount)return!1;let t=e.getRangeAt(0);return t.commonAncestorContainer.contains(x.current)||x.current?.contains(t.commonAncestorContainer)},[]),m=(0,o.useCallback)(e=>{v.isAtBottom=e,i(e)},[]),g=(0,o.useCallback)(e=>{v.escapedFromLock=e,n(e)},[]),v=(0,o.useMemo)(()=>{let n;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(scrollTop){x.current&&(x.current.scrollTop=scrollTop,v.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){if(!x.current||!T.current)return 0;return x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!T.current)return 0;let{targetScrollTop:t}=this;if(!e.targetScrollTop)return t;if(n?.targetScrollTop===t)return n.calculatedScrollTop;let r=Math.max(Math.min(e.targetScrollTop(t,{scrollElement:x.current,contentElement:T.current}),t),0);return n={targetScrollTop:t,calculatedScrollTop:r},requestAnimationFrame(()=>{n=void 0}),r},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=70}}},[]),y=(0,o.useCallback)((e={})=>{let t;"string"==typeof e&&(e={animation:e}),e.preserveScrollPosition||m(!0);let n=Date.now()+(Number(e.wait)||0),r=d(f.current,e.animation),{ignoreEscapes:o=!1}=e,i=v.calculatedTargetScrollTop;e.duration instanceof Promise?e.duration.finally(()=>{t=Date.now()}):t=n+(e.duration??0);let l=async()=>{let e=new Promise(requestAnimationFrame).then(()=>{if(!v.isAtBottom)return v.animation=void 0,!1;let{scrollTop:c}=v,u=performance.now(),s=(u-(v.lastTick??u))/a;if(v.animation||(v.animation={behavior:r,promise:e,ignoreEscapes:o}),v.animation.behavior===r&&(v.lastTick=u),p()||n>Date.now())return l();if(c<Math.min(i,v.calculatedTargetScrollTop)){if(v.animation?.behavior===r){if("instant"===r)return v.scrollTop=v.calculatedTargetScrollTop,l();v.velocity=(r.damping*v.velocity+r.stiffness*v.scrollDifference)/r.mass,v.accumulated+=v.velocity*s,v.scrollTop+=v.accumulated,v.scrollTop!==c&&(v.accumulated=0)}return l()}return t>Date.now()?(i=v.calculatedTargetScrollTop,l()):(v.animation=void 0,v.scrollTop<v.calculatedTargetScrollTop)?y({animation:d(f.current,f.current.resize),ignoreEscapes:o,duration:Math.max(0,t-Date.now())||void 0}):v.isAtBottom});return e.then(e=>(requestAnimationFrame(()=>{v.animation||(v.lastTick=void 0,v.velocity=0)}),e))};return(!0!==e.wait&&(v.animation=void 0),v.animation?.behavior===r)?v.animation.promise:l()},[m,p,v]),h=(0,o.useCallback)(()=>{g(!0),m(!1)},[g,m]),b=(0,o.useCallback)(({target:e})=>{if(e!==x.current)return;let{scrollTop:t,ignoreScrollToTop:n}=v,{lastScrollTop:r=t}=v;v.lastScrollTop=t,v.ignoreScrollToTop=void 0,n&&n>t&&(r=n),s(v.isNearBottom),setTimeout(()=>{if(v.resizeDifference||t===n)return;if(p()){g(!0),m(!1);return}let e=t>r,o=t<r;if(v.animation?.ignoreEscapes){v.scrollTop=r;return}o&&(g(!0),m(!1)),e&&g(!1),!v.escapedFromLock&&v.isNearBottom&&m(!0)},1)},[g,m,p,v]),w=(0,o.useCallback)(({target:e,deltaY:t})=>{let n=e;for(;!["scroll","auto"].includes(getComputedStyle(n).overflow);){if(!n.parentElement)return;n=n.parentElement}n===x.current&&t<0&&x.current.scrollHeight>x.current.clientHeight&&!v.animation?.ignoreEscapes&&(g(!0),m(!1))},[g,m,v]),x=u(e=>{x.current?.removeEventListener("scroll",b),x.current?.removeEventListener("wheel",w),e?.addEventListener("scroll",b,{passive:!0}),e?.addEventListener("wheel",w,{passive:!0})},[]),T=u(e=>{let t;v.resizeObserver?.disconnect(),e&&(v.resizeObserver=new ResizeObserver(([e])=>{let{height:n}=e.contentRect,r=n-(t??n);if(v.resizeDifference=r,v.scrollTop>v.targetScrollTop&&(v.scrollTop=v.targetScrollTop),s(v.isNearBottom),r>=0){let e=d(f.current,t?f.current.resize:f.current.initial);y({animation:e,wait:!0,preserveScrollPosition:!0,duration:"instant"===e?void 0:350})}else v.isNearBottom&&(g(!1),m(!0));t=n,requestAnimationFrame(()=>{setTimeout(()=>{v.resizeDifference===r&&(v.resizeDifference=0)},1)})}),v.resizeObserver?.observe(e))},[]);return{contentRef:T,scrollRef:x,scrollToBottom:y,stopScroll:h,isAtBottom:r||c,isNearBottom:c,escapedFromLock:t,state:v}};function u(e,t){let n=(0,o.useCallback)(t=>(n.current=t,e(t)),t);return n}let s=new Map;function d(...e){let t={...i},n=!1;for(let r of e){if("instant"===r){n=!0;continue}"object"==typeof r&&(n=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let r=JSON.stringify(t);return s.has(r)||s.set(r,Object.freeze(t)),n?"instant":s.get(r)}let f=(0,o.createContext)(null),p="undefined"!=typeof window?o.useLayoutEffect:o.useEffect;function m({instance:e,children:t,resize:n,initial:i,mass:a,damping:l,stiffness:u,targetScrollTop:s,contextRef:d,...m}){let g=(0,o.useRef)(null),v=c({mass:a,damping:l,stiffness:u,resize:n,initial:i,targetScrollTop:o.useCallback((e,t)=>{let n=N?.targetScrollTop??s;return n?.(e,t)??e},[s])}),{scrollRef:y,contentRef:h,scrollToBottom:b,stopScroll:w,isAtBottom:x,escapedFromLock:T,state:D}=e??v,N=(0,o.useMemo)(()=>({scrollToBottom:b,stopScroll:w,scrollRef:y,isAtBottom:x,escapedFromLock:T,contentRef:h,state:D,get targetScrollTop(){return g.current},set targetScrollTop(targetScrollTop){g.current=targetScrollTop}}),[b,x,h,y,w,T,D]);return(0,o.useImperativeHandle)(d,()=>N,[N]),p(()=>{y.current&&"visible"===getComputedStyle(y.current).overflow&&(y.current.style.overflow="auto")},[]),(0,r.jsx)(f.Provider,{value:N,children:(0,r.jsx)("div",{...m,children:"function"==typeof t?t(N):t})})}(m||(m={})).Content=function({children:e,...t}){let n=function(){let e=(0,o.useContext)(f);if(!e)throw Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}();return(0,r.jsx)("div",{ref:n.scrollRef,style:{height:"100%",width:"100%"},children:(0,r.jsx)("div",{...t,ref:n.contentRef,children:"function"==typeof e?e(n):e})})}}}]);
|
|
2
|
+
//# sourceMappingURL=723-94e596796cbf911d.js.map
|