@shepai/cli 1.167.0 → 1.168.0-pr505.7d2bb14
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/apis/json-schema/FeatureFlags.yaml +5 -0
- package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts +38 -2
- package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +16 -1
- package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/interactive/index.d.ts +2 -0
- package/dist/packages/core/src/application/use-cases/interactive/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/interactive/index.js +1 -0
- package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.d.ts +17 -0
- package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.js +34 -0
- package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.js +6 -2
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +4 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +5 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/legacy-migrations.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/legacy-migrations.js +11 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-feature-flag-inventory.d.ts +11 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-feature-flag-inventory.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-feature-flag-inventory.js +17 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts +3 -3
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +3 -3
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +12 -3
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +3 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +59 -6
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +7 -0
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +101 -1
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.d.ts +19 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.js +33 -0
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +7 -0
- package/dist/src/presentation/web/app/features/feature-tree-page-client.d.ts +7 -0
- package/dist/src/presentation/web/app/features/feature-tree-page-client.d.ts.map +1 -0
- package/dist/src/presentation/web/app/features/feature-tree-page-client.js +13 -0
- package/dist/src/presentation/web/app/features/get-feature-tree-data.d.ts +10 -0
- package/dist/src/presentation/web/app/features/get-feature-tree-data.d.ts.map +1 -0
- package/dist/src/presentation/web/app/features/get-feature-tree-data.js +47 -0
- package/dist/src/presentation/web/app/features/page.d.ts +4 -0
- package/dist/src/presentation/web/app/features/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/features/page.js +9 -0
- package/dist/src/presentation/web/app/layout.d.ts +0 -1
- package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
- package/dist/src/presentation/web/app/layout.js +0 -1
- package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +3 -2
- package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -1
- package/dist/src/presentation/web/components/assistant-ui/thread.js +26 -3
- package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.js +68 -56
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.d.ts +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.js +7 -1
- package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.js +3 -0
- package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatSheet.js +3 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.js +3 -2
- package/dist/src/presentation/web/components/features/chat/InteractionBubble.d.ts +33 -0
- package/dist/src/presentation/web/components/features/chat/InteractionBubble.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/InteractionBubble.js +155 -0
- package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.d.ts +22 -0
- package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.js +107 -0
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +16 -0
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +62 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +18 -3
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +1 -0
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +1 -1
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.d.ts +36 -0
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.js +196 -0
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.d.ts +12 -0
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.js +166 -0
- package/dist/src/presentation/web/components/features/feature-tree-table/index.d.ts +3 -0
- package/dist/src/presentation/web/components/features/feature-tree-table/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/feature-tree-table/index.js +1 -0
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +3 -0
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +3 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +5 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +1 -0
- package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
- package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-graph-state.js +16 -0
- package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts +1 -1
- package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-turn-statuses.js +1 -1
- package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
- package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/feature-flags.js +5 -0
- package/dist/translations/ar/web.json +3 -0
- package/dist/translations/de/web.json +3 -0
- package/dist/translations/en/web.json +3 -0
- package/dist/translations/es/web.json +3 -0
- package/dist/translations/fr/web.json +3 -0
- package/dist/translations/he/web.json +3 -0
- package/dist/translations/pt/web.json +3 -0
- package/dist/translations/ru/web.json +3 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +2 -0
- package/web/.next/build-manifest.json +6 -6
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/routes-manifest.json +14 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/chat/page.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/create/page.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/page.js +1 -1
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +7 -7
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js +7 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js.map +5 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js.nft.json +1 -0
- package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/features/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/features/page/build-manifest.json +18 -0
- package/web/.next/server/app/features/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/features/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/features/page/server-reference-manifest.json +95 -0
- package/web/.next/server/app/features/page.js +18 -0
- package/web/.next/server/app/features/page.js.map +5 -0
- package/web/.next/server/app/features/page.js.nft.json +1 -0
- package/web/.next/server/app/features/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/settings/page/build-manifest.json +4 -4
- package/web/.next/server/app/settings/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/settings/page.js +1 -1
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/build-manifest.json +4 -4
- package/web/.next/server/app/skills/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/skills/page.js +1 -1
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/build-manifest.json +4 -4
- package/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/tools/page.js +1 -1
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/build-manifest.json +4 -4
- package/web/.next/server/app/version/page/react-loadable-manifest.json +1 -8
- package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +2 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_respond_route_actions_990d51bd.js +3 -0
- package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_respond_route_actions_990d51bd.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__31944fa2._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__31944fa2._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +9 -3
- package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08c912ab._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08c912ab._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__b062b383._.js → [root-of-the-server]__0c5452c3._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0c5452c3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__20a36a42._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__20a36a42._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__dffa13c5._.js → [root-of-the-server]__69dd3217._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__dffa13c5._.js.map → [root-of-the-server]__69dd3217._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1abe77bb._.js → [root-of-the-server]__7ffd3598._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7ffd3598._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__248ee887._.js → [root-of-the-server]__851f6adb._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__851f6adb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__7562afc6._.js → [root-of-the-server]__b020c17d._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b0aac03._.js → [root-of-the-server]__e88da4ee._.js} +3 -3
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b0aac03._.js.map → [root-of-the-server]__e88da4ee._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_0020fddd._.js +1 -1
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_a5913a26._.js → _004b47fc._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_a5913a26._.js.map → _004b47fc._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_02e01240._.js +1 -1
- package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0727935d._.js +1 -1
- package/web/.next/server/chunks/ssr/_0727935d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0dc06d07._.js +1 -1
- package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_18886033._.js +1 -1
- package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1e08a336._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js +1 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_4a4709c5._.js +4 -0
- package/web/.next/server/chunks/ssr/_4a4709c5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js +3 -0
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_560f2971._.js +3 -0
- package/web/.next/server/chunks/ssr/_560f2971._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_b4c3ffcc._.js → _58902d92._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_b4c3ffcc._.js.map → _58902d92._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_506a3bc3._.js → _682fc996._.js} +2 -2
- package/web/.next/server/chunks/ssr/_682fc996._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_6892e3b9._.js +3 -0
- package/web/.next/server/chunks/ssr/_6892e3b9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a1068852._.js +3 -0
- package/web/.next/server/chunks/ssr/_a1068852._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a5a5901d._.js +1 -1
- package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ad09f271._.js +1 -1
- package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_b4a9122d._.js +3 -0
- package/web/.next/server/chunks/ssr/_b4a9122d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_c3f595c6._.js +1 -1
- package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ea9e1556._.js +1 -1
- package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js +2 -2
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f33cd07e._.js +2 -2
- package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f535d854._.js +3 -0
- package/web/.next/server/chunks/ssr/_f535d854._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f8b45233._.js +1 -1
- package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_12a7ede0._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_12a7ede0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +10 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_page-header_index_ts_bdf4db0b._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_page-header_index_ts_bdf4db0b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js.map +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
- package/web/.next/server/middleware-build-manifest.js +4 -4
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +90 -48
- package/web/.next/static/chunks/{fe70e73feb07bcfd.js → 08ec4c9ab61717aa.js} +1 -1
- package/web/.next/static/chunks/{dedf6ca63c5468fa.js → 09edd35d194bec06.js} +3 -3
- package/web/.next/static/chunks/{d4d8f0a137bd2eb4.js → 12803afee7d0afc8.js} +2 -2
- package/web/.next/static/chunks/20f7cc98a013b11c.js +1 -0
- package/web/.next/static/chunks/2f711373a93c5bc3.css +1 -0
- package/web/.next/static/chunks/{8866edda931a81c2.js → 352c5cb6ed572dc3.js} +1 -1
- package/web/.next/static/chunks/3e393d6a78b2ade4.js +1 -0
- package/web/.next/static/chunks/41b4082b079b3ede.js +1 -0
- package/web/.next/static/chunks/4cec255f2754e5ec.js +1 -0
- package/web/.next/static/chunks/5a36922f56850850.js +1 -0
- package/web/.next/static/chunks/5b7275374d2696b3.css +1 -0
- package/web/.next/static/chunks/5ed47e998707b519.js +8 -0
- package/web/.next/static/chunks/647140fe96a7c88a.js +1 -0
- package/web/.next/static/chunks/6d6f70ff5151b8cb.js +7 -0
- package/web/.next/static/chunks/7bbbe3273230d2a1.js +3 -0
- package/web/.next/static/chunks/{7a7d7e71cf9b5a4e.js → 890a772551fc3962.js} +1 -1
- package/web/.next/static/chunks/982aef195c118996.js +1 -0
- package/web/.next/static/chunks/{d6a1facd04a52af5.js → a830880e642a6e01.js} +3 -3
- package/web/.next/static/chunks/c3ef3b892f7794ec.js +1 -0
- package/web/.next/static/chunks/c625deec577681f7.js +1 -0
- package/web/.next/static/chunks/dadf5909b2f15985.js +1 -0
- package/web/.next/static/chunks/dc134f3f58cdf850.js +5 -0
- package/web/.next/static/chunks/e137a48b35703673.js +1 -0
- package/web/.next/static/chunks/{3f404f608aebc7bb.js → e26afac86ed33fa7.js} +1 -1
- package/web/.next/static/chunks/f48af05c1bdb8aec.js +1 -0
- package/web/.next/static/chunks/f998b42b5cddafd6.js +1 -0
- package/web/.next/static/chunks/{d7eebb5c0aa9e101.js → fac6bac55da705ea.js} +1 -1
- package/web/.next/static/chunks/fb9d76d30fa8f790.js +1 -0
- package/web/.next/static/chunks/{turbopack-432ef324fc27240c.js → turbopack-57bb0674e2cd1d31.js} +1 -1
- package/web/package.json +2 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1abe77bb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__248ee887._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2d0c3840._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2d0c3840._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7562afc6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b062b383._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_3bcda5d7._.js +0 -3
- package/web/.next/server/chunks/ssr/_3bcda5d7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_4d49a312._.js +0 -3
- package/web/.next/server/chunks/ssr/_4d49a312._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_506a3bc3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_5ab8e97d._.js +0 -3
- package/web/.next/server/chunks/ssr/_5ab8e97d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_9215e9ec._.js +0 -3
- package/web/.next/server/chunks/ssr/_9215e9ec._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b5fc318a._.js +0 -3
- package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +0 -1
- package/web/.next/static/chunks/0be57768a211221a.js +0 -1
- package/web/.next/static/chunks/16eea21868510afd.js +0 -5
- package/web/.next/static/chunks/3208dc997aaee4d3.css +0 -1
- package/web/.next/static/chunks/3deefc76ea55047c.js +0 -1
- package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +0 -1
- package/web/.next/static/chunks/420eb8b33d83c4cb.js +0 -1
- package/web/.next/static/chunks/63b0ad1dbc27a5d0.js +0 -1
- package/web/.next/static/chunks/65440524d7ee7d13.js +0 -1
- package/web/.next/static/chunks/672e3da3ad26005b.js +0 -1
- package/web/.next/static/chunks/6c634b447a6a0db8.js +0 -7
- package/web/.next/static/chunks/6d7b999c99d6d175.js +0 -9
- package/web/.next/static/chunks/6eb32cd5d2795a7c.js +0 -1
- package/web/.next/static/chunks/7f4d1ec4e9f921a3.js +0 -1
- package/web/.next/static/chunks/8180973e9cd6a99e.css +0 -1
- package/web/.next/static/chunks/c0e13e7d1601bc5d.js +0 -1
- package/web/.next/static/chunks/c7e793951b20a67f.js +0 -1
- package/web/.next/static/chunks/da6d0839a24602eb.js +0 -3
- package/web/.next/static/chunks/db3bf9eb0b519bae.js +0 -1
- /package/web/.next/static/{JjjyVzk5ESdcMWkH6999z → 9dnSGRS5_ITgOmM09PgwP}/_buildManifest.js +0 -0
- /package/web/.next/static/{JjjyVzk5ESdcMWkH6999z → 9dnSGRS5_ITgOmM09PgwP}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{JjjyVzk5ESdcMWkH6999z → 9dnSGRS5_ITgOmM09PgwP}/_ssgManifest.js +0 -0
package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[59175,48972,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(55690);function e(a,[b,c]){return Math.min(c,Math.max(b,a))}a.s(["clamp",()=>e],48972);var f=a.i(59653),g=a.i(63496),h=a.i(6175),i=a.i(7420),j=a.i(48939),k=a.i(58761),l=a.i(51473),m=a.i(59675),n=a.i(5472),o=a.i(75988),p=a.i(80930),q=a.i(66873),r=a.i(90986),s=a.i(79406),t=a.i(17329),u=a.i(61476),v=a.i(64005),w=a.i(50049),x=a.i(16164),y=a.i(45291),z=[" ","Enter","ArrowUp","ArrowDown"],A=[" ","Enter"],B="Select",[C,D,E]=(0,g.createCollection)(B),[F,G]=(0,i.createContextScope)(B,[E,o.createPopperScope]),H=(0,o.createPopperScope)(),[I,J]=F(B),[K,L]=F(B),M=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:k,onValueChange:l,dir:m,name:p,autoComplete:q,disabled:r,required:s,form:u}=a,v=H(d),[w,x]=c.useState(null),[y,z]=c.useState(null),[A,D]=c.useState(!1),E=(0,j.useDirection)(m),[F,G]=(0,t.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:B}),[J,L]=(0,t.useControllableState)({prop:i,defaultProp:k,onChange:l,caller:B}),M=c.useRef(null),N=!w||u||!!w.closest("form"),[O,P]=c.useState(new Set),Q=Array.from(O).map(a=>a.props.value).join(";");return(0,b.jsx)(o.Root,{...v,children:(0,b.jsxs)(I,{required:s,scope:d,trigger:w,onTriggerChange:x,valueNode:y,onValueNodeChange:z,valueNodeHasChildren:A,onValueNodeHasChildrenChange:D,contentId:(0,n.useId)(),value:J,onValueChange:L,open:F,onOpenChange:G,dir:E,triggerPointerDownPosRef:M,disabled:r,children:[(0,b.jsx)(C.Provider,{scope:d,children:(0,b.jsx)(K,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{P(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{P(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),N?(0,b.jsxs)(az,{"aria-hidden":!0,required:s,tabIndex:-1,name:p,autoComplete:q,value:J,onChange:a=>L(a.target.value),disabled:r,form:u,children:[void 0===J?(0,b.jsx)("option",{value:""}):null,Array.from(O)]},Q):null]})})};M.displayName=B;var N="SelectTrigger",O=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:g=!1,...i}=a,j=H(e),k=J(N,e),l=k.disabled||g,m=(0,h.useComposedRefs)(d,k.onTriggerChange),n=D(e),p=c.useRef("touch"),[r,s,t]=aB(a=>{let b=n().filter(a=>!a.disabled),c=b.find(a=>a.value===k.value),d=aC(b,a,c);void 0!==d&&k.onValueChange(d.value)}),u=a=>{l||(k.onOpenChange(!0),t()),a&&(k.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(o.Anchor,{asChild:!0,...j,children:(0,b.jsx)(q.Primitive.button,{type:"button",role:"combobox","aria-controls":k.contentId,"aria-expanded":k.open,"aria-required":k.required,"aria-autocomplete":"none",dir:k.dir,"data-state":k.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":aA(k.value)?"":void 0,...i,ref:m,onClick:(0,f.composeEventHandlers)(i.onClick,a=>{a.currentTarget.focus(),"mouse"!==p.current&&u(a)}),onPointerDown:(0,f.composeEventHandlers)(i.onPointerDown,a=>{p.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(u(a),a.preventDefault())}),onKeyDown:(0,f.composeEventHandlers)(i.onKeyDown,a=>{let b=""!==r.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||s(a.key),(!b||" "!==a.key)&&z.includes(a.key)&&(u(),a.preventDefault())})})})});O.displayName=N;var P="SelectValue",Q=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:i="",...j}=a,k=J(P,d),{onValueNodeHasChildrenChange:l}=k,m=void 0!==g,n=(0,h.useComposedRefs)(c,k.onValueNodeChange);return(0,u.useLayoutEffect)(()=>{l(m)},[l,m]),(0,b.jsx)(q.Primitive.span,{...j,ref:n,style:{pointerEvents:"none"},children:aA(k.value)?(0,b.jsx)(b.Fragment,{children:i}):g})});Q.displayName=P;var R=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});R.displayName="SelectIcon";var S=a=>(0,b.jsx)(p.Portal,{asChild:!0,...a});S.displayName="SelectPortal";var T="SelectContent",U=c.forwardRef((a,e)=>{let f=J(T,a.__scopeSelect),[g,h]=c.useState();return((0,u.useLayoutEffect)(()=>{h(new DocumentFragment)},[]),f.open)?(0,b.jsx)(Y,{...a,ref:e}):g?d.createPortal((0,b.jsx)(V,{scope:a.__scopeSelect,children:(0,b.jsx)(C.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),g):null});U.displayName=T;var[V,W]=F(T),X=(0,r.createSlot)("SelectContent.RemoveScroll"),Y=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:g="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:j,onPointerDownOutside:n,side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:w,avoidCollisions:z,...A}=a,B=J(T,e),[C,E]=c.useState(null),[F,G]=c.useState(null),H=(0,h.useComposedRefs)(d,a=>E(a)),[I,K]=c.useState(null),[L,M]=c.useState(null),N=D(e),[O,P]=c.useState(!1),Q=c.useRef(!1);c.useEffect(()=>{if(C)return(0,x.hideOthers)(C)},[C]),(0,l.useFocusGuards)();let R=c.useCallback(a=>{let[b,...c]=N().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&F&&(F.scrollTop=0),c===d&&F&&(F.scrollTop=F.scrollHeight),c?.focus(),document.activeElement!==e))return},[N,F]),S=c.useCallback(()=>R([I,C]),[R,I,C]);c.useEffect(()=>{O&&S()},[O,S]);let{onOpenChange:U,triggerPointerDownPosRef:W}=B;c.useEffect(()=>{if(C){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(W.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():C.contains(c.target)||U(!1),document.removeEventListener("pointermove",b),W.current=null};return null!==W.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[C,U,W]),c.useEffect(()=>{let a=()=>U(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[U]);let[Y,_]=aB(a=>{let b=N().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aC(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),aa=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&(K(a),d&&(Q.current=!0))},[B.value]),ab=c.useCallback(()=>C?.focus(),[C]),ac=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&M(a)},[B.value]),ad="popper"===g?$:Z,ae=ad===$?{side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:w,avoidCollisions:z}:{};return(0,b.jsx)(V,{scope:e,content:C,viewport:F,onViewportChange:G,itemRefCallback:aa,selectedItem:I,onItemLeave:ab,itemTextRefCallback:ac,focusSelectedItem:S,selectedItemText:L,position:g,isPositioned:O,searchRef:Y,children:(0,b.jsx)(y.RemoveScroll,{as:X,allowPinchZoom:!0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:B.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,f.composeEventHandlers)(i,a=>{B.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:j,onPointerDownOutside:n,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>B.onOpenChange(!1),children:(0,b.jsx)(ad,{role:"listbox",id:B.contentId,"data-state":B.open?"open":"closed",dir:B.dir,onContextMenu:a=>a.preventDefault(),...A,...ae,onPlaced:()=>P(!0),ref:H,style:{display:"flex",flexDirection:"column",outline:"none",...A.style},onKeyDown:(0,f.composeEventHandlers)(A.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||_(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=N().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>R(b)),a.preventDefault()}})})})})})})});Y.displayName="SelectContentImpl";var Z=c.forwardRef((a,d)=>{let{__scopeSelect:f,onPlaced:g,...i}=a,j=J(T,f),k=W(T,f),[l,m]=c.useState(null),[n,o]=c.useState(null),p=(0,h.useComposedRefs)(d,a=>o(a)),r=D(f),s=c.useRef(!1),t=c.useRef(!0),{viewport:v,selectedItem:w,selectedItemText:x,focusSelectedItem:y}=k,z=c.useCallback(()=>{if(j.trigger&&j.valueNode&&l&&n&&v&&w&&x){let a=j.trigger.getBoundingClientRect(),b=n.getBoundingClientRect(),c=j.valueNode.getBoundingClientRect(),d=x.getBoundingClientRect();if("rtl"!==j.dir){let f=d.left-b.left,g=c.left-f,h=a.left-g,i=a.width+h,j=Math.max(i,b.width),k=e(g,[10,Math.max(10,window.innerWidth-10-j)]);l.style.minWidth=i+"px",l.style.left=k+"px"}else{let f=b.right-d.right,g=window.innerWidth-c.right-f,h=window.innerWidth-a.right-g,i=a.width+h,j=Math.max(i,b.width),k=e(g,[10,Math.max(10,window.innerWidth-10-j)]);l.style.minWidth=i+"px",l.style.right=k+"px"}let f=r(),h=window.innerHeight-20,i=v.scrollHeight,k=window.getComputedStyle(n),m=parseInt(k.borderTopWidth,10),o=parseInt(k.paddingTop,10),p=parseInt(k.borderBottomWidth,10),q=m+o+i+parseInt(k.paddingBottom,10)+p,t=Math.min(5*w.offsetHeight,q),u=window.getComputedStyle(v),y=parseInt(u.paddingTop,10),z=parseInt(u.paddingBottom,10),A=a.top+a.height/2-10,B=w.offsetHeight/2,C=m+o+(w.offsetTop+B);if(C<=A){let a=f.length>0&&w===f[f.length-1].ref.current;l.style.bottom="0px";let b=Math.max(h-A,B+(a?z:0)+(n.clientHeight-v.offsetTop-v.offsetHeight)+p);l.style.height=C+b+"px"}else{let a=f.length>0&&w===f[0].ref.current;l.style.top="0px";let b=Math.max(A,m+v.offsetTop+(a?y:0)+B);l.style.height=b+(q-C)+"px",v.scrollTop=C-A+v.offsetTop}l.style.margin="10px 0",l.style.minHeight=t+"px",l.style.maxHeight=h+"px",g?.(),requestAnimationFrame(()=>s.current=!0)}},[r,j.trigger,j.valueNode,l,n,v,w,x,j.dir,g]);(0,u.useLayoutEffect)(()=>z(),[z]);let[A,B]=c.useState();(0,u.useLayoutEffect)(()=>{n&&B(window.getComputedStyle(n).zIndex)},[n]);let C=c.useCallback(a=>{a&&!0===t.current&&(z(),y?.(),t.current=!1)},[z,y]);return(0,b.jsx)(_,{scope:f,contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:C,children:(0,b.jsx)("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:(0,b.jsx)(q.Primitive.div,{...i,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});Z.displayName="SelectItemAlignedPosition";var $=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=H(d);return(0,b.jsx)(o.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});$.displayName="SelectPopperPosition";var[_,aa]=F(T,{}),ab="SelectViewport",ac=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:g,...i}=a,j=W(ab,e),k=aa(ab,e),l=(0,h.useComposedRefs)(d,j.onViewportChange),m=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(C.Slot,{scope:e,children:(0,b.jsx)(q.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:(0,f.composeEventHandlers)(i.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=k;if(d?.current&&c){let a=Math.abs(m.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}m.current=b.scrollTop})})})]})});ac.displayName=ab;var ad="SelectGroup",[ae,af]=F(ad),ag=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,n.useId)();return(0,b.jsx)(ae,{scope:d,id:f,children:(0,b.jsx)(q.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})});ag.displayName=ad;var ah="SelectLabel",ai=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=af(ah,d);return(0,b.jsx)(q.Primitive.div,{id:f.id,...e,ref:c})});ai.displayName=ah;var aj="SelectItem",[ak,al]=F(aj),am=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:g,disabled:i=!1,textValue:j,...k}=a,l=J(aj,e),m=W(aj,e),o=l.value===g,[p,r]=c.useState(j??""),[s,t]=c.useState(!1),u=(0,h.useComposedRefs)(d,a=>m.itemRefCallback?.(a,g,i)),v=(0,n.useId)(),w=c.useRef("touch"),x=()=>{i||(l.onValueChange(g),l.onOpenChange(!1))};if(""===g)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(ak,{scope:e,value:g,disabled:i,textId:v,isSelected:o,onItemTextChange:c.useCallback(a=>{r(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(C.ItemSlot,{scope:e,value:g,disabled:i,textValue:p,children:(0,b.jsx)(q.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":s?"":void 0,"aria-selected":o&&s,"data-state":o?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...k,ref:u,onFocus:(0,f.composeEventHandlers)(k.onFocus,()=>t(!0)),onBlur:(0,f.composeEventHandlers)(k.onBlur,()=>t(!1)),onClick:(0,f.composeEventHandlers)(k.onClick,()=>{"mouse"!==w.current&&x()}),onPointerUp:(0,f.composeEventHandlers)(k.onPointerUp,()=>{"mouse"===w.current&&x()}),onPointerDown:(0,f.composeEventHandlers)(k.onPointerDown,a=>{w.current=a.pointerType}),onPointerMove:(0,f.composeEventHandlers)(k.onPointerMove,a=>{w.current=a.pointerType,i?m.onItemLeave?.():"mouse"===w.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,f.composeEventHandlers)(k.onPointerLeave,a=>{a.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:(0,f.composeEventHandlers)(k.onKeyDown,a=>{(m.searchRef?.current===""||" "!==a.key)&&(A.includes(a.key)&&x()," "===a.key&&a.preventDefault())})})})})});am.displayName=aj;var an="SelectItemText",ao=c.forwardRef((a,e)=>{let{__scopeSelect:f,className:g,style:i,...j}=a,k=J(an,f),l=W(an,f),m=al(an,f),n=L(an,f),[o,p]=c.useState(null),r=(0,h.useComposedRefs)(e,a=>p(a),m.onItemTextChange,a=>l.itemTextRefCallback?.(a,m.value,m.disabled)),s=o?.textContent,t=c.useMemo(()=>(0,b.jsx)("option",{value:m.value,disabled:m.disabled,children:s},m.value),[m.disabled,m.value,s]),{onNativeOptionAdd:v,onNativeOptionRemove:w}=n;return(0,u.useLayoutEffect)(()=>(v(t),()=>w(t)),[v,w,t]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q.Primitive.span,{id:m.textId,...j,ref:r}),m.isSelected&&k.valueNode&&!k.valueNodeHasChildren?d.createPortal(j.children,k.valueNode):null]})});ao.displayName=an;var ap="SelectItemIndicator",aq=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return al(ap,d).isSelected?(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});aq.displayName=ap;var ar="SelectScrollUpButton",as=c.forwardRef((a,d)=>{let e=W(ar,a.__scopeSelect),f=aa(ar,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){i(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(av,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});as.displayName=ar;var at="SelectScrollDownButton",au=c.forwardRef((a,d)=>{let e=W(at,a.__scopeSelect),f=aa(at,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;i(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(av,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});au.displayName=at;var av=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:g,...h}=a,i=W("SelectScrollButton",e),j=c.useRef(null),k=D(e),l=c.useCallback(()=>{null!==j.current&&(window.clearInterval(j.current),j.current=null)},[]);return c.useEffect(()=>()=>l(),[l]),(0,u.useLayoutEffect)(()=>{let a=k().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[k]),(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...h,ref:d,style:{flexShrink:0,...h.style},onPointerDown:(0,f.composeEventHandlers)(h.onPointerDown,()=>{null===j.current&&(j.current=window.setInterval(g,50))}),onPointerMove:(0,f.composeEventHandlers)(h.onPointerMove,()=>{i.onItemLeave?.(),null===j.current&&(j.current=window.setInterval(g,50))}),onPointerLeave:(0,f.composeEventHandlers)(h.onPointerLeave,()=>{l()})})}),aw=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aw.displayName="SelectSeparator";var ax="SelectArrow",ay=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=H(d),g=J(ax,d),h=W(ax,d);return g.open&&"popper"===h.position?(0,b.jsx)(o.Arrow,{...f,...e,ref:c}):null});ay.displayName=ax;var az=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g=c.useRef(null),i=(0,h.useComposedRefs)(f,g),j=(0,v.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(j!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[j,d]),(0,b.jsx)(q.Primitive.select,{...e,style:{...w.VISUALLY_HIDDEN_STYLES,...e.style},ref:i,defaultValue:d})});function aA(a){return""===a||void 0===a}function aB(a){let b=(0,s.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aC(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}az.displayName="SelectBubbleInput",a.s(["Arrow",()=>ay,"Content",()=>U,"Group",()=>ag,"Icon",()=>R,"Item",()=>am,"ItemIndicator",()=>aq,"ItemText",()=>ao,"Label",()=>ai,"Portal",()=>S,"Root",()=>M,"ScrollDownButton",()=>au,"ScrollUpButton",()=>as,"Select",()=>M,"SelectArrow",()=>ay,"SelectContent",()=>U,"SelectGroup",()=>ag,"SelectIcon",()=>R,"SelectItem",()=>am,"SelectItemIndicator",()=>aq,"SelectItemText",()=>ao,"SelectLabel",()=>ai,"SelectPortal",()=>S,"SelectScrollDownButton",()=>au,"SelectScrollUpButton",()=>as,"SelectSeparator",()=>aw,"SelectTrigger",()=>O,"SelectValue",()=>Q,"SelectViewport",()=>ac,"Separator",()=>aw,"Trigger",()=>O,"Value",()=>Q,"Viewport",()=>ac,"createSelectScope",()=>G],16252);var aD=a.i(16252),aD=aD,aE=a.i(72016),aF=a.i(71716),aG=a.i(19880),aH=a.i(85536);let aI=aD.Root;aD.Group;let aJ=aD.Value,aK=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aD.Trigger,{ref:e,className:(0,aH.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(aD.Icon,{asChild:!0,children:(0,b.jsx)(aF.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));aK.displayName=aD.Trigger.displayName;let aL=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aD.ScrollUpButton,{ref:d,className:(0,aH.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aG.ChevronUp,{className:"h-4 w-4"})}));aL.displayName=aD.ScrollUpButton.displayName;let aM=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aD.ScrollDownButton,{ref:d,className:(0,aH.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aF.ChevronDown,{className:"h-4 w-4"})}));aM.displayName=aD.ScrollDownButton.displayName;let aN=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(aD.Portal,{children:(0,b.jsxs)(aD.Content,{ref:f,className:(0,aH.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(aL,{}),(0,b.jsx)(aD.Viewport,{className:(0,aH.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(aM,{})]})}));aN.displayName=aD.Content.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aD.Label,{ref:d,className:(0,aH.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=aD.Label.displayName;let aO=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aD.Item,{ref:e,className:(0,aH.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aD.ItemIndicator,{children:(0,b.jsx)(aE.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(aD.ItemText,{children:c})]}));aO.displayName=aD.Item.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aD.Separator,{ref:d,className:(0,aH.cn)("bg-muted -mx-1 my-1 h-px",a),...c})).displayName=aD.Separator.displayName,a.s(["Select",()=>aI,"SelectContent",()=>aN,"SelectItem",()=>aO,"SelectTrigger",()=>aK,"SelectValue",()=>aJ],59175)}];
|
|
1
|
+
module.exports=[59175,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(55690),e=a.i(48972),f=a.i(59653),g=a.i(63496),h=a.i(6175),i=a.i(7420),j=a.i(48939),k=a.i(58761),l=a.i(51473),m=a.i(59675),n=a.i(5472),o=a.i(75988),p=a.i(80930),q=a.i(66873),r=a.i(90986),s=a.i(79406),t=a.i(17329),u=a.i(61476),v=a.i(64005),w=a.i(50049),x=a.i(16164),y=a.i(45291),z=[" ","Enter","ArrowUp","ArrowDown"],A=[" ","Enter"],B="Select",[C,D,E]=(0,g.createCollection)(B),[F,G]=(0,i.createContextScope)(B,[E,o.createPopperScope]),H=(0,o.createPopperScope)(),[I,J]=F(B),[K,L]=F(B),M=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:k,onValueChange:l,dir:m,name:p,autoComplete:q,disabled:r,required:s,form:u}=a,v=H(d),[w,x]=c.useState(null),[y,z]=c.useState(null),[A,D]=c.useState(!1),E=(0,j.useDirection)(m),[F,G]=(0,t.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:B}),[J,L]=(0,t.useControllableState)({prop:i,defaultProp:k,onChange:l,caller:B}),M=c.useRef(null),N=!w||u||!!w.closest("form"),[O,P]=c.useState(new Set),Q=Array.from(O).map(a=>a.props.value).join(";");return(0,b.jsx)(o.Root,{...v,children:(0,b.jsxs)(I,{required:s,scope:d,trigger:w,onTriggerChange:x,valueNode:y,onValueNodeChange:z,valueNodeHasChildren:A,onValueNodeHasChildrenChange:D,contentId:(0,n.useId)(),value:J,onValueChange:L,open:F,onOpenChange:G,dir:E,triggerPointerDownPosRef:M,disabled:r,children:[(0,b.jsx)(C.Provider,{scope:d,children:(0,b.jsx)(K,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{P(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{P(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),N?(0,b.jsxs)(az,{"aria-hidden":!0,required:s,tabIndex:-1,name:p,autoComplete:q,value:J,onChange:a=>L(a.target.value),disabled:r,form:u,children:[void 0===J?(0,b.jsx)("option",{value:""}):null,Array.from(O)]},Q):null]})})};M.displayName=B;var N="SelectTrigger",O=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:g=!1,...i}=a,j=H(e),k=J(N,e),l=k.disabled||g,m=(0,h.useComposedRefs)(d,k.onTriggerChange),n=D(e),p=c.useRef("touch"),[r,s,t]=aB(a=>{let b=n().filter(a=>!a.disabled),c=b.find(a=>a.value===k.value),d=aC(b,a,c);void 0!==d&&k.onValueChange(d.value)}),u=a=>{l||(k.onOpenChange(!0),t()),a&&(k.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(o.Anchor,{asChild:!0,...j,children:(0,b.jsx)(q.Primitive.button,{type:"button",role:"combobox","aria-controls":k.contentId,"aria-expanded":k.open,"aria-required":k.required,"aria-autocomplete":"none",dir:k.dir,"data-state":k.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":aA(k.value)?"":void 0,...i,ref:m,onClick:(0,f.composeEventHandlers)(i.onClick,a=>{a.currentTarget.focus(),"mouse"!==p.current&&u(a)}),onPointerDown:(0,f.composeEventHandlers)(i.onPointerDown,a=>{p.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(u(a),a.preventDefault())}),onKeyDown:(0,f.composeEventHandlers)(i.onKeyDown,a=>{let b=""!==r.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||s(a.key),(!b||" "!==a.key)&&z.includes(a.key)&&(u(),a.preventDefault())})})})});O.displayName=N;var P="SelectValue",Q=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:i="",...j}=a,k=J(P,d),{onValueNodeHasChildrenChange:l}=k,m=void 0!==g,n=(0,h.useComposedRefs)(c,k.onValueNodeChange);return(0,u.useLayoutEffect)(()=>{l(m)},[l,m]),(0,b.jsx)(q.Primitive.span,{...j,ref:n,style:{pointerEvents:"none"},children:aA(k.value)?(0,b.jsx)(b.Fragment,{children:i}):g})});Q.displayName=P;var R=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});R.displayName="SelectIcon";var S=a=>(0,b.jsx)(p.Portal,{asChild:!0,...a});S.displayName="SelectPortal";var T="SelectContent",U=c.forwardRef((a,e)=>{let f=J(T,a.__scopeSelect),[g,h]=c.useState();return((0,u.useLayoutEffect)(()=>{h(new DocumentFragment)},[]),f.open)?(0,b.jsx)(Y,{...a,ref:e}):g?d.createPortal((0,b.jsx)(V,{scope:a.__scopeSelect,children:(0,b.jsx)(C.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),g):null});U.displayName=T;var[V,W]=F(T),X=(0,r.createSlot)("SelectContent.RemoveScroll"),Y=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:g="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:j,onPointerDownOutside:n,side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:w,avoidCollisions:z,...A}=a,B=J(T,e),[C,E]=c.useState(null),[F,G]=c.useState(null),H=(0,h.useComposedRefs)(d,a=>E(a)),[I,K]=c.useState(null),[L,M]=c.useState(null),N=D(e),[O,P]=c.useState(!1),Q=c.useRef(!1);c.useEffect(()=>{if(C)return(0,x.hideOthers)(C)},[C]),(0,l.useFocusGuards)();let R=c.useCallback(a=>{let[b,...c]=N().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&F&&(F.scrollTop=0),c===d&&F&&(F.scrollTop=F.scrollHeight),c?.focus(),document.activeElement!==e))return},[N,F]),S=c.useCallback(()=>R([I,C]),[R,I,C]);c.useEffect(()=>{O&&S()},[O,S]);let{onOpenChange:U,triggerPointerDownPosRef:W}=B;c.useEffect(()=>{if(C){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(W.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():C.contains(c.target)||U(!1),document.removeEventListener("pointermove",b),W.current=null};return null!==W.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[C,U,W]),c.useEffect(()=>{let a=()=>U(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[U]);let[Y,_]=aB(a=>{let b=N().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aC(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),aa=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&(K(a),d&&(Q.current=!0))},[B.value]),ab=c.useCallback(()=>C?.focus(),[C]),ac=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&M(a)},[B.value]),ad="popper"===g?$:Z,ae=ad===$?{side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:w,avoidCollisions:z}:{};return(0,b.jsx)(V,{scope:e,content:C,viewport:F,onViewportChange:G,itemRefCallback:aa,selectedItem:I,onItemLeave:ab,itemTextRefCallback:ac,focusSelectedItem:S,selectedItemText:L,position:g,isPositioned:O,searchRef:Y,children:(0,b.jsx)(y.RemoveScroll,{as:X,allowPinchZoom:!0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:B.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,f.composeEventHandlers)(i,a=>{B.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:j,onPointerDownOutside:n,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>B.onOpenChange(!1),children:(0,b.jsx)(ad,{role:"listbox",id:B.contentId,"data-state":B.open?"open":"closed",dir:B.dir,onContextMenu:a=>a.preventDefault(),...A,...ae,onPlaced:()=>P(!0),ref:H,style:{display:"flex",flexDirection:"column",outline:"none",...A.style},onKeyDown:(0,f.composeEventHandlers)(A.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||_(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=N().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>R(b)),a.preventDefault()}})})})})})})});Y.displayName="SelectContentImpl";var Z=c.forwardRef((a,d)=>{let{__scopeSelect:f,onPlaced:g,...i}=a,j=J(T,f),k=W(T,f),[l,m]=c.useState(null),[n,o]=c.useState(null),p=(0,h.useComposedRefs)(d,a=>o(a)),r=D(f),s=c.useRef(!1),t=c.useRef(!0),{viewport:v,selectedItem:w,selectedItemText:x,focusSelectedItem:y}=k,z=c.useCallback(()=>{if(j.trigger&&j.valueNode&&l&&n&&v&&w&&x){let a=j.trigger.getBoundingClientRect(),b=n.getBoundingClientRect(),c=j.valueNode.getBoundingClientRect(),d=x.getBoundingClientRect();if("rtl"!==j.dir){let f=d.left-b.left,g=c.left-f,h=a.left-g,i=a.width+h,j=Math.max(i,b.width),k=window.innerWidth-10,m=(0,e.clamp)(g,[10,Math.max(10,k-j)]);l.style.minWidth=i+"px",l.style.left=m+"px"}else{let f=b.right-d.right,g=window.innerWidth-c.right-f,h=window.innerWidth-a.right-g,i=a.width+h,j=Math.max(i,b.width),k=window.innerWidth-10,m=(0,e.clamp)(g,[10,Math.max(10,k-j)]);l.style.minWidth=i+"px",l.style.right=m+"px"}let f=r(),h=window.innerHeight-20,i=v.scrollHeight,k=window.getComputedStyle(n),m=parseInt(k.borderTopWidth,10),o=parseInt(k.paddingTop,10),p=parseInt(k.borderBottomWidth,10),q=m+o+i+parseInt(k.paddingBottom,10)+p,t=Math.min(5*w.offsetHeight,q),u=window.getComputedStyle(v),y=parseInt(u.paddingTop,10),z=parseInt(u.paddingBottom,10),A=a.top+a.height/2-10,B=w.offsetHeight/2,C=m+o+(w.offsetTop+B);if(C<=A){let a=f.length>0&&w===f[f.length-1].ref.current;l.style.bottom="0px";let b=Math.max(h-A,B+(a?z:0)+(n.clientHeight-v.offsetTop-v.offsetHeight)+p);l.style.height=C+b+"px"}else{let a=f.length>0&&w===f[0].ref.current;l.style.top="0px";let b=Math.max(A,m+v.offsetTop+(a?y:0)+B);l.style.height=b+(q-C)+"px",v.scrollTop=C-A+v.offsetTop}l.style.margin="10px 0",l.style.minHeight=t+"px",l.style.maxHeight=h+"px",g?.(),requestAnimationFrame(()=>s.current=!0)}},[r,j.trigger,j.valueNode,l,n,v,w,x,j.dir,g]);(0,u.useLayoutEffect)(()=>z(),[z]);let[A,B]=c.useState();(0,u.useLayoutEffect)(()=>{n&&B(window.getComputedStyle(n).zIndex)},[n]);let C=c.useCallback(a=>{a&&!0===t.current&&(z(),y?.(),t.current=!1)},[z,y]);return(0,b.jsx)(_,{scope:f,contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:C,children:(0,b.jsx)("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:(0,b.jsx)(q.Primitive.div,{...i,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});Z.displayName="SelectItemAlignedPosition";var $=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=H(d);return(0,b.jsx)(o.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});$.displayName="SelectPopperPosition";var[_,aa]=F(T,{}),ab="SelectViewport",ac=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:g,...i}=a,j=W(ab,e),k=aa(ab,e),l=(0,h.useComposedRefs)(d,j.onViewportChange),m=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(C.Slot,{scope:e,children:(0,b.jsx)(q.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:(0,f.composeEventHandlers)(i.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=k;if(d?.current&&c){let a=Math.abs(m.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}m.current=b.scrollTop})})})]})});ac.displayName=ab;var ad="SelectGroup",[ae,af]=F(ad),ag=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,n.useId)();return(0,b.jsx)(ae,{scope:d,id:f,children:(0,b.jsx)(q.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})});ag.displayName=ad;var ah="SelectLabel",ai=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=af(ah,d);return(0,b.jsx)(q.Primitive.div,{id:f.id,...e,ref:c})});ai.displayName=ah;var aj="SelectItem",[ak,al]=F(aj),am=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:g,disabled:i=!1,textValue:j,...k}=a,l=J(aj,e),m=W(aj,e),o=l.value===g,[p,r]=c.useState(j??""),[s,t]=c.useState(!1),u=(0,h.useComposedRefs)(d,a=>m.itemRefCallback?.(a,g,i)),v=(0,n.useId)(),w=c.useRef("touch"),x=()=>{i||(l.onValueChange(g),l.onOpenChange(!1))};if(""===g)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(ak,{scope:e,value:g,disabled:i,textId:v,isSelected:o,onItemTextChange:c.useCallback(a=>{r(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(C.ItemSlot,{scope:e,value:g,disabled:i,textValue:p,children:(0,b.jsx)(q.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":s?"":void 0,"aria-selected":o&&s,"data-state":o?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...k,ref:u,onFocus:(0,f.composeEventHandlers)(k.onFocus,()=>t(!0)),onBlur:(0,f.composeEventHandlers)(k.onBlur,()=>t(!1)),onClick:(0,f.composeEventHandlers)(k.onClick,()=>{"mouse"!==w.current&&x()}),onPointerUp:(0,f.composeEventHandlers)(k.onPointerUp,()=>{"mouse"===w.current&&x()}),onPointerDown:(0,f.composeEventHandlers)(k.onPointerDown,a=>{w.current=a.pointerType}),onPointerMove:(0,f.composeEventHandlers)(k.onPointerMove,a=>{w.current=a.pointerType,i?m.onItemLeave?.():"mouse"===w.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,f.composeEventHandlers)(k.onPointerLeave,a=>{a.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:(0,f.composeEventHandlers)(k.onKeyDown,a=>{(m.searchRef?.current===""||" "!==a.key)&&(A.includes(a.key)&&x()," "===a.key&&a.preventDefault())})})})})});am.displayName=aj;var an="SelectItemText",ao=c.forwardRef((a,e)=>{let{__scopeSelect:f,className:g,style:i,...j}=a,k=J(an,f),l=W(an,f),m=al(an,f),n=L(an,f),[o,p]=c.useState(null),r=(0,h.useComposedRefs)(e,a=>p(a),m.onItemTextChange,a=>l.itemTextRefCallback?.(a,m.value,m.disabled)),s=o?.textContent,t=c.useMemo(()=>(0,b.jsx)("option",{value:m.value,disabled:m.disabled,children:s},m.value),[m.disabled,m.value,s]),{onNativeOptionAdd:v,onNativeOptionRemove:w}=n;return(0,u.useLayoutEffect)(()=>(v(t),()=>w(t)),[v,w,t]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q.Primitive.span,{id:m.textId,...j,ref:r}),m.isSelected&&k.valueNode&&!k.valueNodeHasChildren?d.createPortal(j.children,k.valueNode):null]})});ao.displayName=an;var ap="SelectItemIndicator",aq=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return al(ap,d).isSelected?(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});aq.displayName=ap;var ar="SelectScrollUpButton",as=c.forwardRef((a,d)=>{let e=W(ar,a.__scopeSelect),f=aa(ar,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){i(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(av,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});as.displayName=ar;var at="SelectScrollDownButton",au=c.forwardRef((a,d)=>{let e=W(at,a.__scopeSelect),f=aa(at,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;i(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(av,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});au.displayName=at;var av=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:g,...h}=a,i=W("SelectScrollButton",e),j=c.useRef(null),k=D(e),l=c.useCallback(()=>{null!==j.current&&(window.clearInterval(j.current),j.current=null)},[]);return c.useEffect(()=>()=>l(),[l]),(0,u.useLayoutEffect)(()=>{let a=k().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[k]),(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...h,ref:d,style:{flexShrink:0,...h.style},onPointerDown:(0,f.composeEventHandlers)(h.onPointerDown,()=>{null===j.current&&(j.current=window.setInterval(g,50))}),onPointerMove:(0,f.composeEventHandlers)(h.onPointerMove,()=>{i.onItemLeave?.(),null===j.current&&(j.current=window.setInterval(g,50))}),onPointerLeave:(0,f.composeEventHandlers)(h.onPointerLeave,()=>{l()})})}),aw=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aw.displayName="SelectSeparator";var ax="SelectArrow",ay=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=H(d),g=J(ax,d),h=W(ax,d);return g.open&&"popper"===h.position?(0,b.jsx)(o.Arrow,{...f,...e,ref:c}):null});ay.displayName=ax;var az=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g=c.useRef(null),i=(0,h.useComposedRefs)(f,g),j=(0,v.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(j!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[j,d]),(0,b.jsx)(q.Primitive.select,{...e,style:{...w.VISUALLY_HIDDEN_STYLES,...e.style},ref:i,defaultValue:d})});function aA(a){return""===a||void 0===a}function aB(a){let b=(0,s.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aC(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}az.displayName="SelectBubbleInput",a.s(["Arrow",()=>ay,"Content",()=>U,"Group",()=>ag,"Icon",()=>R,"Item",()=>am,"ItemIndicator",()=>aq,"ItemText",()=>ao,"Label",()=>ai,"Portal",()=>S,"Root",()=>M,"ScrollDownButton",()=>au,"ScrollUpButton",()=>as,"Select",()=>M,"SelectArrow",()=>ay,"SelectContent",()=>U,"SelectGroup",()=>ag,"SelectIcon",()=>R,"SelectItem",()=>am,"SelectItemIndicator",()=>aq,"SelectItemText",()=>ao,"SelectLabel",()=>ai,"SelectPortal",()=>S,"SelectScrollDownButton",()=>au,"SelectScrollUpButton",()=>as,"SelectSeparator",()=>aw,"SelectTrigger",()=>O,"SelectValue",()=>Q,"SelectViewport",()=>ac,"Separator",()=>aw,"Trigger",()=>O,"Value",()=>Q,"Viewport",()=>ac,"createSelectScope",()=>G],16252);var aD=a.i(16252),aD=aD,aE=a.i(72016),aF=a.i(71716),aG=a.i(19880),aH=a.i(85536);let aI=aD.Root;aD.Group;let aJ=aD.Value,aK=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aD.Trigger,{ref:e,className:(0,aH.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(aD.Icon,{asChild:!0,children:(0,b.jsx)(aF.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));aK.displayName=aD.Trigger.displayName;let aL=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aD.ScrollUpButton,{ref:d,className:(0,aH.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aG.ChevronUp,{className:"h-4 w-4"})}));aL.displayName=aD.ScrollUpButton.displayName;let aM=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aD.ScrollDownButton,{ref:d,className:(0,aH.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aF.ChevronDown,{className:"h-4 w-4"})}));aM.displayName=aD.ScrollDownButton.displayName;let aN=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(aD.Portal,{children:(0,b.jsxs)(aD.Content,{ref:f,className:(0,aH.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(aL,{}),(0,b.jsx)(aD.Viewport,{className:(0,aH.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(aM,{})]})}));aN.displayName=aD.Content.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aD.Label,{ref:d,className:(0,aH.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=aD.Label.displayName;let aO=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aD.Item,{ref:e,className:(0,aH.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aD.ItemIndicator,{children:(0,b.jsx)(aE.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(aD.ItemText,{children:c})]}));aO.displayName=aD.Item.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aD.Separator,{ref:d,className:(0,aH.cn)("bg-muted -mx-1 my-1 h-px",a),...c})).displayName=aD.Separator.displayName,a.s(["Select",()=>aI,"SelectContent",()=>aN,"SelectItem",()=>aO,"SelectTrigger",()=>aK,"SelectValue",()=>aJ],59175)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web_components_ui_select_tsx_45d6b8ae._.js.map
|
package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-select%402.2.6_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Breact_1f7b4ff668a805c08339bb4e58c413b0/node_modules/%40radix-ui/react-select/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/select.tsx","../../../../../../../node_modules/.pnpm/%40radix-ui%2Bnumber%401.1.1/node_modules/%40radix-ui/number/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className\n )}\n {...props}\n >\n <span className=\"absolute end-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn('bg-muted -mx-1 my-1 h-px', className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","// 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"],"names":[],"mappings":"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","ignoreList":[0,2]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-select%402.2.6_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Breact_1f7b4ff668a805c08339bb4e58c413b0/node_modules/%40radix-ui/react-select/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/select.tsx"],"sourcesContent":["\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className\n )}\n {...props}\n >\n <span className=\"absolute end-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn('bg-muted -mx-1 my-1 h-px', className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n"],"names":[],"mappings":"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","ignoreList":[0]}
|