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
|
@@ -146,8 +146,11 @@ const defaultGroup = cva({
|
|
|
146
146
|
density: 'normal'
|
|
147
147
|
}
|
|
148
148
|
});
|
|
149
|
+
// The label text is its own span and truncates on one line; with pinned actions
|
|
150
|
+
// (`--sidebar-group-actions-width`, published by the group) it stops before them. A static label
|
|
151
|
+
// pads its end; a collapsible one keeps its chevron at the end and spaces the text off the actions.
|
|
149
152
|
const defaultGroupLabel = cva({
|
|
150
|
-
base: 'text-neutral/70 flex shrink-0 items-center rounded-sm font-medium outline-none transition-[height,margin,padding,opacity] duration-normal ease-linear group-data-[collapsible=icon]:opacity-0 disabled:pointer-events-none [
|
|
153
|
+
base: 'text-neutral/70 flex shrink-0 items-center rounded-sm text-start font-medium outline-none [&>span]:min-w-0 [&>span]:flex-1 [&>span]:truncate transition-[height,margin,padding,opacity] duration-normal ease-linear group-data-[collapsible=icon]:opacity-0 disabled:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-[var(--sidebar-icon-size)]',
|
|
151
154
|
variants: {
|
|
152
155
|
interactive: {
|
|
153
156
|
true: 'state-layer hover:text-neutral focus-visible:ring-2 focus-visible:ring-focus/50',
|
|
@@ -162,12 +165,29 @@ const defaultGroupLabel = cva({
|
|
|
162
165
|
compact: 'px-md',
|
|
163
166
|
normal: 'px-lg',
|
|
164
167
|
comfortable: 'px-lg'
|
|
168
|
+
},
|
|
169
|
+
hasActions: {
|
|
170
|
+
true: '',
|
|
171
|
+
false: ''
|
|
165
172
|
}
|
|
166
173
|
},
|
|
174
|
+
compoundVariants: [
|
|
175
|
+
{
|
|
176
|
+
interactive: false,
|
|
177
|
+
hasActions: true,
|
|
178
|
+
class: 'pe-[calc(var(--sidebar-group-actions-width)+var(--space-md))]'
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
interactive: true,
|
|
182
|
+
hasActions: true,
|
|
183
|
+
class: '[&>span]:me-[calc(var(--sidebar-group-actions-width)+var(--space-md))]'
|
|
184
|
+
}
|
|
185
|
+
],
|
|
167
186
|
defaultVariants: {
|
|
168
187
|
interactive: false,
|
|
169
188
|
size: 'normal',
|
|
170
|
-
density: 'normal'
|
|
189
|
+
density: 'normal',
|
|
190
|
+
hasActions: false
|
|
171
191
|
}
|
|
172
192
|
});
|
|
173
193
|
// The wrapper is placement only: a row of action slots pinned to the label's midline. Each
|
|
@@ -182,10 +202,12 @@ const defaultGroupAction = cva({
|
|
|
182
202
|
normal: 'top-[calc(var(--sidebar-group-padding)+var(--control-height-md)/2)] -translate-y-1/2',
|
|
183
203
|
large: 'top-[calc(var(--sidebar-group-padding)+var(--control-height-lg)/2)] -translate-y-1/2'
|
|
184
204
|
},
|
|
205
|
+
// Just inside the label's end. Beside a collapsible label's chevron: the group padding,
|
|
206
|
+
// the label padding, the chevron and a gap, so the two never touch at any icon size.
|
|
185
207
|
density: {
|
|
186
|
-
compact: '
|
|
187
|
-
normal: '
|
|
188
|
-
comfortable: '
|
|
208
|
+
compact: 'end-2.5',
|
|
209
|
+
normal: 'end-3',
|
|
210
|
+
comfortable: 'end-4'
|
|
189
211
|
},
|
|
190
212
|
hasToggle: {
|
|
191
213
|
true: '',
|
|
@@ -193,9 +215,16 @@ const defaultGroupAction = cva({
|
|
|
193
215
|
}
|
|
194
216
|
},
|
|
195
217
|
compoundVariants: [
|
|
196
|
-
{
|
|
197
|
-
|
|
198
|
-
|
|
218
|
+
{
|
|
219
|
+
density: 'compact',
|
|
220
|
+
hasToggle: true,
|
|
221
|
+
class: 'end-[calc(var(--sidebar-group-padding)+var(--space-md)+var(--sidebar-icon-size)+var(--space-xs))]'
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
density: ['normal', 'comfortable'],
|
|
225
|
+
hasToggle: true,
|
|
226
|
+
class: 'end-[calc(var(--sidebar-group-padding)+var(--space-lg)+var(--sidebar-icon-size)+var(--space-xs))]'
|
|
227
|
+
}
|
|
199
228
|
],
|
|
200
229
|
defaultVariants: {
|
|
201
230
|
size: 'normal',
|
|
@@ -216,8 +245,20 @@ const defaultMenu = cva({
|
|
|
216
245
|
density: 'normal'
|
|
217
246
|
}
|
|
218
247
|
});
|
|
248
|
+
// Room at a row's end for its pinned action (`menuAction` / `subAction`), so the label and any
|
|
249
|
+
// in-flow trailing part (badge, chevron) stop before the action's box. `action` reserves it
|
|
250
|
+
// always. `actionBelowMd` is for a row whose last trailing part is its badge: from `md` up the
|
|
251
|
+
// badge holds the end column and the action takes its place while it shows, so the room is only
|
|
252
|
+
// needed below `md`, where the action is always visible and the badge sits before it.
|
|
253
|
+
const rowEndReserveKeys = { none: '', action: '', actionBelowMd: '' };
|
|
254
|
+
const rowEndReserve = [
|
|
255
|
+
{ endReserve: 'action', size: ['small', 'normal'], class: 'pe-layout-lg' },
|
|
256
|
+
{ endReserve: 'action', size: 'large', class: 'pe-[calc(var(--spacing)*10)]' },
|
|
257
|
+
{ endReserve: 'actionBelowMd', size: ['small', 'normal'], class: 'max-md:pe-layout-lg' },
|
|
258
|
+
{ endReserve: 'actionBelowMd', size: 'large', class: 'max-md:pe-[calc(var(--spacing)*10)]' }
|
|
259
|
+
];
|
|
219
260
|
const defaultMenuButton = cva({
|
|
220
|
-
base: 'state-layer peer/menu-button group/menu-button flex w-full items-center overflow-hidden rounded-sm text-
|
|
261
|
+
base: 'state-layer peer/menu-button group/menu-button flex w-full items-center overflow-hidden rounded-sm text-start outline-none transition-[background,color,width,height,padding,margin,border-radius] duration-normal ease-linear hover:text-neutral focus-visible:ring-2 focus-visible:ring-focus/50 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:font-medium group-data-[collapsible=icon]:mx-[calc((var(--sidebar-width-icon)-var(--sidebar-icon-button-width))/2-var(--sidebar-group-padding))] group-data-[collapsible=icon]:w-[var(--sidebar-icon-button-width)] group-data-[collapsible=icon]:rounded-none group-data-[variant=admin]:group-data-[collapsible=icon]:rounded-sm group-data-[variant=framed]:group-data-[collapsible=icon]:rounded-sm group-data-[variant=inset]:group-data-[collapsible=icon]:rounded-sm group-data-[collapsible=icon]:![padding-inline:calc((var(--sidebar-icon-button-width)-var(--sidebar-icon-size))/2)] group-data-[collapsible=icon]:ring-inset [&_svg]:shrink-0 [&_svg]:size-[var(--sidebar-icon-size)]',
|
|
221
262
|
variants: {
|
|
222
263
|
activeVariant: activeVariants,
|
|
223
264
|
variant: {
|
|
@@ -239,9 +280,11 @@ const defaultMenuButton = cva({
|
|
|
239
280
|
small: 'text-xs',
|
|
240
281
|
normal: '',
|
|
241
282
|
large: ''
|
|
242
|
-
}
|
|
283
|
+
},
|
|
284
|
+
endReserve: rowEndReserveKeys
|
|
243
285
|
},
|
|
244
286
|
compoundVariants: [
|
|
287
|
+
...rowEndReserve,
|
|
245
288
|
{ size: 'small', itemSize: 'small', class: 'h-control-sm' },
|
|
246
289
|
{ size: 'small', itemSize: 'normal', class: 'h-control-md' },
|
|
247
290
|
{ size: 'small', itemSize: 'large', class: 'h-row-lg' },
|
|
@@ -257,7 +300,8 @@ const defaultMenuButton = cva({
|
|
|
257
300
|
variant: 'default',
|
|
258
301
|
size: 'normal',
|
|
259
302
|
density: 'normal',
|
|
260
|
-
itemSize: 'normal'
|
|
303
|
+
itemSize: 'normal',
|
|
304
|
+
endReserve: 'none'
|
|
261
305
|
}
|
|
262
306
|
});
|
|
263
307
|
const defaultMenuLabel = cva({
|
|
@@ -277,7 +321,7 @@ const defaultMenuSecondary = cva({
|
|
|
277
321
|
}
|
|
278
322
|
});
|
|
279
323
|
const defaultMenuTrailing = cva({
|
|
280
|
-
base: '
|
|
324
|
+
base: 'ms-auto shrink-0 opacity-100 transition-[opacity,transform] duration-normal ease-standard group-data-[collapsible=icon]:pointer-events-none group-data-[collapsible=icon]:translate-x-1 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-[var(--sidebar-icon-size)]',
|
|
281
325
|
variants: {
|
|
282
326
|
size: {
|
|
283
327
|
small: '',
|
|
@@ -289,13 +333,15 @@ const defaultMenuTrailing = cva({
|
|
|
289
333
|
size: 'normal'
|
|
290
334
|
}
|
|
291
335
|
});
|
|
336
|
+
// Only the start side is indented: a submenu row runs to its parent row's end edge, so badges
|
|
337
|
+
// and actions of every level share one end column. The guide line sits on the start edge.
|
|
292
338
|
const defaultSubMenu = cva({
|
|
293
|
-
base: 'border-neutral-muted flex min-w-0
|
|
339
|
+
base: 'border-neutral-muted flex min-w-0 flex-col border-s',
|
|
294
340
|
variants: {
|
|
295
341
|
density: {
|
|
296
|
-
compact: '
|
|
297
|
-
normal: '
|
|
298
|
-
comfortable: '
|
|
342
|
+
compact: 'ms-md gap-micro py-micro ps-md',
|
|
343
|
+
normal: 'ms-lg gap-xs py-micro ps-md',
|
|
344
|
+
comfortable: 'ms-xl gap-sm py-xs ps-lg'
|
|
299
345
|
}
|
|
300
346
|
},
|
|
301
347
|
defaultVariants: {
|
|
@@ -303,12 +349,12 @@ const defaultSubMenu = cva({
|
|
|
303
349
|
}
|
|
304
350
|
});
|
|
305
351
|
const defaultTreeSubMenu = cva({
|
|
306
|
-
base: 'border-neutral-muted
|
|
352
|
+
base: 'border-neutral-muted flex min-w-0 flex-col border-s',
|
|
307
353
|
variants: {
|
|
308
354
|
density: {
|
|
309
|
-
compact: '
|
|
310
|
-
normal: '
|
|
311
|
-
comfortable: '
|
|
355
|
+
compact: 'ms-sm gap-micro py-micro ps-sm',
|
|
356
|
+
normal: 'ms-md gap-xs py-micro ps-md',
|
|
357
|
+
comfortable: 'ms-md gap-sm py-xs ps-md'
|
|
312
358
|
}
|
|
313
359
|
},
|
|
314
360
|
defaultVariants: {
|
|
@@ -316,7 +362,7 @@ const defaultTreeSubMenu = cva({
|
|
|
316
362
|
}
|
|
317
363
|
});
|
|
318
364
|
const defaultSubButton = cva({
|
|
319
|
-
base: 'state-layer text-neutral/70 hover:text-neutral flex min-w-0
|
|
365
|
+
base: 'state-layer text-neutral/70 hover:text-neutral flex w-full min-w-0 items-center overflow-hidden rounded-sm outline-none transition-[background,color,height,padding] duration-normal ease-linear focus-visible:ring-2 focus-visible:ring-focus/50 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>[data-slot=sidebar-menu-sub-label]]:min-w-0 [&>[data-slot=sidebar-menu-sub-label]]:truncate [&>svg]:shrink-0 [&>svg]:size-[var(--sidebar-icon-size)]',
|
|
320
366
|
variants: {
|
|
321
367
|
activeVariant: activeVariants,
|
|
322
368
|
size: {
|
|
@@ -324,44 +370,50 @@ const defaultSubButton = cva({
|
|
|
324
370
|
normal: 'h-control-sm text-sm leading-5',
|
|
325
371
|
large: 'h-control-md text-base leading-6'
|
|
326
372
|
},
|
|
373
|
+
// The start padding indents the sub row's content; the end padding matches a top-level
|
|
374
|
+
// row's (`menuButton`), so badges and chevrons of every level end on one column.
|
|
327
375
|
density: {
|
|
328
|
-
compact: 'gap-sm
|
|
329
|
-
normal: 'gap-md
|
|
330
|
-
comfortable: 'gap-md
|
|
376
|
+
compact: 'gap-sm ps-md pe-sm',
|
|
377
|
+
normal: 'gap-md ps-lg pe-md',
|
|
378
|
+
comfortable: 'gap-md ps-lg pe-md'
|
|
331
379
|
},
|
|
332
380
|
itemSize: {
|
|
333
381
|
small: 'text-xs',
|
|
334
382
|
normal: '',
|
|
335
383
|
large: ''
|
|
336
384
|
},
|
|
337
|
-
// Room at the row's end for a pinned action
|
|
338
|
-
//
|
|
339
|
-
|
|
340
|
-
true: 'pr-layout-lg',
|
|
341
|
-
false: ''
|
|
342
|
-
}
|
|
385
|
+
// Room at the row's end for a pinned action, as on a top-level row. `none` adds nothing: a
|
|
386
|
+
// plain row keeps its exact classes.
|
|
387
|
+
endReserve: rowEndReserveKeys
|
|
343
388
|
},
|
|
389
|
+
compoundVariants: [...rowEndReserve],
|
|
344
390
|
defaultVariants: {
|
|
345
391
|
activeVariant: 'soft',
|
|
346
392
|
size: 'normal',
|
|
347
393
|
density: 'normal',
|
|
348
394
|
itemSize: 'normal',
|
|
349
|
-
|
|
395
|
+
endReserve: 'none'
|
|
350
396
|
}
|
|
351
397
|
});
|
|
398
|
+
// A row's pinned action is a real small icon button: one box per Sidebar `size`, shared by menu
|
|
399
|
+
// and submenu rows so every level's action sits in the same end column. The box leaves the
|
|
400
|
+
// row's own height around it (32/36/40 rows, 24/28/32 submenu rows) and holds the dots at the
|
|
401
|
+
// sidebar icon size. `end-*` keeps it on the row's end edge in either direction.
|
|
402
|
+
const rowActionSize = {
|
|
403
|
+
small: 'size-5',
|
|
404
|
+
normal: 'size-6',
|
|
405
|
+
large: 'size-7'
|
|
406
|
+
};
|
|
407
|
+
const rowTrailingEnd = {
|
|
408
|
+
compact: 'end-0.5',
|
|
409
|
+
normal: 'end-1',
|
|
410
|
+
comfortable: 'end-1.5'
|
|
411
|
+
};
|
|
352
412
|
const defaultMenuAction = cva({
|
|
353
413
|
base: 'state-layer text-neutral hover:text-neutral peer-hover/menu-button:text-neutral absolute top-1/2 flex aspect-square -translate-y-1/2 items-center justify-center rounded-sm p-0 opacity-100 outline-none transition group-data-[collapsible=icon]:hidden focus-visible:ring-2 focus-visible:ring-focus/50 md:opacity-0 group-focus-within/menu-row:opacity-100 group-hover/menu-row:opacity-100 has-[[aria-expanded=true]]:opacity-100 [&>svg]:shrink-0 [&>svg]:size-[var(--sidebar-icon-size)]',
|
|
354
414
|
variants: {
|
|
355
|
-
size:
|
|
356
|
-
|
|
357
|
-
normal: 'size-5',
|
|
358
|
-
large: 'size-6'
|
|
359
|
-
},
|
|
360
|
-
density: {
|
|
361
|
-
compact: 'right-0.5',
|
|
362
|
-
normal: 'right-1',
|
|
363
|
-
comfortable: 'right-1.5'
|
|
364
|
-
}
|
|
415
|
+
size: rowActionSize,
|
|
416
|
+
density: rowTrailingEnd
|
|
365
417
|
},
|
|
366
418
|
defaultVariants: {
|
|
367
419
|
size: 'normal',
|
|
@@ -369,21 +421,13 @@ const defaultMenuAction = cva({
|
|
|
369
421
|
}
|
|
370
422
|
});
|
|
371
423
|
// A submenu row's pinned action: the `menuAction` recipe keyed to the sub row's own
|
|
372
|
-
// `group/menu-sub-item`,
|
|
373
|
-
// hovered or focused from `md` up, kept while its menu is open, always shown below `md`.
|
|
424
|
+
// `group/menu-sub-item`, at the same box so it lines up with its parent's action. Hidden until the
|
|
425
|
+
// row is hovered or focused from `md` up, kept while its menu is open, always shown below `md`.
|
|
374
426
|
const defaultSubAction = cva({
|
|
375
427
|
base: 'state-layer text-neutral hover:text-neutral absolute top-1/2 flex aspect-square -translate-y-1/2 items-center justify-center rounded-sm p-0 opacity-100 outline-none transition group-data-[collapsible=icon]:hidden focus-visible:ring-2 focus-visible:ring-focus/50 md:opacity-0 group-focus-within/menu-sub-item:opacity-100 group-hover/menu-sub-item:opacity-100 has-[[aria-expanded=true]]:opacity-100 [&>svg]:shrink-0 [&>svg]:size-[var(--sidebar-icon-size)]',
|
|
376
428
|
variants: {
|
|
377
|
-
size:
|
|
378
|
-
|
|
379
|
-
normal: 'size-4.5',
|
|
380
|
-
large: 'size-5'
|
|
381
|
-
},
|
|
382
|
-
density: {
|
|
383
|
-
compact: 'right-0.5',
|
|
384
|
-
normal: 'right-1',
|
|
385
|
-
comfortable: 'right-1.5'
|
|
386
|
-
}
|
|
429
|
+
size: rowActionSize,
|
|
430
|
+
density: rowTrailingEnd
|
|
387
431
|
},
|
|
388
432
|
defaultVariants: {
|
|
389
433
|
size: 'normal',
|
|
@@ -456,23 +500,30 @@ const defaultActionTrigger = cva({
|
|
|
456
500
|
size: 'normal'
|
|
457
501
|
}
|
|
458
502
|
});
|
|
503
|
+
// A badge is the row's last in-flow trailing part before any chevron, so the label truncates
|
|
504
|
+
// before it whatever its width. It shares the row's end column with the row's pinned action and
|
|
505
|
+
// the two never overlap: from `md` up the action only shows while the row is hovered, focused or
|
|
506
|
+
// has its menu open, and the badge steps aside for exactly that time (its box is at least the
|
|
507
|
+
// action's, so the action covers only its place). Below `md` the action is always shown and the
|
|
508
|
+
// row reserves its box (`endReserve`), so the badge sits just before it.
|
|
459
509
|
const defaultBadge = cva({
|
|
460
|
-
base: 'text-neutral/70
|
|
510
|
+
base: 'text-neutral/70 [:hover>&]:text-current [[data-active]>&]:text-current pointer-events-none ms-auto flex shrink-0 items-center justify-center rounded-sm px-xs font-medium tabular-nums transition-opacity select-none group-data-[collapsible=icon]:hidden',
|
|
461
511
|
variants: {
|
|
462
512
|
size: {
|
|
463
|
-
small: 'h-4 min-w-
|
|
464
|
-
normal: 'h-5 min-w-
|
|
465
|
-
large: 'h-6 min-w-
|
|
513
|
+
small: 'h-4 min-w-5 text-xs',
|
|
514
|
+
normal: 'h-5 min-w-6 text-sm',
|
|
515
|
+
large: 'h-6 min-w-7 text-sm'
|
|
466
516
|
},
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
517
|
+
// Which row's action the badge makes way for; `none` when the row pins no action.
|
|
518
|
+
action: {
|
|
519
|
+
none: '',
|
|
520
|
+
row: 'md:group-focus-within/menu-row:opacity-0 md:group-hover/menu-row:opacity-0 md:group-has-[[data-sidebar=menu-action]_[aria-expanded=true]]/menu-row:opacity-0',
|
|
521
|
+
sub: 'md:group-focus-within/menu-sub-item:opacity-0 md:group-hover/menu-sub-item:opacity-0 md:group-has-[[data-sidebar=menu-sub-action]_[aria-expanded=true]]/menu-sub-item:opacity-0'
|
|
471
522
|
}
|
|
472
523
|
},
|
|
473
524
|
defaultVariants: {
|
|
474
525
|
size: 'normal',
|
|
475
|
-
|
|
526
|
+
action: 'none'
|
|
476
527
|
}
|
|
477
528
|
});
|
|
478
529
|
const defaultSearchContainer = cva({
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { untrack } from 'svelte';
|
|
2
2
|
import { easingFunctions } from '../../transitions/easingFunctions.js';
|
|
3
3
|
import { createPointerDrag } from '../../utils/pointerDrag.js';
|
|
4
|
+
import { createVelocityTracker } from '../../utils/swipeVelocity.js';
|
|
4
5
|
import { createBindableValue } from '../../utils/state.svelte.js';
|
|
5
6
|
/** The header and footer props a view can set; together they are the panel's chrome. */
|
|
6
7
|
const chromeProps = [
|
|
@@ -215,17 +216,15 @@ export class SidebarViewsState {
|
|
|
215
216
|
this.rtl = getComputedStyle(node).direction === 'rtl';
|
|
216
217
|
let candidate = false;
|
|
217
218
|
let sign = 1;
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
const release = (cancelled, timeStamp) => {
|
|
219
|
+
// Release speed over a short window, shared with drawers and toasts.
|
|
220
|
+
const tracker = createVelocityTracker();
|
|
221
|
+
const release = (cancelled, event) => {
|
|
222
222
|
candidate = false;
|
|
223
223
|
const swipe = this.swipe;
|
|
224
224
|
if (swipe?.phase !== 'drag')
|
|
225
225
|
return;
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
velocity = 0;
|
|
226
|
+
tracker.add(event.clientX, event.timeStamp);
|
|
227
|
+
const velocity = tracker.velocity(event.timeStamp) * sign;
|
|
229
228
|
const commit = !cancelled && (velocity > 0.4 || (swipe.offset > swipe.width * 0.35 && velocity > -0.2));
|
|
230
229
|
swipe.phase = commit ? 'commit' : 'cancel';
|
|
231
230
|
if (commit)
|
|
@@ -239,9 +238,8 @@ export class SidebarViewsState {
|
|
|
239
238
|
candidate = true;
|
|
240
239
|
this.rtl = getComputedStyle(node).direction === 'rtl';
|
|
241
240
|
sign = this.rtl ? -1 : 1;
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
velocity = 0;
|
|
241
|
+
tracker.reset();
|
|
242
|
+
tracker.add(event.clientX, event.timeStamp);
|
|
245
243
|
},
|
|
246
244
|
// Horizontal toward the inline end, clearly more than vertical: anything else is a scroll.
|
|
247
245
|
shouldActivate: ({ deltaX, deltaY }) => {
|
|
@@ -266,15 +264,10 @@ export class SidebarViewsState {
|
|
|
266
264
|
if (swipe?.phase !== 'drag')
|
|
267
265
|
return;
|
|
268
266
|
swipe.offset = clamp(deltaX * sign, 0, swipe.width);
|
|
269
|
-
|
|
270
|
-
if (elapsed >= 8) {
|
|
271
|
-
velocity = ((event.clientX - lastX) * sign) / elapsed;
|
|
272
|
-
lastX = event.clientX;
|
|
273
|
-
lastTime = event.timeStamp;
|
|
274
|
-
}
|
|
267
|
+
tracker.add(event.clientX, event.timeStamp);
|
|
275
268
|
},
|
|
276
|
-
onEnd: ({ event }) => release(false, event
|
|
277
|
-
onCancel: ({ event }) => release(true, event
|
|
269
|
+
onEnd: ({ event }) => release(false, event),
|
|
270
|
+
onCancel: ({ event }) => release(true, event)
|
|
278
271
|
})(node);
|
|
279
272
|
};
|
|
280
273
|
}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
panelAriaLabelledby,
|
|
26
26
|
panelAriaLabel,
|
|
27
27
|
panelId,
|
|
28
|
+
panelActivationDirection,
|
|
28
29
|
mount = 'eager'
|
|
29
30
|
}: StepperProps<Item> = $props();
|
|
30
31
|
const valueState = createBindableValue(
|
|
@@ -167,6 +168,7 @@ container.style.height = firstSlide.clientHeight + 'px';
|
|
|
167
168
|
id={panelId?.(index)}
|
|
168
169
|
data-step-active={isActiveStep ? 'true' : undefined}
|
|
169
170
|
data-step={index}
|
|
171
|
+
data-activation-direction={panelActivationDirection?.(index)}
|
|
170
172
|
tabindex={panelTabindex}
|
|
171
173
|
hidden={!isActiveStep && !isLeaving(index)}
|
|
172
174
|
inert={!isActiveStep}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const stepperDescription = "\n# Stepper Component\n\nStepper renders an ordered collection of panels with animated transitions, measured height changes, and programmatic navigation through StepperState.\n\n## Usage\n\nUse items for the collection and a single children snippet for the repeated panel content. The snippet receives the instance handle as api, the current item, and the zero-based index.\n\n<script lang=\"ts\">\n\timport { Stepper, type StepperApi } from '$lib/components/Stepper';\n\timport { Button } from '$lib/components/Button';\n\n\ttype Step = {\n\t\ttitle: string;\n\t\tdescription: string;\n\t};\n\n\tlet activeStep = $state(0);\n\tlet api = $state<StepperApi<Step>>();\n\n\tconst items: Step[] = [\n\t\t{ title: 'Account', description: 'Create the account.' },\n\t\t{ title: 'Profile', description: 'Complete the profile.' },\n\t\t{ title: 'Review', description: 'Confirm the details.' }\n\t];\n</script>\n\n<Stepper {items} bind:value={activeStep} bind:api>\n\t{#snippet children({ api, item, index })}\n\t\t<section class=\"space-y-4 p-6\">\n\t\t\t<h2>{item.title}</h2>\n\t\t\t<p>{item.description}</p>\n\t\t\t<div class=\"flex gap-2\">\n\t\t\t\t<Button disabled={index === 0} onclick={() => api.previous()}>\n\t\t\t\t\tPrevious\n\t\t\t\t</Button>\n\t\t\t\t<Button disabled={index === items.length - 1} onclick={() => api.next()}>\n\t\t\t\t\tNext\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</section>\n\t{/snippet}\n</Stepper>\n\n## Props\n\n- items: required array of step data. Each item is passed to children as item.\n- children: repeated snippet called for each panel with { api, item, index }.\n- value: bindable zero-based active index. Use this as the public source of truth when syncing steppers.\n- defaultValue: initial active index when value is omitted.\n- api: bindable StepperApi (a StepperState) for next(), previous(), and goTo(index).\n- onValueChange: called once with { value, item, index } when the active step changes. Same payload shape as Tabs; value and index are both the zero-based step index.\n- transition: step translation timing override (`duration` in ms, `easing`); responsive, and it beats the `motion` theme slot. The default is the `slow` duration token (300ms).\n- theme: theme overrides for the stepper parts, including its `motion` slot.\n- mode: classic or vertical.\n- panelRole: \"tabpanel\", \"group\", or null. Defaults to \"tabpanel\"; use \"group\" for labelled question flows.\n- panelAriaLabelledby: aria-labelledby value, callback, or false. Defaults to stepper-{index} when panelRole is \"tabpanel\".\n- panelAriaLabel: aria-label value or callback for each panel.\n- panelId: (index) => string giving each panel a DOM id so a tab can reference it with aria-controls. Tabs uses it to link Tabbar tabs to their panels.\n- mount: when a step's content is created \u2014 `eager` (default) for every step up front, `lazy` on first activation and destroyed once the slide away from it finishes, `once` on first activation and kept. Inactive panels are `inert` and `aria-hidden` at once and `hidden` as soon as the slide settles, so at rest exactly one panel is not `hidden`. Tabs forwards its own `mount`, which defaults to `lazy`.\n- class: extra classes applied to the root container.\n\n## StepperApi (StepperState)\n\n- next(): move to the next item when one exists.\n- previous(): move to the previous item when one exists.\n- goTo(index): request a specific zero-based step.\n- syncActiveStep(index): internal synchronization path used by the component when value changes.\n- value: current public active index.\n- items: current item array.\n- stepHeights: measured panel heights used for smooth height transitions.\n\n## Composition Rules\n\n- Render repeated step content through the children snippet.\n- Put per-step differences in the item data and branch inside children when needed.\n- Bind value when the parent or another Stepper controls the current step.\n- Bind api when external controls need to call next(), previous(), or goTo(index).\n\n## Accessibility\n\nStepper renders each panel with role=\"tabpanel\" by default, marks inactive panels inert and `aria-hidden` (and `hidden` once the slide settles), disables pointer events on inactive panels, and keeps inactive panels out of the tab order, so only the active panel reaches the text and accessibility layers. Use `panelRole={null}` with `panelAriaLabelledby={false}` when another primitive owns the semantics inside each panel.\n\n## Theme Parts\n\n- root: outer stepper container.\n- container: animated grid that holds all panels.\n- step: individual panel.\n\nThe theme supports the mode variant on root, container, and step.\n\n## Motion\n\n- **motion** theme slot: one preset (no variants) whose `duration` / `easing` drive the Web\n Animations step translation and the matching CSS height/opacity transitions.\n- Ladder: `<Theme components={{ stepper: { motion } }}>` \u2192 `setStepperTheme({ motion })` \u2192\n `theme.motion` \u2192 the `transition` prop (how Tabs forwards its own preset).\n- A resolved duration of 0 (reduced motion, or `duration: 'instant'`) snaps between steps.\n";
|
|
1
|
+
export declare const stepperDescription = "\n# Stepper Component\n\nStepper renders an ordered collection of panels with animated transitions, measured height changes, and programmatic navigation through StepperState.\n\n## Usage\n\nUse items for the collection and a single children snippet for the repeated panel content. The snippet receives the instance handle as api, the current item, and the zero-based index.\n\n<script lang=\"ts\">\n\timport { Stepper, type StepperApi } from '$lib/components/Stepper';\n\timport { Button } from '$lib/components/Button';\n\n\ttype Step = {\n\t\ttitle: string;\n\t\tdescription: string;\n\t};\n\n\tlet activeStep = $state(0);\n\tlet api = $state<StepperApi<Step>>();\n\n\tconst items: Step[] = [\n\t\t{ title: 'Account', description: 'Create the account.' },\n\t\t{ title: 'Profile', description: 'Complete the profile.' },\n\t\t{ title: 'Review', description: 'Confirm the details.' }\n\t];\n</script>\n\n<Stepper {items} bind:value={activeStep} bind:api>\n\t{#snippet children({ api, item, index })}\n\t\t<section class=\"space-y-4 p-6\">\n\t\t\t<h2>{item.title}</h2>\n\t\t\t<p>{item.description}</p>\n\t\t\t<div class=\"flex gap-2\">\n\t\t\t\t<Button disabled={index === 0} onclick={() => api.previous()}>\n\t\t\t\t\tPrevious\n\t\t\t\t</Button>\n\t\t\t\t<Button disabled={index === items.length - 1} onclick={() => api.next()}>\n\t\t\t\t\tNext\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</section>\n\t{/snippet}\n</Stepper>\n\n## Props\n\n- items: required array of step data. Each item is passed to children as item.\n- children: repeated snippet called for each panel with { api, item, index }.\n- value: bindable zero-based active index. Use this as the public source of truth when syncing steppers.\n- defaultValue: initial active index when value is omitted.\n- api: bindable StepperApi (a StepperState) for next(), previous(), and goTo(index).\n- onValueChange: called once with { value, item, index } when the active step changes. Same payload shape as Tabs; value and index are both the zero-based step index.\n- transition: step translation timing override (`duration` in ms, `easing`); responsive, and it beats the `motion` theme slot. The default is the `slow` duration token (300ms).\n- theme: theme overrides for the stepper parts, including its `motion` slot.\n- mode: classic or vertical.\n- panelRole: \"tabpanel\", \"group\", or null. Defaults to \"tabpanel\"; use \"group\" for labelled question flows.\n- panelAriaLabelledby: aria-labelledby value, callback, or false. Defaults to stepper-{index} when panelRole is \"tabpanel\".\n- panelAriaLabel: aria-label value or callback for each panel.\n- panelId: (index) => string giving each panel a DOM id so a tab can reference it with aria-controls. Tabs uses it to link Tabbar tabs to their panels.\n- panelActivationDirection: (index) => string | undefined giving the value of `data-activation-direction` for each panel. Tabs sets it on the active panel with the direction the selection moved.\n- mount: when a step's content is created \u2014 `eager` (default) for every step up front, `lazy` on first activation and destroyed once the slide away from it finishes, `once` on first activation and kept. Inactive panels are `inert` and `aria-hidden` at once and `hidden` as soon as the slide settles, so at rest exactly one panel is not `hidden`. Tabs forwards its own `mount`, which defaults to `lazy`.\n- class: extra classes applied to the root container.\n\n## StepperApi (StepperState)\n\n- next(): move to the next item when one exists.\n- previous(): move to the previous item when one exists.\n- goTo(index): request a specific zero-based step.\n- syncActiveStep(index): internal synchronization path used by the component when value changes.\n- value: current public active index.\n- items: current item array.\n- stepHeights: measured panel heights used for smooth height transitions.\n\n## Composition Rules\n\n- Render repeated step content through the children snippet.\n- Put per-step differences in the item data and branch inside children when needed.\n- Bind value when the parent or another Stepper controls the current step.\n- Bind api when external controls need to call next(), previous(), or goTo(index).\n\n## Accessibility\n\nStepper renders each panel with role=\"tabpanel\" by default, marks inactive panels inert and `aria-hidden` (and `hidden` once the slide settles), disables pointer events on inactive panels, and keeps inactive panels out of the tab order, so only the active panel reaches the text and accessibility layers. Use `panelRole={null}` with `panelAriaLabelledby={false}` when another primitive owns the semantics inside each panel.\n\n## Theme Parts\n\n- root: outer stepper container.\n- container: animated grid that holds all panels.\n- step: individual panel.\n\nThe theme supports the mode variant on root, container, and step.\n\n## Motion\n\n- **motion** theme slot: one preset (no variants) whose `duration` / `easing` drive the Web\n Animations step translation and the matching CSS height/opacity transitions.\n- Ladder: `<Theme components={{ stepper: { motion } }}>` \u2192 `setStepperTheme({ motion })` \u2192\n `theme.motion` \u2192 the `transition` prop (how Tabs forwards its own preset).\n- A resolved duration of 0 (reduced motion, or `duration: 'instant'`) snaps between steps.\n";
|
|
@@ -58,6 +58,7 @@ Use items for the collection and a single children snippet for the repeated pane
|
|
|
58
58
|
- panelAriaLabelledby: aria-labelledby value, callback, or false. Defaults to stepper-{index} when panelRole is "tabpanel".
|
|
59
59
|
- panelAriaLabel: aria-label value or callback for each panel.
|
|
60
60
|
- panelId: (index) => string giving each panel a DOM id so a tab can reference it with aria-controls. Tabs uses it to link Tabbar tabs to their panels.
|
|
61
|
+
- panelActivationDirection: (index) => string | undefined giving the value of \`data-activation-direction\` for each panel. Tabs sets it on the active panel with the direction the selection moved.
|
|
61
62
|
- mount: when a step's content is created — \`eager\` (default) for every step up front, \`lazy\` on first activation and destroyed once the slide away from it finishes, \`once\` on first activation and kept. Inactive panels are \`inert\` and \`aria-hidden\` at once and \`hidden\` as soon as the slide settles, so at rest exactly one panel is not \`hidden\`. Tabs forwards its own \`mount\`, which defaults to \`lazy\`.
|
|
62
63
|
- class: extra classes applied to the root container.
|
|
63
64
|
|
|
@@ -77,6 +77,11 @@ export type StepperProps<Item> = {
|
|
|
77
77
|
panelAriaLabel?: StepperPanelAriaLabel<Item>;
|
|
78
78
|
/** DOM id for each panel, so a tab can reference it with `aria-controls`. */
|
|
79
79
|
panelId?: (index: number) => string;
|
|
80
|
+
/**
|
|
81
|
+
* Value of `data-activation-direction` for one panel, or undefined for none; a styling hook
|
|
82
|
+
* for direction-aware panel animations. Tabs sets it on the active panel.
|
|
83
|
+
*/
|
|
84
|
+
panelActivationDirection?: (index: number) => string | undefined;
|
|
80
85
|
/**
|
|
81
86
|
* When each panel's content is created.
|
|
82
87
|
* `eager` creates every panel up front, `lazy` creates a panel the first time it is
|
|
@@ -56,6 +56,8 @@ export declare class StepperState<Item> extends StepperState_base {
|
|
|
56
56
|
canGoToStep: (targetStep: number) => boolean;
|
|
57
57
|
private translateToStep;
|
|
58
58
|
private lockTransformToStep;
|
|
59
|
+
private collapseTrack;
|
|
60
|
+
private clearStep;
|
|
59
61
|
private cancelAnimations;
|
|
60
62
|
private cancelStepAnimation;
|
|
61
63
|
private freezeCurrentTransform;
|
|
@@ -79,7 +79,10 @@ export class StepperState extends createBindableStateClass() {
|
|
|
79
79
|
this.notifyChange(step);
|
|
80
80
|
};
|
|
81
81
|
syncActiveStep(step) {
|
|
82
|
-
|
|
82
|
+
// A value outside the items shows no step, not the one the track last rested on.
|
|
83
|
+
if (!this.canGoToStep(step))
|
|
84
|
+
return this.clearStep();
|
|
85
|
+
if (this.targetStep === step)
|
|
83
86
|
return;
|
|
84
87
|
this.translateToStep(step);
|
|
85
88
|
}
|
|
@@ -130,9 +133,9 @@ export class StepperState extends createBindableStateClass() {
|
|
|
130
133
|
};
|
|
131
134
|
translateToStep(step) {
|
|
132
135
|
const offset = this.offsets[step];
|
|
133
|
-
if (!this.stepContainer || offset == null || Number.isNaN(offset)) {
|
|
134
|
-
// Nothing can slide before the track is measured,
|
|
135
|
-
// step is the requested one,
|
|
136
|
+
if (!this.stepContainer || offset == null || Number.isNaN(offset) || this.visualStep < 0) {
|
|
137
|
+
// Nothing can slide before the track is measured, or when no step is shown, so no panel
|
|
138
|
+
// is leaving: the shown step is the requested one, at rest.
|
|
136
139
|
this.targetStep = step;
|
|
137
140
|
this.visualStep = step;
|
|
138
141
|
return;
|
|
@@ -184,18 +187,34 @@ export class StepperState extends createBindableStateClass() {
|
|
|
184
187
|
if (!this.stepContainer || offset == null || Number.isNaN(offset))
|
|
185
188
|
return;
|
|
186
189
|
this.destinationOffset = offset;
|
|
187
|
-
|
|
188
|
-
// to the DOM in the same frame the slide settles so the panel never moves twice.
|
|
189
|
-
this.stepContainer.style.transform = 'translateX(0px)';
|
|
190
|
-
this.stepContainer.style.width = '100%';
|
|
191
|
-
this.stepContainer.style.gridTemplateColumns = 'repeat(1, minmax(0, 1fr))';
|
|
192
|
-
this.getSteps().forEach((node) => {
|
|
193
|
-
node.style.gridColumn = '1';
|
|
194
|
-
});
|
|
190
|
+
this.collapseTrack();
|
|
195
191
|
this.targetStep = step;
|
|
196
192
|
this.visualStep = step;
|
|
193
|
+
}
|
|
194
|
+
// At rest the track collapses to one viewport with the shown panel in column one, written to
|
|
195
|
+
// the DOM in the same frame the slide settles so the panel never moves twice.
|
|
196
|
+
collapseTrack() {
|
|
197
|
+
if (this.stepContainer) {
|
|
198
|
+
this.stepContainer.style.transform = 'translateX(0px)';
|
|
199
|
+
this.stepContainer.style.width = '100%';
|
|
200
|
+
this.stepContainer.style.gridTemplateColumns = 'repeat(1, minmax(0, 1fr))';
|
|
201
|
+
this.getSteps().forEach((node) => {
|
|
202
|
+
node.style.gridColumn = '1';
|
|
203
|
+
});
|
|
204
|
+
}
|
|
197
205
|
this.expanded = false;
|
|
198
206
|
}
|
|
207
|
+
// Every panel is hidden and the root drops the last height, so the next step appears in place
|
|
208
|
+
// instead of sliding in from a panel that is no longer shown.
|
|
209
|
+
clearStep() {
|
|
210
|
+
if (this.visualStep < 0 && this.targetStep === undefined)
|
|
211
|
+
return;
|
|
212
|
+
this.cancelAnimations();
|
|
213
|
+
this.collapseTrack();
|
|
214
|
+
this.targetStep = undefined;
|
|
215
|
+
this.visualStep = -1;
|
|
216
|
+
this.lastActiveHeight = undefined;
|
|
217
|
+
}
|
|
199
218
|
cancelAnimations() {
|
|
200
219
|
this.animationRunId += 1;
|
|
201
220
|
this.cancelStepAnimation();
|