veryfront 0.1.1237 → 0.1.1239
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/esm/cli/auth/login.d.ts +24 -2
- package/esm/cli/auth/login.d.ts.map +1 -1
- package/esm/cli/auth/login.js +444 -35
- package/esm/cli/commands/build/error-handler.d.ts.map +1 -1
- package/esm/cli/commands/build/error-handler.js +41 -3
- package/esm/cli/commands/build/handler.d.ts.map +1 -1
- package/esm/cli/commands/build/handler.js +1 -1
- package/esm/cli/commands/dev/command.d.ts.map +1 -1
- package/esm/cli/commands/dev/command.js +14 -1
- package/esm/cli/commands/dev/inference-status.d.ts +6 -0
- package/esm/cli/commands/dev/inference-status.d.ts.map +1 -1
- package/esm/cli/commands/dev/inference-status.js +14 -2
- package/esm/cli/commands/generate/command.d.ts.map +1 -1
- package/esm/cli/commands/generate/command.js +61 -0
- package/esm/cli/commands/init/init-command.d.ts.map +1 -1
- package/esm/cli/commands/init/init-command.js +23 -31
- package/esm/cli/commands/install/registry.d.ts.map +1 -1
- package/esm/cli/commands/install/registry.js +6 -9
- package/esm/cli/commands/login/command-help.d.ts.map +1 -1
- package/esm/cli/commands/login/command-help.js +3 -1
- package/esm/cli/commands/pull/command.d.ts +1 -0
- package/esm/cli/commands/pull/command.d.ts.map +1 -1
- package/esm/cli/commands/pull/command.js +49 -6
- package/esm/cli/commands/push/command-help.d.ts.map +1 -1
- package/esm/cli/commands/push/command-help.js +7 -0
- package/esm/cli/commands/push/command.d.ts +23 -12
- package/esm/cli/commands/push/command.d.ts.map +1 -1
- package/esm/cli/commands/push/command.js +461 -44
- package/esm/cli/commands/push/plan.d.ts +35 -0
- package/esm/cli/commands/push/plan.d.ts.map +1 -0
- package/esm/cli/commands/push/plan.js +96 -0
- package/esm/cli/commands/schedule/handler.d.ts +21 -2
- package/esm/cli/commands/schedule/handler.d.ts.map +1 -1
- package/esm/cli/commands/schedule/handler.js +74 -27
- package/esm/cli/commands/schema/command-help.js +1 -1
- package/esm/cli/commands/up/command.js +1 -1
- package/esm/cli/commands/webhook/handler.d.ts.map +1 -1
- package/esm/cli/commands/webhook/handler.js +3 -1
- package/esm/cli/router.d.ts.map +1 -1
- package/esm/cli/router.js +27 -5
- package/esm/cli/shared/args.d.ts +15 -1
- package/esm/cli/shared/args.d.ts.map +1 -1
- package/esm/cli/shared/args.js +56 -3
- package/esm/cli/shared/config.d.ts +11 -2
- package/esm/cli/shared/config.d.ts.map +1 -1
- package/esm/cli/shared/config.js +72 -27
- package/esm/cli/shared/project-creation.js +1 -1
- package/esm/cli/sync/state.d.ts +20 -0
- package/esm/cli/sync/state.d.ts.map +1 -0
- package/esm/cli/sync/state.js +193 -0
- package/esm/deno.js +2 -2
- package/esm/extensions/ext-llm-anthropic/src/anthropic-request-builder.d.ts.map +1 -1
- package/esm/extensions/ext-llm-anthropic/src/anthropic-request-builder.js +852 -21
- package/esm/extensions/ext-observability-sentry/src/policy.d.ts +2 -0
- package/esm/extensions/ext-observability-sentry/src/policy.d.ts.map +1 -1
- package/esm/extensions/ext-observability-sentry/src/policy.js +214 -3
- package/esm/src/agent/conversation/delegation-policy.d.ts +2 -0
- package/esm/src/agent/conversation/delegation-policy.d.ts.map +1 -1
- package/esm/src/agent/conversation/delegation-policy.js +13 -3
- package/esm/src/agent/conversation/hosted-terminal.d.ts.map +1 -1
- package/esm/src/agent/conversation/hosted-terminal.js +6 -2
- package/esm/src/agent/conversation/run-chunk-mirror.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-chunk-mirror.js +14 -2
- package/esm/src/agent/factory.d.ts.map +1 -1
- package/esm/src/agent/factory.js +22 -11
- package/esm/src/agent/hosted/chat-runtime-tool-assembly.d.ts +2 -0
- package/esm/src/agent/hosted/chat-runtime-tool-assembly.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-runtime-tool-assembly.js +6 -1
- package/esm/src/agent/hosted/child-fork-execution-runner.d.ts +2 -1
- package/esm/src/agent/hosted/child-fork-execution-runner.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-fork-execution-runner.js +6 -3
- package/esm/src/agent/hosted/child-fork-step-message-preparation.d.ts +12 -3
- package/esm/src/agent/hosted/child-fork-step-message-preparation.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-fork-step-message-preparation.js +16 -3
- package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts +1 -1
- package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts.map +1 -1
- package/esm/src/agent/hosted/cloud-agent-chat-execution.js +3 -3
- package/esm/src/agent/hosted/cloud-agent-child-tools.d.ts +11 -0
- package/esm/src/agent/hosted/cloud-agent-child-tools.d.ts.map +1 -1
- package/esm/src/agent/hosted/cloud-agent-child-tools.js +2 -3
- package/esm/src/agent/hosted/cloud-agent-config.d.ts +1 -0
- package/esm/src/agent/hosted/cloud-agent-config.d.ts.map +1 -1
- package/esm/src/agent/hosted/cloud-runtime-system-messages.d.ts +16 -1
- package/esm/src/agent/hosted/cloud-runtime-system-messages.d.ts.map +1 -1
- package/esm/src/agent/hosted/cloud-runtime-system-messages.js +13 -3
- package/esm/src/agent/hosted/default-chat-runtime.d.ts +2 -1
- package/esm/src/agent/hosted/default-chat-runtime.d.ts.map +1 -1
- package/esm/src/agent/hosted/default-chat-runtime.js +18 -7
- package/esm/src/agent/hosted/default-invoke-agent-tool.d.ts +2 -1
- package/esm/src/agent/hosted/default-invoke-agent-tool.d.ts.map +1 -1
- package/esm/src/agent/hosted/default-invoke-agent-tool.js +11 -3
- package/esm/src/agent/hosted/default-project-steering-refresh.d.ts +2 -1
- package/esm/src/agent/hosted/default-project-steering-refresh.d.ts.map +1 -1
- package/esm/src/agent/hosted/default-project-steering-refresh.js +4 -1
- package/esm/src/agent/hosted/runtime-state-resolver.d.ts +6 -4
- package/esm/src/agent/hosted/runtime-state-resolver.d.ts.map +1 -1
- package/esm/src/agent/hosted/runtime-state-resolver.js +8 -11
- package/esm/src/agent/index.d.ts +3 -3
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/project/agent-runtime.d.ts.map +1 -1
- package/esm/src/agent/project/agent-runtime.js +6 -3
- package/esm/src/agent/runtime/agent-definition.d.ts +68 -66
- package/esm/src/agent/runtime/agent-definition.d.ts.map +1 -1
- package/esm/src/agent/runtime/agent-definition.js +15 -2
- package/esm/src/agent/runtime/agent-invocation-contract.d.ts +2 -0
- package/esm/src/agent/runtime/agent-invocation-contract.d.ts.map +1 -1
- package/esm/src/agent/runtime/agent-markdown-adapter.js +1 -1
- package/esm/src/agent/runtime/agent-runtime-step.d.ts +11 -5
- package/esm/src/agent/runtime/agent-runtime-step.d.ts.map +1 -1
- package/esm/src/agent/runtime/agent-runtime-step.js +23 -6
- package/esm/src/agent/runtime/call-context.d.ts +42 -11
- package/esm/src/agent/runtime/call-context.d.ts.map +1 -1
- package/esm/src/agent/runtime/call-context.js +480 -42
- package/esm/src/agent/runtime/chat-stream-handler.d.ts +18 -0
- package/esm/src/agent/runtime/chat-stream-handler.d.ts.map +1 -1
- package/esm/src/agent/runtime/chat-stream-handler.js +38 -18
- package/esm/src/agent/runtime/effective-agent-system.d.ts +13 -4
- package/esm/src/agent/runtime/effective-agent-system.d.ts.map +1 -1
- package/esm/src/agent/runtime/effective-agent-system.js +29 -0
- package/esm/src/agent/runtime/index.d.ts +1 -0
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +638 -53
- package/esm/src/agent/runtime/load-skill-tool.d.ts +33 -3
- package/esm/src/agent/runtime/load-skill-tool.d.ts.map +1 -1
- package/esm/src/agent/runtime/load-skill-tool.js +152 -21
- package/esm/src/agent/runtime/model-resolution.d.ts +3 -0
- package/esm/src/agent/runtime/model-resolution.d.ts.map +1 -1
- package/esm/src/agent/runtime/model-resolution.js +14 -0
- package/esm/src/agent/runtime/model-transport.d.ts +1 -0
- package/esm/src/agent/runtime/model-transport.d.ts.map +1 -1
- package/esm/src/agent/runtime/model-transport.js +5 -2
- package/esm/src/agent/runtime/run-runtime-context.d.ts +4 -0
- package/esm/src/agent/runtime/run-runtime-context.d.ts.map +1 -1
- package/esm/src/agent/runtime/run-runtime-context.js +9 -3
- package/esm/src/agent/runtime/runtime-tool-config.d.ts +1 -0
- package/esm/src/agent/runtime/runtime-tool-config.d.ts.map +1 -1
- package/esm/src/agent/runtime/skill-prompt.d.ts +3 -0
- package/esm/src/agent/runtime/skill-prompt.d.ts.map +1 -1
- package/esm/src/agent/runtime/skill-prompt.js +113 -25
- package/esm/src/agent/runtime/streamed-assistant-message.d.ts +22 -2
- package/esm/src/agent/runtime/streamed-assistant-message.d.ts.map +1 -1
- package/esm/src/agent/runtime/streamed-assistant-message.js +26 -5
- package/esm/src/agent/runtime/tool-inventory.d.ts.map +1 -1
- package/esm/src/agent/runtime/tool-inventory.js +13 -9
- package/esm/src/agent/runtime/tool-result-continuation.d.ts +4 -2
- package/esm/src/agent/runtime/tool-result-continuation.d.ts.map +1 -1
- package/esm/src/agent/runtime/tool-result-continuation.js +24 -20
- package/esm/src/agent/schemas/agent.schema.d.ts +2 -2
- package/esm/src/agent/service/runtime.js +1 -1
- package/esm/src/agent/streaming/fork-runtime-stream.d.ts +5 -4
- package/esm/src/agent/streaming/fork-runtime-stream.d.ts.map +1 -1
- package/esm/src/agent/types.d.ts +14 -1
- package/esm/src/agent/types.d.ts.map +1 -1
- package/esm/src/chat/chat-ui-message-helpers.d.ts.map +1 -1
- package/esm/src/chat/chat-ui-message-helpers.js +75 -16
- package/esm/src/config/loader.d.ts.map +1 -1
- package/esm/src/config/loader.js +37 -1
- package/esm/src/errors/catalog/build-errors.d.ts.map +1 -1
- package/esm/src/errors/catalog/build-errors.js +14 -0
- package/esm/src/errors/error-registry/build.d.ts +2 -0
- package/esm/src/errors/error-registry/build.d.ts.map +1 -1
- package/esm/src/errors/error-registry/build.js +8 -0
- package/esm/src/errors/error-registry/deploy.d.ts +4 -0
- package/esm/src/errors/error-registry/deploy.d.ts.map +1 -1
- package/esm/src/errors/error-registry/deploy.js +16 -0
- package/esm/src/errors/error-registry.d.ts +3 -0
- package/esm/src/errors/error-registry.d.ts.map +1 -1
- package/esm/src/errors/index.d.ts +2 -1
- package/esm/src/errors/index.d.ts.map +1 -1
- package/esm/src/errors/index.js +4 -3
- package/esm/src/errors/tenant-classification.d.ts +25 -0
- package/esm/src/errors/tenant-classification.d.ts.map +1 -0
- package/esm/src/errors/tenant-classification.js +61 -0
- package/esm/src/extensions/builtin-extensions.d.ts +10 -15
- package/esm/src/extensions/builtin-extensions.d.ts.map +1 -1
- package/esm/src/extensions/builtin-extensions.js +32 -26
- package/esm/src/extensions/deferred-extension.d.ts +4 -4
- package/esm/src/extensions/deferred-extension.js +4 -4
- package/esm/src/extensions/index.d.ts +1 -0
- package/esm/src/extensions/index.d.ts.map +1 -1
- package/esm/src/extensions/index.js +1 -0
- package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
- package/esm/src/integrations/_data.d.ts.map +1 -1
- package/esm/src/integrations/_data.js +6 -0
- package/esm/src/integrations/schema.d.ts +8 -0
- package/esm/src/integrations/schema.d.ts.map +1 -1
- package/esm/src/integrations/schema.js +3 -0
- package/esm/src/integrations/types.d.ts +2 -0
- package/esm/src/integrations/types.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.js +35 -20
- package/esm/src/internal-agents/run-system-prompt.d.ts +7 -2
- package/esm/src/internal-agents/run-system-prompt.d.ts.map +1 -1
- package/esm/src/internal-agents/run-system-prompt.js +19 -13
- package/esm/src/internal-agents/schema.d.ts +2 -0
- package/esm/src/internal-agents/schema.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/loader.js +2 -18
- package/esm/src/modules/react-loader/ssr-module-loader/ssr-dependency-validator.d.ts +11 -0
- package/esm/src/modules/react-loader/ssr-module-loader/ssr-dependency-validator.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/ssr-dependency-validator.js +53 -6
- package/esm/src/observability/application-error-contract.d.ts +4 -0
- package/esm/src/observability/application-error-contract.d.ts.map +1 -1
- package/esm/src/observability/application-errors.d.ts.map +1 -1
- package/esm/src/observability/application-errors.js +64 -3
- package/esm/src/platform/adapters/runtime/deno/http-server.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/deno/http-server.js +2 -10
- package/esm/src/platform/adapters/runtime/shared/request-peer.d.ts +14 -0
- package/esm/src/platform/adapters/runtime/shared/request-peer.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/shared/request-peer.js +82 -0
- package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
- package/esm/src/provider/runtime-loader/provider-http.d.ts +5 -1
- package/esm/src/provider/runtime-loader/provider-http.d.ts.map +1 -1
- package/esm/src/provider/runtime-loader/provider-http.js +55 -17
- package/esm/src/provider/shared/index.d.ts +1 -0
- package/esm/src/provider/shared/index.d.ts.map +1 -1
- package/esm/src/provider/shared/index.js +2 -0
- package/esm/src/provider/types.d.ts +1 -0
- package/esm/src/provider/types.d.ts.map +1 -1
- package/esm/src/react/components/ui/adapter/builtin/combobox.d.ts +3 -0
- package/esm/src/react/components/ui/adapter/builtin/combobox.d.ts.map +1 -0
- package/esm/src/react/components/ui/adapter/builtin/combobox.js +204 -0
- package/esm/src/react/components/ui/adapter/builtin/dialog.d.ts +3 -0
- package/esm/src/react/components/ui/adapter/builtin/dialog.d.ts.map +1 -0
- package/esm/src/react/components/ui/adapter/builtin/dialog.js +20 -0
- package/esm/src/react/components/ui/adapter/builtin/drawer.d.ts +3 -0
- package/esm/src/react/components/ui/adapter/builtin/drawer.d.ts.map +1 -0
- package/esm/src/react/components/ui/adapter/builtin/drawer.js +21 -0
- package/esm/src/react/components/ui/adapter/builtin/index.d.ts.map +1 -1
- package/esm/src/react/components/ui/adapter/builtin/index.js +10 -0
- package/esm/src/react/components/ui/adapter/builtin/popover.d.ts +3 -0
- package/esm/src/react/components/ui/adapter/builtin/popover.d.ts.map +1 -0
- package/esm/src/react/components/ui/adapter/builtin/popover.js +28 -0
- package/esm/src/react/components/ui/adapter/builtin/tabs.d.ts +3 -0
- package/esm/src/react/components/ui/adapter/builtin/tabs.d.ts.map +1 -0
- package/esm/src/react/components/ui/adapter/builtin/tabs.js +73 -0
- package/esm/src/react/components/ui/adapter/context.d.ts.map +1 -1
- package/esm/src/react/components/ui/adapter/context.js +10 -0
- package/esm/src/react/components/ui/adapter/contract.d.ts +212 -0
- package/esm/src/react/components/ui/adapter/contract.d.ts.map +1 -1
- package/esm/src/react/components/ui/adapter/token-scope.d.ts +24 -0
- package/esm/src/react/components/ui/adapter/token-scope.d.ts.map +1 -0
- package/esm/src/react/components/ui/adapter/token-scope.js +26 -0
- package/esm/src/react/components/ui/alert-dialog.d.ts +101 -0
- package/esm/src/react/components/ui/alert-dialog.d.ts.map +1 -0
- package/esm/src/react/components/ui/alert-dialog.js +181 -0
- package/esm/src/react/components/ui/aspect-ratio.d.ts +18 -0
- package/esm/src/react/components/ui/aspect-ratio.d.ts.map +1 -0
- package/esm/src/react/components/ui/aspect-ratio.js +13 -0
- package/esm/src/react/components/ui/autocomplete.d.ts +67 -0
- package/esm/src/react/components/ui/autocomplete.d.ts.map +1 -0
- package/esm/src/react/components/ui/autocomplete.js +59 -0
- package/esm/src/react/components/ui/breadcrumb.d.ts +86 -0
- package/esm/src/react/components/ui/breadcrumb.d.ts.map +1 -0
- package/esm/src/react/components/ui/breadcrumb.js +67 -0
- package/esm/src/react/components/ui/calendar.d.ts +40 -0
- package/esm/src/react/components/ui/calendar.d.ts.map +1 -0
- package/esm/src/react/components/ui/calendar.js +170 -0
- package/esm/src/react/components/ui/combobox.d.ts +74 -0
- package/esm/src/react/components/ui/combobox.d.ts.map +1 -0
- package/esm/src/react/components/ui/combobox.js +100 -0
- package/esm/src/react/components/ui/context-menu.d.ts +116 -0
- package/esm/src/react/components/ui/context-menu.d.ts.map +1 -0
- package/esm/src/react/components/ui/context-menu.js +168 -0
- package/esm/src/react/components/ui/date-picker.d.ts +69 -0
- package/esm/src/react/components/ui/date-picker.d.ts.map +1 -0
- package/esm/src/react/components/ui/date-picker.js +96 -0
- package/esm/src/react/components/ui/dialog.d.ts +41 -11
- package/esm/src/react/components/ui/dialog.d.ts.map +1 -1
- package/esm/src/react/components/ui/dialog.js +47 -28
- package/esm/src/react/components/ui/drawer.d.ts +31 -8
- package/esm/src/react/components/ui/drawer.d.ts.map +1 -1
- package/esm/src/react/components/ui/drawer.js +33 -22
- package/esm/src/react/components/ui/dropdown-menu.d.ts.map +1 -1
- package/esm/src/react/components/ui/dropdown-menu.js +7 -75
- package/esm/src/react/components/ui/field.d.ts +70 -0
- package/esm/src/react/components/ui/field.d.ts.map +1 -0
- package/esm/src/react/components/ui/field.js +161 -0
- package/esm/src/react/components/ui/file-type.d.ts +9 -8
- package/esm/src/react/components/ui/file-type.d.ts.map +1 -1
- package/esm/src/react/components/ui/file-type.js +8 -8
- package/esm/src/react/components/ui/hover-card.d.ts +82 -0
- package/esm/src/react/components/ui/hover-card.d.ts.map +1 -0
- package/esm/src/react/components/ui/hover-card.js +140 -0
- package/esm/src/react/components/ui/index.d.ts +23 -2
- package/esm/src/react/components/ui/index.d.ts.map +1 -1
- package/esm/src/react/components/ui/index.js +21 -0
- package/esm/src/react/components/ui/input-otp.d.ts +37 -0
- package/esm/src/react/components/ui/input-otp.d.ts.map +1 -0
- package/esm/src/react/components/ui/input-otp.js +42 -0
- package/esm/src/react/components/ui/menu-keyboard.d.ts +8 -0
- package/esm/src/react/components/ui/menu-keyboard.d.ts.map +1 -0
- package/esm/src/react/components/ui/menu-keyboard.js +76 -0
- package/esm/src/react/components/ui/menubar.d.ts +98 -0
- package/esm/src/react/components/ui/menubar.d.ts.map +1 -0
- package/esm/src/react/components/ui/menubar.js +173 -0
- package/esm/src/react/components/ui/meter.d.ts +45 -0
- package/esm/src/react/components/ui/meter.d.ts.map +1 -0
- package/esm/src/react/components/ui/meter.js +59 -0
- package/esm/src/react/components/ui/modal-surface.d.ts +7 -1
- package/esm/src/react/components/ui/modal-surface.d.ts.map +1 -1
- package/esm/src/react/components/ui/modal-surface.js +23 -6
- package/esm/src/react/components/ui/navigation-menu.d.ts +101 -0
- package/esm/src/react/components/ui/navigation-menu.d.ts.map +1 -0
- package/esm/src/react/components/ui/navigation-menu.js +195 -0
- package/esm/src/react/components/ui/number-field.d.ts +46 -0
- package/esm/src/react/components/ui/number-field.d.ts.map +1 -0
- package/esm/src/react/components/ui/number-field.js +121 -0
- package/esm/src/react/components/ui/pagination.d.ts +77 -0
- package/esm/src/react/components/ui/pagination.d.ts.map +1 -0
- package/esm/src/react/components/ui/pagination.js +62 -0
- package/esm/src/react/components/ui/popover.d.ts +42 -13
- package/esm/src/react/components/ui/popover.d.ts.map +1 -1
- package/esm/src/react/components/ui/popover.js +25 -12
- package/esm/src/react/components/ui/scroll-area.d.ts +38 -0
- package/esm/src/react/components/ui/scroll-area.d.ts.map +1 -0
- package/esm/src/react/components/ui/scroll-area.js +35 -0
- package/esm/src/react/components/ui/separator.d.ts +20 -0
- package/esm/src/react/components/ui/separator.d.ts.map +1 -0
- package/esm/src/react/components/ui/separator.js +13 -0
- package/esm/src/react/components/ui/slider.d.ts +44 -0
- package/esm/src/react/components/ui/slider.d.ts.map +1 -0
- package/esm/src/react/components/ui/slider.js +46 -0
- package/esm/src/react/components/ui/status.d.ts +6 -5
- package/esm/src/react/components/ui/status.d.ts.map +1 -1
- package/esm/src/react/components/ui/status.js +4 -4
- package/esm/src/react/components/ui/tabs.d.ts +32 -9
- package/esm/src/react/components/ui/tabs.d.ts.map +1 -1
- package/esm/src/react/components/ui/tabs.js +46 -22
- package/esm/src/react/components/ui/toggle.d.ts +26 -0
- package/esm/src/react/components/ui/toggle.d.ts.map +1 -0
- package/esm/src/react/components/ui/toggle.js +29 -0
- package/esm/src/react/components/ui/use-isomorphic-layout-effect.d.ts +2 -1
- package/esm/src/react/components/ui/use-isomorphic-layout-effect.d.ts.map +1 -1
- package/esm/src/react/components/ui/use-isomorphic-layout-effect.js +6 -3
- package/esm/src/rendering/chunk-optimizer/source-imports.d.ts.map +1 -1
- package/esm/src/rendering/chunk-optimizer/source-imports.js +4 -114
- package/esm/src/rendering/orchestrator/css-candidate-manifest.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/css-candidate-manifest.js +30 -1
- package/esm/src/rendering/orchestrator/module-loader/build-failure.d.ts +10 -0
- package/esm/src/rendering/orchestrator/module-loader/build-failure.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/build-failure.js +50 -3
- package/esm/src/rendering/orchestrator/module-loader/dependency-resolver.d.ts +2 -0
- package/esm/src/rendering/orchestrator/module-loader/dependency-resolver.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/dependency-resolver.js +21 -6
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts +2 -1
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.js +190 -7
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.d.ts +4 -0
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.js +374 -7
- package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline.js +12 -1
- package/esm/src/runs/runs-client.d.ts +2 -4
- package/esm/src/runs/runs-client.d.ts.map +1 -1
- package/esm/src/runs/schemas.d.ts +18 -8
- package/esm/src/runs/schemas.d.ts.map +1 -1
- package/esm/src/runs/schemas.js +26 -0
- package/esm/src/runtime/model-call-context.d.ts +6 -1
- package/esm/src/runtime/model-call-context.d.ts.map +1 -1
- package/esm/src/runtime/runtime-bridge.d.ts.map +1 -1
- package/esm/src/runtime/runtime-bridge.js +133 -15
- package/esm/src/schedule/factory.d.ts +8 -2
- package/esm/src/schedule/factory.d.ts.map +1 -1
- package/esm/src/schedule/factory.js +0 -8
- package/esm/src/schedule/index.d.ts +10 -1
- package/esm/src/schedule/index.d.ts.map +1 -1
- package/esm/src/schedule/index.js +9 -0
- package/esm/src/schedule/types.d.ts +30 -11
- package/esm/src/schedule/types.d.ts.map +1 -1
- package/esm/src/schedule/validation.d.ts +17 -0
- package/esm/src/schedule/validation.d.ts.map +1 -1
- package/esm/src/schedule/validation.js +93 -5
- package/esm/src/security/sandbox/worker-pool.d.ts.map +1 -1
- package/esm/src/security/sandbox/worker-pool.js +6 -1
- package/esm/src/server/bootstrap.d.ts.map +1 -1
- package/esm/src/server/bootstrap.js +6 -0
- package/esm/src/server/dev-server/index.d.ts +1 -1
- package/esm/src/server/dev-server/index.d.ts.map +1 -1
- package/esm/src/server/dev-server/server.d.ts +7 -3
- package/esm/src/server/dev-server/server.d.ts.map +1 -1
- package/esm/src/server/dev-server/server.js +12 -3
- package/esm/src/server/dev-server/types.d.ts +7 -1
- package/esm/src/server/dev-server/types.d.ts.map +1 -1
- package/esm/src/server/dev-server.d.ts +1 -1
- package/esm/src/server/dev-server.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +2509 -34
- package/esm/src/server/handlers/dev/projects/index.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/projects/index.js +3 -0
- package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/agent-stream.handler.js +29 -24
- package/esm/src/server/index.d.ts +3 -3
- package/esm/src/server/index.d.ts.map +1 -1
- package/esm/src/server/index.js +10 -5
- package/esm/src/server/node-handler.d.ts.map +1 -1
- package/esm/src/server/node-handler.js +4 -1
- package/esm/src/server/production-server.d.ts.map +1 -1
- package/esm/src/server/production-server.js +2 -1
- package/esm/src/server/project-env/cache.d.ts +17 -0
- package/esm/src/server/project-env/cache.d.ts.map +1 -1
- package/esm/src/server/project-env/cache.js +78 -2
- package/esm/src/server/project-env/fetcher.d.ts.map +1 -1
- package/esm/src/server/project-env/fetcher.js +24 -14
- package/esm/src/server/project-env/index.d.ts +1 -1
- package/esm/src/server/project-env/index.d.ts.map +1 -1
- package/esm/src/server/project-env/index.js +1 -1
- package/esm/src/server/project-env/internal-authorization.d.ts +7 -0
- package/esm/src/server/project-env/internal-authorization.d.ts.map +1 -0
- package/esm/src/server/project-env/internal-authorization.js +32 -0
- package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/index.js +1 -1
- package/esm/src/server/runtime-handler/projects-handler.d.ts +1 -1
- package/esm/src/server/runtime-handler/projects-handler.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/projects-handler.js +4 -2
- package/esm/src/transforms/esm/http-bundler.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-bundler.js +6 -5
- package/esm/src/transforms/esm/http-cache-helpers.d.ts +11 -0
- package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-helpers.js +35 -0
- package/esm/src/transforms/esm/http-cache.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache.js +16 -10
- package/esm/src/transforms/esm/specifier-resolver.d.ts.map +1 -1
- package/esm/src/transforms/esm/specifier-resolver.js +87 -7
- package/esm/src/transforms/import-rewriter/strategies/alias-strategy.d.ts +2 -0
- package/esm/src/transforms/import-rewriter/strategies/alias-strategy.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/strategies/alias-strategy.js +11 -6
- package/esm/src/transforms/md/compiler/md-compiler.d.ts.map +1 -1
- package/esm/src/transforms/md/compiler/md-compiler.js +12 -5
- package/esm/src/transforms/mdx/compiler/frontmatter-extractor.d.ts +2 -0
- package/esm/src/transforms/mdx/compiler/frontmatter-extractor.d.ts.map +1 -1
- package/esm/src/transforms/mdx/compiler/frontmatter-extractor.js +33 -1
- package/esm/src/transforms/mdx/compiler/mdx-compiler.d.ts.map +1 -1
- package/esm/src/transforms/mdx/compiler/mdx-compiler.js +46 -7
- package/esm/src/transforms/mdx/esm-module-loader/cache/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/cache/index.js +8 -2
- package/esm/src/transforms/mdx/esm-module-loader/cache-format.d.ts +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/cache-format.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/cache-format.js +3 -0
- package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.d.ts +4 -0
- package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.js +44 -8
- package/esm/src/transforms/mdx/esm-module-loader/missing-module.d.ts +2 -0
- package/esm/src/transforms/mdx/esm-module-loader/missing-module.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/missing-module.js +4 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.js +5 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fetcher.d.ts +2 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fetcher.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fetcher.js +50 -11
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/nested-imports.d.ts +24 -12
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/nested-imports.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/nested-imports.js +201 -18
- package/esm/src/transforms/mdx/esm-module-loader/types.d.ts +5 -0
- package/esm/src/transforms/mdx/esm-module-loader/types.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/utils/source-spans.d.ts +22 -2
- package/esm/src/transforms/mdx/esm-module-loader/utils/source-spans.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/utils/source-spans.js +2080 -129
- package/esm/src/transforms/mdx/esm-module-loader/utils/stub-module.d.ts +11 -1
- package/esm/src/transforms/mdx/esm-module-loader/utils/stub-module.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/utils/stub-module.js +32 -15
- package/esm/src/transforms/pipeline/stages/compile.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/compile.js +44 -0
- package/esm/src/transforms/shared/specifier-suffix.d.ts +25 -0
- package/esm/src/transforms/shared/specifier-suffix.d.ts.map +1 -0
- package/esm/src/transforms/shared/specifier-suffix.js +43 -0
- package/esm/src/trigger/index.d.ts +2 -2
- package/esm/src/trigger/index.d.ts.map +1 -1
- package/esm/src/trigger/index.js +1 -1
- package/esm/src/trigger/local-runner.d.ts +2 -2
- package/esm/src/trigger/local-runner.d.ts.map +1 -1
- package/esm/src/trigger/local-runner.js +11 -4
- package/esm/src/trigger/target.d.ts +97 -5
- package/esm/src/trigger/target.d.ts.map +1 -1
- package/esm/src/trigger/target.js +175 -5
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/webhook/types.d.ts +21 -6
- package/esm/src/webhook/types.d.ts.map +1 -1
- package/esm/src/webhook/validation.d.ts.map +1 -1
- package/esm/src/webhook/validation.js +27 -39
- package/esm/templates/index.d.ts +1 -1
- package/esm/templates/index.d.ts.map +1 -1
- package/esm/templates/loader.d.ts +6 -6
- package/esm/templates/loader.d.ts.map +1 -1
- package/esm/templates/loader.js +34 -18
- package/esm/templates/manifest.generated.d.ts +3 -0
- package/esm/templates/manifest.generated.d.ts.map +1 -0
- package/esm/templates/manifest.generated.js +2 -0
- package/package.json +8 -8
- package/esm/templates/manifest.d.ts +0 -664
- package/esm/templates/manifest.d.ts.map +0 -1
- package/esm/templates/manifest.js +0 -662
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AlertDialog - a confirmation modal. Semantically a {@link Dialog} with
|
|
3
|
+
* `role="alertdialog"`, a REQUIRED title + description, and explicit
|
|
4
|
+
* Action / Cancel buttons. Unlike `Dialog` it does NOT dismiss on outside-click
|
|
5
|
+
* or `Escape`: the user must choose an option.
|
|
6
|
+
*
|
|
7
|
+
* It reuses the Dialog primitive's open-state context (`dialog.Root` /
|
|
8
|
+
* `dialog.Trigger` / `dialog.useDialog` resolved from the active adapter) so
|
|
9
|
+
* trigger + open state behave identically, but renders its own alert-specific
|
|
10
|
+
* overlay + panel - the panel carries `role="alertdialog"` and its
|
|
11
|
+
* `aria-labelledby` / `aria-describedby` are wired to the Title / Description
|
|
12
|
+
* ids, and neither the overlay nor a key listener dismisses it.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* import {
|
|
17
|
+
* AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent,
|
|
18
|
+
* AlertDialogDescription, AlertDialogFooter, AlertDialogTitle, AlertDialogTrigger,
|
|
19
|
+
* } from "veryfront/ui";
|
|
20
|
+
*
|
|
21
|
+
* <AlertDialog>
|
|
22
|
+
* <AlertDialogTrigger>Delete account</AlertDialogTrigger>
|
|
23
|
+
* <AlertDialogContent>
|
|
24
|
+
* <AlertDialogTitle>Delete account?</AlertDialogTitle>
|
|
25
|
+
* <AlertDialogDescription>This permanently removes your account.</AlertDialogDescription>
|
|
26
|
+
* <AlertDialogFooter>
|
|
27
|
+
* <AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
28
|
+
* <AlertDialogAction variant="destructive" onClick={remove}>Delete</AlertDialogAction>
|
|
29
|
+
* </AlertDialogFooter>
|
|
30
|
+
* </AlertDialogContent>
|
|
31
|
+
* </AlertDialog>;
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @module react/components/ui/alert-dialog
|
|
35
|
+
*/
|
|
36
|
+
import * as React from "react";
|
|
37
|
+
import { createPortal } from "react-dom";
|
|
38
|
+
import { cx as cn } from "./cva.js";
|
|
39
|
+
import { Button } from "./button.js";
|
|
40
|
+
import { useAdapter } from "./adapter/context.js";
|
|
41
|
+
import { getModalTokenScope, useModalContentEffect } from "./modal-surface.js";
|
|
42
|
+
import { composeRefs } from "./slot.js";
|
|
43
|
+
import { useIsomorphicLayoutEffect } from "./use-isomorphic-layout-effect.js";
|
|
44
|
+
const AlertDialogContext = React.createContext(null);
|
|
45
|
+
const AlertDialogRootContext = React.createContext(null);
|
|
46
|
+
function useAlertDialogRoot() {
|
|
47
|
+
const ctx = React.useContext(AlertDialogRootContext);
|
|
48
|
+
if (!ctx)
|
|
49
|
+
throw new Error("AlertDialog parts must be used within <AlertDialog>");
|
|
50
|
+
return ctx;
|
|
51
|
+
}
|
|
52
|
+
/** Read the Content-provided ids; throws when a labelled part is used outside `<AlertDialogContent>`. */
|
|
53
|
+
function useAlertDialogIds() {
|
|
54
|
+
const ctx = React.useContext(AlertDialogContext);
|
|
55
|
+
if (!ctx)
|
|
56
|
+
throw new Error("AlertDialog parts must be used within <AlertDialogContent>");
|
|
57
|
+
return ctx;
|
|
58
|
+
}
|
|
59
|
+
/** AlertDialog root - owns open state (shares the Dialog adapter slot). */
|
|
60
|
+
export function AlertDialog(props) {
|
|
61
|
+
const { dialog } = useAdapter();
|
|
62
|
+
const triggerRef = React.useRef(null);
|
|
63
|
+
const value = React.useMemo(() => ({ triggerRef }), []);
|
|
64
|
+
return (React.createElement(AlertDialogRootContext.Provider, { value: value },
|
|
65
|
+
React.createElement(dialog.Root, { ...props })));
|
|
66
|
+
}
|
|
67
|
+
/** Trigger - opens the alert dialog. `asChild` merges onto the child element. */
|
|
68
|
+
export function AlertDialogTrigger({ ref, ...props }) {
|
|
69
|
+
const { dialog } = useAdapter();
|
|
70
|
+
const ctx = useAlertDialogRoot();
|
|
71
|
+
const setTrigger = React.useCallback((node) => {
|
|
72
|
+
ctx.triggerRef.current = node;
|
|
73
|
+
return () => {
|
|
74
|
+
if (ctx.triggerRef.current === node)
|
|
75
|
+
ctx.triggerRef.current = null;
|
|
76
|
+
};
|
|
77
|
+
}, [ctx.triggerRef]);
|
|
78
|
+
const composedRef = React.useMemo(() => composeRefs(setTrigger, ref), [ref, setTrigger]);
|
|
79
|
+
return React.createElement(dialog.Trigger, { ...props, ref: composedRef });
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Alert surface - non-dismissing overlay + centered `role="alertdialog"` panel,
|
|
83
|
+
* rendered only while open. Generates the title / description ids, wires them to
|
|
84
|
+
* `aria-labelledby` / `aria-describedby`, traps focus, restores it on close,
|
|
85
|
+
* and portals outside clipping ancestors while retaining the token scope.
|
|
86
|
+
*/
|
|
87
|
+
export function AlertDialogContent({ className, children, id, ref, ...props }) {
|
|
88
|
+
const { dialog } = useAdapter();
|
|
89
|
+
const modal = dialog.useDialog();
|
|
90
|
+
const root = useAlertDialogRoot();
|
|
91
|
+
const defaultTitleId = React.useId();
|
|
92
|
+
const defaultDescriptionId = React.useId();
|
|
93
|
+
const [titleId, setTitleId] = React.useState(defaultTitleId);
|
|
94
|
+
const [descriptionId, setDescriptionId] = React.useState(defaultDescriptionId);
|
|
95
|
+
const panelRef = React.useRef(null);
|
|
96
|
+
const [portalReady, setPortalReady] = React.useState(false);
|
|
97
|
+
React.useEffect(() => setPortalReady(true), []);
|
|
98
|
+
const resolvedContentId = id ?? modal.defaultContentId;
|
|
99
|
+
useIsomorphicLayoutEffect(() => {
|
|
100
|
+
modal.setContentId(resolvedContentId);
|
|
101
|
+
return () => {
|
|
102
|
+
modal.setContentId((current) => current === resolvedContentId ? modal.defaultContentId : current);
|
|
103
|
+
};
|
|
104
|
+
}, [modal.defaultContentId, modal.setContentId, resolvedContentId]);
|
|
105
|
+
// Merge the internal panel ref (read by the focus effect) with any consumer
|
|
106
|
+
// ref via `composeRefs`, which tracks + runs ref cleanups for us.
|
|
107
|
+
const setNode = React.useMemo(() => composeRefs(panelRef, ref), [ref]);
|
|
108
|
+
useModalContentEffect(modal.open && portalReady, modal.setOpen, panelRef, root.triggerRef, false);
|
|
109
|
+
const ids = React.useMemo(() => ({
|
|
110
|
+
defaultTitleId,
|
|
111
|
+
defaultDescriptionId,
|
|
112
|
+
titleId,
|
|
113
|
+
descriptionId,
|
|
114
|
+
setTitleId,
|
|
115
|
+
setDescriptionId,
|
|
116
|
+
}), [
|
|
117
|
+
defaultTitleId,
|
|
118
|
+
defaultDescriptionId,
|
|
119
|
+
titleId,
|
|
120
|
+
descriptionId,
|
|
121
|
+
]);
|
|
122
|
+
if (!modal.open || !portalReady)
|
|
123
|
+
return null;
|
|
124
|
+
const trigger = root.triggerRef.current;
|
|
125
|
+
const document = trigger?.ownerDocument ?? globalThis.document;
|
|
126
|
+
if (!document?.body)
|
|
127
|
+
return null;
|
|
128
|
+
const container = getModalTokenScope(document, trigger);
|
|
129
|
+
return createPortal(React.createElement(AlertDialogContext.Provider, { value: ids },
|
|
130
|
+
React.createElement("div", { className: "fixed inset-0 z-50", "data-state": "open" },
|
|
131
|
+
React.createElement("div", { className: "fixed inset-0 bg-[var(--overlay)]", "data-state": "open" }),
|
|
132
|
+
React.createElement("div", { ref: setNode, id: resolvedContentId, role: "alertdialog", "aria-modal": "true", "aria-labelledby": titleId, "aria-describedby": descriptionId, "data-state": "open", tabIndex: -1, className: cn("fixed left-1/2 top-1/2 z-50 w-[calc(100%_-_3rem)] max-w-md -translate-x-1/2 -translate-y-1/2", "rounded-xl bg-[var(--dialog)] text-[var(--foreground)] shadow-lg outline-none", "flex flex-col gap-4 p-6", className), ...props }, children))), container);
|
|
133
|
+
}
|
|
134
|
+
/** Required accessible name - adopts the Content-generated `aria-labelledby` id. */
|
|
135
|
+
export function AlertDialogTitle({ className, id, ref, ...props }) {
|
|
136
|
+
const ids = useAlertDialogIds();
|
|
137
|
+
const resolvedId = id ?? ids.defaultTitleId;
|
|
138
|
+
useIsomorphicLayoutEffect(() => {
|
|
139
|
+
ids.setTitleId(resolvedId);
|
|
140
|
+
return () => {
|
|
141
|
+
ids.setTitleId((current) => current === resolvedId ? ids.defaultTitleId : current);
|
|
142
|
+
};
|
|
143
|
+
}, [ids.defaultTitleId, ids.setTitleId, resolvedId]);
|
|
144
|
+
return (React.createElement("h2", { ref: ref, ...props, id: resolvedId, className: cn("text-lg font-semibold text-[var(--foreground)]", className) }));
|
|
145
|
+
}
|
|
146
|
+
/** Required supporting copy - adopts the Content-generated `aria-describedby` id. */
|
|
147
|
+
export function AlertDialogDescription({ className, id, ref, ...props }) {
|
|
148
|
+
const ids = useAlertDialogIds();
|
|
149
|
+
const resolvedId = id ?? ids.defaultDescriptionId;
|
|
150
|
+
useIsomorphicLayoutEffect(() => {
|
|
151
|
+
ids.setDescriptionId(resolvedId);
|
|
152
|
+
return () => {
|
|
153
|
+
ids.setDescriptionId((current) => current === resolvedId ? ids.defaultDescriptionId : current);
|
|
154
|
+
};
|
|
155
|
+
}, [ids.defaultDescriptionId, ids.setDescriptionId, resolvedId]);
|
|
156
|
+
return (React.createElement("p", { ref: ref, ...props, id: resolvedId, className: cn("text-sm font-normal text-[var(--muted-foreground)]", className) }));
|
|
157
|
+
}
|
|
158
|
+
/** Right-aligned action row - Cancel first, then the Action. */
|
|
159
|
+
export function AlertDialogFooter({ className, ref, ...props }) {
|
|
160
|
+
return (React.createElement("div", { ref: ref, "data-slot": "footer", className: cn("mt-2 flex justify-end gap-3", className), ...props }));
|
|
161
|
+
}
|
|
162
|
+
/** Confirming action - runs `onClick`, then closes unless it calls `preventDefault()`. */
|
|
163
|
+
export function AlertDialogAction({ variant = "primary", size = "default", type = "button", onClick, ...props }) {
|
|
164
|
+
const { dialog } = useAdapter();
|
|
165
|
+
const ctx = dialog.useDialog();
|
|
166
|
+
return (React.createElement(Button, { type: type, variant: variant, size: size, onClick: (e) => {
|
|
167
|
+
onClick?.(e);
|
|
168
|
+
if (!e.defaultPrevented)
|
|
169
|
+
ctx.setOpen(false);
|
|
170
|
+
}, ...props }));
|
|
171
|
+
}
|
|
172
|
+
/** Dismissing action - runs `onClick`, then closes unless it calls `preventDefault()`. */
|
|
173
|
+
export function AlertDialogCancel({ variant = "secondary", size = "default", type = "button", onClick, ...props }) {
|
|
174
|
+
const { dialog } = useAdapter();
|
|
175
|
+
const ctx = dialog.useDialog();
|
|
176
|
+
return (React.createElement(Button, { type: type, variant: variant, size: size, onClick: (e) => {
|
|
177
|
+
onClick?.(e);
|
|
178
|
+
if (!e.defaultPrevented)
|
|
179
|
+
ctx.setOpen(false);
|
|
180
|
+
}, ...props }));
|
|
181
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AspectRatio - constrains its content to a fixed width/height ratio. Pure-visual
|
|
3
|
+
* CSS primitive (no engine needed): sets the `aspect-ratio` on a single node and
|
|
4
|
+
* lets the child fill it. Handy for media, embeds, and skeleton placeholders.
|
|
5
|
+
*
|
|
6
|
+
* @module react/components/ui/aspect-ratio
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
/** Props accepted by `<AspectRatio>`. */
|
|
10
|
+
export interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
11
|
+
/** Width ÷ height (e.g. `16 / 9`, `1`, `4 / 3`). @default 1 */
|
|
12
|
+
ratio?: number;
|
|
13
|
+
/** React 19: ref is a regular prop. */
|
|
14
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
15
|
+
}
|
|
16
|
+
/** Constrain content to a fixed aspect ratio. */
|
|
17
|
+
export declare function AspectRatio({ className, ratio, style, ref, ...props }: AspectRatioProps): React.ReactElement;
|
|
18
|
+
//# sourceMappingURL=aspect-ratio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-ratio.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/aspect-ratio.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,yCAAyC;AACzC,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAUvC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AspectRatio - constrains its content to a fixed width/height ratio. Pure-visual
|
|
3
|
+
* CSS primitive (no engine needed): sets the `aspect-ratio` on a single node and
|
|
4
|
+
* lets the child fill it. Handy for media, embeds, and skeleton placeholders.
|
|
5
|
+
*
|
|
6
|
+
* @module react/components/ui/aspect-ratio
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { cx as cn } from "./cva.js";
|
|
10
|
+
/** Constrain content to a fixed aspect ratio. */
|
|
11
|
+
export function AspectRatio({ className, ratio = 1, style, ref, ...props }) {
|
|
12
|
+
return (React.createElement("div", { ref: ref, "data-orientation": ratio >= 1 ? "landscape" : "portrait", className: cn("relative w-full overflow-hidden", className), style: { aspectRatio: String(ratio), ...style }, ...props }));
|
|
13
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autocomplete - a free-text input with a suggestions dropdown. Unlike
|
|
3
|
+
* {@link Combobox} (where the value must be one of the listed options), the
|
|
4
|
+
* value here is *whatever the user types*; suggestions are optional completions
|
|
5
|
+
* that fill the input when chosen. It reuses the zero-dependency `combobox`
|
|
6
|
+
* adapter for its mechanics (filtering, `aria-activedescendant` keyboard nav,
|
|
7
|
+
* open/dismiss, token-scope portalling) - swap it via `UIAdapterProvider` like
|
|
8
|
+
* any other primitive.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { Autocomplete, AutocompleteContent, AutocompleteInput, AutocompleteItem } from "veryfront/ui";
|
|
13
|
+
*
|
|
14
|
+
* <Autocomplete onValueChange={setQuery}>
|
|
15
|
+
* <AutocompleteInput placeholder="Search cities…" />
|
|
16
|
+
* <AutocompleteContent>
|
|
17
|
+
* {suggestions.map((s) => <AutocompleteItem key={s} value={s} />)}
|
|
18
|
+
* </AutocompleteContent>
|
|
19
|
+
* </Autocomplete>;
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @module react/components/ui/autocomplete
|
|
23
|
+
*/
|
|
24
|
+
import * as React from "react";
|
|
25
|
+
/** Props accepted by `<Autocomplete>` (the root; owns the input text + open state). */
|
|
26
|
+
export interface AutocompleteProps {
|
|
27
|
+
/** `AutocompleteInput` + `AutocompleteContent` parts to compose. */
|
|
28
|
+
children: React.ReactNode;
|
|
29
|
+
/** Initial input text when uncontrolled. */
|
|
30
|
+
defaultValue?: string;
|
|
31
|
+
/** Fires with the current text on every change - typing OR choosing a suggestion. */
|
|
32
|
+
onValueChange?: (value: string) => void;
|
|
33
|
+
/** Controlled open state of the suggestions list (pair with `onOpenChange`). */
|
|
34
|
+
open?: boolean;
|
|
35
|
+
/** Initial open state when uncontrolled. */
|
|
36
|
+
defaultOpen?: boolean;
|
|
37
|
+
/** Fires when the suggestions list opens or closes. */
|
|
38
|
+
onOpenChange?: (open: boolean) => void;
|
|
39
|
+
}
|
|
40
|
+
/** Autocomplete root - renders no node of its own (state + context only). */
|
|
41
|
+
export declare function Autocomplete({ children, defaultValue, onValueChange, open, defaultOpen, onOpenChange, }: AutocompleteProps): React.ReactElement;
|
|
42
|
+
/** Props accepted by `<AutocompleteInput>`. */
|
|
43
|
+
export interface AutocompleteInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
44
|
+
/** React 19: ref is a regular prop. */
|
|
45
|
+
ref?: React.Ref<HTMLInputElement>;
|
|
46
|
+
}
|
|
47
|
+
/** The free-text input that drives the suggestions. */
|
|
48
|
+
export declare function AutocompleteInput({ className, ...props }: AutocompleteInputProps): React.ReactElement;
|
|
49
|
+
/** Props accepted by `<AutocompleteContent>`. */
|
|
50
|
+
export interface AutocompleteContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
51
|
+
/** React 19: ref is a regular prop. */
|
|
52
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
53
|
+
}
|
|
54
|
+
/** The floating `role="listbox"` of suggestions, shown while typing. */
|
|
55
|
+
export declare function AutocompleteContent({ className, children, ...props }: AutocompleteContentProps): React.ReactElement | null;
|
|
56
|
+
/** Props accepted by `<AutocompleteItem>`. */
|
|
57
|
+
export interface AutocompleteItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
58
|
+
/** The suggestion text - filled into the input when chosen, and used for filtering. */
|
|
59
|
+
value: string;
|
|
60
|
+
/** Disable this suggestion and dim it. */
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
/** React 19: ref is a regular prop. */
|
|
63
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
64
|
+
}
|
|
65
|
+
/** A single suggestion. Fills the input when chosen; hides when it doesn't match. */
|
|
66
|
+
export declare function AutocompleteItem({ value, disabled, className, children, onClick, ref, ...props }: AutocompleteItemProps): React.ReactElement | null;
|
|
67
|
+
//# sourceMappingURL=autocomplete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/autocomplete.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gFAAgF;IAChF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,WAAW,EACX,YAAY,GACb,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAaxC;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IACzF,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACnC;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAC/B,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,GAC9C,KAAK,CAAC,YAAY,CAcpB;AAED,iDAAiD;AACjD,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACpF,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CACjC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,GAC1D,KAAK,CAAC,YAAY,GAAG,IAAI,CAc3B;AAED,8CAA8C;AAC9C,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC9D,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,GAAG,EACH,GAAG,KAAK,EACT,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAsCnD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autocomplete - a free-text input with a suggestions dropdown. Unlike
|
|
3
|
+
* {@link Combobox} (where the value must be one of the listed options), the
|
|
4
|
+
* value here is *whatever the user types*; suggestions are optional completions
|
|
5
|
+
* that fill the input when chosen. It reuses the zero-dependency `combobox`
|
|
6
|
+
* adapter for its mechanics (filtering, `aria-activedescendant` keyboard nav,
|
|
7
|
+
* open/dismiss, token-scope portalling) - swap it via `UIAdapterProvider` like
|
|
8
|
+
* any other primitive.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { Autocomplete, AutocompleteContent, AutocompleteInput, AutocompleteItem } from "veryfront/ui";
|
|
13
|
+
*
|
|
14
|
+
* <Autocomplete onValueChange={setQuery}>
|
|
15
|
+
* <AutocompleteInput placeholder="Search cities…" />
|
|
16
|
+
* <AutocompleteContent>
|
|
17
|
+
* {suggestions.map((s) => <AutocompleteItem key={s} value={s} />)}
|
|
18
|
+
* </AutocompleteContent>
|
|
19
|
+
* </Autocomplete>;
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @module react/components/ui/autocomplete
|
|
23
|
+
*/
|
|
24
|
+
import * as React from "react";
|
|
25
|
+
import { cx as cn } from "./cva.js";
|
|
26
|
+
import { useAdapter } from "./adapter/context.js";
|
|
27
|
+
/** Autocomplete root - renders no node of its own (state + context only). */
|
|
28
|
+
export function Autocomplete({ children, defaultValue, onValueChange, open, defaultOpen, onOpenChange, }) {
|
|
29
|
+
const { combobox } = useAdapter();
|
|
30
|
+
return (React.createElement(combobox.Root, { defaultInputValue: defaultValue, onInputValueChange: onValueChange, open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange }, children));
|
|
31
|
+
}
|
|
32
|
+
/** The free-text input that drives the suggestions. */
|
|
33
|
+
export function AutocompleteInput({ className, ...props }) {
|
|
34
|
+
const { combobox } = useAdapter();
|
|
35
|
+
return (React.createElement(combobox.Input, { className: cn("h-[38px] w-full rounded-md px-3 text-base", "bg-[var(--input-bg)] text-[var(--foreground)] border border-[var(--outline-border)]", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--edge-medium)]", "disabled:cursor-not-allowed disabled:opacity-50", className), ...props }));
|
|
36
|
+
}
|
|
37
|
+
/** The floating `role="listbox"` of suggestions, shown while typing. */
|
|
38
|
+
export function AutocompleteContent({ className, children, ...props }) {
|
|
39
|
+
const { combobox } = useAdapter();
|
|
40
|
+
return (React.createElement(combobox.Content, { className: cn("z-50 max-h-64 min-w-[220px] overflow-auto rounded-lg", "bg-[var(--popover)] text-[var(--foreground)] shadow-sm outline-none", className), ...props }, children));
|
|
41
|
+
}
|
|
42
|
+
/** A single suggestion. Fills the input when chosen; hides when it doesn't match. */
|
|
43
|
+
export function AutocompleteItem({ value, disabled, className, children, onClick, ref, ...props }) {
|
|
44
|
+
const { combobox } = useAdapter();
|
|
45
|
+
const ctx = combobox.useCombobox();
|
|
46
|
+
const id = React.useId();
|
|
47
|
+
React.useEffect(() => {
|
|
48
|
+
ctx.registerOption(id, value, value, disabled);
|
|
49
|
+
return () => ctx.unregisterOption(id);
|
|
50
|
+
}, [ctx, disabled, id, value]);
|
|
51
|
+
if (!ctx.matches(value))
|
|
52
|
+
return null;
|
|
53
|
+
const active = ctx.activeId === id;
|
|
54
|
+
return (React.createElement("div", { ref: ref, id: id, role: "option", "aria-selected": false, "aria-disabled": disabled || undefined, "data-active": active ? "" : undefined, "data-disabled": disabled ? "" : undefined, onClick: (event) => {
|
|
55
|
+
onClick?.(event);
|
|
56
|
+
if (!event.defaultPrevented && !disabled)
|
|
57
|
+
ctx.select(value, value);
|
|
58
|
+
}, className: cn("flex cursor-pointer items-center rounded-md px-2.5 py-1.5 text-base", "data-[active]:bg-[var(--accent)]", "data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className), ...props }, children ?? value));
|
|
59
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Breadcrumb: a non-interactive navigation trail showing the current page's
|
|
3
|
+
* location within a hierarchy. Pure-structure primitive (no engine needed): a
|
|
4
|
+
* labelled `<nav>` wrapping an ordered `<BreadcrumbList>` of `<BreadcrumbItem>`s,
|
|
5
|
+
* with `<BreadcrumbLink>`s for ancestors, a single `<BreadcrumbPage>` for the
|
|
6
|
+
* current page (`aria-current="page"`), decorative `<BreadcrumbSeparator>`s
|
|
7
|
+
* between them, and an optional `<BreadcrumbEllipsis>` to collapse a long trail.
|
|
8
|
+
* Skinned with the veryfront theme tokens.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import {
|
|
13
|
+
* Breadcrumb,
|
|
14
|
+
* BreadcrumbList,
|
|
15
|
+
* BreadcrumbItem,
|
|
16
|
+
* BreadcrumbLink,
|
|
17
|
+
* BreadcrumbSeparator,
|
|
18
|
+
* BreadcrumbPage,
|
|
19
|
+
* } from "veryfront/ui";
|
|
20
|
+
*
|
|
21
|
+
* <Breadcrumb>
|
|
22
|
+
* <BreadcrumbList>
|
|
23
|
+
* <BreadcrumbItem>
|
|
24
|
+
* <BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
25
|
+
* </BreadcrumbItem>
|
|
26
|
+
* <BreadcrumbSeparator />
|
|
27
|
+
* <BreadcrumbItem>
|
|
28
|
+
* <BreadcrumbPage>Settings</BreadcrumbPage>
|
|
29
|
+
* </BreadcrumbItem>
|
|
30
|
+
* </BreadcrumbList>
|
|
31
|
+
* </Breadcrumb>;
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @module react/components/ui/breadcrumb
|
|
35
|
+
*/
|
|
36
|
+
import * as React from "react";
|
|
37
|
+
/** Props accepted by `<Breadcrumb>`. */
|
|
38
|
+
export interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
|
|
39
|
+
/** React 19: ref is a regular prop. */
|
|
40
|
+
ref?: React.Ref<HTMLElement>;
|
|
41
|
+
}
|
|
42
|
+
/** The landmark `<nav aria-label="Breadcrumb">` wrapping the trail. */
|
|
43
|
+
export declare function Breadcrumb({ className, children, ref, ...props }: BreadcrumbProps): React.ReactElement;
|
|
44
|
+
/** Props accepted by `<BreadcrumbList>`. */
|
|
45
|
+
export interface BreadcrumbListProps extends React.OlHTMLAttributes<HTMLOListElement> {
|
|
46
|
+
/** React 19: ref is a regular prop. */
|
|
47
|
+
ref?: React.Ref<HTMLOListElement>;
|
|
48
|
+
}
|
|
49
|
+
/** The ordered list of trail items. */
|
|
50
|
+
export declare function BreadcrumbList({ className, children, ref, ...props }: BreadcrumbListProps): React.ReactElement;
|
|
51
|
+
/** Props accepted by `<BreadcrumbItem>`. */
|
|
52
|
+
export interface BreadcrumbItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
53
|
+
/** React 19: ref is a regular prop. */
|
|
54
|
+
ref?: React.Ref<HTMLLIElement>;
|
|
55
|
+
}
|
|
56
|
+
/** A single item in the trail: wraps a link, the current page, or an ellipsis. */
|
|
57
|
+
export declare function BreadcrumbItem({ className, children, ref, ...props }: BreadcrumbItemProps): React.ReactElement;
|
|
58
|
+
/** Props accepted by `<BreadcrumbLink>`. */
|
|
59
|
+
export interface BreadcrumbLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
60
|
+
/** React 19: ref is a regular prop. */
|
|
61
|
+
ref?: React.Ref<HTMLAnchorElement>;
|
|
62
|
+
}
|
|
63
|
+
/** A navigable ancestor link in the trail. */
|
|
64
|
+
export declare function BreadcrumbLink({ className, children, ref, ...props }: BreadcrumbLinkProps): React.ReactElement;
|
|
65
|
+
/** Props accepted by `<BreadcrumbPage>`. */
|
|
66
|
+
export interface BreadcrumbPageProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
67
|
+
/** React 19: ref is a regular prop. */
|
|
68
|
+
ref?: React.Ref<HTMLSpanElement>;
|
|
69
|
+
}
|
|
70
|
+
/** The current page: a non-interactive `role="link"` marked `aria-current="page"`. */
|
|
71
|
+
export declare function BreadcrumbPage({ className, children, ref, ...props }: BreadcrumbPageProps): React.ReactElement;
|
|
72
|
+
/** Props accepted by `<BreadcrumbSeparator>`. */
|
|
73
|
+
export interface BreadcrumbSeparatorProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
74
|
+
/** React 19: ref is a regular prop. */
|
|
75
|
+
ref?: React.Ref<HTMLLIElement>;
|
|
76
|
+
}
|
|
77
|
+
/** A decorative divider between items; renders its children or a default `/`. */
|
|
78
|
+
export declare function BreadcrumbSeparator({ className, children, ref, ...props }: BreadcrumbSeparatorProps): React.ReactElement;
|
|
79
|
+
/** Props accepted by `<BreadcrumbEllipsis>`. */
|
|
80
|
+
export interface BreadcrumbEllipsisProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
81
|
+
/** React 19: ref is a regular prop. */
|
|
82
|
+
ref?: React.Ref<HTMLSpanElement>;
|
|
83
|
+
}
|
|
84
|
+
/** A collapsed-trail indicator: renders `…` with an sr-only "More" label. */
|
|
85
|
+
export declare function BreadcrumbEllipsis({ className, ref, ...props }: BreadcrumbEllipsisProps): React.ReactElement;
|
|
86
|
+
//# sourceMappingURL=breadcrumb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/breadcrumb.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,wCAAwC;AACxC,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACxE,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAYtC;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;IACnF,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACnC;AAED,uCAAuC;AACvC,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAc1C;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC;IAChF,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAChC;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAW1C;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACxF,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;CACpC;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAW1C;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAChF,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAClC;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAc1C;AAED,iDAAiD;AACjD,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC;IACrF,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAChC;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAa/C;AAED,gDAAgD;AAChD,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACpF,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CAClC;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,GAAG,EACH,GAAG,KAAK,EACT,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAiB9C"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Breadcrumb: a non-interactive navigation trail showing the current page's
|
|
3
|
+
* location within a hierarchy. Pure-structure primitive (no engine needed): a
|
|
4
|
+
* labelled `<nav>` wrapping an ordered `<BreadcrumbList>` of `<BreadcrumbItem>`s,
|
|
5
|
+
* with `<BreadcrumbLink>`s for ancestors, a single `<BreadcrumbPage>` for the
|
|
6
|
+
* current page (`aria-current="page"`), decorative `<BreadcrumbSeparator>`s
|
|
7
|
+
* between them, and an optional `<BreadcrumbEllipsis>` to collapse a long trail.
|
|
8
|
+
* Skinned with the veryfront theme tokens.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import {
|
|
13
|
+
* Breadcrumb,
|
|
14
|
+
* BreadcrumbList,
|
|
15
|
+
* BreadcrumbItem,
|
|
16
|
+
* BreadcrumbLink,
|
|
17
|
+
* BreadcrumbSeparator,
|
|
18
|
+
* BreadcrumbPage,
|
|
19
|
+
* } from "veryfront/ui";
|
|
20
|
+
*
|
|
21
|
+
* <Breadcrumb>
|
|
22
|
+
* <BreadcrumbList>
|
|
23
|
+
* <BreadcrumbItem>
|
|
24
|
+
* <BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
25
|
+
* </BreadcrumbItem>
|
|
26
|
+
* <BreadcrumbSeparator />
|
|
27
|
+
* <BreadcrumbItem>
|
|
28
|
+
* <BreadcrumbPage>Settings</BreadcrumbPage>
|
|
29
|
+
* </BreadcrumbItem>
|
|
30
|
+
* </BreadcrumbList>
|
|
31
|
+
* </Breadcrumb>;
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @module react/components/ui/breadcrumb
|
|
35
|
+
*/
|
|
36
|
+
import * as React from "react";
|
|
37
|
+
import { cx as cn } from "./cva.js";
|
|
38
|
+
/** The landmark `<nav aria-label="Breadcrumb">` wrapping the trail. */
|
|
39
|
+
export function Breadcrumb({ className, children, ref, ...props }) {
|
|
40
|
+
return (React.createElement("nav", { ref: ref, "aria-label": "Breadcrumb", "data-slot": "breadcrumb", className: className, ...props }, children));
|
|
41
|
+
}
|
|
42
|
+
/** The ordered list of trail items. */
|
|
43
|
+
export function BreadcrumbList({ className, children, ref, ...props }) {
|
|
44
|
+
return (React.createElement("ol", { ref: ref, "data-slot": "breadcrumb-list", className: cn("flex flex-wrap items-center gap-1.5 break-words text-sm text-[var(--muted-foreground)] sm:gap-2.5", className), ...props }, children));
|
|
45
|
+
}
|
|
46
|
+
/** A single item in the trail: wraps a link, the current page, or an ellipsis. */
|
|
47
|
+
export function BreadcrumbItem({ className, children, ref, ...props }) {
|
|
48
|
+
return (React.createElement("li", { ref: ref, "data-slot": "breadcrumb-item", className: cn("inline-flex items-center gap-1.5", className), ...props }, children));
|
|
49
|
+
}
|
|
50
|
+
/** A navigable ancestor link in the trail. */
|
|
51
|
+
export function BreadcrumbLink({ className, children, ref, ...props }) {
|
|
52
|
+
return (React.createElement("a", { ref: ref, "data-slot": "breadcrumb-link", className: cn("transition-colors hover:text-[var(--foreground)]", className), ...props }, children));
|
|
53
|
+
}
|
|
54
|
+
/** The current page: a non-interactive `role="link"` marked `aria-current="page"`. */
|
|
55
|
+
export function BreadcrumbPage({ className, children, ref, ...props }) {
|
|
56
|
+
return (React.createElement("span", { ref: ref, role: "link", "aria-disabled": "true", "aria-current": "page", "data-slot": "breadcrumb-page", className: cn("font-normal text-[var(--foreground)]", className), ...props }, children));
|
|
57
|
+
}
|
|
58
|
+
/** A decorative divider between items; renders its children or a default `/`. */
|
|
59
|
+
export function BreadcrumbSeparator({ className, children, ref, ...props }) {
|
|
60
|
+
return (React.createElement("li", { ref: ref, role: "presentation", "aria-hidden": "true", "data-slot": "breadcrumb-separator", className: cn("[&>svg]:size-3.5", className), ...props }, children ?? "/"));
|
|
61
|
+
}
|
|
62
|
+
/** A collapsed-trail indicator: renders `…` with an sr-only "More" label. */
|
|
63
|
+
export function BreadcrumbEllipsis({ className, ref, ...props }) {
|
|
64
|
+
return (React.createElement("span", { ref: ref, role: "presentation", "data-slot": "breadcrumb-ellipsis", className: cn("flex size-9 items-center justify-center", className), ...props },
|
|
65
|
+
React.createElement("span", { "aria-hidden": "true" }, "\u2026"),
|
|
66
|
+
React.createElement("span", { className: "sr-only" }, "More")));
|
|
67
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calendar: a dependency-free single-month date grid. Renders a header row
|
|
3
|
+
* (previous-month button, "Month YYYY" caption, and next-month button), a
|
|
4
|
+
* weekday header, and a `role="grid"` table of days. One day participates in
|
|
5
|
+
* the tab order. Arrow keys move by day or week, Home and End move to week
|
|
6
|
+
* boundaries, and Page Up and Page Down move by month. The selected day is
|
|
7
|
+
* controlled via `value`; selecting a day fires `onChange`. The displayed month
|
|
8
|
+
* is tracked internally (seeded from `defaultMonth ?? value ?? today`) and moved
|
|
9
|
+
* by the previous and next buttons. Self-contained: no `react-day-picker`, no
|
|
10
|
+
* floating engine; skinned with the veryfront theme tokens.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* import { Calendar } from "veryfront/ui";
|
|
15
|
+
*
|
|
16
|
+
* function Example() {
|
|
17
|
+
* const [day, setDay] = React.useState<Date>();
|
|
18
|
+
* return <Calendar value={day} onChange={setDay} />;
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @module react/components/ui/calendar
|
|
23
|
+
*/
|
|
24
|
+
import * as React from "react";
|
|
25
|
+
/** Props accepted by `<Calendar>`. */
|
|
26
|
+
export interface CalendarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
27
|
+
/** The selected day (controlled). @default undefined */
|
|
28
|
+
value?: Date;
|
|
29
|
+
/** Fires with the selected day. @default undefined */
|
|
30
|
+
onChange?: (date: Date) => void;
|
|
31
|
+
/** Month shown initially; the displayed month is tracked internally and moved by the prev/next buttons. @default value ?? today */
|
|
32
|
+
defaultMonth?: Date;
|
|
33
|
+
/** First day of the week: `0` = Sunday, `1` = Monday. @default 0 */
|
|
34
|
+
weekStartsOn?: 0 | 1;
|
|
35
|
+
/** React 19: ref is a regular prop. */
|
|
36
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
37
|
+
}
|
|
38
|
+
/** A dependency-free single-month date grid. */
|
|
39
|
+
export declare function Calendar({ value, onChange, defaultMonth, weekStartsOn, className, ref, ...props }: CalendarProps): React.ReactElement;
|
|
40
|
+
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/calendar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2D/B,sCAAsC;AACtC,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC3F,wDAAwD;IACxD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,mIAAmI;IACnI,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACrB,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAgB,EAChB,SAAS,EACT,GAAG,EACH,GAAG,KAAK,EACT,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CA0KpC"}
|