@exulu/frontend 1.8.0 → 1.10.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 +153 -155
- 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_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +8 -8
- 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_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +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 +4 -4
- 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/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_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/prompts/page.js +1 -1
- package/dist/.next/server/app/(application)/prompts/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_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-paths-manifest.json +5 -5
- package/dist/.next/server/chunks/1025.js +1 -0
- package/dist/.next/server/chunks/2270.js +18 -44
- package/dist/.next/server/chunks/3434.js +1 -1
- package/dist/.next/server/chunks/3503.js +1 -0
- package/dist/.next/server/chunks/5084.js +1 -0
- package/dist/.next/server/chunks/5192.js +1 -1
- package/dist/.next/server/chunks/5485.js +1 -1
- package/dist/.next/server/chunks/5600.js +1 -1
- package/dist/.next/server/chunks/5974.js +1 -0
- package/dist/.next/server/chunks/6590.js +1 -1
- package/dist/.next/server/chunks/7471.js +1 -1
- package/dist/.next/server/chunks/8286.js +1 -1
- package/dist/.next/server/chunks/{3679.js → 9874.js} +5 -5
- 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/1685-939396dad2f8f1e0.js +2 -0
- package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js.map +1 -0
- package/dist/.next/static/chunks/{4811-316807e25b634f9f.js → 192-72d6868cd891ccc6.js} +8 -8
- package/dist/.next/static/chunks/192-72d6868cd891ccc6.js.map +1 -0
- package/dist/.next/static/chunks/1957-cf44b1d31a9c7d5c.js +2 -0
- package/dist/.next/static/chunks/1957-cf44b1d31a9c7d5c.js.map +1 -0
- package/dist/.next/static/chunks/342-d9c2d6ae9f9435cb.js +2 -0
- package/dist/.next/static/chunks/342-d9c2d6ae9f9435cb.js.map +1 -0
- package/dist/.next/static/chunks/3750-e3d1b2cccd265190.js +2 -0
- package/dist/.next/static/chunks/3750-e3d1b2cccd265190.js.map +1 -0
- package/dist/.next/static/chunks/{3832-417a5eeee712a793.js → 3832-d7782d6a2771ae6c.js} +1 -1
- package/dist/.next/static/chunks/{3832-417a5eeee712a793.js.map → 3832-d7782d6a2771ae6c.js.map} +1 -1
- package/dist/.next/static/chunks/552-39155a93c527ec6d.js +2 -0
- package/dist/.next/static/chunks/552-39155a93c527ec6d.js.map +1 -0
- package/dist/.next/static/chunks/6280-50b751f993f2fe4f.js +2 -0
- package/dist/.next/static/chunks/6280-50b751f993f2fe4f.js.map +1 -0
- package/dist/.next/static/chunks/6367-59655a85d75e19be.js +2 -0
- package/dist/.next/static/chunks/6367-59655a85d75e19be.js.map +1 -0
- package/dist/.next/static/chunks/6373-aef582adc575d3ca.js +2 -0
- package/dist/.next/static/chunks/6373-aef582adc575d3ca.js.map +1 -0
- package/dist/.next/static/chunks/8030-9c926ea4dfd3a54e.js +2 -0
- package/dist/.next/static/chunks/8030-9c926ea4dfd3a54e.js.map +1 -0
- package/dist/.next/static/chunks/{6805-792cc8008b165c07.js → 8293-ba5cd36594e6fde1.js} +10 -10
- package/dist/.next/static/chunks/8293-ba5cd36594e6fde1.js.map +1 -0
- package/dist/.next/static/chunks/9105-d8ff41060f7ffc85.js +2 -0
- package/dist/.next/static/chunks/9105-d8ff41060f7ffc85.js.map +1 -0
- package/dist/.next/static/chunks/9953-95900a236271a222.js +2 -0
- package/dist/.next/static/chunks/9953-95900a236271a222.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-e4a4693953329671.js +2 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-e4a4693953329671.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-d59534ca19eee51f.js +2 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-d59534ca19eee51f.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-0c7c1b0e1713bf60.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-0c7c1b0e1713bf60.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-7db6bfbf02606136.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-7db6bfbf02606136.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js +2 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-a39fef7444581565.js → page-827f50c6d1f150d0.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-a39fef7444581565.js.map → page-827f50c6d1f150d0.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/explorer/{page-1d676c9dfe3ed58b.js → page-e6b1c034c07776e2.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/explorer/{page-1d676c9dfe3ed58b.js.map → page-e6b1c034c07776e2.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-f04fd5291a1ef7b1.js +2 -0
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-f04fd5291a1ef7b1.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/prompts/page-2c500e9898447506.js +2 -0
- package/dist/.next/static/chunks/app/(application)/prompts/page-2c500e9898447506.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/token/{page-3f74f711f3d04fce.js → page-3acc39cb8a718331.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/token/{page-3f74f711f3d04fce.js.map → page-3acc39cb8a718331.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/workflows/{page-47dedb88cec600d5.js → page-e38f9456120dab69.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/workflows/page-e38f9456120dab69.js.map +1 -0
- package/dist/.next/static/chunks/ba12c10f-85ed008ce7746dbe.js +2 -0
- package/dist/.next/static/chunks/ba12c10f-85ed008ce7746dbe.js.map +1 -0
- package/dist/.next/static/css/9c08ae5d990a6b14.css +4 -0
- package/dist/.next/static/css/9c08ae5d990a6b14.css.map +1 -0
- package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/.next/server/chunks/2948.js +0 -1
- package/dist/.next/server/chunks/38.js +0 -1
- package/dist/.next/server/chunks/7958.js +0 -1
- package/dist/.next/server/chunks/8050.js +0 -1
- package/dist/.next/static/chunks/1685-9cacdee7e3f0942f.js +0 -2
- package/dist/.next/static/chunks/1685-9cacdee7e3f0942f.js.map +0 -1
- package/dist/.next/static/chunks/1957-39a01a3915f246ab.js +0 -2
- package/dist/.next/static/chunks/1957-39a01a3915f246ab.js.map +0 -1
- package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js +0 -2
- package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js.map +0 -1
- package/dist/.next/static/chunks/4811-316807e25b634f9f.js.map +0 -1
- package/dist/.next/static/chunks/5282-68f9880f1f951f44.js +0 -2
- package/dist/.next/static/chunks/5282-68f9880f1f951f44.js.map +0 -1
- package/dist/.next/static/chunks/572-2940a399da1e3a3b.js +0 -2
- package/dist/.next/static/chunks/572-2940a399da1e3a3b.js.map +0 -1
- package/dist/.next/static/chunks/6367-59cef3c74213925b.js +0 -2
- package/dist/.next/static/chunks/6367-59cef3c74213925b.js.map +0 -1
- package/dist/.next/static/chunks/6373-4c5dffaf4193621c.js +0 -2
- package/dist/.next/static/chunks/6373-4c5dffaf4193621c.js.map +0 -1
- package/dist/.next/static/chunks/6805-792cc8008b165c07.js.map +0 -1
- package/dist/.next/static/chunks/8030-c1b6be46253076cb.js +0 -2
- package/dist/.next/static/chunks/8030-c1b6be46253076cb.js.map +0 -1
- package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js +0 -2
- package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js.map +0 -1
- package/dist/.next/static/chunks/9621-f81c4d7c0ecf5a67.js +0 -2
- package/dist/.next/static/chunks/9621-f81c4d7c0ecf5a67.js.map +0 -1
- package/dist/.next/static/chunks/9953-dfb5fc0e5b74ec09.js +0 -2
- package/dist/.next/static/chunks/9953-dfb5fc0e5b74ec09.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-4e7e02768ed1a72a.js +0 -2
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-4e7e02768ed1a72a.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-38f845d5ccdad76b.js +0 -2
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-38f845d5ccdad76b.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-2d47be0ee80dd89d.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-2d47be0ee80dd89d.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-a391b8407f74e9b4.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-a391b8407f74e9b4.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-cf6f8d2bd4e9c819.js +0 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-cf6f8d2bd4e9c819.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-bc859da58d8505f7.js +0 -2
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-bc859da58d8505f7.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/prompts/page-d2f36ff149385efd.js +0 -2
- package/dist/.next/static/chunks/app/(application)/prompts/page-d2f36ff149385efd.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/workflows/page-47dedb88cec600d5.js.map +0 -1
- package/dist/.next/static/chunks/ba12c10f-aaafcb074f608624.js +0 -2
- package/dist/.next/static/chunks/ba12c10f-aaafcb074f608624.js.map +0 -1
- package/dist/.next/static/css/c8c015815c72d053.css +0 -4
- package/dist/.next/static/css/c8c015815c72d053.css.map +0 -1
- /package/dist/.next/static/{GOwerAkBncYx0J8q1TqQb → 3j63p6b3zZZB_v1Hn8Mxp}/_buildManifest.js +0 -0
- /package/dist/.next/static/{GOwerAkBncYx0J8q1TqQb → 3j63p6b3zZZB_v1Hn8Mxp}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/chunks/552-39155a93c527ec6d.js","mappings":"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","sources":["webpack://_N_E/../../../src/icons/alert-circle.ts","webpack://_N_E/../../../src/icons/arrow-left.ts","webpack://_N_E/../../../src/icons/book.ts","webpack://_N_E/../../../src/icons/check-circle-2.ts","webpack://_N_E/../../../src/icons/chevron-down.ts","webpack://_N_E/../../../src/icons/info.ts","webpack://_N_E/../../../src/icons/loader-2.ts","webpack://_N_E/../../../src/icons/message-square.ts","webpack://_N_E/../../../src/icons/pencil.ts","webpack://_N_E/../../../src/icons/refresh-ccw.ts","webpack://_N_E/../../../src/icons/x-circle.ts","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://_N_E/./node_modules/@radix-ui/number/dist/index.mjs","webpack://_N_E/../src/dialog.tsx","webpack://_N_E/../src/alert-dialog.tsx","webpack://_N_E/./node_modules/date-fns/differenceInCalendarMonths.mjs","webpack://_N_E/./node_modules/date-fns/endOfMonth.mjs","webpack://_N_E/./node_modules/date-fns/constructNow.mjs","webpack://_N_E/./node_modules/date-fns/compareAsc.mjs","webpack://_N_E/./node_modules/date-fns/endOfDay.mjs","webpack://_N_E/./node_modules/date-fns/isLastDayOfMonth.mjs","webpack://_N_E/./node_modules/date-fns/differenceInMonths.mjs","webpack://_N_E/./node_modules/date-fns/_lib/getRoundingMethod.mjs","webpack://_N_E/./node_modules/date-fns/differenceInMilliseconds.mjs","webpack://_N_E/./node_modules/date-fns/differenceInSeconds.mjs","webpack://_N_E/./node_modules/date-fns/formatDistance.mjs","webpack://_N_E/./node_modules/date-fns/formatDistanceToNow.mjs","webpack://_N_E/./node_modules/use-stick-to-bottom/dist/useStickToBottom.js","webpack://_N_E/./node_modules/use-stick-to-bottom/dist/StickToBottom.js"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name AlertCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/alert-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst AlertCircle = createLucideIcon('AlertCircle', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['line', { x1: '12', x2: '12', y1: '8', y2: '12', key: '1pkeuh' }],\n ['line', { x1: '12', x2: '12.01', y1: '16', y2: '16', key: '4dfq90' }],\n]);\n\nexport default AlertCircle;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ArrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/arrow-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowLeft = createLucideIcon('ArrowLeft', [\n ['path', { d: 'm12 19-7-7 7-7', key: '1l729n' }],\n ['path', { d: 'M19 12H5', key: 'x3x0zl' }],\n]);\n\nexport default ArrowLeft;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Book\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/book\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Book = createLucideIcon('Book', [\n ['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' }],\n]);\n\nexport default Book;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name CheckCircle2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/check-circle-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CheckCircle2 = createLucideIcon('CheckCircle2', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm9 12 2 2 4-4', key: 'dzmm74' }],\n]);\n\nexport default CheckCircle2;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('ChevronDown', [\n ['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }],\n]);\n\nexport default ChevronDown;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Info = createLucideIcon('Info', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M12 16v-4', key: '1dtifu' }],\n ['path', { d: 'M12 8h.01', key: 'e9boi3' }],\n]);\n\nexport default Info;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Loader2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/loader-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Loader2 = createLucideIcon('Loader2', [\n ['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }],\n]);\n\nexport default Loader2;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name MessageSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/message-square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst MessageSquare = createLucideIcon('MessageSquare', [\n ['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' }],\n]);\n\nexport default MessageSquare;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pencil = createLucideIcon('Pencil', [\n ['path', { d: 'M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z', key: '5qss01' }],\n ['path', { d: 'm15 5 4 4', key: '1mk7zo' }],\n]);\n\nexport default Pencil;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name RefreshCcw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/refresh-ccw\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst RefreshCcw = createLucideIcon('RefreshCcw', [\n ['path', { d: 'M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8', key: '14sxne' }],\n ['path', { d: 'M3 3v5h5', key: '1xhq8a' }],\n ['path', { d: 'M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16', key: '1hlbsb' }],\n ['path', { d: 'M16 16h5v5', key: 'ccwih5' }],\n]);\n\nexport default RefreshCcw;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name XCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/x-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst XCircle = createLucideIcon('XCircle', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm15 9-6 6', key: '1uzhvr' }],\n ['path', { d: 'm9 9 6 6', key: 'z0biqf' }],\n]);\n\nexport default XCircle;\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { createSlot } from '@radix-ui/react-slot';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n contentRef: React.RefObject<DialogContentElement | null>;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext<DialogContextValue>(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC<DialogProps> = (props: ScopedProps<DialogProps>) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const contentRef = React.useRef<DialogContentElement>(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME,\n });\n\n return (\n <DialogProvider\n scope={__scopeDialog}\n triggerRef={triggerRef}\n contentRef={contentRef}\n contentId={useId()}\n titleId={useId()}\n descriptionId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n </DialogProvider>\n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n (props: ScopedProps<DialogTriggerProps>, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\n <Primitive.button\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={context.open}\n aria-controls={context.contentId}\n data-state={getState(context.open)}\n {...triggerProps}\n ref={composedTriggerRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n }\n);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface DialogPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\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 DialogPortal: React.FC<DialogPortalProps> = (props: ScopedProps<DialogPortalProps>) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n {React.Children.map(children, (child) => (\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {child}\n </PortalPrimitive>\n </Presence>\n ))}\n </PortalProvider>\n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\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 DialogOverlay = React.forwardRef<DialogOverlayElement, DialogOverlayProps>(\n (props: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n <Presence present={forceMount || context.open}>\n <DialogOverlayImpl {...overlayProps} ref={forwardedRef} />\n </Presence>\n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst Slot = createSlot('DialogOverlay.RemoveScroll');\n\nconst DialogOverlayImpl = React.forwardRef<DialogOverlayImplElement, DialogOverlayImplProps>(\n (props: ScopedProps<DialogOverlayImplProps>, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n <RemoveScroll as={Slot} allowPinchZoom shards={[context.contentRef]}>\n <Primitive.div\n data-state={getState(context.open)}\n {...overlayProps}\n ref={forwardedRef}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n style={{ pointerEvents: 'auto', ...overlayProps.style }}\n />\n </RemoveScroll>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\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 DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n (props: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <DialogContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {}\n\nconst DialogContentModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n <DialogContentImpl\n {...props}\n ref={composedRefs}\n // we make sure focus isn't trapped once `DialogContent` has been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\n })}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <DialogContentImpl\n {...props}\n ref={forwardedRef}\n trapFocus={false}\n disableOutsidePointerEvents={false}\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === 'pointerdown') {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ComponentRef<typeof DismissableLayer>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;\ninterface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: FocusScopeProps['trapped'];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n}\n\nconst DialogContentImpl = React.forwardRef<DialogContentImplElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (because of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n role=\"dialog\"\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n />\n </FocusScope>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning contentRef={contentRef} descriptionId={context.descriptionId} />\n </>\n )}\n </>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ComponentRef<typeof Primitive.h2>;\ntype PrimitiveHeading2Props = React.ComponentPropsWithoutRef<typeof Primitive.h2>;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return <Primitive.h2 id={context.titleId} {...titleProps} ref={forwardedRef} />;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ComponentRef<typeof Primitive.p>;\ntype PrimitiveParagraphProps = React.ComponentPropsWithoutRef<typeof Primitive.p>;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return <Primitive.p id={context.descriptionId} {...descriptionProps} ref={forwardedRef} />;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ComponentRef<typeof Primitive.button>;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () => context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC<TitleWarningProps> = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<DialogContentElement | null>;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n","import * as React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { createDialogScope } from '@radix-ui/react-dialog';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createSlottable } from '@radix-ui/react-slot';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst ROOT_NAME = 'AlertDialog';\n\ntype ScopedProps<P> = P & { __scopeAlertDialog?: Scope };\nconst [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope,\n]);\nconst useDialogScope = createDialogScope();\n\ntype DialogProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;\ninterface AlertDialogProps extends Omit<DialogProps, 'modal'> {}\n\nconst AlertDialog: React.FC<AlertDialogProps> = (props: ScopedProps<AlertDialogProps>) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return <DialogPrimitive.Root {...dialogScope} {...alertDialogProps} modal={true} />;\n};\n\nAlertDialog.displayName = ROOT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogTrigger\n * -----------------------------------------------------------------------------------------------*/\nconst TRIGGER_NAME = 'AlertDialogTrigger';\n\ntype AlertDialogTriggerElement = React.ComponentRef<typeof DialogPrimitive.Trigger>;\ntype DialogTriggerProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;\ninterface AlertDialogTriggerProps extends DialogTriggerProps {}\n\nconst AlertDialogTrigger = React.forwardRef<AlertDialogTriggerElement, AlertDialogTriggerProps>(\n (props: ScopedProps<AlertDialogTriggerProps>, forwardedRef) => {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return <DialogPrimitive.Trigger {...dialogScope} {...triggerProps} ref={forwardedRef} />;\n }\n);\n\nAlertDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'AlertDialogPortal';\n\ntype DialogPortalProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;\ninterface AlertDialogPortalProps extends DialogPortalProps {}\n\nconst AlertDialogPortal: React.FC<AlertDialogPortalProps> = (\n props: ScopedProps<AlertDialogPortalProps>\n) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return <DialogPrimitive.Portal {...dialogScope} {...portalProps} />;\n};\n\nAlertDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'AlertDialogOverlay';\n\ntype AlertDialogOverlayElement = React.ComponentRef<typeof DialogPrimitive.Overlay>;\ntype DialogOverlayProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>;\ninterface AlertDialogOverlayProps extends DialogOverlayProps {}\n\nconst AlertDialogOverlay = React.forwardRef<AlertDialogOverlayElement, AlertDialogOverlayProps>(\n (props: ScopedProps<AlertDialogOverlayProps>, forwardedRef) => {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return <DialogPrimitive.Overlay {...dialogScope} {...overlayProps} ref={forwardedRef} />;\n }\n);\n\nAlertDialogOverlay.displayName = OVERLAY_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AlertDialogContent';\n\ntype AlertDialogContentContextValue = {\n cancelRef: React.MutableRefObject<AlertDialogCancelElement | null>;\n};\n\nconst [AlertDialogContentProvider, useAlertDialogContentContext] =\n createAlertDialogContext<AlertDialogContentContextValue>(CONTENT_NAME);\n\ntype AlertDialogContentElement = React.ComponentRef<typeof DialogPrimitive.Content>;\ntype DialogContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>;\ninterface AlertDialogContentProps\n extends Omit<DialogContentProps, 'onPointerDownOutside' | 'onInteractOutside'> {}\n\nconst Slottable = createSlottable('AlertDialogContent');\n\nconst AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDialogContentProps>(\n (props: ScopedProps<AlertDialogContentProps>, forwardedRef) => {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef<AlertDialogContentElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef<AlertDialogCancelElement | null>(null);\n\n return (\n <DialogPrimitive.WarningProvider\n contentName={CONTENT_NAME}\n titleName={TITLE_NAME}\n docsSlug=\"alert-dialog\"\n >\n <AlertDialogContentProvider scope={__scopeAlertDialog} cancelRef={cancelRef}>\n <DialogPrimitive.Content\n role=\"alertdialog\"\n {...dialogScope}\n {...contentProps}\n ref={composedRefs}\n onOpenAutoFocus={composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n })}\n onPointerDownOutside={(event) => event.preventDefault()}\n onInteractOutside={(event) => event.preventDefault()}\n >\n {/**\n * We have to use `Slottable` here as we cannot wrap the `AlertDialogContentProvider`\n * around everything, otherwise the `DescriptionWarning` would be rendered straight away.\n * This is because we want the accessibility checks to run only once the content is actually\n * open and that behaviour is already encapsulated in `DialogContent`.\n */}\n <Slottable>{children}</Slottable>\n {process.env.NODE_ENV === 'development' && (\n <DescriptionWarning contentRef={contentRef} />\n )}\n </DialogPrimitive.Content>\n </AlertDialogContentProvider>\n </DialogPrimitive.WarningProvider>\n );\n }\n);\n\nAlertDialogContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'AlertDialogTitle';\n\ntype AlertDialogTitleElement = React.ComponentRef<typeof DialogPrimitive.Title>;\ntype DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;\ninterface AlertDialogTitleProps extends DialogTitleProps {}\n\nconst AlertDialogTitle = React.forwardRef<AlertDialogTitleElement, AlertDialogTitleProps>(\n (props: ScopedProps<AlertDialogTitleProps>, forwardedRef) => {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return <DialogPrimitive.Title {...dialogScope} {...titleProps} ref={forwardedRef} />;\n }\n);\n\nAlertDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'AlertDialogDescription';\n\ntype AlertDialogDescriptionElement = React.ComponentRef<typeof DialogPrimitive.Description>;\ntype DialogDescriptionProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;\ninterface AlertDialogDescriptionProps extends DialogDescriptionProps {}\n\nconst AlertDialogDescription = React.forwardRef<\n AlertDialogDescriptionElement,\n AlertDialogDescriptionProps\n>((props: ScopedProps<AlertDialogDescriptionProps>, forwardedRef) => {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return <DialogPrimitive.Description {...dialogScope} {...descriptionProps} ref={forwardedRef} />;\n});\n\nAlertDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogAction\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACTION_NAME = 'AlertDialogAction';\n\ntype AlertDialogActionElement = React.ComponentRef<typeof DialogPrimitive.Close>;\ntype DialogCloseProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;\ninterface AlertDialogActionProps extends DialogCloseProps {}\n\nconst AlertDialogAction = React.forwardRef<AlertDialogActionElement, AlertDialogActionProps>(\n (props: ScopedProps<AlertDialogActionProps>, forwardedRef) => {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return <DialogPrimitive.Close {...dialogScope} {...actionProps} ref={forwardedRef} />;\n }\n);\n\nAlertDialogAction.displayName = ACTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogCancel\n * -----------------------------------------------------------------------------------------------*/\n\nconst CANCEL_NAME = 'AlertDialogCancel';\n\ntype AlertDialogCancelElement = React.ComponentRef<typeof DialogPrimitive.Close>;\ninterface AlertDialogCancelProps extends DialogCloseProps {}\n\nconst AlertDialogCancel = React.forwardRef<AlertDialogCancelElement, AlertDialogCancelProps>(\n (props: ScopedProps<AlertDialogCancelProps>, forwardedRef) => {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return <DialogPrimitive.Close {...dialogScope} {...cancelProps} ref={ref} />;\n }\n);\n\nAlertDialogCancel.displayName = CANCEL_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<AlertDialogContentElement | null>;\n};\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef }) => {\n const MESSAGE = `\\`${CONTENT_NAME}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${CONTENT_NAME}\\` by passing a \\`${DESCRIPTION_NAME}\\` 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 \\`${CONTENT_NAME}\\`. 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`;\n\n React.useEffect(() => {\n const hasDescription = document.getElementById(\n contentRef.current?.getAttribute('aria-describedby')!\n );\n if (!hasDescription) console.warn(MESSAGE);\n }, [MESSAGE, contentRef]);\n\n return null;\n};\n\nconst Root = AlertDialog;\nconst Trigger = AlertDialogTrigger;\nconst Portal = AlertDialogPortal;\nconst Overlay = AlertDialogOverlay;\nconst Content = AlertDialogContent;\nconst Action = AlertDialogAction;\nconst Cancel = AlertDialogCancel;\nconst Title = AlertDialogTitle;\nconst Description = AlertDialogDescription;\n\nexport {\n createAlertDialogScope,\n //\n AlertDialog,\n AlertDialogTrigger,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogContent,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogTitle,\n AlertDialogDescription,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Action,\n Cancel,\n Title,\n Description,\n};\nexport type {\n AlertDialogProps,\n AlertDialogTriggerProps,\n AlertDialogPortalProps,\n AlertDialogOverlayProps,\n AlertDialogContentProps,\n AlertDialogActionProps,\n AlertDialogCancelProps,\n AlertDialogTitleProps,\n AlertDialogDescriptionProps,\n};\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear();\n const monthDiff = _dateLeft.getMonth() - _dateRight.getMonth();\n\n return yearDiff * 12 + monthDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n const _date = toDate(date);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n * date: DateType | number | string,\n * ): boolean {\n * // If we were to use `new Date()` directly, the function would behave\n * // differently in different timezones and return false for the same date.\n * return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport function compareAsc(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const diff = _dateLeft.getTime() - _dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n// Fallback for modularized imports:\nexport default compareAsc;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date) {\n const _date = toDate(date);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n","import { endOfDay } from \"./endOfDay.mjs\";\nimport { endOfMonth } from \"./endOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n\n * @returns The date is the last day of a month\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport function isLastDayOfMonth(date) {\n const _date = toDate(date);\n return +endOfDay(_date) === +endOfMonth(_date);\n}\n\n// Fallback for modularized imports:\nexport default isLastDayOfMonth;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { differenceInCalendarMonths } from \"./differenceInCalendarMonths.mjs\";\nimport { isLastDayOfMonth } from \"./isLastDayOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport function differenceInMonths(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const sign = compareAsc(_dateLeft, _dateRight);\n const difference = Math.abs(\n differenceInCalendarMonths(_dateLeft, _dateRight),\n );\n let result;\n\n // Check for the difference of less than month\n if (difference < 1) {\n result = 0;\n } else {\n if (_dateLeft.getMonth() === 1 && _dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n _dateLeft.setDate(30);\n }\n\n _dateLeft.setMonth(_dateLeft.getMonth() - sign * difference);\n\n // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n let isLastMonthNotFull = compareAsc(_dateLeft, _dateRight) === -sign;\n\n // Check for cases of one full calendar month\n if (\n isLastDayOfMonth(toDate(dateLeft)) &&\n difference === 1 &&\n compareAsc(dateLeft, _dateRight) === 1\n ) {\n isLastMonthNotFull = false;\n }\n\n result = sign * (difference - Number(isLastMonthNotFull));\n }\n\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}\n\n// Fallback for modularized imports:\nexport default differenceInMonths;\n","export function getRoundingMethod(method) {\n return (number) => {\n const round = method ? Math[method] : Math.trunc;\n const result = round(number);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n };\n}\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport function differenceInMilliseconds(dateLeft, dateRight) {\n return +toDate(dateLeft) - +toDate(dateRight);\n}\n\n// Fallback for modularized imports:\nexport default differenceInMilliseconds;\n","import { getRoundingMethod } from \"./_lib/getRoundingMethod.mjs\";\nimport { differenceInMilliseconds } from \"./differenceInMilliseconds.mjs\";\n\n/**\n * The {@link differenceInSeconds} function options.\n */\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n * @param options - An object with options.\n *\n * @returns The number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport function differenceInSeconds(dateLeft, dateRight, options) {\n const diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// Fallback for modularized imports:\nexport default differenceInSeconds;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { minutesInDay, minutesInMonth } from \"./constants.mjs\";\nimport { differenceInMonths } from \"./differenceInMonths.mjs\";\nimport { differenceInSeconds } from \"./differenceInSeconds.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * The {@link formatDistance} function options.\n */\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date\n * @param baseDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport function formatDistance(date, baseDate, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n const minutesInAlmostTwoDays = 2520;\n\n const comparison = compareAsc(date, baseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n const localizeOptions = Object.assign({}, options, {\n addSuffix: options?.addSuffix,\n comparison: comparison,\n });\n\n let dateLeft;\n let dateRight;\n if (comparison > 0) {\n dateLeft = toDate(baseDate);\n dateRight = toDate(date);\n } else {\n dateLeft = toDate(date);\n dateRight = toDate(baseDate);\n }\n\n const seconds = differenceInSeconds(dateRight, dateLeft);\n const offsetInSeconds =\n (getTimezoneOffsetInMilliseconds(dateRight) -\n getTimezoneOffsetInMilliseconds(dateLeft)) /\n 1000;\n const minutes = Math.round((seconds - offsetInSeconds) / 60);\n let months;\n\n // 0 up to 2 mins\n if (minutes < 2) {\n if (options?.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n }\n }\n\n // 2 mins up to 0.75 hrs\n } else if (minutes < 45) {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n\n // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n\n // 1.5 hrs up to 24 hrs\n } else if (minutes < minutesInDay) {\n const hours = Math.round(minutes / 60);\n return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n\n // 1 day up to 1.75 days\n } else if (minutes < minutesInAlmostTwoDays) {\n return locale.formatDistance(\"xDays\", 1, localizeOptions);\n\n // 1.75 days up to 30 days\n } else if (minutes < minutesInMonth) {\n const days = Math.round(minutes / minutesInDay);\n return locale.formatDistance(\"xDays\", days, localizeOptions);\n\n // 1 month up to 2 months\n } else if (minutes < minutesInMonth * 2) {\n months = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n }\n\n months = differenceInMonths(dateRight, dateLeft);\n\n // 2 months up to 12 months\n if (months < 12) {\n const nearestMonth = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n\n // 1 year up to max Date\n } else {\n const monthsSinceStartOfYear = months % 12;\n const years = Math.trunc(months / 12);\n\n // N years up to 1 years 3 months\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n\n // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance(\"overXYears\", years, localizeOptions);\n\n // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n }\n }\n}\n\n// Fallback for modularized imports:\nexport default formatDistance;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { formatDistance } from \"./formatDistance.mjs\";\n\n/**\n * The {@link formatDistanceToNow} function options.\n */\n\n/**\n * @name formatDistanceToNow\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now | Result |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - The object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * const result = formatDistanceToNow(\n * new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * const result = formatDistanceToNow(\n * new Date(2015, 0, 1, 0, 0, 15),\n * {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * const result = formatDistanceToNow(\n * new Date(2016, 0, 1),\n * {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * const eoLocale = require('date-fns/locale/eo')\n * const result = formatDistanceToNow(\n * new Date(2016, 7, 1),\n * {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nexport function formatDistanceToNow(date, options) {\n return formatDistance(date, constructNow(date), options);\n}\n\n// Fallback for modularized imports:\nexport default formatDistanceToNow;\n","/*!---------------------------------------------------------------------------------------------\n * Copyright (c) StackBlitz. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { useCallback, useMemo, useRef, useState, } from \"react\";\nconst DEFAULT_SPRING_ANIMATION = {\n /**\n * A value from 0 to 1, on how much to damp the animation.\n * 0 means no damping, 1 means full damping.\n *\n * @default 0.7\n */\n damping: 0.7,\n /**\n * The stiffness of how fast/slow the animation gets up to speed.\n *\n * @default 0.05\n */\n stiffness: 0.05,\n /**\n * The inertial mass associated with the animation.\n * Higher numbers make the animation slower.\n *\n * @default 1.25\n */\n mass: 1.25,\n};\nconst STICK_TO_BOTTOM_OFFSET_PX = 70;\nconst SIXTY_FPS_INTERVAL_MS = 1000 / 60;\nconst RETAIN_ANIMATION_DURATION_MS = 350;\nlet mouseDown = false;\nglobalThis.document?.addEventListener(\"mousedown\", () => {\n mouseDown = true;\n});\nglobalThis.document?.addEventListener(\"mouseup\", () => {\n mouseDown = false;\n});\nglobalThis.document?.addEventListener(\"click\", () => {\n mouseDown = false;\n});\nexport const useStickToBottom = (options = {}) => {\n const [escapedFromLock, updateEscapedFromLock] = useState(false);\n const [isAtBottom, updateIsAtBottom] = useState(options.initial !== false);\n const [isNearBottom, setIsNearBottom] = useState(false);\n const optionsRef = useRef(null);\n optionsRef.current = options;\n const isSelecting = useCallback(() => {\n if (!mouseDown) {\n return false;\n }\n const selection = window.getSelection();\n if (!selection || !selection.rangeCount) {\n return false;\n }\n const range = selection.getRangeAt(0);\n return (range.commonAncestorContainer.contains(scrollRef.current) ||\n scrollRef.current?.contains(range.commonAncestorContainer));\n }, []);\n const setIsAtBottom = useCallback((isAtBottom) => {\n state.isAtBottom = isAtBottom;\n updateIsAtBottom(isAtBottom);\n }, []);\n const setEscapedFromLock = useCallback((escapedFromLock) => {\n state.escapedFromLock = escapedFromLock;\n updateEscapedFromLock(escapedFromLock);\n }, []);\n // biome-ignore lint/correctness/useExhaustiveDependencies: not needed\n const state = useMemo(() => {\n let lastCalculation;\n return {\n escapedFromLock,\n isAtBottom,\n resizeDifference: 0,\n accumulated: 0,\n velocity: 0,\n listeners: new Set(),\n get scrollTop() {\n return scrollRef.current?.scrollTop ?? 0;\n },\n set scrollTop(scrollTop) {\n if (scrollRef.current) {\n scrollRef.current.scrollTop = scrollTop;\n state.ignoreScrollToTop = scrollRef.current.scrollTop;\n }\n },\n get targetScrollTop() {\n if (!scrollRef.current || !contentRef.current) {\n return 0;\n }\n return (scrollRef.current.scrollHeight - 1 - scrollRef.current.clientHeight);\n },\n get calculatedTargetScrollTop() {\n if (!scrollRef.current || !contentRef.current) {\n return 0;\n }\n const { targetScrollTop } = this;\n if (!options.targetScrollTop) {\n return targetScrollTop;\n }\n if (lastCalculation?.targetScrollTop === targetScrollTop) {\n return lastCalculation.calculatedScrollTop;\n }\n const calculatedScrollTop = Math.max(Math.min(options.targetScrollTop(targetScrollTop, {\n scrollElement: scrollRef.current,\n contentElement: contentRef.current,\n }), targetScrollTop), 0);\n lastCalculation = { targetScrollTop, calculatedScrollTop };\n requestAnimationFrame(() => {\n lastCalculation = undefined;\n });\n return calculatedScrollTop;\n },\n get scrollDifference() {\n return this.calculatedTargetScrollTop - this.scrollTop;\n },\n get isNearBottom() {\n return this.scrollDifference <= STICK_TO_BOTTOM_OFFSET_PX;\n },\n };\n }, []);\n const scrollToBottom = useCallback((scrollOptions = {}) => {\n if (typeof scrollOptions === \"string\") {\n scrollOptions = { animation: scrollOptions };\n }\n if (!scrollOptions.preserveScrollPosition) {\n setIsAtBottom(true);\n }\n const waitElapsed = Date.now() + (Number(scrollOptions.wait) || 0);\n const behavior = mergeAnimations(optionsRef.current, scrollOptions.animation);\n const { ignoreEscapes = false } = scrollOptions;\n let durationElapsed;\n let startTarget = state.calculatedTargetScrollTop;\n if (scrollOptions.duration instanceof Promise) {\n scrollOptions.duration.finally(() => {\n durationElapsed = Date.now();\n });\n }\n else {\n durationElapsed = waitElapsed + (scrollOptions.duration ?? 0);\n }\n const next = async () => {\n const promise = new Promise(requestAnimationFrame).then(() => {\n if (!state.isAtBottom) {\n state.animation = undefined;\n return false;\n }\n const { scrollTop } = state;\n const tick = performance.now();\n const tickDelta = (tick - (state.lastTick ?? tick)) / SIXTY_FPS_INTERVAL_MS;\n state.animation || (state.animation = { behavior, promise, ignoreEscapes });\n if (state.animation.behavior === behavior) {\n state.lastTick = tick;\n }\n if (isSelecting()) {\n return next();\n }\n if (waitElapsed > Date.now()) {\n return next();\n }\n if (scrollTop < Math.min(startTarget, state.calculatedTargetScrollTop)) {\n if (state.animation?.behavior === behavior) {\n if (behavior === \"instant\") {\n state.scrollTop = state.calculatedTargetScrollTop;\n return next();\n }\n state.velocity =\n (behavior.damping * state.velocity +\n behavior.stiffness * state.scrollDifference) /\n behavior.mass;\n state.accumulated += state.velocity * tickDelta;\n state.scrollTop += state.accumulated;\n if (state.scrollTop !== scrollTop) {\n state.accumulated = 0;\n }\n }\n return next();\n }\n if (durationElapsed > Date.now()) {\n startTarget = state.calculatedTargetScrollTop;\n return next();\n }\n state.animation = undefined;\n /**\n * If we're still below the target, then queue\n * up another scroll to the bottom with the last\n * requested animatino.\n */\n if (state.scrollTop < state.calculatedTargetScrollTop) {\n return scrollToBottom({\n animation: mergeAnimations(optionsRef.current, optionsRef.current.resize),\n ignoreEscapes,\n duration: Math.max(0, durationElapsed - Date.now()) || undefined,\n });\n }\n return state.isAtBottom;\n });\n return promise.then((isAtBottom) => {\n requestAnimationFrame(() => {\n if (!state.animation) {\n state.lastTick = undefined;\n state.velocity = 0;\n }\n });\n return isAtBottom;\n });\n };\n if (scrollOptions.wait !== true) {\n state.animation = undefined;\n }\n if (state.animation?.behavior === behavior) {\n return state.animation.promise;\n }\n return next();\n }, [setIsAtBottom, isSelecting, state]);\n const stopScroll = useCallback(() => {\n setEscapedFromLock(true);\n setIsAtBottom(false);\n }, [setEscapedFromLock, setIsAtBottom]);\n const handleScroll = useCallback(({ target }) => {\n if (target !== scrollRef.current) {\n return;\n }\n const { scrollTop, ignoreScrollToTop } = state;\n let { lastScrollTop = scrollTop } = state;\n state.lastScrollTop = scrollTop;\n state.ignoreScrollToTop = undefined;\n if (ignoreScrollToTop && ignoreScrollToTop > scrollTop) {\n /**\n * When the user scrolls up while the animation plays, the `scrollTop` may\n * not come in separate events; if this happens, to make sure `isScrollingUp`\n * is correct, set the lastScrollTop to the ignored event.\n */\n lastScrollTop = ignoreScrollToTop;\n }\n setIsNearBottom(state.isNearBottom);\n /**\n * Scroll events may come before a ResizeObserver event,\n * so in order to ignore resize events correctly we use a\n * timeout.\n *\n * @see https://github.com/WICG/resize-observer/issues/25#issuecomment-248757228\n */\n setTimeout(() => {\n /**\n * When theres a resize difference ignore the resize event.\n */\n if (state.resizeDifference || scrollTop === ignoreScrollToTop) {\n return;\n }\n if (isSelecting()) {\n setEscapedFromLock(true);\n setIsAtBottom(false);\n return;\n }\n const isScrollingDown = scrollTop > lastScrollTop;\n const isScrollingUp = scrollTop < lastScrollTop;\n if (state.animation?.ignoreEscapes) {\n state.scrollTop = lastScrollTop;\n return;\n }\n if (isScrollingUp) {\n setEscapedFromLock(true);\n setIsAtBottom(false);\n }\n if (isScrollingDown) {\n setEscapedFromLock(false);\n }\n if (!state.escapedFromLock && state.isNearBottom) {\n setIsAtBottom(true);\n }\n }, 1);\n }, [setEscapedFromLock, setIsAtBottom, isSelecting, state]);\n const handleWheel = useCallback(({ target, deltaY }) => {\n let element = target;\n while (![\"scroll\", \"auto\"].includes(getComputedStyle(element).overflow)) {\n if (!element.parentElement) {\n return;\n }\n element = element.parentElement;\n }\n /**\n * The browser may cancel the scrolling from the mouse wheel\n * if we update it from the animation in meantime.\n * To prevent this, always escape when the wheel is scrolled up.\n */\n if (element === scrollRef.current &&\n deltaY < 0 &&\n scrollRef.current.scrollHeight > scrollRef.current.clientHeight &&\n !state.animation?.ignoreEscapes) {\n setEscapedFromLock(true);\n setIsAtBottom(false);\n }\n }, [setEscapedFromLock, setIsAtBottom, state]);\n const scrollRef = useRefCallback((scroll) => {\n scrollRef.current?.removeEventListener(\"scroll\", handleScroll);\n scrollRef.current?.removeEventListener(\"wheel\", handleWheel);\n scroll?.addEventListener(\"scroll\", handleScroll, { passive: true });\n scroll?.addEventListener(\"wheel\", handleWheel, { passive: true });\n }, []);\n const contentRef = useRefCallback((content) => {\n state.resizeObserver?.disconnect();\n if (!content) {\n return;\n }\n let previousHeight;\n state.resizeObserver = new ResizeObserver(([entry]) => {\n const { height } = entry.contentRect;\n const difference = height - (previousHeight ?? height);\n state.resizeDifference = difference;\n /**\n * Sometimes the browser can overscroll past the target,\n * so check for this and adjust appropriately.\n */\n if (state.scrollTop > state.targetScrollTop) {\n state.scrollTop = state.targetScrollTop;\n }\n setIsNearBottom(state.isNearBottom);\n if (difference >= 0) {\n /**\n * If it's a positive resize, scroll to the bottom when\n * we're already at the bottom.\n */\n const animation = mergeAnimations(optionsRef.current, previousHeight\n ? optionsRef.current.resize\n : optionsRef.current.initial);\n scrollToBottom({\n animation,\n wait: true,\n preserveScrollPosition: true,\n duration: animation === \"instant\" ? undefined : RETAIN_ANIMATION_DURATION_MS,\n });\n }\n else {\n /**\n * Else if it's a negative resize, check if we're near the bottom\n * if we are want to un-escape from the lock, because the resize\n * could have caused the container to be at the bottom.\n */\n if (state.isNearBottom) {\n setEscapedFromLock(false);\n setIsAtBottom(true);\n }\n }\n previousHeight = height;\n /**\n * Reset the resize difference after the scroll event\n * has fired. Requires a rAF to wait for the scroll event,\n * and a setTimeout to wait for the other timeout we have in\n * resizeObserver in case the scroll event happens after the\n * resize event.\n */\n requestAnimationFrame(() => {\n setTimeout(() => {\n if (state.resizeDifference === difference) {\n state.resizeDifference = 0;\n }\n }, 1);\n });\n });\n state.resizeObserver?.observe(content);\n }, []);\n return {\n contentRef,\n scrollRef,\n scrollToBottom,\n stopScroll,\n isAtBottom: isAtBottom || isNearBottom,\n isNearBottom,\n escapedFromLock,\n state,\n };\n};\nfunction useRefCallback(callback, deps) {\n // biome-ignore lint/correctness/useExhaustiveDependencies: not needed\n const result = useCallback((ref) => {\n result.current = ref;\n return callback(ref);\n }, deps);\n return result;\n}\nconst animationCache = new Map();\nfunction mergeAnimations(...animations) {\n const result = { ...DEFAULT_SPRING_ANIMATION };\n let instant = false;\n for (const animation of animations) {\n if (animation === \"instant\") {\n instant = true;\n continue;\n }\n if (typeof animation !== \"object\") {\n continue;\n }\n instant = false;\n result.damping = animation.damping ?? result.damping;\n result.stiffness = animation.stiffness ?? result.stiffness;\n result.mass = animation.mass ?? result.mass;\n }\n const key = JSON.stringify(result);\n if (!animationCache.has(key)) {\n animationCache.set(key, Object.freeze(result));\n }\n return instant ? \"instant\" : animationCache.get(key);\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/*!---------------------------------------------------------------------------------------------\n * Copyright (c) StackBlitz. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport { createContext, useContext, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, } from \"react\";\nimport { useStickToBottom, } from \"./useStickToBottom.js\";\nconst StickToBottomContext = createContext(null);\nconst useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nexport function StickToBottom({ instance, children, resize, initial, mass, damping, stiffness, targetScrollTop: currentTargetScrollTop, contextRef, ...props }) {\n const customTargetScrollTop = useRef(null);\n const targetScrollTop = React.useCallback((target, elements) => {\n const get = context?.targetScrollTop ?? currentTargetScrollTop;\n return get?.(target, elements) ?? target;\n }, [currentTargetScrollTop]);\n const defaultInstance = useStickToBottom({\n mass,\n damping,\n stiffness,\n resize,\n initial,\n targetScrollTop,\n });\n const { scrollRef, contentRef, scrollToBottom, stopScroll, isAtBottom, escapedFromLock, state, } = instance ?? defaultInstance;\n const context = useMemo(() => ({\n scrollToBottom,\n stopScroll,\n scrollRef,\n isAtBottom,\n escapedFromLock,\n contentRef,\n state,\n get targetScrollTop() {\n return customTargetScrollTop.current;\n },\n set targetScrollTop(targetScrollTop) {\n customTargetScrollTop.current = targetScrollTop;\n },\n }), [\n scrollToBottom,\n isAtBottom,\n contentRef,\n scrollRef,\n stopScroll,\n escapedFromLock,\n state,\n ]);\n useImperativeHandle(contextRef, () => context, [context]);\n useIsomorphicLayoutEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n if (getComputedStyle(scrollRef.current).overflow === \"visible\") {\n scrollRef.current.style.overflow = \"auto\";\n }\n }, []);\n return (_jsx(StickToBottomContext.Provider, { value: context, children: _jsx(\"div\", { ...props, children: typeof children === \"function\" ? children(context) : children }) }));\n}\n(function (StickToBottom) {\n function Content({ children, ...props }) {\n const context = useStickToBottomContext();\n return (_jsx(\"div\", { ref: context.scrollRef, style: {\n height: \"100%\",\n width: \"100%\",\n }, children: _jsx(\"div\", { ...props, ref: context.contentRef, children: typeof children === \"function\" ? children(context) : children }) }));\n }\n StickToBottom.Content = Content;\n})(StickToBottom || (StickToBottom = {}));\n/**\n * Use this hook inside a <StickToBottom> component to gain access to whether the component is at the bottom of the scrollable area.\n */\nexport function useStickToBottomContext() {\n const context = useContext(StickToBottomContext);\n if (!context) {\n throw new Error(\"use-stick-to-bottom component context must be used within a StickToBottom component\");\n }\n return context;\n}\n"],"names":["AlertCircle","createLucideIcon","cx","cy","r","key","x1","x2","y1","y2","ArrowLeft","d","Book","CheckCircle2","ChevronDown","Info","Loader2","MessageSquare","Pencil","RefreshCcw","XCircle","_extends","Object","assign","bind","n","e","arguments","length","t","hasOwnProperty","call","apply","clamp","value","min","max","Math","DIALOG_NAME","createDialogContext","createDialogScope","createContextScope","DialogProvider","useDialogContext","Dialog","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","props","triggerRef","React","contentRef","setOpen","useControllableState","prop","defaultProp","onChange","caller","jsx","scope","contentId","useId","titleId","descriptionId","onOpenToggle","prevOpen","displayName","TRIGGER_NAME","DialogTrigger","forwardedRef","triggerProps","context","composedTriggerRef","useComposedRefs","Primitive","button","type","getState","ref","onClick","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","DialogPortal","container","map","Presence","present","PortalPrimitive","asChild","child","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","Slot","createSlot","RemoveScroll","as","allowPinchZoom","shards","div","style","pointerEvents","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","composedRefs","content","current","hideOthers","DialogContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","useFocusGuards","jsxs","Fragment","FocusScope","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","DismissableLayer","role","id","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","h2","DESCRIPTION_NAME","DialogDescription","descriptionProps","p","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","contentName","titleName","docsSlug","param","titleWarningContext","MESSAGE","concat","document","getElementById","console","error","descriptionWarningContext","describedById","getAttribute","warn","ROOT_NAME","createAlertDialogContext","createAlertDialogScope","useDialogScope","AlertDialog","__scopeAlertDialog","alertDialogProps","dialogScope","AlertDialogTrigger","AlertDialogPortal","portalProps","AlertDialogOverlay","AlertDialogContentProvider","useAlertDialogContentContext","Slottable","createSlottable","AlertDialogContent","cancelRef","DialogPrimitive","preventScroll","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","actionProps","CANCEL_NAME","AlertDialogCancel","cancelProps","Root","Trigger","Portal","Overlay","Content","Action","Cancel","Title","Description","differenceInCalendarMonths","dateLeft","dateRight","_dateLeft","toDate","_dateRight","yearDiff","getFullYear","getMonth","endOfMonth","date","_date","month","setFullYear","setHours","compareAsc","diff","getTime","formatDistanceToNow","options","formatDistance","baseDate","method","months","defaultOptions","getDefaultOptions","locale","defaultLocale","comparison","isNaN","localizeOptions","addSuffix","seconds","getRoundingMethod","roundingMethod","result","round","trunc","number","minutes","getTimezoneOffsetInMilliseconds","offsetInSeconds","includeSeconds","minutesInDay","minutesInMonth","days","differenceInMonths","sign","difference","abs","getDate","setDate","setMonth","isLastMonthNotFull","isLastDayOfMonth","endOfDay","Number","nearestMonth","monthsSinceStartOfYear","years","constructFrom","Date","now","DEFAULT_SPRING_ANIMATION","damping","stiffness","mass","SIXTY_FPS_INTERVAL_MS","mouseDown","globalThis","addEventListener","useStickToBottom","escapedFromLock","updateEscapedFromLock","react","useState","isAtBottom","updateIsAtBottom","initial","isNearBottom","setIsNearBottom","optionsRef","useRef","isSelecting","useCallback","selection","window","getSelection","rangeCount","range","getRangeAt","commonAncestorContainer","scrollRef","setIsAtBottom","state","setEscapedFromLock","useMemo","lastCalculation","resizeDifference","accumulated","velocity","listeners","Set","scrollTop","ignoreScrollToTop","targetScrollTop","scrollHeight","clientHeight","calculatedTargetScrollTop","calculatedScrollTop","scrollElement","contentElement","requestAnimationFrame","undefined","scrollDifference","scrollToBottom","scrollOptions","durationElapsed","animation","preserveScrollPosition","waitElapsed","wait","behavior","mergeAnimations","ignoreEscapes","startTarget","duration","Promise","finally","next","promise","then","tick","performance","tickDelta","lastTick","resize","stopScroll","handleScroll","lastScrollTop","setTimeout","isScrollingDown","isScrollingUp","handleWheel","deltaY","element","includes","getComputedStyle","overflow","parentElement","useRefCallback","removeEventListener","scroll","passive","previousHeight","resizeObserver","disconnect","ResizeObserver","entry","height","contentRect","observe","callback","deps","animationCache","Map","animations","instant","JSON","stringify","has","set","freeze","get","StickToBottomContext","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","StickToBottom","instance","currentTargetScrollTop","contextRef","customTargetScrollTop","defaultInstance","elements","useImperativeHandle","jsx_runtime","Provider","useStickToBottomContext","useContext","width"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6280],{42833:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("ArchiveX",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"m9.5 17 5-5",key:"nakeu6"}],["path",{d:"m9.5 12 5 5",key:"1hccrj"}]])},9334:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]])},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"}]])},49277:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("FileStack",[["path",{d:"M16 2v5h5",key:"kt2in0"}],["path",{d:"M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17l4 4z",key:"1km23n"}],["path",{d:"M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15",key:"16874u"}],["path",{d:"M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11",key:"k2ox98"}]])},14924:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},41905:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]])},45554:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]])},15001:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Loader",[["line",{x1:"12",x2:"12",y1:"2",y2:"6",key:"gza1u7"}],["line",{x1:"12",x2:"12",y1:"18",y2:"22",key:"1qhbu9"}],["line",{x1:"4.93",x2:"7.76",y1:"4.93",y2:"7.76",key:"xae44r"}],["line",{x1:"16.24",x2:"19.07",y1:"16.24",y2:"19.07",key:"bxnmvf"}],["line",{x1:"2",x2:"6",y1:"12",y2:"12",key:"89khin"}],["line",{x1:"18",x2:"22",y1:"12",y2:"12",key:"pb8tfm"}],["line",{x1:"4.93",x2:"7.76",y1:"19.07",y2:"16.24",key:"1uxjnu"}],["line",{x1:"16.24",x2:"19.07",y1:"7.76",y2:"4.93",key:"6duxfx"}]])},21563:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("PackageOpen",[["path",{d:"M20.91 8.84 8.56 2.23a1.93 1.93 0 0 0-1.81 0L3.1 4.13a2.12 2.12 0 0 0-.05 3.69l12.22 6.93a2 2 0 0 0 1.94 0L21 12.51a2.12 2.12 0 0 0-.09-3.67Z",key:"1vy178"}],["path",{d:"m3.09 8.84 12.35-6.61a1.93 1.93 0 0 1 1.81 0l3.65 1.9a2.12 2.12 0 0 1 .1 3.69L8.73 14.75a2 2 0 0 1-1.94 0L3 12.51a2.12 2.12 0 0 1 .09-3.67Z",key:"s3bv25"}],["line",{x1:"12",x2:"12",y1:"22",y2:"13",key:"1o4xyi"}],["path",{d:"M20 13.5v3.37a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13.5",key:"1na2nq"}]])},45675:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Pencil",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},99397:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},73247:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},69493:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("StepForward",[["line",{x1:"6",x2:"6",y1:"4",y2:"20",key:"fy8qot"}],["polygon",{points:"10,4 20,12 10,20",key:"1mc1pf"}]])},23374:function(e,t,n){n.d(t,{OT:function(){return er},eh:function(){return ee},s_:function(){return z}});var r,l=n(2265);let{createElement:a,createContext:i,createRef:u,forwardRef:o,useCallback:c,useContext:d,useEffect:s,useImperativeHandle:f,useLayoutEffect:p,useMemo:h,useRef:y,useState:m}=r||(r=n.t(l,2)),v=(r||(r=n.t(l,2)))["useId".toString()],g=i(null);g.displayName="PanelGroupContext";let b="function"==typeof v?v:()=>null,x=0;function k(e=null){let t=b(),n=y(e||t||null);return null===n.current&&(n.current=""+x++),null!=e?e:n.current}function w({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:l,forwardedRef:i,id:u,maxSize:o,minSize:c,onCollapse:s,onExpand:h,onResize:m,order:v,style:b,tagName:x="div",...w}){let z=d(g);if(null===z)throw Error("Panel components must be rendered within a PanelGroup container");let{collapsePanel:M,expandPanel:E,getPanelSize:C,getPanelStyle:I,groupId:A,isPanelCollapsed:S,reevaluatePanelConstraints:L,registerPanel:j,resizePanel:D,unregisterPanel:N}=z,P=k(u),Z=y({callbacks:{onCollapse:s,onExpand:h,onResize:m},constraints:{collapsedSize:n,collapsible:r,defaultSize:l,maxSize:o,minSize:c},id:P,idIsFromProps:void 0!==u,order:v});y({didLogMissingDefaultSizeWarning:!1}),p(()=>{let{callbacks:e,constraints:t}=Z.current,a={...t};Z.current.id=P,Z.current.idIsFromProps=void 0!==u,Z.current.order=v,e.onCollapse=s,e.onExpand=h,e.onResize=m,t.collapsedSize=n,t.collapsible=r,t.defaultSize=l,t.maxSize=o,t.minSize=c,(a.collapsedSize!==t.collapsedSize||a.collapsible!==t.collapsible||a.maxSize!==t.maxSize||a.minSize!==t.minSize)&&L(Z.current,a)}),p(()=>{let e=Z.current;return j(e),()=>{N(e)}},[v,P,j,N]),f(i,()=>({collapse:()=>{M(Z.current)},expand:()=>{E(Z.current)},getId:()=>P,getSize:()=>C(Z.current),isCollapsed:()=>S(Z.current),isExpanded:()=>!S(Z.current),resize:e=>{D(Z.current,e)}}),[M,E,C,S,P,D]);let R=I(Z.current,l);return a(x,{...w,children:e,className:t,style:{...R,...b},"data-panel":"","data-panel-id":P,"data-panel-group-id":A,"data-panel-collapsible":void 0,"data-panel-size":void 0})}let z=o((e,t)=>a(w,{...e,forwardedRef:t}));function M(e,t="Assertion failed!"){if(!e)throw console.error(t),Error(t)}function E(e,t,n=10){let r=(e=parseFloat(e.toFixed(n)))-(t=parseFloat(t.toFixed(n)));return 0===r?0:r>0?1:-1}function C(e,t,n){return 0===E(e,t,n)}function I({panelConstraints:e,panelIndex:t,size:n}){let r=e[t];M(null!=r);let{collapsedSize:l=0,collapsible:a,maxSize:i=100,minSize:u=0}=r;return 0>E(n,u)&&(n=a&&0>E(n,(l+u)/2)?l:u),n=parseFloat((n=Math.min(i,n)).toFixed(10))}function A({delta:e,layout:t,panelConstraints:n,pivotIndices:r,trigger:l}){if(C(e,0))return t;let a=[...t],[i,u]=r;M(null!=i),M(null!=u);let o=0;if("keyboard"===l){{let r=e<0?u:i,l=n[r];if(M(l),l.collapsible){let l=t[r];M(null!=l);let a=n[r];M(a);let{collapsedSize:i=0,minSize:u=0}=a;if(C(l,i)){let t=u-l;E(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let r=e<0?i:u,l=n[r];M(l);let{collapsible:a}=l;if(a){let l=t[r];M(null!=l);let a=n[r];M(a);let{collapsedSize:i=0,minSize:u=0}=a;if(C(l,u)){let t=l-i;E(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}}{let r=e<0?1:-1,l=e<0?u:i,a=0;for(;;){let e=t[l];if(M(null!=e),a+=I({panelConstraints:n,panelIndex:l,size:100})-e,(l+=r)<0||l>=n.length)break}let o=Math.min(Math.abs(e),Math.abs(a));e=e<0?0-o:o}{let r=e<0?i:u;for(;r>=0&&r<n.length;){let l=Math.abs(e)-Math.abs(o),i=t[r];M(null!=i);let u=I({panelConstraints:n,panelIndex:r,size:i-l});if(!C(i,u)&&(o+=i-u,a[r]=u,o.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?r--:r++}}if(C(o,0))return t;{let r=e<0?u:i,l=t[r];M(null!=l);let c=l+o,d=I({panelConstraints:n,panelIndex:r,size:c});if(a[r]=d,!C(d,c)){let t=c-d,r=e<0?u:i;for(;r>=0&&r<n.length;){let l=a[r];M(null!=l);let i=I({panelConstraints:n,panelIndex:r,size:l+t});if(C(l,i)||(t-=i-l,a[r]=i),C(t,0))break;e>0?r--:r++}}}return C(a.reduce((e,t)=>t+e,0),100)?a:t}function S(e,t=document){return Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function L(e,t,n=document){let r=S(e,n).findIndex(e=>e.getAttribute("data-panel-resize-handle-id")===t);return null!=r?r:null}function j(e,t,n){let r=L(e,t,n);return null!=r?[r,r+1]:[-1,-1]}function D(e,t=document){var n;return t instanceof HTMLElement&&(null==t?void 0:null===(n=t.dataset)||void 0===n?void 0:n.panelGroupId)==e?t:t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`)||null}function N(e,t=document){return t.querySelector(`[data-panel-resize-handle-id="${e}"]`)||null}function P(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Z(e){return"keydown"===e.type}function R(e){return e.type.startsWith("mouse")}function T(e){return e.type.startsWith("touch")}function F(e,t){let n="horizontal"===e;if(R(t))return n?t.clientX:t.clientY;if(T(t)){let e=t.touches[0];return M(e),n?e.screenX:e.screenY}throw Error(`Unsupported event type "${t.type}"`)}function V(e,t,n){t.forEach((t,r)=>{let l=e[r];M(l);let{callbacks:a,constraints:i,id:u}=l,{collapsedSize:o=0,collapsible:c}=i,d=n[u];if(null==d||t!==d){n[u]=t;let{onCollapse:e,onExpand:r,onResize:l}=a;l&&l(t,d),c&&(e||r)&&(r&&(null==d||d===o)&&t!==o&&r(),e&&(null==d||d!==o)&&t===o&&e())}})}function H(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}w.displayName="Panel",z.displayName="forwardRef(Panel)";let W=null,$=null;function q(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function O(e){if(W===e)return;W=e;let t=q(e);null===$&&($=document.createElement("style"),document.head.appendChild($)),$.innerHTML=`*{cursor: ${t}!important;}`}function G(e){try{if("undefined"!=typeof localStorage)e.getItem=e=>localStorage.getItem(e),e.setItem=(e,t)=>{localStorage.setItem(e,t)};else throw Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function _(e){return`react-resizable-panels:${e}`}function K(e){return e.map(e=>{let{constraints:t,id:n,idIsFromProps:r,order:l}=e;return r?n:l?`${l}:${JSON.stringify(t)}`:JSON.stringify(t)}).sort((e,t)=>e.localeCompare(t)).join(",")}function B(e,t){try{let n=_(e),r=t.getItem(n);if(r){let e=JSON.parse(r);if("object"==typeof e&&null!=e)return e}}catch(e){}return null}function J(e,t,n,r,l){var a;let i=_(e),u=K(t),o=null!==(a=B(e,l))&&void 0!==a?a:{};o[u]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{l.setItem(i,JSON.stringify(o))}catch(e){console.error(e)}}function U({layout:e,panelConstraints:t}){let n=[...e],r=n.reduce((e,t)=>e+t,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(e=>`${e}%`).join(", ")}`);if(!C(r,100))for(let e=0;e<t.length;e++){let t=n[e];M(null!=t);let l=100/r*t;n[e]=l}let l=0;for(let e=0;e<t.length;e++){let r=n[e];M(null!=r);let a=I({panelConstraints:t,panelIndex:e,size:r});r!=a&&(l+=r-a,n[e]=a)}if(!C(l,0))for(let e=0;e<t.length;e++){let r=n[e];M(null!=r);let a=I({panelConstraints:t,panelIndex:e,size:r+l});if(r!==a&&(l-=a-r,n[e]=a,C(l,0)))break}return n}let X={getItem:e=>(G(X),X.getItem(e)),setItem:(e,t)=>{G(X),X.setItem(e,t)}},Y={};function Q({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:l,id:i=null,onLayout:u=null,keyboardResizeBy:o=null,storage:d=X,style:v,tagName:b="div",...x}){let w=k(i),z=y(null),[E,I]=m(null),[L,q]=m([]),G=y({}),_=y(new Map),Q=y(0),ee=y({autoSaveId:e,direction:r,dragState:E,id:w,keyboardResizeBy:o,onLayout:u,storage:d}),er=y({layout:L,panelDataArray:[],panelDataArrayChanged:!1});y({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),f(l,()=>({getId:()=>ee.current.id,getLayout:()=>{let{layout:e}=er.current;return e},setLayout:e=>{let{onLayout:t}=ee.current,{layout:n,panelDataArray:r}=er.current,l=U({layout:e,panelConstraints:r.map(e=>e.constraints)});P(n,l)||(q(l),er.current.layout=l,t&&t(l),V(r,l,G.current))}}),[]),p(()=>{ee.current.autoSaveId=e,ee.current.direction=r,ee.current.dragState=E,ee.current.id=w,ee.current.onLayout=u,ee.current.storage=d}),function({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:l,panelGroupElement:a,setLayout:i}){y({didWarnAboutMissingResizeHandle:!1}),p(()=>{if(!a)return;let e=S(n,a);for(let t=0;t<l.length-1;t++){let{valueMax:n,valueMin:a,valueNow:i}=function({layout:e,panelsArray:t,pivotIndices:n}){let r=0,l=100,a=0,i=0,u=n[0];return M(null!=u),t.forEach((e,t)=>{let{constraints:n}=e,{maxSize:o=100,minSize:c=0}=n;t===u?(r=c,l=o):(a+=c,i+=o)}),{valueMax:Math.min(l,100-a),valueMin:Math.max(r,100-i),valueNow:e[u]}}({layout:r,panelsArray:l,pivotIndices:[t,t+1]}),u=e[t];if(null==u);else{let e=l[t];M(e),u.setAttribute("aria-controls",e.id),u.setAttribute("aria-valuemax",""+Math.round(n)),u.setAttribute("aria-valuemin",""+Math.round(a)),u.setAttribute("aria-valuenow",null!=i?""+Math.round(i):"")}}return()=>{e.forEach((e,t)=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-valuemax"),e.removeAttribute("aria-valuemin"),e.removeAttribute("aria-valuenow")})}},[n,r,l,a]),s(()=>{if(!a)return;let e=t.current;M(e);let{panelDataArray:l}=e;M(null!=D(n,a),`No group found for id "${n}"`);let u=S(n,a);M(u);let o=u.map(e=>{let t=e.getAttribute("data-panel-resize-handle-id");M(t);let[u,o]=function(e,t,n,r=document){var l,a,i,u;let o=N(t,r),c=S(e,r),d=o?c.indexOf(o):-1;return[null!==(l=null===(a=n[d])||void 0===a?void 0:a.id)&&void 0!==l?l:null,null!==(i=null===(u=n[d+1])||void 0===u?void 0:u.id)&&void 0!==i?i:null]}(n,t,l,a);if(null==u||null==o)return()=>{};let c=e=>{if(!e.defaultPrevented&&"Enter"===e.key){e.preventDefault();let o=l.findIndex(e=>e.id===u);if(o>=0){let e=l[o];M(e);let u=r[o],{collapsedSize:c=0,collapsible:d,minSize:s=0}=e.constraints;if(null!=u&&d){let e=A({delta:C(u,c)?s-c:c-u,layout:r,panelConstraints:l.map(e=>e.constraints),pivotIndices:j(n,t,a),trigger:"keyboard"});r!==e&&i(e)}}}};return e.addEventListener("keydown",c),()=>{e.removeEventListener("keydown",c)}});return()=>{o.forEach(e=>e())}},[a,e,t,n,r,l,i])}({committedValuesRef:ee,eagerValuesRef:er,groupId:w,layout:L,panelDataArray:er.current.panelDataArray,setLayout:q,panelGroupElement:z.current}),s(()=>{let{panelDataArray:t}=er.current;if(e){if(0===L.length||L.length!==t.length)return;let n=Y[e];null==n&&(n=function(e,t=10){let n=null;return(...r)=>{null!==n&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}}(J,100),Y[e]=n),n(e,[...t],new Map(_.current),L,d)}},[e,L,d]),s(()=>{});let el=c(e=>{let{onLayout:t}=ee.current,{layout:n,panelDataArray:r}=er.current;if(e.constraints.collapsible){let l=r.map(e=>e.constraints),{collapsedSize:a=0,panelSize:i,pivotIndices:u}=en(r,e,n);if(M(null!=i),i!==a){_.current.set(e.id,i);let o=A({delta:et(r,e)===r.length-1?i-a:a-i,layout:n,panelConstraints:l,pivotIndices:u,trigger:"imperative-api"});H(n,o)||(q(o),er.current.layout=o,t&&t(o),V(r,o,G.current))}}},[]),ea=c(e=>{let{onLayout:t}=ee.current,{layout:n,panelDataArray:r}=er.current;if(e.constraints.collapsible){let l=r.map(e=>e.constraints),{collapsedSize:a=0,panelSize:i,minSize:u=0,pivotIndices:o}=en(r,e,n);if(i===a){let a=_.current.get(e.id),c=null!=a&&a>=u?a:u,d=A({delta:et(r,e)===r.length-1?i-c:c-i,layout:n,panelConstraints:l,pivotIndices:o,trigger:"imperative-api"});H(n,d)||(q(d),er.current.layout=d,t&&t(d),V(r,d,G.current))}}},[]),ei=c(e=>{let{layout:t,panelDataArray:n}=er.current,{panelSize:r}=en(n,e,t);return M(null!=r),r},[]),eu=c((e,t)=>{let{panelDataArray:n}=er.current,r=et(n,e);return function({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:l,precision:a=3}){let i=n[l];return{flexBasis:0,flexGrow:null==i?null!=e?e:"1":1===r.length?"1":i.toPrecision(a),flexShrink:1,overflow:"hidden",pointerEvents:null!==t?"none":void 0}}({defaultSize:t,dragState:E,layout:L,panelData:n,panelIndex:r})},[E,L]),eo=c(e=>{let{layout:t,panelDataArray:n}=er.current,{collapsedSize:r=0,collapsible:l,panelSize:a}=en(n,e,t);return!0===l&&a===r},[]),ec=c(e=>{let{layout:t,panelDataArray:n}=er.current,{collapsedSize:r=0,collapsible:l,panelSize:a}=en(n,e,t);return M(null!=a),!l||a>r},[]),ed=c(e=>{let{panelDataArray:t}=er.current;t.push(e),t.sort((e,t)=>{let n=e.order,r=t.order;return null==n&&null==r?0:null==n?-1:null==r?1:n-r}),er.current.panelDataArrayChanged=!0},[]);p(()=>{if(er.current.panelDataArrayChanged){er.current.panelDataArrayChanged=!1;let{autoSaveId:n,onLayout:r,storage:l}=ee.current,{layout:a,panelDataArray:i}=er.current,u=null;if(n){var e,t;let r=null!==(t=(null!==(e=B(n,l))&&void 0!==e?e:{})[K(i)])&&void 0!==t?t:null;r&&(_.current=new Map(Object.entries(r.expandToSizes)),u=r.layout)}null==u&&(u=function({panelDataArray:e}){let t=Array(e.length),n=e.map(e=>e.constraints),r=0,l=100;for(let a=0;a<e.length;a++){let e=n[a];M(e);let{defaultSize:i}=e;null!=i&&(r++,t[a]=i,l-=i)}for(let a=0;a<e.length;a++){let i=n[a];M(i);let{defaultSize:u}=i;if(null!=u)continue;let o=l/(e.length-r);r++,t[a]=o,l-=o}return t}({panelDataArray:i}));let o=U({layout:u,panelConstraints:i.map(e=>e.constraints)});P(a,o)||(q(o),er.current.layout=o,r&&r(o),V(i,o,G.current))}});let es=c(e=>function(t){t.preventDefault();let n=z.current;if(!n)return()=>null;let{direction:r,dragState:l,id:a,keyboardResizeBy:i,onLayout:u}=ee.current,{layout:o,panelDataArray:c}=er.current,{initialLayout:d}=null!=l?l:{},s=j(a,e,n),f=function(e,t,n,r,l,a){if(Z(e)){let t="horizontal"===n,r=0;r=e.shiftKey?100:null!=l?l:10;let a=0;switch(e.key){case"ArrowDown":a=t?0:r;break;case"ArrowLeft":a=t?-r:0;break;case"ArrowRight":a=t?r:0;break;case"ArrowUp":a=t?0:-r;break;case"End":a=100;break;case"Home":a=-100}return a}return null==r?0:function(e,t,n,r,l){let a="horizontal"===n,i=N(t,l);M(i);let u=i.getAttribute("data-panel-group-id");M(u);let{initialCursorPosition:o}=r,c=F(n,e),d=D(u,l);M(d);let s=d.getBoundingClientRect();return(c-o)/(a?s.width:s.height)*100}(e,t,n,r,a)}(t,e,r,l,i,n);if(0===f)return;let p="horizontal"===r;"rtl"===document.dir&&p&&(f=-f);let h=A({delta:f,layout:null!=d?d:o,panelConstraints:c.map(e=>e.constraints),pivotIndices:s,trigger:Z(t)?"keyboard":"mouse-or-touch"}),y=!H(o,h);(R(t)||T(t))&&Q.current!=f&&(Q.current=f,y?O(p?"horizontal":"vertical"):p?O(f<0?"horizontal-min":"horizontal-max"):O(f<0?"vertical-min":"vertical-max")),y&&(q(h),er.current.layout=h,u&&u(h),V(c,h,G.current))},[]),ef=c((e,t)=>{let{onLayout:n}=ee.current,{layout:r,panelDataArray:l}=er.current,a=l.map(e=>e.constraints),{panelSize:i,pivotIndices:u}=en(l,e,r);M(null!=i);let o=A({delta:et(l,e)===l.length-1?i-t:t-i,layout:r,panelConstraints:a,pivotIndices:u,trigger:"imperative-api"});H(r,o)||(q(o),er.current.layout=o,n&&n(o),V(l,o,G.current))},[]),ep=c((e,t)=>{let{layout:n,panelDataArray:r}=er.current,{collapsedSize:l=0,collapsible:a}=t,{collapsedSize:i=0,collapsible:u,maxSize:o=100,minSize:c=0}=e.constraints,{panelSize:d}=en(r,e,n);M(null!=d),a&&u&&d===l?l!==i&&ef(e,i):d<c?ef(e,c):d>o&&ef(e,o)},[ef]),eh=c((e,t)=>{let{direction:n}=ee.current,{layout:r}=er.current;if(!z.current)return;let l=N(e,z.current);M(l);let a=F(n,t);I({dragHandleId:e,dragHandleRect:l.getBoundingClientRect(),initialCursorPosition:a,initialLayout:r})},[]),ey=c(()=>{null!==$&&(document.head.removeChild($),W=null,$=null),I(null)},[]),em=c(e=>{let{panelDataArray:t}=er.current,n=et(t,e);n>=0&&(t.splice(n,1),delete G.current[e.id],er.current.panelDataArrayChanged=!0)},[]),ev=h(()=>({collapsePanel:el,direction:r,dragState:E,expandPanel:ea,getPanelSize:ei,getPanelStyle:eu,groupId:w,isPanelCollapsed:eo,isPanelExpanded:ec,reevaluatePanelConstraints:ep,registerPanel:ed,registerResizeHandle:es,resizePanel:ef,startDragging:eh,stopDragging:ey,unregisterPanel:em,panelGroupElement:z.current}),[el,E,r,ea,ei,eu,w,eo,ec,ep,ed,es,ef,eh,ey,em]);return a(g.Provider,{value:ev},a(b,{...x,children:t,className:n,style:{display:"flex",flexDirection:"horizontal"===r?"row":"column",height:"100%",overflow:"hidden",width:"100%",...v},ref:z,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":w}))}let ee=o((e,t)=>a(Q,{...e,forwardedRef:t}));function et(e,t){return e.findIndex(e=>e===t||e.id===t.id)}function en(e,t,n){let r=et(e,t),l=r===e.length-1,a=n[r];return{...t.constraints,panelSize:a,pivotIndices:l?[r-1,r]:[r,r+1]}}function er({children:e=null,className:t="",disabled:n=!1,id:r,onDragging:l,style:i={},tabIndex:u=0,tagName:o="div",...f}){let p=y(null),h=y({onDragging:l});s(()=>{h.current.onDragging=l});let v=d(g);if(null===v)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");let{direction:b,dragState:x,groupId:w,registerResizeHandle:z,startDragging:E,stopDragging:C,panelGroupElement:I}=v,A=k(r),j=(null==x?void 0:x.dragHandleId)===A,[D,P]=m(!1),[Z,R]=m(null),T=c(()=>{let e=p.current;M(e),e.blur(),C();let{onDragging:t}=h.current;t&&t(!1)},[C]);s(()=>{if(n)R(null);else{let e=z(A);R(()=>e)}},[n,A,z]),s(()=>{if(n||null==Z||!j)return;let e=e=>{Z(e)},t=e=>{Z(e)},r=p.current;M(r);let l=r.ownerDocument;return l.body.addEventListener("contextmenu",T),l.body.addEventListener("mousemove",e),l.body.addEventListener("touchmove",e),l.body.addEventListener("mouseleave",t),window.addEventListener("mouseup",T),window.addEventListener("touchend",T),()=>{l.body.removeEventListener("contextmenu",T),l.body.removeEventListener("mousemove",e),l.body.removeEventListener("touchmove",e),l.body.removeEventListener("mouseleave",t),window.removeEventListener("mouseup",T),window.removeEventListener("touchend",T)}},[b,n,j,Z,T]),function({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){s(()=>{if(e||null==n||null==r)return;let l=N(t,r);if(null==l)return;let a=e=>{if(!e.defaultPrevented)switch(e.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":e.preventDefault(),n(e);break;case"F6":{e.preventDefault();let n=l.getAttribute("data-panel-group-id");M(n);let a=S(n,r),i=L(n,t,r);M(null!==i);let u=e.shiftKey?i>0?i-1:a.length-1:i+1<a.length?i+1:0;a[u].focus()}}};return l.addEventListener("keydown",a),()=>{l.removeEventListener("keydown",a)}},[r,e,t,n])}({disabled:n,handleId:A,resizeHandler:Z,panelGroupElement:I});let F={cursor:q(b),touchAction:"none",userSelect:"none"};return a(o,{...f,children:e,className:t,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:e=>{E(A,e.nativeEvent);let t=h.current;M(t);let{onDragging:n}=t;n&&n(!0)},onMouseUp:T,onTouchCancel:T,onTouchEnd:T,onTouchStart:e=>{E(A,e.nativeEvent);let t=h.current;M(t);let{onDragging:n}=t;n&&n(!0)},ref:p,role:"separator",style:{...F,...i},tabIndex:u,"data-panel-group-direction":b,"data-panel-group-id":w,"data-resize-handle":"","data-resize-handle-active":j?"pointer":D?"keyboard":void 0,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":A})}Q.displayName="PanelGroup",ee.displayName="forwardRef(PanelGroup)",er.displayName="PanelResizeHandle"},62484:function(e,t,n){n.d(t,{u:function(){return r}});function r(e,[t,n]){return Math.min(n,Math.max(t,e))}},9270:function(e,t,n){n.d(t,{fC:function(){return k},z$:function(){return z}});var r=n(2265),l=n(98575),a=n(73966),i=n(6741),u=n(80886),o=n(6718),c=n(90420),d=n(71599),s=n(66840),f=n(57437),p="Checkbox",[h,y]=(0,a.b)(p),[m,v]=h(p);function g(e){let{__scopeCheckbox:t,checked:n,children:l,defaultChecked:a,disabled:i,form:o,name:c,onCheckedChange:d,required:s,value:h="on",internal_do_not_use_render:y}=e,[v,g]=(0,u.T)({prop:n,defaultProp:null!=a&&a,onChange:d,caller:p}),[b,x]=r.useState(null),[k,w]=r.useState(null),z=r.useRef(!1),M=!b||!!o||!!b.closest("form"),E={checked:v,disabled:i,setChecked:g,control:b,setControl:x,name:c,form:o,value:h,hasConsumerStoppedPropagationRef:z,required:s,defaultChecked:!C(a)&&a,isFormControl:M,bubbleInput:k,setBubbleInput:w};return(0,f.jsx)(m,{scope:t,...E,children:"function"==typeof y?y(E):l})}var b="CheckboxTrigger",x=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,onKeyDown:a,onClick:u,...o}=e,{control:c,value:d,disabled:p,checked:h,required:y,setControl:m,setChecked:g,hasConsumerStoppedPropagationRef:x,isFormControl:k,bubbleInput:w}=v(b,n),z=(0,l.e)(t,m),M=r.useRef(h);return r.useEffect(()=>{let e=null==c?void 0:c.form;if(e){let t=()=>g(M.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,g]),(0,f.jsx)(s.WV.button,{type:"button",role:"checkbox","aria-checked":C(h)?"mixed":h,"aria-required":y,"data-state":I(h),"data-disabled":p?"":void 0,disabled:p,value:d,...o,ref:z,onKeyDown:(0,i.M)(a,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,i.M)(u,e=>{g(e=>!!C(e)||!e),w&&k&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})})});x.displayName=b;var k=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:l,defaultChecked:a,required:i,disabled:u,value:o,onCheckedChange:c,form:d,...s}=e;return(0,f.jsx)(g,{__scopeCheckbox:n,checked:l,defaultChecked:a,disabled:u,required:i,onCheckedChange:c,name:r,form:d,value:o,internal_do_not_use_render:e=>{let{isFormControl:r}=e;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(x,{...s,ref:t,__scopeCheckbox:n}),r&&(0,f.jsx)(E,{__scopeCheckbox:n})]})}})});k.displayName=p;var w="CheckboxIndicator",z=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...l}=e,a=v(w,n);return(0,f.jsx)(d.z,{present:r||C(a.checked)||!0===a.checked,children:(0,f.jsx)(s.WV.span,{"data-state":I(a.checked),"data-disabled":a.disabled?"":void 0,...l,ref:t,style:{pointerEvents:"none",...e.style}})})});z.displayName=w;var M="CheckboxBubbleInput",E=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,...a}=e,{control:i,hasConsumerStoppedPropagationRef:u,checked:d,defaultChecked:p,required:h,disabled:y,name:m,value:g,form:b,bubbleInput:x,setBubbleInput:k}=v(M,n),w=(0,l.e)(t,k),z=(0,o.D)(d),E=(0,c.t)(i);r.useEffect(()=>{if(!x)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!u.current;if(z!==d&&e){let n=new Event("click",{bubbles:t});x.indeterminate=C(d),e.call(x,!C(d)&&d),x.dispatchEvent(n)}},[x,z,d,u]);let I=r.useRef(!C(d)&&d);return(0,f.jsx)(s.WV.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=p?p:I.current,required:h,disabled:y,name:m,value:g,form:b,...a,tabIndex:-1,ref:w,style:{...a.style,...E,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function C(e){return"indeterminate"===e}function I(e){return C(e)?"indeterminate":e?"checked":"unchecked"}E.displayName=M},20271:function(e,t,n){n.d(t,{VY:function(){return j},aV:function(){return S},fC:function(){return A},xz:function(){return L}});var r=n(2265),l=n(6741),a=n(73966),i=n(1353),u=n(71599),o=n(66840),c=n(29114),d=n(80886),s=n(99255),f=n(57437),p="Tabs",[h,y]=(0,a.b)(p,[i.Pc]),m=(0,i.Pc)(),[v,g]=h(p),b=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:l,defaultValue:a,orientation:i="horizontal",dir:u,activationMode:h="automatic",...y}=e,m=(0,c.gm)(u),[g,b]=(0,d.T)({prop:r,onChange:l,defaultProp:null!=a?a:"",caller:p});return(0,f.jsx)(v,{scope:n,baseId:(0,s.M)(),value:g,onValueChange:b,orientation:i,dir:m,activationMode:h,children:(0,f.jsx)(o.WV.div,{dir:m,"data-orientation":i,...y,ref:t})})});b.displayName=p;var x="TabsList",k=r.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...l}=e,a=g(x,n),u=m(n);return(0,f.jsx)(i.fC,{asChild:!0,...u,orientation:a.orientation,dir:a.dir,loop:r,children:(0,f.jsx)(o.WV.div,{role:"tablist","aria-orientation":a.orientation,...l,ref:t})})});k.displayName=x;var w="TabsTrigger",z=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:a=!1,...u}=e,c=g(w,n),d=m(n),s=C(c.baseId,r),p=I(c.baseId,r),h=r===c.value;return(0,f.jsx)(i.ck,{asChild:!0,...d,focusable:!a,active:h,children:(0,f.jsx)(o.WV.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":p,"data-state":h?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:s,...u,ref:t,onMouseDown:(0,l.M)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(r)}),onKeyDown:(0,l.M)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(r)}),onFocus:(0,l.M)(e.onFocus,()=>{let e="manual"!==c.activationMode;h||a||!e||c.onValueChange(r)})})})});z.displayName=w;var M="TabsContent",E=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:l,forceMount:a,children:i,...c}=e,d=g(M,n),s=C(d.baseId,l),p=I(d.baseId,l),h=l===d.value,y=r.useRef(h);return r.useEffect(()=>{let e=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,f.jsx)(u.z,{present:a||h,children:n=>{let{present:r}=n;return(0,f.jsx)(o.WV.div,{"data-state":h?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":s,hidden:!r,id:p,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:y.current?"0s":void 0},children:r&&i})}})});function C(e,t){return"".concat(e,"-trigger-").concat(t)}function I(e,t){return"".concat(e,"-content-").concat(t)}E.displayName=M;var A=b,S=k,L=z,j=E},6718:function(e,t,n){n.d(t,{D:function(){return l}});var r=n(2265);function l(e){let t=r.useRef({value:e,previous:e});return r.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}}}]);
|
|
2
|
+
//# sourceMappingURL=6280-50b751f993f2fe4f.js.map
|