veryfront 0.1.1122 → 0.1.1124
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/deno.js +1 -1
- package/esm/extensions/ext-llm-openai/src/openai-responses-request-builder.d.ts.map +1 -1
- package/esm/extensions/ext-llm-openai/src/openai-responses-request-builder.js +5 -0
- package/esm/src/agent/hosted/child-lifecycle.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-lifecycle.js +1 -12
- package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts +38 -0
- package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-chat-execution.js +349 -0
- package/esm/src/agent/hosted/cloud-agent-child-tools.d.ts +80 -0
- package/esm/src/agent/hosted/cloud-agent-child-tools.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-child-tools.js +280 -0
- package/esm/src/agent/hosted/cloud-agent-config.d.ts +69 -0
- package/esm/src/agent/hosted/cloud-agent-config.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-config.js +129 -0
- package/esm/src/agent/hosted/cloud-agent-paths.d.ts +42 -0
- package/esm/src/agent/hosted/cloud-agent-paths.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-paths.js +117 -0
- package/esm/src/agent/hosted/cloud-agent-provider-bootstrap.d.ts +49 -0
- package/esm/src/agent/hosted/cloud-agent-provider-bootstrap.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-provider-bootstrap.js +96 -0
- package/esm/src/agent/hosted/durable-child-fork-execution.d.ts.map +1 -1
- package/esm/src/agent/hosted/durable-child-fork-execution.js +1 -12
- package/esm/src/agent/hosted/runtime-request-config.js +2 -2
- package/esm/src/agent/hosted/stream-finalization.d.ts.map +1 -1
- package/esm/src/agent/hosted/stream-finalization.js +2 -26
- package/esm/src/agent/hosted/veryfront-cloud-agent-service.d.ts +11 -93
- package/esm/src/agent/hosted/veryfront-cloud-agent-service.d.ts.map +1 -1
- package/esm/src/agent/hosted/veryfront-cloud-agent-service.js +8 -901
- package/esm/src/agent/project/agent-runtime.d.ts.map +1 -1
- package/esm/src/agent/project/agent-runtime.js +3 -0
- package/esm/src/agent/runtime/chat-stream-handler.d.ts.map +1 -1
- package/esm/src/agent/runtime/chat-stream-handler.js +1 -28
- package/esm/src/agent/streaming/stream-outcome.d.ts +30 -0
- package/esm/src/agent/streaming/stream-outcome.d.ts.map +1 -0
- package/esm/src/agent/streaming/stream-outcome.js +62 -0
- package/esm/src/agent/types.d.ts +3 -0
- package/esm/src/agent/types.d.ts.map +1 -1
- package/esm/src/chat/message-prep.d.ts.map +1 -1
- package/esm/src/chat/message-prep.js +3 -6
- package/esm/src/chat/provider-errors.d.ts +3 -10
- package/esm/src/chat/provider-errors.d.ts.map +1 -1
- package/esm/src/chat/provider-errors.js +2 -9
- package/esm/src/embedding/veryfront-cloud/rag-store.d.ts.map +1 -1
- package/esm/src/embedding/veryfront-cloud/rag-store.js +5 -2
- package/esm/src/eval/studio.d.ts +1 -1
- package/esm/src/html/styles-builder/plugin-loader.d.ts.map +1 -1
- package/esm/src/html/styles-builder/plugin-loader.js +4 -2
- package/esm/src/modules/server/classify.d.ts +54 -0
- package/esm/src/modules/server/classify.d.ts.map +1 -0
- package/esm/src/modules/server/classify.js +50 -0
- package/esm/src/modules/server/fs-probe.d.ts +14 -0
- package/esm/src/modules/server/fs-probe.d.ts.map +1 -0
- package/esm/src/modules/server/fs-probe.js +17 -0
- package/esm/src/modules/server/module-batch-handler.d.ts.map +1 -1
- package/esm/src/modules/server/module-batch-handler.js +31 -45
- package/esm/src/modules/server/module-server.d.ts.map +1 -1
- package/esm/src/modules/server/module-server.js +77 -93
- package/esm/src/modules/server/module-transform.d.ts +73 -0
- package/esm/src/modules/server/module-transform.d.ts.map +1 -0
- package/esm/src/modules/server/module-transform.js +64 -0
- package/esm/src/modules/server/ssr-import-rewriter.d.ts +1 -1
- package/esm/src/modules/server/ssr-import-rewriter.d.ts.map +1 -1
- package/esm/src/observability/error-collector.d.ts.map +1 -1
- package/esm/src/observability/error-collector.js +4 -11
- package/esm/src/observability/log-buffer.d.ts.map +1 -1
- package/esm/src/observability/log-buffer.js +4 -11
- package/esm/src/observability/request-profiler.d.ts +4 -0
- package/esm/src/observability/request-profiler.d.ts.map +1 -1
- package/esm/src/observability/request-profiler.js +9 -4
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts +3 -3
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.js +4 -4
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts +4 -15
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.js +6 -110
- package/esm/src/platform/adapters/veryfront-api-transport.d.ts +40 -0
- package/esm/src/platform/adapters/veryfront-api-transport.d.ts.map +1 -0
- package/esm/src/platform/adapters/veryfront-api-transport.js +142 -0
- package/esm/src/provider/runtime-loader/provider-http.d.ts.map +1 -1
- package/esm/src/provider/runtime-loader/provider-http.js +5 -1
- package/esm/src/proxy/server-timing.d.ts.map +1 -1
- package/esm/src/proxy/server-timing.js +2 -14
- package/esm/src/react/components/chat/agent-card.d.ts +2 -3
- package/esm/src/react/components/chat/agent-card.d.ts.map +1 -1
- package/esm/src/react/components/chat/agent-card.js +3 -12
- package/esm/src/react/components/chat/agent-picker-context.d.ts +2 -3
- package/esm/src/react/components/chat/agent-picker-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/agent-picker-context.js +3 -13
- package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts +2 -6
- package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/attachment-pill.js +3 -15
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts +2 -12
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/attachments-panel.js +3 -21
- package/esm/src/react/components/chat/chat/components/branch-picker.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/branch-picker.js +2 -11
- package/esm/src/react/components/chat/chat/components/inline-citation.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/inline-citation.js +2 -11
- package/esm/src/react/components/chat/chat/components/message-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-actions.js +2 -11
- package/esm/src/react/components/chat/chat/components/message-feedback.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-feedback.js +2 -11
- package/esm/src/react/components/chat/chat/components/reasoning.d.ts +2 -3
- package/esm/src/react/components/chat/chat/components/reasoning.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/reasoning.js +3 -12
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts +2 -3
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sidebar.js +4 -22
- package/esm/src/react/components/chat/chat/components/sources.d.ts +2 -3
- package/esm/src/react/components/chat/chat/components/sources.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sources.js +3 -12
- package/esm/src/react/components/chat/chat/components/step-indicator.d.ts +2 -6
- package/esm/src/react/components/chat/chat/components/step-indicator.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/step-indicator.js +3 -15
- package/esm/src/react/components/chat/chat/components/tool-ui.d.ts +2 -3
- package/esm/src/react/components/chat/chat/components/tool-ui.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/tool-ui.js +3 -12
- package/esm/src/react/components/chat/chat/composition/chat-message-list.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-message-list.js +2 -11
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/chat-context.js +3 -12
- package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/composer-context.js +3 -12
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/conversations-context.js +3 -12
- package/esm/src/react/components/chat/chat/contexts/message-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/message-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/message-context.js +3 -12
- package/esm/src/react/components/chat/chat-actions.d.ts +2 -6
- package/esm/src/react/components/chat/chat-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat-actions.js +3 -15
- package/esm/src/react/components/chat/model-selector.d.ts +2 -6
- package/esm/src/react/components/chat/model-selector.d.ts.map +1 -1
- package/esm/src/react/components/chat/model-selector.js +3 -15
- package/esm/src/react/components/create-strict-context.d.ts +44 -0
- package/esm/src/react/components/create-strict-context.d.ts.map +1 -0
- package/esm/src/react/components/create-strict-context.js +56 -0
- package/esm/src/react/components/ui/anchored-surface.d.ts +44 -0
- package/esm/src/react/components/ui/anchored-surface.d.ts.map +1 -0
- package/esm/src/react/components/ui/anchored-surface.js +58 -0
- package/esm/src/react/components/ui/app-shell.d.ts +2 -2
- package/esm/src/react/components/ui/app-shell.d.ts.map +1 -1
- package/esm/src/react/components/ui/app-shell.js +3 -7
- package/esm/src/react/components/ui/collapsible.d.ts.map +1 -1
- package/esm/src/react/components/ui/collapsible.js +3 -9
- package/esm/src/react/components/ui/color-mode.d.ts +2 -2
- package/esm/src/react/components/ui/color-mode.d.ts.map +1 -1
- package/esm/src/react/components/ui/color-mode.js +3 -11
- package/esm/src/react/components/ui/command.d.ts.map +1 -1
- package/esm/src/react/components/ui/command.js +2 -7
- package/esm/src/react/components/ui/dialog.d.ts +4 -7
- package/esm/src/react/components/ui/dialog.d.ts.map +1 -1
- package/esm/src/react/components/ui/dialog.js +13 -59
- package/esm/src/react/components/ui/disclosure.d.ts +12 -0
- package/esm/src/react/components/ui/disclosure.d.ts.map +1 -0
- package/esm/src/react/components/ui/disclosure.js +22 -0
- package/esm/src/react/components/ui/drawer.d.ts +5 -7
- package/esm/src/react/components/ui/drawer.d.ts.map +1 -1
- package/esm/src/react/components/ui/drawer.js +13 -57
- package/esm/src/react/components/ui/dropdown-menu.d.ts +4 -7
- package/esm/src/react/components/ui/dropdown-menu.d.ts.map +1 -1
- package/esm/src/react/components/ui/dropdown-menu.js +12 -31
- package/esm/src/react/components/ui/modal-surface.d.ts +43 -0
- package/esm/src/react/components/ui/modal-surface.d.ts.map +1 -0
- package/esm/src/react/components/ui/modal-surface.js +83 -0
- package/esm/src/react/components/ui/popover.d.ts +4 -7
- package/esm/src/react/components/ui/popover.d.ts.map +1 -1
- package/esm/src/react/components/ui/popover.js +11 -31
- package/esm/src/react/components/ui/select.d.ts.map +1 -1
- package/esm/src/react/components/ui/select.js +2 -7
- package/esm/src/react/components/ui/tabs.d.ts.map +1 -1
- package/esm/src/react/components/ui/tabs.js +3 -4
- package/esm/src/runs/schemas.d.ts +9 -9
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +253 -154
- package/esm/src/server/reload-notifier.d.ts +0 -1
- package/esm/src/server/reload-notifier.d.ts.map +1 -1
- package/esm/src/server/reload-notifier.js +7 -25
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
- package/esm/src/utils/base64url.d.ts +9 -1
- package/esm/src/utils/base64url.d.ts.map +1 -1
- package/esm/src/utils/base64url.js +25 -11
- package/esm/src/utils/index.d.ts +3 -1
- package/esm/src/utils/index.d.ts.map +1 -1
- package/esm/src/utils/index.js +3 -1
- package/esm/src/utils/json.d.ts +19 -0
- package/esm/src/utils/json.d.ts.map +1 -0
- package/esm/src/utils/json.js +17 -0
- package/esm/src/utils/logger/redact.d.ts.map +1 -1
- package/esm/src/utils/logger/redact.js +7 -3
- package/esm/src/utils/subscriber-set.d.ts +19 -0
- package/esm/src/utils/subscriber-set.d.ts.map +1 -0
- package/esm/src/utils/subscriber-set.js +38 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/backends/redis/index.d.ts.map +1 -1
- package/esm/src/workflow/backends/redis/index.js +6 -7
- package/esm/src/workflow/claude-code/websocket-publisher.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/websocket-publisher.js +8 -15
- package/esm/src/workflow/schemas/workflow.schema.d.ts +4 -4
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/dropdown-menu.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/dropdown-menu.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,0CAA0C;AAC1C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAEzE;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3E,KAAK,CAAC,YAAY,CAEpB;AAED,iDAAiD;AACjD,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACpF,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CACzB;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAS,EACT,KAAe,EACf,GAAG,KAAK,EACT,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAWtD;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACzE,KAAK,CAAC,YAAY,CAMpB;AAED,8CAA8C;AAC9C,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC1F,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAyB5C;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,KAAK,CAAC,YAAY,CAWrB;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CACnC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,YAAY,CAEpB;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,KAAK,CAAC,YAAY,CAWrB"}
|
|
@@ -3,48 +3,29 @@
|
|
|
3
3
|
* shape (Root / Trigger / Content / Group / Item / ItemMeta / Separator /
|
|
4
4
|
* Label). Classes are ported 1:1 from Studio's `DropdownMenu` (token names
|
|
5
5
|
* remapped to veryfront's `[var(--token)]` vocabulary). Opens below the
|
|
6
|
-
* trigger; dismisses on outside-click, `Escape`, and item select.
|
|
7
|
-
*
|
|
8
|
-
* TODO(a11y): roving focus + arrow-key navigation, typeahead, `Tab` handling,
|
|
9
|
-
* portal + collision-aware positioning (flip/shift), `aria-activedescendant`,
|
|
10
|
-
* RadioItem/CheckboxItem/Sub menus. Private to the chat module.
|
|
6
|
+
* trigger; dismisses on outside-click, `Escape`, and item select. A11y work
|
|
7
|
+
* tracked in anchored-surface.tsx.
|
|
11
8
|
*
|
|
12
9
|
* @module react/components/ui/dropdown-menu
|
|
13
10
|
*/
|
|
14
11
|
import * as React from "react";
|
|
15
12
|
import { cx as cn } from "./cva.js";
|
|
16
13
|
import { Slot } from "./slot.js";
|
|
17
|
-
import {
|
|
18
|
-
|
|
14
|
+
import { createAnchoredSurfaceParts } from "./anchored-surface.js";
|
|
15
|
+
// Per-skin context + machinery -- distinct from Popover's instance so a
|
|
16
|
+
// Popover nested inside a DropdownMenu cannot accidentally close the menu.
|
|
17
|
+
const { Context: _ctx, AnchoredRoot: _Root, AnchoredTrigger: _Trigger, AnchoredContent: _Content } = createAnchoredSurfaceParts();
|
|
19
18
|
/** DropdownMenu root — owns open state and the positioning anchor. */
|
|
20
|
-
export function DropdownMenu(
|
|
21
|
-
|
|
22
|
-
const isControlled = open !== undefined;
|
|
23
|
-
const isOpen = isControlled ? open : internal;
|
|
24
|
-
const setOpen = React.useCallback((next) => {
|
|
25
|
-
if (!isControlled)
|
|
26
|
-
setInternal(next);
|
|
27
|
-
onOpenChange?.(next);
|
|
28
|
-
}, [isControlled, onOpenChange]);
|
|
29
|
-
const anchorRef = React.useRef(null);
|
|
30
|
-
return (React.createElement("span", { ref: anchorRef, className: "relative inline-block" },
|
|
31
|
-
React.createElement(MenuContext.Provider, { value: { open: isOpen, setOpen, anchorRef } }, children)));
|
|
19
|
+
export function DropdownMenu(props) {
|
|
20
|
+
return React.createElement(_Root, { ...props });
|
|
32
21
|
}
|
|
33
22
|
/** Trigger — toggles the menu. `asChild` merges onto the child element. */
|
|
34
|
-
export function DropdownMenuTrigger(
|
|
35
|
-
|
|
36
|
-
const Comp = asChild ? Slot : "button";
|
|
37
|
-
return (React.createElement(Comp, { ...(asChild ? {} : { type: "button" }), "aria-haspopup": "menu", "aria-expanded": ctx?.open, onClick: (e) => {
|
|
38
|
-
onClick?.(e);
|
|
39
|
-
ctx?.setOpen(!ctx.open);
|
|
40
|
-
}, ...props }, children));
|
|
23
|
+
export function DropdownMenuTrigger(props) {
|
|
24
|
+
return React.createElement(_Trigger, { ...props, haspopup: "menu" });
|
|
41
25
|
}
|
|
42
26
|
/** Menu surface — rendered below the trigger while open. No border (Studio). */
|
|
43
27
|
export function DropdownMenuContent({ children, className, align = "start", ...props }) {
|
|
44
|
-
|
|
45
|
-
if (!ctx)
|
|
46
|
-
return null;
|
|
47
|
-
return (React.createElement(Floating, { anchorRef: ctx.anchorRef, open: ctx.open, align: align, onDismiss: () => ctx.setOpen(false), role: "menu", className: cn("z-50 min-w-[260px] overflow-hidden rounded-lg bg-[var(--popover)] p-2.5 shadow-sm outline-none", className), ...props }, children));
|
|
28
|
+
return (React.createElement(_Content, { role: "menu", align: align, className: cn("min-w-[260px] p-2.5", className), ...props }, children));
|
|
48
29
|
}
|
|
49
30
|
/** Groups related items with a tight inner gap (Studio: `gap-px p-0.5`). */
|
|
50
31
|
export function DropdownMenuGroup({ children, className }) {
|
|
@@ -52,7 +33,7 @@ export function DropdownMenuGroup({ children, className }) {
|
|
|
52
33
|
}
|
|
53
34
|
/** A selectable menu item. Icons render at `size-3.5` (14px). */
|
|
54
35
|
export function DropdownMenuItem({ children, className, onSelect, onClick, disabled, asChild, ...props }) {
|
|
55
|
-
const ctx = React.useContext(
|
|
36
|
+
const ctx = React.useContext(_ctx);
|
|
56
37
|
const Comp = asChild ? Slot : "button";
|
|
57
38
|
return (React.createElement(Comp, { ...(asChild ? {} : { type: "button" }), role: "menuitem", "aria-disabled": disabled || undefined, className: cn("relative flex w-full cursor-pointer select-none items-center gap-2.5 rounded-md px-3 h-[36px] text-base font-normal text-left text-[var(--foreground)] outline-none transition-colors", "hover:bg-[var(--tertiary)] focus:bg-[var(--tertiary)] dark:hover:bg-[var(--accent)] dark:focus:bg-[var(--accent)]", "disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-3.5 [&_svg]:shrink-0", className), onClick: (e) => {
|
|
58
39
|
if (disabled)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared behavioral machinery for Dialog and Drawer.
|
|
3
|
+
* TODO(a11y): focus trap, aria-labelledby, scroll-lock, portal, animation.
|
|
4
|
+
* Drawer: drag-to-dismiss / snap points.
|
|
5
|
+
* @module react/components/ui/modal-surface
|
|
6
|
+
*/
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { type DisclosureOptions } from "./disclosure.js";
|
|
9
|
+
/** Open/close state shared between a modal skin's Root and its parts. */
|
|
10
|
+
export interface ModalState {
|
|
11
|
+
open: boolean;
|
|
12
|
+
setOpen: (open: boolean) => void;
|
|
13
|
+
}
|
|
14
|
+
/** Props for the shared modal content shell. */
|
|
15
|
+
export interface ModalContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
16
|
+
/** Extra node rendered before `children` -- used by Drawer for the drag handle. */
|
|
17
|
+
lead?: React.ReactNode;
|
|
18
|
+
}
|
|
19
|
+
type ModalBtnProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
20
|
+
asChild?: boolean;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Creates a fresh context instance plus the Root, useModal, ModalTrigger,
|
|
24
|
+
* ModalClose, and ModalContent parts -- all bound to that context.
|
|
25
|
+
*
|
|
26
|
+
* Each skin (Dialog, Drawer) calls this ONCE at module scope so their contexts
|
|
27
|
+
* are distinct objects. This prevents cross-binding when one skin is nested
|
|
28
|
+
* inside the other: a DrawerClose inside a Dialog will only close the Drawer,
|
|
29
|
+
* never the Dialog, because the two contexts cannot overlap.
|
|
30
|
+
*
|
|
31
|
+
* @param name - Component name used in the thrown error (e.g. "Dialog").
|
|
32
|
+
*/
|
|
33
|
+
export declare function createModalSurfaceParts(name: string): {
|
|
34
|
+
ModalRoot: ({ children, open, defaultOpen, onOpenChange }: DisclosureOptions & {
|
|
35
|
+
children: React.ReactNode;
|
|
36
|
+
}) => React.ReactElement;
|
|
37
|
+
useModal: () => ModalState;
|
|
38
|
+
ModalTrigger: ({ children, asChild, onClick, ...props }: ModalBtnProps) => React.ReactElement;
|
|
39
|
+
ModalClose: ({ children, asChild, onClick, ...props }: ModalBtnProps) => React.ReactElement;
|
|
40
|
+
ModalContent: ({ className, children, lead, ...props }: ModalContentProps) => React.ReactElement | null;
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=modal-surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-surface.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/modal-surface.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE,yEAAyE;AACzE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAED,gDAAgD;AAChD,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,mFAAmF;IACnF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,KAAK,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAsB3F;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM;+DAKD,iBAAiB,GAAG;QACjE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC3B,KACA,KAAK,CAAC,YAAY;oBAOA,UAAU;6DAQa,aAAa,KACtD,KAAK,CAAC,YAAY;2DAmBuB,aAAa,KACtD,KAAK,CAAC,YAAY;4DAmBsB,iBAAiB,KACzD,KAAK,CAAC,YAAY,GAAG,IAAI;EA2B7B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared behavioral machinery for Dialog and Drawer.
|
|
3
|
+
* TODO(a11y): focus trap, aria-labelledby, scroll-lock, portal, animation.
|
|
4
|
+
* Drawer: drag-to-dismiss / snap points.
|
|
5
|
+
* @module react/components/ui/modal-surface
|
|
6
|
+
*/
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { Slot } from "./slot.js";
|
|
9
|
+
import { useDisclosure } from "./disclosure.js";
|
|
10
|
+
const FOCUSABLE = 'input:not([disabled]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [href], [tabindex]:not([tabindex="-1"])';
|
|
11
|
+
function useModalContentEffect(open, setOpen, ref) {
|
|
12
|
+
React.useEffect(() => {
|
|
13
|
+
if (!open)
|
|
14
|
+
return;
|
|
15
|
+
const onKey = (e) => {
|
|
16
|
+
if (e.key === "Escape")
|
|
17
|
+
setOpen(false);
|
|
18
|
+
};
|
|
19
|
+
document.addEventListener("keydown", onKey);
|
|
20
|
+
const focusable = ref.current?.querySelector(FOCUSABLE);
|
|
21
|
+
(focusable ?? ref.current)?.focus();
|
|
22
|
+
return () => document.removeEventListener("keydown", onKey);
|
|
23
|
+
}, [open, setOpen]); // include setOpen: the controlled path can replace it
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates a fresh context instance plus the Root, useModal, ModalTrigger,
|
|
27
|
+
* ModalClose, and ModalContent parts -- all bound to that context.
|
|
28
|
+
*
|
|
29
|
+
* Each skin (Dialog, Drawer) calls this ONCE at module scope so their contexts
|
|
30
|
+
* are distinct objects. This prevents cross-binding when one skin is nested
|
|
31
|
+
* inside the other: a DrawerClose inside a Dialog will only close the Drawer,
|
|
32
|
+
* never the Dialog, because the two contexts cannot overlap.
|
|
33
|
+
*
|
|
34
|
+
* @param name - Component name used in the thrown error (e.g. "Dialog").
|
|
35
|
+
*/
|
|
36
|
+
export function createModalSurfaceParts(name) {
|
|
37
|
+
const Context = React.createContext(null);
|
|
38
|
+
/** Provides open state to all parts in a modal skin. */
|
|
39
|
+
function ModalRoot({ children, open, defaultOpen, onOpenChange }) {
|
|
40
|
+
const { open: isOpen, setOpen } = useDisclosure({ open, defaultOpen, onOpenChange });
|
|
41
|
+
const value = React.useMemo(() => ({ open: isOpen, setOpen }), [isOpen, setOpen]);
|
|
42
|
+
return React.createElement(Context.Provider, { value: value }, children);
|
|
43
|
+
}
|
|
44
|
+
/** Reads the skin's context; throws if called outside the skin's root. */
|
|
45
|
+
function useModal() {
|
|
46
|
+
const ctx = React.useContext(Context);
|
|
47
|
+
if (!ctx)
|
|
48
|
+
throw new Error(`${name} parts must be used within <${name}>`);
|
|
49
|
+
return ctx;
|
|
50
|
+
}
|
|
51
|
+
/** Opens the modal on click. `asChild` merges onto the child element. */
|
|
52
|
+
function ModalTrigger({ children, asChild, onClick, ...props }) {
|
|
53
|
+
const ctx = useModal();
|
|
54
|
+
const Comp = asChild ? Slot : "button";
|
|
55
|
+
return (React.createElement(Comp, { ...(asChild ? {} : { type: "button" }), onClick: (e) => {
|
|
56
|
+
onClick?.(e);
|
|
57
|
+
ctx.setOpen(true);
|
|
58
|
+
}, ...props }, children));
|
|
59
|
+
}
|
|
60
|
+
/** Closes the modal on click. `asChild` merges onto the child element. */
|
|
61
|
+
function ModalClose({ children, asChild, onClick, ...props }) {
|
|
62
|
+
const ctx = useModal();
|
|
63
|
+
const Comp = asChild ? Slot : "button";
|
|
64
|
+
return (React.createElement(Comp, { ...(asChild ? {} : { type: "button" }), onClick: (e) => {
|
|
65
|
+
onClick?.(e);
|
|
66
|
+
ctx.setOpen(false);
|
|
67
|
+
}, ...props }, children));
|
|
68
|
+
}
|
|
69
|
+
/** Fixed overlay + panel shell. Skins supply panel layout via `className`. */
|
|
70
|
+
function ModalContent({ className, children, lead, ...props }) {
|
|
71
|
+
const ctx = useModal();
|
|
72
|
+
const panelRef = React.useRef(null);
|
|
73
|
+
useModalContentEffect(ctx.open, ctx.setOpen, panelRef);
|
|
74
|
+
if (!ctx.open)
|
|
75
|
+
return null;
|
|
76
|
+
return (React.createElement("div", { className: "fixed inset-0 z-50" },
|
|
77
|
+
React.createElement("div", { className: "fixed inset-0 bg-[var(--overlay)]", onClick: () => ctx.setOpen(false) }),
|
|
78
|
+
React.createElement("div", { ref: panelRef, role: "dialog", "aria-modal": "true", tabIndex: -1, className: className, ...props },
|
|
79
|
+
lead,
|
|
80
|
+
children)));
|
|
81
|
+
}
|
|
82
|
+
return { ModalRoot, useModal, ModalTrigger, ModalClose, ModalContent };
|
|
83
|
+
}
|
|
@@ -3,11 +3,8 @@
|
|
|
3
3
|
* (Root / Trigger / Content + Title / Body / Footer / Actions section parts).
|
|
4
4
|
* Classes are ported 1:1 from Studio's `Popover` (tokens remapped to
|
|
5
5
|
* veryfront's `[var(--token)]` vocabulary). Anchored below the trigger;
|
|
6
|
-
* dismisses on outside-click and `Escape`.
|
|
7
|
-
*
|
|
8
|
-
* TODO(a11y): focus trap + restore, portal + collision-aware positioning
|
|
9
|
-
* (flip/shift), `aria-controls`/`aria-expanded` wiring on the trigger,
|
|
10
|
-
* `side`/`align` offset variants. Private to the chat module.
|
|
6
|
+
* dismisses on outside-click and `Escape`. A11y work tracked in
|
|
7
|
+
* anchored-surface.tsx.
|
|
11
8
|
*
|
|
12
9
|
* @module react/components/ui/popover
|
|
13
10
|
*/
|
|
@@ -20,9 +17,9 @@ export interface PopoverProps {
|
|
|
20
17
|
onOpenChange?: (open: boolean) => void;
|
|
21
18
|
}
|
|
22
19
|
/** Popover root — owns open state and the positioning anchor. */
|
|
23
|
-
export declare function Popover(
|
|
20
|
+
export declare function Popover(props: PopoverProps): React.ReactElement;
|
|
24
21
|
/** Trigger — toggles the popover. `asChild` merges onto the child element. */
|
|
25
|
-
export declare function PopoverTrigger(
|
|
22
|
+
export declare function PopoverTrigger(props: React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
26
23
|
asChild?: boolean;
|
|
27
24
|
}): React.ReactElement;
|
|
28
25
|
/** Props accepted by `<PopoverContent>`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/popover.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/popover.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,iEAAiE;AACjE,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAE/D;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3E,KAAK,CAAC,YAAY,CAEpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/E,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CACzB;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,KAAa,EACb,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAWjD;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,YAAY,CAY/D;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,YAAY,CAY/D;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAO3D;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAWpF;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAO3D"}
|
|
@@ -3,48 +3,28 @@
|
|
|
3
3
|
* (Root / Trigger / Content + Title / Body / Footer / Actions section parts).
|
|
4
4
|
* Classes are ported 1:1 from Studio's `Popover` (tokens remapped to
|
|
5
5
|
* veryfront's `[var(--token)]` vocabulary). Anchored below the trigger;
|
|
6
|
-
* dismisses on outside-click and `Escape`.
|
|
7
|
-
*
|
|
8
|
-
* TODO(a11y): focus trap + restore, portal + collision-aware positioning
|
|
9
|
-
* (flip/shift), `aria-controls`/`aria-expanded` wiring on the trigger,
|
|
10
|
-
* `side`/`align` offset variants. Private to the chat module.
|
|
6
|
+
* dismisses on outside-click and `Escape`. A11y work tracked in
|
|
7
|
+
* anchored-surface.tsx.
|
|
11
8
|
*
|
|
12
9
|
* @module react/components/ui/popover
|
|
13
10
|
*/
|
|
14
11
|
import * as React from "react";
|
|
15
12
|
import { cx as cn } from "./cva.js";
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
import { createAnchoredSurfaceParts } from "./anchored-surface.js";
|
|
14
|
+
// Per-skin context + machinery -- distinct from DropdownMenu's instance so
|
|
15
|
+
// a DropdownMenu nested inside a Popover cannot accidentally close the Popover.
|
|
16
|
+
const { AnchoredRoot: _Root, AnchoredTrigger: _Trigger, AnchoredContent: _Content } = createAnchoredSurfaceParts();
|
|
19
17
|
/** Popover root — owns open state and the positioning anchor. */
|
|
20
|
-
export function Popover(
|
|
21
|
-
|
|
22
|
-
const isControlled = open !== undefined;
|
|
23
|
-
const isOpen = isControlled ? open : internal;
|
|
24
|
-
const setOpen = React.useCallback((next) => {
|
|
25
|
-
if (!isControlled)
|
|
26
|
-
setInternal(next);
|
|
27
|
-
onOpenChange?.(next);
|
|
28
|
-
}, [isControlled, onOpenChange]);
|
|
29
|
-
const anchorRef = React.useRef(null);
|
|
30
|
-
return (React.createElement("span", { ref: anchorRef, className: "relative inline-block" },
|
|
31
|
-
React.createElement(PopoverContext.Provider, { value: { open: isOpen, setOpen, anchorRef } }, children)));
|
|
18
|
+
export function Popover(props) {
|
|
19
|
+
return React.createElement(_Root, { ...props });
|
|
32
20
|
}
|
|
33
21
|
/** Trigger — toggles the popover. `asChild` merges onto the child element. */
|
|
34
|
-
export function PopoverTrigger(
|
|
35
|
-
|
|
36
|
-
const Comp = asChild ? Slot : "button";
|
|
37
|
-
return (React.createElement(Comp, { ...(asChild ? {} : { type: "button" }), "aria-haspopup": "dialog", "aria-expanded": ctx?.open, onClick: (e) => {
|
|
38
|
-
onClick?.(e);
|
|
39
|
-
ctx?.setOpen(!ctx.open);
|
|
40
|
-
}, ...props }, children));
|
|
22
|
+
export function PopoverTrigger(props) {
|
|
23
|
+
return React.createElement(_Trigger, { ...props, haspopup: "dialog" });
|
|
41
24
|
}
|
|
42
25
|
/** Popover surface — rendered below the trigger while open. */
|
|
43
26
|
export function PopoverContent({ children, className, align = "end", ...props }) {
|
|
44
|
-
|
|
45
|
-
if (!ctx)
|
|
46
|
-
return null;
|
|
47
|
-
return (React.createElement(Floating, { anchorRef: ctx.anchorRef, open: ctx.open, align: align, onDismiss: () => ctx.setOpen(false), role: "dialog", className: cn("z-50 min-w-[220px] overflow-hidden rounded-lg bg-[var(--popover)] text-[var(--foreground)] shadow-sm outline-none", className), ...props }, children));
|
|
27
|
+
return (React.createElement(_Content, { role: "dialog", align: align, className: cn("min-w-[220px]", className), ...props }, children));
|
|
48
28
|
}
|
|
49
29
|
/** Primary heading slot at the top of a popover (Studio: Heading level 4). */
|
|
50
30
|
export function PopoverTitle({ className, children, ...props }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/select.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/select.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAIlD,QAAA,MAAM,qBAAqB;;;;;yBAoB1B,CAAC;AAgBF,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,WAAW,EACX,YAAY,GACb,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CA4ClC;AAmBD,2CAA2C;AAC3C,MAAM,WAAW,kBACf,SACE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,YAAY,CAAC,OAAO,qBAAqB,CAAC;CAAG;AAEjD,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAmBzC;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CACzB,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,KAAK,CAAC,YAAY,CAQpB;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAoBlE;AAED,wCAAwC;AACxC,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC7F,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA6BtC;AAED,qCAAqC;AACrC,wBAAgB,WAAW,CACzB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAC5D,KAAK,CAAC,YAAY,CAUpB;AAED,qCAAqC;AACrC,wBAAgB,eAAe,CAC7B,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,KAAK,CAAC,YAAY,CAEpB;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CACzB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACzE,KAAK,CAAC,YAAY,CAEpB;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* @module react/components/ui/select
|
|
13
13
|
*/
|
|
14
14
|
import * as React from "react";
|
|
15
|
+
import { createStrictContext } from "../create-strict-context.js";
|
|
15
16
|
import { cx as cn } from "./cva.js";
|
|
16
17
|
import { cva } from "./cva.js";
|
|
17
18
|
import { CheckIcon, ChevronDownIcon } from "./icons/index.js";
|
|
@@ -34,13 +35,7 @@ const selectTriggerVariants = cva([
|
|
|
34
35
|
},
|
|
35
36
|
defaultVariants: { size: "lg" },
|
|
36
37
|
});
|
|
37
|
-
const SelectContext =
|
|
38
|
-
function useSelect() {
|
|
39
|
-
const ctx = React.useContext(SelectContext);
|
|
40
|
-
if (!ctx)
|
|
41
|
-
throw new Error("Select components must be used within <Select>");
|
|
42
|
-
return ctx;
|
|
43
|
-
}
|
|
38
|
+
const [SelectContext, useSelect] = createStrictContext("Select components", "<Select>");
|
|
44
39
|
/** Select root — owns the selected value, open state, and label registry. */
|
|
45
40
|
export function Select({ children, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, }) {
|
|
46
41
|
const [internalValue, setInternalValue] = React.useState(defaultValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;AAUjC,0DAA0D;AAC1D,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,4EAA4E;AAC5E,eAAO,MAAM,IAAI,KAsBf,CAAC;AAGH,sCAAsC;AACtC,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,KA6CpB,CAAC"}
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
* @module react/components/ui/tabs
|
|
18
18
|
*/
|
|
19
19
|
import * as React from "react";
|
|
20
|
+
import { createStrictContext } from "../create-strict-context.js";
|
|
20
21
|
import { cx as cn } from "./cva.js";
|
|
21
|
-
const TabsContext =
|
|
22
|
+
const [TabsContext, useTabs] = createStrictContext("TabsItem", "Tabs");
|
|
22
23
|
/** Tablist container — manages active state and passes context to items. */
|
|
23
24
|
export const Tabs = React.forwardRef(function Tabs({ value, onValueChange, size = "default", className, children, ...props }, ref) {
|
|
24
25
|
return (React.createElement(TabsContext.Provider, { value: { value, onValueChange, size } },
|
|
@@ -34,9 +35,7 @@ Tabs.displayName = "Tabs";
|
|
|
34
35
|
* consumer-supplied handler adds to — never overrides — selection.
|
|
35
36
|
*/
|
|
36
37
|
export const TabsItem = React.forwardRef(function TabsItem({ value, href, children, className, onClick, ...props }, ref) {
|
|
37
|
-
const ctx =
|
|
38
|
-
if (!ctx)
|
|
39
|
-
throw new Error("TabsItem must be used within Tabs");
|
|
38
|
+
const ctx = useTabs();
|
|
40
39
|
const isActive = ctx.value === value;
|
|
41
40
|
const Comp = (href ? "a" : "button");
|
|
42
41
|
return (React.createElement(Comp, { ref: ref, ...(href ? { href } : { type: "button" }), ...props, role: "tab", "aria-selected": isActive, onClick: (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InferSchema } from "../extensions/schema/index.js";
|
|
2
2
|
export declare const getRunKindSchema: () => import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
3
|
-
export declare const getRunStatusSchema: () => import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
3
|
+
export declare const getRunStatusSchema: () => import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
4
4
|
export declare const getRunOwnerSchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
5
5
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
6
6
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -15,7 +15,7 @@ export declare const getRunExecutionErrorSchema: () => import("../internal-agent
|
|
|
15
15
|
export declare const getRunSchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
16
16
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
17
17
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
18
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
18
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
19
19
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
20
20
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
21
21
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -60,7 +60,7 @@ export declare const getCreateRunResponseSchema: () => import("../internal-agent
|
|
|
60
60
|
run: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
61
61
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
62
62
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
63
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
63
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
64
64
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
65
65
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
66
66
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -105,7 +105,7 @@ export declare const getCancelRunResponseSchema: () => import("../internal-agent
|
|
|
105
105
|
run: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
106
106
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
107
107
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
108
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
108
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
109
109
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
110
110
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
111
111
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -175,7 +175,7 @@ export declare const getRunListSchema: () => import("../internal-agents/schema.j
|
|
|
175
175
|
data: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
176
176
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
177
177
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
178
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
178
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
179
179
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
180
180
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
181
181
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -225,7 +225,7 @@ export declare const getRunListSchema: () => import("../internal-agents/schema.j
|
|
|
225
225
|
export declare const RunSchema: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
226
226
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
227
227
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
228
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
228
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
229
229
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
230
230
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
231
231
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -271,7 +271,7 @@ export declare const CreateRunResponseSchema: import("../internal-agents/schema.
|
|
|
271
271
|
run: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
272
272
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
273
273
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
274
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
274
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
275
275
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
276
276
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
277
277
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -317,7 +317,7 @@ export declare const CancelRunResponseSchema: import("../internal-agents/schema.
|
|
|
317
317
|
run: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
318
318
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
319
319
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
320
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
320
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
321
321
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
322
322
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
323
323
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -384,7 +384,7 @@ export declare const RunListSchema: import("../internal-agents/schema.js").Schem
|
|
|
384
384
|
data: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
385
385
|
run_id: import("../internal-agents/schema.js").Schema<string>;
|
|
386
386
|
kind: import("../internal-agents/schema.js").Schema<"eval" | "agent" | "task" | "workflow">;
|
|
387
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
387
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
388
388
|
owner: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
389
389
|
kind: import("../internal-agents/schema.js").Schema<"project" | "conversation">;
|
|
390
390
|
id: import("../internal-agents/schema.js").Schema<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-candidates.generated.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/dev/framework-candidates.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"framework-candidates.generated.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/dev/framework-candidates.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAykbjD,CAAC"}
|