entasis 0.10.2 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/attachments/disclosurePanel.svelte.d.ts +84 -0
- package/dist/attachments/disclosurePanel.svelte.js +277 -0
- package/dist/attachments/portal.d.ts +17 -1
- package/dist/attachments/portal.js +39 -2
- package/dist/attachments/spinnerOverlay.svelte.js +12 -0
- package/dist/attachments/transitionSize.d.ts +6 -0
- package/dist/attachments/transitionSize.js +30 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestion.svelte +131 -17
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFileStep.svelte +26 -6
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFileStep.svelte.d.ts +6 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFooter.svelte +27 -53
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFooter.svelte.d.ts +3 -4
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionHeader.svelte +19 -16
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionStep.svelte +180 -21
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionStep.svelte.d.ts +9 -1
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionSummary.svelte +56 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionSummary.svelte.d.ts +4 -0
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.mcp.d.ts +1 -1
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.mcp.js +26 -8
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.props.d.ts +62 -5
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.d.ts +42 -0
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.js +53 -12
- package/dist/components/AIAskUserQuestion/aiAskUserQuestionAnswers.d.ts +17 -1
- package/dist/components/AIAskUserQuestion/aiAskUserQuestionAnswers.js +56 -8
- package/dist/components/AIAskUserQuestion/index.d.ts +3 -1
- package/dist/components/AIAskUserQuestion/index.js +2 -0
- package/dist/components/AIAskUserQuestion/schemas.d.ts +44 -0
- package/dist/components/AIAskUserQuestion/schemas.js +10 -3
- package/dist/components/AIChat/AIChat.svelte +10 -0
- package/dist/components/AIChat/AIChat.svelte.d.ts +2 -2
- package/dist/components/AIChat/AIChatComposerSurface.svelte +23 -5
- package/dist/components/AIChat/AIChatComposerSurface.svelte.d.ts +5 -0
- package/dist/components/AIChat/AIChatSkeleton.svelte +29 -37
- package/dist/components/AIChat/AIChatSurface.svelte +30 -2
- package/dist/components/AIChat/AIChatSurface.svelte.d.ts +1 -1
- package/dist/components/AIChat/AIChatThreadSurface.svelte +11 -1
- package/dist/components/AIChat/AIChatThreadSurface.svelte.d.ts +3 -1
- package/dist/components/AIChat/aiChat.mcp.d.ts +1 -1
- package/dist/components/AIChat/aiChat.mcp.js +31 -15
- package/dist/components/AIChat/aiChat.props.d.ts +36 -10
- package/dist/components/AIChat/aiChat.theme.d.ts +9 -0
- package/dist/components/AIChat/aiChat.theme.js +21 -4
- package/dist/components/AIChat/aiChatSkeleton.props.d.ts +5 -0
- package/dist/components/AIChat/index.d.ts +1 -1
- package/dist/components/AIComposer/AIComposer.svelte +102 -5
- package/dist/components/AIComposer/AIComposer.svelte.d.ts +1 -0
- package/dist/components/AIComposer/AIComposerFooter.svelte +54 -12
- package/dist/components/AIComposer/AIComposerFooter.svelte.d.ts +2 -0
- package/dist/components/AIComposer/AIComposerQueue.svelte +8 -3
- package/dist/components/AIComposer/aiComposer.editor.theme.js +13 -2
- package/dist/components/AIComposer/aiComposer.mcp.d.ts +1 -1
- package/dist/components/AIComposer/aiComposer.mcp.js +15 -7
- package/dist/components/AIComposer/aiComposer.props.d.ts +27 -7
- package/dist/components/AIComposer/aiComposer.theme.d.ts +42 -3
- package/dist/components/AIComposer/aiComposer.theme.js +37 -5
- package/dist/components/AIComposer/aiComposerFileController.svelte.d.ts +20 -0
- package/dist/components/AIComposer/aiComposerFileController.svelte.js +75 -9
- package/dist/components/AIComposer/aiComposerSourceAdapter.js +22 -4
- package/dist/components/AIComposer/aiComposerSubmitController.svelte.d.ts +12 -0
- package/dist/components/AIComposer/aiComposerSubmitController.svelte.js +16 -6
- package/dist/components/AIContext/AIContext.svelte +7 -3
- package/dist/components/AIContext/aiContext.mcp.d.ts +1 -1
- package/dist/components/AIContext/aiContext.mcp.js +1 -1
- package/dist/components/AIContext/aiContext.props.d.ts +4 -1
- package/dist/components/AIContext/aiContext.theme.d.ts +3 -0
- package/dist/components/AIContext/aiContext.theme.js +7 -2
- package/dist/components/AIConversation/AIConversation.svelte.d.ts +2 -2
- package/dist/components/AIFilePreview/aiFilePreview.theme.js +1 -1
- package/dist/components/AIMarker/AIMarker.svelte +2 -0
- package/dist/components/AIMarker/aiMarker.mcp.d.ts +1 -1
- package/dist/components/AIMarker/aiMarker.mcp.js +2 -0
- package/dist/components/AIMarker/aiMarker.props.d.ts +3 -0
- package/dist/components/AIMarker/aiMarker.theme.js +2 -2
- package/dist/components/AIMessage/AIMessage.svelte +38 -16
- package/dist/components/AIMessage/aiMessage.mcp.d.ts +1 -1
- package/dist/components/AIMessage/aiMessage.mcp.js +20 -6
- package/dist/components/AIMessage/aiMessage.props.d.ts +18 -2
- package/dist/components/AIMessage/aiMessage.theme.d.ts +51 -6
- package/dist/components/AIMessage/aiMessage.theme.js +91 -32
- package/dist/components/AIMessageActions/AIMessageActions.svelte +19 -9
- package/dist/components/AIMessageActions/aiMessageActions.mcp.d.ts +1 -1
- package/dist/components/AIMessageActions/aiMessageActions.mcp.js +11 -3
- package/dist/components/AIMessageActions/aiMessageActions.theme.js +36 -9
- package/dist/components/AIModelSelector/AIModelSelector.svelte +25 -10
- package/dist/components/AIModelSelector/aiModelSelector.mcp.d.ts +1 -1
- package/dist/components/AIModelSelector/aiModelSelector.mcp.js +1 -1
- package/dist/components/AIModelSelector/aiModelSelector.theme.d.ts +3 -0
- package/dist/components/AIModelSelector/aiModelSelector.theme.js +7 -3
- package/dist/components/AIReasoning/AIReasoning.svelte +135 -38
- package/dist/components/AIReasoning/aiReasoning.mcp.d.ts +1 -1
- package/dist/components/AIReasoning/aiReasoning.mcp.js +11 -5
- package/dist/components/AIReasoning/aiReasoning.props.d.ts +15 -4
- package/dist/components/AIReasoning/aiReasoning.theme.d.ts +45 -0
- package/dist/components/AIReasoning/aiReasoning.theme.js +47 -7
- package/dist/components/AISuggestion/AISuggestion.svelte +2 -1
- package/dist/components/AISuggestion/AISuggestions.svelte +2 -1
- package/dist/components/AISuggestion/aiSuggestion.mcp.d.ts +1 -1
- package/dist/components/AISuggestion/aiSuggestion.mcp.js +8 -1
- package/dist/components/AISuggestion/aiSuggestion.props.d.ts +4 -1
- package/dist/components/AISuggestion/aiSuggestion.theme.js +1 -1
- package/dist/components/AISuggestion/aiSuggestions.props.d.ts +7 -0
- package/dist/components/AIThread/AIThread.svelte +378 -95
- package/dist/components/AIThread/AIThreadAskUserQuestion.svelte +1 -0
- package/dist/components/AIThread/AIThreadItems.svelte +266 -64
- package/dist/components/AIThread/AIThreadItems.svelte.d.ts +7 -3
- package/dist/components/AIThread/AIThreadMarker.svelte +8 -1
- package/dist/components/AIThread/AIThreadMarker.svelte.d.ts +1 -0
- package/dist/components/AIThread/aiThread.mcp.d.ts +1 -1
- package/dist/components/AIThread/aiThread.mcp.js +34 -20
- package/dist/components/AIThread/aiThread.props.d.ts +73 -8
- package/dist/components/AIThread/aiThread.theme.d.ts +78 -0
- package/dist/components/AIThread/aiThread.theme.js +108 -9
- package/dist/components/AIThread/index.d.ts +1 -1
- package/dist/components/AIThread/threadAskUserQuestion.d.ts +4 -1
- package/dist/components/AIThread/threadAskUserQuestion.js +8 -4
- package/dist/components/AIThread/threadRenderItems.d.ts +74 -3
- package/dist/components/AIThread/threadRenderItems.js +265 -77
- package/dist/components/AIThread/threadScrollController.d.ts +0 -8
- package/dist/components/AIThread/threadScrollController.js +2 -39
- package/dist/components/AIThread/threadTools.d.ts +11 -0
- package/dist/components/AIThread/threadTools.js +79 -0
- package/dist/components/AIThreadToc/AIThreadToc.svelte +188 -18
- package/dist/components/AIThreadToc/AIThreadTocPreview.svelte +25 -2
- package/dist/components/AIThreadToc/AIThreadTocPreview.svelte.d.ts +3 -0
- package/dist/components/AIThreadToc/aiThreadToc.d.ts +4 -2
- package/dist/components/AIThreadToc/aiThreadToc.js +17 -5
- package/dist/components/AIThreadToc/aiThreadToc.mcp.d.ts +1 -1
- package/dist/components/AIThreadToc/aiThreadToc.mcp.js +13 -3
- package/dist/components/AIThreadToc/aiThreadToc.props.d.ts +11 -0
- package/dist/components/AIThreadToc/aiThreadToc.theme.d.ts +3 -0
- package/dist/components/AIThreadToc/aiThreadToc.theme.js +15 -6
- package/dist/components/AITool/AITool.svelte +56 -21
- package/dist/components/AITool/AIToolCallList.svelte +79 -29
- package/dist/components/AITool/AIToolCallList.svelte.d.ts +6 -2
- package/dist/components/AITool/AIToolStatusMark.svelte +52 -0
- package/dist/components/AITool/AIToolStatusMark.svelte.d.ts +14 -0
- package/dist/components/AITool/AIToolValueSection.svelte +126 -28
- package/dist/components/AITool/AIToolValueSection.svelte.d.ts +6 -2
- package/dist/components/AITool/AIToolValueTree.svelte +11 -16
- package/dist/components/AITool/AIToolValueTree.svelte.d.ts +2 -3
- package/dist/components/AITool/aiTool.mcp.d.ts +1 -1
- package/dist/components/AITool/aiTool.mcp.js +36 -8
- package/dist/components/AITool/aiTool.props.d.ts +52 -6
- package/dist/components/AITool/aiTool.theme.d.ts +117 -39
- package/dist/components/AITool/aiTool.theme.js +144 -140
- package/dist/components/AITool/aiToolClock.svelte.d.ts +18 -0
- package/dist/components/AITool/aiToolClock.svelte.js +62 -0
- package/dist/components/AITool/aiToolPrimitiveThemes.d.ts +0 -2
- package/dist/components/AITool/aiToolPrimitiveThemes.js +0 -10
- package/dist/components/AITool/index.d.ts +2 -1
- package/dist/components/AITool/index.js +1 -0
- package/dist/components/AITool/toolRendering.d.ts +33 -1
- package/dist/components/AITool/toolRendering.js +179 -15
- package/dist/components/AITool/toolValueTree.d.ts +14 -1
- package/dist/components/AITool/toolValueTree.js +126 -27
- package/dist/components/Accordion/Accordion.svelte +109 -109
- package/dist/components/Accordion/Accordion.svelte.d.ts +0 -1
- package/dist/components/Accordion/AccordionPanel.svelte +64 -0
- package/dist/components/Accordion/AccordionPanel.svelte.d.ts +20 -0
- package/dist/components/Accordion/accordion.attributes.d.ts +24 -0
- package/dist/components/Accordion/accordion.attributes.js +20 -0
- package/dist/components/Accordion/accordion.mcp.d.ts +1 -1
- package/dist/components/Accordion/accordion.mcp.js +78 -22
- package/dist/components/Accordion/accordion.props.d.ts +54 -10
- package/dist/components/Accordion/accordion.theme.d.ts +3 -0
- package/dist/components/Accordion/accordion.theme.js +4 -0
- package/dist/components/Accordion/index.d.ts +1 -0
- package/dist/components/Accordion/index.js +1 -0
- package/dist/components/AudioPlayer/audioPlayerVolumeControl.slider.theme.d.ts +31 -1
- package/dist/components/Avatar/Avatar.svelte +60 -10
- package/dist/components/Avatar/AvatarGroup.svelte +9 -0
- package/dist/components/Avatar/avatar.mcp.d.ts +1 -1
- package/dist/components/Avatar/avatar.mcp.js +13 -5
- package/dist/components/Avatar/avatar.props.d.ts +28 -1
- package/dist/components/Avatar/avatar.theme.js +3 -3
- package/dist/components/Avatar/index.d.ts +1 -1
- package/dist/components/Breadcrumbs/breadcrumbs.mcp.d.ts +1 -1
- package/dist/components/Breadcrumbs/breadcrumbs.mcp.js +1 -1
- package/dist/components/Button/Button.svelte +35 -15
- package/dist/components/Button/button.mcp.d.ts +1 -1
- package/dist/components/Button/button.mcp.js +8 -4
- package/dist/components/Button/button.props.d.ts +23 -8
- package/dist/components/Button/button.theme.d.ts +12 -0
- package/dist/components/Button/button.theme.js +17 -4
- package/dist/components/ButtonGroup/buttonGroup.mcp.d.ts +1 -1
- package/dist/components/ButtonGroup/buttonGroup.mcp.js +1 -1
- package/dist/components/ButtonGroup/buttonGroup.props.d.ts +4 -1
- package/dist/components/Collapsible/Collapsible.svelte +125 -19
- package/dist/components/Collapsible/collapsible.attributes.d.ts +21 -0
- package/dist/components/Collapsible/collapsible.attributes.js +17 -0
- package/dist/components/Collapsible/collapsible.mcp.d.ts +1 -1
- package/dist/components/Collapsible/collapsible.mcp.js +62 -12
- package/dist/components/Collapsible/collapsible.props.d.ts +39 -8
- package/dist/components/Collapsible/collapsible.theme.js +3 -1
- package/dist/components/Collapsible/index.d.ts +1 -0
- package/dist/components/Collapsible/index.js +1 -0
- package/dist/components/Command/Command.svelte +56 -14
- package/dist/components/Command/command.mcp.d.ts +1 -1
- package/dist/components/Command/command.mcp.js +12 -6
- package/dist/components/Command/command.props.d.ts +39 -6
- package/dist/components/Command/command.state.svelte.d.ts +40 -11
- package/dist/components/Command/command.state.svelte.js +75 -28
- package/dist/components/Command/command.theme.js +4 -3
- package/dist/components/Confirmation/Confirmation.svelte +72 -31
- package/dist/components/Confirmation/confirmation.mcp.d.ts +1 -1
- package/dist/components/Confirmation/confirmation.mcp.js +5 -4
- package/dist/components/ContextMenu/ContextMenu.svelte +126 -16
- package/dist/components/ContextMenu/contextMenu.mcp.d.ts +1 -1
- package/dist/components/ContextMenu/contextMenu.mcp.js +10 -7
- package/dist/components/ContextMenu/contextMenu.props.d.ts +13 -4
- package/dist/components/ContextMenu/contextMenu.theme.d.ts +3 -3
- package/dist/components/ContextMenu/contextMenu.theme.js +3 -2
- package/dist/components/DataTable/DataTable.svelte +4 -9
- package/dist/components/DataTable/DataTableEditor.svelte +5 -0
- package/dist/components/DataTable/DataTableFilter.svelte +1 -0
- package/dist/components/DataTable/DataTableToolbar.svelte +1 -0
- package/dist/components/DataTable/dataTable.mcp.d.ts +1 -1
- package/dist/components/DataTable/dataTable.mcp.js +4 -2
- package/dist/components/DataTable/dataTable.theme.d.ts +0 -3
- package/dist/components/DataTable/dataTable.theme.js +9 -6
- package/dist/components/Dialog/Dialog.svelte +120 -35
- package/dist/components/Dialog/Dialog.svelte.d.ts +1 -1
- package/dist/components/Dialog/DialogBackdrop.svelte +21 -1
- package/dist/components/Dialog/dialog.api.d.ts +65 -0
- package/dist/components/Dialog/dialog.api.js +1 -0
- package/dist/components/Dialog/dialog.attributes.d.ts +23 -0
- package/dist/components/Dialog/dialog.attributes.js +19 -0
- package/dist/components/Dialog/dialog.indent.d.ts +6 -0
- package/dist/components/Dialog/dialog.indent.js +16 -0
- package/dist/components/Dialog/dialog.mcp.d.ts +1 -1
- package/dist/components/Dialog/dialog.mcp.js +195 -22
- package/dist/components/Dialog/dialog.props.d.ts +102 -19
- package/dist/components/Dialog/dialog.snap.d.ts +40 -0
- package/dist/components/Dialog/dialog.snap.js +78 -0
- package/dist/components/Dialog/dialog.state.svelte.d.ts +122 -10
- package/dist/components/Dialog/dialog.state.svelte.js +525 -66
- package/dist/components/Dialog/dialog.theme.d.ts +48 -0
- package/dist/components/Dialog/dialog.theme.js +32 -9
- package/dist/components/Dialog/index.d.ts +4 -1
- package/dist/components/Dialog/index.js +1 -0
- package/dist/components/DocumentViewer/DocumentSearchControl.svelte +5 -3
- package/dist/components/DocumentViewer/documentOutput.js +2 -1
- package/dist/components/FloatingWindow/FloatingWindow.svelte +20 -32
- package/dist/components/FloatingWindow/FloatingWindow.svelte.d.ts +1 -1
- package/dist/components/FloatingWindow/floatingWindow.mcp.d.ts +1 -1
- package/dist/components/FloatingWindow/floatingWindow.mcp.js +3 -3
- package/dist/components/FloatingWindow/floatingWindow.props.d.ts +9 -4
- package/dist/components/FloatingWindow/floatingWindow.state.svelte.d.ts +8 -2
- package/dist/components/FloatingWindow/floatingWindow.state.svelte.js +18 -7
- package/dist/components/Form/Ask/Ask.svelte +9 -13
- package/dist/components/Form/Ask/ask.mcp.d.ts +1 -1
- package/dist/components/Form/Ask/ask.mcp.js +1 -1
- package/dist/components/Form/Ask/ask.props.d.ts +1 -1
- package/dist/components/Form/Autocomplete/Autocomplete.svelte +418 -0
- package/dist/components/Form/Autocomplete/Autocomplete.svelte.d.ts +4 -0
- package/dist/components/Form/Autocomplete/autocomplete.items.d.ts +30 -0
- package/dist/components/Form/Autocomplete/autocomplete.items.js +64 -0
- package/dist/components/Form/Autocomplete/autocomplete.mcp.d.ts +1 -0
- package/dist/components/Form/Autocomplete/autocomplete.mcp.js +134 -0
- package/dist/components/Form/Autocomplete/autocomplete.props.d.ts +146 -0
- package/dist/components/Form/Autocomplete/autocomplete.props.js +1 -0
- package/dist/components/Form/Autocomplete/autocomplete.theme.d.ts +213 -0
- package/dist/components/Form/Autocomplete/autocomplete.theme.js +119 -0
- package/dist/components/Form/Autocomplete/index.d.ts +3 -0
- package/dist/components/Form/Autocomplete/index.js +2 -0
- package/dist/components/Form/Calendar/CalendarInput.svelte +9 -0
- package/dist/components/Form/Calendar/CalendarMonthYearPicker.svelte +3 -0
- package/dist/components/Form/Calendar/CalendarPrimitive.svelte +5 -0
- package/dist/components/Form/Calendar/calendar.mcp.d.ts +1 -1
- package/dist/components/Form/Calendar/calendar.mcp.js +2 -1
- package/dist/components/Form/Calendar/calendarInput.props.d.ts +2 -0
- package/dist/components/Form/Calendar/useCalendar.svelte.d.ts +3 -0
- package/dist/components/Form/Calendar/useCalendar.svelte.js +3 -0
- package/dist/components/Form/Checkbox/Checkbox.svelte +17 -2
- package/dist/components/Form/Checkbox/checkbox.mcp.d.ts +1 -1
- package/dist/components/Form/Checkbox/checkbox.mcp.js +11 -1
- package/dist/components/Form/Checkbox/checkbox.props.d.ts +12 -1
- package/dist/components/Form/CheckboxesInput/CheckboxLine.svelte +69 -32
- package/dist/components/Form/CheckboxesInput/CheckboxLine.svelte.d.ts +10 -2
- package/dist/components/Form/CheckboxesInput/CheckboxesInput.svelte +123 -74
- package/dist/components/Form/CheckboxesInput/CheckboxesInput.svelte.d.ts +12 -12
- package/dist/components/Form/CheckboxesInput/checkboxesInput.mcp.d.ts +1 -1
- package/dist/components/Form/CheckboxesInput/checkboxesInput.mcp.js +11 -7
- package/dist/components/Form/CheckboxesInput/checkboxesInput.props.d.ts +25 -9
- package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.d.ts +12 -0
- package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.js +9 -4
- package/dist/components/Form/CheckboxesInput/choiceEnter.d.ts +11 -0
- package/dist/components/Form/CheckboxesInput/choiceEnter.js +27 -0
- package/dist/components/Form/ColorInput/ColorInput.svelte +12 -3
- package/dist/components/Form/ColorInput/colorInput.mcp.d.ts +1 -1
- package/dist/components/Form/ColorInput/colorInput.mcp.js +1 -0
- package/dist/components/Form/ColorPicker/ColorPicker.svelte +11 -2
- package/dist/components/Form/ColorPicker/ColorPickerInput.svelte +9 -0
- package/dist/components/Form/ColorPicker/colorPicker.mcp.d.ts +1 -1
- package/dist/components/Form/ColorPicker/colorPicker.mcp.js +1 -0
- package/dist/components/Form/ColorPicker/colorPicker.props.d.ts +2 -0
- package/dist/components/Form/ColorPicker/colorPicker.state.svelte.d.ts +4 -0
- package/dist/components/Form/ColorPicker/colorPicker.state.svelte.js +12 -8
- package/dist/components/Form/Combobox/Combobox.svelte +145 -185
- package/dist/components/Form/Combobox/Combobox.svelte.d.ts +1 -1
- package/dist/components/Form/Combobox/ComboboxPopup.svelte +128 -0
- package/dist/components/Form/Combobox/ComboboxPopup.svelte.d.ts +28 -0
- package/dist/components/Form/Combobox/combobox.attributes.d.ts +34 -0
- package/dist/components/Form/Combobox/combobox.attributes.js +25 -0
- package/dist/components/Form/Combobox/combobox.items.d.ts +28 -0
- package/dist/components/Form/Combobox/combobox.items.js +68 -0
- package/dist/components/Form/Combobox/combobox.mcp.d.ts +1 -1
- package/dist/components/Form/Combobox/combobox.mcp.js +104 -13
- package/dist/components/Form/Combobox/combobox.props.d.ts +113 -19
- package/dist/components/Form/Combobox/combobox.state.svelte.d.ts +137 -0
- package/dist/components/Form/Combobox/combobox.state.svelte.js +375 -0
- package/dist/components/Form/Combobox/combobox.theme.d.ts +63 -0
- package/dist/components/Form/Combobox/combobox.theme.js +37 -1
- package/dist/components/Form/Combobox/index.d.ts +2 -1
- package/dist/components/Form/Combobox/index.js +1 -0
- package/dist/components/Form/DateInput/DateInput.svelte +11 -3
- package/dist/components/Form/DateInput/dateInput.mcp.d.ts +1 -1
- package/dist/components/Form/DateInput/dateInput.mcp.js +5 -0
- package/dist/components/Form/DateSelector/DateSelector.svelte +5 -2
- package/dist/components/Form/DateSelector/DateSelectorInput.svelte +9 -0
- package/dist/components/Form/DateSelector/dateSelector.mcp.d.ts +1 -1
- package/dist/components/Form/DateSelector/dateSelector.mcp.js +2 -2
- package/dist/components/Form/DateSelector/dateSelector.props.d.ts +2 -0
- package/dist/components/Form/Field/Field.svelte +258 -32
- package/dist/components/Form/Field/Field.svelte.d.ts +15 -6
- package/dist/components/Form/Field/FieldGroup.svelte +29 -0
- package/dist/components/Form/Field/FieldGroup.svelte.d.ts +11 -0
- package/dist/components/Form/Field/FieldHiddenInputs.svelte +187 -0
- package/dist/components/Form/Field/FieldHiddenInputs.svelte.d.ts +26 -0
- package/dist/components/Form/Field/field.d.ts +75 -10
- package/dist/components/Form/Field/field.mcp.d.ts +1 -1
- package/dist/components/Form/Field/field.mcp.js +158 -18
- package/dist/components/Form/Field/field.messages.d.ts +47 -0
- package/dist/components/Form/Field/field.messages.js +64 -0
- package/dist/components/Form/Field/field.state.svelte.d.ts +117 -40
- package/dist/components/Form/Field/field.state.svelte.js +525 -16
- package/dist/components/Form/Field/field.theme.d.ts +46 -0
- package/dist/components/Form/Field/field.theme.js +33 -0
- package/dist/components/Form/Field/fieldHiddenInputs.props.d.ts +61 -0
- package/dist/components/Form/Field/fieldHiddenInputs.props.js +1 -0
- package/dist/components/Form/Field/fieldNativeForm.svelte.d.ts +14 -0
- package/dist/components/Form/Field/fieldNativeForm.svelte.js +113 -0
- package/dist/components/Form/Field/index.d.ts +5 -2
- package/dist/components/Form/Field/index.js +1 -0
- package/dist/components/Form/Field/schemas.js +7 -2
- package/dist/components/Form/File/FileInput.svelte +24 -3
- package/dist/components/Form/File/fileInput.mcp.d.ts +1 -1
- package/dist/components/Form/File/fileInput.mcp.js +1 -0
- package/dist/components/Form/Form/Form.svelte +49 -15
- package/dist/components/Form/Form/FormActions.svelte +3 -1
- package/dist/components/Form/Form/FormActions.svelte.d.ts +42 -2
- package/dist/components/Form/Form/FormFieldRenderer.svelte +96 -12
- package/dist/components/Form/Form/FormFieldRenderer.svelte.d.ts +3 -2
- package/dist/components/Form/Form/FormInputRenderer.svelte +7 -0
- package/dist/components/Form/Form/form.d.ts +84 -11
- package/dist/components/Form/Form/form.mcp.d.ts +1 -1
- package/dist/components/Form/Form/form.mcp.js +178 -12
- package/dist/components/Form/Form/form.props.d.ts +32 -1
- package/dist/components/Form/Form/form.registry.d.ts +28 -0
- package/dist/components/Form/Form/form.registry.js +59 -0
- package/dist/components/Form/Form/form.state.svelte.d.ts +1186 -420
- package/dist/components/Form/Form/form.state.svelte.js +322 -28
- package/dist/components/Form/Form/index.d.ts +4 -1
- package/dist/components/Form/Form/index.js +1 -0
- package/dist/components/Form/Form/visibility.d.ts +3130 -1863
- package/dist/components/Form/KeyValueInput/KeyValueInput.svelte +22 -10
- package/dist/components/Form/KeyValueInput/keyValueInput.mcp.d.ts +1 -1
- package/dist/components/Form/KeyValueInput/keyValueInput.mcp.js +1 -0
- package/dist/components/Form/MultiStepForm/MultiStepForm.svelte +12 -5
- package/dist/components/Form/MultiStepForm/multiStepForm.mcp.d.ts +1 -1
- package/dist/components/Form/MultiStepForm/multiStepForm.mcp.js +5 -3
- package/dist/components/Form/MultiStepForm/multiStepForm.props.d.ts +5 -0
- package/dist/components/Form/MultiStepForm/multiStepForm.state.svelte.d.ts +1050 -408
- package/dist/components/Form/MultiStepForm/multiStepForm.state.svelte.js +48 -24
- package/dist/components/Form/NumberInput/NumberInput.svelte +365 -46
- package/dist/components/Form/NumberInput/index.d.ts +1 -1
- package/dist/components/Form/NumberInput/numberInput.mcp.d.ts +1 -1
- package/dist/components/Form/NumberInput/numberInput.mcp.js +55 -30
- package/dist/components/Form/NumberInput/numberInput.props.d.ts +64 -4
- package/dist/components/Form/PasswordInput/Password.svelte +28 -1
- package/dist/components/Form/PasswordInput/index.d.ts +1 -1
- package/dist/components/Form/PasswordInput/passwordInput.mcp.d.ts +1 -1
- package/dist/components/Form/PasswordInput/passwordInput.mcp.js +20 -2
- package/dist/components/Form/PasswordInput/passwordInput.props.d.ts +23 -0
- package/dist/components/Form/PhoneInput/PhoneInput.svelte +11 -4
- package/dist/components/Form/PhoneInput/PhoneInputCountryPicker.svelte +47 -21
- package/dist/components/Form/PhoneInput/phoneInput-cdn.js +2 -1
- package/dist/components/Form/PhoneInput/phoneInput.mcp.d.ts +1 -1
- package/dist/components/Form/PhoneInput/phoneInput.mcp.js +6 -2
- package/dist/components/Form/PhoneInput/phoneInputCountry.d.ts +9 -3
- package/dist/components/Form/PhoneInput/phoneInputCountry.js +34 -24
- package/dist/components/Form/PinInput/PinInput.svelte +44 -9
- package/dist/components/Form/PinInput/PinInputCells.svelte +22 -1
- package/dist/components/Form/PinInput/PinInputCells.svelte.d.ts +1 -0
- package/dist/components/Form/PinInput/index.d.ts +1 -1
- package/dist/components/Form/PinInput/pinInput.mcp.d.ts +1 -1
- package/dist/components/Form/PinInput/pinInput.mcp.js +29 -6
- package/dist/components/Form/PinInput/pinInput.props.d.ts +38 -4
- package/dist/components/Form/PinInput/pinInput.state.svelte.d.ts +41 -0
- package/dist/components/Form/PinInput/pinInput.state.svelte.js +227 -24
- package/dist/components/Form/PinInput/pinInput.theme.d.ts +39 -3
- package/dist/components/Form/PinInput/pinInput.theme.js +27 -1
- package/dist/components/Form/RadioInput/RadioInput.svelte +94 -32
- package/dist/components/Form/RadioInput/RadioInput.svelte.d.ts +12 -12
- package/dist/components/Form/RadioInput/radioInput.mcp.d.ts +1 -1
- package/dist/components/Form/RadioInput/radioInput.mcp.js +12 -9
- package/dist/components/Form/RadioInput/radioInput.props.d.ts +22 -6
- package/dist/components/Form/RadioInput/radioInput.theme.d.ts +12 -0
- package/dist/components/Form/RadioInput/radioInput.theme.js +10 -5
- package/dist/components/Form/RatingInput/RatingInput.svelte +13 -4
- package/dist/components/Form/RatingInput/ratingInput.mcp.d.ts +1 -1
- package/dist/components/Form/RatingInput/ratingInput.mcp.js +3 -3
- package/dist/components/Form/RatingInput/ratingInput.props.d.ts +1 -1
- package/dist/components/Form/Select/Select.svelte +186 -48
- package/dist/components/Form/Select/Select.svelte.d.ts +23 -2
- package/dist/components/Form/Select/SelectOptionRow.svelte +69 -0
- package/dist/components/Form/Select/SelectOptionRow.svelte.d.ts +18 -0
- package/dist/components/Form/Select/index.d.ts +2 -1
- package/dist/components/Form/Select/index.js +1 -0
- package/dist/components/Form/Select/select.align.d.ts +5 -0
- package/dist/components/Form/Select/select.align.js +19 -5
- package/dist/components/Form/Select/select.attributes.d.ts +36 -0
- package/dist/components/Form/Select/select.attributes.js +27 -0
- package/dist/components/Form/Select/select.mcp.d.ts +1 -1
- package/dist/components/Form/Select/select.mcp.js +103 -18
- package/dist/components/Form/Select/select.props.d.ts +87 -10
- package/dist/components/Form/Select/select.state.svelte.d.ts +108 -17
- package/dist/components/Form/Select/select.state.svelte.js +354 -59
- package/dist/components/Form/Select/select.theme.d.ts +21 -0
- package/dist/components/Form/Select/select.theme.js +22 -0
- package/dist/components/Form/Slider/Slider.svelte +54 -14
- package/dist/components/Form/Slider/SliderMarks.svelte +1 -1
- package/dist/components/Form/Slider/SliderThumb.svelte +49 -19
- package/dist/components/Form/Slider/SliderThumb.svelte.d.ts +8 -2
- package/dist/components/Form/Slider/SliderTrack.svelte +33 -12
- package/dist/components/Form/Slider/SliderTrack.svelte.d.ts +6 -2
- package/dist/components/Form/Slider/index.d.ts +1 -1
- package/dist/components/Form/Slider/slider.mcp.d.ts +1 -1
- package/dist/components/Form/Slider/slider.mcp.js +55 -11
- package/dist/components/Form/Slider/slider.props.d.ts +35 -2
- package/dist/components/Form/Slider/slider.state.svelte.d.ts +66 -5
- package/dist/components/Form/Slider/slider.state.svelte.js +273 -49
- package/dist/components/Form/Slider/slider.theme.d.ts +36 -0
- package/dist/components/Form/Slider/slider.theme.js +35 -17
- package/dist/components/Form/Switch/Switch.svelte +61 -38
- package/dist/components/Form/Switch/switch.mcp.d.ts +1 -1
- package/dist/components/Form/Switch/switch.mcp.js +25 -5
- package/dist/components/Form/Switch/switch.props.d.ts +14 -1
- package/dist/components/Form/Switch/switch.theme.d.ts +12 -0
- package/dist/components/Form/Switch/switch.theme.js +8 -3
- package/dist/components/Form/TagGroup/TagGroup.svelte +8 -0
- package/dist/components/Form/TagGroup/tagGroup.mcp.d.ts +1 -1
- package/dist/components/Form/TagGroup/tagGroup.mcp.js +1 -0
- package/dist/components/Form/TagsInput/TagsInput.svelte +277 -275
- package/dist/components/Form/TagsInput/TagsInput.svelte.d.ts +1 -1
- package/dist/components/Form/TagsInput/tagsInput.mcp.d.ts +1 -1
- package/dist/components/Form/TagsInput/tagsInput.mcp.js +31 -11
- package/dist/components/Form/TagsInput/tagsInput.props.d.ts +6 -26
- package/dist/components/Form/TagsInput/tagsInput.theme.d.ts +63 -0
- package/dist/components/Form/TagsInput/tagsInput.theme.js +37 -1
- package/dist/components/Form/TextArea/TextArea.svelte +8 -0
- package/dist/components/Form/TextArea/textArea.mcp.d.ts +1 -1
- package/dist/components/Form/TextArea/textArea.mcp.js +1 -0
- package/dist/components/Form/TextInput/TextInput.svelte +8 -1
- package/dist/components/Form/TextInput/textInput.mcp.d.ts +1 -1
- package/dist/components/Form/TextInput/textInput.mcp.js +5 -0
- package/dist/components/Form/TimeInput/TimeInput.svelte +9 -1
- package/dist/components/Form/TimeInput/timeInput.mcp.d.ts +1 -1
- package/dist/components/Form/TimeInput/timeInput.mcp.js +31 -0
- package/dist/components/Form/VoiceInput/VoiceInput.svelte +10 -2
- package/dist/components/Form/VoiceInput/voiceInput.mcp.d.ts +1 -1
- package/dist/components/Form/VoiceInput/voiceInput.mcp.js +1 -0
- package/dist/components/GanttChart/GanttDependencyControl.svelte +4 -4
- package/dist/components/HoverCard/HoverCard.svelte +100 -10
- package/dist/components/HoverCard/hoverCard.attributes.d.ts +33 -0
- package/dist/components/HoverCard/hoverCard.attributes.js +24 -0
- package/dist/components/HoverCard/hoverCard.mcp.d.ts +1 -1
- package/dist/components/HoverCard/hoverCard.mcp.js +61 -2
- package/dist/components/HoverCard/hoverCard.props.d.ts +19 -0
- package/dist/components/HoverCard/hoverCard.theme.d.ts +12 -0
- package/dist/components/HoverCard/hoverCard.theme.js +9 -2
- package/dist/components/HoverCard/index.d.ts +1 -0
- package/dist/components/HoverCard/index.js +1 -0
- package/dist/components/ImageGallery/imageGallery.state.svelte.d.ts +1 -1
- package/dist/components/ImageZoom/imageZoom.lightbox.js +40 -6
- package/dist/components/ImageZoom/imageZoom.mcp.d.ts +1 -1
- package/dist/components/ImageZoom/imageZoom.mcp.js +3 -3
- package/dist/components/ImageZoom/imageZoom.props.d.ts +10 -4
- package/dist/components/ImageZoom/imageZoom.state.svelte.d.ts +16 -4
- package/dist/components/ImageZoom/imageZoom.state.svelte.js +38 -9
- package/dist/components/Kanban/kanban.theme.js +7 -3
- package/dist/components/Layout/layoutSpacing.d.ts +2 -2
- package/dist/components/LinkPreview/LinkPreview.svelte +7 -1
- package/dist/components/LinkPreview/linkPreview.mcp.d.ts +1 -1
- package/dist/components/LinkPreview/linkPreview.mcp.js +4 -1
- package/dist/components/LinkPreview/linkPreview.props.d.ts +15 -0
- package/dist/components/LinkPreview/linkPreview.theme.d.ts +12 -0
- package/dist/components/LinkPreview/linkPreview.theme.js +9 -2
- package/dist/components/Map/maplibre-cdn.js +3 -2
- package/dist/components/Markdown/markdown.mcp.d.ts +1 -1
- package/dist/components/Markdown/markdown.mcp.js +2 -1
- package/dist/components/Markdown/markdown.theme.js +18 -9
- package/dist/components/MediaVolume/MediaVolumeControl.svelte +4 -3
- package/dist/components/Menu/Menu.svelte +3 -3
- package/dist/components/Menu/Menu.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuCheckboxItem.svelte +87 -0
- package/dist/components/Menu/MenuCheckboxItem.svelte.d.ts +16 -0
- package/dist/components/Menu/MenuFloating.svelte +421 -74
- package/dist/components/Menu/MenuFloating.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuMirroredIcon.svelte +9 -0
- package/dist/components/Menu/MenuMirroredIcon.svelte.d.ts +7 -0
- package/dist/components/Menu/MenuRadioGroup.svelte +102 -0
- package/dist/components/Menu/MenuRadioGroup.svelte.d.ts +18 -0
- package/dist/components/Menu/MenuSearchField.svelte +54 -0
- package/dist/components/Menu/MenuSearchField.svelte.d.ts +20 -0
- package/dist/components/Menu/MenuStacked.svelte +404 -158
- package/dist/components/Menu/MenuStacked.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuStackedBackHeader.svelte +6 -1
- package/dist/components/Menu/index.d.ts +2 -1
- package/dist/components/Menu/index.js +1 -0
- package/dist/components/Menu/menu.attributes.d.ts +37 -0
- package/dist/components/Menu/menu.attributes.js +28 -0
- package/dist/components/Menu/menu.filter.svelte.d.ts +52 -0
- package/dist/components/Menu/menu.filter.svelte.js +143 -0
- package/dist/components/Menu/menu.mcp.d.ts +1 -1
- package/dist/components/Menu/menu.mcp.js +227 -17
- package/dist/components/Menu/menu.platform.d.ts +5 -0
- package/dist/components/Menu/menu.platform.js +11 -0
- package/dist/components/Menu/menu.props.d.ts +172 -9
- package/dist/components/Menu/menu.theme.d.ts +147 -0
- package/dist/components/Menu/menu.theme.js +101 -0
- package/dist/components/Menu/menuTree.d.ts +35 -1
- package/dist/components/Menu/menuTree.js +158 -1
- package/dist/components/MenuBar/menuBar.mcp.d.ts +1 -1
- package/dist/components/MenuBar/menuBar.mcp.js +4 -2
- package/dist/components/MenuBar/menuBar.state.svelte.js +28 -10
- package/dist/components/MenuOption/MenuOption.svelte +5 -1
- package/dist/components/MenuOption/menuOption.mcp.d.ts +1 -1
- package/dist/components/MenuOption/menuOption.mcp.js +8 -0
- package/dist/components/MenuOption/menuOption.props.d.ts +12 -0
- package/dist/components/MenuOption/menuOption.theme.d.ts +18 -0
- package/dist/components/MenuOption/menuOption.theme.js +24 -4
- package/dist/components/Mermaid/mermaid.mcp.d.ts +1 -1
- package/dist/components/Mermaid/mermaid.mcp.js +8 -8
- package/dist/components/Mermaid/mermaid.props.d.ts +3 -4
- package/dist/components/Mermaid/mermaid.state.svelte.d.ts +20 -19
- package/dist/components/Mermaid/mermaid.state.svelte.js +80 -243
- package/dist/components/Mermaid/mermaid.theme.js +26 -1
- package/dist/components/MetadataList/MetadataList.svelte.d.ts +1 -1
- package/dist/components/Meter/Meter.svelte +110 -24
- package/dist/components/Meter/Meter.svelte.d.ts +12 -12
- package/dist/components/Meter/meter.mcp.d.ts +1 -1
- package/dist/components/Meter/meter.mcp.js +23 -37
- package/dist/components/Meter/meter.props.d.ts +36 -44
- package/dist/components/NavigationMenu/NavigationMenu.svelte +181 -0
- package/dist/components/NavigationMenu/NavigationMenu.svelte.d.ts +25 -0
- package/dist/components/NavigationMenu/NavigationMenuContent.svelte +141 -0
- package/dist/components/NavigationMenu/NavigationMenuContent.svelte.d.ts +13 -0
- package/dist/components/NavigationMenu/NavigationMenuTrigger.svelte +75 -0
- package/dist/components/NavigationMenu/NavigationMenuTrigger.svelte.d.ts +13 -0
- package/dist/components/NavigationMenu/index.d.ts +4 -0
- package/dist/components/NavigationMenu/index.js +3 -0
- package/dist/components/NavigationMenu/navigationMenu.attributes.d.ts +24 -0
- package/dist/components/NavigationMenu/navigationMenu.attributes.js +21 -0
- package/dist/components/NavigationMenu/navigationMenu.mcp.d.ts +1 -0
- package/dist/components/NavigationMenu/navigationMenu.mcp.js +138 -0
- package/dist/components/NavigationMenu/navigationMenu.props.d.ts +129 -0
- package/dist/components/NavigationMenu/navigationMenu.props.js +1 -0
- package/dist/components/NavigationMenu/navigationMenu.state.svelte.d.ts +163 -0
- package/dist/components/NavigationMenu/navigationMenu.state.svelte.js +721 -0
- package/dist/components/NavigationMenu/navigationMenu.theme.d.ts +326 -0
- package/dist/components/NavigationMenu/navigationMenu.theme.js +239 -0
- package/dist/components/Overlay/Overlay.svelte +19 -30
- package/dist/components/Overlay/index.d.ts +1 -0
- package/dist/components/Overlay/index.js +1 -0
- package/dist/components/Overlay/overlay.attributes.d.ts +16 -0
- package/dist/components/Overlay/overlay.attributes.js +14 -0
- package/dist/components/Overlay/overlay.mcp.d.ts +1 -1
- package/dist/components/Overlay/overlay.mcp.js +21 -3
- package/dist/components/Overlay/overlay.props.d.ts +8 -4
- package/dist/components/Popover/Popover.svelte +163 -52
- package/dist/components/Popover/Popover.svelte.d.ts +23 -2
- package/dist/components/Popover/PopoverSession.svelte +12 -0
- package/dist/components/Popover/PopoverSession.svelte.d.ts +7 -0
- package/dist/components/Popover/index.d.ts +10 -2
- package/dist/components/Popover/index.js +4 -1
- package/dist/components/Popover/popover.api.d.ts +83 -0
- package/dist/components/Popover/popover.api.js +1 -0
- package/dist/components/Popover/popover.attributes.d.ts +32 -0
- package/dist/components/Popover/popover.attributes.js +28 -0
- package/dist/components/Popover/popover.claims.d.ts +19 -0
- package/dist/components/Popover/popover.claims.js +45 -0
- package/dist/components/Popover/popover.mcp.d.ts +1 -1
- package/dist/components/Popover/popover.mcp.js +163 -31
- package/dist/components/Popover/popover.position.d.ts +226 -0
- package/dist/components/Popover/popover.position.js +402 -0
- package/dist/components/Popover/popover.props.d.ts +179 -24
- package/dist/components/Popover/popover.state.svelte.d.ts +169 -37
- package/dist/components/Popover/popover.state.svelte.js +1034 -194
- package/dist/components/Popover/popover.theme.d.ts +15 -0
- package/dist/components/Popover/popover.theme.js +27 -2
- package/dist/components/PopupMenu/PopupMenu.svelte +193 -22
- package/dist/components/PopupMenu/PopupMenu.svelte.d.ts +2 -2
- package/dist/components/PopupMenu/popupMenu.context.d.ts +42 -0
- package/dist/components/PopupMenu/popupMenu.context.js +52 -0
- package/dist/components/PopupMenu/popupMenu.mcp.d.ts +1 -1
- package/dist/components/PopupMenu/popupMenu.mcp.js +46 -6
- package/dist/components/PopupMenu/popupMenu.props.d.ts +29 -2
- package/dist/components/Progress/Progress.svelte +160 -0
- package/dist/components/Progress/Progress.svelte.d.ts +4 -0
- package/dist/components/Progress/index.d.ts +3 -0
- package/dist/components/Progress/index.js +2 -0
- package/dist/components/Progress/progress.mcp.d.ts +1 -0
- package/dist/components/Progress/progress.mcp.js +101 -0
- package/dist/components/Progress/progress.props.d.ts +79 -0
- package/dist/components/Progress/progress.props.js +1 -0
- package/dist/components/Progress/progress.theme.d.ts +129 -0
- package/dist/components/Progress/progress.theme.js +83 -0
- package/dist/components/ProgressCircle/ProgressCircle.svelte +51 -6
- package/dist/components/ProgressCircle/progressCircle.mcp.d.ts +1 -1
- package/dist/components/ProgressCircle/progressCircle.mcp.js +18 -4
- package/dist/components/ProgressCircle/progressCircle.props.d.ts +32 -2
- package/dist/components/ProgressCircle/progressCircle.theme.d.ts +15 -3
- package/dist/components/ProgressCircle/progressCircle.theme.js +7 -2
- package/dist/components/RichTextInput/RichTextInput.svelte +19 -1
- package/dist/components/RichTextInput/RichTextInputChrome.svelte +5 -1
- package/dist/components/RichTextInput/RichTextInputChrome.svelte.d.ts +2 -0
- package/dist/components/RichTextInput/RichTextInputViewport.svelte +3 -1
- package/dist/components/RichTextInput/RichTextInputViewport.svelte.d.ts +1 -0
- package/dist/components/RichTextInput/richTextInput.mcp.d.ts +1 -1
- package/dist/components/RichTextInput/richTextInput.mcp.js +1 -0
- package/dist/components/RichTextInput/suggestions.js +2 -0
- package/dist/components/ScrollArea/ScrollArea.svelte +166 -27
- package/dist/components/ScrollArea/index.d.ts +2 -1
- package/dist/components/ScrollArea/index.js +1 -0
- package/dist/components/ScrollArea/scrollArea.attributes.d.ts +25 -0
- package/dist/components/ScrollArea/scrollArea.attributes.js +21 -0
- package/dist/components/ScrollArea/scrollArea.mcp.d.ts +1 -1
- package/dist/components/ScrollArea/scrollArea.mcp.js +47 -3
- package/dist/components/ScrollArea/scrollArea.props.d.ts +33 -6
- package/dist/components/ScrollArea/scrollArea.svelte.d.ts +56 -12
- package/dist/components/ScrollArea/scrollArea.svelte.js +281 -71
- package/dist/components/ScrollArea/scrollArea.theme.js +5 -2
- package/dist/components/SegmentedControl/SegmentedControl.svelte +4 -3
- package/dist/components/SegmentedControl/segmentedControl.mcp.d.ts +1 -1
- package/dist/components/SegmentedControl/segmentedControl.mcp.js +3 -2
- package/dist/components/SelectionMenu/SelectionMenu.svelte +4 -2
- package/dist/components/Sidebar/SidebarAction.svelte +13 -3
- package/dist/components/Sidebar/SidebarAction.svelte.d.ts +2 -1
- package/dist/components/Sidebar/SidebarActivityBar.svelte +14 -7
- package/dist/components/Sidebar/SidebarFlyout.svelte +97 -0
- package/dist/components/Sidebar/SidebarFlyout.svelte.d.ts +32 -0
- package/dist/components/Sidebar/SidebarGroup.svelte +39 -15
- package/dist/components/Sidebar/SidebarMenuButton.svelte +6 -3
- package/dist/components/Sidebar/SidebarMenuItem.svelte +134 -31
- package/dist/components/Sidebar/SidebarMenuSubItem.svelte +30 -14
- package/dist/components/Sidebar/SidebarTreeNode.svelte +41 -61
- package/dist/components/Sidebar/index.d.ts +1 -0
- package/dist/components/Sidebar/index.js +1 -0
- package/dist/components/Sidebar/sidebar-position.d.ts +37 -2
- package/dist/components/Sidebar/sidebar-position.js +31 -2
- package/dist/components/Sidebar/sidebar.attributes.d.ts +33 -0
- package/dist/components/Sidebar/sidebar.attributes.js +29 -0
- package/dist/components/Sidebar/sidebar.mcp.d.ts +1 -1
- package/dist/components/Sidebar/sidebar.mcp.js +45 -10
- package/dist/components/Sidebar/sidebar.props.d.ts +28 -7
- package/dist/components/Sidebar/sidebar.theme.d.ts +51 -21
- package/dist/components/Sidebar/sidebar.theme.js +113 -62
- package/dist/components/Sidebar/sidebar.views.svelte.js +11 -18
- package/dist/components/Stepper/Stepper.svelte +2 -0
- package/dist/components/Stepper/stepper.mcp.d.ts +1 -1
- package/dist/components/Stepper/stepper.mcp.js +1 -0
- package/dist/components/Stepper/stepper.props.d.ts +5 -0
- package/dist/components/Stepper/stepper.state.svelte.d.ts +2 -0
- package/dist/components/Stepper/stepper.state.svelte.js +31 -12
- package/dist/components/Tabbar/Tabbar.svelte +55 -16
- package/dist/components/Tabbar/index.d.ts +1 -1
- package/dist/components/Tabbar/tabbar.mcp.d.ts +1 -1
- package/dist/components/Tabbar/tabbar.mcp.js +26 -9
- package/dist/components/Tabbar/tabbar.props.d.ts +34 -5
- package/dist/components/Tabbar/tabbar.selection.svelte.d.ts +79 -0
- package/dist/components/Tabbar/tabbar.selection.svelte.js +99 -0
- package/dist/components/TableOfContents/tableOfContents.state.svelte.js +9 -7
- package/dist/components/Tabs/Tabs.svelte +73 -16
- package/dist/components/Tabs/index.d.ts +2 -1
- package/dist/components/Tabs/tabs.direction.svelte.d.ts +25 -0
- package/dist/components/Tabs/tabs.direction.svelte.js +40 -0
- package/dist/components/Tabs/tabs.mcp.d.ts +1 -1
- package/dist/components/Tabs/tabs.mcp.js +22 -4
- package/dist/components/Tabs/tabs.props.d.ts +39 -12
- package/dist/components/Tabs/tabs.theme.js +3 -1
- package/dist/components/Theme/Theme.svelte +44 -27
- package/dist/components/Theme/helper.d.ts +16 -2
- package/dist/components/Theme/helper.js +46 -4
- package/dist/components/Theme/theme.mcp.d.ts +1 -1
- package/dist/components/Theme/theme.mcp.js +103 -0
- package/dist/components/Theme/theme.props.d.ts +16 -0
- package/dist/components/Theme/theme.state.svelte.d.ts +14 -1
- package/dist/components/Theme/theme.state.svelte.js +18 -1
- package/dist/components/Toast/Toast.svelte +184 -39
- package/dist/components/Toast/Toaster.svelte +14 -10
- package/dist/components/Toast/index.d.ts +1 -0
- package/dist/components/Toast/toast.mcp.d.ts +1 -1
- package/dist/components/Toast/toast.mcp.js +47 -6
- package/dist/components/Toast/toast.state.svelte.d.ts +172 -6
- package/dist/components/Toast/toast.state.svelte.js +513 -68
- package/dist/components/Toast/toast.theme.js +1 -1
- package/dist/components/ToggleButton/ToggleButton.svelte +23 -1
- package/dist/components/ToggleButton/toggleButton.mcp.d.ts +1 -1
- package/dist/components/ToggleButton/toggleButton.mcp.js +3 -1
- package/dist/components/ToggleButton/toggleButton.props.d.ts +13 -1
- package/dist/components/ToggleButton/toggleButton.theme.d.ts +12 -0
- package/dist/components/ToggleButton/toggleButton.theme.js +15 -3
- package/dist/components/ToggleButtonGroup/ToggleButtonGroup.svelte +29 -9
- package/dist/components/ToggleButtonGroup/index.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.mcp.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.mcp.js +5 -2
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.props.d.ts +19 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.d.ts +12 -0
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.js +21 -2
- package/dist/components/ToggleMenu/ToggleMenu.svelte +57 -43
- package/dist/components/ToggleMenu/ToggleMenuGroup.svelte +1 -0
- package/dist/components/ToggleMenu/ToggleMenuMenu.svelte +9 -3
- package/dist/components/ToggleMenu/ToggleMenuRadioGroup.svelte +7 -2
- package/dist/components/ToggleMenu/toggleMenu.mcp.d.ts +1 -1
- package/dist/components/ToggleMenu/toggleMenu.mcp.js +3 -2
- package/dist/components/ToggleMenu/toggleMenu.props.d.ts +4 -1
- package/dist/components/Tooltip/Tooltip.svelte +4 -12
- package/dist/components/Tooltip/TooltipHost.svelte +136 -15
- package/dist/components/Tooltip/index.d.ts +1 -0
- package/dist/components/Tooltip/index.js +1 -0
- package/dist/components/Tooltip/tooltip.attachment.svelte.d.ts +5 -0
- package/dist/components/Tooltip/tooltip.attachment.svelte.js +215 -33
- package/dist/components/Tooltip/tooltip.attributes.d.ts +32 -0
- package/dist/components/Tooltip/tooltip.attributes.js +28 -0
- package/dist/components/Tooltip/tooltip.mcp.d.ts +1 -1
- package/dist/components/Tooltip/tooltip.mcp.js +111 -10
- package/dist/components/Tooltip/tooltip.props.d.ts +33 -2
- package/dist/components/Tooltip/tooltip.surface.d.ts +24 -0
- package/dist/components/Tooltip/tooltip.surface.js +42 -0
- package/dist/components/Tree/TreeContextMenuSurface.svelte +16 -3
- package/dist/components/Utils/BeforeHydratation.svelte +14 -3
- package/dist/components/Utils/BeforeHydratation.svelte.d.ts +2 -0
- package/dist/components/VideoPlayer/VideoPlayer.svelte.d.ts +1 -1
- package/dist/components/VideoPlayer/VideoPlayerSettings.svelte +2 -0
- package/dist/generated/componentAliases.d.ts +3 -0
- package/dist/generated/componentAliases.js +3 -0
- package/dist/generated/componentContract.d.ts +79 -34
- package/dist/generated/componentContract.js +231 -6
- package/dist/generated/componentMcpRegistry.js +6 -0
- package/dist/i18n/ar.js +107 -3
- package/dist/i18n/context.svelte.d.ts +6 -0
- package/dist/i18n/context.svelte.js +12 -0
- package/dist/i18n/de.js +101 -3
- package/dist/i18n/en.d.ts +91 -2
- package/dist/i18n/en.js +101 -3
- package/dist/i18n/es.js +101 -3
- package/dist/i18n/fr.js +101 -3
- package/dist/i18n/ja.js +101 -3
- package/dist/i18n/pt.js +101 -3
- package/dist/i18n/zh.js +101 -3
- package/dist/tailwind/geometry.js +7 -0
- package/dist/tailwind/global.js +31 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types.mcp.d.ts +1 -1
- package/dist/types/types.mcp.js +23 -0
- package/dist/utils/cspNonce.d.ts +16 -0
- package/dist/utils/cspNonce.js +39 -0
- package/dist/utils/cva/merge.d.ts +5 -1
- package/dist/utils/cva/merge.js +6 -4
- package/dist/utils/focus.d.ts +34 -0
- package/dist/utils/focus.js +93 -0
- package/dist/utils/focusHistory.d.ts +21 -0
- package/dist/utils/focusHistory.js +99 -0
- package/dist/utils/handlers.d.ts +7 -0
- package/dist/utils/handlers.js +14 -0
- package/dist/utils/hoverIntent.d.ts +42 -0
- package/dist/utils/hoverIntent.js +57 -0
- package/dist/utils/id.d.ts +7 -0
- package/dist/utils/id.js +15 -0
- package/dist/utils/layers.svelte.d.ts +32 -4
- package/dist/utils/layers.svelte.js +214 -21
- package/dist/utils/listFilter.d.ts +44 -0
- package/dist/utils/listFilter.js +130 -0
- package/dist/utils/match.d.ts +35 -0
- package/dist/utils/match.js +36 -0
- package/dist/utils/number.d.ts +126 -0
- package/dist/utils/number.js +401 -0
- package/dist/utils/openChange.d.ts +88 -0
- package/dist/utils/openChange.js +71 -0
- package/dist/utils/openLifecycle.svelte.d.ts +41 -0
- package/dist/utils/openLifecycle.svelte.js +134 -0
- package/dist/utils/pointerDrag.d.ts +10 -0
- package/dist/utils/pointerDrag.js +37 -2
- package/dist/utils/pragmaticDragAndDrop.d.ts +2 -1
- package/dist/utils/pragmaticDragAndDrop.js +8 -3
- package/dist/utils/range.d.ts +62 -0
- package/dist/utils/range.js +70 -0
- package/dist/utils/requestNativeSubmit.d.ts +17 -0
- package/dist/utils/requestNativeSubmit.js +47 -0
- package/dist/utils/safeArea.svelte.d.ts +10 -1
- package/dist/utils/safeArea.svelte.js +19 -11
- package/dist/utils/stateAttributes.d.ts +108 -0
- package/dist/utils/stateAttributes.js +78 -0
- package/dist/utils/swipeVelocity.d.ts +32 -0
- package/dist/utils/swipeVelocity.js +59 -0
- package/dist/utils/timer.svelte.d.ts +65 -2
- package/dist/utils/timer.svelte.js +159 -25
- package/dist/utils/trigger.d.ts +41 -0
- package/dist/utils/trigger.js +103 -0
- package/dist/utils/typeahead.d.ts +9 -0
- package/dist/utils/typeahead.js +21 -9
- package/dist/utils/useDndList.svelte.d.ts +1 -1
- package/dist/utils/useDndList.svelte.js +6 -23
- package/dist/utils/useFocusScope.svelte.d.ts +29 -0
- package/dist/utils/useFocusScope.svelte.js +189 -27
- package/dist/utils/useHoverAction.svelte.d.ts +44 -4
- package/dist/utils/useHoverAction.svelte.js +161 -51
- package/dist/utils/useKeyDown.svelte.d.ts +19 -2
- package/dist/utils/useKeyDown.svelte.js +19 -12
- package/dist/utils/useListNavigation.svelte.d.ts +94 -13
- package/dist/utils/useListNavigation.svelte.js +261 -35
- package/dist/utils/useLiveAnnouncer.svelte.d.ts +77 -2
- package/dist/utils/useLiveAnnouncer.svelte.js +119 -2
- package/dist/utils/useNavigation.svelte.d.ts +36 -3
- package/dist/utils/useNavigation.svelte.js +699 -332
- package/dist/utils/usePressAndHold.svelte.d.ts +38 -0
- package/dist/utils/usePressAndHold.svelte.js +191 -0
- package/dist/utils/useScrollLock.svelte.d.ts +20 -1
- package/dist/utils/useScrollLock.svelte.js +54 -13
- package/dist/utils/useSlidingIndicator.svelte.d.ts +2 -0
- package/dist/utils/useSlidingIndicator.svelte.js +27 -5
- package/dist/utils/useTabBridge.svelte.d.ts +20 -0
- package/dist/utils/useTabBridge.svelte.js +109 -0
- package/dist/utils/values.d.ts +15 -0
- package/dist/utils/values.js +49 -0
- package/package.json +31 -2
- package/dist/generated/componentMcpRegistry.d.ts +0 -142
- package/dist/utils/useDrag.svelte.d.ts +0 -11
- package/dist/utils/useDrag.svelte.js +0 -55
|
@@ -29,6 +29,12 @@ export declare const aiComposerTheme: {
|
|
|
29
29
|
toolbar: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
30
30
|
file: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
31
31
|
error: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
32
|
+
notice: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
33
|
+
empty: {
|
|
34
|
+
true: string;
|
|
35
|
+
false: string;
|
|
36
|
+
};
|
|
37
|
+
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
32
38
|
footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
33
39
|
actions: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
34
40
|
side: {
|
|
@@ -45,7 +51,14 @@ export declare const aiComposerTheme: {
|
|
|
45
51
|
queue: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
46
52
|
queueEditing: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
47
53
|
queueList: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
48
|
-
queueItem: (props?: import("../../utils/cva/types.js").
|
|
54
|
+
queueItem: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
55
|
+
steered: {
|
|
56
|
+
true: string;
|
|
57
|
+
false: string;
|
|
58
|
+
};
|
|
59
|
+
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
60
|
+
queueBadge: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
61
|
+
queueFiles: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
49
62
|
queueText: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
50
63
|
};
|
|
51
64
|
export type AIComposerTheme = typeof aiComposerTheme;
|
|
@@ -80,6 +93,12 @@ export declare const setAIComposerTheme: (theme: InferComponentTheme<{
|
|
|
80
93
|
toolbar: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
81
94
|
file: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
82
95
|
error: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
96
|
+
notice: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
97
|
+
empty: {
|
|
98
|
+
true: string;
|
|
99
|
+
false: string;
|
|
100
|
+
};
|
|
101
|
+
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
83
102
|
footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
84
103
|
actions: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
85
104
|
side: {
|
|
@@ -96,7 +115,14 @@ export declare const setAIComposerTheme: (theme: InferComponentTheme<{
|
|
|
96
115
|
queue: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
97
116
|
queueEditing: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
98
117
|
queueList: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
99
|
-
queueItem: (props?: import("../../utils/cva/types.js").
|
|
118
|
+
queueItem: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
119
|
+
steered: {
|
|
120
|
+
true: string;
|
|
121
|
+
false: string;
|
|
122
|
+
};
|
|
123
|
+
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
124
|
+
queueBadge: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
125
|
+
queueFiles: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
100
126
|
queueText: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
101
127
|
}>) => void;
|
|
102
128
|
export declare const useAIComposerTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
|
|
@@ -129,6 +155,12 @@ export declare const useAIComposerTheme: import("../../utils/cva/theme.js").UseC
|
|
|
129
155
|
toolbar: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
130
156
|
file: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
131
157
|
error: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
158
|
+
notice: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
159
|
+
empty: {
|
|
160
|
+
true: string;
|
|
161
|
+
false: string;
|
|
162
|
+
};
|
|
163
|
+
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
132
164
|
footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
133
165
|
actions: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
134
166
|
side: {
|
|
@@ -145,6 +177,13 @@ export declare const useAIComposerTheme: import("../../utils/cva/theme.js").UseC
|
|
|
145
177
|
queue: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
146
178
|
queueEditing: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
147
179
|
queueList: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
148
|
-
queueItem: (props?: import("../../utils/cva/types.js").
|
|
180
|
+
queueItem: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
181
|
+
steered: {
|
|
182
|
+
true: string;
|
|
183
|
+
false: string;
|
|
184
|
+
};
|
|
185
|
+
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
186
|
+
queueBadge: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
187
|
+
queueFiles: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
149
188
|
queueText: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
150
189
|
}>;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { cva, setComponentTheme, useComponentTheme } from '../../utils/cva/index.js';
|
|
2
|
+
// The composer is a raised card so it separates from whatever chat surface hosts it: its own
|
|
3
|
+
// raised fill, a hairline and a soft lift. It caps itself at `--ai-chat-content-width` when a host
|
|
4
|
+
// (AIChat) publishes one and centres in the remaining room; without the variable it spans its
|
|
5
|
+
// host. `@container` lets the editor and footer switch to touch ergonomics on a narrow composer.
|
|
6
|
+
// The focus ring follows the editor only, so focusing a footer control does not ring the card.
|
|
2
7
|
const defaultRoot = cva({
|
|
3
|
-
base: 'relative grid min-w-0 grid-cols-[minmax(0,1fr)] gap-xs rounded-
|
|
8
|
+
base: '@container relative mx-auto grid w-full max-w-[var(--ai-chat-content-width,none)] min-w-0 grid-cols-[minmax(0,1fr)] gap-xs rounded-lg border border-neutral-muted bg-surface-raised p-sm lift-2 transition-colors has-[[data-slot=ai-composer-editor]:focus-within]:ring-2 has-[[data-slot=ai-composer-editor]:focus-within]:ring-focus/50',
|
|
4
9
|
variants: {
|
|
5
10
|
dragState: {
|
|
6
11
|
idle: '',
|
|
@@ -37,12 +42,26 @@ const defaultEditor = cva({
|
|
|
37
42
|
const defaultToolbar = cva({ base: 'min-w-0' });
|
|
38
43
|
const defaultFile = cva({ base: 'shrink-0' });
|
|
39
44
|
const defaultError = cva({ base: 'min-w-0' });
|
|
40
|
-
|
|
45
|
+
// Rejected files are reported as a quiet inline note that dismisses itself, not as an alert. The
|
|
46
|
+
// note's live region stays mounted; while empty it is visually hidden and takes no grid row.
|
|
47
|
+
const defaultNotice = cva({
|
|
48
|
+
base: 'flex min-w-0 items-center justify-between gap-md px-sm text-xs text-danger-readable',
|
|
49
|
+
variants: { empty: { true: 'sr-only', false: '' } },
|
|
50
|
+
defaultVariants: { empty: false }
|
|
51
|
+
});
|
|
52
|
+
// On a narrow composer or a touch screen the footer controls grow to the 36px control height, so
|
|
53
|
+
// the targets are reachable with a thumb. VoiceInput's buttons are excluded here: the footer gives
|
|
54
|
+
// the VoiceInput its 36px `normal` size under the same conditions instead.
|
|
55
|
+
const defaultFooter = cva({
|
|
56
|
+
base: 'flex min-w-0 items-center gap-md @max-md:[&_button:not([data-slot=ai-composer-voice-input]_button)]:h-control-lg pointer-coarse:[&_button:not([data-slot=ai-composer-voice-input]_button)]:h-control-lg'
|
|
57
|
+
});
|
|
58
|
+
// The start group (attach, footerStart) may shrink; the end group (model, voice, queue,
|
|
59
|
+
// stop/send) keeps priority so the send position never leaves the composer.
|
|
41
60
|
const defaultActions = cva({
|
|
42
61
|
base: 'flex items-center gap-xs',
|
|
43
62
|
variants: {
|
|
44
63
|
side: {
|
|
45
|
-
start: '
|
|
64
|
+
start: 'min-w-0 shrink',
|
|
46
65
|
end: 'ml-auto min-w-0 flex-1 justify-end'
|
|
47
66
|
}
|
|
48
67
|
},
|
|
@@ -62,8 +81,18 @@ const defaultQueue = cva({ base: 'grid gap-xs border-b border-neutral-muted pb-m
|
|
|
62
81
|
const defaultQueueEditing = cva({
|
|
63
82
|
base: 'flex min-w-0 items-center justify-between gap-md rounded-sm bg-neutral-muted/50 px-md py-xs text-sm text-neutral/70'
|
|
64
83
|
});
|
|
65
|
-
|
|
66
|
-
|
|
84
|
+
// One `minmax(0, 1fr)` track: an `auto` track grows to a long message's width and pushes the row
|
|
85
|
+
// actions past the composer edge instead of truncating the preview.
|
|
86
|
+
const defaultQueueList = cva({ base: 'grid grid-cols-[minmax(0,1fr)] gap-xs [&>*]:min-w-0' });
|
|
87
|
+
const defaultQueueItem = cva({
|
|
88
|
+
base: 'flex min-w-0 flex-1 items-center gap-md',
|
|
89
|
+
variants: { steered: { true: '', false: '' } },
|
|
90
|
+
defaultVariants: { steered: false }
|
|
91
|
+
});
|
|
92
|
+
const defaultQueueBadge = cva({
|
|
93
|
+
base: 'shrink-0 rounded-sm bg-primary-muted px-sm text-xs font-medium text-primary-muted-readable'
|
|
94
|
+
});
|
|
95
|
+
const defaultQueueFiles = cva({ base: 'shrink-0 text-xs text-neutral/70' });
|
|
67
96
|
const defaultQueueText = cva({ base: 'min-w-0 flex-1 truncate text-sm text-neutral/70' });
|
|
68
97
|
export const aiComposerTheme = {
|
|
69
98
|
root: defaultRoot,
|
|
@@ -76,6 +105,7 @@ export const aiComposerTheme = {
|
|
|
76
105
|
toolbar: defaultToolbar,
|
|
77
106
|
file: defaultFile,
|
|
78
107
|
error: defaultError,
|
|
108
|
+
notice: defaultNotice,
|
|
79
109
|
footer: defaultFooter,
|
|
80
110
|
actions: defaultActions,
|
|
81
111
|
voiceInput: defaultVoiceInput,
|
|
@@ -83,6 +113,8 @@ export const aiComposerTheme = {
|
|
|
83
113
|
queueEditing: defaultQueueEditing,
|
|
84
114
|
queueList: defaultQueueList,
|
|
85
115
|
queueItem: defaultQueueItem,
|
|
116
|
+
queueBadge: defaultQueueBadge,
|
|
117
|
+
queueFiles: defaultQueueFiles,
|
|
86
118
|
queueText: defaultQueueText
|
|
87
119
|
};
|
|
88
120
|
export const setAIComposerTheme = setComponentTheme('ai-composer');
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Messages } from '../../i18n/en.js';
|
|
1
2
|
import type { FileRejection } from '../Form/File/fileAcceptance.js';
|
|
2
3
|
import { FileDropzone } from '../Form/File/fileDropzone.svelte.js';
|
|
3
4
|
import type { AIComposerAttachment, AIComposerQueuedMessage } from './aiComposer.props.js';
|
|
@@ -20,21 +21,28 @@ type AIComposerFileControllerOptions = {
|
|
|
20
21
|
onAttachmentAdd?: (payload: AIComposerAttachment) => void;
|
|
21
22
|
onAttachmentRetry?: (payload: AIComposerAttachment) => void | Promise<void>;
|
|
22
23
|
onAttachmentRemove?: (payload: AIComposerAttachment) => void;
|
|
24
|
+
messages: Messages;
|
|
23
25
|
};
|
|
24
26
|
export declare class AIComposerFileController {
|
|
25
27
|
private optionsSource;
|
|
26
28
|
readonly dropzone: FileDropzone;
|
|
27
29
|
error: string | undefined;
|
|
30
|
+
/** Plain-language note about files that were just rejected; the composer dismisses it. */
|
|
31
|
+
notice: string | undefined;
|
|
32
|
+
/** Counts rejection notes, so a repeated identical note still re-announces and restarts its timer. */
|
|
33
|
+
noticeId: number;
|
|
28
34
|
constructor(optionsSource: () => AIComposerFileControllerOptions);
|
|
29
35
|
get files(): File[];
|
|
30
36
|
get attachments(): AIComposerAttachment[];
|
|
31
37
|
get accept(): readonly string[];
|
|
38
|
+
/** The effective file limit: a single-file composer holds one file whatever `maxFiles` says. */
|
|
32
39
|
get maxFiles(): number;
|
|
33
40
|
get isDisabled(): boolean;
|
|
34
41
|
addFiles(files: readonly File[]): void;
|
|
35
42
|
removeFile(file: File): void;
|
|
36
43
|
retryAttachment(attachmentId: string): Promise<void>;
|
|
37
44
|
clear(): void;
|
|
45
|
+
dismissNotice(): void;
|
|
38
46
|
restore(message: AIComposerQueuedMessage): void;
|
|
39
47
|
handlePaste(event: ClipboardEvent): void;
|
|
40
48
|
private get options();
|
|
@@ -46,4 +54,16 @@ export declare class AIComposerFileController {
|
|
|
46
54
|
private updateAttachment;
|
|
47
55
|
private reportRejections;
|
|
48
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* One sentence a person can act on: the file's name and what to do instead ("notes.txt isn't
|
|
59
|
+
* supported — use images or PDF"), never the rejection code.
|
|
60
|
+
*/
|
|
61
|
+
export declare function describeRejections(rejections: readonly FileRejection[], context: {
|
|
62
|
+
accept: readonly string[];
|
|
63
|
+
maxFiles: number;
|
|
64
|
+
maxFileSize: string;
|
|
65
|
+
messages: Messages;
|
|
66
|
+
}): string;
|
|
67
|
+
/** "images or PDF" from `['image/*', '.pdf']`, joined the locale's way. */
|
|
68
|
+
export declare function describeAcceptedTypes(accept: readonly string[], messages: Messages): string;
|
|
49
69
|
export {};
|
|
@@ -6,6 +6,10 @@ export class AIComposerFileController {
|
|
|
6
6
|
optionsSource;
|
|
7
7
|
dropzone;
|
|
8
8
|
error = $state();
|
|
9
|
+
/** Plain-language note about files that were just rejected; the composer dismisses it. */
|
|
10
|
+
notice = $state();
|
|
11
|
+
/** Counts rejection notes, so a repeated identical note still re-announces and restarts its timer. */
|
|
12
|
+
noticeId = $state(0);
|
|
9
13
|
constructor(optionsSource) {
|
|
10
14
|
this.optionsSource = optionsSource;
|
|
11
15
|
this.dropzone = new FileDropzone(() => ({
|
|
@@ -32,8 +36,9 @@ export class AIComposerFileController {
|
|
|
32
36
|
get accept() {
|
|
33
37
|
return this.options.accept;
|
|
34
38
|
}
|
|
39
|
+
/** The effective file limit: a single-file composer holds one file whatever `maxFiles` says. */
|
|
35
40
|
get maxFiles() {
|
|
36
|
-
return this.options.maxFiles;
|
|
41
|
+
return this.options.fileMultiple ? this.options.maxFiles : 1;
|
|
37
42
|
}
|
|
38
43
|
get isDisabled() {
|
|
39
44
|
const options = this.options;
|
|
@@ -73,7 +78,7 @@ export class AIComposerFileController {
|
|
|
73
78
|
}));
|
|
74
79
|
}
|
|
75
80
|
catch (error) {
|
|
76
|
-
const message = getErrorMessage(error,
|
|
81
|
+
const message = getErrorMessage(error, this.options.messages.aiComposerUploadFailed(attachment.file.name));
|
|
77
82
|
this.updateAttachment(attachmentId, (current) => ({
|
|
78
83
|
...current,
|
|
79
84
|
status: 'failed',
|
|
@@ -88,8 +93,12 @@ export class AIComposerFileController {
|
|
|
88
93
|
else
|
|
89
94
|
this.commitFiles([]);
|
|
90
95
|
this.error = undefined;
|
|
96
|
+
this.notice = undefined;
|
|
91
97
|
this.dropzone.reset();
|
|
92
98
|
}
|
|
99
|
+
dismissNotice() {
|
|
100
|
+
this.notice = undefined;
|
|
101
|
+
}
|
|
93
102
|
restore(message) {
|
|
94
103
|
if (this.options.managedAttachments) {
|
|
95
104
|
const attachments = message.attachments.length > 0
|
|
@@ -117,6 +126,7 @@ export class AIComposerFileController {
|
|
|
117
126
|
}
|
|
118
127
|
replaceFiles(files) {
|
|
119
128
|
this.error = undefined;
|
|
129
|
+
this.notice = undefined;
|
|
120
130
|
const options = this.options;
|
|
121
131
|
if (!options.managedAttachments) {
|
|
122
132
|
this.commitFiles(files);
|
|
@@ -159,18 +169,74 @@ export class AIComposerFileController {
|
|
|
159
169
|
}
|
|
160
170
|
reportRejections(rejections) {
|
|
161
171
|
if (rejections.length === 0) {
|
|
162
|
-
this.
|
|
172
|
+
this.notice = undefined;
|
|
163
173
|
return;
|
|
164
174
|
}
|
|
165
175
|
const options = this.options;
|
|
166
176
|
options.onFileReject?.(rejections);
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
.
|
|
172
|
-
|
|
177
|
+
options.onFilesRejected?.(rejections.map((rejection) => rejection.file));
|
|
178
|
+
this.noticeId += 1;
|
|
179
|
+
this.notice = describeRejections(rejections, {
|
|
180
|
+
accept: options.accept,
|
|
181
|
+
maxFiles: this.maxFiles,
|
|
182
|
+
maxFileSize: this.dropzone.formatSize(options.maxFileSize),
|
|
183
|
+
messages: options.messages
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* One sentence a person can act on: the file's name and what to do instead ("notes.txt isn't
|
|
189
|
+
* supported — use images or PDF"), never the rejection code.
|
|
190
|
+
*/
|
|
191
|
+
export function describeRejections(rejections, context) {
|
|
192
|
+
const { messages } = context;
|
|
193
|
+
const first = rejections[0].reason;
|
|
194
|
+
const reason = rejections.every((rejection) => rejection.reason === first) ? first : undefined;
|
|
195
|
+
const name = rejections[0].file.name;
|
|
196
|
+
const single = rejections.length === 1;
|
|
197
|
+
if (reason === 'limit')
|
|
198
|
+
return messages.aiComposerFileLimit(context.maxFiles);
|
|
199
|
+
if (reason === 'type') {
|
|
200
|
+
const types = describeAcceptedTypes(context.accept, messages);
|
|
201
|
+
return single
|
|
202
|
+
? messages.aiComposerFileUnsupported(name, types)
|
|
203
|
+
: messages.aiComposerFilesUnsupported(rejections.length, types);
|
|
204
|
+
}
|
|
205
|
+
if (single && reason === 'size')
|
|
206
|
+
return messages.aiComposerFileTooLarge(name, context.maxFileSize);
|
|
207
|
+
if (single && reason === 'duplicate')
|
|
208
|
+
return messages.aiComposerFileDuplicate(name);
|
|
209
|
+
return messages.aiComposerFilesRejected(rejections.length);
|
|
210
|
+
}
|
|
211
|
+
/** "images or PDF" from `['image/*', '.pdf']`, joined the locale's way. */
|
|
212
|
+
export function describeAcceptedTypes(accept, messages) {
|
|
213
|
+
const names = accept.map((pattern) => describeAcceptPattern(pattern.trim(), messages));
|
|
214
|
+
const unique = names.filter((name, index) => name && names.indexOf(name) === index);
|
|
215
|
+
try {
|
|
216
|
+
return new Intl.ListFormat(messages.locale, { type: 'disjunction' }).format(unique);
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
return unique.join(', ');
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
function describeAcceptPattern(pattern, messages) {
|
|
223
|
+
const normalized = pattern.toLowerCase();
|
|
224
|
+
if (normalized.startsWith('.'))
|
|
225
|
+
return normalized.slice(1).toUpperCase();
|
|
226
|
+
const [family, subtype] = normalized.split('/');
|
|
227
|
+
if (subtype === '*') {
|
|
228
|
+
if (family === 'image')
|
|
229
|
+
return messages.aiComposerFileTypeImages;
|
|
230
|
+
if (family === 'video')
|
|
231
|
+
return messages.aiComposerFileTypeVideos;
|
|
232
|
+
if (family === 'audio')
|
|
233
|
+
return messages.aiComposerFileTypeAudio;
|
|
234
|
+
if (family === 'text')
|
|
235
|
+
return messages.aiComposerFileTypeText;
|
|
236
|
+
return family;
|
|
173
237
|
}
|
|
238
|
+
// `application/pdf` → PDF; `application/vnd.ms-excel` → MS-EXCEL.
|
|
239
|
+
return (subtype ?? family).replace(/^(?:vnd\.|x-)/, '').toUpperCase();
|
|
174
240
|
}
|
|
175
241
|
function createAttachment(file) {
|
|
176
242
|
return {
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { en } from '../../i18n/en.js';
|
|
2
|
+
import { atIcon } from '../Icons/at.js';
|
|
3
|
+
import { fileTextIcon } from '../Icons/fileText.js';
|
|
4
|
+
import { lightningIcon } from '../Icons/lightning.js';
|
|
5
|
+
import { linkIcon } from '../Icons/link.js';
|
|
6
|
+
import { sparkleIcon } from '../Icons/sparkle.js';
|
|
2
7
|
import { toRichTextInputToken } from '../RichTextInput/suggestions.js';
|
|
3
8
|
export function resolveAIComposerSources(options) {
|
|
4
9
|
const commands = resolveCommands(options);
|
|
@@ -164,9 +169,10 @@ function createAtSearch(mentions, references, compatibilitySearch) {
|
|
|
164
169
|
return (context) => combineSearchResults([
|
|
165
170
|
searchSource(mentions, context, 'mention'),
|
|
166
171
|
searchSource(references, context, 'reference'),
|
|
167
|
-
mapSearchResult(compatibilitySearch ? searchMentions(compatibilitySearch, context.query, 'all') : [], (items) => items
|
|
168
|
-
|
|
169
|
-
|
|
172
|
+
mapSearchResult(compatibilitySearch ? searchMentions(compatibilitySearch, context.query, 'all') : [], (items) => items.filter(isAtMention).map((item) => {
|
|
173
|
+
const kind = getAIComposerMentionKind(item, 'mention');
|
|
174
|
+
return { ...item, kind, icon: item.icon ?? KIND_ICONS[kind] };
|
|
175
|
+
}))
|
|
170
176
|
]);
|
|
171
177
|
}
|
|
172
178
|
function searchSource(source, context, kind) {
|
|
@@ -222,8 +228,20 @@ function requireMention(item) {
|
|
|
222
228
|
}
|
|
223
229
|
return { ...item, kind };
|
|
224
230
|
}
|
|
231
|
+
// A leading icon per token kind in the / @ $ menus when the item brings none, so people, files
|
|
232
|
+
// and references are told apart at a glance in a mixed @ list.
|
|
233
|
+
const KIND_ICONS = {
|
|
234
|
+
command: lightningIcon,
|
|
235
|
+
mention: atIcon,
|
|
236
|
+
file: fileTextIcon,
|
|
237
|
+
reference: linkIcon,
|
|
238
|
+
skill: sparkleIcon
|
|
239
|
+
};
|
|
225
240
|
function withKind(items, fallback) {
|
|
226
|
-
return (items ?? []).map((item) =>
|
|
241
|
+
return (items ?? []).map((item) => {
|
|
242
|
+
const kind = itemKind(item, fallback);
|
|
243
|
+
return { ...item, kind, icon: item.icon ?? KIND_ICONS[kind] };
|
|
244
|
+
});
|
|
227
245
|
}
|
|
228
246
|
function itemKind(item, fallback) {
|
|
229
247
|
if (item.kind)
|
|
@@ -11,6 +11,17 @@ type AIComposerSubmitControllerOptions = {
|
|
|
11
11
|
conversation: AIConversationState<AIThreadItem> | null;
|
|
12
12
|
buildMeta: () => AIComposerSubmitMeta;
|
|
13
13
|
clearDraft: () => void;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the send started inside the composer: focus is there, or the submit came from one of
|
|
16
|
+
* its buttons (Safari does not focus a clicked button, so focus sits on `<body>` then).
|
|
17
|
+
*/
|
|
18
|
+
hasFocus: (event?: AIComposerSubmitEvent) => boolean;
|
|
19
|
+
/** Returns focus to the editor once a send settles. */
|
|
20
|
+
restoreFocus: () => void;
|
|
21
|
+
messages: {
|
|
22
|
+
submitFailed: string;
|
|
23
|
+
stopFailed: string;
|
|
24
|
+
};
|
|
14
25
|
onSubmit: AIComposerProps['onSubmit'];
|
|
15
26
|
onStop: AIComposerProps['onStop'];
|
|
16
27
|
};
|
|
@@ -24,6 +35,7 @@ export declare class AIComposerSubmitController {
|
|
|
24
35
|
submit: (event?: AIComposerSubmitEvent) => Promise<void>;
|
|
25
36
|
stop: () => Promise<void>;
|
|
26
37
|
private get options();
|
|
38
|
+
/** Hands the draft to `onSubmit` or the conversation; a rejection keeps the draft. */
|
|
27
39
|
private dispatch;
|
|
28
40
|
}
|
|
29
41
|
export {};
|
|
@@ -16,26 +16,36 @@ export class AIComposerSubmitController {
|
|
|
16
16
|
if (options.disabled || this.isWorking || !options.canSubmit)
|
|
17
17
|
return;
|
|
18
18
|
const meta = options.buildMeta();
|
|
19
|
+
// A send that started inside the composer hands focus back to the editor once it settles:
|
|
20
|
+
// the editor is read-only while a send is in flight (which blurs it), and queueing or
|
|
21
|
+
// committing an edit clears the draft, which unmounts or disables the button that sent it.
|
|
22
|
+
const hadFocus = options.hasFocus(event);
|
|
19
23
|
if (options.queue.isEditing) {
|
|
20
24
|
options.queue.commitEdit(meta);
|
|
25
|
+
if (hadFocus)
|
|
26
|
+
options.restoreFocus();
|
|
21
27
|
return;
|
|
22
28
|
}
|
|
23
29
|
if (options.busy) {
|
|
24
30
|
if (options.queueWhileBusy)
|
|
25
31
|
options.queue.enqueue(meta);
|
|
32
|
+
if (hadFocus)
|
|
33
|
+
options.restoreFocus();
|
|
26
34
|
return;
|
|
27
35
|
}
|
|
28
36
|
this.isSubmitting = true;
|
|
29
37
|
this.error = undefined;
|
|
30
38
|
try {
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
await this.dispatch(meta, event);
|
|
40
|
+
options.clearDraft();
|
|
33
41
|
}
|
|
34
42
|
catch (error) {
|
|
35
|
-
this.error = getErrorMessage(error,
|
|
43
|
+
this.error = getErrorMessage(error, options.messages.submitFailed);
|
|
36
44
|
}
|
|
37
45
|
finally {
|
|
38
46
|
this.isSubmitting = false;
|
|
47
|
+
if (hadFocus)
|
|
48
|
+
options.restoreFocus();
|
|
39
49
|
}
|
|
40
50
|
};
|
|
41
51
|
stop = async () => {
|
|
@@ -53,7 +63,7 @@ export class AIComposerSubmitController {
|
|
|
53
63
|
throw new Error('AIComposer requires onStop or a parent AIConversation to stop.');
|
|
54
64
|
}
|
|
55
65
|
catch (error) {
|
|
56
|
-
this.error = getErrorMessage(error,
|
|
66
|
+
this.error = getErrorMessage(error, options.messages.stopFailed);
|
|
57
67
|
}
|
|
58
68
|
finally {
|
|
59
69
|
this.isStopping = false;
|
|
@@ -62,12 +72,13 @@ export class AIComposerSubmitController {
|
|
|
62
72
|
get options() {
|
|
63
73
|
return this.optionsSource();
|
|
64
74
|
}
|
|
75
|
+
/** Hands the draft to `onSubmit` or the conversation; a rejection keeps the draft. */
|
|
65
76
|
async dispatch(meta, event) {
|
|
66
77
|
const options = this.options;
|
|
67
78
|
const detail = { ...meta, event, steered: false };
|
|
68
79
|
if (options.onSubmit) {
|
|
69
80
|
await options.onSubmit(detail);
|
|
70
|
-
return
|
|
81
|
+
return;
|
|
71
82
|
}
|
|
72
83
|
if (!options.conversation) {
|
|
73
84
|
throw new Error('AIComposer requires onSubmit or a parent AIConversation.');
|
|
@@ -77,7 +88,6 @@ export class AIComposerSubmitController {
|
|
|
77
88
|
event,
|
|
78
89
|
meta
|
|
79
90
|
});
|
|
80
|
-
return true;
|
|
81
91
|
}
|
|
82
92
|
}
|
|
83
93
|
function getErrorMessage(error, fallback) {
|
|
@@ -144,9 +144,13 @@
|
|
|
144
144
|
decorative
|
|
145
145
|
class={classes.progress()}
|
|
146
146
|
/>
|
|
147
|
-
{#if
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
{#if compact}
|
|
148
|
+
<span data-slot="ai-context-trigger-percent" class={classes.triggerPercent()}
|
|
149
|
+
>{Math.round(clampedPercent)}%</span
|
|
150
|
+
>
|
|
151
|
+
{:else}
|
|
152
|
+
<span class={classes.triggerValue()}>{state.formattedUsed} / {state.formattedMax}</span>
|
|
153
|
+
{/if}
|
|
150
154
|
</button>
|
|
151
155
|
{/if}
|
|
152
156
|
{/snippet}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const aiContextDescription = "\n# AIContext\n\nDisplays context-window usage with the existing `ProgressCircle` and a top-end `HoverCard` breakdown. It reads `AIConversation.contextUsage` when `usage` is omitted or undefined; a direct usage object or `null` wins over provider state. Direct `usedTokens` takes precedence over either usage source.\n\n`maxTokens` defaults to 128,000. `warningAt` and `dangerAt` default to 70 and 90 percent. Use `compact` for
|
|
1
|
+
export declare const aiContextDescription = "\n# AIContext\n\nDisplays context-window usage with the existing `ProgressCircle` and a top-end `HoverCard` breakdown. It reads `AIConversation.contextUsage` when `usage` is omitted or undefined; a direct usage object or `null` wins over provider state. Direct `usedTokens` takes precedence over either usage source.\n\n`maxTokens` defaults to 128,000. `warningAt` and `dangerAt` default to 70 and 90 percent. Use `compact` for the ring plus the rounded percentage (\"17%\") on the small control height used by composer footers, and `formatTokens` to replace number formatting. The default trigger is transparent so it sits on any surface. AIChat shows its default indicator only when `maxTokens` is set or the conversation reports `contextUsage`. `dir` is forwarded to both the trigger wrapper and portalled details. The compact `labels` object overrides the title, remaining-token formatter, breakdown row labels, Used/Maximum labels, and complete trigger `label`; formatter callbacks receive already formatted token strings.\n\nThe `children` trigger and `content` detail snippets receive the complete resolved state: totals, remaining tokens, percentage, tone, formatted values, and resolved labels. Theme slots cover the root, popover/card surfaces, trigger, progress circle, trigger value, summary, meter, and breakdown rows. Native div attributes and attachments are forwarded to the root; `ref` binds that element.\n\nThe default trigger is a keyboard-focusable button with a complete context-usage label. The decorative ProgressCircle does not duplicate progress semantics, and the hover content opens from pointer or keyboard focus.\n\n```svelte\n<AIContext\n maxTokens={128000}\n usage={{ inputTokens: 12000, outputTokens: 3200, reasoningTokens: 800 }}\n/>\n```\n";
|
|
@@ -3,7 +3,7 @@ export const aiContextDescription = `
|
|
|
3
3
|
|
|
4
4
|
Displays context-window usage with the existing \`ProgressCircle\` and a top-end \`HoverCard\` breakdown. It reads \`AIConversation.contextUsage\` when \`usage\` is omitted or undefined; a direct usage object or \`null\` wins over provider state. Direct \`usedTokens\` takes precedence over either usage source.
|
|
5
5
|
|
|
6
|
-
\`maxTokens\` defaults to 128,000. \`warningAt\` and \`dangerAt\` default to 70 and 90 percent. Use \`compact\` for
|
|
6
|
+
\`maxTokens\` defaults to 128,000. \`warningAt\` and \`dangerAt\` default to 70 and 90 percent. Use \`compact\` for the ring plus the rounded percentage ("17%") on the small control height used by composer footers, and \`formatTokens\` to replace number formatting. The default trigger is transparent so it sits on any surface. AIChat shows its default indicator only when \`maxTokens\` is set or the conversation reports \`contextUsage\`. \`dir\` is forwarded to both the trigger wrapper and portalled details. The compact \`labels\` object overrides the title, remaining-token formatter, breakdown row labels, Used/Maximum labels, and complete trigger \`label\`; formatter callbacks receive already formatted token strings.
|
|
7
7
|
|
|
8
8
|
The \`children\` trigger and \`content\` detail snippets receive the complete resolved state: totals, remaining tokens, percentage, tone, formatted values, and resolved labels. Theme slots cover the root, popover/card surfaces, trigger, progress circle, trigger value, summary, meter, and breakdown rows. Native div attributes and attachments are forwarded to the root; \`ref\` binds that element.
|
|
9
9
|
|
|
@@ -50,7 +50,10 @@ export type AIContextProps = WithAttachments<Omit<HTMLAttributes<HTMLDivElement>
|
|
|
50
50
|
usedTokens?: number;
|
|
51
51
|
/** Structured token breakdown; falls back to conversation state when omitted or undefined. Pass `null` to suppress that fallback. */
|
|
52
52
|
usage?: AIContextUsage | null;
|
|
53
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* Renders the circular meter with the rounded percentage (`17%`) instead of the token totals,
|
|
55
|
+
* on the small control height used by composer footers.
|
|
56
|
+
*/
|
|
54
57
|
compact?: boolean;
|
|
55
58
|
/** Percentage at which warning styling begins. */
|
|
56
59
|
warningAt?: number;
|
|
@@ -17,6 +17,7 @@ export declare const aiContextTheme: {
|
|
|
17
17
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
18
18
|
progress: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
19
19
|
triggerValue: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
20
|
+
triggerPercent: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
20
21
|
content: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
21
22
|
summary: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
22
23
|
title: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
@@ -55,6 +56,7 @@ export declare const setAIContextTheme: (theme: InferComponentTheme<{
|
|
|
55
56
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
56
57
|
progress: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
57
58
|
triggerValue: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
59
|
+
triggerPercent: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
58
60
|
content: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
59
61
|
summary: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
60
62
|
title: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
@@ -91,6 +93,7 @@ export declare const useAIContextTheme: import("../../utils/cva/theme.js").UseCo
|
|
|
91
93
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
92
94
|
progress: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
93
95
|
triggerValue: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
96
|
+
triggerPercent: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
94
97
|
content: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
95
98
|
summary: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
96
99
|
title: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
@@ -3,10 +3,13 @@ const defaultRoot = cva({ base: 'inline-flex' });
|
|
|
3
3
|
const defaultPopover = cva({ base: 'w-auto p-0' });
|
|
4
4
|
const defaultCard = cva({ base: 'w-auto gap-0 py-0' });
|
|
5
5
|
const defaultCardContent = cva({ base: 'p-0' });
|
|
6
|
+
// A transparent control on the small control height, so it sits on any composer surface beside
|
|
7
|
+
// the footer buttons. Compact keeps the ring and adds the percentage: a ring alone reads as a
|
|
8
|
+
// loading spinner.
|
|
6
9
|
const defaultTrigger = cva({
|
|
7
|
-
base: 'state-layer inline-flex items-center rounded-
|
|
10
|
+
base: 'state-layer inline-flex h-control-sm shrink-0 items-center rounded-md bg-transparent text-xs font-medium outline-none transition-colors focus-visible:ring-2 focus-visible:ring-focus/50',
|
|
8
11
|
variants: {
|
|
9
|
-
compact: { true: '
|
|
12
|
+
compact: { true: 'justify-center gap-xs px-sm', false: 'gap-sm px-md' },
|
|
10
13
|
tone: {
|
|
11
14
|
default: 'text-neutral',
|
|
12
15
|
warning: 'text-warning-readable',
|
|
@@ -17,6 +20,7 @@ const defaultTrigger = cva({
|
|
|
17
20
|
});
|
|
18
21
|
const defaultProgress = cva({ base: 'shrink-0' });
|
|
19
22
|
const defaultTriggerValue = cva({ base: 'text-center font-normal tabular-nums' });
|
|
23
|
+
const defaultTriggerPercent = cva({ base: 'tabular-nums' });
|
|
20
24
|
const defaultContent = cva({ base: 'flex min-w-56 flex-col gap-lg p-lg' });
|
|
21
25
|
const defaultSummary = cva({ base: 'flex items-start justify-between gap-lg' });
|
|
22
26
|
const defaultTitle = cva({ base: 'text-xs leading-4 font-medium' });
|
|
@@ -42,6 +46,7 @@ export const aiContextTheme = {
|
|
|
42
46
|
trigger: defaultTrigger,
|
|
43
47
|
progress: defaultProgress,
|
|
44
48
|
triggerValue: defaultTriggerValue,
|
|
49
|
+
triggerPercent: defaultTriggerPercent,
|
|
45
50
|
content: defaultContent,
|
|
46
51
|
summary: defaultSummary,
|
|
47
52
|
title: defaultTitle,
|
|
@@ -3,7 +3,7 @@ import type { AIConversationProps } from './aiConversation.props.js';
|
|
|
3
3
|
declare function $$render<TMessage extends AIThreadItem = AIThreadItem>(): {
|
|
4
4
|
props: AIConversationProps<TMessage>;
|
|
5
5
|
exports: {};
|
|
6
|
-
bindings: "error" | "attachments" | "files" | "
|
|
6
|
+
bindings: "error" | "attachments" | "files" | "messages" | "suggestions" | "status" | "api" | "streaming" | "queuedMessage" | "currentInput" | "liveText" | "contextUsage" | "selectedModel" | "activeAskUserQuestion";
|
|
7
7
|
slots: {};
|
|
8
8
|
events: {};
|
|
9
9
|
};
|
|
@@ -11,7 +11,7 @@ declare class __sveltets_Render<TMessage extends AIThreadItem = AIThreadItem> {
|
|
|
11
11
|
props(): ReturnType<typeof $$render<TMessage>>['props'];
|
|
12
12
|
events(): ReturnType<typeof $$render<TMessage>>['events'];
|
|
13
13
|
slots(): ReturnType<typeof $$render<TMessage>>['slots'];
|
|
14
|
-
bindings(): "error" | "attachments" | "files" | "
|
|
14
|
+
bindings(): "error" | "attachments" | "files" | "messages" | "suggestions" | "status" | "api" | "streaming" | "queuedMessage" | "currentInput" | "liveText" | "contextUsage" | "selectedModel" | "activeAskUserQuestion";
|
|
15
15
|
exports(): {};
|
|
16
16
|
}
|
|
17
17
|
interface $$IsomorphicComponent {
|
|
@@ -21,4 +21,4 @@ export const aiFilePreviewTheme = {
|
|
|
21
21
|
error: cva({ base: 'truncate text-xs text-danger-readable' })
|
|
22
22
|
};
|
|
23
23
|
export const setAIFilePreviewTheme = setComponentTheme('ai-file-preview');
|
|
24
|
-
export const useAIFilePreviewTheme = useComponentTheme('
|
|
24
|
+
export const useAIFilePreviewTheme = useComponentTheme('ai-file-preview', aiFilePreviewTheme);
|