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
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const voiceInputDescription = "\n# VoiceInput Component\n\nVoiceInput records microphone audio into a bindable Blob, renders live microphone feedback, and previews the finalized recording with a seekable waveform. It can stay full width, expand leftward during capture, or remain mic-only with level-responsive rings.\n\n## Import\n\n```svelte\n<script lang=\"ts\">\n\timport { VoiceInput } from 'entasis/voice-input';\n</script>\n```\n\n## Basic usage\n\n```svelte\n<script lang=\"ts\">\n\timport { VoiceInput } from 'entasis/voice-input';\n\n\tlet recording = $state<Blob | null>(null);\n\tlet duration = $state(0);\n</script>\n\n<VoiceInput\n\tlabel=\"Voice note\"\n\tbind:value={recording}\n\tbind:duration\n\tminDuration={1}\n\tmaxDuration={60}\n/>\n```\n\n## Props\n\n- **value**: `Blob | null` (bindable, default: `null`) - Finalized microphone recording. Starting a successful new recording or using Clear removes the previous value.\n- **defaultValue**: `Blob | null` (default: `null`) - Initial recording used only when `value` is omitted.\n- **duration**: `number` (bindable, default: `0`) - Current or finalized duration in seconds.\n- **minDuration**: `number` (default: `0`) - Minimum accepted finalized duration in seconds. Shorter recordings surface a Field validation error.\n- **maxDuration**: `number | undefined` - Maximum duration in seconds. Recording stops automatically at this limit.\n- **color**: `Colors` (default: `'primary'`) - Focus and active recording color.\n- **variant**: `'default' | 'expandable' | 'compact'` (default: `'default'`) - Keeps the waveform full width, expands it only while recording or previewing, or renders a mic-only level indicator.\n- **size**: `'small' | 'normal' | 'large'` (default: `'normal'`) - Control height, waveform height, timer size, and action size.\n- **disabled**: `boolean` (default: `false`) - Prevents microphone, playback, seeking, and clear interactions.\n- **required**: `boolean` (default: `false`) - Requires a recorded Blob during Field/Form validation.\n- **startLabel**: `string` (default: `'Start voice recording'`) - Start-button accessible label and tooltip.\n- **stopLabel**: `string` (default: `'Stop recording'`) - Stop-button accessible label and tooltip.\n- **playLabel**: `string` (default: `'Play recording'`) - Playback-button label and tooltip while paused.\n- **pauseLabel**: `string` (default: `'Pause recording'`) - Playback-button label and tooltip while playing.\n- **seekLabel**: `string` (default: `'Seek recording'`) - Accessible label for the finalized waveform seek control.\n- **clearLabel**: `string` (default: `'Clear recording'`) - Clear-button accessible label and tooltip.\n- **onValueChange**: `(value: Blob | null) => void` - Runs when the field value changes, including Clear.\n- **onStart**: `() => void` - Runs after microphone capture starts.\n- **onStop**: `({ blob, duration }: VoiceInputResult) => void` - Runs after MediaRecorder finalizes the recording.\n- **onError**: `(error: Error) => void` - Runs when permission, recording, or playback fails.\n- **theme**: `VoiceInputThemeProps & FieldThemeProps` - Overrides voice-input and inherited Field theme parts.\n\nVoiceInput also accepts the standard Field props and slots, including `label`, `description`, `helper`, errors, and attachments.\n\n## Form configuration\n\n```svelte\n<Form\n\tinputs={{\n\t\tmessage: {\n\t\t\ttype: 'voice',\n\t\t\tlabel: 'Voice message',\n\t\t\trequired: true,\n\t\t\tminDuration: 1,\n\t\t\tmaxDuration: 60\n\t\t}\n\t}}\n\tonSubmit={(value) => uploadVoiceMessage(value.message)}\n/>\n```\n\n## Behavior\n\n- The waveform is drawn on a responsive canvas and maps live microphone RMS through a logarithmic decibel scale so quiet speech remains visible.\n- New samples enter from the right and push older samples left.\n- `maxDuration` schedules a hard automatic stop and caps the published duration at the configured limit.\n- `minDuration` participates in normal Field validation after MediaRecorder publishes the final Blob.\n- The `expandable` variant has no hidden full-width footprint while collapsed, then anchors the action on the right and animates the waveform surface toward the left while recording, finalizing, or previewing saved audio.\n- The `compact` variant omits the waveform and timer, uses a solid active surface while recording, and scales two concentric rings with the same logarithmic microphone level.\n- Finalized recordings expose play/pause and clear actions. The saved waveform becomes a native range-based playback timeline with elapsed progress, pointer scrubbing, and keyboard seeking.\n- Clear pauses playback, revokes the Blob URL, resets duration and waveform state, and publishes `null` through the normal field value contract.\n- Playback creates its Blob URL lazily and revokes it when the value changes or the component unmounts.\n- Stopping waits for MediaRecorder's final `dataavailable` event before publishing the Blob.\n- Starting another recording replaces the previous value only once microphone setup succeeds.\n- Permission denial, missing microphones, and unsupported browser APIs are surfaced in the control and through `onError`.\n- Microphone tracks, cutoff timers, animation frames, audio graph nodes, observers, and the AudioContext are released on stop, failure, or unmount.\n\n## Accessibility\n\n- The visible field label targets the current microphone/stop button.\n- Microphone, stop, play, pause, and clear actions have accessible labels and tooltips.\n- Recording and playback state changes are announced through a polite live region without announcing the timer every second.\n- Operational errors use `role=\"alert\"`; duration requirements use the inherited Field error rendering.\n- The canvas is decorative and hidden from assistive technology. A transparent native range input exposes the finalized waveform as a labelled slider with elapsed and total time.\n- Compact rings are decorative pseudo-elements and add no accessibility-tree content.\n\n## Browser requirements\n\nMicrophone capture requires a secure context (HTTPS, with localhost allowed by browsers), user permission, MediaRecorder, and Web Audio API support.\n\n## Theme parts\n\n- `root` - Field root and variant width behavior.\n- `inputContainer` - Input-like recording surface.\n- `content` - Waveform, operational error, and timer region.\n- `action` - Microphone/stop action, including compact level rings.\n- `playbackAction` - Play/pause action shown for a finalized recording.\n- `clearAction` - Clear action shown for a finalized recording.\n- `waveformContainer` - Relative live/playback waveform surface and focus treatment.\n- `waveform` - Responsive visual canvas.\n- `waveformInput` - Native range hitbox layered over a finalized waveform.\n- `timer` - Stable tabular duration.\n- `error` - Operational error message.\n\n## State contract\n\n- **value**: current bindable editable value.\n- **defaultValue**: initial value used only when `value` is omitted.\n- **onValueChange**: called with the new value when the component changes it.\n\n";
|
|
1
|
+
export declare const voiceInputDescription = "\n# VoiceInput Component\n\nVoiceInput records microphone audio into a bindable Blob, renders live microphone feedback, and previews the finalized recording with a seekable waveform. It can stay full width, expand leftward during capture, or remain mic-only with level-responsive rings.\n\n## Import\n\n```svelte\n<script lang=\"ts\">\n\timport { VoiceInput } from 'entasis/voice-input';\n</script>\n```\n\n## Basic usage\n\n```svelte\n<script lang=\"ts\">\n\timport { VoiceInput } from 'entasis/voice-input';\n\n\tlet recording = $state<Blob | null>(null);\n\tlet duration = $state(0);\n</script>\n\n<VoiceInput\n\tlabel=\"Voice note\"\n\tbind:value={recording}\n\tbind:duration\n\tminDuration={1}\n\tmaxDuration={60}\n/>\n```\n\n## Props\n\n- **value**: `Blob | null` (bindable, default: `null`) - Finalized microphone recording. Starting a successful new recording or using Clear removes the previous value.\n- **defaultValue**: `Blob | null` (default: `null`) - Initial recording used only when `value` is omitted.\n- **duration**: `number` (bindable, default: `0`) - Current or finalized duration in seconds.\n- **minDuration**: `number` (default: `0`) - Minimum accepted finalized duration in seconds. Shorter recordings surface a Field validation error.\n- **maxDuration**: `number | undefined` - Maximum duration in seconds. Recording stops automatically at this limit.\n- **color**: `Colors` (default: `'primary'`) - Focus and active recording color.\n- **variant**: `'default' | 'expandable' | 'compact'` (default: `'default'`) - Keeps the waveform full width, expands it only while recording or previewing, or renders a mic-only level indicator.\n- **size**: `'small' | 'normal' | 'large'` (default: `'normal'`) - Control height, waveform height, timer size, and action size.\n- **disabled**: `boolean` (default: `false`) - Prevents microphone, playback, seeking, and clear interactions.\n- **readOnly**: `boolean` (default: `false`) - Disables recording and clearing while the recorded value still validates and submits.\n- **required**: `boolean` (default: `false`) - Requires a recorded Blob during Field/Form validation.\n- **startLabel**: `string` (default: `'Start voice recording'`) - Start-button accessible label and tooltip.\n- **stopLabel**: `string` (default: `'Stop recording'`) - Stop-button accessible label and tooltip.\n- **playLabel**: `string` (default: `'Play recording'`) - Playback-button label and tooltip while paused.\n- **pauseLabel**: `string` (default: `'Pause recording'`) - Playback-button label and tooltip while playing.\n- **seekLabel**: `string` (default: `'Seek recording'`) - Accessible label for the finalized waveform seek control.\n- **clearLabel**: `string` (default: `'Clear recording'`) - Clear-button accessible label and tooltip.\n- **onValueChange**: `(value: Blob | null) => void` - Runs when the field value changes, including Clear.\n- **onStart**: `() => void` - Runs after microphone capture starts.\n- **onStop**: `({ blob, duration }: VoiceInputResult) => void` - Runs after MediaRecorder finalizes the recording.\n- **onError**: `(error: Error) => void` - Runs when permission, recording, or playback fails.\n- **theme**: `VoiceInputThemeProps & FieldThemeProps` - Overrides voice-input and inherited Field theme parts.\n\nVoiceInput also accepts the standard Field props and slots, including `label`, `description`, `helper`, errors, and attachments.\n\n## Form configuration\n\n```svelte\n<Form\n\tinputs={{\n\t\tmessage: {\n\t\t\ttype: 'voice',\n\t\t\tlabel: 'Voice message',\n\t\t\trequired: true,\n\t\t\tminDuration: 1,\n\t\t\tmaxDuration: 60\n\t\t}\n\t}}\n\tonSubmit={(value) => uploadVoiceMessage(value.message)}\n/>\n```\n\n## Behavior\n\n- The waveform is drawn on a responsive canvas and maps live microphone RMS through a logarithmic decibel scale so quiet speech remains visible.\n- New samples enter from the right and push older samples left.\n- `maxDuration` schedules a hard automatic stop and caps the published duration at the configured limit.\n- `minDuration` participates in normal Field validation after MediaRecorder publishes the final Blob.\n- The `expandable` variant has no hidden full-width footprint while collapsed, then anchors the action on the right and animates the waveform surface toward the left while recording, finalizing, or previewing saved audio.\n- The `compact` variant omits the waveform and timer, uses a solid active surface while recording, and scales two concentric rings with the same logarithmic microphone level.\n- Finalized recordings expose play/pause and clear actions. The saved waveform becomes a native range-based playback timeline with elapsed progress, pointer scrubbing, and keyboard seeking.\n- Clear pauses playback, revokes the Blob URL, resets duration and waveform state, and publishes `null` through the normal field value contract.\n- Playback creates its Blob URL lazily and revokes it when the value changes or the component unmounts.\n- Stopping waits for MediaRecorder's final `dataavailable` event before publishing the Blob.\n- Starting another recording replaces the previous value only once microphone setup succeeds.\n- Permission denial, missing microphones, and unsupported browser APIs are surfaced in the control and through `onError`.\n- Microphone tracks, cutoff timers, animation frames, audio graph nodes, observers, and the AudioContext are released on stop, failure, or unmount.\n\n## Accessibility\n\n- The visible field label targets the current microphone/stop button.\n- Microphone, stop, play, pause, and clear actions have accessible labels and tooltips.\n- Recording and playback state changes are announced through a polite live region without announcing the timer every second.\n- Operational errors use `role=\"alert\"`; duration requirements use the inherited Field error rendering.\n- The canvas is decorative and hidden from assistive technology. A transparent native range input exposes the finalized waveform as a labelled slider with elapsed and total time.\n- Compact rings are decorative pseudo-elements and add no accessibility-tree content.\n\n## Browser requirements\n\nMicrophone capture requires a secure context (HTTPS, with localhost allowed by browsers), user permission, MediaRecorder, and Web Audio API support.\n\n## Theme parts\n\n- `root` - Field root and variant width behavior.\n- `inputContainer` - Input-like recording surface.\n- `content` - Waveform, operational error, and timer region.\n- `action` - Microphone/stop action, including compact level rings.\n- `playbackAction` - Play/pause action shown for a finalized recording.\n- `clearAction` - Clear action shown for a finalized recording.\n- `waveformContainer` - Relative live/playback waveform surface and focus treatment.\n- `waveform` - Responsive visual canvas.\n- `waveformInput` - Native range hitbox layered over a finalized waveform.\n- `timer` - Stable tabular duration.\n- `error` - Operational error message.\n\n## State contract\n\n- **value**: current bindable editable value.\n- **defaultValue**: initial value used only when `value` is omitted.\n- **onValueChange**: called with the new value when the component changes it.\n\n";
|
|
@@ -41,6 +41,7 @@ VoiceInput records microphone audio into a bindable Blob, renders live microphon
|
|
|
41
41
|
- **variant**: \`'default' | 'expandable' | 'compact'\` (default: \`'default'\`) - Keeps the waveform full width, expands it only while recording or previewing, or renders a mic-only level indicator.
|
|
42
42
|
- **size**: \`'small' | 'normal' | 'large'\` (default: \`'normal'\`) - Control height, waveform height, timer size, and action size.
|
|
43
43
|
- **disabled**: \`boolean\` (default: \`false\`) - Prevents microphone, playback, seeking, and clear interactions.
|
|
44
|
+
- **readOnly**: \`boolean\` (default: \`false\`) - Disables recording and clearing while the recorded value still validates and submits.
|
|
44
45
|
- **required**: \`boolean\` (default: \`false\`) - Requires a recorded Blob during Field/Form validation.
|
|
45
46
|
- **startLabel**: \`string\` (default: \`'Start voice recording'\`) - Start-button accessible label and tooltip.
|
|
46
47
|
- **stopLabel**: \`string\` (default: \`'Stop recording'\`) - Stop-button accessible label and tooltip.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import Select from '../Form/Select/Select.svelte';
|
|
9
9
|
import HoverCard from '../HoverCard/HoverCard.svelte';
|
|
10
10
|
import Popover from '../Popover/Popover.svelte';
|
|
11
|
-
import type {
|
|
11
|
+
import type { PopoverApi } from '../Popover/popover.api.js';
|
|
12
12
|
import type { GanttDependencyTooltipPayload } from './ganttChart.props.js';
|
|
13
13
|
import type { GanttChartState } from './ganttChart.state.svelte.js';
|
|
14
14
|
import type {
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
{ value: 'week', label: 'Weeks' }
|
|
80
80
|
];
|
|
81
81
|
|
|
82
|
-
function handleKeydown(event: KeyboardEvent, popover:
|
|
82
|
+
function handleKeydown(event: KeyboardEvent, popover: PopoverApi): void {
|
|
83
83
|
if (event.key === 'Delete' || event.key === 'Backspace') {
|
|
84
84
|
event.preventDefault();
|
|
85
85
|
event.stopPropagation();
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
openEditor(popover);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
function openEditor(popover:
|
|
97
|
+
function openEditor(popover: PopoverApi): void {
|
|
98
98
|
draftType = dependency.dependency.type;
|
|
99
99
|
draftLagValue = dependency.dependency.lag?.value ?? null;
|
|
100
100
|
draftLagUnit = dependency.dependency.lag?.unit ?? 'day';
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
function commitEditor(popover:
|
|
121
|
+
function commitEditor(popover: PopoverApi): void {
|
|
122
122
|
const currentLag = dependency.dependency.lag;
|
|
123
123
|
const isUnchanged =
|
|
124
124
|
dependency.dependency.type === draftType &&
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { createBindableValue } from '../../utils/state.svelte.js';
|
|
3
|
-
import { onDestroy } from 'svelte';
|
|
3
|
+
import { onDestroy, untrack } from 'svelte';
|
|
4
|
+
import type { Attachment } from 'svelte/attachments';
|
|
4
5
|
|
|
5
6
|
import Button from '../Button/Button.svelte';
|
|
6
7
|
import Card from '../Card/Card.svelte';
|
|
@@ -9,6 +10,10 @@
|
|
|
9
10
|
import type { ButtonProps } from '../Button/index.js';
|
|
10
11
|
import type { HoverCardProps, HoverCardTrigger } from './hoverCard.props.js';
|
|
11
12
|
import { useHoverCardMotion, useHoverCardTheme } from './hoverCard.theme.js';
|
|
13
|
+
import { useTheme } from '../Theme/theme.state.svelte.js';
|
|
14
|
+
import { popoverInternals, type PopoverState } from '../Popover/popover.state.svelte.js';
|
|
15
|
+
import type { PopoverApi } from '../Popover/popover.api.js';
|
|
16
|
+
import { presence } from '../../utils/stateAttributes.js';
|
|
12
17
|
|
|
13
18
|
let {
|
|
14
19
|
id: customId,
|
|
@@ -32,6 +37,9 @@
|
|
|
32
37
|
size = 'normal',
|
|
33
38
|
density = 'normal',
|
|
34
39
|
disabled = false,
|
|
40
|
+
wrap = false,
|
|
41
|
+
anchorTo,
|
|
42
|
+
arrow = false,
|
|
35
43
|
class: className,
|
|
36
44
|
triggerClass,
|
|
37
45
|
popover,
|
|
@@ -64,6 +72,34 @@
|
|
|
64
72
|
|
|
65
73
|
let openTimer: ReturnType<typeof setTimeout> | null = null;
|
|
66
74
|
let closeTimer: ReturnType<typeof setTimeout> | null = null;
|
|
75
|
+
const themeState = useTheme();
|
|
76
|
+
let triggerElement = $state<HTMLElement | null>(null);
|
|
77
|
+
let cardElement = $state<HTMLElement | null>(null);
|
|
78
|
+
// The popover behind this card, for the cards opened from inside it (see `hasChildOpen`).
|
|
79
|
+
let cardPopover = $state.raw<PopoverState | null>(null);
|
|
80
|
+
const trackPopover =
|
|
81
|
+
(api: PopoverApi): Attachment =>
|
|
82
|
+
() => {
|
|
83
|
+
const popover = popoverInternals(api);
|
|
84
|
+
cardPopover = popover;
|
|
85
|
+
return () => {
|
|
86
|
+
if (cardPopover === popover) cardPopover = null;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
// Whether the pointer is over the trigger or the card. Plain fields: read when a timer fires.
|
|
90
|
+
let pointerInside = false;
|
|
91
|
+
// From the close request until the close transition has ended: a pointer that comes back in
|
|
92
|
+
// that time reopens the card at once instead of waiting out `delay` again.
|
|
93
|
+
let closing = false;
|
|
94
|
+
|
|
95
|
+
// An open card keeps the hover warm-up going: moving on to a neighbouring card, tooltip or
|
|
96
|
+
// hover popover opens it at once. Triggers inside this card do not count as moving on.
|
|
97
|
+
$effect(() => {
|
|
98
|
+
if (!isOpen) return;
|
|
99
|
+
return untrack(() =>
|
|
100
|
+
themeState.hoverIntent.join({ contains: (node) => !!cardElement?.contains(node) })
|
|
101
|
+
);
|
|
102
|
+
});
|
|
67
103
|
|
|
68
104
|
const clearOpenTimer = () => {
|
|
69
105
|
if (openTimer) {
|
|
@@ -93,6 +129,7 @@
|
|
|
93
129
|
|
|
94
130
|
const setOpen = (nextOpen: boolean) => {
|
|
95
131
|
if (isOpen === nextOpen) return;
|
|
132
|
+
closing = !nextOpen;
|
|
96
133
|
openState.value = nextOpen;
|
|
97
134
|
onOpenChange?.(nextOpen);
|
|
98
135
|
};
|
|
@@ -108,15 +145,52 @@
|
|
|
108
145
|
const scheduleOpen = () => {
|
|
109
146
|
clearCloseTimer();
|
|
110
147
|
if (disabled || isOpen || openTimer) return;
|
|
148
|
+
if (closing || themeState.hoverIntent.isWarm(triggerElement)) {
|
|
149
|
+
openImmediately();
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
111
152
|
openTimer = setTimeout(openImmediately, delay);
|
|
112
153
|
};
|
|
113
154
|
|
|
155
|
+
// Hover is a mouse or pen affair: a touch tap reaches the card through focus instead.
|
|
156
|
+
const handlePointerEnter = (event: PointerEvent) => {
|
|
157
|
+
if (event.pointerType === 'touch') return;
|
|
158
|
+
pointerInside = true;
|
|
159
|
+
scheduleOpen();
|
|
160
|
+
};
|
|
161
|
+
const handlePointerLeave = (event: PointerEvent) => {
|
|
162
|
+
if (event.pointerType === 'touch') return;
|
|
163
|
+
pointerInside = false;
|
|
164
|
+
scheduleClose();
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
// A card opened from inside this one (a link in its text) keeps this one open while the pointer
|
|
168
|
+
// is on it: the pointer left this card, but not the cards it leads to.
|
|
169
|
+
const hasOpenChild = () => !!cardPopover?.hasChildOpen;
|
|
170
|
+
|
|
114
171
|
const scheduleClose = () => {
|
|
115
172
|
clearOpenTimer();
|
|
116
173
|
if (!isOpen || closeTimer) return;
|
|
117
|
-
closeTimer = setTimeout(
|
|
174
|
+
closeTimer = setTimeout(() => {
|
|
175
|
+
closeTimer = null;
|
|
176
|
+
if (!hasOpenChild()) closeImmediately();
|
|
177
|
+
}, closeDelay);
|
|
118
178
|
};
|
|
119
179
|
|
|
180
|
+
// When the last child card closes with the pointer outside every card, this one closes too.
|
|
181
|
+
let hadOpenChild = false;
|
|
182
|
+
$effect(() => {
|
|
183
|
+
const open = !!cardPopover?.hasChildOpen;
|
|
184
|
+
untrack(() => {
|
|
185
|
+
const closedLast = hadOpenChild && !open;
|
|
186
|
+
hadOpenChild = open;
|
|
187
|
+
if (!closedLast || !isOpen || pointerInside) return;
|
|
188
|
+
const focused = cardElement?.ownerDocument.activeElement;
|
|
189
|
+
if (focused && (cardElement?.contains(focused) || triggerElement?.contains(focused))) return;
|
|
190
|
+
scheduleClose();
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
|
|
120
194
|
const handleFocusIn = () => {
|
|
121
195
|
if (openOnFocus) scheduleOpen();
|
|
122
196
|
};
|
|
@@ -150,7 +224,10 @@
|
|
|
150
224
|
transition={hoverCardTransition}
|
|
151
225
|
{closeOnEscape}
|
|
152
226
|
{closeOnClickOutside}
|
|
227
|
+
closeOnFocusOut={false}
|
|
153
228
|
{directedTransition}
|
|
229
|
+
{arrow}
|
|
230
|
+
anchorTo={anchorTo ?? (wrap ? 'line' : 'box')}
|
|
154
231
|
openOnClick={false}
|
|
155
232
|
openOnHover={false}
|
|
156
233
|
closeOnMouseLeave={false}
|
|
@@ -160,21 +237,27 @@
|
|
|
160
237
|
theme={popover?.theme}
|
|
161
238
|
onOpenChange={setOpen}
|
|
162
239
|
onAfterOpen={() => onAfterOpen?.(payload)}
|
|
163
|
-
onAfterClose={() =>
|
|
240
|
+
onAfterClose={() => {
|
|
241
|
+
closing = false;
|
|
242
|
+
onAfterClose?.(payload);
|
|
243
|
+
}}
|
|
164
244
|
>
|
|
165
245
|
{#snippet trigger(anchor)}
|
|
166
246
|
{#if typeof triggerContent === 'string'}
|
|
167
247
|
<button
|
|
168
248
|
{@attach anchor.reference}
|
|
249
|
+
{@attach trackPopover(anchor)}
|
|
169
250
|
type="button"
|
|
170
251
|
class={classes.trigger({ disabled, className: triggerClass })}
|
|
171
252
|
data-state={isOpen ? 'open' : 'closed'}
|
|
253
|
+
data-disabled={presence(disabled)}
|
|
172
254
|
aria-haspopup="dialog"
|
|
173
255
|
aria-expanded={isOpen}
|
|
174
256
|
aria-controls={id}
|
|
175
257
|
{disabled}
|
|
176
|
-
|
|
177
|
-
|
|
258
|
+
bind:this={triggerElement}
|
|
259
|
+
onpointerenter={handlePointerEnter}
|
|
260
|
+
onpointerleave={handlePointerLeave}
|
|
178
261
|
onfocusin={handleFocusIn}
|
|
179
262
|
onfocusout={scheduleClose}
|
|
180
263
|
onclick={handleClick}
|
|
@@ -185,11 +268,14 @@
|
|
|
185
268
|
{:else}
|
|
186
269
|
<span
|
|
187
270
|
{@attach anchor.reference}
|
|
188
|
-
|
|
271
|
+
{@attach trackPopover(anchor)}
|
|
272
|
+
class={classes.trigger({ disabled, wrap, className: triggerClass })}
|
|
189
273
|
data-state={isOpen ? 'open' : 'closed'}
|
|
274
|
+
data-disabled={presence(disabled)}
|
|
190
275
|
role="presentation"
|
|
191
|
-
|
|
192
|
-
|
|
276
|
+
bind:this={triggerElement}
|
|
277
|
+
onpointerenter={handlePointerEnter}
|
|
278
|
+
onpointerleave={handlePointerLeave}
|
|
193
279
|
onfocusin={handleFocusIn}
|
|
194
280
|
onfocusout={scheduleClose}
|
|
195
281
|
onclick={isButtonTrigger(triggerContent) ? undefined : handleClick}
|
|
@@ -224,8 +310,12 @@
|
|
|
224
310
|
|
|
225
311
|
<div
|
|
226
312
|
role="presentation"
|
|
227
|
-
|
|
228
|
-
|
|
313
|
+
bind:this={cardElement}
|
|
314
|
+
onpointerenter={(event) => {
|
|
315
|
+
if (event.pointerType !== 'touch') pointerInside = true;
|
|
316
|
+
openImmediately();
|
|
317
|
+
}}
|
|
318
|
+
onpointerleave={handlePointerLeave}
|
|
229
319
|
onfocusin={handleFocusIn}
|
|
230
320
|
onfocusout={scheduleClose}
|
|
231
321
|
>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The styling hooks a HoverCard exposes. Attributes are presence attributes (`''` while the state
|
|
3
|
+
* holds, omitted otherwise) unless the description says they carry a value. The card is a
|
|
4
|
+
* Popover panel.
|
|
5
|
+
*/
|
|
6
|
+
export declare const hoverCardDataAttributes: {
|
|
7
|
+
readonly 'data-open': "On the card: present while open.";
|
|
8
|
+
readonly 'data-closed': "On the card: present while its exit transition plays.";
|
|
9
|
+
readonly 'data-entering': "On the card: present while the enter transition plays.";
|
|
10
|
+
readonly 'data-exiting': "On the card: present while the exit transition plays.";
|
|
11
|
+
readonly 'data-side': "On the card: the side of the trigger it sits on after flipping, `top`, `right`, `bottom` or `left`; `inline-start` / `inline-end` when a logical `position` was requested.";
|
|
12
|
+
readonly 'data-align': "On the card: `start`, `center` or `end`, how it lines up with the trigger.";
|
|
13
|
+
readonly 'data-anchor-hidden': "On the card: present while the trigger is scrolled out of view.";
|
|
14
|
+
readonly 'data-state': "On the trigger: `open` or `closed` (kept for compatibility; prefer `data-popup-open`).";
|
|
15
|
+
readonly 'data-popup-open': "On the trigger: present while the card is open.";
|
|
16
|
+
readonly 'data-popup-side': "On the trigger: the card's `data-side` while it is placed.";
|
|
17
|
+
readonly 'data-disabled': "On the trigger: present while `disabled`.";
|
|
18
|
+
};
|
|
19
|
+
/** The name of a HoverCard data attribute. */
|
|
20
|
+
export type HoverCardDataAttribute = keyof typeof hoverCardDataAttributes;
|
|
21
|
+
/**
|
|
22
|
+
* The CSS variables a placement writes on the card's positioned wrapper, inherited by the card and
|
|
23
|
+
* its content: the Popover set (`popoverCssVariables`), where the panel is the card.
|
|
24
|
+
*/
|
|
25
|
+
export declare const hoverCardCssVariables: {
|
|
26
|
+
readonly '--available-width': "The width in px the panel can take before it reaches the viewport edges, minus 20px.";
|
|
27
|
+
readonly '--available-height': "The room in px between the trigger and the viewport edge on the panel's side, minus 20px. Cap a scrolling list with `max-height: min(240px, var(--available-height))`.";
|
|
28
|
+
readonly '--anchor-width': "The trigger's width in px, snapped to the device pixel grid.";
|
|
29
|
+
readonly '--anchor-height': "The trigger's height in px, snapped to the device pixel grid.";
|
|
30
|
+
readonly '--transform-origin': "The panel corner facing the trigger, mirrored in right-to-left documents; the point the panel scales from.";
|
|
31
|
+
};
|
|
32
|
+
/** The name of a HoverCard CSS variable. */
|
|
33
|
+
export type HoverCardCssVariable = keyof typeof hoverCardCssVariables;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { popoverCssVariables } from '../Popover/popover.attributes.js';
|
|
2
|
+
/**
|
|
3
|
+
* The styling hooks a HoverCard exposes. Attributes are presence attributes (`''` while the state
|
|
4
|
+
* holds, omitted otherwise) unless the description says they carry a value. The card is a
|
|
5
|
+
* Popover panel.
|
|
6
|
+
*/
|
|
7
|
+
export const hoverCardDataAttributes = {
|
|
8
|
+
'data-open': 'On the card: present while open.',
|
|
9
|
+
'data-closed': 'On the card: present while its exit transition plays.',
|
|
10
|
+
'data-entering': 'On the card: present while the enter transition plays.',
|
|
11
|
+
'data-exiting': 'On the card: present while the exit transition plays.',
|
|
12
|
+
'data-side': 'On the card: the side of the trigger it sits on after flipping, `top`, `right`, `bottom` or `left`; `inline-start` / `inline-end` when a logical `position` was requested.',
|
|
13
|
+
'data-align': 'On the card: `start`, `center` or `end`, how it lines up with the trigger.',
|
|
14
|
+
'data-anchor-hidden': 'On the card: present while the trigger is scrolled out of view.',
|
|
15
|
+
'data-state': 'On the trigger: `open` or `closed` (kept for compatibility; prefer `data-popup-open`).',
|
|
16
|
+
'data-popup-open': 'On the trigger: present while the card is open.',
|
|
17
|
+
'data-popup-side': "On the trigger: the card's `data-side` while it is placed.",
|
|
18
|
+
'data-disabled': 'On the trigger: present while `disabled`.'
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The CSS variables a placement writes on the card's positioned wrapper, inherited by the card and
|
|
22
|
+
* its content: the Popover set (`popoverCssVariables`), where the panel is the card.
|
|
23
|
+
*/
|
|
24
|
+
export const hoverCardCssVariables = popoverCssVariables;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const hoverCardDescription = "\n# HoverCard Component\n\nHoverCard previews supplemental content when a trigger is hovered or focused. It composes Popover for positioning and dismissal with Card for the visible content surface.\n\n## Basic Usage\n\n```svelte\n<script lang=\"ts\">\n\timport { HoverCard } from 'entasis/hover-card';\n</script>\n\n<HoverCard\n\ttrigger={{ content: 'Hover @entasis', variant: 'link' }}\n\ttitle=\"@entasis\"\n\tdescription=\"Composable Svelte UI components.\"\n>\n\t<p>Preview content shown on hover or focus.</p>\n</HoverCard>\n```\n\n## Props\n\n### Core Props\n- **id**: string - Stable id for the underlying popover root.\n- **open**: boolean - Bindable open state.\n- **defaultOpen**: boolean (default: false) - Initial state when open is not provided.\n- **trigger**: string | Snippet<[HoverCardPayload]> | ButtonProps - Trigger content. ButtonProps render a Entasis Button.\n- **children**: string | Snippet<[HoverCardPayload]> - Main card content.\n- **title**: string | Snippet<[HoverCardPayload]> - Card title slot.\n- **description**: string | Snippet<[HoverCardPayload]> - Card description slot.\n- **footer**: string | Snippet<[HoverCardPayload]> - Card footer slot.\n\n### Behavior Props\n- **position**: Placement (default: 'top') - Preferred placement relative to the trigger.\n- **offset**: number (default: 8) - Gap between trigger and card.\n- **delay**: number (default: 150) - Delay before opening on hover or focus.\n- **closeDelay**: number (default: 100) - Delay before closing after pointer/focus leaves.\n- **openOnFocus**: boolean (default: true) - Opens when focus enters the trigger or card.\n- **openOnClick**: boolean (default: false) - Toggles on trigger click, useful for touch fallbacks.\n- **disabled**: boolean (default: false) - Prevents opening and disables Button triggers.\n\n### Dismissal and Transition Props\n- **closeOnEscape**: boolean (default: true) - Escape closes the hover card.\n- **closeOnClickOutside**: boolean (default: true) - Outside clicks close the hover card.\n- **directedTransition**: boolean (default: true) - Transition direction follows placement.\n- **transition**: ResponsiveProps<FSOProps> - Popover transition override.\n\n### Styling Props\n- **size**: 'small' | 'normal' | 'large' (default: 'normal') - Controls Popover panel and Card sizing.\n- **density**: 'compact' | 'normal' | 'comfortable' (default: 'normal') - Controls inner Card padding and spacing.\n- **class**: string - Extra classes on the inner Card.\n- **triggerClass**: string - Extra classes on the trigger wrapper.\n- **popover**: Props forwarded to the transparent Popover panel as one object - `{ class, theme }`.\n- **card**: Props forwarded to the inner Card as one object - `{ color, variant, theme }` (defaults: color 'neutral', variant 'solid').\n- **showBorders**: boolean (default: false) - Card section borders.\n- **theme**: HoverCardThemeProps - Theme overrides for HoverCard wrapper parts.\n\n### Callbacks\n- **onOpenChange**: (open: boolean) => void - Called once for each library-requested state change.\n- **onAfterOpen**: (payload: HoverCardPayload) => void - Called after the open transition finishes.\n- **onAfterClose**: (payload: HoverCardPayload) => void - Called after the close transition finishes.\n\n## Examples\n\n### Delays\n```svelte\n<HoverCard delay={300} closeDelay={200} trigger=\"Hover\">\n\tContent\n</HoverCard>\n```\n\n### Custom Trigger\n```svelte\n<HoverCard position=\"right\">\n\t{#snippet trigger(hoverCard)}\n\t\t<button aria-expanded={hoverCard.isOpen}>Preview</button>\n\t{/snippet}\n\n\tPreview content\n</HoverCard>\n```\n\n## Accessibility\n\n- Opens on pointer hover and keyboard focus by default.\n- Escape and outside click dismissal are delegated to Popover.\n- Button triggers receive aria-haspopup, aria-expanded, and aria-controls.\n- HoverCard is best for supplemental previews; primary content should remain reachable without hover.\n\n## Motion\n\n- **motion** theme slot: one preset (no variants) \u2014 a small lift plus scale on `fast` / `enter`.\n- Resolved by HoverCard and handed to the underlying Popover, replacing the popover preset.\n- Ladder: `<Theme components={{ 'hover-card': { motion } }}>` \u2192 `setHoverCardTheme({ motion })`\n \u2192 `theme.motion` \u2192 the `transition` prop. Reduced motion collapses it to 0.\n";
|
|
1
|
+
export declare const hoverCardDescription = "\n# HoverCard Component\n\nHoverCard previews supplemental content when a trigger is hovered or focused. It composes Popover for positioning and dismissal with Card for the visible content surface.\n\n## Basic Usage\n\n```svelte\n<script lang=\"ts\">\n\timport { HoverCard } from 'entasis/hover-card';\n</script>\n\n<HoverCard\n\ttrigger={{ content: 'Hover @entasis', variant: 'link' }}\n\ttitle=\"@entasis\"\n\tdescription=\"Composable Svelte UI components.\"\n>\n\t<p>Preview content shown on hover or focus.</p>\n</HoverCard>\n```\n\n## Props\n\n### Core Props\n- **id**: string - Stable id for the underlying popover root.\n- **open**: boolean - Bindable open state.\n- **defaultOpen**: boolean (default: false) - Initial state when open is not provided.\n- **trigger**: string | Snippet<[HoverCardPayload]> | ButtonProps - Trigger content. ButtonProps render a Entasis Button.\n- **children**: string | Snippet<[HoverCardPayload]> - Main card content.\n- **title**: string | Snippet<[HoverCardPayload]> - Card title slot.\n- **description**: string | Snippet<[HoverCardPayload]> - Card description slot.\n- **footer**: string | Snippet<[HoverCardPayload]> - Card footer slot.\n\n### Behavior Props\n- **position**: Placement (default: 'top') - Preferred placement relative to the trigger.\n- **offset**: number (default: 8) - Gap between trigger and card.\n- **delay**: number (default: 150) - Delay before opening on hover or focus. Skipped right after another hover card, tooltip or hover-opened popover was open (within 400ms of it closing, or while one is still open), so moving between neighbouring cards does not wait at each one. Also skipped for this card itself from the moment it starts closing until its close transition has ended: pointing at the trigger again during the transition reopens it at once.\n- **closeDelay**: number (default: 100) - Delay before closing after pointer/focus leaves.\n- **openOnFocus**: boolean (default: true) - Opens when focus enters the trigger or card.\n- **openOnClick**: boolean (default: false) - Toggles on trigger click, useful for touch fallbacks.\n- **disabled**: boolean (default: false) - Prevents opening and disables Button triggers.\n- **wrap**: boolean (default: false) - Lets the trigger wrap across lines like text, for a link inside a paragraph: it renders `display: inline` with `box-decoration-break: clone` instead of inline-flex, and the card anchors to the line the pointer entered. Applies to a snippet or button trigger; a string trigger is a button, which is one box\n- **anchorTo**: 'box' | 'line' (default: 'line' with `wrap`, else 'box') - What the card anchors to when its trigger wraps: the whole bounding box, or the line the pointer entered, kept while the card is open. A keyboard open takes the first line above the trigger and the last one below it\n- **arrow**: boolean (default: false) - Draws an arrow from the card toward its trigger; style it with `popover.theme.arrow`\n\n### Dismissal and Transition Props\n- **closeOnEscape**: boolean (default: true) - Escape closes the hover card.\n- **closeOnClickOutside**: boolean (default: true) - Outside clicks close the hover card.\n- **directedTransition**: boolean (default: true) - Transition direction follows placement.\n- **transition**: ResponsiveProps<FSOProps> - Popover transition override.\n\n### Styling Props\n- **size**: 'small' | 'normal' | 'large' (default: 'normal') - Controls Popover panel and Card sizing.\n- **density**: 'compact' | 'normal' | 'comfortable' (default: 'normal') - Controls inner Card padding and spacing.\n- **class**: string - Extra classes on the inner Card.\n- **triggerClass**: string - Extra classes on the trigger wrapper.\n- **popover**: Props forwarded to the transparent Popover panel as one object - `{ class, theme }`.\n- **card**: Props forwarded to the inner Card as one object - `{ color, variant, theme }` (defaults: color 'neutral', variant 'solid').\n- **showBorders**: boolean (default: false) - Card section borders.\n- **theme**: HoverCardThemeProps - Theme overrides for HoverCard wrapper parts.\n\n### Callbacks\n- **onOpenChange**: (open: boolean) => void - Called once for each library-requested state change.\n- **onAfterOpen**: (payload: HoverCardPayload) => void - Called after the open transition finishes.\n- **onAfterClose**: (payload: HoverCardPayload) => void - Called after the close transition finishes.\n\n## Examples\n\n### Cards inside cards\n\nA card opened from inside another card (a link in its text) keeps the outer card open while the pointer is on either of them: leaving the outer card for the inner one does not start the outer card's close timer to completion. When the last inner card closes with the pointer outside every card (and focus outside them), the outer card closes too, after its `closeDelay`.\n\n```svelte\n<HoverCard trigger={{ content: 'Entasis', variant: 'link' }} title=\"Entasis\">\n\tBuilt on\n\t<HoverCard trigger={{ content: 'Svelte', variant: 'link' }} title=\"Svelte\" position=\"right\">\n\t\tCybernetically enhanced web apps.\n\t</HoverCard>\n</HoverCard>\n```\n\n### A link in a paragraph\n\n```svelte\n<p class=\"w-56\">\n\tRead the\n\t<HoverCard wrap arrow>\n\t\t{#snippet trigger()}\n\t\t\t<span class=\"underline\">full release notes for this version</span>\n\t\t{/snippet}\n\t\tAnchored to the line the pointer entered.\n\t</HoverCard>\n\tbefore upgrading.\n</p>\n```\n\n### Delays\n```svelte\n<HoverCard delay={300} closeDelay={200} trigger=\"Hover\">\n\tContent\n</HoverCard>\n```\n\n### Custom Trigger\n```svelte\n<HoverCard position=\"right\">\n\t{#snippet trigger(hoverCard)}\n\t\t<button aria-expanded={hoverCard.isOpen}>Preview</button>\n\t{/snippet}\n\n\tPreview content\n</HoverCard>\n```\n\n## Styling hooks\n\nThe card is a Popover panel and carries its state attributes; the trigger carries the popup state.\n\nAttributes are presence attributes (set while the state holds, omitted otherwise) unless they carry a value.\n\n**Data attributes**\n- `data-open`: On the card: present while open.\n- `data-closed`: On the card: present while its exit transition plays.\n- `data-entering`: On the card: present while the enter transition plays.\n- `data-exiting`: On the card: present while the exit transition plays.\n- `data-side`: On the card: the side of the trigger it sits on after flipping, `top`, `right`, `bottom` or `left`; `inline-start` / `inline-end` when a logical `position` was requested.\n- `data-align`: On the card: `start`, `center` or `end`, how it lines up with the trigger.\n- `data-anchor-hidden`: On the card: present while the trigger is scrolled out of view.\n- `data-state`: On the trigger: `open` or `closed` (kept for compatibility; prefer `data-popup-open`).\n- `data-popup-open`: On the trigger: present while the card is open.\n- `data-popup-side`: On the trigger: the card's `data-side` while it is placed.\n- `data-disabled`: On the trigger: present while `disabled`.\n\n**CSS variables** (set on the card's positioned wrapper and inherited by the card, which is the panel below)\n- `--available-width`: The width in px the panel can take before it reaches the viewport edges, minus 20px.\n- `--available-height`: The room in px between the trigger and the viewport edge on the panel's side, minus 20px. Cap a scrolling list with `max-height: min(240px, var(--available-height))`.\n- `--anchor-width`: The trigger's width in px, snapped to the device pixel grid.\n- `--anchor-height`: The trigger's height in px, snapped to the device pixel grid.\n- `--transform-origin`: The panel corner facing the trigger, mirrored in right-to-left documents; the point the panel scales from.\n\nThe typed maps `hoverCardDataAttributes` and `hoverCardCssVariables` (from `entasis/hover-card`) list each name with its meaning.\n\n## Accessibility\n\n- Opens on pointer hover and keyboard focus by default. Hover means a mouse or a pen: a touch tap's pointer events never open or close the card, focus does.\n- Escape and outside click dismissal are delegated to Popover.\n- Button triggers receive aria-haspopup, aria-expanded, and aria-controls.\n- HoverCard is best for supplemental previews; primary content should remain reachable without hover.\n\n## Motion\n\n- **motion** theme slot: one preset (no variants) \u2014 a small lift plus scale on `fast` / `enter`.\n- Resolved by HoverCard and handed to the underlying Popover, replacing the popover preset.\n- Ladder: `<Theme components={{ 'hover-card': { motion } }}>` \u2192 `setHoverCardTheme({ motion })`\n \u2192 `theme.motion` \u2192 the `transition` prop. Reduced motion collapses it to 0.\n";
|
|
@@ -34,11 +34,14 @@ HoverCard previews supplemental content when a trigger is hovered or focused. It
|
|
|
34
34
|
### Behavior Props
|
|
35
35
|
- **position**: Placement (default: 'top') - Preferred placement relative to the trigger.
|
|
36
36
|
- **offset**: number (default: 8) - Gap between trigger and card.
|
|
37
|
-
- **delay**: number (default: 150) - Delay before opening on hover or focus.
|
|
37
|
+
- **delay**: number (default: 150) - Delay before opening on hover or focus. Skipped right after another hover card, tooltip or hover-opened popover was open (within 400ms of it closing, or while one is still open), so moving between neighbouring cards does not wait at each one. Also skipped for this card itself from the moment it starts closing until its close transition has ended: pointing at the trigger again during the transition reopens it at once.
|
|
38
38
|
- **closeDelay**: number (default: 100) - Delay before closing after pointer/focus leaves.
|
|
39
39
|
- **openOnFocus**: boolean (default: true) - Opens when focus enters the trigger or card.
|
|
40
40
|
- **openOnClick**: boolean (default: false) - Toggles on trigger click, useful for touch fallbacks.
|
|
41
41
|
- **disabled**: boolean (default: false) - Prevents opening and disables Button triggers.
|
|
42
|
+
- **wrap**: boolean (default: false) - Lets the trigger wrap across lines like text, for a link inside a paragraph: it renders \`display: inline\` with \`box-decoration-break: clone\` instead of inline-flex, and the card anchors to the line the pointer entered. Applies to a snippet or button trigger; a string trigger is a button, which is one box
|
|
43
|
+
- **anchorTo**: 'box' | 'line' (default: 'line' with \`wrap\`, else 'box') - What the card anchors to when its trigger wraps: the whole bounding box, or the line the pointer entered, kept while the card is open. A keyboard open takes the first line above the trigger and the last one below it
|
|
44
|
+
- **arrow**: boolean (default: false) - Draws an arrow from the card toward its trigger; style it with \`popover.theme.arrow\`
|
|
42
45
|
|
|
43
46
|
### Dismissal and Transition Props
|
|
44
47
|
- **closeOnEscape**: boolean (default: true) - Escape closes the hover card.
|
|
@@ -63,6 +66,34 @@ HoverCard previews supplemental content when a trigger is hovered or focused. It
|
|
|
63
66
|
|
|
64
67
|
## Examples
|
|
65
68
|
|
|
69
|
+
### Cards inside cards
|
|
70
|
+
|
|
71
|
+
A card opened from inside another card (a link in its text) keeps the outer card open while the pointer is on either of them: leaving the outer card for the inner one does not start the outer card's close timer to completion. When the last inner card closes with the pointer outside every card (and focus outside them), the outer card closes too, after its \`closeDelay\`.
|
|
72
|
+
|
|
73
|
+
\`\`\`svelte
|
|
74
|
+
<HoverCard trigger={{ content: 'Entasis', variant: 'link' }} title="Entasis">
|
|
75
|
+
Built on
|
|
76
|
+
<HoverCard trigger={{ content: 'Svelte', variant: 'link' }} title="Svelte" position="right">
|
|
77
|
+
Cybernetically enhanced web apps.
|
|
78
|
+
</HoverCard>
|
|
79
|
+
</HoverCard>
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
### A link in a paragraph
|
|
83
|
+
|
|
84
|
+
\`\`\`svelte
|
|
85
|
+
<p class="w-56">
|
|
86
|
+
Read the
|
|
87
|
+
<HoverCard wrap arrow>
|
|
88
|
+
{#snippet trigger()}
|
|
89
|
+
<span class="underline">full release notes for this version</span>
|
|
90
|
+
{/snippet}
|
|
91
|
+
Anchored to the line the pointer entered.
|
|
92
|
+
</HoverCard>
|
|
93
|
+
before upgrading.
|
|
94
|
+
</p>
|
|
95
|
+
\`\`\`
|
|
96
|
+
|
|
66
97
|
### Delays
|
|
67
98
|
\`\`\`svelte
|
|
68
99
|
<HoverCard delay={300} closeDelay={200} trigger="Hover">
|
|
@@ -81,9 +112,37 @@ HoverCard previews supplemental content when a trigger is hovered or focused. It
|
|
|
81
112
|
</HoverCard>
|
|
82
113
|
\`\`\`
|
|
83
114
|
|
|
115
|
+
## Styling hooks
|
|
116
|
+
|
|
117
|
+
The card is a Popover panel and carries its state attributes; the trigger carries the popup state.
|
|
118
|
+
|
|
119
|
+
Attributes are presence attributes (set while the state holds, omitted otherwise) unless they carry a value.
|
|
120
|
+
|
|
121
|
+
**Data attributes**
|
|
122
|
+
- \`data-open\`: On the card: present while open.
|
|
123
|
+
- \`data-closed\`: On the card: present while its exit transition plays.
|
|
124
|
+
- \`data-entering\`: On the card: present while the enter transition plays.
|
|
125
|
+
- \`data-exiting\`: On the card: present while the exit transition plays.
|
|
126
|
+
- \`data-side\`: On the card: the side of the trigger it sits on after flipping, \`top\`, \`right\`, \`bottom\` or \`left\`; \`inline-start\` / \`inline-end\` when a logical \`position\` was requested.
|
|
127
|
+
- \`data-align\`: On the card: \`start\`, \`center\` or \`end\`, how it lines up with the trigger.
|
|
128
|
+
- \`data-anchor-hidden\`: On the card: present while the trigger is scrolled out of view.
|
|
129
|
+
- \`data-state\`: On the trigger: \`open\` or \`closed\` (kept for compatibility; prefer \`data-popup-open\`).
|
|
130
|
+
- \`data-popup-open\`: On the trigger: present while the card is open.
|
|
131
|
+
- \`data-popup-side\`: On the trigger: the card's \`data-side\` while it is placed.
|
|
132
|
+
- \`data-disabled\`: On the trigger: present while \`disabled\`.
|
|
133
|
+
|
|
134
|
+
**CSS variables** (set on the card's positioned wrapper and inherited by the card, which is the panel below)
|
|
135
|
+
- \`--available-width\`: The width in px the panel can take before it reaches the viewport edges, minus 20px.
|
|
136
|
+
- \`--available-height\`: The room in px between the trigger and the viewport edge on the panel's side, minus 20px. Cap a scrolling list with \`max-height: min(240px, var(--available-height))\`.
|
|
137
|
+
- \`--anchor-width\`: The trigger's width in px, snapped to the device pixel grid.
|
|
138
|
+
- \`--anchor-height\`: The trigger's height in px, snapped to the device pixel grid.
|
|
139
|
+
- \`--transform-origin\`: The panel corner facing the trigger, mirrored in right-to-left documents; the point the panel scales from.
|
|
140
|
+
|
|
141
|
+
The typed maps \`hoverCardDataAttributes\` and \`hoverCardCssVariables\` (from \`entasis/hover-card\`) list each name with its meaning.
|
|
142
|
+
|
|
84
143
|
## Accessibility
|
|
85
144
|
|
|
86
|
-
- Opens on pointer hover and keyboard focus by default.
|
|
145
|
+
- Opens on pointer hover and keyboard focus by default. Hover means a mouse or a pen: a touch tap's pointer events never open or close the card, focus does.
|
|
87
146
|
- Escape and outside click dismissal are delegated to Popover.
|
|
88
147
|
- Button triggers receive aria-haspopup, aria-expanded, and aria-controls.
|
|
89
148
|
- HoverCard is best for supplemental previews; primary content should remain reachable without hover.
|
|
@@ -63,6 +63,25 @@ export type HoverCardProps = WithAttachments<{
|
|
|
63
63
|
density?: Density;
|
|
64
64
|
/** When true, prevents hover, focus, and click opening. */
|
|
65
65
|
disabled?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Lets the trigger wrap across lines like text, for a link inside a paragraph: it renders
|
|
68
|
+
* inline instead of inline-flex, and the card anchors to the line the pointer entered on
|
|
69
|
+
* (`anchorTo: 'line'`) instead of the box that spans both lines. Applies to a snippet or button
|
|
70
|
+
* trigger; a string trigger is a button, which is one box.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
wrap?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* What the card anchors to when its trigger wraps across lines: the whole box, or the line the
|
|
76
|
+
* pointer entered on, kept while the card is open. Defaults to `'line'` with `wrap`.
|
|
77
|
+
* @default 'box'
|
|
78
|
+
*/
|
|
79
|
+
anchorTo?: PopoverProps['anchorTo'];
|
|
80
|
+
/**
|
|
81
|
+
* Draws an arrow from the card toward its trigger. Style it with `popover.theme.arrow`.
|
|
82
|
+
* @default false
|
|
83
|
+
*/
|
|
84
|
+
arrow?: PopoverProps['arrow'];
|
|
66
85
|
/** Additional CSS classes merged onto the Card surface. */
|
|
67
86
|
class?: string;
|
|
68
87
|
/** Additional CSS classes merged onto the trigger wrapper. */
|
|
@@ -7,6 +7,10 @@ export declare const hoverCardTheme: {
|
|
|
7
7
|
true: string;
|
|
8
8
|
false: null;
|
|
9
9
|
};
|
|
10
|
+
wrap: {
|
|
11
|
+
true: string;
|
|
12
|
+
false: string;
|
|
13
|
+
};
|
|
10
14
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
11
15
|
popover: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
12
16
|
card: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
@@ -26,6 +30,10 @@ export declare const setHoverCardTheme: (theme: InferComponentTheme<{
|
|
|
26
30
|
true: string;
|
|
27
31
|
false: null;
|
|
28
32
|
};
|
|
33
|
+
wrap: {
|
|
34
|
+
true: string;
|
|
35
|
+
false: string;
|
|
36
|
+
};
|
|
29
37
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
30
38
|
popover: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
31
39
|
card: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
@@ -43,6 +51,10 @@ export declare const useHoverCardTheme: import("../../utils/cva/theme.js").UseCo
|
|
|
43
51
|
true: string;
|
|
44
52
|
false: null;
|
|
45
53
|
};
|
|
54
|
+
wrap: {
|
|
55
|
+
true: string;
|
|
56
|
+
false: string;
|
|
57
|
+
};
|
|
46
58
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
47
59
|
popover: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
48
60
|
card: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
@@ -2,15 +2,22 @@ import { setComponentTheme, useComponentTheme } from '../../utils/cva/index.js';
|
|
|
2
2
|
import { cva } from '../../utils/cva/index.js';
|
|
3
3
|
import { motion, useComponentMotion } from '../../utils/motion/index.js';
|
|
4
4
|
const defaultHoverCardTrigger = cva({
|
|
5
|
-
base: '
|
|
5
|
+
base: 'max-w-full outline-none',
|
|
6
6
|
variants: {
|
|
7
7
|
disabled: {
|
|
8
8
|
true: 'pointer-events-none opacity-55',
|
|
9
9
|
false: null
|
|
10
|
+
},
|
|
11
|
+
// A wrapping trigger flows like text, so a link in a paragraph breaks across lines and each
|
|
12
|
+
// line keeps its own box; its box-decoration (rings, rounding) repeats on every line.
|
|
13
|
+
wrap: {
|
|
14
|
+
true: 'box-decoration-clone inline',
|
|
15
|
+
false: 'inline-flex w-fit'
|
|
10
16
|
}
|
|
11
17
|
},
|
|
12
18
|
defaultVariants: {
|
|
13
|
-
disabled: false
|
|
19
|
+
disabled: false,
|
|
20
|
+
wrap: false
|
|
14
21
|
}
|
|
15
22
|
});
|
|
16
23
|
const defaultHoverCardPopover = cva({
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default as HoverCard } from './HoverCard.svelte';
|
|
2
2
|
export type { HoverCardPayload, HoverCardProps, HoverCardTrigger } from './hoverCard.props.js';
|
|
3
3
|
export { hoverCardTheme, setHoverCardTheme, useHoverCardTheme, type HoverCardTheme, type HoverCardThemeProps } from './hoverCard.theme.js';
|
|
4
|
+
export { hoverCardDataAttributes, hoverCardCssVariables, type HoverCardDataAttribute, type HoverCardCssVariable } from './hoverCard.attributes.js';
|
|
@@ -15,7 +15,7 @@ type ImageGalleryStateOptions = MakeRequired<Pick<ImageGalleryProps, 'imageSelec
|
|
|
15
15
|
messages: Messages;
|
|
16
16
|
};
|
|
17
17
|
type ImageGalleryAttachmentConfig = Pick<ImageGalleryStateOptions, 'imageSelector' | 'disabled' | 'zoomMargin' | 'transitionDuration' | 'transitionEasing' | 'closeOnClickOutside' | 'closeOnEscape' | 'lockScroll' | 'buttonLabel' | 'closeLabel' | 'previousLabel' | 'nextLabel' | 'licenseKey' | 'hasCustomCaption'>;
|
|
18
|
-
declare const ImageGalleryState_base: new (props: ImageGalleryStateOptions) => {} & Omit<Pick<ImageGalleryProps, "disabled" | "onOpenChange" | "
|
|
18
|
+
declare const ImageGalleryState_base: new (props: ImageGalleryStateOptions) => {} & Omit<Pick<ImageGalleryProps, "disabled" | "onOpenChange" | "onAfterOpen" | "onAfterClose" | "closeOnEscape" | "lockScroll" | "closeOnClickOutside" | "nextLabel" | "previousLabel" | "imageSelector" | "zoomMargin" | "buttonLabel" | "closeLabel" | "licenseKey" | "onIndexChange">, "disabled" | "closeOnEscape" | "lockScroll" | "closeOnClickOutside" | "nextLabel" | "previousLabel" | "imageSelector" | "zoomMargin" | "buttonLabel" | "closeLabel" | "licenseKey"> & Required<Pick<Pick<ImageGalleryProps, "disabled" | "onOpenChange" | "onAfterOpen" | "onAfterClose" | "closeOnEscape" | "lockScroll" | "closeOnClickOutside" | "nextLabel" | "previousLabel" | "imageSelector" | "zoomMargin" | "buttonLabel" | "closeLabel" | "licenseKey" | "onIndexChange">, "disabled" | "closeOnEscape" | "lockScroll" | "closeOnClickOutside" | "nextLabel" | "previousLabel" | "imageSelector" | "zoomMargin" | "buttonLabel" | "closeLabel" | "licenseKey">> & {
|
|
19
19
|
isOpen: boolean;
|
|
20
20
|
/** Lightbox animation duration in ms, resolved from the `motion` theme slot. */
|
|
21
21
|
transitionDuration: number;
|