@assistant-ui/react 0.15.16 → 0.15.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/index.d.ts +8 -4
- package/dist/index.js +4 -2
- package/dist/mcp-apps/McpAppRenderer.d.ts +36 -9
- package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -1
- package/dist/mcp-apps/McpAppRenderer.js +108 -57
- package/dist/mcp-apps/McpAppRenderer.js.map +1 -1
- package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -1
- package/dist/mcp-apps/McpAppsRemoteHost.js +20 -17
- package/dist/mcp-apps/McpAppsRemoteHost.js.map +1 -1
- package/dist/mcp-apps/app-frame.d.ts.map +1 -1
- package/dist/mcp-apps/app-frame.js +229 -115
- package/dist/mcp-apps/app-frame.js.map +1 -1
- package/dist/mcp-apps/bridge.js +2 -3
- package/dist/mcp-apps/bridge.js.map +1 -1
- package/dist/mcp-apps/index.d.ts +3 -3
- package/dist/model-context/frame/useAssistantFrameHost.d.ts +1 -1
- package/dist/model-context/frame/useAssistantFrameHost.js +10 -11
- package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -1
- package/dist/model-context/makeAssistantVisible.js +1 -1
- package/dist/model-context/makeAssistantVisible.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +3 -3
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarExportMarkdown.js +3 -3
- package/dist/primitives/actionBar/ActionBarExportMarkdown.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +3 -3
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +3 -3
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +3 -3
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreContent.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreItem.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js.map +1 -1
- package/dist/primitives/actionBarMore/scope.d.ts +2 -2
- package/dist/primitives/actionBarMore/scope.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/scope.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
- package/dist/primitives/assistantModal/scope.d.ts +2 -2
- package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
- package/dist/primitives/assistantModal/scope.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.js +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +1 -3
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts +1 -2
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInputPluginContext.js +1 -6
- package/dist/primitives/composer/ComposerInputPluginContext.js.map +1 -1
- package/dist/primitives/composer/ComposerQuote.js +5 -5
- package/dist/primitives/composer/ComposerQuote.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js +3 -3
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts +5 -0
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopover.js +157 -130
- package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverAction.js +46 -15
- package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverBack.js +3 -3
- package/dist/primitives/composer/trigger/TriggerPopoverBack.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.js +4 -4
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.js +40 -10
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverItems.js +4 -4
- package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +2 -0
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverResource.js +63 -61
- package/dist/primitives/composer/trigger/TriggerPopoverResource.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +2 -0
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -1
- package/dist/primitives/composer/trigger/detectTrigger.d.ts +21 -1
- package/dist/primitives/composer/trigger/detectTrigger.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/detectTrigger.js +17 -3
- package/dist/primitives/composer/trigger/detectTrigger.js.map +1 -1
- package/dist/primitives/composer/trigger/index.d.ts +3 -1
- package/dist/primitives/composer/trigger/index.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/index.js.map +1 -1
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.d.ts +6 -0
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.js +9 -0
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.js.map +1 -0
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +3 -4
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerDetectionResource.js +15 -14
- package/dist/primitives/composer/trigger/triggerDetectionResource.js.map +1 -1
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerNavigationResource.js +3 -5
- package/dist/primitives/composer/trigger/triggerNavigationResource.js.map +1 -1
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerSelectionResource.js +18 -19
- package/dist/primitives/composer/trigger/triggerSelectionResource.js.map +1 -1
- package/dist/primitives/composer.d.ts +3 -2
- package/dist/primitives/composer.js.map +1 -1
- package/dist/primitives/error/ErrorMessage.js.map +1 -1
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageParts.js.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
- package/dist/primitives/message/MessageRoot.js +4 -4
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartText.d.ts +1 -1
- package/dist/primitives/messagePart/MessagePartText.js.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js +3 -3
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +3 -3
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.js +3 -3
- package/dist/primitives/thread/ThreadViewport.js.map +1 -1
- package/dist/primitives/thread/ThreadViewportFooter.js +3 -3
- package/dist/primitives/thread/ThreadViewportFooter.js.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +4 -4
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +3 -3
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
- package/dist/primitives/threadListFocusGroup.d.ts +2 -1
- package/dist/primitives/threadListFocusGroup.d.ts.map +1 -1
- package/dist/primitives/threadListFocusGroup.js +2 -2
- package/dist/primitives/threadListFocusGroup.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +3 -3
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +1 -2
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -1
- package/dist/primitives/threadListItemMore/scope.d.ts +2 -2
- package/dist/primitives/threadListItemMore/scope.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/scope.js.map +1 -1
- package/dist/sandbox-host/SandboxHost.d.ts.map +1 -1
- package/dist/sandbox-host/SandboxHost.js +148 -72
- package/dist/sandbox-host/SandboxHost.js.map +1 -1
- package/dist/unstable/useLiveCompletionAdapter.js +3 -1
- package/dist/unstable/useLiveCompletionAdapter.js.map +1 -1
- package/dist/unstable/useMentionAdapter.d.ts +9 -3
- package/dist/unstable/useMentionAdapter.d.ts.map +1 -1
- package/dist/unstable/useMentionAdapter.js +50 -43
- package/dist/unstable/useMentionAdapter.js.map +1 -1
- package/dist/unstable/useModelContextSnapshot.d.ts +34 -0
- package/dist/unstable/useModelContextSnapshot.d.ts.map +1 -0
- package/dist/unstable/useModelContextSnapshot.js +61 -0
- package/dist/unstable/useModelContextSnapshot.js.map +1 -0
- package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
- package/dist/unstable/useSlashCommandAdapter.js +37 -29
- package/dist/unstable/useSlashCommandAdapter.js.map +1 -1
- package/dist/unstable/webmcp/WebMcpRegistrationResource.d.ts +14 -0
- package/dist/unstable/webmcp/WebMcpRegistrationResource.d.ts.map +1 -0
- package/dist/unstable/webmcp/WebMcpRegistrationResource.js +85 -0
- package/dist/unstable/webmcp/WebMcpRegistrationResource.js.map +1 -0
- package/dist/unstable/webmcp/convertTools.d.ts +21 -0
- package/dist/unstable/webmcp/convertTools.d.ts.map +1 -0
- package/dist/unstable/webmcp/convertTools.js +110 -0
- package/dist/unstable/webmcp/convertTools.js.map +1 -0
- package/dist/unstable/webmcp/useWebMcpProvider.d.ts +21 -0
- package/dist/unstable/webmcp/useWebMcpProvider.d.ts.map +1 -0
- package/dist/unstable/webmcp/useWebMcpProvider.js +105 -0
- package/dist/unstable/webmcp/useWebMcpProvider.js.map +1 -0
- package/dist/unstable/webmcp/webmcp-host.d.ts +39 -0
- package/dist/unstable/webmcp/webmcp-host.d.ts.map +1 -0
- package/dist/unstable/webmcp/webmcp-host.js +29 -0
- package/dist/unstable/webmcp/webmcp-host.js.map +1 -0
- package/dist/utils/Primitive.d.ts +6 -6
- package/dist/utils/Primitive.js +2 -2
- package/dist/utils/Primitive.js.map +1 -1
- package/dist/utils/createActionButton.js +3 -3
- package/dist/utils/createActionButton.js.map +1 -1
- package/dist/utils/hooks/useOnResizeContent.js +1 -1
- package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
- package/dist/utils/hooks/useOnScrollToBottom.js +1 -1
- package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
- package/dist/utils/smooth/SmoothContext.d.ts +24 -0
- package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
- package/dist/utils/smooth/useSmooth.js +1 -1
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/package.json +14 -22
- package/src/index.ts +22 -1
- package/src/mcp-apps/McpAppRenderer.test.tsx +386 -9
- package/src/mcp-apps/McpAppRenderer.tsx +171 -69
- package/src/mcp-apps/McpAppsRemoteHost.concurrent.test.tsx +215 -0
- package/src/mcp-apps/McpAppsRemoteHost.ts +28 -12
- package/src/mcp-apps/app-frame.test.tsx +349 -0
- package/src/mcp-apps/app-frame.tsx +68 -9
- package/src/mcp-apps/bridge.ts +7 -2
- package/src/mcp-apps/index.ts +6 -1
- package/src/model-context/frame/AssistantFrame.test.ts +3 -3
- package/src/model-context/frame/SPEC_AssistantFrame.md +1 -1
- package/src/model-context/frame/useAssistantFrameHost.ts +2 -2
- package/src/model-context/makeAssistantVisible.tsx +1 -1
- package/src/primitives/actionBar/ActionBarCopy.tsx +1 -1
- package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +1 -1
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +1 -1
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +1 -1
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +1 -1
- package/src/primitives/actionBarMore/scope.ts +2 -2
- package/src/primitives/assistantModal/AssistantModalContent.tsx +1 -1
- package/src/primitives/assistantModal/scope.ts +2 -2
- package/src/primitives/composer/ComposerAttachmentDropzone.tsx +1 -1
- package/src/primitives/composer/ComposerInput.test.tsx +2 -1
- package/src/primitives/composer/ComposerInput.tsx +3 -3
- package/src/primitives/composer/ComposerInputPluginContext.tsx +0 -10
- package/src/primitives/composer/ComposerQuote.tsx +1 -1
- package/src/primitives/composer/ComposerRoot.tsx +1 -1
- package/src/primitives/composer/trigger/TriggerPopover.tsx +16 -1
- package/src/primitives/composer/trigger/TriggerPopoverAction.tsx +4 -2
- package/src/primitives/composer/trigger/TriggerPopoverBack.tsx +1 -1
- package/src/primitives/composer/trigger/TriggerPopoverBehavior.test.tsx +109 -0
- package/src/primitives/composer/trigger/TriggerPopoverCategories.tsx +1 -1
- package/src/primitives/composer/trigger/TriggerPopoverDirective.tsx +4 -2
- package/src/primitives/composer/trigger/TriggerPopoverItems.tsx +1 -1
- package/src/primitives/composer/trigger/TriggerPopoverResource.ts +4 -1
- package/src/primitives/composer/trigger/TriggerPopoverRootContext.tsx +2 -0
- package/src/primitives/composer/trigger/detectTrigger.test.ts +88 -5
- package/src/primitives/composer/trigger/detectTrigger.ts +50 -9
- package/src/primitives/composer/trigger/index.ts +1 -0
- package/src/primitives/composer/trigger/matchesTriggerItemQuery.test.ts +52 -0
- package/src/primitives/composer/trigger/matchesTriggerItemQuery.ts +13 -0
- package/src/primitives/composer/trigger/triggerDetectionResource.ts +10 -7
- package/src/primitives/composer/trigger/triggerNavigationResource.ts +3 -10
- package/src/primitives/composer/trigger/triggerSelectionResource.test.ts +15 -3
- package/src/primitives/composer/trigger/triggerSelectionResource.ts +1 -4
- package/src/primitives/composer.ts +1 -0
- package/src/primitives/message/MessageRoot.tsx +1 -1
- package/src/primitives/selectionToolbar/SelectionToolbarQuote.tsx +1 -1
- package/src/primitives/selectionToolbar/SelectionToolbarRoot.tsx +1 -1
- package/src/primitives/thread/ThreadViewport.tsx +1 -1
- package/src/primitives/thread/ThreadViewportFooter.tsx +1 -1
- package/src/primitives/thread/useThreadViewportAutoScroll.ts +8 -7
- package/src/primitives/threadList/ThreadListNew.tsx +1 -1
- package/src/primitives/threadListFocusGroup.ts +2 -2
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +1 -1
- package/src/primitives/threadListItem/ThreadListItemTrigger.tsx +1 -1
- package/src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx +1 -1
- package/src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx +1 -1
- package/src/primitives/threadListItemMore/ThreadListItemMoreTrigger.tsx +2 -2
- package/src/primitives/threadListItemMore/scope.ts +2 -2
- package/src/sandbox-host/SandboxHost.test.tsx +165 -3
- package/src/sandbox-host/SandboxHost.tsx +42 -9
- package/src/tests/RemoteThreadListRuntime.adapterProvider.test.tsx +31 -1
- package/src/unstable/useComposerInputHistory.test.tsx +2 -1
- package/src/unstable/useLiveCompletionAdapter.test.tsx +60 -1
- package/src/unstable/useLiveCompletionAdapter.ts +4 -1
- package/src/unstable/useMentionAdapter.test.tsx +337 -0
- package/src/unstable/useMentionAdapter.ts +94 -57
- package/src/unstable/useModelContextSnapshot.test.tsx +132 -0
- package/src/unstable/useModelContextSnapshot.ts +67 -0
- package/src/unstable/useSlashCommandAdapter.test.tsx +141 -0
- package/src/unstable/useSlashCommandAdapter.ts +47 -19
- package/src/unstable/webmcp/WebMcpRegistrationResource.ts +92 -0
- package/src/unstable/webmcp/__tests__/webmcp.fake.tsx +168 -0
- package/src/unstable/webmcp/convertTools.test.ts +393 -0
- package/src/unstable/webmcp/convertTools.ts +180 -0
- package/src/unstable/webmcp/useWebMcpProvider.test.tsx +466 -0
- package/src/unstable/webmcp/useWebMcpProvider.ts +150 -0
- package/src/unstable/webmcp/webmcp-host.test.ts +142 -0
- package/src/unstable/webmcp/webmcp-host.ts +83 -0
- package/src/utils/Primitive.tsx +2 -2
- package/src/utils/createActionButton.tsx +1 -1
- package/src/utils/hooks/useOnResizeContent.ts +1 -1
- package/src/utils/hooks/useOnScrollToBottom.ts +1 -1
- package/src/utils/smooth/useSmooth.ts +1 -1
- package/dist/legacy-runtime/runtime/MessagePartRuntime.d.ts +0 -3
- package/dist/legacy-runtime/runtime/MessagePartRuntime.js +0 -2
- package/dist/legacy-runtime/runtime/MessageRuntime.d.ts +0 -3
- package/dist/legacy-runtime/runtime/MessageRuntime.js +0 -2
- package/dist/legacy-runtime/runtime/ThreadListRuntime.d.ts +0 -3
- package/dist/legacy-runtime/runtime/ThreadListRuntime.js +0 -2
- package/dist/utils/invokeCallbackSafely.d.ts +0 -5
- package/dist/utils/invokeCallbackSafely.d.ts.map +0 -1
- package/dist/utils/invokeCallbackSafely.js +0 -15
- package/dist/utils/invokeCallbackSafely.js.map +0 -1
- package/dist/utils/useToolArgsFieldStatus.d.ts +0 -15
- package/dist/utils/useToolArgsFieldStatus.d.ts.map +0 -1
- package/dist/utils/useToolArgsFieldStatus.js +0 -23
- package/dist/utils/useToolArgsFieldStatus.js.map +0 -1
- package/src/legacy-runtime/runtime/MessagePartRuntime.ts +0 -2
- package/src/legacy-runtime/runtime/MessageRuntime.ts +0 -3
- package/src/legacy-runtime/runtime/ThreadListRuntime.ts +0 -4
- package/src/utils/invokeCallbackSafely.ts +0 -11
- package/src/utils/useToolArgsFieldStatus.ts +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverAction.js","names":["Unstable_DirectiveFormatter","Unstable_TriggerItem","unstable_defaultDirectiveFormatter","useEffect","useRef","FC","useTriggerBehaviorRegistration","TriggerBehavior","ComposerPrimitiveTriggerPopoverAction","Props","formatter","onExecute","item","removeOnExecute","register","onExecuteRef","current","behavior","kind","undefined","displayName"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverAction.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n Unstable_DirectiveFormatter,\n Unstable_TriggerItem,\n} from \"@assistant-ui/core\";\nimport { unstable_defaultDirectiveFormatter } from \"@assistant-ui/core\";\nimport { useEffect, useRef, type FC } from \"react\";\nimport { useTriggerBehaviorRegistration } from \"./TriggerPopover\";\nimport type { TriggerBehavior } from \"./triggerSelectionResource\";\n\nexport namespace ComposerPrimitiveTriggerPopoverAction {\n export type Props = {\n /** Defaults to `unstable_defaultDirectiveFormatter`. */\n readonly formatter?: Unstable_DirectiveFormatter | undefined;\n /** Fires the moment an item is selected; runs regardless of `removeOnExecute`. */\n readonly onExecute: (item: Unstable_TriggerItem) => void;\n /** When true, strips the trigger text after executing. Defaults to `false` (keeps audit-trail chip). */\n readonly removeOnExecute?: boolean | undefined;\n };\n}\n\n/**\n * Configures a `<TriggerPopover>` to fire a handler when an item is selected,\n * optionally leaving a directive chip behind as an audit trail. Render exactly\n * one behavior sub-primitive per `<TriggerPopover>`.\n *\n * Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Action`.\n *\n * @example\n * ```tsx\n * <ComposerPrimitive.Unstable_TriggerPopover char=\"/\" adapter={slashAdapter}>\n * <ComposerPrimitive.Unstable_TriggerPopover.Action\n * onExecute={(item) => commandHandlers[item.id]?.()}\n * removeOnExecute={false}\n * />\n * </ComposerPrimitive.Unstable_TriggerPopover>\n * ```\n */\nexport const ComposerPrimitiveTriggerPopoverAction: FC<\n ComposerPrimitiveTriggerPopoverAction.Props\n> = ({ formatter, onExecute, removeOnExecute }) => {\n const { register } = useTriggerBehaviorRegistration();\n const onExecuteRef = useRef(onExecute);\n onExecuteRef.current = onExecute;\n\n useEffect(() => {\n const behavior: TriggerBehavior = {\n kind: \"action\",\n formatter: formatter ?? unstable_defaultDirectiveFormatter,\n onExecute: (item) => onExecuteRef.current(item),\n ...(removeOnExecute !== undefined ? { removeOnExecute } : {}),\n };\n return register(behavior);\n }, [register, formatter, removeOnExecute]);\n\n return null;\n};\n\nComposerPrimitiveTriggerPopoverAction.displayName =\n \"ComposerPrimitive.TriggerPopoverAction\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TriggerPopoverAction.js","names":["c","_c","Unstable_DirectiveFormatter","Unstable_TriggerItem","unstable_defaultDirectiveFormatter","useEffect","useInsertionEffect","useRef","FC","useTriggerBehaviorRegistration","TriggerBehavior","ComposerPrimitiveTriggerPopoverAction","Props","formatter","onExecute","item","removeOnExecute","t0","$","register","onExecuteRef","t1","t2","current","t3","t4","behavior","kind","undefined","displayName"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverAction.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n Unstable_DirectiveFormatter,\n Unstable_TriggerItem,\n} from \"@assistant-ui/core\";\nimport { unstable_defaultDirectiveFormatter } from \"@assistant-ui/core\";\nimport { useEffect, useInsertionEffect, useRef, type FC } from \"react\";\nimport { useTriggerBehaviorRegistration } from \"./TriggerPopover\";\nimport type { TriggerBehavior } from \"./triggerSelectionResource\";\n\nexport namespace ComposerPrimitiveTriggerPopoverAction {\n export type Props = {\n /** Defaults to `unstable_defaultDirectiveFormatter`. */\n readonly formatter?: Unstable_DirectiveFormatter | undefined;\n /** Fires the moment an item is selected; runs regardless of `removeOnExecute`. */\n readonly onExecute: (item: Unstable_TriggerItem) => void;\n /** When true, strips the trigger text after executing. Defaults to `false` (keeps audit-trail chip). */\n readonly removeOnExecute?: boolean | undefined;\n };\n}\n\n/**\n * Configures a `<TriggerPopover>` to fire a handler when an item is selected,\n * optionally leaving a directive chip behind as an audit trail. Render exactly\n * one behavior sub-primitive per `<TriggerPopover>`.\n *\n * Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Action`.\n *\n * @example\n * ```tsx\n * <ComposerPrimitive.Unstable_TriggerPopover char=\"/\" adapter={slashAdapter}>\n * <ComposerPrimitive.Unstable_TriggerPopover.Action\n * onExecute={(item) => commandHandlers[item.id]?.()}\n * removeOnExecute={false}\n * />\n * </ComposerPrimitive.Unstable_TriggerPopover>\n * ```\n */\nexport const ComposerPrimitiveTriggerPopoverAction: FC<\n ComposerPrimitiveTriggerPopoverAction.Props\n> = ({ formatter, onExecute, removeOnExecute }) => {\n const { register } = useTriggerBehaviorRegistration();\n const onExecuteRef = useRef(onExecute);\n useInsertionEffect(() => {\n onExecuteRef.current = onExecute;\n }, [onExecute]);\n\n useEffect(() => {\n const behavior: TriggerBehavior = {\n kind: \"action\",\n formatter: formatter ?? unstable_defaultDirectiveFormatter,\n onExecute: (item) => onExecuteRef.current(item),\n ...(removeOnExecute !== undefined ? { removeOnExecute } : {}),\n };\n return register(behavior);\n }, [register, formatter, removeOnExecute]);\n\n return null;\n};\n\nComposerPrimitiveTriggerPopoverAction.displayName =\n \"ComposerPrimitive.TriggerPopoverAction\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAaW,yCAETM,OAAA;CAAA,MAAAC,IAAAjB,EAAA,CAAA;CAAC,MAAA,EAAAY,WAAAC,WAAAE,oBAAAC;CACH,MAAA,EAAAE,aAAqBV,+BAA+B;CACpD,MAAAW,eAAqBb,OAAOO,SAAS;CAAE,IAAAO;CAAA,IAAAC;CAAA,IAAAJ,EAAA,OAAAJ,WAAA;EACpBO,WAAA;GACjBD,aAAYG,UAAWT;EAAH;EACnBQ,KAAA,CAACR,SAAS;EAACI,EAAA,KAAAJ;EAAAI,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAA;EAAAD,KAAAH,EAAA;EAAAI,KAAAJ,EAAA;CAAA;CAFdZ,mBAAmBe,IAEhBC,EAAW;CAAC,IAAAE;CAAA,IAAAC;CAAA,IAAAP,EAAA,OAAAL,aAAAK,EAAA,OAAAC,YAAAD,EAAA,OAAAF,iBAAA;EAELQ,WAAA;GACR,MAAAE,WAAkC;IAAAC,MAC1B;IAAQd,WACHA,aAAAT;IAA+CU,YAC/CC,SAAUK,aAAYG,QAASR,IAAI;IAAC,GAC3CC,oBAAoBY,KAAAA,IAApB,EAAAZ,gBAAuD,IAAvD,CAAuD;GAC7D;GAAE,OACKG,SAASO,QAAQ;EAAC;EACxBD,KAAA;GAACN;GAAUN;GAAWG;EAAe;EAACE,EAAA,KAAAL;EAAAK,EAAA,KAAAC;EAAAD,EAAA,KAAAF;EAAAE,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAA;EAAAD,KAAAN,EAAA;EAAAO,KAAAP,EAAA;CAAA;CARzCb,UAAUmB,IAQPC,EAAsC;CAAC,OAEnC;AAAI;AAGbd,sCAAsCkB,cACpC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Primitive } from "../../../utils/Primitive.js";
|
|
2
|
+
import { Primitive as Primitive$1 } from "../../../utils/Primitive.js";
|
|
3
3
|
import { useTriggerPopoverScopeContext } from "./TriggerPopover.js";
|
|
4
4
|
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
5
5
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
import { composeEventHandlers } from "
|
|
7
|
+
import { composeEventHandlers } from "radix-ui/internal";
|
|
8
8
|
//#region src/primitives/composer/trigger/TriggerPopoverBack.tsx
|
|
9
9
|
/**
|
|
10
10
|
* A button that navigates back from category items to the category list.
|
|
@@ -34,7 +34,7 @@ const ComposerPrimitiveTriggerPopoverBack = forwardRef((t0, forwardedRef) => {
|
|
|
34
34
|
} else t1 = $[5];
|
|
35
35
|
let t2;
|
|
36
36
|
if ($[6] !== forwardedRef || $[7] !== props || $[8] !== t1) {
|
|
37
|
-
t2 = /* @__PURE__ */ jsx(Primitive.button, {
|
|
37
|
+
t2 = /* @__PURE__ */ jsx(Primitive$1.button, {
|
|
38
38
|
type: "button",
|
|
39
39
|
...props,
|
|
40
40
|
ref: forwardedRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverBack.js","names":["c","_c","Primitive","ComponentRef","ComponentPropsWithoutRef","forwardRef","composeEventHandlers","useTriggerPopoverScopeContext","ComposerPrimitiveTriggerPopoverBack","Element","button","Props","t0","forwardedRef","$","onClick","props","activeCategoryId","isSearchMode","goBack","open","t1","t2","displayName"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverBack.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../../utils/Primitive\";\nimport {\n type ComponentRef,\n type ComponentPropsWithoutRef,\n forwardRef,\n} from \"react\";\nimport { composeEventHandlers } from \"
|
|
1
|
+
{"version":3,"file":"TriggerPopoverBack.js","names":["c","_c","Primitive","ComponentRef","ComponentPropsWithoutRef","forwardRef","composeEventHandlers","useTriggerPopoverScopeContext","ComposerPrimitiveTriggerPopoverBack","Element","button","Props","t0","forwardedRef","$","onClick","props","activeCategoryId","isSearchMode","goBack","open","t1","t2","displayName"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverBack.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../../utils/Primitive\";\nimport {\n type ComponentRef,\n type ComponentPropsWithoutRef,\n forwardRef,\n} from \"react\";\nimport { composeEventHandlers } from \"radix-ui/internal\";\nimport { useTriggerPopoverScopeContext } from \"./TriggerPopover\";\n\nexport namespace ComposerPrimitiveTriggerPopoverBack {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button>;\n}\n\n/**\n * A button that navigates back from category items to the category list.\n * Only renders when a category is active (drill-down view).\n */\nexport const ComposerPrimitiveTriggerPopoverBack = forwardRef<\n ComposerPrimitiveTriggerPopoverBack.Element,\n ComposerPrimitiveTriggerPopoverBack.Props\n>(({ onClick, ...props }, forwardedRef) => {\n const { activeCategoryId, isSearchMode, goBack, open } =\n useTriggerPopoverScopeContext();\n\n if (!open || !activeCategoryId || isSearchMode) return null;\n\n return (\n <Primitive.button\n type=\"button\"\n {...props}\n ref={forwardedRef}\n onClick={composeEventHandlers(onClick, goBack)}\n />\n );\n});\n\nComposerPrimitiveTriggerPopoverBack.displayName =\n \"ComposerPrimitive.TriggerPopoverBack\";\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAaQ,sCAAsCH,YAGjDO,IAAAC,iBAAA;CAAA,MAAAC,IAAAb,EAAA,EAAA;CAAA,IAAAc;CAAA,IAAAC;CAAA,IAAAF,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAG,SAAA,GAAAC,SAAAJ;EAAqBE,EAAA,KAAAF;EAAAE,EAAA,KAAAC;EAAAD,EAAA,KAAAE;CAAA,OAAA;EAAAD,UAAAD,EAAA;EAAAE,QAAAF,EAAA;CAAA;CACtB,MAAA,EAAAG,kBAAAC,cAAAC,QAAAC,SACEb,8BAA8B;CAEhC,IAAI,CAACa,QAAD,CAAUH,oBAAVC,cAA0C,OAAS;CAAK,IAAAG;CAAA,IAAAP,EAAA,OAAAK,UAAAL,EAAA,OAAAC,SAAA;EAO/CM,KAAAf,qBAAqBS,SAASI,MAAM;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAC;EAAAD,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAD,gBAAAC,EAAA,OAAAE,SAAAF,EAAA,OAAAO,IAAA;EAJhDC,KAAA,oBAAA,YAAA,QAAA;GACO,MAAA;GAAQ,GACTN;GACCH,KAAAA;GACI,SAAAQ;EAAqC,CAAA;EAC9CP,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OALFQ;AAKE,CAEL;AAEDd,oCAAoCe,cAClC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Primitive } from "../../../utils/Primitive.js";
|
|
2
|
+
import { Primitive as Primitive$1 } from "../../../utils/Primitive.js";
|
|
3
3
|
import { useTriggerPopoverScopeContext } from "./TriggerPopover.js";
|
|
4
4
|
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
5
5
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
import { composeEventHandlers } from "
|
|
7
|
+
import { composeEventHandlers } from "radix-ui/internal";
|
|
8
8
|
//#region src/primitives/composer/trigger/TriggerPopoverCategories.tsx
|
|
9
9
|
/**
|
|
10
10
|
* Renders the top-level category list via a render function.
|
|
@@ -38,7 +38,7 @@ const ComposerPrimitiveTriggerPopoverCategories = forwardRef((t0, forwardedRef)
|
|
|
38
38
|
} else t2 = $[6];
|
|
39
39
|
let t3;
|
|
40
40
|
if ($[7] !== forwardedRef || $[8] !== props || $[9] !== t1 || $[10] !== t2) {
|
|
41
|
-
t3 = /* @__PURE__ */ jsx(Primitive.div, {
|
|
41
|
+
t3 = /* @__PURE__ */ jsx(Primitive$1.div, {
|
|
42
42
|
role: "group",
|
|
43
43
|
"aria-label": t1,
|
|
44
44
|
...props,
|
|
@@ -131,7 +131,7 @@ const ComposerPrimitiveTriggerPopoverCategoryItem = forwardRef((t0, forwardedRef
|
|
|
131
131
|
} else t7 = $[21];
|
|
132
132
|
let t8;
|
|
133
133
|
if ($[22] !== forwardedRef || $[23] !== isHighlighted || $[24] !== props || $[25] !== t4 || $[26] !== t5 || $[27] !== t6 || $[28] !== t7) {
|
|
134
|
-
t8 = /* @__PURE__ */ jsx(Primitive.button, {
|
|
134
|
+
t8 = /* @__PURE__ */ jsx(Primitive$1.button, {
|
|
135
135
|
type: "button",
|
|
136
136
|
role: "option",
|
|
137
137
|
id: t4,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverCategories.js","names":["c","_c","Primitive","ComponentRef","ComponentPropsWithoutRef","ReactNode","forwardRef","useCallback","composeEventHandlers","useTriggerPopoverScopeContext","Unstable_TriggerCategory","ComposerPrimitiveTriggerPopoverCategories","Element","div","Props","Omit","children","categories","t0","forwardedRef","$","ariaLabel","props","activeCategoryId","isSearchMode","open","t1","t2","t3","displayName","ComposerPrimitiveTriggerPopoverCategoryItem","button","categoryId","onClick","onMouseMove","selectCategory","highlightIndex","highlightedIndex","popoverId","handleClick","id","findIndex","categoryIndex","isHighlighted","handleMouseMove","t4","t5","undefined","t6","t7","t8"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverCategories.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../../utils/Primitive\";\nimport {\n type ComponentRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { composeEventHandlers } from \"
|
|
1
|
+
{"version":3,"file":"TriggerPopoverCategories.js","names":["c","_c","Primitive","ComponentRef","ComponentPropsWithoutRef","ReactNode","forwardRef","useCallback","composeEventHandlers","useTriggerPopoverScopeContext","Unstable_TriggerCategory","ComposerPrimitiveTriggerPopoverCategories","Element","div","Props","Omit","children","categories","t0","forwardedRef","$","ariaLabel","props","activeCategoryId","isSearchMode","open","t1","t2","t3","displayName","ComposerPrimitiveTriggerPopoverCategoryItem","button","categoryId","onClick","onMouseMove","selectCategory","highlightIndex","highlightedIndex","popoverId","handleClick","id","findIndex","categoryIndex","isHighlighted","handleMouseMove","t4","t5","undefined","t6","t7","t8"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverCategories.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../../utils/Primitive\";\nimport {\n type ComponentRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { composeEventHandlers } from \"radix-ui/internal\";\nimport { useTriggerPopoverScopeContext } from \"./TriggerPopover\";\nimport type { Unstable_TriggerCategory } from \"@assistant-ui/core\";\n\nexport namespace ComposerPrimitiveTriggerPopoverCategories {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof Primitive.div>,\n \"children\"\n > & {\n children: (categories: readonly Unstable_TriggerCategory[]) => ReactNode;\n };\n}\n\n/**\n * Renders the top-level category list via a render function.\n * Only renders when no category is active and search mode is off.\n */\nexport const ComposerPrimitiveTriggerPopoverCategories = forwardRef<\n ComposerPrimitiveTriggerPopoverCategories.Element,\n ComposerPrimitiveTriggerPopoverCategories.Props\n>(({ children, \"aria-label\": ariaLabel, ...props }, forwardedRef) => {\n const { categories, activeCategoryId, isSearchMode, open } =\n useTriggerPopoverScopeContext();\n\n if (!open || activeCategoryId || isSearchMode) return null;\n\n return (\n <Primitive.div\n role=\"group\"\n aria-label={ariaLabel ?? \"Categories\"}\n {...props}\n ref={forwardedRef}\n >\n {children(categories)}\n </Primitive.div>\n );\n});\n\nComposerPrimitiveTriggerPopoverCategories.displayName =\n \"ComposerPrimitive.TriggerPopoverCategories\";\n\nexport namespace ComposerPrimitiveTriggerPopoverCategoryItem {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button> & {\n categoryId: string;\n };\n}\n\n/**\n * A button that selects a category and triggers drill-down navigation.\n * Automatically receives `data-highlighted` when keyboard-navigated.\n */\nexport const ComposerPrimitiveTriggerPopoverCategoryItem = forwardRef<\n ComposerPrimitiveTriggerPopoverCategoryItem.Element,\n ComposerPrimitiveTriggerPopoverCategoryItem.Props\n>(({ categoryId, onClick, onMouseMove, ...props }, forwardedRef) => {\n const {\n selectCategory,\n highlightIndex,\n categories,\n highlightedIndex,\n activeCategoryId,\n isSearchMode,\n popoverId,\n } = useTriggerPopoverScopeContext();\n\n const handleClick = useCallback(() => {\n selectCategory(categoryId);\n }, [selectCategory, categoryId]);\n\n const categoryIndex = categories.findIndex((c) => c.id === categoryId);\n const isHighlighted =\n !activeCategoryId && !isSearchMode && categoryIndex === highlightedIndex;\n\n const handleMouseMove = useCallback(() => {\n highlightIndex(categoryIndex);\n }, [highlightIndex, categoryIndex]);\n\n return (\n <Primitive.button\n type=\"button\"\n role=\"option\"\n id={`${popoverId}-option-${categoryId}`}\n aria-selected={isHighlighted}\n data-highlighted={isHighlighted ? \"\" : undefined}\n {...props}\n ref={forwardedRef}\n onClick={composeEventHandlers(onClick, handleClick)}\n onMouseMove={composeEventHandlers(onMouseMove, handleMouseMove)}\n />\n );\n});\n\nComposerPrimitiveTriggerPopoverCategoryItem.displayName =\n \"ComposerPrimitive.TriggerPopoverCategoryItem\";\n"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useTriggerBehaviorRegistration } from "./TriggerPopover.js";
|
|
3
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
3
4
|
import { unstable_defaultDirectiveFormatter } from "@assistant-ui/core";
|
|
4
|
-
import { useEffect, useRef } from "@assistant-ui/tap/react-shim";
|
|
5
|
+
import { useEffect, useInsertionEffect, useRef } from "@assistant-ui/tap/react-shim";
|
|
5
6
|
//#region src/primitives/composer/trigger/TriggerPopoverDirective.tsx
|
|
6
7
|
/**
|
|
7
8
|
* Configures a `<TriggerPopover>` to insert a directive chip when an item is
|
|
@@ -19,17 +20,46 @@ import { useEffect, useRef } from "@assistant-ui/tap/react-shim";
|
|
|
19
20
|
* </ComposerPrimitive.Unstable_TriggerPopover>
|
|
20
21
|
* ```
|
|
21
22
|
*/
|
|
22
|
-
const ComposerPrimitiveTriggerPopoverDirective = (
|
|
23
|
+
const ComposerPrimitiveTriggerPopoverDirective = (t0) => {
|
|
24
|
+
const $ = c(7);
|
|
25
|
+
const { formatter, onInserted } = t0;
|
|
23
26
|
const { register } = useTriggerBehaviorRegistration();
|
|
24
27
|
const onInsertedRef = useRef(onInserted);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
let t1;
|
|
29
|
+
let t2;
|
|
30
|
+
if ($[0] !== onInserted) {
|
|
31
|
+
t1 = () => {
|
|
32
|
+
onInsertedRef.current = onInserted;
|
|
33
|
+
};
|
|
34
|
+
t2 = [onInserted];
|
|
35
|
+
$[0] = onInserted;
|
|
36
|
+
$[1] = t1;
|
|
37
|
+
$[2] = t2;
|
|
38
|
+
} else {
|
|
39
|
+
t1 = $[1];
|
|
40
|
+
t2 = $[2];
|
|
41
|
+
}
|
|
42
|
+
useInsertionEffect(t1, t2);
|
|
43
|
+
let t3;
|
|
44
|
+
let t4;
|
|
45
|
+
if ($[3] !== formatter || $[4] !== register) {
|
|
46
|
+
t3 = () => {
|
|
47
|
+
return register({
|
|
48
|
+
kind: "directive",
|
|
49
|
+
formatter: formatter ?? unstable_defaultDirectiveFormatter,
|
|
50
|
+
onInserted: (item) => onInsertedRef.current?.(item)
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
t4 = [register, formatter];
|
|
54
|
+
$[3] = formatter;
|
|
55
|
+
$[4] = register;
|
|
56
|
+
$[5] = t3;
|
|
57
|
+
$[6] = t4;
|
|
58
|
+
} else {
|
|
59
|
+
t3 = $[5];
|
|
60
|
+
t4 = $[6];
|
|
61
|
+
}
|
|
62
|
+
useEffect(t3, t4);
|
|
33
63
|
return null;
|
|
34
64
|
};
|
|
35
65
|
ComposerPrimitiveTriggerPopoverDirective.displayName = "ComposerPrimitive.TriggerPopoverDirective";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverDirective.js","names":["Unstable_DirectiveFormatter","Unstable_TriggerItem","unstable_defaultDirectiveFormatter","useEffect","useRef","FC","useTriggerBehaviorRegistration","TriggerBehavior","ComposerPrimitiveTriggerPopoverDirective","Props","formatter","onInserted","item","register","onInsertedRef","current","behavior","kind","displayName"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverDirective.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n Unstable_DirectiveFormatter,\n Unstable_TriggerItem,\n} from \"@assistant-ui/core\";\nimport { unstable_defaultDirectiveFormatter } from \"@assistant-ui/core\";\nimport { useEffect, useRef, type FC } from \"react\";\nimport { useTriggerBehaviorRegistration } from \"./TriggerPopover\";\nimport type { TriggerBehavior } from \"./triggerSelectionResource\";\n\nexport namespace ComposerPrimitiveTriggerPopoverDirective {\n export type Props = {\n /** Defaults to `unstable_defaultDirectiveFormatter`. */\n readonly formatter?: Unstable_DirectiveFormatter | undefined;\n /** Fires after an item has been inserted into the composer. */\n readonly onInserted?: ((item: Unstable_TriggerItem) => void) | undefined;\n };\n}\n\n/**\n * Configures a `<TriggerPopover>` to insert a directive chip when an item is\n * selected. Render exactly one behavior sub-primitive per `<TriggerPopover>`.\n *\n * Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Directive`.\n *\n * @example\n * ```tsx\n * <ComposerPrimitive.Unstable_TriggerPopover char=\"@\" adapter={mentionAdapter}>\n * <ComposerPrimitive.Unstable_TriggerPopover.Directive\n * formatter={unstable_defaultDirectiveFormatter}\n * onInserted={(item) => track(\"mention\", item.id)}\n * />\n * </ComposerPrimitive.Unstable_TriggerPopover>\n * ```\n */\nexport const ComposerPrimitiveTriggerPopoverDirective: FC<\n ComposerPrimitiveTriggerPopoverDirective.Props\n> = ({ formatter, onInserted }) => {\n const { register } = useTriggerBehaviorRegistration();\n const onInsertedRef = useRef(onInserted);\n onInsertedRef.current = onInserted;\n\n useEffect(() => {\n const behavior: TriggerBehavior = {\n kind: \"directive\",\n formatter: formatter ?? unstable_defaultDirectiveFormatter,\n onInserted: (item) => onInsertedRef.current?.(item),\n };\n return register(behavior);\n }, [register, formatter]);\n\n return null;\n};\n\nComposerPrimitiveTriggerPopoverDirective.displayName =\n \"ComposerPrimitive.TriggerPopoverDirective\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TriggerPopoverDirective.js","names":["c","_c","Unstable_DirectiveFormatter","Unstable_TriggerItem","unstable_defaultDirectiveFormatter","useEffect","useInsertionEffect","useRef","FC","useTriggerBehaviorRegistration","TriggerBehavior","ComposerPrimitiveTriggerPopoverDirective","Props","formatter","onInserted","item","t0","$","register","onInsertedRef","t1","t2","current","t3","t4","behavior","kind","displayName"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverDirective.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n Unstable_DirectiveFormatter,\n Unstable_TriggerItem,\n} from \"@assistant-ui/core\";\nimport { unstable_defaultDirectiveFormatter } from \"@assistant-ui/core\";\nimport { useEffect, useInsertionEffect, useRef, type FC } from \"react\";\nimport { useTriggerBehaviorRegistration } from \"./TriggerPopover\";\nimport type { TriggerBehavior } from \"./triggerSelectionResource\";\n\nexport namespace ComposerPrimitiveTriggerPopoverDirective {\n export type Props = {\n /** Defaults to `unstable_defaultDirectiveFormatter`. */\n readonly formatter?: Unstable_DirectiveFormatter | undefined;\n /** Fires after an item has been inserted into the composer. */\n readonly onInserted?: ((item: Unstable_TriggerItem) => void) | undefined;\n };\n}\n\n/**\n * Configures a `<TriggerPopover>` to insert a directive chip when an item is\n * selected. Render exactly one behavior sub-primitive per `<TriggerPopover>`.\n *\n * Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Directive`.\n *\n * @example\n * ```tsx\n * <ComposerPrimitive.Unstable_TriggerPopover char=\"@\" adapter={mentionAdapter}>\n * <ComposerPrimitive.Unstable_TriggerPopover.Directive\n * formatter={unstable_defaultDirectiveFormatter}\n * onInserted={(item) => track(\"mention\", item.id)}\n * />\n * </ComposerPrimitive.Unstable_TriggerPopover>\n * ```\n */\nexport const ComposerPrimitiveTriggerPopoverDirective: FC<\n ComposerPrimitiveTriggerPopoverDirective.Props\n> = ({ formatter, onInserted }) => {\n const { register } = useTriggerBehaviorRegistration();\n const onInsertedRef = useRef(onInserted);\n useInsertionEffect(() => {\n onInsertedRef.current = onInserted;\n }, [onInserted]);\n\n useEffect(() => {\n const behavior: TriggerBehavior = {\n kind: \"directive\",\n formatter: formatter ?? unstable_defaultDirectiveFormatter,\n onInserted: (item) => onInsertedRef.current?.(item),\n };\n return register(behavior);\n }, [register, formatter]);\n\n return null;\n};\n\nComposerPrimitiveTriggerPopoverDirective.displayName =\n \"ComposerPrimitive.TriggerPopoverDirective\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAaW,4CAETK,OAAA;CAAA,MAAAC,IAAAhB,EAAA,CAAA;CAAC,MAAA,EAAAY,WAAAC,eAAAE;CACH,MAAA,EAAAE,aAAqBT,+BAA+B;CACpD,MAAAU,gBAAsBZ,OAAOO,UAAU;CAAE,IAAAM;CAAA,IAAAC;CAAA,IAAAJ,EAAA,OAAAH,YAAA;EACtBM,WAAA;GACjBD,cAAaG,UAAWR;EAAH;EACpBO,KAAA,CAACP,UAAU;EAACG,EAAA,KAAAH;EAAAG,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAA;EAAAD,KAAAH,EAAA;EAAAI,KAAAJ,EAAA;CAAA;CAFfX,mBAAmBc,IAEhBC,EAAY;CAAC,IAAAE;CAAA,IAAAC;CAAA,IAAAP,EAAA,OAAAJ,aAAAI,EAAA,OAAAC,UAAA;EAENK,WAAA;GAKN,OACKL,SAASO;IALkBC,MAC1B;IAAWb,WACNA,aAAAT;IAA+CU,aAC9CC,SAAUI,cAAaG,UAAWP,IAAI;GAEpCU,CAAQ;EAAC;EACxBD,KAAA,CAACN,UAAUL,SAAS;EAACI,EAAA,KAAAJ;EAAAI,EAAA,KAAAC;EAAAD,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAA;EAAAD,KAAAN,EAAA;EAAAO,KAAAP,EAAA;CAAA;CAPxBZ,UAAUkB,IAOPC,EAAqB;CAAC,OAElB;AAAI;AAGbb,yCAAyCgB,cACvC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Primitive } from "../../../utils/Primitive.js";
|
|
2
|
+
import { Primitive as Primitive$1 } from "../../../utils/Primitive.js";
|
|
3
3
|
import { useTriggerPopoverScopeContext } from "./TriggerPopover.js";
|
|
4
4
|
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
5
5
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
import { composeEventHandlers } from "
|
|
7
|
+
import { composeEventHandlers } from "radix-ui/internal";
|
|
8
8
|
//#region src/primitives/composer/trigger/TriggerPopoverItems.tsx
|
|
9
9
|
/**
|
|
10
10
|
* Renders the list of items within a category or search results via a render function.
|
|
@@ -38,7 +38,7 @@ const ComposerPrimitiveTriggerPopoverItems = forwardRef((t0, forwardedRef) => {
|
|
|
38
38
|
} else t2 = $[6];
|
|
39
39
|
let t3;
|
|
40
40
|
if ($[7] !== forwardedRef || $[8] !== props || $[9] !== t1 || $[10] !== t2) {
|
|
41
|
-
t3 = /* @__PURE__ */ jsx(Primitive.div, {
|
|
41
|
+
t3 = /* @__PURE__ */ jsx(Primitive$1.div, {
|
|
42
42
|
role: "group",
|
|
43
43
|
"aria-label": t1,
|
|
44
44
|
...props,
|
|
@@ -129,7 +129,7 @@ const ComposerPrimitiveTriggerPopoverItem = forwardRef((t0, forwardedRef) => {
|
|
|
129
129
|
} else t7 = $[21];
|
|
130
130
|
let t8;
|
|
131
131
|
if ($[22] !== forwardedRef || $[23] !== isHighlighted || $[24] !== props || $[25] !== t4 || $[26] !== t5 || $[27] !== t6 || $[28] !== t7) {
|
|
132
|
-
t8 = /* @__PURE__ */ jsx(Primitive.button, {
|
|
132
|
+
t8 = /* @__PURE__ */ jsx(Primitive$1.button, {
|
|
133
133
|
type: "button",
|
|
134
134
|
role: "option",
|
|
135
135
|
id: t4,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverItems.js","names":["c","_c","Primitive","ComponentRef","ComponentPropsWithoutRef","ReactNode","forwardRef","useCallback","composeEventHandlers","useTriggerPopoverScopeContext","Unstable_TriggerItem","ComposerPrimitiveTriggerPopoverItems","Element","div","Props","Omit","children","items","t0","forwardedRef","$","ariaLabel","props","activeCategoryId","isSearchMode","open","t1","t2","t3","displayName","ComposerPrimitiveTriggerPopoverItem","button","item","index","indexProp","onClick","onMouseMove","selectItem","highlightIndex","highlightedIndex","popoverId","handleClick","id","findIndex","i","itemIndex","isHighlighted","handleMouseMove","t4","t5","undefined","t6","t7","t8"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverItems.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../../utils/Primitive\";\nimport {\n type ComponentRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { composeEventHandlers } from \"
|
|
1
|
+
{"version":3,"file":"TriggerPopoverItems.js","names":["c","_c","Primitive","ComponentRef","ComponentPropsWithoutRef","ReactNode","forwardRef","useCallback","composeEventHandlers","useTriggerPopoverScopeContext","Unstable_TriggerItem","ComposerPrimitiveTriggerPopoverItems","Element","div","Props","Omit","children","items","t0","forwardedRef","$","ariaLabel","props","activeCategoryId","isSearchMode","open","t1","t2","t3","displayName","ComposerPrimitiveTriggerPopoverItem","button","item","index","indexProp","onClick","onMouseMove","selectItem","highlightIndex","highlightedIndex","popoverId","handleClick","id","findIndex","i","itemIndex","isHighlighted","handleMouseMove","t4","t5","undefined","t6","t7","t8"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverItems.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../../utils/Primitive\";\nimport {\n type ComponentRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { composeEventHandlers } from \"radix-ui/internal\";\nimport { useTriggerPopoverScopeContext } from \"./TriggerPopover\";\nimport type { Unstable_TriggerItem } from \"@assistant-ui/core\";\n\nexport namespace ComposerPrimitiveTriggerPopoverItems {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof Primitive.div>,\n \"children\"\n > & {\n children: (items: readonly Unstable_TriggerItem[]) => ReactNode;\n };\n}\n\n/**\n * Renders the list of items within a category or search results via a render function.\n * Only renders when a category is active or search mode is on.\n */\nexport const ComposerPrimitiveTriggerPopoverItems = forwardRef<\n ComposerPrimitiveTriggerPopoverItems.Element,\n ComposerPrimitiveTriggerPopoverItems.Props\n>(({ children, \"aria-label\": ariaLabel, ...props }, forwardedRef) => {\n const { items, activeCategoryId, isSearchMode, open } =\n useTriggerPopoverScopeContext();\n\n if (!open || (!activeCategoryId && !isSearchMode)) return null;\n\n return (\n <Primitive.div\n role=\"group\"\n aria-label={ariaLabel ?? \"Items\"}\n {...props}\n ref={forwardedRef}\n >\n {children(items)}\n </Primitive.div>\n );\n});\n\nComposerPrimitiveTriggerPopoverItems.displayName =\n \"ComposerPrimitive.TriggerPopoverItems\";\n\nexport namespace ComposerPrimitiveTriggerPopoverItem {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button> & {\n item: Unstable_TriggerItem;\n index?: number | undefined;\n };\n}\n\n/**\n * A button that selects a trigger item.\n * Automatically receives `data-highlighted` when keyboard-navigated.\n */\nexport const ComposerPrimitiveTriggerPopoverItem = forwardRef<\n ComposerPrimitiveTriggerPopoverItem.Element,\n ComposerPrimitiveTriggerPopoverItem.Props\n>(\n (\n { item, index: indexProp, onClick, onMouseMove, ...props },\n forwardedRef,\n ) => {\n const {\n selectItem,\n highlightIndex,\n items,\n highlightedIndex,\n activeCategoryId,\n isSearchMode,\n popoverId,\n } = useTriggerPopoverScopeContext();\n\n const handleClick = useCallback(() => {\n selectItem(item);\n }, [selectItem, item]);\n\n const itemIndex = indexProp ?? items.findIndex((i) => i.id === item.id);\n const isHighlighted =\n (isSearchMode || activeCategoryId !== null) &&\n itemIndex === highlightedIndex;\n\n const handleMouseMove = useCallback(() => {\n highlightIndex(itemIndex);\n }, [highlightIndex, itemIndex]);\n\n return (\n <Primitive.button\n type=\"button\"\n role=\"option\"\n id={`${popoverId}-option-${item.id}`}\n aria-selected={isHighlighted}\n data-highlighted={isHighlighted ? \"\" : undefined}\n {...props}\n ref={forwardedRef}\n onClick={composeEventHandlers(onClick, handleClick)}\n onMouseMove={composeEventHandlers(onMouseMove, handleMouseMove)}\n />\n );\n },\n);\n\nComposerPrimitiveTriggerPopoverItem.displayName =\n \"ComposerPrimitive.TriggerPopoverItem\";\n"],"mappings":";;;;;;;;;;;;AA4BA,MAAaW,uCAAuCL,YAGlDY,IAAAC,iBAAA;CAAA,MAAAC,IAAAnB,EAAA,EAAA;CAAA,IAAAoB;CAAA,IAAAL;CAAA,IAAAM;CAAA,IAAAF,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAF,UAAA,cAAAK,WAAA,GAAAC,SAAAJ;EAA+CE,EAAA,KAAAF;EAAAE,EAAA,KAAAC;EAAAD,EAAA,KAAAJ;EAAAI,EAAA,KAAAE;CAAA,OAAA;EAAAD,YAAAD,EAAA;EAAAJ,WAAAI,EAAA;EAAAE,QAAAF,EAAA;CAAA;CAChD,MAAA,EAAAH,OAAAM,kBAAAC,cAAAC,SACEhB,8BAA8B;CAEhC,IAAI,CAACgB,QAAS,CAACF,oBAAD,CAAsBC,cAAa,OAAS;CAK1C,MAAAE,KAAAL,aAAA;CAAoB,IAAAM;CAAA,IAAAP,EAAA,OAAAJ,YAAAI,EAAA,OAAAH,OAAA;EAI/BU,KAAAX,SAASC,KAAK;EAACG,EAAA,KAAAJ;EAAAI,EAAA,KAAAH;EAAAG,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAD,gBAAAC,EAAA,OAAAE,SAAAF,EAAA,OAAAM,MAAAN,EAAA,QAAAO,IAAA;EANlBC,KAAA,oBAAA,YAAA,KAAA;GACO,MAAA;GACO,cAAAF;GAAoB,GAC5BJ;GACCH,KAAAA;GAEJQ,UAAAA;EACH,CAAA;EAAgBP,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAM;EAAAN,EAAA,MAAAO;EAAAP,EAAA,MAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAPhBQ;AAOgB,CAEnB;AAEDjB,qCAAqCkB,cACnC;;;;;AAcF,MAAaC,sCAAsCxB,YAIjDY,IAAAC,iBAAA;CAAA,MAAAC,IAAAnB,EAAA,EAAA;CAAA,IAAAiC;CAAA,IAAAF;CAAA,IAAAG;CAAA,IAAAC;CAAA,IAAAd;CAAA,IAAAF,EAAA,OAAAF,IAAA;EACE,CAAA,CAAAc,MAAAC,OAAAC,WAAAC,SAAAC,aAAA,GAAAd,SAAAJ;EAA0DE,EAAA,KAAAF;EAAAE,EAAA,KAAAc;EAAAd,EAAA,KAAAY;EAAAZ,EAAA,KAAAe;EAAAf,EAAA,KAAAgB;EAAAhB,EAAA,KAAAE;CAAA,OAAA;EAAAY,YAAAd,EAAA;EAAAY,OAAAZ,EAAA;EAAAe,UAAAf,EAAA;EAAAgB,cAAAhB,EAAA;EAAAE,QAAAF,EAAA;CAAA;CAG1D,MAAA,EAAAiB,YAAAC,gBAAArB,OAAAsB,kBAAAhB,kBAAAC,cAAAgB,cAQI/B,8BAA8B;CAAE,IAAAiB;CAAA,IAAAN,EAAA,OAAAY,QAAAZ,EAAA,OAAAiB,YAAA;EAEJX,WAAA;GAC9BW,WAAWL,IAAI;EAAC;EACjBZ,EAAA,KAAAY;EAAAZ,EAAA,KAAAiB;EAAAjB,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAFD,MAAAqB,cAAoBf;CAEG,IAAAC;CAAA,IAAAP,EAAA,OAAAc,aAAAd,EAAA,QAAAY,KAAAU,MAAAtB,EAAA,QAAAH,OAAA;EAELU,KAAAO,aAAajB,MAAK0B,WAAWC,MAAOA,EAACF,OAAQV,KAAIU,EAAG;EAACtB,EAAA,KAAAc;EAAAd,EAAA,MAAAY,KAAAU;EAAAtB,EAAA,MAAAH;EAAAG,EAAA,MAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAvE,MAAAyB,YAAkBlB;CAClB,MAAAmB,iBACGtB,gBAAgBD,qBAAqB,SACtCsB,cAAcN;CAAiB,IAAAX;CAAA,IAAAR,EAAA,QAAAkB,kBAAAlB,EAAA,QAAAyB,WAAA;EAEGjB,WAAA;GAClCU,eAAeO,SAAS;EAAC;EAC1BzB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAyB;EAAAzB,EAAA,MAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAFD,MAAA2B,kBAAwBnB;CAQhB,MAAAoB,KAAA,GAAGR,UAAS,UAAWR,KAAIU;CAEb,MAAAO,KAAAH,gBAAA,KAAAI,KAAAA;CAA8B,IAAAC;CAAA,IAAA/B,EAAA,QAAAqB,eAAArB,EAAA,QAAAe,SAAA;EAGvCgB,KAAA3C,qBAAqB2B,SAASM,WAAW;EAACrB,EAAA,MAAAqB;EAAArB,EAAA,MAAAe;EAAAf,EAAA,MAAA+B;CAAA,OAAAA,KAAA/B,EAAA;CAAA,IAAAgC;CAAA,IAAAhC,EAAA,QAAA2B,mBAAA3B,EAAA,QAAAgB,aAAA;EACtCgB,KAAA5C,qBAAqB4B,aAAaW,eAAe;EAAC3B,EAAA,MAAA2B;EAAA3B,EAAA,MAAAgB;EAAAhB,EAAA,MAAAgC;CAAA,OAAAA,KAAAhC,EAAA;CAAA,IAAAiC;CAAA,IAAAjC,EAAA,QAAAD,gBAAAC,EAAA,QAAA0B,iBAAA1B,EAAA,QAAAE,SAAAF,EAAA,QAAA4B,MAAA5B,EAAA,QAAA6B,MAAA7B,EAAA,QAAA+B,MAAA/B,EAAA,QAAAgC,IAAA;EATjEC,KAAA,oBAAA,YAAA,QAAA;GACO,MAAA;GACA,MAAA;GACD,IAAAL;GACWF,iBAAAA;GACG,oBAAAG;GAA8B,GAC5C3B;GACCH,KAAAA;GACI,SAAAgC;GACI,aAAAC;EAAkD,CAAA;EAC/DhC,EAAA,MAAAD;EAAAC,EAAA,MAAA0B;EAAA1B,EAAA,MAAAE;EAAAF,EAAA,MAAA4B;EAAA5B,EAAA,MAAA6B;EAAA7B,EAAA,MAAA+B;EAAA/B,EAAA,MAAAgC;EAAAhC,EAAA,MAAAiC;CAAA,OAAAA,KAAAjC,EAAA;CAAA,OAVFiC;AAUE,CAGR;AAEAvB,oCAAoCD,cAClC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TriggerMatcher } from "./detectTrigger.js";
|
|
1
2
|
import { SelectItemOverride, TriggerBehavior } from "./triggerSelectionResource.js";
|
|
2
3
|
import { TriggerPopoverKeyEvent } from "./triggerKeyboardResource.js";
|
|
3
4
|
import { AssistantClient } from "@assistant-ui/store";
|
|
@@ -37,6 +38,7 @@ declare const TriggerPopoverResource: import("@assistant-ui/tap").Resource<Trigg
|
|
|
37
38
|
adapter: Unstable_TriggerAdapter | undefined;
|
|
38
39
|
text: string;
|
|
39
40
|
triggerChar: string;
|
|
41
|
+
matcher: TriggerMatcher | undefined;
|
|
40
42
|
behavior: TriggerBehavior | undefined;
|
|
41
43
|
aui: AssistantClient;
|
|
42
44
|
/** Stable ID for accessible element IDs (pass React's useId() from component layer). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverResource.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverResource.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TriggerPopoverResource.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverResource.ts"],"mappings":";;;;;;;KAsBY,mBAAmB;KAEnB;WACD;WACA;WACA;WACA,qBAAqB;WACrB,gBAAgB;WAChB;WACA;;WAEA;;WAEA;;WAEA;EAET,eAAe;EACf;EACA,WAAW,MAAM;EACjB;;EAEA,eAAe;EACf,cAAc;aACH;aACA;IACT;;EAGF,kBAAkB;EAClB,2BAA2B,IAAI;;cA6FpB,oDAAsB,SAAA;EA/ExB,SAAA;EACH;EACO;EACJ,SAAA;EACC,UAAA;EACL,KAAA;;EAEM;EACA"}
|
|
@@ -8,44 +8,46 @@ import { resource, useResource } from "@assistant-ui/tap";
|
|
|
8
8
|
//#region src/primitives/composer/trigger/TriggerPopoverResource.ts
|
|
9
9
|
/** Composes detection, navigation, keyboard, and selection sub-resources. */
|
|
10
10
|
const useTriggerPopoverResource = (t0) => {
|
|
11
|
-
const $ = c(
|
|
12
|
-
const { adapter, text, triggerChar, behavior, aui, popoverId, isLoading } = t0;
|
|
11
|
+
const $ = c(47);
|
|
12
|
+
const { adapter, text, triggerChar, matcher, behavior, aui, popoverId, isLoading } = t0;
|
|
13
13
|
let t1;
|
|
14
|
-
if ($[0] !==
|
|
14
|
+
if ($[0] !== matcher || $[1] !== text || $[2] !== triggerChar) {
|
|
15
15
|
t1 = TriggerDetectionResource({
|
|
16
16
|
text,
|
|
17
|
-
triggerChar
|
|
17
|
+
triggerChar,
|
|
18
|
+
matcher
|
|
18
19
|
});
|
|
19
|
-
$[0] =
|
|
20
|
-
$[1] =
|
|
21
|
-
$[2] =
|
|
22
|
-
|
|
20
|
+
$[0] = matcher;
|
|
21
|
+
$[1] = text;
|
|
22
|
+
$[2] = triggerChar;
|
|
23
|
+
$[3] = t1;
|
|
24
|
+
} else t1 = $[3];
|
|
23
25
|
const detection = useResource(t1);
|
|
24
26
|
const open = detection.trigger !== null && adapter !== void 0 && behavior !== void 0;
|
|
25
27
|
let t2;
|
|
26
|
-
if ($[
|
|
28
|
+
if ($[4] !== adapter || $[5] !== detection.query || $[6] !== open) {
|
|
27
29
|
t2 = TriggerNavigationResource({
|
|
28
30
|
adapter,
|
|
29
31
|
query: detection.query,
|
|
30
32
|
open
|
|
31
33
|
});
|
|
32
|
-
$[
|
|
33
|
-
$[
|
|
34
|
-
$[
|
|
35
|
-
$[
|
|
36
|
-
} else t2 = $[
|
|
34
|
+
$[4] = adapter;
|
|
35
|
+
$[5] = detection.query;
|
|
36
|
+
$[6] = open;
|
|
37
|
+
$[7] = t2;
|
|
38
|
+
} else t2 = $[7];
|
|
37
39
|
const navigation = useResource(t2);
|
|
38
40
|
let t3;
|
|
39
|
-
if ($[
|
|
41
|
+
if ($[8] !== navigation) {
|
|
40
42
|
t3 = () => {
|
|
41
43
|
navigation.goBack();
|
|
42
44
|
};
|
|
43
|
-
$[
|
|
44
|
-
$[
|
|
45
|
-
} else t3 = $[
|
|
45
|
+
$[8] = navigation;
|
|
46
|
+
$[9] = t3;
|
|
47
|
+
} else t3 = $[9];
|
|
46
48
|
const onSelected = useEffectEvent(t3);
|
|
47
49
|
let t4;
|
|
48
|
-
if ($[
|
|
50
|
+
if ($[10] !== aui || $[11] !== behavior || $[12] !== detection.setCursorPosition || $[13] !== detection.trigger || $[14] !== onSelected || $[15] !== triggerChar) {
|
|
49
51
|
t4 = TriggerSelectionResource({
|
|
50
52
|
behavior,
|
|
51
53
|
trigger: detection.trigger,
|
|
@@ -54,17 +56,17 @@ const useTriggerPopoverResource = (t0) => {
|
|
|
54
56
|
setCursorPosition: detection.setCursorPosition,
|
|
55
57
|
onSelected
|
|
56
58
|
});
|
|
57
|
-
$[
|
|
58
|
-
$[
|
|
59
|
-
$[
|
|
60
|
-
$[
|
|
61
|
-
$[
|
|
62
|
-
$[
|
|
63
|
-
$[
|
|
64
|
-
} else t4 = $[
|
|
59
|
+
$[10] = aui;
|
|
60
|
+
$[11] = behavior;
|
|
61
|
+
$[12] = detection.setCursorPosition;
|
|
62
|
+
$[13] = detection.trigger;
|
|
63
|
+
$[14] = onSelected;
|
|
64
|
+
$[15] = triggerChar;
|
|
65
|
+
$[16] = t4;
|
|
66
|
+
} else t4 = $[16];
|
|
65
67
|
const selection = useResource(t4);
|
|
66
68
|
let t5;
|
|
67
|
-
if ($[
|
|
69
|
+
if ($[17] !== detection.query || $[18] !== navigation.activeCategoryId || $[19] !== navigation.goBack || $[20] !== navigation.isSearchMode || $[21] !== navigation.navigableList || $[22] !== navigation.selectCategory || $[23] !== open || $[24] !== popoverId || $[25] !== selection.close || $[26] !== selection.selectItem) {
|
|
68
70
|
t5 = TriggerKeyboardResource({
|
|
69
71
|
navigableList: navigation.navigableList,
|
|
70
72
|
isSearchMode: navigation.isSearchMode,
|
|
@@ -77,21 +79,21 @@ const useTriggerPopoverResource = (t0) => {
|
|
|
77
79
|
goBack: navigation.goBack,
|
|
78
80
|
close: selection.close
|
|
79
81
|
});
|
|
80
|
-
$[
|
|
81
|
-
$[
|
|
82
|
-
$[
|
|
83
|
-
$[
|
|
84
|
-
$[
|
|
85
|
-
$[
|
|
86
|
-
$[
|
|
87
|
-
$[
|
|
88
|
-
$[
|
|
89
|
-
$[
|
|
90
|
-
$[
|
|
91
|
-
} else t5 = $[
|
|
82
|
+
$[17] = detection.query;
|
|
83
|
+
$[18] = navigation.activeCategoryId;
|
|
84
|
+
$[19] = navigation.goBack;
|
|
85
|
+
$[20] = navigation.isSearchMode;
|
|
86
|
+
$[21] = navigation.navigableList;
|
|
87
|
+
$[22] = navigation.selectCategory;
|
|
88
|
+
$[23] = open;
|
|
89
|
+
$[24] = popoverId;
|
|
90
|
+
$[25] = selection.close;
|
|
91
|
+
$[26] = selection.selectItem;
|
|
92
|
+
$[27] = t5;
|
|
93
|
+
} else t5 = $[27];
|
|
92
94
|
const keyboard = useResource(t5);
|
|
93
95
|
let t6;
|
|
94
|
-
if ($[
|
|
96
|
+
if ($[28] !== detection.query || $[29] !== detection.setCursorPosition || $[30] !== isLoading || $[31] !== keyboard.handleKeyDown || $[32] !== keyboard.highlightIndex || $[33] !== keyboard.highlightedIndex || $[34] !== keyboard.highlightedItemId || $[35] !== navigation.activeCategoryId || $[36] !== navigation.categories || $[37] !== navigation.goBack || $[38] !== navigation.isSearchMode || $[39] !== navigation.items || $[40] !== navigation.selectCategory || $[41] !== open || $[42] !== popoverId || $[43] !== selection.close || $[44] !== selection.registerSelectItemOverride || $[45] !== selection.selectItem) {
|
|
95
97
|
t6 = {
|
|
96
98
|
open,
|
|
97
99
|
query: detection.query,
|
|
@@ -112,26 +114,26 @@ const useTriggerPopoverResource = (t0) => {
|
|
|
112
114
|
setCursorPosition: detection.setCursorPosition,
|
|
113
115
|
registerSelectItemOverride: selection.registerSelectItemOverride
|
|
114
116
|
};
|
|
115
|
-
$[
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
118
|
-
$[
|
|
119
|
-
$[
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
123
|
-
$[
|
|
124
|
-
$[
|
|
125
|
-
$[
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
$[
|
|
130
|
-
$[
|
|
131
|
-
$[
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
134
|
-
} else t6 = $[
|
|
117
|
+
$[28] = detection.query;
|
|
118
|
+
$[29] = detection.setCursorPosition;
|
|
119
|
+
$[30] = isLoading;
|
|
120
|
+
$[31] = keyboard.handleKeyDown;
|
|
121
|
+
$[32] = keyboard.highlightIndex;
|
|
122
|
+
$[33] = keyboard.highlightedIndex;
|
|
123
|
+
$[34] = keyboard.highlightedItemId;
|
|
124
|
+
$[35] = navigation.activeCategoryId;
|
|
125
|
+
$[36] = navigation.categories;
|
|
126
|
+
$[37] = navigation.goBack;
|
|
127
|
+
$[38] = navigation.isSearchMode;
|
|
128
|
+
$[39] = navigation.items;
|
|
129
|
+
$[40] = navigation.selectCategory;
|
|
130
|
+
$[41] = open;
|
|
131
|
+
$[42] = popoverId;
|
|
132
|
+
$[43] = selection.close;
|
|
133
|
+
$[44] = selection.registerSelectItemOverride;
|
|
134
|
+
$[45] = selection.selectItem;
|
|
135
|
+
$[46] = t6;
|
|
136
|
+
} else t6 = $[46];
|
|
135
137
|
return t6;
|
|
136
138
|
};
|
|
137
139
|
const TriggerPopoverResource = resource(useTriggerPopoverResource);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverResource.js","names":["useEffectEvent","useResource","resource","Unstable_TriggerAdapter","Unstable_TriggerCategory","Unstable_TriggerItem","AssistantClient","TriggerDetectionResource","TriggerKeyboardResource","TriggerNavigationResource","TriggerSelectionResource","SelectItemOverride","TriggerBehavior","TriggerPopoverKeyEvent","OnSelectBehavior","TriggerPopoverResourceOutput","open","query","activeCategoryId","categories","items","highlightedIndex","isSearchMode","isLoading","popoverId","highlightedItemId","selectCategory","categoryId","goBack","selectItem","item","close","highlightIndex","index","handleKeyDown","e","key","shiftKey","preventDefault","setCursorPosition","pos","registerSelectItemOverride","fn","useTriggerPopoverResource","t0","$","_c","adapter","text","triggerChar","behavior","aui","t1","detection","trigger","undefined","t2","navigation","t3","onSelected","t4","selection","t5","navigableList","keyboard","t6","TriggerPopoverResource"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverResource.ts"],"sourcesContent":["import { useEffectEvent } from \"react\";\nimport { useResource, resource } from \"@assistant-ui/tap\";\nimport type {\n Unstable_TriggerAdapter,\n Unstable_TriggerCategory,\n Unstable_TriggerItem,\n} from \"@assistant-ui/core\";\nimport type { AssistantClient } from \"@assistant-ui/store\";\nimport { TriggerDetectionResource } from \"./triggerDetectionResource\";\nimport { TriggerKeyboardResource } from \"./triggerKeyboardResource\";\nimport { TriggerNavigationResource } from \"./triggerNavigationResource\";\nimport {\n TriggerSelectionResource,\n type SelectItemOverride,\n type TriggerBehavior,\n} from \"./triggerSelectionResource\";\n\nexport type { SelectItemOverride, TriggerBehavior };\nexport type { TriggerPopoverKeyEvent } from \"./triggerKeyboardResource\";\n\n/** @deprecated Use `TriggerBehavior`. */\nexport type OnSelectBehavior = TriggerBehavior;\n\nexport type TriggerPopoverResourceOutput = {\n readonly open: boolean;\n readonly query: string;\n readonly activeCategoryId: string | null;\n readonly categories: readonly Unstable_TriggerCategory[];\n readonly items: readonly Unstable_TriggerItem[];\n readonly highlightedIndex: number;\n readonly isSearchMode: boolean;\n /** Whether the adapter is currently resolving items (async sources). */\n readonly isLoading: boolean;\n /** Stable ID prefix for generating accessible element IDs. */\n readonly popoverId: string;\n /** ID of the currently highlighted item (for aria-activedescendant). */\n readonly highlightedItemId: string | undefined;\n\n selectCategory(categoryId: string): void;\n goBack(): void;\n selectItem(item: Unstable_TriggerItem): void;\n close(): void;\n /** Move the highlight to an entry index (e.g. from pointer hover). Out-of-range values are ignored. */\n highlightIndex(index: number): void;\n handleKeyDown(e: {\n readonly key: string;\n readonly shiftKey: boolean;\n preventDefault(): void;\n }): boolean;\n\n setCursorPosition(pos: number): void;\n registerSelectItemOverride(fn: SelectItemOverride): () => void;\n};\n\n/** Composes detection, navigation, keyboard, and selection sub-resources. */\nconst useTriggerPopoverResource = ({\n adapter,\n text,\n triggerChar,\n behavior,\n aui,\n popoverId,\n isLoading,\n}: {\n adapter: Unstable_TriggerAdapter | undefined;\n text: string;\n triggerChar: string;\n behavior: TriggerBehavior | undefined;\n aui: AssistantClient;\n /** Stable ID for accessible element IDs (pass React's useId() from component layer). */\n popoverId: string;\n isLoading: boolean;\n}): TriggerPopoverResourceOutput => {\n const detection = useResource(\n TriggerDetectionResource({ text, triggerChar }),\n );\n\n const open =\n detection.trigger !== null &&\n adapter !== undefined &&\n behavior !== undefined;\n\n const navigation = useResource(\n TriggerNavigationResource({\n adapter,\n query: detection.query,\n open,\n }),\n );\n\n const onSelected = useEffectEvent(() => {\n navigation.goBack();\n });\n\n const selection = useResource(\n TriggerSelectionResource({\n behavior,\n trigger: detection.trigger,\n aui,\n triggerChar,\n setCursorPosition: detection.setCursorPosition,\n onSelected,\n }),\n );\n\n const keyboard = useResource(\n TriggerKeyboardResource({\n navigableList: navigation.navigableList,\n isSearchMode: navigation.isSearchMode,\n activeCategoryId: navigation.activeCategoryId,\n query: detection.query,\n popoverId,\n open,\n selectItem: selection.selectItem,\n selectCategory: navigation.selectCategory,\n goBack: navigation.goBack,\n close: selection.close,\n }),\n );\n\n return {\n open,\n query: detection.query,\n activeCategoryId: navigation.activeCategoryId,\n categories: navigation.categories,\n items: navigation.items,\n highlightedIndex: keyboard.highlightedIndex,\n isSearchMode: navigation.isSearchMode,\n isLoading,\n popoverId,\n highlightedItemId: keyboard.highlightedItemId,\n selectCategory: navigation.selectCategory,\n goBack: navigation.goBack,\n selectItem: selection.selectItem,\n close: selection.close,\n highlightIndex: keyboard.highlightIndex,\n handleKeyDown: keyboard.handleKeyDown,\n setCursorPosition: detection.setCursorPosition,\n registerSelectItemOverride: selection.registerSelectItemOverride,\n };\n};\n\nexport const TriggerPopoverResource = resource(useTriggerPopoverResource);\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"TriggerPopoverResource.js","names":["useEffectEvent","useResource","resource","Unstable_TriggerAdapter","Unstable_TriggerCategory","Unstable_TriggerItem","AssistantClient","TriggerDetectionResource","TriggerKeyboardResource","TriggerNavigationResource","TriggerSelectionResource","SelectItemOverride","TriggerBehavior","TriggerMatcher","TriggerPopoverKeyEvent","OnSelectBehavior","TriggerPopoverResourceOutput","open","query","activeCategoryId","categories","items","highlightedIndex","isSearchMode","isLoading","popoverId","highlightedItemId","selectCategory","categoryId","goBack","selectItem","item","close","highlightIndex","index","handleKeyDown","e","key","shiftKey","preventDefault","setCursorPosition","pos","registerSelectItemOverride","fn","useTriggerPopoverResource","t0","$","_c","adapter","text","triggerChar","matcher","behavior","aui","t1","detection","trigger","undefined","t2","navigation","t3","onSelected","t4","selection","t5","navigableList","keyboard","t6","TriggerPopoverResource"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverResource.ts"],"sourcesContent":["import { useEffectEvent } from \"react\";\nimport { useResource, resource } from \"@assistant-ui/tap\";\nimport type {\n Unstable_TriggerAdapter,\n Unstable_TriggerCategory,\n Unstable_TriggerItem,\n} from \"@assistant-ui/core\";\nimport type { AssistantClient } from \"@assistant-ui/store\";\nimport { TriggerDetectionResource } from \"./triggerDetectionResource\";\nimport { TriggerKeyboardResource } from \"./triggerKeyboardResource\";\nimport { TriggerNavigationResource } from \"./triggerNavigationResource\";\nimport {\n TriggerSelectionResource,\n type SelectItemOverride,\n type TriggerBehavior,\n} from \"./triggerSelectionResource\";\nimport type { TriggerMatcher } from \"./detectTrigger\";\n\nexport type { SelectItemOverride, TriggerBehavior };\nexport type { TriggerPopoverKeyEvent } from \"./triggerKeyboardResource\";\n\n/** @deprecated Use `TriggerBehavior`. */\nexport type OnSelectBehavior = TriggerBehavior;\n\nexport type TriggerPopoverResourceOutput = {\n readonly open: boolean;\n readonly query: string;\n readonly activeCategoryId: string | null;\n readonly categories: readonly Unstable_TriggerCategory[];\n readonly items: readonly Unstable_TriggerItem[];\n readonly highlightedIndex: number;\n readonly isSearchMode: boolean;\n /** Whether the adapter is currently resolving items (async sources). */\n readonly isLoading: boolean;\n /** Stable ID prefix for generating accessible element IDs. */\n readonly popoverId: string;\n /** ID of the currently highlighted item (for aria-activedescendant). */\n readonly highlightedItemId: string | undefined;\n\n selectCategory(categoryId: string): void;\n goBack(): void;\n selectItem(item: Unstable_TriggerItem): void;\n close(): void;\n /** Move the highlight to an entry index (e.g. from pointer hover). Out-of-range values are ignored. */\n highlightIndex(index: number): void;\n handleKeyDown(e: {\n readonly key: string;\n readonly shiftKey: boolean;\n preventDefault(): void;\n }): boolean;\n\n setCursorPosition(pos: number): void;\n registerSelectItemOverride(fn: SelectItemOverride): () => void;\n};\n\n/** Composes detection, navigation, keyboard, and selection sub-resources. */\nconst useTriggerPopoverResource = ({\n adapter,\n text,\n triggerChar,\n matcher,\n behavior,\n aui,\n popoverId,\n isLoading,\n}: {\n adapter: Unstable_TriggerAdapter | undefined;\n text: string;\n triggerChar: string;\n matcher: TriggerMatcher | undefined;\n behavior: TriggerBehavior | undefined;\n aui: AssistantClient;\n /** Stable ID for accessible element IDs (pass React's useId() from component layer). */\n popoverId: string;\n isLoading: boolean;\n}): TriggerPopoverResourceOutput => {\n const detection = useResource(\n TriggerDetectionResource({ text, triggerChar, matcher }),\n );\n\n const open =\n detection.trigger !== null &&\n adapter !== undefined &&\n behavior !== undefined;\n\n const navigation = useResource(\n TriggerNavigationResource({\n adapter,\n query: detection.query,\n open,\n }),\n );\n\n const onSelected = useEffectEvent(() => {\n navigation.goBack();\n });\n\n const selection = useResource(\n TriggerSelectionResource({\n behavior,\n trigger: detection.trigger,\n aui,\n triggerChar,\n setCursorPosition: detection.setCursorPosition,\n onSelected,\n }),\n );\n\n const keyboard = useResource(\n TriggerKeyboardResource({\n navigableList: navigation.navigableList,\n isSearchMode: navigation.isSearchMode,\n activeCategoryId: navigation.activeCategoryId,\n query: detection.query,\n popoverId,\n open,\n selectItem: selection.selectItem,\n selectCategory: navigation.selectCategory,\n goBack: navigation.goBack,\n close: selection.close,\n }),\n );\n\n return {\n open,\n query: detection.query,\n activeCategoryId: navigation.activeCategoryId,\n categories: navigation.categories,\n items: navigation.items,\n highlightedIndex: keyboard.highlightedIndex,\n isSearchMode: navigation.isSearchMode,\n isLoading,\n popoverId,\n highlightedItemId: keyboard.highlightedItemId,\n selectCategory: navigation.selectCategory,\n goBack: navigation.goBack,\n selectItem: selection.selectItem,\n close: selection.close,\n highlightIndex: keyboard.highlightIndex,\n handleKeyDown: keyboard.handleKeyDown,\n setCursorPosition: detection.setCursorPosition,\n registerSelectItemOverride: selection.registerSelectItemOverride,\n };\n};\n\nexport const TriggerPopoverResource = resource(useTriggerPopoverResource);\n"],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { TriggerMatcher } from "./detectTrigger.js";
|
|
1
2
|
import { TriggerBehavior } from "./triggerSelectionResource.js";
|
|
2
3
|
import { TriggerPopoverResourceOutput } from "./TriggerPopoverResource.js";
|
|
3
4
|
import { FC, ReactNode } from "react";
|
|
4
5
|
//#region src/primitives/composer/trigger/TriggerPopoverRootContext.d.ts
|
|
5
6
|
type RegisteredTrigger = {
|
|
6
7
|
readonly char: string;
|
|
8
|
+
readonly matcher?: TriggerMatcher | undefined;
|
|
7
9
|
/** Behavior contributed by a child `TriggerPopover.Directive` / `.Action`. */
|
|
8
10
|
readonly behavior?: TriggerBehavior;
|
|
9
11
|
readonly resource: TriggerPopoverResourceOutput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverRootContext.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverRootContext.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TriggerPopoverRootContext.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverRootContext.tsx"],"mappings":";;;;;KAoBY;WACD;WACA,UAAU;;WAEV,WAAW;WACX,UAAU;;KAGT;EACV,MAAM,SAAS;EACf,QAAQ;;;;;;;KAQE;EACV;EACA;;KAGU;EACV,SAAS,SAAS;EAClB,eAAe,oBAAoB;EACnC,UAAU;;EAEV,mBAAmB,UAAU;;EAE7B,iBAAiB;;EAEjB,cAAc;;;;;;;KAQX;EACH,cAAc,cAAc,MAAM;;cASvB,oCAA4B;cAS5B,4CAAoC;;;;;cAOpC,oCAAmC;;;;;cAanC,iCAAyB,oBAAA;;cAUzB,yCAAiC,oBAAA;;;;;;cAgBjC,2CACP;kBASW;OACH;IACV,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgLD,qCAAqC,GAChD,oCAAoC"}
|