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
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The styling hooks an Overlay exposes. Attributes are presence attributes (`''` while the state
|
|
3
|
+
* holds, omitted otherwise) unless the description says they carry a value.
|
|
4
|
+
*/
|
|
5
|
+
export const overlayDataAttributes = {
|
|
6
|
+
'data-open': 'On the root: present while open (shown, or ready to show on hover or focus).',
|
|
7
|
+
'data-closed': 'On the root: present while closed, including during the exit transition.',
|
|
8
|
+
'data-entering': 'On the root: present while the opening transition plays.',
|
|
9
|
+
'data-exiting': 'On the root: present while the closing transition plays.',
|
|
10
|
+
'data-show-on': 'On the root: `always`, `hover` or `focus`, the resolved `showOn`.',
|
|
11
|
+
'data-position': 'On the root: the resolved `position`.',
|
|
12
|
+
'data-entasis-overlay': 'On the root: always present; marks the overlay inside its container.',
|
|
13
|
+
'data-overlay-content': 'On the content panel: always present.'
|
|
14
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const overlayDescription = "\n# Overlay Component\n\nOverlay layers concise content and actions over bounded media or another visual surface. Place it as the direct first child of a container; the component automatically establishes that parent as its positioning context, so no attachment or wrapper component is required.\n\n## Basic Usage\n\n```svelte\n<script>\n\timport { Overlay } from 'entasis/overlay';\n</script>\n\n<div class=\"aspect-video overflow-hidden rounded-lg\">\n\t<Overlay\n\t\ttitle=\"Design system foundations\"\n\t\tdescription=\"A practical tour of tokens, primitives, and composition.\"\n\t\tactions={[{ content: 'Open gallery', color: 'neutral', variant: 'soft' }]}\n\t/>\n\t<img src=\"/cover.jpg\" alt=\"Coastal landscape\" class=\"size-full object-cover\" />\n</div>\n```\n\n## Props\n\n- **position**: 'fill' | 'top' | 'bottom' (default: 'fill') - Places the content vertically. Fill uses a surface-wide dark scrim; top and bottom use content-sized black-to-transparent gradients.\n- **align**: 'start' | 'center' | 'end' (default: 'center') - Horizontal content and text alignment.\n- **showOn**: 'always' | 'hover' | 'focus' (default: 'always') - Reveal condition. Hover also reveals for focus-within so actions remain keyboard accessible.\n- **open**: boolean (default: true) - Enables or hides the overlay while preserving its reveal transition.\n- **defaultOpen**: boolean (default: true) - Initial state when open is not provided.\n- **onOpenChange**: (open: boolean) => void - Reserved for
|
|
1
|
+
export declare const overlayDescription = "\n# Overlay Component\n\nOverlay layers concise content and actions over bounded media or another visual surface. Place it as the direct first child of a container; the component automatically establishes that parent as its positioning context, so no attachment or wrapper component is required.\n\n## Basic Usage\n\n```svelte\n<script>\n\timport { Overlay } from 'entasis/overlay';\n</script>\n\n<div class=\"aspect-video overflow-hidden rounded-lg\">\n\t<Overlay\n\t\ttitle=\"Design system foundations\"\n\t\tdescription=\"A practical tour of tokens, primitives, and composition.\"\n\t\tactions={[{ content: 'Open gallery', color: 'neutral', variant: 'soft' }]}\n\t/>\n\t<img src=\"/cover.jpg\" alt=\"Coastal landscape\" class=\"size-full object-cover\" />\n</div>\n```\n\n## Props\n\n- **position**: 'fill' | 'top' | 'bottom' (default: 'fill') - Places the content vertically. Fill uses a surface-wide dark scrim; top and bottom use content-sized black-to-transparent gradients.\n- **align**: 'start' | 'center' | 'end' (default: 'center') - Horizontal content and text alignment.\n- **showOn**: 'always' | 'hover' | 'focus' (default: 'always') - Reveal condition. Hover also reveals for focus-within so actions remain keyboard accessible.\n- **open**: boolean (default: true) - Enables or hides the overlay while preserving its reveal transition.\n- **defaultOpen**: boolean (default: true) - Initial state when open is not provided.\n- **onOpenChange**: (open: boolean, details: OpenChangeDetails) => void - Reserved for the shared disclosure contract; Overlay has no control of its own that opens or closes it, so it never calls this.\n- **onAfterOpen**: () => void - Called once per open after the reveal animation settles, including for an overlay open at creation.\n- **onAfterClose**: () => void - Called once per close after the hide animation settles.\n- **scrim**: boolean (default: true) - Toggles the dark fill or directional gradient.\n- **size**: 'small' | 'normal' | 'large' (default: 'normal') - Scales padding, gaps, and typography.\n- **actions**: OverlayAction[] - Button props plus a content string, rendered as a wrapping action row.\n- **ref**: HTMLDivElement | null - Bindable root reference.\n- **class**: string - Additional root classes.\n- **theme**: OverlayThemeProps - Theme overrides.\n\n## Slots\n\n- **title**: Main overlay heading.\n- **description**: Supporting text.\n- **content**: Additional body content between the description and actions.\n- **children**: Fully custom composition replacing title, description, content, and actions.\n\nAll named content slots accept a string or snippet.\n\n## Placement\n\nThe overlay must be the direct first child of the surface it covers:\n\n```svelte\n<div class=\"overflow-hidden rounded-lg\">\n\t<Overlay position=\"bottom\" title=\"Golden hour\" />\n\t<img src=\"/photo.jpg\" alt=\"Golden hour over a valley\" />\n</div>\n```\n\nThe parent receives a zero-specificity relative positioning context and isolated stacking context through CSS `:has()`. An explicit parent positioning utility or inline style still takes precedence.\n\nTop and bottom content enters from its corresponding edge while the scrim fades in place. Fill content only fades. Motion is disabled when the user requests reduced motion.\n\n## Reveal on Hover or Focus\n\n```svelte\n<div class=\"aspect-video overflow-hidden rounded-lg\">\n\t<Overlay\n\t\tshowOn=\"hover\"\n\t\tposition=\"bottom\"\n\t\ttitle=\"Mountain archive\"\n\t\tactions={[{ content: 'View collection', color: 'neutral', variant: 'soft' }]}\n\t/>\n\t<img src=\"/mountain.jpg\" alt=\"Snow-covered mountain\" />\n</div>\n```\n\n## Styling hooks\n\n`data-open` is a presence attribute: a closed overlay carries `data-closed` and no `data-open` (before 0.12.0 it carried `data-open=\"false\"`). Select an open overlay with `[data-open]` or Tailwind's `data-open:` variant.\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 root: present while open (shown, or ready to show on hover or focus).\n- `data-closed`: On the root: present while closed, including during the exit transition.\n- `data-entering`: On the root: present while the opening transition plays.\n- `data-exiting`: On the root: present while the closing transition plays.\n- `data-show-on`: On the root: `always`, `hover` or `focus`, the resolved `showOn`.\n- `data-position`: On the root: the resolved `position`.\n- `data-entasis-overlay`: On the root: always present; marks the overlay inside its container.\n- `data-overlay-content`: On the content panel: always present.\n\nThe typed map `overlayDataAttributes` (from `entasis/overlay`) lists each name with its meaning.\n\n## Accessibility\n\n- The overlay is semantically neutral; supplied buttons and links keep their native semantics.\n- Hover-revealed content also appears when focus enters the surface or its actions.\n- Setting open to false makes the overlay inert and hides it from assistive technology.\n- Images and video beneath the overlay still require their own accessible labels or alternatives.\n\n## Theme Parts\n\n- **root**: Absolute overlay, reveal state, vertical placement, and clipping.\n- **scrim**: Fill or directional gradient.\n- **content**: Padding and horizontal alignment.\n- **header**: Title and description stack.\n- **title**: Heading typography.\n- **description**: Supporting text.\n- **body**: Additional content slot.\n- **actions**: Button row.\n";
|
|
@@ -27,9 +27,9 @@ Overlay layers concise content and actions over bounded media or another visual
|
|
|
27
27
|
- **showOn**: 'always' | 'hover' | 'focus' (default: 'always') - Reveal condition. Hover also reveals for focus-within so actions remain keyboard accessible.
|
|
28
28
|
- **open**: boolean (default: true) - Enables or hides the overlay while preserving its reveal transition.
|
|
29
29
|
- **defaultOpen**: boolean (default: true) - Initial state when open is not provided.
|
|
30
|
-
- **onOpenChange**: (open: boolean) => void - Reserved for
|
|
31
|
-
- **onAfterOpen**: () => void - Called after the open
|
|
32
|
-
- **onAfterClose**: () => void - Called after the
|
|
30
|
+
- **onOpenChange**: (open: boolean, details: OpenChangeDetails) => void - Reserved for the shared disclosure contract; Overlay has no control of its own that opens or closes it, so it never calls this.
|
|
31
|
+
- **onAfterOpen**: () => void - Called once per open after the reveal animation settles, including for an overlay open at creation.
|
|
32
|
+
- **onAfterClose**: () => void - Called once per close after the hide animation settles.
|
|
33
33
|
- **scrim**: boolean (default: true) - Toggles the dark fill or directional gradient.
|
|
34
34
|
- **size**: 'small' | 'normal' | 'large' (default: 'normal') - Scales padding, gaps, and typography.
|
|
35
35
|
- **actions**: OverlayAction[] - Button props plus a content string, rendered as a wrapping action row.
|
|
@@ -75,6 +75,24 @@ Top and bottom content enters from its corresponding edge while the scrim fades
|
|
|
75
75
|
</div>
|
|
76
76
|
\`\`\`
|
|
77
77
|
|
|
78
|
+
## Styling hooks
|
|
79
|
+
|
|
80
|
+
\`data-open\` is a presence attribute: a closed overlay carries \`data-closed\` and no \`data-open\` (before 0.12.0 it carried \`data-open="false"\`). Select an open overlay with \`[data-open]\` or Tailwind's \`data-open:\` variant.
|
|
81
|
+
|
|
82
|
+
Attributes are presence attributes (set while the state holds, omitted otherwise) unless they carry a value.
|
|
83
|
+
|
|
84
|
+
**Data attributes**
|
|
85
|
+
- \`data-open\`: On the root: present while open (shown, or ready to show on hover or focus).
|
|
86
|
+
- \`data-closed\`: On the root: present while closed, including during the exit transition.
|
|
87
|
+
- \`data-entering\`: On the root: present while the opening transition plays.
|
|
88
|
+
- \`data-exiting\`: On the root: present while the closing transition plays.
|
|
89
|
+
- \`data-show-on\`: On the root: \`always\`, \`hover\` or \`focus\`, the resolved \`showOn\`.
|
|
90
|
+
- \`data-position\`: On the root: the resolved \`position\`.
|
|
91
|
+
- \`data-entasis-overlay\`: On the root: always present; marks the overlay inside its container.
|
|
92
|
+
- \`data-overlay-content\`: On the content panel: always present.
|
|
93
|
+
|
|
94
|
+
The typed map \`overlayDataAttributes\` (from \`entasis/overlay\`) lists each name with its meaning.
|
|
95
|
+
|
|
78
96
|
## Accessibility
|
|
79
97
|
|
|
80
98
|
- The overlay is semantically neutral; supplied buttons and links keep their native semantics.
|
|
@@ -4,6 +4,7 @@ import type { Sizes } from '../../types/theme.js';
|
|
|
4
4
|
import type { Snippet } from 'svelte';
|
|
5
5
|
import type { ButtonProps } from '../Button/index.js';
|
|
6
6
|
import type { OverlayThemeProps } from './overlay.theme.js';
|
|
7
|
+
import type { OpenChangeHandler } from '../../utils/openChange.js';
|
|
7
8
|
export type OverlayPosition = 'fill' | 'top' | 'bottom';
|
|
8
9
|
export type OverlayAlign = 'start' | 'center' | 'end';
|
|
9
10
|
export type OverlayShowOn = 'always' | 'hover' | 'focus';
|
|
@@ -26,11 +27,14 @@ export type OverlayProps = WithAttachments<WithSlot<{
|
|
|
26
27
|
open?: boolean;
|
|
27
28
|
/** Initial open state when `open` is not provided. */
|
|
28
29
|
defaultOpen?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Reserved for the shared disclosure contract: Overlay has no control of its own that
|
|
32
|
+
* opens or closes it, so it never calls this. The parent owns `open`.
|
|
33
|
+
*/
|
|
34
|
+
onOpenChange?: OpenChangeHandler;
|
|
35
|
+
/** Called once per open, after the reveal animation settles (an overlay open at creation included). */
|
|
32
36
|
onAfterOpen?: () => void;
|
|
33
|
-
/** Called after the
|
|
37
|
+
/** Called once per close, after the hide animation settles. */
|
|
34
38
|
onAfterClose?: () => void;
|
|
35
39
|
/** Renders the dark fill or directional gradient behind the content. */
|
|
36
40
|
scrim?: boolean;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
<script lang="ts">
|
|
1
|
+
<script lang="ts" generics="Payload = unknown">
|
|
2
2
|
import { createBindableValue } from '../../utils/state.svelte.js';
|
|
3
3
|
import { getPopoverDialogTheme } from './popover.dialog.theme.js';
|
|
4
4
|
import type { PopoverProps } from './popover.props.js';
|
|
5
5
|
import { usePopoverTheme } from './popover.theme.js';
|
|
6
6
|
import { PopoverState } from './popover.state.svelte.js';
|
|
7
|
+
import PopoverSession from './PopoverSession.svelte';
|
|
7
8
|
import Button from '../Button/Button.svelte';
|
|
8
9
|
import Dialog from '../Dialog/Dialog.svelte';
|
|
9
10
|
import { fso } from '../../transitions/transition.js';
|
|
10
11
|
import { portal } from '../../attachments/portal.js';
|
|
11
12
|
import { transitionSize } from '../../attachments/transitionSize.js';
|
|
13
|
+
import { composeHandlers } from '../../utils/handlers.js';
|
|
12
14
|
import type { Attachment } from 'svelte/attachments';
|
|
15
|
+
import { SAFE_AREA_CLOSE_DELAY } from '../../utils/safeArea.svelte.js';
|
|
16
|
+
import { useI18n } from '../../i18n/context.svelte.js';
|
|
13
17
|
|
|
14
18
|
let {
|
|
15
19
|
id: customId,
|
|
@@ -27,6 +31,7 @@
|
|
|
27
31
|
openOnHover = false,
|
|
28
32
|
openOnClick = true,
|
|
29
33
|
delay = 100,
|
|
34
|
+
closeDelay = SAFE_AREA_CLOSE_DELAY,
|
|
30
35
|
closeOnEscape = true,
|
|
31
36
|
closeOnClickOutside = true,
|
|
32
37
|
closeOnMouseLeave = false,
|
|
@@ -35,16 +40,26 @@
|
|
|
35
40
|
lockScroll = true,
|
|
36
41
|
fitTrigger = false,
|
|
37
42
|
positionPanel,
|
|
43
|
+
collisionBoundary = 'visualViewport',
|
|
44
|
+
fallbackAxisSide = 'none',
|
|
45
|
+
anchorTo = 'box',
|
|
38
46
|
inline = false,
|
|
39
47
|
mobileSheet = false,
|
|
40
48
|
mobileSheetSizeTransition = true,
|
|
41
|
-
focusOnOpen
|
|
49
|
+
focusOnOpen,
|
|
50
|
+
focusOnClose,
|
|
42
51
|
haspopup = 'dialog',
|
|
52
|
+
label,
|
|
53
|
+
labelledBy,
|
|
54
|
+
modal = false,
|
|
55
|
+
tabBridge = true,
|
|
56
|
+
closeOnFocusOut,
|
|
57
|
+
arrow = false,
|
|
43
58
|
class: className,
|
|
44
59
|
trigger,
|
|
45
60
|
theme,
|
|
46
61
|
...attachments
|
|
47
|
-
}: PopoverProps = $props();
|
|
62
|
+
}: PopoverProps<Payload> = $props();
|
|
48
63
|
const openState = createBindableValue(
|
|
49
64
|
() => open,
|
|
50
65
|
(next) => {
|
|
@@ -54,7 +69,8 @@
|
|
|
54
69
|
);
|
|
55
70
|
|
|
56
71
|
const id = $props.id();
|
|
57
|
-
const
|
|
72
|
+
const t = $derived(useI18n());
|
|
73
|
+
const popover = new PopoverState<Payload>({
|
|
58
74
|
get id() {
|
|
59
75
|
return customId || id;
|
|
60
76
|
},
|
|
@@ -67,6 +83,12 @@
|
|
|
67
83
|
get onOpenChange() {
|
|
68
84
|
return onOpenChange;
|
|
69
85
|
},
|
|
86
|
+
get onAfterOpen() {
|
|
87
|
+
return onAfterOpen;
|
|
88
|
+
},
|
|
89
|
+
get onAfterClose() {
|
|
90
|
+
return onAfterClose;
|
|
91
|
+
},
|
|
70
92
|
get size() {
|
|
71
93
|
return size;
|
|
72
94
|
},
|
|
@@ -91,6 +113,15 @@
|
|
|
91
113
|
get positionPanel() {
|
|
92
114
|
return positionPanel;
|
|
93
115
|
},
|
|
116
|
+
get collisionBoundary() {
|
|
117
|
+
return collisionBoundary;
|
|
118
|
+
},
|
|
119
|
+
get fallbackAxisSide() {
|
|
120
|
+
return fallbackAxisSide;
|
|
121
|
+
},
|
|
122
|
+
get anchorTo() {
|
|
123
|
+
return anchorTo;
|
|
124
|
+
},
|
|
94
125
|
get mobileSheet() {
|
|
95
126
|
return mobileSheet;
|
|
96
127
|
},
|
|
@@ -118,15 +149,39 @@
|
|
|
118
149
|
get delay() {
|
|
119
150
|
return delay;
|
|
120
151
|
},
|
|
152
|
+
get closeDelay() {
|
|
153
|
+
return closeDelay;
|
|
154
|
+
},
|
|
121
155
|
get openOnClick() {
|
|
122
156
|
return openOnClick;
|
|
123
157
|
},
|
|
124
158
|
get focusOnOpen() {
|
|
125
159
|
return focusOnOpen;
|
|
126
160
|
},
|
|
161
|
+
get focusOnClose() {
|
|
162
|
+
return focusOnClose;
|
|
163
|
+
},
|
|
127
164
|
get haspopup() {
|
|
128
165
|
return haspopup;
|
|
129
166
|
},
|
|
167
|
+
get label() {
|
|
168
|
+
return label;
|
|
169
|
+
},
|
|
170
|
+
get labelledBy() {
|
|
171
|
+
return labelledBy;
|
|
172
|
+
},
|
|
173
|
+
get modal() {
|
|
174
|
+
return modal;
|
|
175
|
+
},
|
|
176
|
+
get tabBridge() {
|
|
177
|
+
return tabBridge;
|
|
178
|
+
},
|
|
179
|
+
get closeOnFocusOut() {
|
|
180
|
+
return closeOnFocusOut;
|
|
181
|
+
},
|
|
182
|
+
get arrow() {
|
|
183
|
+
return arrow;
|
|
184
|
+
},
|
|
130
185
|
get motion() {
|
|
131
186
|
return theme?.motion;
|
|
132
187
|
}
|
|
@@ -138,7 +193,8 @@
|
|
|
138
193
|
|
|
139
194
|
const classes = $derived(usePopoverTheme(theme));
|
|
140
195
|
|
|
141
|
-
|
|
196
|
+
// Wrapped so the lifecycle knows when the panel's transition plays (and when none does).
|
|
197
|
+
const panelTransition = popover.lifecycle.transition(fso());
|
|
142
198
|
|
|
143
199
|
// An inline panel needs no reference element: it renders where the component sits.
|
|
144
200
|
const visible = $derived(
|
|
@@ -149,6 +205,18 @@
|
|
|
149
205
|
// Floating panels portal to the body layer; inline ones stay in normal document flow.
|
|
150
206
|
const maybePortal: Attachment<HTMLElement> = $derived(inline ? () => {} : portal());
|
|
151
207
|
|
|
208
|
+
// The sheet's Dialog has no title to name it by: the sheet's content names the dialog around it.
|
|
209
|
+
const nameSheet: Attachment<HTMLElement> = (node) => {
|
|
210
|
+
const dialog = node.closest('[role="dialog"]');
|
|
211
|
+
if (!dialog || (!label && !labelledBy)) return;
|
|
212
|
+
if (label) dialog.setAttribute('aria-label', label);
|
|
213
|
+
if (labelledBy) dialog.setAttribute('aria-labelledby', labelledBy);
|
|
214
|
+
return () => {
|
|
215
|
+
dialog.removeAttribute('aria-label');
|
|
216
|
+
dialog.removeAttribute('aria-labelledby');
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
|
|
152
220
|
const mobileSheetDialogTheme = $derived(
|
|
153
221
|
getPopoverDialogTheme(
|
|
154
222
|
classes.popover({
|
|
@@ -162,6 +230,56 @@
|
|
|
162
230
|
|
|
163
231
|
{#snippet emptyCloseButton()}{/snippet}
|
|
164
232
|
|
|
233
|
+
<!-- First in the template: what only an open popover needs (its layer, focus scope, safe area)
|
|
234
|
+
exists before the panel below reads it, and stays until the closing transition ends. -->
|
|
235
|
+
{#if popover.sessionActive}
|
|
236
|
+
<PopoverSession {popover} />
|
|
237
|
+
{/if}
|
|
238
|
+
|
|
239
|
+
<!-- The panel is a child of the wrapper, so it is never re-parented mid-transition (which would
|
|
240
|
+
break the intro). It carries the visuals, transform-origin, and animation. -->
|
|
241
|
+
{#snippet floatingPanel()}
|
|
242
|
+
<div
|
|
243
|
+
{@attach popover.panel}
|
|
244
|
+
{...popover.panelAttributes}
|
|
245
|
+
class={classes.popover({
|
|
246
|
+
size: popover.computedSize,
|
|
247
|
+
mode: popover.computedMode,
|
|
248
|
+
arrow: arrow && popover.computedMode === 'floating',
|
|
249
|
+
className
|
|
250
|
+
})}
|
|
251
|
+
style:transform-origin={popover.transformOrigin}
|
|
252
|
+
style:min-width={popover.triggerWidth != null ? `${popover.triggerWidth}px` : undefined}
|
|
253
|
+
style:width={popover.triggerWidth != null ? 'max-content' : undefined}
|
|
254
|
+
style:max-width={popover.triggerWidth != null
|
|
255
|
+
? `max(${FIT_TRIGGER_CAP[popover.computedSize]}, ${popover.triggerWidth}px)`
|
|
256
|
+
: undefined}
|
|
257
|
+
in:panelTransition={popover.computedTransition.in}
|
|
258
|
+
out:panelTransition={popover.computedTransition.out}
|
|
259
|
+
onintroend={popover.lifecycle.introEnd}
|
|
260
|
+
onoutroend={popover.lifecycle.outroEnd}
|
|
261
|
+
>
|
|
262
|
+
{#if arrow && popover.computedMode === 'floating'}
|
|
263
|
+
<div {@attach popover.arrowRef} aria-hidden="true" class={classes.arrow()}></div>
|
|
264
|
+
{/if}
|
|
265
|
+
{@render children?.(popover)}
|
|
266
|
+
{#if popover.isModal && (closeOnEscape || closeOnClickOutside)}
|
|
267
|
+
<!-- The page behind a modal panel is inert and its Escape and outside press are no use to
|
|
268
|
+
a screen reader's virtual cursor: a Close button at the end of the panel is. Out of
|
|
269
|
+
the Tab order, which the panel's own controls own. -->
|
|
270
|
+
<button
|
|
271
|
+
type="button"
|
|
272
|
+
class="sr-only"
|
|
273
|
+
tabindex="-1"
|
|
274
|
+
data-autofocus-skip
|
|
275
|
+
onclick={(event) => popover.close({ reason: 'close-press', event })}
|
|
276
|
+
>
|
|
277
|
+
{t.close}
|
|
278
|
+
</button>
|
|
279
|
+
{/if}
|
|
280
|
+
</div>
|
|
281
|
+
{/snippet}
|
|
282
|
+
|
|
165
283
|
<!-- Trigger first: an inline panel then follows it in the document flow. Floating and
|
|
166
284
|
mobile-sheet panels portal out, so source order does not reach them. -->
|
|
167
285
|
{#if trigger}
|
|
@@ -172,16 +290,21 @@
|
|
|
172
290
|
<Button
|
|
173
291
|
{...buttonProps}
|
|
174
292
|
{...popover.triggerProps}
|
|
175
|
-
onclick={(event) => {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}}
|
|
293
|
+
onclick={composeHandlers(onclick, (event) => {
|
|
294
|
+
if (openOnClick) popover.toggle(event);
|
|
295
|
+
})}
|
|
179
296
|
children={children ?? content}
|
|
180
297
|
{@attach popover.reference}
|
|
181
298
|
/>
|
|
182
299
|
{/if}
|
|
183
300
|
{/if}
|
|
184
301
|
|
|
302
|
+
<!-- A screen reader reads a portaled panel straight after its trigger when the trigger's
|
|
303
|
+
container owns it; the span is out of the layout and names no content of its own. -->
|
|
304
|
+
{#if trigger && typeof trigger !== 'boolean' && popover.tabBridgeActive}
|
|
305
|
+
<span class="sr-only" aria-owns={popover.id}></span>
|
|
306
|
+
{/if}
|
|
307
|
+
|
|
185
308
|
{#if popover.isMobileSheet}
|
|
186
309
|
<Dialog
|
|
187
310
|
id={popover.id}
|
|
@@ -192,66 +315,54 @@
|
|
|
192
315
|
{transition}
|
|
193
316
|
{closeOnEscape}
|
|
194
317
|
{closeOnClickOutside}
|
|
318
|
+
{focusOnClose}
|
|
195
319
|
closable={closeOnEscape || closeOnClickOutside}
|
|
196
320
|
swipeToDismiss={closeOnClickOutside}
|
|
197
321
|
thumb={false}
|
|
198
322
|
closeButton={emptyCloseButton}
|
|
199
323
|
theme={mobileSheetDialogTheme}
|
|
200
|
-
onOpenChange={(nextOpen) => popover.setOpen(nextOpen)}
|
|
201
|
-
onAfterOpen={
|
|
202
|
-
|
|
203
|
-
onAfterOpen?.(popover);
|
|
204
|
-
}}
|
|
205
|
-
onAfterClose={() => {
|
|
206
|
-
popover.hasTransitioned = false;
|
|
207
|
-
onAfterClose?.(popover);
|
|
208
|
-
}}
|
|
324
|
+
onOpenChange={(nextOpen, details) => popover.setOpen(nextOpen, details)}
|
|
325
|
+
onAfterOpen={popover.lifecycle.introEnd}
|
|
326
|
+
onAfterClose={popover.lifecycle.outroEnd}
|
|
209
327
|
>
|
|
210
|
-
<div
|
|
328
|
+
<div
|
|
329
|
+
{@attach transitionSize({ isActive: () => mobileSheetSizeTransition })}
|
|
330
|
+
{@attach nameSheet}
|
|
331
|
+
{...attachments}
|
|
332
|
+
>
|
|
211
333
|
{@render children?.(popover)}
|
|
212
334
|
</div>
|
|
213
335
|
</Dialog>
|
|
214
|
-
{:else if visible}
|
|
336
|
+
{:else if visible && popover.isDialogPopup}
|
|
337
|
+
<!-- Dialog content sits in a <dialog>; a menu, listbox, tree or grid gets a plain wrapper
|
|
338
|
+
(below), so assistive technology does not announce an unnamed dialog around it. Two
|
|
339
|
+
branches of this one chain rather than a dynamic element: a nested block would stop the
|
|
340
|
+
panel's local transitions from playing. -->
|
|
215
341
|
<dialog
|
|
216
342
|
{@attach maybePortal}
|
|
217
343
|
{@attach popover.dialog}
|
|
218
344
|
open={true}
|
|
219
345
|
id={popover.id}
|
|
220
346
|
class={classes.root({ mode: popover.computedMode })}
|
|
347
|
+
aria-label={label}
|
|
348
|
+
aria-labelledby={labelledBy}
|
|
349
|
+
aria-modal={popover.isModal ? 'true' : undefined}
|
|
221
350
|
style:visibility={inline ? undefined : 'hidden'}
|
|
222
|
-
style:z-index={inline ? undefined : popover.layer
|
|
351
|
+
style:z-index={inline ? undefined : popover.layer?.zIndex}
|
|
223
352
|
{...attachments}
|
|
224
353
|
>
|
|
225
|
-
|
|
226
|
-
(which would break the intro). It carries the visuals, transform-origin, and animation. -->
|
|
227
|
-
<div
|
|
228
|
-
{@attach popover.panel}
|
|
229
|
-
class={classes.popover({
|
|
230
|
-
size: popover.computedSize,
|
|
231
|
-
mode: popover.computedMode,
|
|
232
|
-
className
|
|
233
|
-
})}
|
|
234
|
-
style:transform-origin={popover.transformOrigin}
|
|
235
|
-
style:min-width={popover.triggerWidth != null ? `${popover.triggerWidth}px` : undefined}
|
|
236
|
-
style:width={popover.triggerWidth != null ? 'max-content' : undefined}
|
|
237
|
-
style:max-width={popover.triggerWidth != null
|
|
238
|
-
? `max(${FIT_TRIGGER_CAP[popover.computedSize]}, ${popover.triggerWidth}px)`
|
|
239
|
-
: undefined}
|
|
240
|
-
in:in_out={popover.computedTransition.in}
|
|
241
|
-
out:in_out={popover.computedTransition.out}
|
|
242
|
-
onintroend={() => {
|
|
243
|
-
popover.hasTransitioned = true;
|
|
244
|
-
onAfterOpen?.(popover);
|
|
245
|
-
}}
|
|
246
|
-
onoutrostart={() => {
|
|
247
|
-
popover.hasTransitioned = false;
|
|
248
|
-
}}
|
|
249
|
-
onoutroend={() => {
|
|
250
|
-
popover.focusScope.restore();
|
|
251
|
-
onAfterClose?.(popover);
|
|
252
|
-
}}
|
|
253
|
-
>
|
|
254
|
-
{@render children?.(popover)}
|
|
255
|
-
</div>
|
|
354
|
+
{@render floatingPanel()}
|
|
256
355
|
</dialog>
|
|
356
|
+
{:else if visible}
|
|
357
|
+
<div
|
|
358
|
+
{@attach maybePortal}
|
|
359
|
+
{@attach popover.dialog}
|
|
360
|
+
id={popover.id}
|
|
361
|
+
class={classes.root({ mode: popover.computedMode })}
|
|
362
|
+
style:visibility={inline ? undefined : 'hidden'}
|
|
363
|
+
style:z-index={inline ? undefined : popover.layer?.zIndex}
|
|
364
|
+
{...attachments}
|
|
365
|
+
>
|
|
366
|
+
{@render floatingPanel()}
|
|
367
|
+
</div>
|
|
257
368
|
{/if}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
import type { PopoverProps } from './popover.props.js';
|
|
2
|
-
declare
|
|
3
|
-
|
|
2
|
+
declare function $$render<Payload = unknown>(): {
|
|
3
|
+
props: PopoverProps<Payload>;
|
|
4
|
+
exports: {};
|
|
5
|
+
bindings: "open";
|
|
6
|
+
slots: {};
|
|
7
|
+
events: {};
|
|
8
|
+
};
|
|
9
|
+
declare class __sveltets_Render<Payload = unknown> {
|
|
10
|
+
props(): ReturnType<typeof $$render<Payload>>['props'];
|
|
11
|
+
events(): ReturnType<typeof $$render<Payload>>['events'];
|
|
12
|
+
slots(): ReturnType<typeof $$render<Payload>>['slots'];
|
|
13
|
+
bindings(): "open";
|
|
14
|
+
exports(): {};
|
|
15
|
+
}
|
|
16
|
+
interface $$IsomorphicComponent {
|
|
17
|
+
new <Payload = unknown>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Payload>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Payload>['props']>, ReturnType<__sveltets_Render<Payload>['events']>, ReturnType<__sveltets_Render<Payload>['slots']>> & {
|
|
18
|
+
$$bindings?: ReturnType<__sveltets_Render<Payload>['bindings']>;
|
|
19
|
+
} & ReturnType<__sveltets_Render<Payload>['exports']>;
|
|
20
|
+
<Payload = unknown>(internal: unknown, props: ReturnType<__sveltets_Render<Payload>['props']> & {}): ReturnType<__sveltets_Render<Payload>['exports']>;
|
|
21
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
22
|
+
}
|
|
23
|
+
declare const Popover: $$IsomorphicComponent;
|
|
24
|
+
type Popover<Payload = unknown> = InstanceType<typeof Popover<Payload>>;
|
|
4
25
|
export default Popover;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
// Renders nothing. Popover mounts it while the popover is open or closing, so the open-only
|
|
3
|
+
// machinery (layer, focus scope, safe area, Tab bridge, scroll lock) is built on open and torn
|
|
4
|
+
// down once the closing transition ends; a closed popover pays for none of it.
|
|
5
|
+
import type { PopoverState } from './popover.state.svelte.js';
|
|
6
|
+
|
|
7
|
+
let { popover }: { popover: Pick<PopoverState, 'openSession'> } = $props();
|
|
8
|
+
|
|
9
|
+
// Once, at initialisation: the session belongs to this mount, never to a later `popover`.
|
|
10
|
+
// svelte-ignore state_referenced_locally
|
|
11
|
+
popover.openSession();
|
|
12
|
+
</script>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PopoverState } from './popover.state.svelte.js';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
popover: Pick<PopoverState, 'openSession'>;
|
|
4
|
+
};
|
|
5
|
+
declare const PopoverSession: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type PopoverSession = ReturnType<typeof PopoverSession>;
|
|
7
|
+
export default PopoverSession;
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
import type { PopoverApi } from './popover.api.js';
|
|
1
2
|
export { default as Popover } from './Popover.svelte';
|
|
2
|
-
export type { PopoverProps } from './popover.props.js';
|
|
3
|
+
export type { PopoverOpenReason, PopoverPlacement, PopoverProps, PopoverSide } from './popover.props.js';
|
|
4
|
+
export type { PopoverApi } from './popover.api.js';
|
|
5
|
+
export type { FocusOnClose } from '../../utils/useFocusScope.svelte.js';
|
|
3
6
|
export { popoverTheme, setPopoverTheme, usePopoverTheme, type PopoverTheme, type PopoverThemeProps } from './popover.theme.js';
|
|
4
|
-
export {
|
|
7
|
+
export type { PopoverPlacementState } from './popover.state.svelte.js';
|
|
8
|
+
/** @deprecated Renamed `PopoverApi`, the narrow popover snippets receive; kept for one minor. */
|
|
9
|
+
export type PopoverState<Payload = unknown> = PopoverApi<Payload>;
|
|
10
|
+
/** The nearest enclosing popover, or `null` outside one. */
|
|
11
|
+
export declare const usePopoverContext: () => PopoverApi | null;
|
|
12
|
+
export { popoverDataAttributes, popoverCssVariables, type PopoverDataAttribute, type PopoverCssVariable } from './popover.attributes.js';
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { usePopoverContext as usePopoverStateContext } from './popover.state.svelte.js';
|
|
1
2
|
export { default as Popover } from './Popover.svelte';
|
|
2
3
|
export { popoverTheme, setPopoverTheme, usePopoverTheme } from './popover.theme.js';
|
|
3
|
-
|
|
4
|
+
/** The nearest enclosing popover, or `null` outside one. */
|
|
5
|
+
export const usePopoverContext = usePopoverStateContext;
|
|
6
|
+
export { popoverDataAttributes, popoverCssVariables } from './popover.attributes.js';
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { Attachment } from 'svelte/attachments';
|
|
2
|
+
import type { OpenTransitionStatus } from '../../utils/stateAttributes.js';
|
|
3
|
+
import type { PopupTriggerProps } from '../../utils/trigger.js';
|
|
4
|
+
import type { PopoverOpenReason, PopoverProps } from './popover.props.js';
|
|
5
|
+
import type { PopoverOpenChangeInput, PopoverPlacementState } from './popover.state.svelte.js';
|
|
6
|
+
/**
|
|
7
|
+
* The popover handed to the `trigger` and `children` snippets, `onAfterOpen` and `onAfterClose`:
|
|
8
|
+
* its open state, the requests that change it, and the attachments that make an element its
|
|
9
|
+
* trigger. Type a snippet parameter `PopoverApi<Row>` to read `payload` as a `Row`.
|
|
10
|
+
*/
|
|
11
|
+
export interface PopoverApi<Payload = unknown> {
|
|
12
|
+
/** The popover id, which the open trigger's `aria-controls` points at. */
|
|
13
|
+
readonly id: string;
|
|
14
|
+
/** Whether the popover is open. */
|
|
15
|
+
readonly isOpen: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Where the panel is in its open/close lifecycle: `closed`, `entering`, `open` or `exiting`
|
|
18
|
+
* (the values behind `data-entering` and `data-exiting`).
|
|
19
|
+
*/
|
|
20
|
+
readonly status: OpenTransitionStatus;
|
|
21
|
+
/**
|
|
22
|
+
* How the open popover was opened: `hover`, `press`, `keyboard`, or `programmatic` (`open()`
|
|
23
|
+
* from code, the `open` prop, `defaultOpen`). `null` once closed.
|
|
24
|
+
*/
|
|
25
|
+
readonly openReason: PopoverOpenReason | null;
|
|
26
|
+
/** The trigger that opened the popover, while it is open; `null` after a programmatic open. */
|
|
27
|
+
readonly activeTrigger: HTMLElement | null;
|
|
28
|
+
/**
|
|
29
|
+
* Where the floating panel was last placed: its side, alignment, and whether its anchor is
|
|
30
|
+
* scrolled out of view (the values of `data-side`, `data-align` and `data-anchor-hidden`).
|
|
31
|
+
* `null` until the first placement lands and once the panel unmounts.
|
|
32
|
+
*/
|
|
33
|
+
readonly placement: PopoverPlacementState | null;
|
|
34
|
+
/**
|
|
35
|
+
* Trigger state in the library's semantic vocabulary (`haspopup`, `expanded`, `controls`), to
|
|
36
|
+
* spread on a Button. `trigger` and `reference` already write it as ARIA attributes.
|
|
37
|
+
*/
|
|
38
|
+
readonly triggerProps: PopupTriggerProps;
|
|
39
|
+
/**
|
|
40
|
+
* The payload of the trigger the panel is anchored to (see `triggerFor`); `undefined` for a
|
|
41
|
+
* trigger made without one.
|
|
42
|
+
*/
|
|
43
|
+
readonly payload: Payload | undefined;
|
|
44
|
+
/** Requests opening through `onOpenChange`. */
|
|
45
|
+
readonly open: (input?: PopoverOpenChangeInput) => void;
|
|
46
|
+
/** Requests closing through `onOpenChange`; returns `false` when it was cancelled. */
|
|
47
|
+
readonly close: (input?: PopoverOpenChangeInput) => boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Requests the other state. A press on the trigger of a hover-opened popover pins it open; on
|
|
50
|
+
* another trigger of an open popover it moves the panel there.
|
|
51
|
+
*/
|
|
52
|
+
readonly toggle: (input?: PopoverOpenChangeInput) => void;
|
|
53
|
+
/** Requests an explicit state; returns `false` when `onOpenChange` cancelled it. */
|
|
54
|
+
readonly setOpen: (open: boolean, input?: PopoverOpenChangeInput) => boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Makes any element a complete trigger (`{@attach popover.trigger}`): it anchors the panel,
|
|
57
|
+
* toggles it on click when `openOnClick` allows, keeps `aria-haspopup`, `aria-expanded` and
|
|
58
|
+
* `aria-controls` in sync, and gives a non-control `role="button"`, `tabindex="0"` and
|
|
59
|
+
* Enter/Space activation. The element's own handler runs first.
|
|
60
|
+
*/
|
|
61
|
+
readonly trigger: Attachment<HTMLElement>;
|
|
62
|
+
/**
|
|
63
|
+
* Anchors the panel to an element and keeps its ARIA state in sync, leaving clicks and keys to
|
|
64
|
+
* the element (`{@attach popover.reference}`).
|
|
65
|
+
*/
|
|
66
|
+
readonly reference: Attachment<HTMLElement>;
|
|
67
|
+
/**
|
|
68
|
+
* `trigger` plus a payload getter, read back as `payload` while this trigger anchors the panel:
|
|
69
|
+
* `{@attach popover.triggerFor(() => row)}`.
|
|
70
|
+
*/
|
|
71
|
+
readonly triggerFor: (payload: () => Payload) => Attachment<HTMLElement>;
|
|
72
|
+
/** @deprecated Read `status === 'open'`; kept for one minor. */
|
|
73
|
+
readonly hasTransitioned: boolean;
|
|
74
|
+
/** @deprecated Read the `size` prop you passed; kept for one minor. */
|
|
75
|
+
readonly size?: PopoverProps<Payload>['size'];
|
|
76
|
+
/**
|
|
77
|
+
* @deprecated Read the `position` prop you passed, or `placement` for where the panel landed;
|
|
78
|
+
* kept for one minor.
|
|
79
|
+
*/
|
|
80
|
+
readonly position?: PopoverProps<Payload>['position'];
|
|
81
|
+
/** @deprecated Read the `offset` prop you passed; kept for one minor. */
|
|
82
|
+
readonly offset?: PopoverProps<Payload>['offset'];
|
|
83
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The styling hooks a Popover exposes. Attributes are presence attributes (`''` while the state
|
|
3
|
+
* holds, omitted otherwise) unless the description says they carry a value. Components built on
|
|
4
|
+
* Popover (Select, Combobox, Menu, HoverCard, Tooltip) inherit them.
|
|
5
|
+
*/
|
|
6
|
+
export declare const popoverDataAttributes: {
|
|
7
|
+
readonly 'data-open': "On the panel: present while open.";
|
|
8
|
+
readonly 'data-closed': "On the panel: present while its exit transition plays (a closed panel is not rendered).";
|
|
9
|
+
readonly 'data-entering': "On the panel: present while the enter transition plays.";
|
|
10
|
+
readonly 'data-exiting': "On the panel: present while the exit transition plays.";
|
|
11
|
+
readonly 'data-side': "On the panel: the side of the trigger it sits on after flipping, `top`, `right`, `bottom` or `left`; `inline-start` / `inline-end` when a logical side was requested; `none` when `positionPanel` placed it. On the arrow: the physical side of the panel it sits on.";
|
|
12
|
+
readonly 'data-align': "On the panel: `start`, `center` or `end`, how it lines up with the trigger (absent with `data-side=\"none\"`).";
|
|
13
|
+
readonly 'data-anchor-hidden': "On the panel: present while the trigger is scrolled out of view; the panel is hidden meanwhile.";
|
|
14
|
+
readonly 'data-uncentered': "On the arrow: present while the trigger is not under the middle of the panel (a shift moved the panel).";
|
|
15
|
+
readonly 'data-popup-open': "On the element the panel is anchored to (the trigger that opened it, or the `ref` element): present while the popover is open.";
|
|
16
|
+
readonly 'data-popup-side': "On the element the panel is anchored to: the panel's `data-side` while it is placed, so a theme can flatten the corner the panel attaches to.";
|
|
17
|
+
};
|
|
18
|
+
/** The name of a Popover data attribute. */
|
|
19
|
+
export type PopoverDataAttribute = keyof typeof popoverDataAttributes;
|
|
20
|
+
/**
|
|
21
|
+
* The CSS variables a placement writes on the positioned wrapper, inherited by the panel and its
|
|
22
|
+
* content. A floating panel only; an inline panel and the mobile sheet have none.
|
|
23
|
+
*/
|
|
24
|
+
export declare const popoverCssVariables: {
|
|
25
|
+
readonly '--available-width': "The width in px the panel can take before it reaches the viewport edges, minus 20px.";
|
|
26
|
+
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))`.";
|
|
27
|
+
readonly '--anchor-width': "The trigger's width in px, snapped to the device pixel grid.";
|
|
28
|
+
readonly '--anchor-height': "The trigger's height in px, snapped to the device pixel grid.";
|
|
29
|
+
readonly '--transform-origin': "The panel corner facing the trigger, mirrored in right-to-left documents; the point the panel scales from.";
|
|
30
|
+
};
|
|
31
|
+
/** The name of a Popover CSS variable. */
|
|
32
|
+
export type PopoverCssVariable = keyof typeof popoverCssVariables;
|