@kromatv/sdk 0.1.40-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -0
- package/dist/cli.js +2523 -0
- package/package.json +78 -0
- package/rust/Cargo.toml +3 -0
- package/rust/kroma-db/Cargo.toml +27 -0
- package/rust/kroma-db/src/accounts/access_tokens.rs +197 -0
- package/rust/kroma-db/src/accounts/credentials.rs +97 -0
- package/rust/kroma-db/src/accounts/invites.rs +136 -0
- package/rust/kroma-db/src/accounts/preferences.rs +100 -0
- package/rust/kroma-db/src/accounts/resets.rs +202 -0
- package/rust/kroma-db/src/accounts/sessions.rs +182 -0
- package/rust/kroma-db/src/accounts/test_support.rs +14 -0
- package/rust/kroma-db/src/accounts/verifications.rs +185 -0
- package/rust/kroma-db/src/accounts.rs +244 -0
- package/rust/kroma-db/src/admin/metrics.rs +201 -0
- package/rust/kroma-db/src/admin/play_history.rs +361 -0
- package/rust/kroma-db/src/admin/play_sort.rs +113 -0
- package/rust/kroma-db/src/admin/stats.rs +108 -0
- package/rust/kroma-db/src/admin/test_support.rs +83 -0
- package/rust/kroma-db/src/admin/watch_stats.rs +458 -0
- package/rust/kroma-db/src/admin.rs +226 -0
- package/rust/kroma-db/src/audio_analysis.rs +253 -0
- package/rust/kroma-db/src/backup/module_stores.rs +204 -0
- package/rust/kroma-db/src/backup/rows.rs +155 -0
- package/rust/kroma-db/src/backup/test_support.rs +61 -0
- package/rust/kroma-db/src/backup.rs +306 -0
- package/rust/kroma-db/src/catalog_query/find_titles.rs +316 -0
- package/rust/kroma-db/src/catalog_query/test_support.rs +88 -0
- package/rust/kroma-db/src/catalog_query.rs +198 -0
- package/rust/kroma-db/src/chunked.rs +36 -0
- package/rust/kroma-db/src/core_tables.rs +99 -0
- package/rust/kroma-db/src/curated.rs +192 -0
- package/rust/kroma-db/src/downloaded_subs.rs +136 -0
- package/rust/kroma-db/src/downloads.rs +219 -0
- package/rust/kroma-db/src/grant/escapes/schema.rs +120 -0
- package/rust/kroma-db/src/grant/escapes/statements.rs +170 -0
- package/rust/kroma-db/src/grant/escapes.rs +141 -0
- package/rust/kroma-db/src/grant/tests.rs +255 -0
- package/rust/kroma-db/src/grant.rs +203 -0
- package/rust/kroma-db/src/home/genre_guard.rs +249 -0
- package/rust/kroma-db/src/home/hydration.rs +126 -0
- package/rust/kroma-db/src/home/test_support.rs +60 -0
- package/rust/kroma-db/src/home.rs +244 -0
- package/rust/kroma-db/src/hydrate.rs +296 -0
- package/rust/kroma-db/src/ingest/metadata.rs +648 -0
- package/rust/kroma-db/src/ingest/probe.rs +171 -0
- package/rust/kroma-db/src/ingest/probe_result.rs +178 -0
- package/rust/kroma-db/src/ingest/scanned_files.rs +235 -0
- package/rust/kroma-db/src/ingest/sync.rs +291 -0
- package/rust/kroma-db/src/ingest/test_support.rs +114 -0
- package/rust/kroma-db/src/ingest.rs +20 -0
- package/rust/kroma-db/src/jobs.rs +269 -0
- package/rust/kroma-db/src/lib.rs +97 -0
- package/rust/kroma-db/src/library.rs +66 -0
- package/rust/kroma-db/src/localize/items.rs +303 -0
- package/rust/kroma-db/src/localize/shows.rs +192 -0
- package/rust/kroma-db/src/localize/test_support.rs +91 -0
- package/rust/kroma-db/src/localize.rs +105 -0
- package/rust/kroma-db/src/markers.rs +203 -0
- package/rust/kroma-db/src/media/person.rs +213 -0
- package/rust/kroma-db/src/media/show_detail.rs +186 -0
- package/rust/kroma-db/src/media/shows.rs +202 -0
- package/rust/kroma-db/src/media/splash.rs +199 -0
- package/rust/kroma-db/src/media/test_support.rs +31 -0
- package/rust/kroma-db/src/media.rs +296 -0
- package/rust/kroma-db/src/metadata_core.rs +348 -0
- package/rust/kroma-db/src/notifications/digest.rs +143 -0
- package/rust/kroma-db/src/notifications/preferences.rs +138 -0
- package/rust/kroma-db/src/notifications/read_state.rs +167 -0
- package/rust/kroma-db/src/notifications/test_support.rs +50 -0
- package/rust/kroma-db/src/notifications.rs +232 -0
- package/rust/kroma-db/src/passkeys.rs +163 -0
- package/rust/kroma-db/src/pipeline/ops/drain.rs +266 -0
- package/rust/kroma-db/src/pipeline/ops/reconcile.rs +274 -0
- package/rust/kroma-db/src/pipeline/ops/test_support.rs +48 -0
- package/rust/kroma-db/src/pipeline/ops.rs +49 -0
- package/rust/kroma-db/src/pipeline/query/elements.rs +200 -0
- package/rust/kroma-db/src/pipeline/query/test_support.rs +23 -0
- package/rust/kroma-db/src/pipeline/query.rs +255 -0
- package/rust/kroma-db/src/pipeline/tests.rs +319 -0
- package/rust/kroma-db/src/pipeline.rs +26 -0
- package/rust/kroma-db/src/playback/continue_watching.rs +289 -0
- package/rust/kroma-db/src/playback/on_deck.rs +53 -0
- package/rust/kroma-db/src/playback/show_progress.rs +230 -0
- package/rust/kroma-db/src/playback/test_support.rs +55 -0
- package/rust/kroma-db/src/playback/up_next.rs +208 -0
- package/rust/kroma-db/src/playback/watch_state.rs +129 -0
- package/rust/kroma-db/src/playback.rs +196 -0
- package/rust/kroma-db/src/pool.rs +117 -0
- package/rust/kroma-db/src/push_subs.rs +323 -0
- package/rust/kroma-db/src/reports.rs +231 -0
- package/rust/kroma-db/src/requests/availability.rs +211 -0
- package/rust/kroma-db/src/requests/calendar.rs +221 -0
- package/rust/kroma-db/src/requests/gaps.rs +213 -0
- package/rust/kroma-db/src/requests/search_queue.rs +352 -0
- package/rust/kroma-db/src/requests/tests.rs +289 -0
- package/rust/kroma-db/src/requests/wanted.rs +351 -0
- package/rust/kroma-db/src/requests.rs +245 -0
- package/rust/kroma-db/src/rows.rs +190 -0
- package/rust/kroma-db/src/schema/ddl.rs +678 -0
- package/rust/kroma-db/src/schema/migrations.rs +261 -0
- package/rust/kroma-db/src/schema.rs +273 -0
- package/rust/kroma-db/src/suggest.rs +129 -0
- package/rust/kroma-db/src/taste.rs +77 -0
- package/rust/kroma-db/src/testing.rs +63 -0
- package/rust/kroma-db/src/tmdb_pin.rs +133 -0
- package/rust/kroma-db/src/translations.rs +569 -0
- package/rust/kroma-db/src/vectors/recommendations.rs +164 -0
- package/rust/kroma-db/src/vectors/search.rs +213 -0
- package/rust/kroma-db/src/vectors/test_support.rs +31 -0
- package/rust/kroma-db/src/vectors.rs +161 -0
- package/rust/kroma-domain/Cargo.toml +17 -0
- package/rust/kroma-domain/src/accounts.rs +181 -0
- package/rust/kroma-domain/src/admin.rs +197 -0
- package/rust/kroma-domain/src/cast.rs +178 -0
- package/rust/kroma-domain/src/crash.rs +48 -0
- package/rust/kroma-domain/src/jobs.rs +119 -0
- package/rust/kroma-domain/src/lib.rs +44 -0
- package/rust/kroma-domain/src/library.rs +21 -0
- package/rust/kroma-domain/src/matching/mod.rs +293 -0
- package/rust/kroma-domain/src/matching/normalize.rs +193 -0
- package/rust/kroma-domain/src/media.rs +297 -0
- package/rust/kroma-domain/src/metadata.rs +389 -0
- package/rust/kroma-domain/src/naming/marker.rs +215 -0
- package/rust/kroma-domain/src/naming/mod.rs +283 -0
- package/rust/kroma-domain/src/naming/title.rs +349 -0
- package/rust/kroma-domain/src/notifications/action.rs +50 -0
- package/rust/kroma-domain/src/notifications/event.rs +225 -0
- package/rust/kroma-domain/src/notifications/mod.rs +18 -0
- package/rust/kroma-domain/src/notifications/param.rs +90 -0
- package/rust/kroma-domain/src/notifications/spec.rs +178 -0
- package/rust/kroma-domain/src/notifications/view.rs +55 -0
- package/rust/kroma-domain/src/people.rs +286 -0
- package/rust/kroma-domain/src/pipeline.rs +114 -0
- package/rust/kroma-domain/src/playback.rs +39 -0
- package/rust/kroma-domain/src/push.rs +163 -0
- package/rust/kroma-domain/src/reports.rs +213 -0
- package/rust/kroma-domain/src/requests/discover.rs +102 -0
- package/rust/kroma-domain/src/requests/ledger.rs +129 -0
- package/rust/kroma-domain/src/requests/mod.rs +238 -0
- package/rust/kroma-domain/src/section.rs +44 -0
- package/rust/kroma-domain/src/slug.rs +165 -0
- package/rust/kroma-http/Cargo.toml +20 -0
- package/rust/kroma-http/examples/seam-bench.rs +73 -0
- package/rust/kroma-http/src/builder.rs +35 -0
- package/rust/kroma-http/src/config.rs +50 -0
- package/rust/kroma-http/src/curl.rs +131 -0
- package/rust/kroma-http/src/fetch.rs +226 -0
- package/rust/kroma-http/src/lib.rs +25 -0
- package/rust/kroma-http/src/loopback/mod.rs +220 -0
- package/rust/kroma-http/src/loopback/tcp.rs +182 -0
- package/rust/kroma-http/src/loopback/transport.rs +42 -0
- package/rust/kroma-http/src/response.rs +130 -0
- package/rust/kroma-module-host/Cargo.toml +36 -0
- package/rust/kroma-module-host/src/auth.rs +221 -0
- package/rust/kroma-module-host/src/host_ctx.rs +382 -0
- package/rust/kroma-module-host/src/host_token.rs +147 -0
- package/rust/kroma-module-host/src/lib.rs +141 -0
- package/rust/kroma-module-host/src/module.rs +115 -0
- package/rust/kroma-module-host/src/port.rs +163 -0
- package/rust/kroma-module-host/src/storage.rs +97 -0
- package/rust/kroma-module-host/src/test_serve.rs +33 -0
- package/rust/kroma-module-host/src/testing/log.rs +145 -0
- package/rust/kroma-module-host/src/testing/mod.rs +72 -0
- package/rust/kroma-module-host/src/testing/recording.rs +209 -0
- package/rust/kroma-module-host/src/testing/stub.rs +592 -0
- package/rust/kroma-module-macros/Cargo.toml +12 -0
- package/rust/kroma-module-macros/src/lib.rs +148 -0
- package/rust/kroma-module-manifest/Cargo.toml +15 -0
- package/rust/kroma-module-manifest/src/compat.rs +157 -0
- package/rust/kroma-module-manifest/src/embedded.rs +160 -0
- package/rust/kroma-module-manifest/src/event.rs +74 -0
- package/rust/kroma-module-manifest/src/lib.rs +57 -0
- package/rust/kroma-module-manifest/src/manifest.rs +548 -0
- package/rust/kroma-module-manifest/src/registry.rs +626 -0
- package/rust/kroma-module-runtime/Cargo.toml +33 -0
- package/rust/kroma-module-runtime/src/lib.rs +743 -0
- package/rust/kroma-module-sdk/Cargo.toml +49 -0
- package/rust/kroma-module-sdk/src/lib.rs +70 -0
- package/rust/kroma-primitives/Cargo.toml +12 -0
- package/rust/kroma-primitives/src/lib.rs +101 -0
- package/rust/kroma-testing/Cargo.toml +10 -0
- package/rust/kroma-testing/src/lib.rs +72 -0
- package/templates/base/README.md +14 -0
- package/templates/base/_gitignore +4 -0
- package/templates/base/icon.svg +1 -0
- package/templates/base/locales/en.json +7 -0
- package/templates/base/locales/fr.json +7 -0
- package/templates/server/.cargo/config.toml +2 -0
- package/templates/server/rust-toolchain.toml +3 -0
- package/templates/server/server/Cargo.toml +37 -0
- package/templates/server/server/src/bin/module.rs +6 -0
- package/templates/server/server/src/lib.rs +43 -0
- package/templates/ui/ui/src/__PAGE__.tsx +22 -0
- package/templates/ui/ui/src/module.tsx +17 -0
- package/templates/ui/ui/src/schemas.ts +6 -0
- package/tsconfig.module.json +110 -0
- package/types/client/src/api/accounts/client.d.ts +291 -0
- package/types/client/src/api/accounts/ids.d.ts +13 -0
- package/types/client/src/api/accounts/index.d.ts +6 -0
- package/types/client/src/api/accounts/passkeys.d.ts +79 -0
- package/types/client/src/api/accounts/quick-connect.d.ts +23 -0
- package/types/client/src/api/accounts/remembered.d.ts +66 -0
- package/types/client/src/api/accounts/rules.d.ts +9 -0
- package/types/client/src/api/accounts/schemas.d.ts +214 -0
- package/types/client/src/api/admin/backup.d.ts +22 -0
- package/types/client/src/api/admin/client.d.ts +407 -0
- package/types/client/src/api/admin/index.d.ts +7 -0
- package/types/client/src/api/admin/logs.d.ts +24 -0
- package/types/client/src/api/admin/metrics.d.ts +231 -0
- package/types/client/src/api/admin/notifications.d.ts +47 -0
- package/types/client/src/api/admin/settings.d.ts +50 -0
- package/types/client/src/api/admin/stats.d.ts +257 -0
- package/types/client/src/api/admin/users.d.ts +98 -0
- package/types/client/src/api/cast/client.d.ts +209 -0
- package/types/client/src/api/cast/ids.d.ts +4 -0
- package/types/client/src/api/cast/index.d.ts +3 -0
- package/types/client/src/api/cast/schemas.d.ts +565 -0
- package/types/client/src/api/diagnostics/client.d.ts +13 -0
- package/types/client/src/api/diagnostics/index.d.ts +2 -0
- package/types/client/src/api/diagnostics/schemas.d.ts +29 -0
- package/types/client/src/api/discover.d.ts +5 -0
- package/types/client/src/api/discover.web.d.ts +5 -0
- package/types/client/src/api/discovery/client.d.ts +115 -0
- package/types/client/src/api/discovery/index.d.ts +2 -0
- package/types/client/src/api/discovery/schemas.d.ts +175 -0
- package/types/client/src/api/events/index.d.ts +2 -0
- package/types/client/src/api/events/schemas.d.ts +371 -0
- package/types/client/src/api/events/socket.d.ts +42 -0
- package/types/client/src/api/handoff/client.d.ts +68 -0
- package/types/client/src/api/handoff/ids.d.ts +4 -0
- package/types/client/src/api/handoff/index.d.ts +3 -0
- package/types/client/src/api/handoff/schemas.d.ts +93 -0
- package/types/client/src/api/jobs/client.d.ts +96 -0
- package/types/client/src/api/jobs/ids.d.ts +5 -0
- package/types/client/src/api/jobs/index.d.ts +3 -0
- package/types/client/src/api/jobs/schemas.d.ts +168 -0
- package/types/client/src/api/library/client.d.ts +45 -0
- package/types/client/src/api/library/index.d.ts +2 -0
- package/types/client/src/api/library/schemas.d.ts +28 -0
- package/types/client/src/api/llm/client.d.ts +37 -0
- package/types/client/src/api/llm/ids.d.ts +3 -0
- package/types/client/src/api/llm/index.d.ts +3 -0
- package/types/client/src/api/llm/schemas.d.ts +74 -0
- package/types/client/src/api/media/artwork-scale.d.ts +18 -0
- package/types/client/src/api/media/artwork.d.ts +31 -0
- package/types/client/src/api/media/client.d.ts +2160 -0
- package/types/client/src/api/media/credits.d.ts +46 -0
- package/types/client/src/api/media/ids.d.ts +12 -0
- package/types/client/src/api/media/index.d.ts +7 -0
- package/types/client/src/api/media/rematch.d.ts +31 -0
- package/types/client/src/api/media/schemas.d.ts +1607 -0
- package/types/client/src/api/media/search.d.ts +1044 -0
- package/types/client/src/api/media/tracks.d.ts +152 -0
- package/types/client/src/api/modules/client.d.ts +38 -0
- package/types/client/src/api/modules/ids.d.ts +3 -0
- package/types/client/src/api/modules/index.d.ts +5 -0
- package/types/client/src/api/modules/module-api.d.ts +23 -0
- package/types/client/src/api/modules/schemas.d.ts +74 -0
- package/types/client/src/api/modules/store.d.ts +226 -0
- package/types/client/src/api/notifications/capability.d.ts +36 -0
- package/types/client/src/api/notifications/client.d.ts +79 -0
- package/types/client/src/api/notifications/ids.d.ts +3 -0
- package/types/client/src/api/notifications/index.d.ts +4 -0
- package/types/client/src/api/notifications/push.d.ts +18 -0
- package/types/client/src/api/notifications/schemas.d.ts +235 -0
- package/types/client/src/api/pipeline/client.d.ts +126 -0
- package/types/client/src/api/pipeline/index.d.ts +2 -0
- package/types/client/src/api/pipeline/schemas.d.ts +139 -0
- package/types/client/src/api/playback/client.d.ts +681 -0
- package/types/client/src/api/playback/ids.d.ts +3 -0
- package/types/client/src/api/playback/index.d.ts +3 -0
- package/types/client/src/api/playback/schemas.d.ts +38 -0
- package/types/client/src/api/reports/client.d.ts +117 -0
- package/types/client/src/api/reports/ids.d.ts +3 -0
- package/types/client/src/api/reports/index.d.ts +3 -0
- package/types/client/src/api/reports/schemas.d.ts +144 -0
- package/types/client/src/api/requests/acquisition.d.ts +240 -0
- package/types/client/src/api/requests/client.d.ts +301 -0
- package/types/client/src/api/requests/ids.d.ts +7 -0
- package/types/client/src/api/requests/index.d.ts +4 -0
- package/types/client/src/api/requests/schemas.d.ts +162 -0
- package/types/client/src/api/subtitles/client.d.ts +48 -0
- package/types/client/src/api/subtitles/ids.d.ts +5 -0
- package/types/client/src/api/subtitles/index.d.ts +3 -0
- package/types/client/src/api/subtitles/schemas.d.ts +78 -0
- package/types/client/src/core/client.d.ts +17 -0
- package/types/client/src/core/http/api-error.d.ts +36 -0
- package/types/client/src/core/http/body.d.ts +1 -0
- package/types/client/src/core/http/concurrency.d.ts +8 -0
- package/types/client/src/core/http/index.d.ts +6 -0
- package/types/client/src/core/http/path.d.ts +10 -0
- package/types/client/src/core/http/preconnect.d.ts +2 -0
- package/types/client/src/core/http/query.d.ts +9 -0
- package/types/client/src/core/http/request-context.d.ts +94 -0
- package/types/client/src/core/http/user-agent.d.ts +7 -0
- package/types/client/src/core/ids/ids.d.ts +13 -0
- package/types/client/src/core/ids/index.d.ts +1 -0
- package/types/client/src/core/index.d.ts +4 -0
- package/types/client/src/core/session/index.d.ts +3 -0
- package/types/client/src/core/session/locale.d.ts +6 -0
- package/types/client/src/core/session/storage.d.ts +32 -0
- package/types/client/src/core/session/token.d.ts +19 -0
- package/types/client/src/index.d.ts +3 -0
- package/types/client/src/kroma-client.d.ts +49 -0
- package/types/client/src/query/index.d.ts +35 -0
- package/types/core/src/airdate.d.ts +21 -0
- package/types/core/src/browse.d.ts +45 -0
- package/types/core/src/compat.d.ts +9 -0
- package/types/core/src/discover.d.ts +31 -0
- package/types/core/src/format.d.ts +63 -0
- package/types/core/src/genre-art.d.ts +21 -0
- package/types/core/src/genre-table.d.ts +117 -0
- package/types/core/src/genre.d.ts +42 -0
- package/types/core/src/handoff/beacon.d.ts +39 -0
- package/types/core/src/handoff/grant.d.ts +20 -0
- package/types/core/src/handoff/index.d.ts +8 -0
- package/types/core/src/handoff/nearby.d.ts +17 -0
- package/types/core/src/handoff/sources.d.ts +110 -0
- package/types/core/src/health-probe.d.ts +19 -0
- package/types/core/src/hevc/audio-support.d.ts +47 -0
- package/types/core/src/hevc/capabilities.d.ts +63 -0
- package/types/core/src/hevc/directplay.d.ts +70 -0
- package/types/core/src/hevc/engine.d.ts +29 -0
- package/types/core/src/hevc.d.ts +4 -0
- package/types/core/src/i18n.d.ts +2381 -0
- package/types/core/src/index.d.ts +25 -0
- package/types/core/src/intl.d.ts +28 -0
- package/types/core/src/lang-table.d.ts +11 -0
- package/types/core/src/lang.d.ts +59 -0
- package/types/core/src/local-ip.d.ts +2 -0
- package/types/core/src/locales/catalogs.d.ts +2 -0
- package/types/core/src/locales/catalogs.web.d.ts +3 -0
- package/types/core/src/locales/default-locale.d.ts +3 -0
- package/types/core/src/match.d.ts +14 -0
- package/types/core/src/notification-labels.d.ts +47 -0
- package/types/core/src/people.d.ts +33 -0
- package/types/core/src/permissions.d.ts +10 -0
- package/types/core/src/person-facts.d.ts +23 -0
- package/types/core/src/platform.d.ts +7 -0
- package/types/core/src/playback-buffer.d.ts +64 -0
- package/types/core/src/playback-stall.d.ts +86 -0
- package/types/core/src/player.d.ts +22 -0
- package/types/core/src/push-labels.d.ts +6 -0
- package/types/core/src/react/handoff-picker.d.ts +52 -0
- package/types/core/src/react/index.d.ts +6 -0
- package/types/core/src/react/lang-prefs.d.ts +35 -0
- package/types/core/src/react/nearby-tvs.d.ts +31 -0
- package/types/core/src/remote.d.ts +26 -0
- package/types/core/src/server-origin.d.ts +12 -0
- package/types/core/src/slug.d.ts +4 -0
- package/types/core/src/subtitles.d.ts +20 -0
- package/types/i18n/src/announce.d.ts +15 -0
- package/types/i18n/src/catalog-types.d.ts +7 -0
- package/types/i18n/src/chain.d.ts +22 -0
- package/types/i18n/src/define.d.ts +39 -0
- package/types/i18n/src/dev-overrides.d.ts +39 -0
- package/types/i18n/src/i18n.d.ts +61 -0
- package/types/i18n/src/index.d.ts +11 -0
- package/types/i18n/src/interpolate.d.ts +14 -0
- package/types/i18n/src/layout.d.ts +18 -0
- package/types/i18n/src/locales.d.ts +12 -0
- package/types/i18n/src/namespaces.d.ts +37 -0
- package/types/i18n/src/nest.d.ts +17 -0
- package/types/i18n/src/plural.d.ts +20 -0
- package/types/i18n/src/react/context.d.ts +37 -0
- package/types/i18n/src/react/index.d.ts +2 -0
- package/types/i18n/src/react/provider.d.ts +14 -0
- package/types/i18n/src/registry.d.ts +36 -0
- package/types/i18n/src/store.d.ts +46 -0
- package/types/i18n/src/types.d.ts +30 -0
- package/types/module-sdk/src/admin/context.d.ts +20 -0
- package/types/module-sdk/src/admin/denied.d.ts +1 -0
- package/types/module-sdk/src/admin/engines.d.ts +35 -0
- package/types/module-sdk/src/admin/hooks.d.ts +39 -0
- package/types/module-sdk/src/admin/page-states.d.ts +27 -0
- package/types/module-sdk/src/admin/settings.d.ts +9 -0
- package/types/module-sdk/src/bus.d.ts +8 -0
- package/types/module-sdk/src/contracts.d.ts +6 -0
- package/types/module-sdk/src/define.d.ts +38 -0
- package/types/module-sdk/src/events.d.ts +11 -0
- package/types/module-sdk/src/host.d.ts +32 -0
- package/types/module-sdk/src/icon.d.ts +1 -0
- package/types/module-sdk/src/index.d.ts +35 -0
- package/types/module-sdk/src/module.d.ts +83 -0
- package/types/module-sdk/src/registry.d.ts +63 -0
- package/types/module-sdk/src/scope.d.ts +23 -0
- package/types/module-sdk/src/shared.d.ts +21 -0
- package/types/module-sdk/src/slot.d.ts +34 -0
- package/types/module-sdk/src/types.d.ts +39 -0
- package/types/module-sdk/src/ui/table.d.ts +88 -0
- package/types/module-sdk/src/use-sorted-table.d.ts +56 -0
- package/types/registry/src/build.d.ts +16 -0
- package/types/registry/src/client.d.ts +23 -0
- package/types/registry/src/documents/index.d.ts +6 -0
- package/types/registry/src/documents/v1.d.ts +197 -0
- package/types/registry/src/index.d.ts +7 -0
- package/types/registry/src/manifest/index.d.ts +9 -0
- package/types/registry/src/manifest/v2.d.ts +182 -0
- package/types/registry/src/semver.d.ts +24 -0
- package/types/registry/src/sort.d.ts +2 -0
- package/types/registry/src/spec.d.ts +19 -0
- package/types/registry/src/text.d.ts +6 -0
- package/types/spatial-nav/src/descent.d.ts +9 -0
- package/types/spatial-nav/src/directions.d.ts +16 -0
- package/types/spatial-nav/src/fallback-focus.d.ts +5 -0
- package/types/spatial-nav/src/focus-owner.d.ts +16 -0
- package/types/spatial-nav/src/focus-tree.d.ts +63 -0
- package/types/spatial-nav/src/index.d.ts +4 -0
- package/types/spatial-nav/src/navigator.bench.d.ts +1 -0
- package/types/spatial-nav/src/react/configure-remote.d.ts +16 -0
- package/types/spatial-nav/src/react/default-focus.d.ts +15 -0
- package/types/spatial-nav/src/react/focus-queue.d.ts +16 -0
- package/types/spatial-nav/src/react/navigator-context.d.ts +19 -0
- package/types/spatial-nav/src/react/navigator-item.d.ts +28 -0
- package/types/spatial-nav/src/react/navigator-node.d.ts +27 -0
- package/types/spatial-nav/src/react/navigator-root.d.ts +19 -0
- package/types/spatial-nav/src/react/navigator-view.d.ts +18 -0
- package/types/spatial-nav/src/react/pointer-device.d.ts +14 -0
- package/types/spatial-nav/src/react/spatial-node.d.ts +27 -0
- package/types/spatial-nav/src/react/use-lock-navigator.d.ts +11 -0
- package/types/spatial-nav/src/react.d.ts +17 -0
- package/types/spatial-nav/src/resolve-move.d.ts +6 -0
- package/types/spatial-nav/src/spatial-navigator.d.ts +23 -0
- package/types/ui/src/assets/fonts.d.ts +4 -0
- package/types/ui/src/components/atoms/art-scrim/art-scrim.d.ts +21 -0
- package/types/ui/src/components/atoms/art-scrim/index.d.ts +1 -0
- package/types/ui/src/components/atoms/avatar/avatar.d.ts +43 -0
- package/types/ui/src/components/atoms/avatar/index.d.ts +1 -0
- package/types/ui/src/components/atoms/badge/badge.d.ts +116 -0
- package/types/ui/src/components/atoms/badge/index.d.ts +1 -0
- package/types/ui/src/components/atoms/box/box.d.ts +29 -0
- package/types/ui/src/components/atoms/box/index.d.ts +1 -0
- package/types/ui/src/components/atoms/button/button-variants.d.ts +216 -0
- package/types/ui/src/components/atoms/button/button.d.ts +37 -0
- package/types/ui/src/components/atoms/button/index.d.ts +1 -0
- package/types/ui/src/components/atoms/checkbox/checkbox.d.ts +62 -0
- package/types/ui/src/components/atoms/checkbox/index.d.ts +1 -0
- package/types/ui/src/components/atoms/chip/chip.d.ts +172 -0
- package/types/ui/src/components/atoms/chip/index.d.ts +1 -0
- package/types/ui/src/components/atoms/divider/divider.d.ts +13 -0
- package/types/ui/src/components/atoms/divider/index.d.ts +1 -0
- package/types/ui/src/components/atoms/expandable-text/expandable-text.d.ts +20 -0
- package/types/ui/src/components/atoms/expandable-text/index.d.ts +1 -0
- package/types/ui/src/components/atoms/focusable/focusable-a11y.d.ts +12 -0
- package/types/ui/src/components/atoms/focusable/focusable-delegate.d.ts +21 -0
- package/types/ui/src/components/atoms/focusable/focusable-forms.d.ts +62 -0
- package/types/ui/src/components/atoms/focusable/focusable-link.d.ts +7 -0
- package/types/ui/src/components/atoms/focusable/focusable-paint.d.ts +47 -0
- package/types/ui/src/components/atoms/focusable/focusable-types.d.ts +167 -0
- package/types/ui/src/components/atoms/focusable/focusable.d.ts +7 -0
- package/types/ui/src/components/atoms/focusable/index.d.ts +1 -0
- package/types/ui/src/components/atoms/focusable/touch-pressable.d.ts +35 -0
- package/types/ui/src/components/atoms/focusable/use-entry-focus.d.ts +9 -0
- package/types/ui/src/components/atoms/focusable/use-web-keys.d.ts +7 -0
- package/types/ui/src/components/atoms/frost/frost.d.ts +62 -0
- package/types/ui/src/components/atoms/frost/index.d.ts +1 -0
- package/types/ui/src/components/atoms/grid/grid.d.ts +28 -0
- package/types/ui/src/components/atoms/grid/index.d.ts +1 -0
- package/types/ui/src/components/atoms/ground/ground.d.ts +19 -0
- package/types/ui/src/components/atoms/ground/index.d.ts +1 -0
- package/types/ui/src/components/atoms/icon/icon.d.ts +4 -0
- package/types/ui/src/components/atoms/icon/index.d.ts +1 -0
- package/types/ui/src/components/atoms/icon-button/icon-button.d.ts +165 -0
- package/types/ui/src/components/atoms/icon-button/index.d.ts +1 -0
- package/types/ui/src/components/atoms/icon-well/icon-well.d.ts +46 -0
- package/types/ui/src/components/atoms/icon-well/index.d.ts +1 -0
- package/types/ui/src/components/atoms/img/img.d.ts +45 -0
- package/types/ui/src/components/atoms/img/index.d.ts +1 -0
- package/types/ui/src/components/atoms/img/native-layers.d.ts +28 -0
- package/types/ui/src/components/atoms/img/use-cross-fade.d.ts +9 -0
- package/types/ui/src/components/atoms/img/web-layers.d.ts +19 -0
- package/types/ui/src/components/atoms/index.d.ts +64 -0
- package/types/ui/src/components/atoms/kbd/index.d.ts +2 -0
- package/types/ui/src/components/atoms/kbd/kbd.d.ts +18 -0
- package/types/ui/src/components/atoms/logo/index.d.ts +1 -0
- package/types/ui/src/components/atoms/logo/logo.d.ts +11 -0
- package/types/ui/src/components/atoms/number-field/index.d.ts +1 -0
- package/types/ui/src/components/atoms/number-field/number-field.d.ts +11 -0
- package/types/ui/src/components/atoms/progress/index.d.ts +1 -0
- package/types/ui/src/components/atoms/progress/progress.d.ts +28 -0
- package/types/ui/src/components/atoms/progress-ring/index.d.ts +1 -0
- package/types/ui/src/components/atoms/progress-ring/progress-ring.d.ts +7 -0
- package/types/ui/src/components/atoms/radio/index.d.ts +1 -0
- package/types/ui/src/components/atoms/radio/radio.d.ts +76 -0
- package/types/ui/src/components/atoms/skeleton/card-skeleton.d.ts +6 -0
- package/types/ui/src/components/atoms/skeleton/index.d.ts +4 -0
- package/types/ui/src/components/atoms/skeleton/poster-skeleton.d.ts +7 -0
- package/types/ui/src/components/atoms/skeleton/skeleton.d.ts +20 -0
- package/types/ui/src/components/atoms/skeleton/table-skeleton.d.ts +6 -0
- package/types/ui/src/components/atoms/spinner/index.d.ts +1 -0
- package/types/ui/src/components/atoms/spinner/spinner.d.ts +14 -0
- package/types/ui/src/components/atoms/status-dot/index.d.ts +1 -0
- package/types/ui/src/components/atoms/status-dot/status-dot.d.ts +9 -0
- package/types/ui/src/components/atoms/surface/index.d.ts +1 -0
- package/types/ui/src/components/atoms/surface/surface.d.ts +56 -0
- package/types/ui/src/components/atoms/switch/index.d.ts +1 -0
- package/types/ui/src/components/atoms/switch/switch.d.ts +64 -0
- package/types/ui/src/components/atoms/text/index.d.ts +1 -0
- package/types/ui/src/components/atoms/text/text.d.ts +21 -0
- package/types/ui/src/components/atoms/text-area/index.d.ts +1 -0
- package/types/ui/src/components/atoms/text-area/text-area.d.ts +31 -0
- package/types/ui/src/components/atoms/text-field/index.d.ts +1 -0
- package/types/ui/src/components/atoms/text-field/text-field.d.ts +50 -0
- package/types/ui/src/components/atoms/watched-badge/index.d.ts +1 -0
- package/types/ui/src/components/atoms/watched-badge/watched-badge.d.ts +19 -0
- package/types/ui/src/components/atoms/wheel/index.d.ts +1 -0
- package/types/ui/src/components/atoms/wheel/wheel.d.ts +9 -0
- package/types/ui/src/components/common/if/if.d.ts +9 -0
- package/types/ui/src/components/common/if/index.d.ts +1 -0
- package/types/ui/src/components/common/index.d.ts +2 -0
- package/types/ui/src/components/molecules/add-tile/add-tile.d.ts +65 -0
- package/types/ui/src/components/molecules/add-tile/index.d.ts +2 -0
- package/types/ui/src/components/molecules/alphabet-rail/alphabet-rail-context.d.ts +20 -0
- package/types/ui/src/components/molecules/alphabet-rail/alphabet-rail-item.d.ts +13 -0
- package/types/ui/src/components/molecules/alphabet-rail/alphabet-rail-lens.d.ts +17 -0
- package/types/ui/src/components/molecules/alphabet-rail/alphabet-rail.d.ts +46 -0
- package/types/ui/src/components/molecules/alphabet-rail/index.d.ts +2 -0
- package/types/ui/src/components/molecules/alphabet-rail/use-letter-scrub.d.ts +17 -0
- package/types/ui/src/components/molecules/back-button/back-button.d.ts +10 -0
- package/types/ui/src/components/molecules/back-button/index.d.ts +1 -0
- package/types/ui/src/components/molecules/button-group/button-group.d.ts +37 -0
- package/types/ui/src/components/molecules/button-group/index.d.ts +3 -0
- package/types/ui/src/components/molecules/callout/callout.d.ts +63 -0
- package/types/ui/src/components/molecules/callout/index.d.ts +1 -0
- package/types/ui/src/components/molecules/category-tile/category-tile.d.ts +65 -0
- package/types/ui/src/components/molecules/category-tile/index.d.ts +1 -0
- package/types/ui/src/components/molecules/choice-list/choice-list.d.ts +53 -0
- package/types/ui/src/components/molecules/choice-list/index.d.ts +1 -0
- package/types/ui/src/components/molecules/copy-button/copy-button.d.ts +19 -0
- package/types/ui/src/components/molecules/copy-button/index.d.ts +1 -0
- package/types/ui/src/components/molecules/data-field/data-field.d.ts +44 -0
- package/types/ui/src/components/molecules/data-field/index.d.ts +1 -0
- package/types/ui/src/components/molecules/disclosure/disclosure.d.ts +55 -0
- package/types/ui/src/components/molecules/disclosure/index.d.ts +1 -0
- package/types/ui/src/components/molecules/dropzone/dropzone-parts.d.ts +46 -0
- package/types/ui/src/components/molecules/dropzone/dropzone-sift.d.ts +6 -0
- package/types/ui/src/components/molecules/dropzone/dropzone.d.ts +21 -0
- package/types/ui/src/components/molecules/dropzone/dropzone.web.d.ts +11 -0
- package/types/ui/src/components/molecules/dropzone/index.d.ts +1 -0
- package/types/ui/src/components/molecules/empty-state/empty-state.d.ts +60 -0
- package/types/ui/src/components/molecules/empty-state/index.d.ts +1 -0
- package/types/ui/src/components/molecules/field/field.d.ts +56 -0
- package/types/ui/src/components/molecules/field/index.d.ts +1 -0
- package/types/ui/src/components/molecules/hint/hint.d.ts +23 -0
- package/types/ui/src/components/molecules/hint/index.d.ts +1 -0
- package/types/ui/src/components/molecules/index.d.ts +70 -0
- package/types/ui/src/components/molecules/input-group/index.d.ts +3 -0
- package/types/ui/src/components/molecules/input-group/input-group-context.d.ts +34 -0
- package/types/ui/src/components/molecules/input-group/input-group-parts.d.ts +31 -0
- package/types/ui/src/components/molecules/input-group/input-group.d.ts +38 -0
- package/types/ui/src/components/molecules/keypad/index.d.ts +1 -0
- package/types/ui/src/components/molecules/keypad/keypad.d.ts +44 -0
- package/types/ui/src/components/molecules/legend/index.d.ts +1 -0
- package/types/ui/src/components/molecules/legend/legend.d.ts +32 -0
- package/types/ui/src/components/molecules/list/index.d.ts +1 -0
- package/types/ui/src/components/molecules/list/list.d.ts +41 -0
- package/types/ui/src/components/molecules/list-row/index.d.ts +3 -0
- package/types/ui/src/components/molecules/list-row/list-group.d.ts +23 -0
- package/types/ui/src/components/molecules/list-row/list-row-context.d.ts +10 -0
- package/types/ui/src/components/molecules/list-row/list-row-parts.d.ts +28 -0
- package/types/ui/src/components/molecules/list-row/list-row-variants.d.ts +90 -0
- package/types/ui/src/components/molecules/list-row/list-row.d.ts +51 -0
- package/types/ui/src/components/molecules/media-card/index.d.ts +1 -0
- package/types/ui/src/components/molecules/media-card/media-card.d.ts +22 -0
- package/types/ui/src/components/molecules/nav-pill/index.d.ts +1 -0
- package/types/ui/src/components/molecules/nav-pill/nav-pill-context.d.ts +28 -0
- package/types/ui/src/components/molecules/nav-pill/nav-pill-item.d.ts +101 -0
- package/types/ui/src/components/molecules/nav-pill/nav-pill-lens.d.ts +8 -0
- package/types/ui/src/components/molecules/nav-pill/nav-pill.d.ts +55 -0
- package/types/ui/src/components/molecules/otp-field/index.d.ts +1 -0
- package/types/ui/src/components/molecules/otp-field/otp-field-context.d.ts +32 -0
- package/types/ui/src/components/molecules/otp-field/otp-field-parts.d.ts +18 -0
- package/types/ui/src/components/molecules/otp-field/otp-field-variants.d.ts +68 -0
- package/types/ui/src/components/molecules/otp-field/otp-field.d.ts +57 -0
- package/types/ui/src/components/molecules/page-header/index.d.ts +1 -0
- package/types/ui/src/components/molecules/page-header/page-header.d.ts +69 -0
- package/types/ui/src/components/molecules/pagination/index.d.ts +3 -0
- package/types/ui/src/components/molecules/pagination/pagination.d.ts +102 -0
- package/types/ui/src/components/molecules/pagination/paging.d.ts +24 -0
- package/types/ui/src/components/molecules/person-card/index.d.ts +1 -0
- package/types/ui/src/components/molecules/person-card/person-card.d.ts +58 -0
- package/types/ui/src/components/molecules/pin-field/index.d.ts +1 -0
- package/types/ui/src/components/molecules/pin-field/pin-field.d.ts +26 -0
- package/types/ui/src/components/molecules/poster-card/index.d.ts +1 -0
- package/types/ui/src/components/molecules/poster-card/poster-card.d.ts +22 -0
- package/types/ui/src/components/molecules/section/index.d.ts +1 -0
- package/types/ui/src/components/molecules/section/section.d.ts +54 -0
- package/types/ui/src/components/molecules/segment-group/index.d.ts +2 -0
- package/types/ui/src/components/molecules/segment-group/segment-group-context.d.ts +17 -0
- package/types/ui/src/components/molecules/segment-group/segment-group-item.d.ts +58 -0
- package/types/ui/src/components/molecules/segment-group/segment-group.d.ts +29 -0
- package/types/ui/src/components/molecules/select/index.d.ts +1 -0
- package/types/ui/src/components/molecules/select/select-context.d.ts +54 -0
- package/types/ui/src/components/molecules/select/select-item.d.ts +39 -0
- package/types/ui/src/components/molecules/select/select-options-dialog.d.ts +3 -0
- package/types/ui/src/components/molecules/select/select-options.d.ts +3 -0
- package/types/ui/src/components/molecules/select/select-selection.d.ts +24 -0
- package/types/ui/src/components/molecules/select/select-surface.d.ts +17 -0
- package/types/ui/src/components/molecules/select/select.d.ts +112 -0
- package/types/ui/src/components/molecules/stat-card/index.d.ts +1 -0
- package/types/ui/src/components/molecules/stat-card/stat-card.d.ts +46 -0
- package/types/ui/src/components/molecules/stepper/index.d.ts +1 -0
- package/types/ui/src/components/molecules/stepper/stepper-context.d.ts +44 -0
- package/types/ui/src/components/molecules/stepper/stepper-item.d.ts +110 -0
- package/types/ui/src/components/molecules/stepper/stepper-list.d.ts +12 -0
- package/types/ui/src/components/molecules/stepper/stepper.d.ts +97 -0
- package/types/ui/src/components/molecules/stepper/use-steps.d.ts +40 -0
- package/types/ui/src/components/molecules/theme-switch/index.d.ts +1 -0
- package/types/ui/src/components/molecules/theme-switch/theme-switch.d.ts +19 -0
- package/types/ui/src/components/molecules/timeline/index.d.ts +1 -0
- package/types/ui/src/components/molecules/timeline/timeline.d.ts +55 -0
- package/types/ui/src/components/molecules/tooltip/index.d.ts +1 -0
- package/types/ui/src/components/molecules/tooltip/tooltip.d.ts +9 -0
- package/types/ui/src/components/molecules/tooltip/tooltip.web.d.ts +4 -0
- package/types/ui/src/components/organisms/chart/chart-context.d.ts +38 -0
- package/types/ui/src/components/organisms/chart/chart-marks.d.ts +32 -0
- package/types/ui/src/components/organisms/chart/chart-parts.d.ts +41 -0
- package/types/ui/src/components/organisms/chart/chart-path.d.ts +28 -0
- package/types/ui/src/components/organisms/chart/chart-scale.d.ts +82 -0
- package/types/ui/src/components/organisms/chart/chart.d.ts +63 -0
- package/types/ui/src/components/organisms/chart/index.d.ts +5 -0
- package/types/ui/src/components/organisms/code-block/code-block.d.ts +23 -0
- package/types/ui/src/components/organisms/code-block/code-tokens.d.ts +15 -0
- package/types/ui/src/components/organisms/code-block/index.d.ts +1 -0
- package/types/ui/src/components/organisms/command/command-context.d.ts +31 -0
- package/types/ui/src/components/organisms/command/command-keys-types.d.ts +11 -0
- package/types/ui/src/components/organisms/command/command-keys.d.ts +3 -0
- package/types/ui/src/components/organisms/command/command-keys.web.d.ts +3 -0
- package/types/ui/src/components/organisms/command/command-list.d.ts +46 -0
- package/types/ui/src/components/organisms/command/command-parts.d.ts +24 -0
- package/types/ui/src/components/organisms/command/command-row.d.ts +15 -0
- package/types/ui/src/components/organisms/command/command.d.ts +45 -0
- package/types/ui/src/components/organisms/command/index.d.ts +7 -0
- package/types/ui/src/components/organisms/dialog/confirm-dialog/confirm-dialog.d.ts +12 -0
- package/types/ui/src/components/organisms/dialog/confirm-dialog/confirm.d.ts +16 -0
- package/types/ui/src/components/organisms/dialog/confirm-dialog/index.d.ts +2 -0
- package/types/ui/src/components/organisms/dialog/dialog-actions.d.ts +29 -0
- package/types/ui/src/components/organisms/dialog/dialog-parts.d.ts +20 -0
- package/types/ui/src/components/organisms/dialog/dialog.d.ts +55 -0
- package/types/ui/src/components/organisms/dialog/index.d.ts +3 -0
- package/types/ui/src/components/organisms/drawer/drawer-parts.d.ts +29 -0
- package/types/ui/src/components/organisms/drawer/drawer-slide.d.ts +20 -0
- package/types/ui/src/components/organisms/drawer/drawer.d.ts +64 -0
- package/types/ui/src/components/organisms/drawer/index.d.ts +2 -0
- package/types/ui/src/components/organisms/index.d.ts +31 -0
- package/types/ui/src/components/organisms/keyboard/index.d.ts +8 -0
- package/types/ui/src/components/organisms/keyboard/key.d.ts +57 -0
- package/types/ui/src/components/organisms/keyboard/keyboard-layouts.d.ts +27 -0
- package/types/ui/src/components/organisms/keyboard/search-keyboard/index.d.ts +1 -0
- package/types/ui/src/components/organisms/keyboard/search-keyboard/search-keyboard.d.ts +19 -0
- package/types/ui/src/components/organisms/keyboard/url-keyboard/index.d.ts +1 -0
- package/types/ui/src/components/organisms/keyboard/url-keyboard/url-keyboard.d.ts +20 -0
- package/types/ui/src/components/organisms/keyboard/use-physical-typing.d.ts +2 -0
- package/types/ui/src/components/organisms/kroma-intro/animations.d.ts +2 -0
- package/types/ui/src/components/organisms/kroma-intro/constants.d.ts +14 -0
- package/types/ui/src/components/organisms/kroma-intro/css-intro.d.ts +12 -0
- package/types/ui/src/components/organisms/kroma-intro/index.d.ts +3 -0
- package/types/ui/src/components/organisms/kroma-intro/intro-scene.d.ts +21 -0
- package/types/ui/src/components/organisms/kroma-intro/intro-shell.d.ts +10 -0
- package/types/ui/src/components/organisms/kroma-intro/kroma-intro.d.ts +3 -0
- package/types/ui/src/components/organisms/kroma-intro/kroma-intro.web.d.ts +33 -0
- package/types/ui/src/components/organisms/kroma-intro/use-intro-exit.d.ts +21 -0
- package/types/ui/src/components/organisms/kroma-intro/use-intro-keys.d.ts +19 -0
- package/types/ui/src/components/organisms/menu/index.d.ts +1 -0
- package/types/ui/src/components/organisms/menu/menu-context.d.ts +32 -0
- package/types/ui/src/components/organisms/menu/menu-item.d.ts +57 -0
- package/types/ui/src/components/organisms/menu/menu-surface-dialog.d.ts +25 -0
- package/types/ui/src/components/organisms/menu/menu-surface.d.ts +3 -0
- package/types/ui/src/components/organisms/menu/menu.d.ts +49 -0
- package/types/ui/src/components/organisms/nearby-tv-list/index.d.ts +2 -0
- package/types/ui/src/components/organisms/nearby-tv-list/nearby-tv-list.d.ts +12 -0
- package/types/ui/src/components/organisms/perf-hud/index.d.ts +1 -0
- package/types/ui/src/components/organisms/perf-hud/perf-chart.d.ts +5 -0
- package/types/ui/src/components/organisms/perf-hud/perf-hud.d.ts +4 -0
- package/types/ui/src/components/organisms/player/hooks/use-drag-track.d.ts +22 -0
- package/types/ui/src/components/organisms/player/hooks/use-grid-focus.d.ts +19 -0
- package/types/ui/src/components/organisms/player/hooks/use-idle-cursor.d.ts +7 -0
- package/types/ui/src/components/organisms/player/hooks/use-list-focus.d.ts +40 -0
- package/types/ui/src/components/organisms/player/hooks/use-player-credits.d.ts +22 -0
- package/types/ui/src/components/organisms/player/hooks/use-player-ending.d.ts +37 -0
- package/types/ui/src/components/organisms/player/hooks/use-player-keys.d.ts +8 -0
- package/types/ui/src/components/organisms/player/hooks/use-player-keys.web.d.ts +5 -0
- package/types/ui/src/components/organisms/player/hooks/use-player-nav.d.ts +58 -0
- package/types/ui/src/components/organisms/player/hooks/use-player-outro.d.ts +14 -0
- package/types/ui/src/components/organisms/player/hooks/use-seek-nudge.d.ts +8 -0
- package/types/ui/src/components/organisms/player/index.d.ts +22 -0
- package/types/ui/src/components/organisms/player/lib/audio-filter.d.ts +15 -0
- package/types/ui/src/components/organisms/player/lib/chapters.d.ts +16 -0
- package/types/ui/src/components/organisms/player/lib/chart-geometry.d.ts +46 -0
- package/types/ui/src/components/organisms/player/lib/fmt.d.ts +19 -0
- package/types/ui/src/components/organisms/player/lib/lean-stats.d.ts +34 -0
- package/types/ui/src/components/organisms/player/lib/metrics.d.ts +40 -0
- package/types/ui/src/components/organisms/player/lib/nav-keys.d.ts +19 -0
- package/types/ui/src/components/organisms/player/lib/nav.d.ts +38 -0
- package/types/ui/src/components/organisms/player/lib/panel-header.d.ts +12 -0
- package/types/ui/src/components/organisms/player/lib/panel-slide.d.ts +16 -0
- package/types/ui/src/components/organisms/player/lib/player-keys.d.ts +44 -0
- package/types/ui/src/components/organisms/player/lib/seek-track.d.ts +19 -0
- package/types/ui/src/components/organisms/player/lib/stage-card.d.ts +31 -0
- package/types/ui/src/components/organisms/player/lib/stage-ratio.d.ts +4 -0
- package/types/ui/src/components/organisms/player/lib/stage-ratio.web.d.ts +2 -0
- package/types/ui/src/components/organisms/player/lib/style.d.ts +40 -0
- package/types/ui/src/components/organisms/player/lib/styles.d.ts +3 -0
- package/types/ui/src/components/organisms/player/lib/subtitle-appearance.d.ts +53 -0
- package/types/ui/src/components/organisms/player/lib/subtitle-edge.d.ts +3 -0
- package/types/ui/src/components/organisms/player/lib/subtitle-edge.web.d.ts +3 -0
- package/types/ui/src/components/organisms/player/lib/surface-shrink.d.ts +17 -0
- package/types/ui/src/components/organisms/player/lib/virtual-focus.d.ts +2 -0
- package/types/ui/src/components/organisms/player/lib/virtual-focus.web.d.ts +3 -0
- package/types/ui/src/components/organisms/player/parts/control-cluster/control-cluster.d.ts +32 -0
- package/types/ui/src/components/organisms/player/parts/control-cluster/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/credits-card/credits-card.d.ts +25 -0
- package/types/ui/src/components/organisms/player/parts/credits-card/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/icons.d.ts +39 -0
- package/types/ui/src/components/organisms/player/parts/post-play/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/post-play/post-play.d.ts +41 -0
- package/types/ui/src/components/organisms/player/parts/post-play/rise.d.ts +12 -0
- package/types/ui/src/components/organisms/player/parts/post-play/rise.web.d.ts +10 -0
- package/types/ui/src/components/organisms/player/parts/seek-bar/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/seek-bar/seek-bar.d.ts +22 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/audio-filter-panel.d.ts +11 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/audio-panel.d.ts +11 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/entries.d.ts +35 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/gen.d.ts +24 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/generate-wizard.d.ts +18 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/menu-list.d.ts +9 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/menu-row.d.ts +15 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/panel-style.d.ts +99 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/quality-panel.d.ts +16 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/report-panel.d.ts +8 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/select-row.d.ts +21 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/speed-panel.d.ts +10 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/sub-view.d.ts +16 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/subtitle-appearance-panel.d.ts +14 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/subtitle-appearance-parts.d.ts +27 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/subtitles-panel.d.ts +18 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/title-bar.d.ts +9 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings/wizard-parts.d.ts +8 -0
- package/types/ui/src/components/organisms/player/parts/settings-panel/settings-panel.d.ts +40 -0
- package/types/ui/src/components/organisms/player/parts/skip-intro-button/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/skip-intro-button/skip-intro-button.d.ts +22 -0
- package/types/ui/src/components/organisms/player/parts/stage/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/stage/stage-overlay.d.ts +13 -0
- package/types/ui/src/components/organisms/player/parts/stage/stage.d.ts +30 -0
- package/types/ui/src/components/organisms/player/parts/stats-panel/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/stats-panel/stats-chart.d.ts +16 -0
- package/types/ui/src/components/organisms/player/parts/stats-panel/stats-panel.d.ts +14 -0
- package/types/ui/src/components/organisms/player/parts/storyboard-thumb/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/storyboard-thumb/storyboard-thumb.d.ts +4 -0
- package/types/ui/src/components/organisms/player/parts/subtitle-renderer/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/subtitle-renderer/subtitle-renderer.d.ts +32 -0
- package/types/ui/src/components/organisms/player/parts/surface-radius.d.ts +9 -0
- package/types/ui/src/components/organisms/player/parts/top-bar/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/top-bar/top-bar.d.ts +24 -0
- package/types/ui/src/components/organisms/player/parts/transport/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/transport/transport.d.ts +19 -0
- package/types/ui/src/components/organisms/player/parts/up-next-card/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/up-next-card/up-next-card.d.ts +37 -0
- package/types/ui/src/components/organisms/player/parts/up-next-sheet/index.d.ts +1 -0
- package/types/ui/src/components/organisms/player/parts/up-next-sheet/slide.d.ts +5 -0
- package/types/ui/src/components/organisms/player/parts/up-next-sheet/slide.web.d.ts +5 -0
- package/types/ui/src/components/organisms/player/parts/up-next-sheet/up-next-sheet.d.ts +17 -0
- package/types/ui/src/components/organisms/player/player-chrome-state.d.ts +11 -0
- package/types/ui/src/components/organisms/player/player-input.d.ts +16 -0
- package/types/ui/src/components/organisms/player/player-parts.d.ts +34 -0
- package/types/ui/src/components/organisms/player/player.d.ts +63 -0
- package/types/ui/src/components/organisms/player/types.d.ts +226 -0
- package/types/ui/src/components/organisms/rail/index.d.ts +1 -0
- package/types/ui/src/components/organisms/rail/rail-context.d.ts +7 -0
- package/types/ui/src/components/organisms/rail/rail-row.d.ts +22 -0
- package/types/ui/src/components/organisms/rail/rail.d.ts +63 -0
- package/types/ui/src/components/organisms/resizable/index.d.ts +8 -0
- package/types/ui/src/components/organisms/resizable/resizable-context.d.ts +39 -0
- package/types/ui/src/components/organisms/resizable/resizable-cursor.d.ts +3 -0
- package/types/ui/src/components/organisms/resizable/resizable-cursor.web.d.ts +4 -0
- package/types/ui/src/components/organisms/resizable/resizable-handle.d.ts +30 -0
- package/types/ui/src/components/organisms/resizable/resizable-keys-types.d.ts +11 -0
- package/types/ui/src/components/organisms/resizable/resizable-keys.d.ts +3 -0
- package/types/ui/src/components/organisms/resizable/resizable-keys.web.d.ts +3 -0
- package/types/ui/src/components/organisms/resizable/resizable-layout.d.ts +55 -0
- package/types/ui/src/components/organisms/resizable/resizable-panel.d.ts +55 -0
- package/types/ui/src/components/organisms/resizable/resizable-store.d.ts +18 -0
- package/types/ui/src/components/organisms/resizable/resizable.d.ts +59 -0
- package/types/ui/src/components/organisms/splash-backdrop/index.d.ts +2 -0
- package/types/ui/src/components/organisms/splash-backdrop/splash-backdrop.d.ts +22 -0
- package/types/ui/src/components/organisms/table/index.d.ts +1 -0
- package/types/ui/src/components/organisms/table/table-cell.d.ts +9 -0
- package/types/ui/src/components/organisms/table/table-columns.d.ts +32 -0
- package/types/ui/src/components/organisms/table/table-context.d.ts +17 -0
- package/types/ui/src/components/organisms/table/table-frame.d.ts +9 -0
- package/types/ui/src/components/organisms/table/table-place.d.ts +8 -0
- package/types/ui/src/components/organisms/table/table-row.d.ts +12 -0
- package/types/ui/src/components/organisms/table/table-sort-cell.d.ts +14 -0
- package/types/ui/src/components/organisms/table/table-sort.d.ts +38 -0
- package/types/ui/src/components/organisms/table/table.d.ts +65 -0
- package/types/ui/src/components/organisms/toast/index.d.ts +1 -0
- package/types/ui/src/components/organisms/toast/toast-card.d.ts +8 -0
- package/types/ui/src/components/organisms/toast/toast.d.ts +54 -0
- package/types/ui/src/components/organisms/virtual/clip.d.ts +25 -0
- package/types/ui/src/components/organisms/virtual/index.d.ts +2 -0
- package/types/ui/src/components/organisms/virtual/moving-strip.d.ts +16 -0
- package/types/ui/src/components/organisms/virtual/strip-motion.d.ts +4 -0
- package/types/ui/src/components/organisms/virtual/virtual-grid/grid-row.d.ts +25 -0
- package/types/ui/src/components/organisms/virtual/virtual-grid/grid-rows.d.ts +57 -0
- package/types/ui/src/components/organisms/virtual/virtual-grid/index.d.ts +1 -0
- package/types/ui/src/components/organisms/virtual/virtual-grid/use-wheel-rows.d.ts +8 -0
- package/types/ui/src/components/organisms/virtual/virtual-grid/virtual-grid.d.ts +54 -0
- package/types/ui/src/components/organisms/virtual/virtual-rail/edge-scroll.d.ts +38 -0
- package/types/ui/src/components/organisms/virtual/virtual-rail/index.d.ts +1 -0
- package/types/ui/src/components/organisms/virtual/virtual-rail/rail-edge.d.ts +11 -0
- package/types/ui/src/components/organisms/virtual/virtual-rail/use-key-grace.d.ts +6 -0
- package/types/ui/src/components/organisms/virtual/virtual-rail/virtual-rail.d.ts +19 -0
- package/types/ui/src/components/templates/index.d.ts +2 -0
- package/types/ui/src/components/templates/tv-stage/index.d.ts +1 -0
- package/types/ui/src/components/templates/tv-stage/tv-stage.d.ts +7 -0
- package/types/ui/src/core/atomic/index.d.ts +5 -0
- package/types/ui/src/core/atomic/inject.d.ts +3 -0
- package/types/ui/src/core/atomic/register.d.ts +13 -0
- package/types/ui/src/core/atomic/static-style.d.ts +8 -0
- package/types/ui/src/core/breakpoint-cascade.d.ts +45 -0
- package/types/ui/src/core/breakpoint.d.ts +21 -0
- package/types/ui/src/core/color.d.ts +21 -0
- package/types/ui/src/core/index.d.ts +20 -0
- package/types/ui/src/core/normalize.d.ts +21 -0
- package/types/ui/src/core/recipe.d.ts +21 -0
- package/types/ui/src/core/shorthand-resolve.d.ts +54 -0
- package/types/ui/src/core/shorthands.d.ts +187 -0
- package/types/ui/src/core/stabilise.d.ts +14 -0
- package/types/ui/src/core/states.d.ts +16 -0
- package/types/ui/src/core/styles.d.ts +59 -0
- package/types/ui/src/core/theme-create.d.ts +64 -0
- package/types/ui/src/core/theme-mode.d.ts +15 -0
- package/types/ui/src/core/theme.d.ts +72 -0
- package/types/ui/src/core/tokens/colors.d.ts +109 -0
- package/types/ui/src/core/tokens/css-palette.d.ts +19 -0
- package/types/ui/src/core/tokens/css-var.d.ts +8 -0
- package/types/ui/src/core/tokens/effects.d.ts +103 -0
- package/types/ui/src/core/tokens/index.d.ts +10 -0
- package/types/ui/src/core/tokens/layout.d.ts +94 -0
- package/types/ui/src/core/tokens/mobile.d.ts +91 -0
- package/types/ui/src/core/tokens/registry.d.ts +4 -0
- package/types/ui/src/core/tokens/typography.d.ts +232 -0
- package/types/ui/src/core/types.d.ts +122 -0
- package/types/ui/src/core/use-breakpoint.d.ts +16 -0
- package/types/ui/src/core/use-theme.d.ts +30 -0
- package/types/ui/src/core/web-style.d.ts +91 -0
- package/types/ui/src/index.d.ts +20 -0
- package/types/ui/src/kit.d.ts +74 -0
- package/types/ui/src/lib/a11y-props.d.ts +26 -0
- package/types/ui/src/lib/a11y.d.ts +8 -0
- package/types/ui/src/lib/anchor.d.ts +32 -0
- package/types/ui/src/lib/anchored-keys.d.ts +41 -0
- package/types/ui/src/lib/anchored-panel.d.ts +42 -0
- package/types/ui/src/lib/anchored-popup.d.ts +17 -0
- package/types/ui/src/lib/box-layers.d.ts +10 -0
- package/types/ui/src/lib/box-style.d.ts +16 -0
- package/types/ui/src/lib/caret.d.ts +8 -0
- package/types/ui/src/lib/classed.d.ts +3 -0
- package/types/ui/src/lib/cover-rect.d.ts +26 -0
- package/types/ui/src/lib/css.d.ts +19 -0
- package/types/ui/src/lib/css.web.d.ts +25 -0
- package/types/ui/src/lib/cursor.d.ts +17 -0
- package/types/ui/src/lib/dismiss-backdrop.d.ts +11 -0
- package/types/ui/src/lib/dom.d.ts +12 -0
- package/types/ui/src/lib/drag-select.d.ts +1 -0
- package/types/ui/src/lib/drag-select.web.d.ts +13 -0
- package/types/ui/src/lib/ease.d.ts +13 -0
- package/types/ui/src/lib/escape-guard.d.ts +1 -0
- package/types/ui/src/lib/expo-image-backend.d.ts +5 -0
- package/types/ui/src/lib/field-shell.d.ts +140 -0
- package/types/ui/src/lib/focus-entry.d.ts +20 -0
- package/types/ui/src/lib/focus-here.d.ts +11 -0
- package/types/ui/src/lib/focus-here.web.d.ts +7 -0
- package/types/ui/src/lib/focus-lift.d.ts +39 -0
- package/types/ui/src/lib/focus-nav.d.ts +3 -0
- package/types/ui/src/lib/focus-nav.web.d.ts +2 -0
- package/types/ui/src/lib/focus-platform.d.ts +30 -0
- package/types/ui/src/lib/focus-presence.d.ts +5 -0
- package/types/ui/src/lib/focus-remote.d.ts +39 -0
- package/types/ui/src/lib/focus-remote.web.d.ts +16 -0
- package/types/ui/src/lib/focus-report.d.ts +18 -0
- package/types/ui/src/lib/focus-root.d.ts +22 -0
- package/types/ui/src/lib/focus-root.web.d.ts +3 -0
- package/types/ui/src/lib/focus-scope.d.ts +59 -0
- package/types/ui/src/lib/focus-scroll.d.ts +69 -0
- package/types/ui/src/lib/focus-tab.d.ts +12 -0
- package/types/ui/src/lib/focus-transition.d.ts +11 -0
- package/types/ui/src/lib/focus-transition.web.d.ts +3 -0
- package/types/ui/src/lib/focus-types.d.ts +18 -0
- package/types/ui/src/lib/focus-visible.d.ts +21 -0
- package/types/ui/src/lib/form/index.d.ts +4 -0
- package/types/ui/src/lib/form/message.d.ts +10 -0
- package/types/ui/src/lib/form/standard-schema.d.ts +27 -0
- package/types/ui/src/lib/form/use-form.d.ts +59 -0
- package/types/ui/src/lib/fuzzy-search.d.ts +20 -0
- package/types/ui/src/lib/genre-icon.d.ts +4 -0
- package/types/ui/src/lib/glyph.d.ts +24 -0
- package/types/ui/src/lib/group-shape.d.ts +44 -0
- package/types/ui/src/lib/hover-passthrough.d.ts +9 -0
- package/types/ui/src/lib/icon-catalog.d.ts +19 -0
- package/types/ui/src/lib/icon-search.d.ts +18 -0
- package/types/ui/src/lib/icons/every-glyph.d.ts +4 -0
- package/types/ui/src/lib/icons/every-glyph.web.d.ts +4 -0
- package/types/ui/src/lib/icons/glyph-source.d.ts +3 -0
- package/types/ui/src/lib/icons/glyphs.d.ts +34 -0
- package/types/ui/src/lib/icons/library.d.ts +19 -0
- package/types/ui/src/lib/icons/stroke-prop.d.ts +2 -0
- package/types/ui/src/lib/icons/stroke-prop.web.d.ts +2 -0
- package/types/ui/src/lib/image-backend.d.ts +26 -0
- package/types/ui/src/lib/input-gate.d.ts +11 -0
- package/types/ui/src/lib/input-source.d.ts +3 -0
- package/types/ui/src/lib/landmark.d.ts +4 -0
- package/types/ui/src/lib/landmark.web.d.ts +4 -0
- package/types/ui/src/lib/lockup-paths.d.ts +10 -0
- package/types/ui/src/lib/loop.d.ts +15 -0
- package/types/ui/src/lib/loop.web.d.ts +5 -0
- package/types/ui/src/lib/modal-portal.d.ts +3 -0
- package/types/ui/src/lib/modal-portal.web.d.ts +8 -0
- package/types/ui/src/lib/name-of.d.ts +9 -0
- package/types/ui/src/lib/nav-style.d.ts +5 -0
- package/types/ui/src/lib/overlay-host.d.ts +23 -0
- package/types/ui/src/lib/part-context.d.ts +8 -0
- package/types/ui/src/lib/perf-memory.d.ts +12 -0
- package/types/ui/src/lib/perf-memory.web.d.ts +4 -0
- package/types/ui/src/lib/perf.d.ts +35 -0
- package/types/ui/src/lib/platform.d.ts +3 -0
- package/types/ui/src/lib/platform.web.d.ts +2 -0
- package/types/ui/src/lib/portal.d.ts +10 -0
- package/types/ui/src/lib/portal.web.d.ts +17 -0
- package/types/ui/src/lib/press-dip.d.ts +26 -0
- package/types/ui/src/lib/press-guard.d.ts +8 -0
- package/types/ui/src/lib/progress-motion.d.ts +11 -0
- package/types/ui/src/lib/progress-motion.web.d.ts +11 -0
- package/types/ui/src/lib/reduced-motion.d.ts +7 -0
- package/types/ui/src/lib/report-categories.d.ts +10 -0
- package/types/ui/src/lib/ring-room.d.ts +27 -0
- package/types/ui/src/lib/ring-scope.d.ts +6 -0
- package/types/ui/src/lib/ring.d.ts +27 -0
- package/types/ui/src/lib/sample-art.d.ts +9 -0
- package/types/ui/src/lib/scroll-lock.d.ts +1 -0
- package/types/ui/src/lib/scroll-lock.web.d.ts +6 -0
- package/types/ui/src/lib/shake.d.ts +8 -0
- package/types/ui/src/lib/shake.web.d.ts +4 -0
- package/types/ui/src/lib/slot.d.ts +36 -0
- package/types/ui/src/lib/sort-icon.d.ts +5 -0
- package/types/ui/src/lib/splash-motion.d.ts +25 -0
- package/types/ui/src/lib/splash-motion.web.d.ts +15 -0
- package/types/ui/src/lib/stable-callback.d.ts +9 -0
- package/types/ui/src/lib/surface-bands.d.ts +26 -0
- package/types/ui/src/lib/surface-presentation.d.ts +17 -0
- package/types/ui/src/lib/surface-shell.d.ts +21 -0
- package/types/ui/src/lib/svg.d.ts +1 -0
- package/types/ui/src/lib/svg.web.d.ts +17 -0
- package/types/ui/src/lib/theme-audio.d.ts +7 -0
- package/types/ui/src/lib/tv-remote.d.ts +11 -0
- package/types/ui/src/lib/use-complete-once.d.ts +12 -0
- package/types/ui/src/lib/use-controllable.d.ts +1 -0
- package/types/ui/src/lib/use-copy.d.ts +20 -0
- package/types/ui/src/lib/use-growing-count.d.ts +12 -0
- package/types/ui/src/lib/use-settled-value.d.ts +5 -0
- package/types/ui/src/lib/wheel-pan.d.ts +7 -0
- package/types/ui/src/lib/wheel-pan.web.d.ts +11 -0
- package/types/ui/src/lib/wheel-paths.d.ts +5 -0
- package/types/ui/src/services/aiSuggest.d.ts +15 -0
- package/types/ui/src/services/auth.d.ts +41 -0
- package/types/ui/src/services/cast-context.d.ts +33 -0
- package/types/ui/src/services/cast-events.d.ts +23 -0
- package/types/ui/src/services/cast-lan.d.ts +21 -0
- package/types/ui/src/services/cast-position.d.ts +14 -0
- package/types/ui/src/services/cast.d.ts +20 -0
- package/types/ui/src/services/format.d.ts +25 -0
- package/types/ui/src/services/i18n.d.ts +18 -0
- package/types/ui/src/services/locale.d.ts +18 -0
- package/types/ui/src/services/playback.d.ts +49 -0
- package/types/ui/src/services/storyboard.d.ts +33 -0
- package/types/ui/src/services/subtitleGenerations.d.ts +13 -0
- package/types/ui/src/services/themeAudio.d.ts +19 -0
- package/types/ui/src/services/themeAudio.native.d.ts +8 -0
- package/types/ui/src/ssr.d.ts +20 -0
- package/types/ui/src/styles/motion.d.ts +2 -0
- package/types/ui/src/styles/page.d.ts +2 -0
- package/types/ui/src/styles/reset.d.ts +2 -0
- package/types/ui/src/styles/sheet.d.ts +18 -0
- package/types/ui/src/testing.d.ts +27 -0
- package/types/ui/src/workbench-config.d.ts +9 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LayoutChangeEvent } from 'react-native';
|
|
2
|
+
export declare function pressScaleFor(longest: number): number;
|
|
3
|
+
export declare function longestSideOf(event: LayoutChangeEvent): number;
|
|
4
|
+
/** The control's longest side, kept current by the `onLayout` it hands back.
|
|
5
|
+
* A ref rather than state: the size only matters at the moment of a press, and
|
|
6
|
+
* a re-render on every layout pass would cost every tile in a grid. */
|
|
7
|
+
export declare function useLongestSide(): {
|
|
8
|
+
longest: {
|
|
9
|
+
current: number;
|
|
10
|
+
};
|
|
11
|
+
onLayout: (event: LayoutChangeEvent) => void;
|
|
12
|
+
};
|
|
13
|
+
/** What both halves of the press dip hand back; the animation itself is the
|
|
14
|
+
* platform's (Animated on native, a CSS transition on the web). A control that
|
|
15
|
+
* does not dip hands back no `onLayout`: there is no size to read. */
|
|
16
|
+
export interface PressScale {
|
|
17
|
+
pressed: boolean;
|
|
18
|
+
style: Record<string, unknown>;
|
|
19
|
+
onLayout?: (event: LayoutChangeEvent) => void;
|
|
20
|
+
onPressIn: () => void;
|
|
21
|
+
onPressOut: () => void;
|
|
22
|
+
}
|
|
23
|
+
/** The dip, off: the control reports its press and never sinks, so it costs
|
|
24
|
+
* neither an animated value nor a layout read. For a screen that FOCUSES
|
|
25
|
+
* rather than presses. */
|
|
26
|
+
export declare function useFlatPress(): PressScale;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Default window, in milliseconds. */
|
|
2
|
+
export declare const PRESS_GUARD_MS = 300;
|
|
3
|
+
/** Arm the guard. Called by every screen's `useFocusNav` on mount. */
|
|
4
|
+
export declare function armPressGuard(ms?: number): void;
|
|
5
|
+
/** True while a press should be swallowed as the tail of the previous screen's. */
|
|
6
|
+
export declare function pressGuardActive(): boolean;
|
|
7
|
+
/** Test seam: drop the guard so a press lands immediately. */
|
|
8
|
+
export declare function clearPressGuard(): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
+
import type { RingGeometry } from '#ui/lib/ring';
|
|
3
|
+
export interface ProgressFillProps {
|
|
4
|
+
value: number;
|
|
5
|
+
style: StyleProp<ViewStyle>;
|
|
6
|
+
}
|
|
7
|
+
/** The arc of a <ProgressRing>, easing to a new length when the value changes. */
|
|
8
|
+
export declare function ProgressArc({ centre, radius, thickness, fill, circumference, dashOffset, }: Readonly<RingGeometry>): import("react").JSX.Element;
|
|
9
|
+
/** The fill of a <Progress> track, easing to `value` (0..1). `style` paints it
|
|
10
|
+
* and pins it to the track's left edge; the trailing inset is this component's. */
|
|
11
|
+
export declare function ProgressFill({ value, style }: Readonly<ProgressFillProps>): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
+
import type { RingGeometry } from '#ui/lib/ring';
|
|
3
|
+
export interface ProgressFillProps {
|
|
4
|
+
value: number;
|
|
5
|
+
style: StyleProp<ViewStyle>;
|
|
6
|
+
}
|
|
7
|
+
/** The arc of a <ProgressRing>, easing to a new length when the value changes. */
|
|
8
|
+
export declare function ProgressArc({ centre, radius, thickness, fill, circumference, dashOffset, }: Readonly<RingGeometry>): import("react").JSX.Element;
|
|
9
|
+
/** The fill of a <Progress> track, easing to `value` (0..1). `style` paints it
|
|
10
|
+
* and pins it to the track's left edge; the trailing inset is this component's. */
|
|
11
|
+
export declare function ProgressFill({ value, style }: Readonly<ProgressFillProps>): import("react").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* True when motion should be dropped rather than merely shortened. Starts false
|
|
3
|
+
* and settles on the first answer, since the platform only reports the setting
|
|
4
|
+
* asynchronously: an animation that fires on mount plays once before the answer
|
|
5
|
+
* arrives.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useReducedMotion(): boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReportCategory } from '@kroma/client/reports';
|
|
2
|
+
import type { MessageKey } from '@kroma/core';
|
|
3
|
+
import type { IconName } from './glyph';
|
|
4
|
+
export interface ReportCategoryMeta {
|
|
5
|
+
key: ReportCategory;
|
|
6
|
+
labelKey: MessageKey;
|
|
7
|
+
hintKey: MessageKey;
|
|
8
|
+
icon: IconName;
|
|
9
|
+
}
|
|
10
|
+
export declare const REPORT_CATEGORIES: readonly ReportCategoryMeta[];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface RingRoom {
|
|
2
|
+
marginBlock?: number;
|
|
3
|
+
paddingBlock?: number;
|
|
4
|
+
marginInline?: number;
|
|
5
|
+
paddingInline?: number;
|
|
6
|
+
scrollPadding: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Vertical room for a focus ring inside an element that scrolls or clips: the
|
|
10
|
+
* box reaches `RING_ROOM` further out and its content is padded back in by the
|
|
11
|
+
* same amount, so the content lands exactly where it did with room around it
|
|
12
|
+
* for a ring. `inset` is the padding that edge already carried, and the reach is
|
|
13
|
+
* measured from it, so nothing moves.
|
|
14
|
+
*
|
|
15
|
+
* A scroller clips at its own edges and the ring stands OUTSIDE the control it
|
|
16
|
+
* marks, so a control flush with an edge loses that side of its ring - the first
|
|
17
|
+
* season chip under a show, every time. `scroll-padding` says the same thing for
|
|
18
|
+
* the control the scroller brings into view, where the room has scrolled away.
|
|
19
|
+
*
|
|
20
|
+
* An element that IS a card around its rows - its own edge and fill, clipping
|
|
21
|
+
* them - has no outside to reach into: its rows take the inset ring instead
|
|
22
|
+
* (`ring: 'focusInset'`, as `<ListRow.Group>`'s members do).
|
|
23
|
+
*/
|
|
24
|
+
export declare function ringRoomBlock(inset?: number): RingRoom;
|
|
25
|
+
/** The same room on the other axis. See {@link ringRoomBlock}. */
|
|
26
|
+
export declare function ringRoomInline(inset?: number): RingRoom;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RingToken } from '#ui/core/theme';
|
|
2
|
+
/** Provided by a surface that clips what it holds; never used directly. */
|
|
3
|
+
declare const RingScopeProvider: import("react").Provider<"focus" | "focusEdge" | "focusGlow" | "focusGlowSm" | "focusInset" | "focusLift" | "focusSm" | "focusWash" | undefined>;
|
|
4
|
+
/** The ring every control in this subtree draws, unless it asks for another. */
|
|
5
|
+
declare function useRingScope(): RingToken | undefined;
|
|
6
|
+
export { RingScopeProvider, useRingScope };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface RingProps {
|
|
2
|
+
/** Fill fraction, 0..1 (clamped). */
|
|
3
|
+
value?: number;
|
|
4
|
+
/** Outer diameter. */
|
|
5
|
+
size?: number;
|
|
6
|
+
thickness?: number;
|
|
7
|
+
track?: string;
|
|
8
|
+
fill?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface RingGeometry {
|
|
11
|
+
size: number;
|
|
12
|
+
thickness: number;
|
|
13
|
+
track: string;
|
|
14
|
+
fill: string;
|
|
15
|
+
centre: number;
|
|
16
|
+
radius: number;
|
|
17
|
+
circumference: number;
|
|
18
|
+
/** How much of the circumference to hide, i.e. the unfilled remainder. */
|
|
19
|
+
dashOffset: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function ringGeometry({ value, size, thickness, track, fill, }: Readonly<RingProps>): RingGeometry;
|
|
22
|
+
/** SVG draws an arc from 3 o'clock; the design starts it at 12. */
|
|
23
|
+
export declare const RING_ROTATION = "-90deg";
|
|
24
|
+
/** What an indeterminate ring draws instead of a fill: a quarter of the
|
|
25
|
+
* circumference, spun rather than grown. */
|
|
26
|
+
export declare const RING_BUSY_ARC = 0.25;
|
|
27
|
+
export declare const RING_SPIN_MS = 900;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Portrait artwork, 2:3, for posters. */
|
|
2
|
+
declare const POSTER_ART: readonly ["https://picsum.photos/seed/kroma-poster-1/300/450", "https://picsum.photos/seed/kroma-poster-2/300/450", "https://picsum.photos/seed/kroma-poster-3/300/450", "https://picsum.photos/seed/kroma-poster-4/300/450", "https://picsum.photos/seed/kroma-poster-5/300/450", "https://picsum.photos/seed/kroma-poster-6/300/450"];
|
|
3
|
+
/** Landscape artwork, 16:9, for thumbnails, hero backdrops and `<Img>`. */
|
|
4
|
+
declare const STILL_ART: readonly ["https://picsum.photos/seed/kroma-still-1/640/360", "https://picsum.photos/seed/kroma-still-2/640/360", "https://picsum.photos/seed/kroma-still-3/640/360", "https://picsum.photos/seed/kroma-still-4/640/360", "https://picsum.photos/seed/kroma-still-5/640/360", "https://picsum.photos/seed/kroma-still-6/640/360"];
|
|
5
|
+
/** Stable pick, so a story that renders a grid gets variety without randomness
|
|
6
|
+
* (and so two runs of the screenshot script frame the same images). */
|
|
7
|
+
declare function posterArt(at: number): string;
|
|
8
|
+
declare function stillArt(at: number): string;
|
|
9
|
+
export { POSTER_ART, posterArt, STILL_ART, stillArt };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useScrollLock(_locked: boolean): void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Freeze the page behind an overlay while `locked`, and give it back when the
|
|
3
|
+
* overlay closes or unmounts. Reference-counted: the inner of two open
|
|
4
|
+
* overlays releases nothing while the outer still holds the page.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useScrollLock(locked: boolean): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Animated, type ViewStyle } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* A transform that shakes once every time `at` changes, and nothing at all on
|
|
4
|
+
* the first render or under reduced motion. Pass a count of refusals; the value
|
|
5
|
+
* itself is never read. The result belongs on an `Animated.View`: it carries an
|
|
6
|
+
* `Animated.Value`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useShake(at: number): Animated.WithAnimatedValue<ViewStyle>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Animated, ViewStyle } from 'react-native';
|
|
2
|
+
/** A transform that shakes once every time `at` changes, and nothing at all on
|
|
3
|
+
* the first render or under reduced motion. */
|
|
4
|
+
export declare function useShake(at: number): Animated.WithAnimatedValue<ViewStyle>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
type AnyProps = Record<string, unknown>;
|
|
3
|
+
/** The slot's props and the child's, merged under the rules above. For a kit
|
|
4
|
+
* component that merges without rendering a <Slot> element; the shells reach
|
|
5
|
+
* this through `<Slot>` itself. */
|
|
6
|
+
declare function mergeSlotProps(slotProps: AnyProps, childProps: AnyProps): AnyProps;
|
|
7
|
+
interface SlotProps {
|
|
8
|
+
/** Exactly one element. Text, a fragment or a list is a real mistake: there
|
|
9
|
+
* is no single child to become. */
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
[prop: string]: unknown;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Renders its props onto its one child. The building block behind every
|
|
15
|
+
* `asChild` prop in the kit: `<Box asChild>` is `<Slot {...boxProps}>`.
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <Slot style={s.well} onPress={open}>
|
|
19
|
+
* <Pressable onPress={track} style={s.tile} />
|
|
20
|
+
* </Slot>
|
|
21
|
+
* // one <Pressable style={[s.well, s.tile]}> that calls track, then open
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
declare function Slot({ children, ...slotProps }: Readonly<SlotProps>): ReactElement<AnyProps, string | import("react").JSXElementConstructor<any>>;
|
|
25
|
+
/**
|
|
26
|
+
* The same merge, onto an element a control took as its host: `asChild` on a
|
|
27
|
+
* control goes through here rather than through `<Slot>`, because the control
|
|
28
|
+
* has already put its own face inside the element.
|
|
29
|
+
*
|
|
30
|
+
* `style` lands flattened, alone among the props. A router's link spreads the
|
|
31
|
+
* style it is handed into its own active-state style, and spreading an array
|
|
32
|
+
* yields `{ 0: …, 1: … }`.
|
|
33
|
+
*/
|
|
34
|
+
declare function cloneHost(host: ReactElement, props: AnyProps): ReactElement;
|
|
35
|
+
export type { SlotProps };
|
|
36
|
+
export { cloneHost, mergeSlotProps, Slot };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SortMode } from '@kroma/core';
|
|
2
|
+
import type { IconName } from '#ui/lib/glyph';
|
|
3
|
+
/** The glyph for a catalogue sort, so the same order reads the same on the web,
|
|
4
|
+
* on a phone and across a room. */
|
|
5
|
+
export declare const SORT_ICON: Record<SortMode, IconName>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
+
export interface DriftSpec {
|
|
3
|
+
/** Travel as a fraction of the measured box, per axis. */
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
/** The constant overscan that keeps an edge out of frame while it pans. Held
|
|
7
|
+
* still rather than animated: a scale in flight makes a compositor
|
|
8
|
+
* re-rasterise the layer on every frame. */
|
|
9
|
+
zoom: number;
|
|
10
|
+
/** One leg of the round trip, in ms. */
|
|
11
|
+
ms: number;
|
|
12
|
+
/** The measured box the fractions are taken against. React Native cannot
|
|
13
|
+
* interpret a percentage inside a transform, so the native half needs the
|
|
14
|
+
* pixels; the web half ignores these and lets CSS take the percentage. */
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The drift for the artwork layer: a slow pan across a frame held oversized for
|
|
20
|
+
* it, out and back, forever. Belongs on an `Animated.View` - it carries an
|
|
21
|
+
* `Animated.Value`, which is why it is cast rather than typed.
|
|
22
|
+
*/
|
|
23
|
+
export declare function useDrift(spec: Readonly<DriftSpec>): StyleProp<ViewStyle>;
|
|
24
|
+
/** The colour grade for the artwork. A CSS filter, so the panel has none. */
|
|
25
|
+
export declare const GRADE: StyleProp<ViewStyle>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
+
import type { DriftSpec } from './splash-motion';
|
|
3
|
+
/**
|
|
4
|
+
* The drift for the artwork layer: a slow pan across a frame held oversized for
|
|
5
|
+
* it, out and back, forever. Plain styles, so it rides on the `Animated.View`
|
|
6
|
+
* the native half needs.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useDrift(spec: Readonly<DriftSpec>): StyleProp<ViewStyle>;
|
|
9
|
+
/** The colour grade for the artwork.
|
|
10
|
+
*
|
|
11
|
+
* It rides the IMAGE, never the drifting view above it: a filter is re-run over
|
|
12
|
+
* whatever its element renders, so on the animated node it re-graded a
|
|
13
|
+
* full-screen still every frame it moved. Held on something that never moves,
|
|
14
|
+
* it is rasterised once and the drift transforms the result. */
|
|
15
|
+
export declare const GRADE: StyleProp<ViewStyle>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** One function identity, forever, whose body always sees the latest render's
|
|
2
|
+
* values. Reach for it when the FUNCTION ITSELF is a prop, and a moving
|
|
3
|
+
* identity would re-render a memoised child or a whole list.
|
|
4
|
+
*
|
|
5
|
+
* `useEffectEvent` is not a substitute: React returns a NEW closure from it on
|
|
6
|
+
* every render (`updateEvent` in react-dom), which is why React's own advice is
|
|
7
|
+
* not to pass an effect event to another component. Keep effect events for
|
|
8
|
+
* reading fresh values inside an effect. */
|
|
9
|
+
export declare function useStableCallback<A extends unknown[], R>(fn: (...args: A) => R): (...args: A) => R;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
interface SurfaceParts {
|
|
3
|
+
header: unknown;
|
|
4
|
+
panel: unknown;
|
|
5
|
+
footer: unknown;
|
|
6
|
+
}
|
|
7
|
+
interface SurfaceBands {
|
|
8
|
+
header: ReactNode;
|
|
9
|
+
panel: ReactNode;
|
|
10
|
+
footer: ReactNode;
|
|
11
|
+
/** Everything that claimed no band, which a Root hands to the panel it draws
|
|
12
|
+
* for itself. */
|
|
13
|
+
loose: ReactNode[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The three bands of an overlay surface, taken from its DIRECT children.
|
|
17
|
+
* Yoga has no `order` and a container cannot read its own subtree, so a Root
|
|
18
|
+
* that wants its header pinned above a scrolling panel sorts what it was given
|
|
19
|
+
* (see DESIGN.md §2). <Dialog> and <Drawer> are both this.
|
|
20
|
+
*
|
|
21
|
+
* A band holding nothing is not a band: a surface whose footer is written
|
|
22
|
+
* around a condition draws no shelf on the pass where the condition is false.
|
|
23
|
+
*/
|
|
24
|
+
declare function surfaceBands(children: ReactNode, parts: Readonly<SurfaceParts>): SurfaceBands;
|
|
25
|
+
export type { SurfaceBands };
|
|
26
|
+
export { surfaceBands };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where an anchored surface's content appears: `panel` hangs it off the
|
|
3
|
+
* trigger, `dialog` puts it over the screen, and `auto` asks the platform - a
|
|
4
|
+
* dialog under a D-pad, a panel under a pointer.
|
|
5
|
+
*/
|
|
6
|
+
type SurfacePresentation = 'auto' | 'panel' | 'dialog';
|
|
7
|
+
type ResolvedPresentation = Exclude<SurfacePresentation, 'auto'>;
|
|
8
|
+
/** The shell's answer for every anchored surface in it. Call once at startup;
|
|
9
|
+
* a surface's own `presentation` still wins, and `auto` hands the question
|
|
10
|
+
* back to the platform. */
|
|
11
|
+
declare function setSurfacePresentation(presentation: SurfacePresentation): void;
|
|
12
|
+
/** Resolves one surface: what it was asked for, else what the shell said, else
|
|
13
|
+
* the platform - a dialog inside a <FocusScope>, where a D-pad drives, and a
|
|
14
|
+
* panel outside one. */
|
|
15
|
+
declare function useSurfacePresentation(asked?: SurfacePresentation): ResolvedPresentation;
|
|
16
|
+
export type { ResolvedPresentation, SurfacePresentation };
|
|
17
|
+
export { setSurfacePresentation, useSurfacePresentation };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type SurfaceWidth = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2
|
+
/**
|
|
3
|
+
* THE overlay ladder: how wide a `<Dialog>` or a `<Drawer>` may be, by the
|
|
4
|
+
* densest thing it holds rather than by a number a call site invented. A panel
|
|
5
|
+
* that picks its own width is how eight of them ended up between 460 and 768
|
|
6
|
+
* with no rule telling them apart, and how a list of rows that each carry a
|
|
7
|
+
* hint came to wrap onto three lines beside half a screen of nothing.
|
|
8
|
+
*
|
|
9
|
+
* | `xs` | a rail: a column of destinations, nothing beside anything |
|
|
10
|
+
* | `sm` | a question and its answer |
|
|
11
|
+
* | `md` | a form: fields stacked, one control per line |
|
|
12
|
+
* | `lg` | rows that each carry a hint, or a form beside a list |
|
|
13
|
+
* | `xl` | a grid, or a browser |
|
|
14
|
+
*
|
|
15
|
+
* Read it where the number itself is needed (a virtualised row measuring
|
|
16
|
+
* itself against the panel); write the STEP everywhere else.
|
|
17
|
+
*/
|
|
18
|
+
export declare const SURFACE_WIDTH: Record<SurfaceWidth, number>;
|
|
19
|
+
/** The gutter a `<Dialog>`'s three bands share, and what its `pad` defaults to. */
|
|
20
|
+
export declare const DIALOG_PAD = 40;
|
|
21
|
+
export type { SurfaceWidth };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Circle, default as Svg, Ellipse, G, Line, Path, Polygon, Polyline, Rect, SvgXml, } from 'react-native-svg';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SVGProps } from 'react';
|
|
2
|
+
type El<T> = (props: SVGProps<T>) => React.ReactElement;
|
|
3
|
+
export declare const Svg: El<SVGSVGElement>;
|
|
4
|
+
export declare const Path: El<SVGPathElement>;
|
|
5
|
+
export declare const Circle: El<SVGCircleElement>;
|
|
6
|
+
export declare const Rect: El<SVGRectElement>;
|
|
7
|
+
export declare const Line: El<SVGLineElement>;
|
|
8
|
+
export declare const Polyline: El<SVGPolylineElement>;
|
|
9
|
+
export declare const Polygon: El<SVGPolygonElement>;
|
|
10
|
+
export declare const Ellipse: El<SVGEllipseElement>;
|
|
11
|
+
export declare const G: El<SVGGElement>;
|
|
12
|
+
export declare function SvgXml({ xml, width, height, }: Readonly<{
|
|
13
|
+
xml: string | null;
|
|
14
|
+
width?: number | string;
|
|
15
|
+
height?: number | string;
|
|
16
|
+
}>): import("react").JSX.Element | null;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const TARGET_VOLUME = 0.35;
|
|
2
|
+
export declare const FADE_IN_MS = 900;
|
|
3
|
+
export declare const FADE_OUT_MS = 600;
|
|
4
|
+
/** The stored mute preference. Safe everywhere: a device with no store reads
|
|
5
|
+
* as unmuted, which is the design's default. */
|
|
6
|
+
export declare function readThemeMuted(): boolean;
|
|
7
|
+
export declare function writeThemeMuted(muted: boolean): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { HWEvent } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Whether this event is the trailing half of a press and should be ignored.
|
|
4
|
+
*
|
|
5
|
+
* Android TV reports a press as two events (`0` down, `1` up); tvOS reports one
|
|
6
|
+
* and stamps it `1` anyway, so a bare `eventKeyAction === 1` filter drops every
|
|
7
|
+
* key on Apple TV.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isRemoteKeyUp(evt: HWEvent): boolean;
|
|
10
|
+
export declare function holdMenuKey(): void;
|
|
11
|
+
export declare function releaseMenuKey(): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a stable `report(value)`. Call it whenever the buffer changes - from
|
|
3
|
+
* an event handler, or from an effect keyed on the value - and it fires
|
|
4
|
+
* `onComplete` on the transition into a full buffer and never again until the
|
|
5
|
+
* buffer drops back below `length`.
|
|
6
|
+
*
|
|
7
|
+
* `length` and `onComplete` are read through a ref rather than closed over, so
|
|
8
|
+
* the returned function keeps one identity for the field's lifetime: an effect
|
|
9
|
+
* that depends on it does not re-run every time the parent re-renders with a
|
|
10
|
+
* fresh callback.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useCompleteOnce(length: number, onComplete?: (value: string) => void): (value: string) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useControllable<T>(controlled: T | undefined, defaultValue: T, onChange?: (next: T) => void): [T, (next: T) => void];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** What a copy control is currently saying. `failed` exists because a refused
|
|
2
|
+
* write is common (see {@link useCopy}) and a control that silently does nothing
|
|
3
|
+
* is the one outcome a reader cannot tell apart from a broken build. */
|
|
4
|
+
type CopyState = 'idle' | 'copied' | 'failed';
|
|
5
|
+
interface Copier {
|
|
6
|
+
/** False where the platform has no clipboard at all - a television, a phone.
|
|
7
|
+
* A control renders NOTHING there rather than a dead affordance. It starts
|
|
8
|
+
* true on every web target, prerendered or not, so a hydrating page and its
|
|
9
|
+
* markup agree, and is re-read once the document is there. */
|
|
10
|
+
available: boolean;
|
|
11
|
+
/** `copied` or `failed` for a beat after an attempt, then `idle` again. Call
|
|
12
|
+
* sites index their label, glyph and ink off it. */
|
|
13
|
+
state: CopyState;
|
|
14
|
+
copy: (text: string | undefined) => void;
|
|
15
|
+
}
|
|
16
|
+
/** The clipboard where the platform has one, a write, and a tick that reverts
|
|
17
|
+
* on its own. */
|
|
18
|
+
declare function useCopy(): Copier;
|
|
19
|
+
export type { CopyState };
|
|
20
|
+
export { useCopy };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface GrowingCount {
|
|
2
|
+
/** How many items to render right now. */
|
|
3
|
+
count: number;
|
|
4
|
+
/** True for the items near the end of what is rendered: give those a
|
|
5
|
+
* `onFocus={grow}` and the next chunk arrives before they run out. */
|
|
6
|
+
isNearEnd: (index: number) => boolean;
|
|
7
|
+
/** Render the next chunk. */
|
|
8
|
+
grow: () => void;
|
|
9
|
+
}
|
|
10
|
+
declare function useGrowingCount(total: number, step: number): GrowingCount;
|
|
11
|
+
export type { GrowingCount };
|
|
12
|
+
export { useGrowingCount };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
import type { ScrollView, View } from 'react-native';
|
|
3
|
+
type WheelHost = RefObject<View | ScrollView | null>;
|
|
4
|
+
/** No-op off the web. */
|
|
5
|
+
declare function useWheelTravel(_ref: WheelHost, _onTravel: (delta: number) => void, _enabled?: boolean): void;
|
|
6
|
+
export type { WheelHost };
|
|
7
|
+
export { useWheelTravel };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { ScrollView, View } from 'react-native';
|
|
3
|
+
type WheelHost = RefObject<View | ScrollView | null>;
|
|
4
|
+
/**
|
|
5
|
+
* Reports raw px along whichever axis moved more and consumes the gesture.
|
|
6
|
+
* Only for a list that owns its surface's scroll entirely; anything that
|
|
7
|
+
* scrolls one axis while the page owns the other must be a real scroller.
|
|
8
|
+
*/
|
|
9
|
+
declare function useWheelTravel(ref: WheelHost, onTravel: (delta: number) => void, enabled?: boolean): void;
|
|
10
|
+
export type { WheelHost };
|
|
11
|
+
export { useWheelTravel };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const KROMA_WHEEL_COLORS: readonly ['#F2685C', '#F4B642', '#5FBF8F', '#4F9DE0', '#6366F1', '#A855F7'];
|
|
2
|
+
export declare const KROMA_WHEEL_SEGMENTS: readonly ['M50 35 L50 6 A44 44 0 0 1 88 28 L62.99 42.5 A15 15 0 0 0 50 35 Z', 'M62.99 42.5 L88 28 A44 44 0 0 1 88 72 L62.99 57.5 A15 15 0 0 0 62.99 42.5 Z', 'M62.99 57.5 L88 72 A44 44 0 0 1 50 94 L50 65 A15 15 0 0 0 62.99 57.5 Z', 'M50 65 L50 94 A44 44 0 0 1 12 72 L37.01 57.5 A15 15 0 0 0 50 65 Z', 'M37.01 57.5 L12 72 A44 44 0 0 1 12 28 L37.01 42.5 A15 15 0 0 0 37.01 57.5 Z', 'M37.01 42.5 L12 28 A44 44 0 0 1 50 6 L50 35 A15 15 0 0 0 37.01 42.5 Z'];
|
|
3
|
+
export type WheelSpin = 'idle' | 'loading';
|
|
4
|
+
export declare const WHEEL_SPIN_MS: Record<WheelSpin, number>;
|
|
5
|
+
export declare const WHEEL_VIEWBOX = "6 6 88 88";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { KromaClient } from '@kroma/client';
|
|
2
|
+
import type { ItemId, Section } from '@kroma/client/media';
|
|
3
|
+
export interface UseAiSuggestOptions {
|
|
4
|
+
/** Gate polling (web waits for auth to hydrate). Default `true`. */
|
|
5
|
+
active?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface UseAiSuggestResult {
|
|
8
|
+
/** The generated section once it arrives (items may be empty), else `null`. */
|
|
9
|
+
section: Section | null;
|
|
10
|
+
/** True while generating / waiting to start; false once terminal. */
|
|
11
|
+
pending: boolean;
|
|
12
|
+
/** Elapsed-time progress estimate (0..1) for a spinner while `pending`. */
|
|
13
|
+
progress: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function useAiSuggest(client: KromaClient, id: ItemId, { active }?: UseAiSuggestOptions): UseAiSuggestResult;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type KromaClient } from '@kroma/client';
|
|
2
|
+
import { type AuthResult, type StoredSession, type User, type UserId } from '@kroma/client/accounts';
|
|
3
|
+
/** Outcome of an {@link AuthSession.activate}. `needsPin` asks the UI to collect
|
|
4
|
+
* the profile PIN and call `activate` again with it; `retryAfter` (seconds) is
|
|
5
|
+
* set when the PIN was rate-limited (429) so the UI can show a cooldown;
|
|
6
|
+
* `unreachable` means the server never answered, which says nothing about the
|
|
7
|
+
* token, so the UI should offer a retry rather than route to a full re-login. */
|
|
8
|
+
export type ActivateResult = {
|
|
9
|
+
ok: true;
|
|
10
|
+
} | {
|
|
11
|
+
ok: false;
|
|
12
|
+
needsPin: boolean;
|
|
13
|
+
error?: string;
|
|
14
|
+
retryAfter?: number;
|
|
15
|
+
unreachable?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export interface AuthSession {
|
|
18
|
+
/** The active account (access token + user), or null when signed out. */
|
|
19
|
+
session: StoredSession | null;
|
|
20
|
+
/** The signed-in user (null when signed out). */
|
|
21
|
+
user: User | null;
|
|
22
|
+
/** Accounts remembered on this device switchable via {@link activate}. */
|
|
23
|
+
accounts: StoredSession[];
|
|
24
|
+
/** True once storage hydration + the boot token exchange have run. */
|
|
25
|
+
ready: boolean;
|
|
26
|
+
/** Persist a login/register result (access token + first session) and sign in. */
|
|
27
|
+
apply: (res: AuthResult) => void;
|
|
28
|
+
/** Switch into a remembered account by exchanging its access token for a
|
|
29
|
+
* session. Pass `pin` for a PIN-locked profile (required on switch-in). */
|
|
30
|
+
activate: (s: StoredSession, pin?: string) => Promise<ActivateResult>;
|
|
31
|
+
/** Back to the picker WITHOUT forgetting the account: drop the in-memory
|
|
32
|
+
* session and re-lock the access token so the next switch-in re-prompts. */
|
|
33
|
+
switchProfile: () => void;
|
|
34
|
+
/** Forget a remembered account on this device (revokes it when it's active). */
|
|
35
|
+
forget: (userId: UserId) => void;
|
|
36
|
+
/** Fully sign out of the current account (revoke tokens + forget this device). */
|
|
37
|
+
logout: () => Promise<void>;
|
|
38
|
+
/** Merge a patch into the active user, persisting it to the stored session. */
|
|
39
|
+
updateUser: (patch: Partial<User>) => void;
|
|
40
|
+
}
|
|
41
|
+
export declare function useAuthSession(client: KromaClient | null): AuthSession;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { DeviceId } from '@kroma/client';
|
|
2
|
+
import type { CastCommand, CastReceiver } from '@kroma/client/cast';
|
|
3
|
+
import type { ItemId } from '@kroma/client/media';
|
|
4
|
+
import type { DiscoveredTv } from '@kroma/core';
|
|
5
|
+
/** What a sender can do with the TV it is driving. */
|
|
6
|
+
export interface Cast {
|
|
7
|
+
/** Live receivers on this server, the caller's own devices first. */
|
|
8
|
+
receivers: CastReceiver[];
|
|
9
|
+
/** Televisions heard in the room that have no account yet, so cannot be cast
|
|
10
|
+
* to until someone gives them one. Empty on a shell that cannot listen to its
|
|
11
|
+
* own link, which is every shell without the native module. */
|
|
12
|
+
pairable: DiscoveredTv[];
|
|
13
|
+
/** The receiver this sender is driving, or null when playing locally. */
|
|
14
|
+
active: CastReceiver | null;
|
|
15
|
+
/** Whether any TV is available to cast to (drives the button's visibility). */
|
|
16
|
+
available: boolean;
|
|
17
|
+
/** The active receiver's position, interpolated between heartbeats (ms). */
|
|
18
|
+
positionMs: number;
|
|
19
|
+
/** Start driving a receiver (or `null` to go back to local playback). */
|
|
20
|
+
select: (receiverId: DeviceId | null) => void;
|
|
21
|
+
/** Start a title on `receiverId`, and drive that TV from now on. */
|
|
22
|
+
playOn: (receiverId: DeviceId, itemId: ItemId, positionMs?: number) => Promise<boolean>;
|
|
23
|
+
/** Send an order to the active receiver. False when it failed / went away. */
|
|
24
|
+
send: (command: CastCommand) => Promise<boolean>;
|
|
25
|
+
/** The last failure, as a message key, or null. Cleared on the next success.
|
|
26
|
+
* `cast.kicked` is not a failure exactly - the TV chose to let this remote go. */
|
|
27
|
+
error: 'cast.gone' | 'cast.failed' | 'cast.kicked' | null;
|
|
28
|
+
}
|
|
29
|
+
declare const CastCtx: import("react").Context<Cast | null>;
|
|
30
|
+
/** The cast session. Outside a provider it reads as "no TVs", so a screen can
|
|
31
|
+
* use it unconditionally on a client that never mounted one. */
|
|
32
|
+
export declare function useCast(): Cast;
|
|
33
|
+
export { CastCtx };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DeviceId } from '@kroma/client';
|
|
2
|
+
import type { CastReceiver } from '@kroma/client/cast';
|
|
3
|
+
import type { ServerEvent } from '@kroma/client/events';
|
|
4
|
+
import type { Dispatch, SetStateAction } from 'react';
|
|
5
|
+
import type { Cast } from './cast-context';
|
|
6
|
+
import type { PositionBase } from './cast-position';
|
|
7
|
+
/** The state a [`applyCastEvent`] fold writes through. Grouped rather than
|
|
8
|
+
* passed positionally: four same-shaped setters in a row is an argument list
|
|
9
|
+
* nobody can read, and two of them are only touched by one event. */
|
|
10
|
+
interface CastEventSetters {
|
|
11
|
+
receivers: Dispatch<SetStateAction<CastReceiver[]>>;
|
|
12
|
+
activeId: Dispatch<SetStateAction<DeviceId | null>>;
|
|
13
|
+
error: Dispatch<SetStateAction<Cast['error']>>;
|
|
14
|
+
base: Dispatch<SetStateAction<PositionBase | null>>;
|
|
15
|
+
}
|
|
16
|
+
/** Fold one bus event into the roster / position state.
|
|
17
|
+
*
|
|
18
|
+
* At module scope rather than inside the effect: rows arrive whole (a play or
|
|
19
|
+
* pause on one TV costs every sender a patch instead of a refetch), and keeping
|
|
20
|
+
* the fold here means the effect stays a flat wiring step.
|
|
21
|
+
*/
|
|
22
|
+
declare function applyCastEvent(e: ServerEvent, set: CastEventSetters): void;
|
|
23
|
+
export { applyCastEvent };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DiscoveredTv, LanDiscoveryBridge } from '@kroma/core';
|
|
2
|
+
export interface LanCastOptions {
|
|
3
|
+
/** This device's DNS-SD stack, when it has one. Absent everywhere else, and
|
|
4
|
+
* everything below then reports nothing. */
|
|
5
|
+
lan?: LanDiscoveryBridge;
|
|
6
|
+
/** Gates on being signed in, like the roster it accelerates. */
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
/** Called when a signed-in television is heard that the roster has not
|
|
9
|
+
* listed. The provider answers by refetching. */
|
|
10
|
+
onUnknownReceiver: () => void;
|
|
11
|
+
/** Whether the roster already knows a receiver id. Read at call time, so a
|
|
12
|
+
* roster change does not restart the browse. */
|
|
13
|
+
knowsReceiver: (receiverId: string) => boolean;
|
|
14
|
+
}
|
|
15
|
+
/** The signed-out televisions in the room, and a nudge to refetch when a
|
|
16
|
+
* signed-in one turns up that the server has not mentioned yet.
|
|
17
|
+
*
|
|
18
|
+
* Listens only while the app is in front: the browse is a multicast listener,
|
|
19
|
+
* and on Android a worker thread with it, so a phone in a pocket would
|
|
20
|
+
* otherwise pay for it for the whole signed-in session. */
|
|
21
|
+
export declare function useLanCast(opts: LanCastOptions): DiscoveredTv[];
|