entasis 0.10.2 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/attachments/disclosurePanel.svelte.d.ts +84 -0
- package/dist/attachments/disclosurePanel.svelte.js +277 -0
- package/dist/attachments/portal.d.ts +17 -1
- package/dist/attachments/portal.js +39 -2
- package/dist/attachments/spinnerOverlay.svelte.js +12 -0
- package/dist/attachments/transitionSize.d.ts +6 -0
- package/dist/attachments/transitionSize.js +30 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestion.svelte +131 -17
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFileStep.svelte +26 -6
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFileStep.svelte.d.ts +6 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFooter.svelte +27 -53
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFooter.svelte.d.ts +3 -4
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionHeader.svelte +19 -16
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionStep.svelte +180 -21
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionStep.svelte.d.ts +9 -1
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionSummary.svelte +56 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionSummary.svelte.d.ts +4 -0
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.mcp.d.ts +1 -1
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.mcp.js +26 -8
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.props.d.ts +62 -5
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.d.ts +42 -0
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.js +53 -12
- package/dist/components/AIAskUserQuestion/aiAskUserQuestionAnswers.d.ts +17 -1
- package/dist/components/AIAskUserQuestion/aiAskUserQuestionAnswers.js +56 -8
- package/dist/components/AIAskUserQuestion/index.d.ts +3 -1
- package/dist/components/AIAskUserQuestion/index.js +2 -0
- package/dist/components/AIAskUserQuestion/schemas.d.ts +44 -0
- package/dist/components/AIAskUserQuestion/schemas.js +10 -3
- package/dist/components/AIChat/AIChat.svelte +10 -0
- package/dist/components/AIChat/AIChat.svelte.d.ts +2 -2
- package/dist/components/AIChat/AIChatComposerSurface.svelte +23 -5
- package/dist/components/AIChat/AIChatComposerSurface.svelte.d.ts +5 -0
- package/dist/components/AIChat/AIChatSkeleton.svelte +29 -37
- package/dist/components/AIChat/AIChatSurface.svelte +30 -2
- package/dist/components/AIChat/AIChatSurface.svelte.d.ts +1 -1
- package/dist/components/AIChat/AIChatThreadSurface.svelte +11 -1
- package/dist/components/AIChat/AIChatThreadSurface.svelte.d.ts +3 -1
- package/dist/components/AIChat/aiChat.mcp.d.ts +1 -1
- package/dist/components/AIChat/aiChat.mcp.js +31 -15
- package/dist/components/AIChat/aiChat.props.d.ts +36 -10
- package/dist/components/AIChat/aiChat.theme.d.ts +9 -0
- package/dist/components/AIChat/aiChat.theme.js +21 -4
- package/dist/components/AIChat/aiChatSkeleton.props.d.ts +5 -0
- package/dist/components/AIChat/index.d.ts +1 -1
- package/dist/components/AIComposer/AIComposer.svelte +102 -5
- package/dist/components/AIComposer/AIComposer.svelte.d.ts +1 -0
- package/dist/components/AIComposer/AIComposerFooter.svelte +54 -12
- package/dist/components/AIComposer/AIComposerFooter.svelte.d.ts +2 -0
- package/dist/components/AIComposer/AIComposerQueue.svelte +8 -3
- package/dist/components/AIComposer/aiComposer.editor.theme.js +13 -2
- package/dist/components/AIComposer/aiComposer.mcp.d.ts +1 -1
- package/dist/components/AIComposer/aiComposer.mcp.js +15 -7
- package/dist/components/AIComposer/aiComposer.props.d.ts +27 -7
- package/dist/components/AIComposer/aiComposer.theme.d.ts +42 -3
- package/dist/components/AIComposer/aiComposer.theme.js +37 -5
- package/dist/components/AIComposer/aiComposerFileController.svelte.d.ts +20 -0
- package/dist/components/AIComposer/aiComposerFileController.svelte.js +75 -9
- package/dist/components/AIComposer/aiComposerSourceAdapter.js +22 -4
- package/dist/components/AIComposer/aiComposerSubmitController.svelte.d.ts +12 -0
- package/dist/components/AIComposer/aiComposerSubmitController.svelte.js +16 -6
- package/dist/components/AIContext/AIContext.svelte +7 -3
- package/dist/components/AIContext/aiContext.mcp.d.ts +1 -1
- package/dist/components/AIContext/aiContext.mcp.js +1 -1
- package/dist/components/AIContext/aiContext.props.d.ts +4 -1
- package/dist/components/AIContext/aiContext.theme.d.ts +3 -0
- package/dist/components/AIContext/aiContext.theme.js +7 -2
- package/dist/components/AIConversation/AIConversation.svelte.d.ts +2 -2
- package/dist/components/AIFilePreview/aiFilePreview.theme.js +1 -1
- package/dist/components/AIMarker/AIMarker.svelte +2 -0
- package/dist/components/AIMarker/aiMarker.mcp.d.ts +1 -1
- package/dist/components/AIMarker/aiMarker.mcp.js +2 -0
- package/dist/components/AIMarker/aiMarker.props.d.ts +3 -0
- package/dist/components/AIMarker/aiMarker.theme.js +2 -2
- package/dist/components/AIMessage/AIMessage.svelte +38 -16
- package/dist/components/AIMessage/aiMessage.mcp.d.ts +1 -1
- package/dist/components/AIMessage/aiMessage.mcp.js +20 -6
- package/dist/components/AIMessage/aiMessage.props.d.ts +18 -2
- package/dist/components/AIMessage/aiMessage.theme.d.ts +51 -6
- package/dist/components/AIMessage/aiMessage.theme.js +91 -32
- package/dist/components/AIMessageActions/AIMessageActions.svelte +19 -9
- package/dist/components/AIMessageActions/aiMessageActions.mcp.d.ts +1 -1
- package/dist/components/AIMessageActions/aiMessageActions.mcp.js +11 -3
- package/dist/components/AIMessageActions/aiMessageActions.theme.js +36 -9
- package/dist/components/AIModelSelector/AIModelSelector.svelte +25 -10
- package/dist/components/AIModelSelector/aiModelSelector.mcp.d.ts +1 -1
- package/dist/components/AIModelSelector/aiModelSelector.mcp.js +1 -1
- package/dist/components/AIModelSelector/aiModelSelector.theme.d.ts +3 -0
- package/dist/components/AIModelSelector/aiModelSelector.theme.js +7 -3
- package/dist/components/AIReasoning/AIReasoning.svelte +135 -38
- package/dist/components/AIReasoning/aiReasoning.mcp.d.ts +1 -1
- package/dist/components/AIReasoning/aiReasoning.mcp.js +11 -5
- package/dist/components/AIReasoning/aiReasoning.props.d.ts +15 -4
- package/dist/components/AIReasoning/aiReasoning.theme.d.ts +45 -0
- package/dist/components/AIReasoning/aiReasoning.theme.js +47 -7
- package/dist/components/AISuggestion/AISuggestion.svelte +2 -1
- package/dist/components/AISuggestion/AISuggestions.svelte +2 -1
- package/dist/components/AISuggestion/aiSuggestion.mcp.d.ts +1 -1
- package/dist/components/AISuggestion/aiSuggestion.mcp.js +8 -1
- package/dist/components/AISuggestion/aiSuggestion.props.d.ts +4 -1
- package/dist/components/AISuggestion/aiSuggestion.theme.js +1 -1
- package/dist/components/AISuggestion/aiSuggestions.props.d.ts +7 -0
- package/dist/components/AIThread/AIThread.svelte +378 -95
- package/dist/components/AIThread/AIThreadAskUserQuestion.svelte +1 -0
- package/dist/components/AIThread/AIThreadItems.svelte +266 -64
- package/dist/components/AIThread/AIThreadItems.svelte.d.ts +7 -3
- package/dist/components/AIThread/AIThreadMarker.svelte +8 -1
- package/dist/components/AIThread/AIThreadMarker.svelte.d.ts +1 -0
- package/dist/components/AIThread/aiThread.mcp.d.ts +1 -1
- package/dist/components/AIThread/aiThread.mcp.js +34 -20
- package/dist/components/AIThread/aiThread.props.d.ts +73 -8
- package/dist/components/AIThread/aiThread.theme.d.ts +78 -0
- package/dist/components/AIThread/aiThread.theme.js +108 -9
- package/dist/components/AIThread/index.d.ts +1 -1
- package/dist/components/AIThread/threadAskUserQuestion.d.ts +4 -1
- package/dist/components/AIThread/threadAskUserQuestion.js +8 -4
- package/dist/components/AIThread/threadRenderItems.d.ts +74 -3
- package/dist/components/AIThread/threadRenderItems.js +265 -77
- package/dist/components/AIThread/threadScrollController.d.ts +0 -8
- package/dist/components/AIThread/threadScrollController.js +2 -39
- package/dist/components/AIThread/threadTools.d.ts +11 -0
- package/dist/components/AIThread/threadTools.js +79 -0
- package/dist/components/AIThreadToc/AIThreadToc.svelte +188 -18
- package/dist/components/AIThreadToc/AIThreadTocPreview.svelte +25 -2
- package/dist/components/AIThreadToc/AIThreadTocPreview.svelte.d.ts +3 -0
- package/dist/components/AIThreadToc/aiThreadToc.d.ts +4 -2
- package/dist/components/AIThreadToc/aiThreadToc.js +17 -5
- package/dist/components/AIThreadToc/aiThreadToc.mcp.d.ts +1 -1
- package/dist/components/AIThreadToc/aiThreadToc.mcp.js +13 -3
- package/dist/components/AIThreadToc/aiThreadToc.props.d.ts +11 -0
- package/dist/components/AIThreadToc/aiThreadToc.theme.d.ts +3 -0
- package/dist/components/AIThreadToc/aiThreadToc.theme.js +15 -6
- package/dist/components/AITool/AITool.svelte +56 -21
- package/dist/components/AITool/AIToolCallList.svelte +79 -29
- package/dist/components/AITool/AIToolCallList.svelte.d.ts +6 -2
- package/dist/components/AITool/AIToolStatusMark.svelte +52 -0
- package/dist/components/AITool/AIToolStatusMark.svelte.d.ts +14 -0
- package/dist/components/AITool/AIToolValueSection.svelte +126 -28
- package/dist/components/AITool/AIToolValueSection.svelte.d.ts +6 -2
- package/dist/components/AITool/AIToolValueTree.svelte +11 -16
- package/dist/components/AITool/AIToolValueTree.svelte.d.ts +2 -3
- package/dist/components/AITool/aiTool.mcp.d.ts +1 -1
- package/dist/components/AITool/aiTool.mcp.js +36 -8
- package/dist/components/AITool/aiTool.props.d.ts +52 -6
- package/dist/components/AITool/aiTool.theme.d.ts +117 -39
- package/dist/components/AITool/aiTool.theme.js +144 -140
- package/dist/components/AITool/aiToolClock.svelte.d.ts +18 -0
- package/dist/components/AITool/aiToolClock.svelte.js +62 -0
- package/dist/components/AITool/aiToolPrimitiveThemes.d.ts +0 -2
- package/dist/components/AITool/aiToolPrimitiveThemes.js +0 -10
- package/dist/components/AITool/index.d.ts +2 -1
- package/dist/components/AITool/index.js +1 -0
- package/dist/components/AITool/toolRendering.d.ts +33 -1
- package/dist/components/AITool/toolRendering.js +179 -15
- package/dist/components/AITool/toolValueTree.d.ts +14 -1
- package/dist/components/AITool/toolValueTree.js +126 -27
- package/dist/components/Accordion/Accordion.svelte +109 -109
- package/dist/components/Accordion/Accordion.svelte.d.ts +0 -1
- package/dist/components/Accordion/AccordionPanel.svelte +64 -0
- package/dist/components/Accordion/AccordionPanel.svelte.d.ts +20 -0
- package/dist/components/Accordion/accordion.attributes.d.ts +24 -0
- package/dist/components/Accordion/accordion.attributes.js +20 -0
- package/dist/components/Accordion/accordion.mcp.d.ts +1 -1
- package/dist/components/Accordion/accordion.mcp.js +78 -22
- package/dist/components/Accordion/accordion.props.d.ts +54 -10
- package/dist/components/Accordion/accordion.theme.d.ts +3 -0
- package/dist/components/Accordion/accordion.theme.js +4 -0
- package/dist/components/Accordion/index.d.ts +1 -0
- package/dist/components/Accordion/index.js +1 -0
- package/dist/components/AudioPlayer/audioPlayerVolumeControl.slider.theme.d.ts +31 -1
- package/dist/components/Avatar/Avatar.svelte +60 -10
- package/dist/components/Avatar/AvatarGroup.svelte +9 -0
- package/dist/components/Avatar/avatar.mcp.d.ts +1 -1
- package/dist/components/Avatar/avatar.mcp.js +13 -5
- package/dist/components/Avatar/avatar.props.d.ts +28 -1
- package/dist/components/Avatar/avatar.theme.js +3 -3
- package/dist/components/Avatar/index.d.ts +1 -1
- package/dist/components/Breadcrumbs/breadcrumbs.mcp.d.ts +1 -1
- package/dist/components/Breadcrumbs/breadcrumbs.mcp.js +1 -1
- package/dist/components/Button/Button.svelte +35 -15
- package/dist/components/Button/button.mcp.d.ts +1 -1
- package/dist/components/Button/button.mcp.js +8 -4
- package/dist/components/Button/button.props.d.ts +23 -8
- package/dist/components/Button/button.theme.d.ts +12 -0
- package/dist/components/Button/button.theme.js +17 -4
- package/dist/components/ButtonGroup/buttonGroup.mcp.d.ts +1 -1
- package/dist/components/ButtonGroup/buttonGroup.mcp.js +1 -1
- package/dist/components/ButtonGroup/buttonGroup.props.d.ts +4 -1
- package/dist/components/Collapsible/Collapsible.svelte +125 -19
- package/dist/components/Collapsible/collapsible.attributes.d.ts +21 -0
- package/dist/components/Collapsible/collapsible.attributes.js +17 -0
- package/dist/components/Collapsible/collapsible.mcp.d.ts +1 -1
- package/dist/components/Collapsible/collapsible.mcp.js +62 -12
- package/dist/components/Collapsible/collapsible.props.d.ts +39 -8
- package/dist/components/Collapsible/collapsible.theme.js +3 -1
- package/dist/components/Collapsible/index.d.ts +1 -0
- package/dist/components/Collapsible/index.js +1 -0
- package/dist/components/Command/Command.svelte +56 -14
- package/dist/components/Command/command.mcp.d.ts +1 -1
- package/dist/components/Command/command.mcp.js +12 -6
- package/dist/components/Command/command.props.d.ts +39 -6
- package/dist/components/Command/command.state.svelte.d.ts +40 -11
- package/dist/components/Command/command.state.svelte.js +75 -28
- package/dist/components/Command/command.theme.js +4 -3
- package/dist/components/Confirmation/Confirmation.svelte +72 -31
- package/dist/components/Confirmation/confirmation.mcp.d.ts +1 -1
- package/dist/components/Confirmation/confirmation.mcp.js +5 -4
- package/dist/components/ContextMenu/ContextMenu.svelte +126 -16
- package/dist/components/ContextMenu/contextMenu.mcp.d.ts +1 -1
- package/dist/components/ContextMenu/contextMenu.mcp.js +10 -7
- package/dist/components/ContextMenu/contextMenu.props.d.ts +13 -4
- package/dist/components/ContextMenu/contextMenu.theme.d.ts +3 -3
- package/dist/components/ContextMenu/contextMenu.theme.js +3 -2
- package/dist/components/DataTable/DataTable.svelte +4 -9
- package/dist/components/DataTable/DataTableEditor.svelte +5 -0
- package/dist/components/DataTable/DataTableFilter.svelte +1 -0
- package/dist/components/DataTable/DataTableToolbar.svelte +1 -0
- package/dist/components/DataTable/dataTable.mcp.d.ts +1 -1
- package/dist/components/DataTable/dataTable.mcp.js +4 -2
- package/dist/components/DataTable/dataTable.theme.d.ts +0 -3
- package/dist/components/DataTable/dataTable.theme.js +9 -6
- package/dist/components/Dialog/Dialog.svelte +120 -35
- package/dist/components/Dialog/Dialog.svelte.d.ts +1 -1
- package/dist/components/Dialog/DialogBackdrop.svelte +21 -1
- package/dist/components/Dialog/dialog.api.d.ts +65 -0
- package/dist/components/Dialog/dialog.api.js +1 -0
- package/dist/components/Dialog/dialog.attributes.d.ts +23 -0
- package/dist/components/Dialog/dialog.attributes.js +19 -0
- package/dist/components/Dialog/dialog.indent.d.ts +6 -0
- package/dist/components/Dialog/dialog.indent.js +16 -0
- package/dist/components/Dialog/dialog.mcp.d.ts +1 -1
- package/dist/components/Dialog/dialog.mcp.js +195 -22
- package/dist/components/Dialog/dialog.props.d.ts +102 -19
- package/dist/components/Dialog/dialog.snap.d.ts +40 -0
- package/dist/components/Dialog/dialog.snap.js +78 -0
- package/dist/components/Dialog/dialog.state.svelte.d.ts +122 -10
- package/dist/components/Dialog/dialog.state.svelte.js +525 -66
- package/dist/components/Dialog/dialog.theme.d.ts +48 -0
- package/dist/components/Dialog/dialog.theme.js +32 -9
- package/dist/components/Dialog/index.d.ts +4 -1
- package/dist/components/Dialog/index.js +1 -0
- package/dist/components/DocumentViewer/DocumentSearchControl.svelte +5 -3
- package/dist/components/DocumentViewer/documentOutput.js +2 -1
- package/dist/components/FloatingWindow/FloatingWindow.svelte +20 -32
- package/dist/components/FloatingWindow/FloatingWindow.svelte.d.ts +1 -1
- package/dist/components/FloatingWindow/floatingWindow.mcp.d.ts +1 -1
- package/dist/components/FloatingWindow/floatingWindow.mcp.js +3 -3
- package/dist/components/FloatingWindow/floatingWindow.props.d.ts +9 -4
- package/dist/components/FloatingWindow/floatingWindow.state.svelte.d.ts +8 -2
- package/dist/components/FloatingWindow/floatingWindow.state.svelte.js +18 -7
- package/dist/components/Form/Ask/Ask.svelte +9 -13
- package/dist/components/Form/Ask/ask.mcp.d.ts +1 -1
- package/dist/components/Form/Ask/ask.mcp.js +1 -1
- package/dist/components/Form/Ask/ask.props.d.ts +1 -1
- package/dist/components/Form/Autocomplete/Autocomplete.svelte +418 -0
- package/dist/components/Form/Autocomplete/Autocomplete.svelte.d.ts +4 -0
- package/dist/components/Form/Autocomplete/autocomplete.items.d.ts +30 -0
- package/dist/components/Form/Autocomplete/autocomplete.items.js +64 -0
- package/dist/components/Form/Autocomplete/autocomplete.mcp.d.ts +1 -0
- package/dist/components/Form/Autocomplete/autocomplete.mcp.js +134 -0
- package/dist/components/Form/Autocomplete/autocomplete.props.d.ts +146 -0
- package/dist/components/Form/Autocomplete/autocomplete.props.js +1 -0
- package/dist/components/Form/Autocomplete/autocomplete.theme.d.ts +213 -0
- package/dist/components/Form/Autocomplete/autocomplete.theme.js +119 -0
- package/dist/components/Form/Autocomplete/index.d.ts +3 -0
- package/dist/components/Form/Autocomplete/index.js +2 -0
- package/dist/components/Form/Calendar/CalendarInput.svelte +9 -0
- package/dist/components/Form/Calendar/CalendarMonthYearPicker.svelte +3 -0
- package/dist/components/Form/Calendar/CalendarPrimitive.svelte +5 -0
- package/dist/components/Form/Calendar/calendar.mcp.d.ts +1 -1
- package/dist/components/Form/Calendar/calendar.mcp.js +2 -1
- package/dist/components/Form/Calendar/calendarInput.props.d.ts +2 -0
- package/dist/components/Form/Calendar/useCalendar.svelte.d.ts +3 -0
- package/dist/components/Form/Calendar/useCalendar.svelte.js +3 -0
- package/dist/components/Form/Checkbox/Checkbox.svelte +17 -2
- package/dist/components/Form/Checkbox/checkbox.mcp.d.ts +1 -1
- package/dist/components/Form/Checkbox/checkbox.mcp.js +11 -1
- package/dist/components/Form/Checkbox/checkbox.props.d.ts +12 -1
- package/dist/components/Form/CheckboxesInput/CheckboxLine.svelte +69 -32
- package/dist/components/Form/CheckboxesInput/CheckboxLine.svelte.d.ts +10 -2
- package/dist/components/Form/CheckboxesInput/CheckboxesInput.svelte +123 -74
- package/dist/components/Form/CheckboxesInput/CheckboxesInput.svelte.d.ts +12 -12
- package/dist/components/Form/CheckboxesInput/checkboxesInput.mcp.d.ts +1 -1
- package/dist/components/Form/CheckboxesInput/checkboxesInput.mcp.js +11 -7
- package/dist/components/Form/CheckboxesInput/checkboxesInput.props.d.ts +25 -9
- package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.d.ts +12 -0
- package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.js +9 -4
- package/dist/components/Form/CheckboxesInput/choiceEnter.d.ts +11 -0
- package/dist/components/Form/CheckboxesInput/choiceEnter.js +27 -0
- package/dist/components/Form/ColorInput/ColorInput.svelte +12 -3
- package/dist/components/Form/ColorInput/colorInput.mcp.d.ts +1 -1
- package/dist/components/Form/ColorInput/colorInput.mcp.js +1 -0
- package/dist/components/Form/ColorPicker/ColorPicker.svelte +11 -2
- package/dist/components/Form/ColorPicker/ColorPickerInput.svelte +9 -0
- package/dist/components/Form/ColorPicker/colorPicker.mcp.d.ts +1 -1
- package/dist/components/Form/ColorPicker/colorPicker.mcp.js +1 -0
- package/dist/components/Form/ColorPicker/colorPicker.props.d.ts +2 -0
- package/dist/components/Form/ColorPicker/colorPicker.state.svelte.d.ts +4 -0
- package/dist/components/Form/ColorPicker/colorPicker.state.svelte.js +12 -8
- package/dist/components/Form/Combobox/Combobox.svelte +145 -185
- package/dist/components/Form/Combobox/Combobox.svelte.d.ts +1 -1
- package/dist/components/Form/Combobox/ComboboxPopup.svelte +128 -0
- package/dist/components/Form/Combobox/ComboboxPopup.svelte.d.ts +28 -0
- package/dist/components/Form/Combobox/combobox.attributes.d.ts +34 -0
- package/dist/components/Form/Combobox/combobox.attributes.js +25 -0
- package/dist/components/Form/Combobox/combobox.items.d.ts +28 -0
- package/dist/components/Form/Combobox/combobox.items.js +68 -0
- package/dist/components/Form/Combobox/combobox.mcp.d.ts +1 -1
- package/dist/components/Form/Combobox/combobox.mcp.js +104 -13
- package/dist/components/Form/Combobox/combobox.props.d.ts +113 -19
- package/dist/components/Form/Combobox/combobox.state.svelte.d.ts +137 -0
- package/dist/components/Form/Combobox/combobox.state.svelte.js +375 -0
- package/dist/components/Form/Combobox/combobox.theme.d.ts +63 -0
- package/dist/components/Form/Combobox/combobox.theme.js +37 -1
- package/dist/components/Form/Combobox/index.d.ts +2 -1
- package/dist/components/Form/Combobox/index.js +1 -0
- package/dist/components/Form/DateInput/DateInput.svelte +11 -3
- package/dist/components/Form/DateInput/dateInput.mcp.d.ts +1 -1
- package/dist/components/Form/DateInput/dateInput.mcp.js +5 -0
- package/dist/components/Form/DateSelector/DateSelector.svelte +5 -2
- package/dist/components/Form/DateSelector/DateSelectorInput.svelte +9 -0
- package/dist/components/Form/DateSelector/dateSelector.mcp.d.ts +1 -1
- package/dist/components/Form/DateSelector/dateSelector.mcp.js +2 -2
- package/dist/components/Form/DateSelector/dateSelector.props.d.ts +2 -0
- package/dist/components/Form/Field/Field.svelte +258 -32
- package/dist/components/Form/Field/Field.svelte.d.ts +15 -6
- package/dist/components/Form/Field/FieldGroup.svelte +29 -0
- package/dist/components/Form/Field/FieldGroup.svelte.d.ts +11 -0
- package/dist/components/Form/Field/FieldHiddenInputs.svelte +187 -0
- package/dist/components/Form/Field/FieldHiddenInputs.svelte.d.ts +26 -0
- package/dist/components/Form/Field/field.d.ts +75 -10
- package/dist/components/Form/Field/field.mcp.d.ts +1 -1
- package/dist/components/Form/Field/field.mcp.js +158 -18
- package/dist/components/Form/Field/field.messages.d.ts +47 -0
- package/dist/components/Form/Field/field.messages.js +64 -0
- package/dist/components/Form/Field/field.state.svelte.d.ts +117 -40
- package/dist/components/Form/Field/field.state.svelte.js +525 -16
- package/dist/components/Form/Field/field.theme.d.ts +46 -0
- package/dist/components/Form/Field/field.theme.js +33 -0
- package/dist/components/Form/Field/fieldHiddenInputs.props.d.ts +61 -0
- package/dist/components/Form/Field/fieldHiddenInputs.props.js +1 -0
- package/dist/components/Form/Field/fieldNativeForm.svelte.d.ts +14 -0
- package/dist/components/Form/Field/fieldNativeForm.svelte.js +113 -0
- package/dist/components/Form/Field/index.d.ts +5 -2
- package/dist/components/Form/Field/index.js +1 -0
- package/dist/components/Form/Field/schemas.js +7 -2
- package/dist/components/Form/File/FileInput.svelte +24 -3
- package/dist/components/Form/File/fileInput.mcp.d.ts +1 -1
- package/dist/components/Form/File/fileInput.mcp.js +1 -0
- package/dist/components/Form/Form/Form.svelte +49 -15
- package/dist/components/Form/Form/FormActions.svelte +3 -1
- package/dist/components/Form/Form/FormActions.svelte.d.ts +42 -2
- package/dist/components/Form/Form/FormFieldRenderer.svelte +96 -12
- package/dist/components/Form/Form/FormFieldRenderer.svelte.d.ts +3 -2
- package/dist/components/Form/Form/FormInputRenderer.svelte +7 -0
- package/dist/components/Form/Form/form.d.ts +84 -11
- package/dist/components/Form/Form/form.mcp.d.ts +1 -1
- package/dist/components/Form/Form/form.mcp.js +178 -12
- package/dist/components/Form/Form/form.props.d.ts +32 -1
- package/dist/components/Form/Form/form.registry.d.ts +28 -0
- package/dist/components/Form/Form/form.registry.js +59 -0
- package/dist/components/Form/Form/form.state.svelte.d.ts +1186 -420
- package/dist/components/Form/Form/form.state.svelte.js +322 -28
- package/dist/components/Form/Form/index.d.ts +4 -1
- package/dist/components/Form/Form/index.js +1 -0
- package/dist/components/Form/Form/visibility.d.ts +3130 -1863
- package/dist/components/Form/KeyValueInput/KeyValueInput.svelte +22 -10
- package/dist/components/Form/KeyValueInput/keyValueInput.mcp.d.ts +1 -1
- package/dist/components/Form/KeyValueInput/keyValueInput.mcp.js +1 -0
- package/dist/components/Form/MultiStepForm/MultiStepForm.svelte +12 -5
- package/dist/components/Form/MultiStepForm/multiStepForm.mcp.d.ts +1 -1
- package/dist/components/Form/MultiStepForm/multiStepForm.mcp.js +5 -3
- package/dist/components/Form/MultiStepForm/multiStepForm.props.d.ts +5 -0
- package/dist/components/Form/MultiStepForm/multiStepForm.state.svelte.d.ts +1050 -408
- package/dist/components/Form/MultiStepForm/multiStepForm.state.svelte.js +48 -24
- package/dist/components/Form/NumberInput/NumberInput.svelte +365 -46
- package/dist/components/Form/NumberInput/index.d.ts +1 -1
- package/dist/components/Form/NumberInput/numberInput.mcp.d.ts +1 -1
- package/dist/components/Form/NumberInput/numberInput.mcp.js +55 -30
- package/dist/components/Form/NumberInput/numberInput.props.d.ts +64 -4
- package/dist/components/Form/PasswordInput/Password.svelte +28 -1
- package/dist/components/Form/PasswordInput/index.d.ts +1 -1
- package/dist/components/Form/PasswordInput/passwordInput.mcp.d.ts +1 -1
- package/dist/components/Form/PasswordInput/passwordInput.mcp.js +20 -2
- package/dist/components/Form/PasswordInput/passwordInput.props.d.ts +23 -0
- package/dist/components/Form/PhoneInput/PhoneInput.svelte +11 -4
- package/dist/components/Form/PhoneInput/PhoneInputCountryPicker.svelte +47 -21
- package/dist/components/Form/PhoneInput/phoneInput-cdn.js +2 -1
- package/dist/components/Form/PhoneInput/phoneInput.mcp.d.ts +1 -1
- package/dist/components/Form/PhoneInput/phoneInput.mcp.js +6 -2
- package/dist/components/Form/PhoneInput/phoneInputCountry.d.ts +9 -3
- package/dist/components/Form/PhoneInput/phoneInputCountry.js +34 -24
- package/dist/components/Form/PinInput/PinInput.svelte +44 -9
- package/dist/components/Form/PinInput/PinInputCells.svelte +22 -1
- package/dist/components/Form/PinInput/PinInputCells.svelte.d.ts +1 -0
- package/dist/components/Form/PinInput/index.d.ts +1 -1
- package/dist/components/Form/PinInput/pinInput.mcp.d.ts +1 -1
- package/dist/components/Form/PinInput/pinInput.mcp.js +29 -6
- package/dist/components/Form/PinInput/pinInput.props.d.ts +38 -4
- package/dist/components/Form/PinInput/pinInput.state.svelte.d.ts +41 -0
- package/dist/components/Form/PinInput/pinInput.state.svelte.js +227 -24
- package/dist/components/Form/PinInput/pinInput.theme.d.ts +39 -3
- package/dist/components/Form/PinInput/pinInput.theme.js +27 -1
- package/dist/components/Form/RadioInput/RadioInput.svelte +94 -32
- package/dist/components/Form/RadioInput/RadioInput.svelte.d.ts +12 -12
- package/dist/components/Form/RadioInput/radioInput.mcp.d.ts +1 -1
- package/dist/components/Form/RadioInput/radioInput.mcp.js +12 -9
- package/dist/components/Form/RadioInput/radioInput.props.d.ts +22 -6
- package/dist/components/Form/RadioInput/radioInput.theme.d.ts +12 -0
- package/dist/components/Form/RadioInput/radioInput.theme.js +10 -5
- package/dist/components/Form/RatingInput/RatingInput.svelte +13 -4
- package/dist/components/Form/RatingInput/ratingInput.mcp.d.ts +1 -1
- package/dist/components/Form/RatingInput/ratingInput.mcp.js +3 -3
- package/dist/components/Form/RatingInput/ratingInput.props.d.ts +1 -1
- package/dist/components/Form/Select/Select.svelte +186 -48
- package/dist/components/Form/Select/Select.svelte.d.ts +23 -2
- package/dist/components/Form/Select/SelectOptionRow.svelte +69 -0
- package/dist/components/Form/Select/SelectOptionRow.svelte.d.ts +18 -0
- package/dist/components/Form/Select/index.d.ts +2 -1
- package/dist/components/Form/Select/index.js +1 -0
- package/dist/components/Form/Select/select.align.d.ts +5 -0
- package/dist/components/Form/Select/select.align.js +19 -5
- package/dist/components/Form/Select/select.attributes.d.ts +36 -0
- package/dist/components/Form/Select/select.attributes.js +27 -0
- package/dist/components/Form/Select/select.mcp.d.ts +1 -1
- package/dist/components/Form/Select/select.mcp.js +103 -18
- package/dist/components/Form/Select/select.props.d.ts +87 -10
- package/dist/components/Form/Select/select.state.svelte.d.ts +108 -17
- package/dist/components/Form/Select/select.state.svelte.js +354 -59
- package/dist/components/Form/Select/select.theme.d.ts +21 -0
- package/dist/components/Form/Select/select.theme.js +22 -0
- package/dist/components/Form/Slider/Slider.svelte +54 -14
- package/dist/components/Form/Slider/SliderMarks.svelte +1 -1
- package/dist/components/Form/Slider/SliderThumb.svelte +49 -19
- package/dist/components/Form/Slider/SliderThumb.svelte.d.ts +8 -2
- package/dist/components/Form/Slider/SliderTrack.svelte +33 -12
- package/dist/components/Form/Slider/SliderTrack.svelte.d.ts +6 -2
- package/dist/components/Form/Slider/index.d.ts +1 -1
- package/dist/components/Form/Slider/slider.mcp.d.ts +1 -1
- package/dist/components/Form/Slider/slider.mcp.js +55 -11
- package/dist/components/Form/Slider/slider.props.d.ts +35 -2
- package/dist/components/Form/Slider/slider.state.svelte.d.ts +66 -5
- package/dist/components/Form/Slider/slider.state.svelte.js +273 -49
- package/dist/components/Form/Slider/slider.theme.d.ts +36 -0
- package/dist/components/Form/Slider/slider.theme.js +35 -17
- package/dist/components/Form/Switch/Switch.svelte +61 -38
- package/dist/components/Form/Switch/switch.mcp.d.ts +1 -1
- package/dist/components/Form/Switch/switch.mcp.js +25 -5
- package/dist/components/Form/Switch/switch.props.d.ts +14 -1
- package/dist/components/Form/Switch/switch.theme.d.ts +12 -0
- package/dist/components/Form/Switch/switch.theme.js +8 -3
- package/dist/components/Form/TagGroup/TagGroup.svelte +8 -0
- package/dist/components/Form/TagGroup/tagGroup.mcp.d.ts +1 -1
- package/dist/components/Form/TagGroup/tagGroup.mcp.js +1 -0
- package/dist/components/Form/TagsInput/TagsInput.svelte +277 -275
- package/dist/components/Form/TagsInput/TagsInput.svelte.d.ts +1 -1
- package/dist/components/Form/TagsInput/tagsInput.mcp.d.ts +1 -1
- package/dist/components/Form/TagsInput/tagsInput.mcp.js +31 -11
- package/dist/components/Form/TagsInput/tagsInput.props.d.ts +6 -26
- package/dist/components/Form/TagsInput/tagsInput.theme.d.ts +63 -0
- package/dist/components/Form/TagsInput/tagsInput.theme.js +37 -1
- package/dist/components/Form/TextArea/TextArea.svelte +8 -0
- package/dist/components/Form/TextArea/textArea.mcp.d.ts +1 -1
- package/dist/components/Form/TextArea/textArea.mcp.js +1 -0
- package/dist/components/Form/TextInput/TextInput.svelte +8 -1
- package/dist/components/Form/TextInput/textInput.mcp.d.ts +1 -1
- package/dist/components/Form/TextInput/textInput.mcp.js +5 -0
- package/dist/components/Form/TimeInput/TimeInput.svelte +9 -1
- package/dist/components/Form/TimeInput/timeInput.mcp.d.ts +1 -1
- package/dist/components/Form/TimeInput/timeInput.mcp.js +31 -0
- package/dist/components/Form/VoiceInput/VoiceInput.svelte +10 -2
- package/dist/components/Form/VoiceInput/voiceInput.mcp.d.ts +1 -1
- package/dist/components/Form/VoiceInput/voiceInput.mcp.js +1 -0
- package/dist/components/GanttChart/GanttDependencyControl.svelte +4 -4
- package/dist/components/HoverCard/HoverCard.svelte +100 -10
- package/dist/components/HoverCard/hoverCard.attributes.d.ts +33 -0
- package/dist/components/HoverCard/hoverCard.attributes.js +24 -0
- package/dist/components/HoverCard/hoverCard.mcp.d.ts +1 -1
- package/dist/components/HoverCard/hoverCard.mcp.js +61 -2
- package/dist/components/HoverCard/hoverCard.props.d.ts +19 -0
- package/dist/components/HoverCard/hoverCard.theme.d.ts +12 -0
- package/dist/components/HoverCard/hoverCard.theme.js +9 -2
- package/dist/components/HoverCard/index.d.ts +1 -0
- package/dist/components/HoverCard/index.js +1 -0
- package/dist/components/ImageGallery/imageGallery.state.svelte.d.ts +1 -1
- package/dist/components/ImageZoom/imageZoom.lightbox.js +40 -6
- package/dist/components/ImageZoom/imageZoom.mcp.d.ts +1 -1
- package/dist/components/ImageZoom/imageZoom.mcp.js +3 -3
- package/dist/components/ImageZoom/imageZoom.props.d.ts +10 -4
- package/dist/components/ImageZoom/imageZoom.state.svelte.d.ts +16 -4
- package/dist/components/ImageZoom/imageZoom.state.svelte.js +38 -9
- package/dist/components/Kanban/kanban.theme.js +7 -3
- package/dist/components/Layout/layoutSpacing.d.ts +2 -2
- package/dist/components/LinkPreview/LinkPreview.svelte +7 -1
- package/dist/components/LinkPreview/linkPreview.mcp.d.ts +1 -1
- package/dist/components/LinkPreview/linkPreview.mcp.js +4 -1
- package/dist/components/LinkPreview/linkPreview.props.d.ts +15 -0
- package/dist/components/LinkPreview/linkPreview.theme.d.ts +12 -0
- package/dist/components/LinkPreview/linkPreview.theme.js +9 -2
- package/dist/components/Map/maplibre-cdn.js +3 -2
- package/dist/components/Markdown/markdown.mcp.d.ts +1 -1
- package/dist/components/Markdown/markdown.mcp.js +2 -1
- package/dist/components/Markdown/markdown.theme.js +18 -9
- package/dist/components/MediaVolume/MediaVolumeControl.svelte +4 -3
- package/dist/components/Menu/Menu.svelte +3 -3
- package/dist/components/Menu/Menu.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuCheckboxItem.svelte +87 -0
- package/dist/components/Menu/MenuCheckboxItem.svelte.d.ts +16 -0
- package/dist/components/Menu/MenuFloating.svelte +421 -74
- package/dist/components/Menu/MenuFloating.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuMirroredIcon.svelte +9 -0
- package/dist/components/Menu/MenuMirroredIcon.svelte.d.ts +7 -0
- package/dist/components/Menu/MenuRadioGroup.svelte +102 -0
- package/dist/components/Menu/MenuRadioGroup.svelte.d.ts +18 -0
- package/dist/components/Menu/MenuSearchField.svelte +54 -0
- package/dist/components/Menu/MenuSearchField.svelte.d.ts +20 -0
- package/dist/components/Menu/MenuStacked.svelte +404 -158
- package/dist/components/Menu/MenuStacked.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuStackedBackHeader.svelte +6 -1
- package/dist/components/Menu/index.d.ts +2 -1
- package/dist/components/Menu/index.js +1 -0
- package/dist/components/Menu/menu.attributes.d.ts +37 -0
- package/dist/components/Menu/menu.attributes.js +28 -0
- package/dist/components/Menu/menu.filter.svelte.d.ts +52 -0
- package/dist/components/Menu/menu.filter.svelte.js +143 -0
- package/dist/components/Menu/menu.mcp.d.ts +1 -1
- package/dist/components/Menu/menu.mcp.js +227 -17
- package/dist/components/Menu/menu.platform.d.ts +5 -0
- package/dist/components/Menu/menu.platform.js +11 -0
- package/dist/components/Menu/menu.props.d.ts +172 -9
- package/dist/components/Menu/menu.theme.d.ts +147 -0
- package/dist/components/Menu/menu.theme.js +101 -0
- package/dist/components/Menu/menuTree.d.ts +35 -1
- package/dist/components/Menu/menuTree.js +158 -1
- package/dist/components/MenuBar/menuBar.mcp.d.ts +1 -1
- package/dist/components/MenuBar/menuBar.mcp.js +4 -2
- package/dist/components/MenuBar/menuBar.state.svelte.js +28 -10
- package/dist/components/MenuOption/MenuOption.svelte +5 -1
- package/dist/components/MenuOption/menuOption.mcp.d.ts +1 -1
- package/dist/components/MenuOption/menuOption.mcp.js +8 -0
- package/dist/components/MenuOption/menuOption.props.d.ts +12 -0
- package/dist/components/MenuOption/menuOption.theme.d.ts +18 -0
- package/dist/components/MenuOption/menuOption.theme.js +24 -4
- package/dist/components/Mermaid/mermaid.mcp.d.ts +1 -1
- package/dist/components/Mermaid/mermaid.mcp.js +8 -8
- package/dist/components/Mermaid/mermaid.props.d.ts +3 -4
- package/dist/components/Mermaid/mermaid.state.svelte.d.ts +20 -19
- package/dist/components/Mermaid/mermaid.state.svelte.js +80 -243
- package/dist/components/Mermaid/mermaid.theme.js +26 -1
- package/dist/components/MetadataList/MetadataList.svelte.d.ts +1 -1
- package/dist/components/Meter/Meter.svelte +110 -24
- package/dist/components/Meter/Meter.svelte.d.ts +12 -12
- package/dist/components/Meter/meter.mcp.d.ts +1 -1
- package/dist/components/Meter/meter.mcp.js +23 -37
- package/dist/components/Meter/meter.props.d.ts +36 -44
- package/dist/components/NavigationMenu/NavigationMenu.svelte +181 -0
- package/dist/components/NavigationMenu/NavigationMenu.svelte.d.ts +25 -0
- package/dist/components/NavigationMenu/NavigationMenuContent.svelte +141 -0
- package/dist/components/NavigationMenu/NavigationMenuContent.svelte.d.ts +13 -0
- package/dist/components/NavigationMenu/NavigationMenuTrigger.svelte +75 -0
- package/dist/components/NavigationMenu/NavigationMenuTrigger.svelte.d.ts +13 -0
- package/dist/components/NavigationMenu/index.d.ts +4 -0
- package/dist/components/NavigationMenu/index.js +3 -0
- package/dist/components/NavigationMenu/navigationMenu.attributes.d.ts +24 -0
- package/dist/components/NavigationMenu/navigationMenu.attributes.js +21 -0
- package/dist/components/NavigationMenu/navigationMenu.mcp.d.ts +1 -0
- package/dist/components/NavigationMenu/navigationMenu.mcp.js +138 -0
- package/dist/components/NavigationMenu/navigationMenu.props.d.ts +129 -0
- package/dist/components/NavigationMenu/navigationMenu.props.js +1 -0
- package/dist/components/NavigationMenu/navigationMenu.state.svelte.d.ts +163 -0
- package/dist/components/NavigationMenu/navigationMenu.state.svelte.js +721 -0
- package/dist/components/NavigationMenu/navigationMenu.theme.d.ts +326 -0
- package/dist/components/NavigationMenu/navigationMenu.theme.js +239 -0
- package/dist/components/Overlay/Overlay.svelte +19 -30
- package/dist/components/Overlay/index.d.ts +1 -0
- package/dist/components/Overlay/index.js +1 -0
- package/dist/components/Overlay/overlay.attributes.d.ts +16 -0
- package/dist/components/Overlay/overlay.attributes.js +14 -0
- package/dist/components/Overlay/overlay.mcp.d.ts +1 -1
- package/dist/components/Overlay/overlay.mcp.js +21 -3
- package/dist/components/Overlay/overlay.props.d.ts +8 -4
- package/dist/components/Popover/Popover.svelte +163 -52
- package/dist/components/Popover/Popover.svelte.d.ts +23 -2
- package/dist/components/Popover/PopoverSession.svelte +12 -0
- package/dist/components/Popover/PopoverSession.svelte.d.ts +7 -0
- package/dist/components/Popover/index.d.ts +10 -2
- package/dist/components/Popover/index.js +4 -1
- package/dist/components/Popover/popover.api.d.ts +83 -0
- package/dist/components/Popover/popover.api.js +1 -0
- package/dist/components/Popover/popover.attributes.d.ts +32 -0
- package/dist/components/Popover/popover.attributes.js +28 -0
- package/dist/components/Popover/popover.claims.d.ts +19 -0
- package/dist/components/Popover/popover.claims.js +45 -0
- package/dist/components/Popover/popover.mcp.d.ts +1 -1
- package/dist/components/Popover/popover.mcp.js +163 -31
- package/dist/components/Popover/popover.position.d.ts +226 -0
- package/dist/components/Popover/popover.position.js +402 -0
- package/dist/components/Popover/popover.props.d.ts +179 -24
- package/dist/components/Popover/popover.state.svelte.d.ts +169 -37
- package/dist/components/Popover/popover.state.svelte.js +1034 -194
- package/dist/components/Popover/popover.theme.d.ts +15 -0
- package/dist/components/Popover/popover.theme.js +27 -2
- package/dist/components/PopupMenu/PopupMenu.svelte +193 -22
- package/dist/components/PopupMenu/PopupMenu.svelte.d.ts +2 -2
- package/dist/components/PopupMenu/popupMenu.context.d.ts +42 -0
- package/dist/components/PopupMenu/popupMenu.context.js +52 -0
- package/dist/components/PopupMenu/popupMenu.mcp.d.ts +1 -1
- package/dist/components/PopupMenu/popupMenu.mcp.js +46 -6
- package/dist/components/PopupMenu/popupMenu.props.d.ts +29 -2
- package/dist/components/Progress/Progress.svelte +160 -0
- package/dist/components/Progress/Progress.svelte.d.ts +4 -0
- package/dist/components/Progress/index.d.ts +3 -0
- package/dist/components/Progress/index.js +2 -0
- package/dist/components/Progress/progress.mcp.d.ts +1 -0
- package/dist/components/Progress/progress.mcp.js +101 -0
- package/dist/components/Progress/progress.props.d.ts +79 -0
- package/dist/components/Progress/progress.props.js +1 -0
- package/dist/components/Progress/progress.theme.d.ts +129 -0
- package/dist/components/Progress/progress.theme.js +83 -0
- package/dist/components/ProgressCircle/ProgressCircle.svelte +51 -6
- package/dist/components/ProgressCircle/progressCircle.mcp.d.ts +1 -1
- package/dist/components/ProgressCircle/progressCircle.mcp.js +18 -4
- package/dist/components/ProgressCircle/progressCircle.props.d.ts +32 -2
- package/dist/components/ProgressCircle/progressCircle.theme.d.ts +15 -3
- package/dist/components/ProgressCircle/progressCircle.theme.js +7 -2
- package/dist/components/RichTextInput/RichTextInput.svelte +19 -1
- package/dist/components/RichTextInput/RichTextInputChrome.svelte +5 -1
- package/dist/components/RichTextInput/RichTextInputChrome.svelte.d.ts +2 -0
- package/dist/components/RichTextInput/RichTextInputViewport.svelte +3 -1
- package/dist/components/RichTextInput/RichTextInputViewport.svelte.d.ts +1 -0
- package/dist/components/RichTextInput/richTextInput.mcp.d.ts +1 -1
- package/dist/components/RichTextInput/richTextInput.mcp.js +1 -0
- package/dist/components/RichTextInput/suggestions.js +2 -0
- package/dist/components/ScrollArea/ScrollArea.svelte +166 -27
- package/dist/components/ScrollArea/index.d.ts +2 -1
- package/dist/components/ScrollArea/index.js +1 -0
- package/dist/components/ScrollArea/scrollArea.attributes.d.ts +25 -0
- package/dist/components/ScrollArea/scrollArea.attributes.js +21 -0
- package/dist/components/ScrollArea/scrollArea.mcp.d.ts +1 -1
- package/dist/components/ScrollArea/scrollArea.mcp.js +47 -3
- package/dist/components/ScrollArea/scrollArea.props.d.ts +33 -6
- package/dist/components/ScrollArea/scrollArea.svelte.d.ts +56 -12
- package/dist/components/ScrollArea/scrollArea.svelte.js +281 -71
- package/dist/components/ScrollArea/scrollArea.theme.js +5 -2
- package/dist/components/SegmentedControl/SegmentedControl.svelte +4 -3
- package/dist/components/SegmentedControl/segmentedControl.mcp.d.ts +1 -1
- package/dist/components/SegmentedControl/segmentedControl.mcp.js +3 -2
- package/dist/components/SelectionMenu/SelectionMenu.svelte +4 -2
- package/dist/components/Sidebar/SidebarAction.svelte +13 -3
- package/dist/components/Sidebar/SidebarAction.svelte.d.ts +2 -1
- package/dist/components/Sidebar/SidebarActivityBar.svelte +14 -7
- package/dist/components/Sidebar/SidebarFlyout.svelte +97 -0
- package/dist/components/Sidebar/SidebarFlyout.svelte.d.ts +32 -0
- package/dist/components/Sidebar/SidebarGroup.svelte +39 -15
- package/dist/components/Sidebar/SidebarMenuButton.svelte +6 -3
- package/dist/components/Sidebar/SidebarMenuItem.svelte +134 -31
- package/dist/components/Sidebar/SidebarMenuSubItem.svelte +30 -14
- package/dist/components/Sidebar/SidebarTreeNode.svelte +41 -61
- package/dist/components/Sidebar/index.d.ts +1 -0
- package/dist/components/Sidebar/index.js +1 -0
- package/dist/components/Sidebar/sidebar-position.d.ts +37 -2
- package/dist/components/Sidebar/sidebar-position.js +31 -2
- package/dist/components/Sidebar/sidebar.attributes.d.ts +33 -0
- package/dist/components/Sidebar/sidebar.attributes.js +29 -0
- package/dist/components/Sidebar/sidebar.mcp.d.ts +1 -1
- package/dist/components/Sidebar/sidebar.mcp.js +45 -10
- package/dist/components/Sidebar/sidebar.props.d.ts +28 -7
- package/dist/components/Sidebar/sidebar.theme.d.ts +51 -21
- package/dist/components/Sidebar/sidebar.theme.js +113 -62
- package/dist/components/Sidebar/sidebar.views.svelte.js +11 -18
- package/dist/components/Stepper/Stepper.svelte +2 -0
- package/dist/components/Stepper/stepper.mcp.d.ts +1 -1
- package/dist/components/Stepper/stepper.mcp.js +1 -0
- package/dist/components/Stepper/stepper.props.d.ts +5 -0
- package/dist/components/Stepper/stepper.state.svelte.d.ts +2 -0
- package/dist/components/Stepper/stepper.state.svelte.js +31 -12
- package/dist/components/Tabbar/Tabbar.svelte +55 -16
- package/dist/components/Tabbar/index.d.ts +1 -1
- package/dist/components/Tabbar/tabbar.mcp.d.ts +1 -1
- package/dist/components/Tabbar/tabbar.mcp.js +26 -9
- package/dist/components/Tabbar/tabbar.props.d.ts +34 -5
- package/dist/components/Tabbar/tabbar.selection.svelte.d.ts +79 -0
- package/dist/components/Tabbar/tabbar.selection.svelte.js +99 -0
- package/dist/components/TableOfContents/tableOfContents.state.svelte.js +9 -7
- package/dist/components/Tabs/Tabs.svelte +73 -16
- package/dist/components/Tabs/index.d.ts +2 -1
- package/dist/components/Tabs/tabs.direction.svelte.d.ts +25 -0
- package/dist/components/Tabs/tabs.direction.svelte.js +40 -0
- package/dist/components/Tabs/tabs.mcp.d.ts +1 -1
- package/dist/components/Tabs/tabs.mcp.js +22 -4
- package/dist/components/Tabs/tabs.props.d.ts +39 -12
- package/dist/components/Tabs/tabs.theme.js +3 -1
- package/dist/components/Theme/Theme.svelte +44 -27
- package/dist/components/Theme/helper.d.ts +16 -2
- package/dist/components/Theme/helper.js +46 -4
- package/dist/components/Theme/theme.mcp.d.ts +1 -1
- package/dist/components/Theme/theme.mcp.js +103 -0
- package/dist/components/Theme/theme.props.d.ts +16 -0
- package/dist/components/Theme/theme.state.svelte.d.ts +14 -1
- package/dist/components/Theme/theme.state.svelte.js +18 -1
- package/dist/components/Toast/Toast.svelte +184 -39
- package/dist/components/Toast/Toaster.svelte +14 -10
- package/dist/components/Toast/index.d.ts +1 -0
- package/dist/components/Toast/toast.mcp.d.ts +1 -1
- package/dist/components/Toast/toast.mcp.js +47 -6
- package/dist/components/Toast/toast.state.svelte.d.ts +172 -6
- package/dist/components/Toast/toast.state.svelte.js +513 -68
- package/dist/components/Toast/toast.theme.js +1 -1
- package/dist/components/ToggleButton/ToggleButton.svelte +23 -1
- package/dist/components/ToggleButton/toggleButton.mcp.d.ts +1 -1
- package/dist/components/ToggleButton/toggleButton.mcp.js +3 -1
- package/dist/components/ToggleButton/toggleButton.props.d.ts +13 -1
- package/dist/components/ToggleButton/toggleButton.theme.d.ts +12 -0
- package/dist/components/ToggleButton/toggleButton.theme.js +15 -3
- package/dist/components/ToggleButtonGroup/ToggleButtonGroup.svelte +29 -9
- package/dist/components/ToggleButtonGroup/index.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.mcp.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.mcp.js +5 -2
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.props.d.ts +19 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.d.ts +12 -0
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.js +21 -2
- package/dist/components/ToggleMenu/ToggleMenu.svelte +57 -43
- package/dist/components/ToggleMenu/ToggleMenuGroup.svelte +1 -0
- package/dist/components/ToggleMenu/ToggleMenuMenu.svelte +9 -3
- package/dist/components/ToggleMenu/ToggleMenuRadioGroup.svelte +7 -2
- package/dist/components/ToggleMenu/toggleMenu.mcp.d.ts +1 -1
- package/dist/components/ToggleMenu/toggleMenu.mcp.js +3 -2
- package/dist/components/ToggleMenu/toggleMenu.props.d.ts +4 -1
- package/dist/components/Tooltip/Tooltip.svelte +4 -12
- package/dist/components/Tooltip/TooltipHost.svelte +136 -15
- package/dist/components/Tooltip/index.d.ts +1 -0
- package/dist/components/Tooltip/index.js +1 -0
- package/dist/components/Tooltip/tooltip.attachment.svelte.d.ts +5 -0
- package/dist/components/Tooltip/tooltip.attachment.svelte.js +215 -33
- package/dist/components/Tooltip/tooltip.attributes.d.ts +32 -0
- package/dist/components/Tooltip/tooltip.attributes.js +28 -0
- package/dist/components/Tooltip/tooltip.mcp.d.ts +1 -1
- package/dist/components/Tooltip/tooltip.mcp.js +111 -10
- package/dist/components/Tooltip/tooltip.props.d.ts +33 -2
- package/dist/components/Tooltip/tooltip.surface.d.ts +24 -0
- package/dist/components/Tooltip/tooltip.surface.js +42 -0
- package/dist/components/Tree/TreeContextMenuSurface.svelte +16 -3
- package/dist/components/Utils/BeforeHydratation.svelte +14 -3
- package/dist/components/Utils/BeforeHydratation.svelte.d.ts +2 -0
- package/dist/components/VideoPlayer/VideoPlayer.svelte.d.ts +1 -1
- package/dist/components/VideoPlayer/VideoPlayerSettings.svelte +2 -0
- package/dist/generated/componentAliases.d.ts +3 -0
- package/dist/generated/componentAliases.js +3 -0
- package/dist/generated/componentContract.d.ts +79 -34
- package/dist/generated/componentContract.js +231 -6
- package/dist/generated/componentMcpRegistry.js +6 -0
- package/dist/i18n/ar.js +107 -3
- package/dist/i18n/context.svelte.d.ts +6 -0
- package/dist/i18n/context.svelte.js +12 -0
- package/dist/i18n/de.js +101 -3
- package/dist/i18n/en.d.ts +91 -2
- package/dist/i18n/en.js +101 -3
- package/dist/i18n/es.js +101 -3
- package/dist/i18n/fr.js +101 -3
- package/dist/i18n/ja.js +101 -3
- package/dist/i18n/pt.js +101 -3
- package/dist/i18n/zh.js +101 -3
- package/dist/tailwind/geometry.js +7 -0
- package/dist/tailwind/global.js +31 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types.mcp.d.ts +1 -1
- package/dist/types/types.mcp.js +23 -0
- package/dist/utils/cspNonce.d.ts +16 -0
- package/dist/utils/cspNonce.js +39 -0
- package/dist/utils/cva/merge.d.ts +5 -1
- package/dist/utils/cva/merge.js +6 -4
- package/dist/utils/focus.d.ts +34 -0
- package/dist/utils/focus.js +93 -0
- package/dist/utils/focusHistory.d.ts +21 -0
- package/dist/utils/focusHistory.js +99 -0
- package/dist/utils/handlers.d.ts +7 -0
- package/dist/utils/handlers.js +14 -0
- package/dist/utils/hoverIntent.d.ts +42 -0
- package/dist/utils/hoverIntent.js +57 -0
- package/dist/utils/id.d.ts +7 -0
- package/dist/utils/id.js +15 -0
- package/dist/utils/layers.svelte.d.ts +32 -4
- package/dist/utils/layers.svelte.js +214 -21
- package/dist/utils/listFilter.d.ts +44 -0
- package/dist/utils/listFilter.js +130 -0
- package/dist/utils/match.d.ts +35 -0
- package/dist/utils/match.js +36 -0
- package/dist/utils/number.d.ts +126 -0
- package/dist/utils/number.js +401 -0
- package/dist/utils/openChange.d.ts +88 -0
- package/dist/utils/openChange.js +71 -0
- package/dist/utils/openLifecycle.svelte.d.ts +41 -0
- package/dist/utils/openLifecycle.svelte.js +134 -0
- package/dist/utils/pointerDrag.d.ts +10 -0
- package/dist/utils/pointerDrag.js +37 -2
- package/dist/utils/pragmaticDragAndDrop.d.ts +2 -1
- package/dist/utils/pragmaticDragAndDrop.js +8 -3
- package/dist/utils/range.d.ts +62 -0
- package/dist/utils/range.js +70 -0
- package/dist/utils/requestNativeSubmit.d.ts +17 -0
- package/dist/utils/requestNativeSubmit.js +47 -0
- package/dist/utils/safeArea.svelte.d.ts +10 -1
- package/dist/utils/safeArea.svelte.js +19 -11
- package/dist/utils/stateAttributes.d.ts +108 -0
- package/dist/utils/stateAttributes.js +78 -0
- package/dist/utils/swipeVelocity.d.ts +32 -0
- package/dist/utils/swipeVelocity.js +59 -0
- package/dist/utils/timer.svelte.d.ts +65 -2
- package/dist/utils/timer.svelte.js +159 -25
- package/dist/utils/trigger.d.ts +41 -0
- package/dist/utils/trigger.js +103 -0
- package/dist/utils/typeahead.d.ts +9 -0
- package/dist/utils/typeahead.js +21 -9
- package/dist/utils/useDndList.svelte.d.ts +1 -1
- package/dist/utils/useDndList.svelte.js +6 -23
- package/dist/utils/useFocusScope.svelte.d.ts +29 -0
- package/dist/utils/useFocusScope.svelte.js +189 -27
- package/dist/utils/useHoverAction.svelte.d.ts +44 -4
- package/dist/utils/useHoverAction.svelte.js +161 -51
- package/dist/utils/useKeyDown.svelte.d.ts +19 -2
- package/dist/utils/useKeyDown.svelte.js +19 -12
- package/dist/utils/useListNavigation.svelte.d.ts +94 -13
- package/dist/utils/useListNavigation.svelte.js +261 -35
- package/dist/utils/useLiveAnnouncer.svelte.d.ts +77 -2
- package/dist/utils/useLiveAnnouncer.svelte.js +119 -2
- package/dist/utils/useNavigation.svelte.d.ts +36 -3
- package/dist/utils/useNavigation.svelte.js +699 -332
- package/dist/utils/usePressAndHold.svelte.d.ts +38 -0
- package/dist/utils/usePressAndHold.svelte.js +191 -0
- package/dist/utils/useScrollLock.svelte.d.ts +20 -1
- package/dist/utils/useScrollLock.svelte.js +54 -13
- package/dist/utils/useSlidingIndicator.svelte.d.ts +2 -0
- package/dist/utils/useSlidingIndicator.svelte.js +27 -5
- package/dist/utils/useTabBridge.svelte.d.ts +20 -0
- package/dist/utils/useTabBridge.svelte.js +109 -0
- package/dist/utils/values.d.ts +15 -0
- package/dist/utils/values.js +49 -0
- package/package.json +31 -2
- package/dist/generated/componentMcpRegistry.d.ts +0 -142
- package/dist/utils/useDrag.svelte.d.ts +0 -11
- package/dist/utils/useDrag.svelte.js +0 -55
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const dataTableDescription = "\n# DataTable\n\nDataTable is the typed, interactive, virtualized table for application data. Its public API is\nEntasis-native; TanStack Table Core remains private, but it must be installed as an optional peer\ndependency. Use Table for static tabular content.\n\n## Requires\n\nDataTable builds its row model with TanStack Table Core, which ships with entasis.\n\n## Basic usage\n\n```svelte\n<script lang=\"ts\">\n import {\n createDataTableColumnHelper,\n DataTable\n } from './index.ts';\n\n type Person = { id: string; name: string; role: string; active: boolean };\n const column = createDataTableColumnHelper<Person>();\n const columns = [\n column.accessor('name', {\n id: 'name',\n header: 'Name',\n sortable: true,\n filter: { type: 'text' }\n }),\n column.accessor('role', { id: 'role', header: 'Role' }),\n column.accessor('active', {\n id: 'active',\n header: 'Active',\n filter: { type: 'boolean' }\n })\n ];\n</script>\n\n<DataTable\n {items}\n {columns}\n getRowId={(person) => person.id}\n height={420}\n search\n pagination={{ pageSize: 25, pageSizes: [25, 50, 100] }}\n/>\n```\n\n`items`, `columns`, and `getRowId` are required. Without `height`, DataTable fills a\nparent with a definite height so the virtual viewport remains bounded. Pass `virtualize={false}`\ninstead to drop the table into normal document flow at its natural height:\n\n```svelte\n<DataTable {items} {columns} {getRowId} virtualize={false} />\n```\n\n## Core props\n\n- **items**: `readonly TData[]`.\n- **columns**: `readonly DataTableColumn<TData>[]`.\n- **getRowId**: stable row identity used by selection, expansion, virtualization, and focus.\n- **height**: optional `string | number`; otherwise fills a definite-height parent. Only read\n while virtualizing.\n- **virtualize**: default true. False renders every row in normal flow, so the table needs no\n height and no definite-height parent.\n- **density**: `compact | normal | comfortable`, default `normal`.\n- **interactionMode**: `table | grid`, default `table`.\n- **processingMode**: `client | manual`, default `client`.\n- **selectionMode**: `none | single | multiple`, default `none`.\n- **pagination**: `false | DataTablePaginationConfig`. False disables pagination processing.\n `showControls: false` keeps processing active while hiding the built-in footer. The size select\n always offers the current `pageSize`, even when `pageSizes` leaves it out.\n- **search**: false, true, or placeholder/debounce configuration.\n- **showColumnVisibilityControl**: default false.\n- **stickyHeader**, **overscan**, **estimatedRowHeight**, and **animateRows** control rendering.\n- **disabled** blocks sorting controls, selection paths, editing, and column manipulation.\n- **loading** and **error** drive table
|
|
1
|
+
export declare const dataTableDescription = "\n# DataTable\n\nDataTable is the typed, interactive, virtualized table for application data. Its public API is\nEntasis-native; TanStack Table Core remains private, but it must be installed as an optional peer\ndependency. Use Table for static tabular content.\n\n## Requires\n\nDataTable builds its row model with TanStack Table Core, which ships with entasis.\n\n## Basic usage\n\n```svelte\n<script lang=\"ts\">\n import {\n createDataTableColumnHelper,\n DataTable\n } from './index.ts';\n\n type Person = { id: string; name: string; role: string; active: boolean };\n const column = createDataTableColumnHelper<Person>();\n const columns = [\n column.accessor('name', {\n id: 'name',\n header: 'Name',\n sortable: true,\n filter: { type: 'text' }\n }),\n column.accessor('role', { id: 'role', header: 'Role' }),\n column.accessor('active', {\n id: 'active',\n header: 'Active',\n filter: { type: 'boolean' }\n })\n ];\n</script>\n\n<DataTable\n {items}\n {columns}\n getRowId={(person) => person.id}\n height={420}\n search\n pagination={{ pageSize: 25, pageSizes: [25, 50, 100] }}\n/>\n```\n\n`items`, `columns`, and `getRowId` are required. Without `height`, DataTable fills a\nparent with a definite height so the virtual viewport remains bounded. Pass `virtualize={false}`\ninstead to drop the table into normal document flow at its natural height:\n\n```svelte\n<DataTable {items} {columns} {getRowId} virtualize={false} />\n```\n\n## Core props\n\n- **items**: `readonly TData[]`.\n- **columns**: `readonly DataTableColumn<TData>[]`.\n- **getRowId**: stable row identity used by selection, expansion, virtualization, and focus.\n- **height**: optional `string | number`; otherwise fills a definite-height parent. Only read\n while virtualizing.\n- **virtualize**: default true. False renders every row in normal flow, so the table needs no\n height and no definite-height parent.\n- **density**: `compact | normal | comfortable`, default `normal`.\n- **interactionMode**: `table | grid`, default `table`.\n- **processingMode**: `client | manual`, default `client`.\n- **selectionMode**: `none | single | multiple`, default `none`.\n- **pagination**: `false | DataTablePaginationConfig`. False disables pagination processing.\n `showControls: false` keeps processing active while hiding the built-in footer. The size select\n always offers the current `pageSize`, even when `pageSizes` leaves it out.\n- **search**: false, true, or placeholder/debounce configuration.\n- **showColumnVisibilityControl**: default false.\n- **stickyHeader**, **overscan**, **estimatedRowHeight**, and **animateRows** control rendering.\n- **disabled** blocks sorting controls, selection paths, editing, and column manipulation.\n- **loading** and **error** drive the table's loading skeleton and error state. DataTable draws no\n request indicator: show your own (a `NetworkIndicator`, a toast\u2026) from `loading` and the\n `onCellCommit` promise.\n- **api**: bindable narrow external-control instance handle (`DataTableApi<TData>`).\n- **cell** and **header**: table-level renderer snippets with `renderDefault` delegates.\n- **class**, **theme**, **ref**, and Svelte attachments follow Entasis conventions.\n\n## Column definitions\n\n`DataTableColumn<TData, TValue>` supports `id`, `accessor`, required `header`, optional\n`cell` and `aggregatedCell`, sorting, filtering, grouping, aggregation, editing, visibility,\nresizing, reordering, pinning, alignment, `width` / `minWidth` / `maxWidth`, and column\nclasses.\n\nUse `createDataTableColumnHelper<TData>()` to infer accessor values inside cell and editor\nconfiguration. Raw DataTableColumn definitions remain available as an escape hatch.\n\n## Rendering\n\nColumn-level renderers are part of the default rendering chain. A table-level `cell` renderer\nwraps every public ordinary, grouped, aggregated, and placeholder cell. It does not wrap selection\ncells, action cells, detail rows, or active editors. A table-level `header` renderer wraps only\nconfigured public header content; sorting, menus, dragging, resizing, focus, and ARIA remain owned\nby DataTable.\n\n`DataTableCellRenderPayload<TData>` contains the normal cell payload plus `column`,\n`placeholder`, and `renderDefault`. `DataTableHeaderRenderPayload<TData>` contains the normal\nheader payload plus `renderDefault`.\n\n```svelte\n{#snippet cell({ columnId, value, renderDefault })}\n {#if columnId === 'status'}\n <Chip>{value}</Chip>\n {:else}\n {@render renderDefault()}\n {/if}\n{/snippet}\n```\n\nPrecedence is structural rendering or an active editor, then the table-level renderer, then\n`renderDefault`, which resolves the column renderer before the built-in fallback.\n\n## Filters\n\nBuilt-in filters are text, number range, select, multi-select, date range, and boolean.\nA custom filter is `{ type: 'custom', render, predicate }`. Its renderer receives the column,\ncurrent value, active state, `setValue(value)`, and `clear()`; `predicate(row, value,\ncolumnValue)` owns client matching. Filtering, searching, sorting, and grouping reset page one.\n\n## State and external composition\n\nUse `createDataTableState(columns, initialState?, pageSize?)` for controlled state. The bindable\nstate contains sorting, globalFilter, columnFilters, one-based pagination, rowSelection,\ncolumnVisibility, columnOrder, columnPinning, columnSizing, grouping, and expanded.\n\nDataTable updates replace slices immutably and call `onStateChange(nextState)`. Parent-originated\nmutations through `bind:state` are observed without calling that callback again.\n\n`bind:api` exposes a stable `DataTableApi<TData>` with reactive state, totals, visible\nrows, selected loaded rows, save status, and commands for global/column filters, selection clearing,\npage, and page size. Commands use the same guards and reset rules as built-in controls.\n\n```svelte\n<DataTable\n bind:state\n bind:api\n pagination={{ pageSize: 25, showControls: false }}\n {...props}\n/>\n```\n\n## Client and manual processing\n\nClient mode runs filtering, sorting, grouping, aggregation, expansion, and pagination locally.\n\nManual mode delegates filtering, sorting, and pagination together. It requires `rowCount`, and\n`items` must contain the already processed current page. Grouping and aggregation are client-only\nin this release: grouping commands are hidden and unsupported manual grouping state is normalized\naway. Abort stale requests when state changes. In manual mode, `dataTable.selectedRows` includes\nonly loaded row objects; all selected IDs remain in `state.rowSelection`.\n\n## Editing\n\nBuilt-in editors are text, number, select, date, and switch. A custom editor snippet receives row\nmetadata, draft, pending/error state, `setDraft`, `commit`, and `cancel`. DataTable never\nmutates rows; changed values call `onCellCommit` and render optimistically while the\nrequest runs; the edited cell's editor is `pending` and the table is `aria-busy` until it settles. Unchanged drafts close without a commit. Rejection rolls back,\nrestores the editor and draft, and exposes the error. Only one asynchronous transaction can be\nactive or recoverable. Columns with editors do not enter edit mode without `onCellCommit` and\nissue a development warning.\n\nEnter and outside clicks commit, Escape cancels, and Tab commits without leaving the edited cell.\nCalendar selection synchronizes its draft before commit. Arrow keys remain owned by editor controls.\n\n## Slots\n\n- **caption**, **toolbarPrefix**, **toolbarSuffix**, **bulkActions**, **rowActions**,\n **expandedContent**, **loadingContent**, **empty**, **noResults**, and **errorContent**.\n- Toolbar slots receive state, selected loaded rows, visible rows, clearFilters, and clearSelection.\n- Row slots receive row identity, selection/expansion state, depth, and guarded toggle actions.\n- The row actions column is 36px, one icon button; set `rowActionsWidth` (pixels) for text\n buttons or several actions.\n\n## Row activation\n\n`onRowActivate(payload)` receives the row payload plus the native `event`, for modifier keys.\nIt fires on a click anywhere in the row except on a control (link, button, input, label, focusable\nelement), the selection or actions column, a group row, or a click that ends a text selection.\nIn grid mode Enter activates a cell that has no editor and no control. Rows show a pointer while it\nis set. Table-mode rows are not focusable, so keep a link or row action for keyboard users.\n\n## Accessibility and virtualization\n\nTable mode preserves native table semantics. Grid mode uses one roving cell tab stop with arrows,\nTab/Shift+Tab, Home/End, Ctrl+Home/Ctrl+End, and PageUp/PageDown. Focus is reconciled by row and\ncolumn identity after data, pagination, filtering, grouping, and visibility changes. State rows use\ncomplete column spans and keep recovery controls keyboard reachable. Logical row indices derive\nfrom the final grouped/expanded row model.\n\nRows are virtualized by default; `virtualize={false}` renders all of them in normal flow at\ntheir natural height, keeping the same selection, keyboard navigation, and editing paths. Use it for\nsmall datasets that belong in document flow, not for large ones. Semantic table mode keeps all\ncolumns mounted; grid mode additionally virtualizes center columns while pinned columns stay\nmounted. Resize handles support pointer and\nkeyboard resizing. Reorder handles support left/right keyboard movement and pointer movement within\ntheir current pin region. Logical inset positioning preserves RTL pinning.\n";
|
|
@@ -74,7 +74,9 @@ instead to drop the table into normal document flow at its natural height:
|
|
|
74
74
|
- **showColumnVisibilityControl**: default false.
|
|
75
75
|
- **stickyHeader**, **overscan**, **estimatedRowHeight**, and **animateRows** control rendering.
|
|
76
76
|
- **disabled** blocks sorting controls, selection paths, editing, and column manipulation.
|
|
77
|
-
- **loading** and **error** drive table
|
|
77
|
+
- **loading** and **error** drive the table's loading skeleton and error state. DataTable draws no
|
|
78
|
+
request indicator: show your own (a \`NetworkIndicator\`, a toast…) from \`loading\` and the
|
|
79
|
+
\`onCellCommit\` promise.
|
|
78
80
|
- **api**: bindable narrow external-control instance handle (\`DataTableApi<TData>\`).
|
|
79
81
|
- **cell** and **header**: table-level renderer snippets with \`renderDefault\` delegates.
|
|
80
82
|
- **class**, **theme**, **ref**, and Svelte attachments follow Entasis conventions.
|
|
@@ -158,7 +160,7 @@ only loaded row objects; all selected IDs remain in \`state.rowSelection\`.
|
|
|
158
160
|
Built-in editors are text, number, select, date, and switch. A custom editor snippet receives row
|
|
159
161
|
metadata, draft, pending/error state, \`setDraft\`, \`commit\`, and \`cancel\`. DataTable never
|
|
160
162
|
mutates rows; changed values call \`onCellCommit\` and render optimistically while the
|
|
161
|
-
|
|
163
|
+
request runs; the edited cell's editor is \`pending\` and the table is \`aria-busy\` until it settles. Unchanged drafts close without a commit. Rejection rolls back,
|
|
162
164
|
restores the editor and draft, and exposes the error. Only one asynchronous transaction can be
|
|
163
165
|
active or recoverable. Columns with editors do not enter edit mode without \`onCellCommit\` and
|
|
164
166
|
issue a development warning.
|
|
@@ -15,7 +15,6 @@ export declare const dataTableTheme: {
|
|
|
15
15
|
false: string;
|
|
16
16
|
};
|
|
17
17
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
18
|
-
savingIndicator: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
19
18
|
scrollArea: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
20
19
|
virtualTable: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
21
20
|
caption: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
@@ -180,7 +179,6 @@ export declare const setDataTableTheme: (theme: InferComponentTheme<{
|
|
|
180
179
|
false: string;
|
|
181
180
|
};
|
|
182
181
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
183
|
-
savingIndicator: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
184
182
|
scrollArea: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
185
183
|
virtualTable: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
186
184
|
caption: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
@@ -343,7 +341,6 @@ export declare const useDataTableTheme: import("../../utils/cva/theme.js").UseCo
|
|
|
343
341
|
false: string;
|
|
344
342
|
};
|
|
345
343
|
}> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
|
|
346
|
-
savingIndicator: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
347
344
|
scrollArea: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
348
345
|
virtualTable: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
|
|
349
346
|
caption: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
|
|
@@ -30,7 +30,6 @@ const viewport = cva({
|
|
|
30
30
|
},
|
|
31
31
|
defaultVariants: { fill: false }
|
|
32
32
|
});
|
|
33
|
-
const savingIndicator = cva({ base: '!absolute !z-30 !rounded-none' });
|
|
34
33
|
const scrollArea = cva({ base: 'h-full' });
|
|
35
34
|
const virtualTable = cva({ base: 'grid min-w-full table-fixed text-sm' });
|
|
36
35
|
const caption = cva({
|
|
@@ -185,15 +184,20 @@ const pinnedBoundary = cva({
|
|
|
185
184
|
defaultVariants: { side: 'none' }
|
|
186
185
|
});
|
|
187
186
|
const editor = cva({ base: 'relative grid h-full w-full min-w-0 items-center' });
|
|
188
|
-
|
|
187
|
+
// No gap: a field with a label keeps its (visually hidden) label row, and the field's gap
|
|
188
|
+
// beside it would make the cell taller than the row while it edits.
|
|
189
|
+
const editorField = cva({ base: 'w-full min-w-0 gap-0' });
|
|
189
190
|
const editorInput = cva({ base: 'h-auto min-w-0 rounded-none text-sm' });
|
|
191
|
+
// The padding matches the cell's, so the value does not move when editing starts. A field action
|
|
192
|
+
// (the date picker's calendar button) pulls itself into the field's own `px-lg` padding with a
|
|
193
|
+
// negative margin; here it pulls back by the cell padding instead, or it would overflow the cell.
|
|
190
194
|
const editorInputContainer = cva({
|
|
191
195
|
base: 'w-full rounded-none border-0 bg-transparent shadow-none transition-none focus-within:ring-0',
|
|
192
196
|
variants: {
|
|
193
197
|
density: {
|
|
194
|
-
compact: 'min-h-row-sm px-sm py-xs',
|
|
195
|
-
normal: 'min-h-row-md p-md',
|
|
196
|
-
comfortable: 'min-h-row-lg p-lg'
|
|
198
|
+
compact: 'min-h-row-sm px-sm py-xs [&>button:first-child]:-ml-sm [&>button:last-child]:-mr-sm',
|
|
199
|
+
normal: 'min-h-row-md p-md [&>button:first-child]:-ml-md [&>button:last-child]:-mr-md',
|
|
200
|
+
comfortable: 'min-h-row-lg p-lg [&>button:first-child]:-ml-lg [&>button:last-child]:-mr-lg'
|
|
197
201
|
}
|
|
198
202
|
},
|
|
199
203
|
defaultVariants: { density: 'normal' }
|
|
@@ -237,7 +241,6 @@ export const dataTableTheme = {
|
|
|
237
241
|
toolbarGroup,
|
|
238
242
|
search,
|
|
239
243
|
viewport,
|
|
240
|
-
savingIndicator,
|
|
241
244
|
scrollArea,
|
|
242
245
|
virtualTable,
|
|
243
246
|
caption,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { createBindableValue } from '../../utils/state.svelte.js';
|
|
3
|
-
import type { DialogProps } from './dialog.props.js';
|
|
3
|
+
import type { DialogProps, DialogSnapPoint } from './dialog.props.js';
|
|
4
4
|
import { useDialogTheme } from './dialog.theme.js';
|
|
5
5
|
import { DialogState } from './dialog.state.svelte.js';
|
|
6
6
|
import Slot from '../Slot/Slot.svelte';
|
|
@@ -9,11 +9,14 @@
|
|
|
9
9
|
import { fso } from '../../transitions/transition.js';
|
|
10
10
|
import { portal } from '../../attachments/portal.js';
|
|
11
11
|
import { drawerInsetValue } from '../Theme/theme.designTokens.js';
|
|
12
|
+
import { composeHandlers } from '../../utils/handlers.js';
|
|
13
|
+
import { useI18n } from '../../i18n/context.svelte.js';
|
|
12
14
|
|
|
13
15
|
let {
|
|
14
16
|
id: customId,
|
|
15
17
|
type,
|
|
16
18
|
responsive,
|
|
19
|
+
modal = true,
|
|
17
20
|
defaultOpen = false,
|
|
18
21
|
open = $bindable(),
|
|
19
22
|
onOpenChange,
|
|
@@ -24,10 +27,15 @@
|
|
|
24
27
|
transition,
|
|
25
28
|
children,
|
|
26
29
|
closeOnEscape = true,
|
|
27
|
-
closeOnClickOutside
|
|
30
|
+
closeOnClickOutside,
|
|
28
31
|
closable = true,
|
|
32
|
+
focusOnClose,
|
|
29
33
|
swipeToDismiss,
|
|
30
34
|
swipeFrom,
|
|
35
|
+
snapPoints,
|
|
36
|
+
snapPoint = $bindable(),
|
|
37
|
+
defaultSnapPoint,
|
|
38
|
+
onSnapPointChange,
|
|
31
39
|
thumb = true,
|
|
32
40
|
inset,
|
|
33
41
|
class: className,
|
|
@@ -47,6 +55,15 @@
|
|
|
47
55
|
() => defaultOpen
|
|
48
56
|
);
|
|
49
57
|
|
|
58
|
+
const snapState = createBindableValue<DialogSnapPoint | undefined>(
|
|
59
|
+
() => snapPoint,
|
|
60
|
+
(next) => {
|
|
61
|
+
snapPoint = next;
|
|
62
|
+
},
|
|
63
|
+
() => undefined
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
const t = $derived(useI18n());
|
|
50
67
|
const id = $props.id();
|
|
51
68
|
const dialog = new DialogState({
|
|
52
69
|
get id() {
|
|
@@ -67,6 +84,12 @@
|
|
|
67
84
|
get onOpenChange() {
|
|
68
85
|
return onOpenChange;
|
|
69
86
|
},
|
|
87
|
+
get onAfterOpen() {
|
|
88
|
+
return onAfterOpen;
|
|
89
|
+
},
|
|
90
|
+
get onAfterClose() {
|
|
91
|
+
return onAfterClose;
|
|
92
|
+
},
|
|
70
93
|
get size() {
|
|
71
94
|
return size;
|
|
72
95
|
},
|
|
@@ -85,12 +108,33 @@
|
|
|
85
108
|
get closable() {
|
|
86
109
|
return closable;
|
|
87
110
|
},
|
|
111
|
+
get focusOnClose() {
|
|
112
|
+
return focusOnClose;
|
|
113
|
+
},
|
|
88
114
|
get swipeToDismiss() {
|
|
89
115
|
return swipeToDismiss;
|
|
90
116
|
},
|
|
91
117
|
get swipeFrom() {
|
|
92
118
|
return swipeFrom;
|
|
93
119
|
},
|
|
120
|
+
get modal() {
|
|
121
|
+
return modal;
|
|
122
|
+
},
|
|
123
|
+
get snapPoints() {
|
|
124
|
+
return snapPoints;
|
|
125
|
+
},
|
|
126
|
+
get snapPoint() {
|
|
127
|
+
return snapState.value;
|
|
128
|
+
},
|
|
129
|
+
set snapPoint(value) {
|
|
130
|
+
snapState.value = value;
|
|
131
|
+
},
|
|
132
|
+
get defaultSnapPoint() {
|
|
133
|
+
return defaultSnapPoint;
|
|
134
|
+
},
|
|
135
|
+
get onSnapPointChange() {
|
|
136
|
+
return onSnapPointChange;
|
|
137
|
+
},
|
|
94
138
|
get motion() {
|
|
95
139
|
return theme?.motion;
|
|
96
140
|
}
|
|
@@ -100,13 +144,31 @@
|
|
|
100
144
|
|
|
101
145
|
const hasHeader = $derived(!!(title || description));
|
|
102
146
|
|
|
103
|
-
|
|
147
|
+
// A close button that renders nothing (the Popover mobile sheet passes one) leaves the dialog
|
|
148
|
+
// without a visible way to close it, like `closeButton={false}`: the hidden one takes over.
|
|
149
|
+
let customCloseButtonEmpty = $state(false);
|
|
150
|
+
const visibleCloseSuppressed = $derived(closeButton === false || customCloseButtonEmpty);
|
|
151
|
+
const watchCustomCloseButton = (node: HTMLElement) => {
|
|
152
|
+
customCloseButtonEmpty = node.childElementCount === 0 && !node.textContent?.trim();
|
|
153
|
+
return () => {
|
|
154
|
+
customCloseButtonEmpty = false;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
// Wrapped so the lifecycle knows when the panel's transition plays (and when none does).
|
|
159
|
+
const panelTransition = dialog.lifecycle.transition(fso());
|
|
104
160
|
</script>
|
|
105
161
|
|
|
106
162
|
{#snippet CLOSE_BUTTON()}
|
|
107
|
-
{#if closeButton}
|
|
163
|
+
{#if closeButton === false}
|
|
164
|
+
<!-- Suppressed: a hidden button at the end of the panel still closes it for screen readers. -->
|
|
165
|
+
{:else if closeButton}
|
|
108
166
|
<!-- The part positions a custom close button through this wrapper. -->
|
|
109
|
-
<Slot
|
|
167
|
+
<Slot
|
|
168
|
+
class={classes.closeButton({ size: dialog.computedSize })}
|
|
169
|
+
render={closeButton}
|
|
170
|
+
{@attach watchCustomCloseButton}
|
|
171
|
+
/>
|
|
110
172
|
{:else}
|
|
111
173
|
<!-- The default button carries the part itself. Wrapped in the same classes, the empty
|
|
112
174
|
wrapper drew a dot at the corner when hovered (padding, rounded, state layer). -->
|
|
@@ -115,62 +177,73 @@
|
|
|
115
177
|
class={classes.closeButton({ size: dialog.computedSize })}
|
|
116
178
|
size="small"
|
|
117
179
|
variant="ghost"
|
|
180
|
+
label={t.close}
|
|
118
181
|
{@attach (node) => node.setAttribute('data-autofocus-skip', '')}
|
|
119
|
-
onclick={() => dialog.close()}
|
|
182
|
+
onclick={(event) => dialog.close({ reason: 'close-press', event })}
|
|
120
183
|
>
|
|
121
184
|
{@render xIcon({ size: 20 })}
|
|
122
185
|
</Button>
|
|
123
186
|
{/if}
|
|
124
187
|
{/snippet}
|
|
125
188
|
|
|
126
|
-
{#if dialog.
|
|
189
|
+
{#if dialog.isRendered}
|
|
127
190
|
<div
|
|
128
191
|
{@attach portal()}
|
|
129
192
|
id={dialog.id}
|
|
130
|
-
role=
|
|
131
|
-
aria-modal=
|
|
193
|
+
role={dialog.role}
|
|
194
|
+
aria-modal={dialog.modal ? 'true' : undefined}
|
|
132
195
|
aria-labelledby={title ? `${dialog.id}-label` : undefined}
|
|
133
196
|
aria-describedby={description ? `${dialog.id}-description` : undefined}
|
|
134
197
|
data-layer-root
|
|
135
198
|
class={classes.root({
|
|
136
199
|
scroll: dialog.computedScroll,
|
|
200
|
+
modal: dialog.modal,
|
|
137
201
|
className
|
|
138
202
|
})}
|
|
139
|
-
data-type={dialog.
|
|
203
|
+
data-type={dialog.computedType}
|
|
140
204
|
data-size={size}
|
|
205
|
+
data-modal={dialog.modal}
|
|
206
|
+
{...dialog.stateAttributes}
|
|
141
207
|
style:z-index={dialog.zIndex}
|
|
142
208
|
style:--drawer-inset={inset === undefined ? undefined : drawerInsetValue(inset)}
|
|
143
209
|
>
|
|
144
|
-
<div
|
|
210
|
+
<div
|
|
211
|
+
class={classes.align({
|
|
212
|
+
type: dialog.computedType,
|
|
213
|
+
scroll: dialog.computedScroll,
|
|
214
|
+
keyboard: dialog.keyboardAvoiding
|
|
215
|
+
})}
|
|
216
|
+
>
|
|
145
217
|
<div
|
|
146
218
|
{@attach dialog.contentAttachment}
|
|
147
|
-
data-type={dialog.
|
|
219
|
+
data-type={dialog.computedType}
|
|
220
|
+
{...dialog.stateAttributes}
|
|
148
221
|
style:transform={dialog.contentTransform}
|
|
149
|
-
style:transition={dialog.dragging ? 'none' : undefined}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}}
|
|
159
|
-
onoutroend={() => {
|
|
160
|
-
dialog.focusScope.restore();
|
|
161
|
-
onAfterClose?.(dialog);
|
|
162
|
-
}}
|
|
222
|
+
style:transition={dialog.dragging || dialog.followsChild ? 'none' : undefined}
|
|
223
|
+
style:height={dialog.snapPanelHeight === undefined
|
|
224
|
+
? undefined
|
|
225
|
+
: `${dialog.snapPanelHeight}px`}
|
|
226
|
+
style:touch-action={dialog.bodyScrollLocked ? 'none' : undefined}
|
|
227
|
+
in:panelTransition={dialog.computedTransition.in}
|
|
228
|
+
out:panelTransition={dialog.computedTransition.out}
|
|
229
|
+
onintroend={dialog.lifecycle.introEnd}
|
|
230
|
+
onoutroend={dialog.lifecycle.outroEnd}
|
|
163
231
|
class={classes.content({
|
|
164
232
|
size: dialog.computedSize,
|
|
165
233
|
type: dialog.computedType,
|
|
166
|
-
scroll: dialog.computedScroll
|
|
234
|
+
scroll: dialog.computedScroll,
|
|
235
|
+
modal: dialog.modal,
|
|
236
|
+
// A class, not an inline style: Svelte's transitions stash and rewrite the inline
|
|
237
|
+
// `overflow` shorthand, which drops an `overflow-y` longhand when the intro ends.
|
|
238
|
+
className: dialog.bodyScrollLocked ? 'overflow-y-hidden!' : undefined
|
|
167
239
|
})}
|
|
168
240
|
>
|
|
169
241
|
<div
|
|
170
242
|
class="duration-normal ease-standard flex min-h-0 flex-1 flex-col transition-opacity will-change-[opacity]"
|
|
171
243
|
style:opacity={dialog.stackOpacity}
|
|
244
|
+
style:transition={dialog.followsChild ? 'none' : undefined}
|
|
172
245
|
>
|
|
173
|
-
{#if thumb && dialog.
|
|
246
|
+
{#if thumb && dialog.gestureEnabled}
|
|
174
247
|
<div
|
|
175
248
|
aria-hidden="true"
|
|
176
249
|
data-drag-handle
|
|
@@ -180,12 +253,12 @@
|
|
|
180
253
|
<Slot
|
|
181
254
|
as="header"
|
|
182
255
|
render={header}
|
|
183
|
-
attrs={dialog.
|
|
256
|
+
attrs={dialog.gestureEnabled ? { 'data-drag-handle': true } : undefined}
|
|
184
257
|
class={classes.header({
|
|
185
258
|
size: dialog.computedSize,
|
|
186
259
|
// The header doubles as the drag handle on touch, where a scrollable body
|
|
187
260
|
// would otherwise let the browser claim the pan before we can.
|
|
188
|
-
className: dialog.
|
|
261
|
+
className: dialog.gestureEnabled ? 'touch-none' : undefined
|
|
189
262
|
})}
|
|
190
263
|
renderIf={hasHeader}
|
|
191
264
|
>
|
|
@@ -203,11 +276,24 @@
|
|
|
203
276
|
{@render CLOSE_BUTTON()}
|
|
204
277
|
{/if}
|
|
205
278
|
</Slot>
|
|
206
|
-
{#if !hasHeader}
|
|
279
|
+
{#if !hasHeader && closable}
|
|
207
280
|
{@render CLOSE_BUTTON()}
|
|
208
281
|
{/if}
|
|
209
282
|
{@render children?.(dialog)}
|
|
210
283
|
<Slot render={footer} class={classes.footer({ size: dialog.computedSize })} />
|
|
284
|
+
{#if closable && !dialog.isAlert && visibleCloseSuppressed}
|
|
285
|
+
<!-- Out of the Tab order (Escape and the sheet's own gestures serve sighted keyboard and
|
|
286
|
+
touch users), but in the accessibility tree for a screen reader's virtual cursor. -->
|
|
287
|
+
<button
|
|
288
|
+
type="button"
|
|
289
|
+
class="sr-only"
|
|
290
|
+
tabindex="-1"
|
|
291
|
+
data-autofocus-skip
|
|
292
|
+
onclick={(event) => dialog.close({ reason: 'close-press', event })}
|
|
293
|
+
>
|
|
294
|
+
{t.close}
|
|
295
|
+
</button>
|
|
296
|
+
{/if}
|
|
211
297
|
</div>
|
|
212
298
|
</div>
|
|
213
299
|
</div>
|
|
@@ -220,11 +306,10 @@
|
|
|
220
306
|
{@const { content, children, onclick, ...buttonProps } = trigger}
|
|
221
307
|
<Button
|
|
222
308
|
{...buttonProps}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
dialog.open();
|
|
226
|
-
}}
|
|
309
|
+
{...dialog.triggerProps}
|
|
310
|
+
onclick={composeHandlers(onclick, (event) => dialog.open(event))}
|
|
227
311
|
children={children ?? content}
|
|
312
|
+
{@attach dialog.reference}
|
|
228
313
|
/>
|
|
229
314
|
{/if}
|
|
230
315
|
{/if}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { DialogProps } from './dialog.props.js';
|
|
2
|
-
declare const Dialog: import("svelte").Component<DialogProps, {}, "open">;
|
|
2
|
+
declare const Dialog: import("svelte").Component<DialogProps, {}, "open" | "snapPoint">;
|
|
3
3
|
type Dialog = ReturnType<typeof Dialog>;
|
|
4
4
|
export default Dialog;
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
import type { ResolvedMotion } from '../../utils/motion/index.js';
|
|
8
8
|
import { portal } from '../../attachments/portal.js';
|
|
9
9
|
import { useScrollLock } from '../../utils/useScrollLock.svelte.js';
|
|
10
|
+
import { applyDialogIndent } from './dialog.indent.js';
|
|
11
|
+
import { applyStateAttributes, openStateAttributes } from '../../utils/stateAttributes.js';
|
|
10
12
|
|
|
11
13
|
const theme = useTheme();
|
|
12
14
|
const classes = $derived(useDialogTheme());
|
|
@@ -18,7 +20,9 @@
|
|
|
18
20
|
const resolveMotion = useDialogMotion();
|
|
19
21
|
const fallbackMotion = $derived(resolveMotion({ type: 'modal' }));
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
// Only modal dialogs dim the page, lock its scroll and move it back; a non-modal one leaves
|
|
24
|
+
// the page as it is.
|
|
25
|
+
const openDialogs = $derived(theme.layers.ofKind('dialog').filter((layer) => layer.isModal));
|
|
22
26
|
const isVisible = $derived(openDialogs.length > 0);
|
|
23
27
|
|
|
24
28
|
// Swipe-to-dismiss on the top drawer fades the backdrop with the drag; a snap-back
|
|
@@ -38,6 +42,20 @@
|
|
|
38
42
|
);
|
|
39
43
|
|
|
40
44
|
useScrollLock({ isActive: () => openDialogs.length > 0 });
|
|
45
|
+
|
|
46
|
+
// `data-open` / `data-closed` follow the stack from here: the template's own attributes freeze
|
|
47
|
+
// while the backdrop's fade-out plays (Svelte pauses an outroing block's effects).
|
|
48
|
+
let backdrop = $state<HTMLElement | null>(null);
|
|
49
|
+
$effect(() => {
|
|
50
|
+
if (backdrop) applyStateAttributes(backdrop, openStateAttributes(isVisible));
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// `data-dialog-open` and `--dialog-depth` on <html>, for pages that scale back behind a sheet.
|
|
54
|
+
$effect(() => {
|
|
55
|
+
const depth = openDialogs.length;
|
|
56
|
+
if (depth === 0) return;
|
|
57
|
+
return applyDialogIndent(document.documentElement, depth);
|
|
58
|
+
});
|
|
41
59
|
</script>
|
|
42
60
|
|
|
43
61
|
{#if isVisible}
|
|
@@ -48,7 +66,9 @@
|
|
|
48
66
|
aria-hidden="true"
|
|
49
67
|
>
|
|
50
68
|
<div
|
|
69
|
+
bind:this={backdrop}
|
|
51
70
|
class={classes.backdrop()}
|
|
71
|
+
{...openStateAttributes(isVisible)}
|
|
52
72
|
style:opacity={dragOpacity}
|
|
53
73
|
style:transition={top?.dragging
|
|
54
74
|
? 'none'
|
|
@@ -0,0 +1,65 @@
|
|
|
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 { DialogProps, DialogSnapPoint, DialogType } from './dialog.props.js';
|
|
5
|
+
import type { DialogOpenChangeInput } from './dialog.state.svelte.js';
|
|
6
|
+
/**
|
|
7
|
+
* The dialog 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.
|
|
10
|
+
*/
|
|
11
|
+
export interface DialogApi {
|
|
12
|
+
/** The dialog id, which the open trigger's `aria-controls` points at. */
|
|
13
|
+
readonly id: string;
|
|
14
|
+
/** Whether the dialog is open. */
|
|
15
|
+
readonly isOpen: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Where the dialog 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
|
+
/** Whether the dialog is modal. */
|
|
22
|
+
readonly modal: boolean;
|
|
23
|
+
/** The type resolved for the current viewport, after the mobile-sheet collapse. */
|
|
24
|
+
readonly computedType: DialogType;
|
|
25
|
+
/** The point a snap-point drawer rests at, as written in `snapPoints`. */
|
|
26
|
+
readonly currentSnapPoint: DialogSnapPoint | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Trigger state in the library's semantic vocabulary (`haspopup`, `expanded`, `controls`), to
|
|
29
|
+
* spread on a Button. `trigger` and `reference` already write it as ARIA attributes.
|
|
30
|
+
*/
|
|
31
|
+
readonly triggerProps: PopupTriggerProps;
|
|
32
|
+
/** Requests opening through `onOpenChange`. */
|
|
33
|
+
readonly open: (input?: DialogOpenChangeInput) => void;
|
|
34
|
+
/** Requests closing through `onOpenChange`. */
|
|
35
|
+
readonly close: (input?: DialogOpenChangeInput) => void;
|
|
36
|
+
/** Requests the other state through `onOpenChange`. */
|
|
37
|
+
readonly toggle: (input?: DialogOpenChangeInput) => void;
|
|
38
|
+
/** Requests an explicit state; returns `false` when `onOpenChange` cancelled it. */
|
|
39
|
+
setOpen(open: boolean, input?: DialogOpenChangeInput): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Moves a snap-point drawer to one of its `snapPoints` (or the nearest to `point`) through
|
|
42
|
+
* `onSnapPointChange`; returns `false` when it did not move.
|
|
43
|
+
*/
|
|
44
|
+
setSnapPoint(point: DialogSnapPoint, input?: DialogOpenChangeInput): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Makes any element the dialog's trigger (`{@attach dialog.trigger}`): `reference`, plus a
|
|
47
|
+
* click that opens the dialog, and on a non-control `role="button"`, `tabindex="0"` and
|
|
48
|
+
* Enter/Space activation. The element's own handler runs first.
|
|
49
|
+
*/
|
|
50
|
+
readonly trigger: Attachment<HTMLElement>;
|
|
51
|
+
/**
|
|
52
|
+
* Keeps a custom trigger's `aria-haspopup`, `aria-expanded` and `aria-controls` in sync and
|
|
53
|
+
* makes it the element focus returns to, leaving clicks to the element.
|
|
54
|
+
*/
|
|
55
|
+
readonly reference: Attachment<HTMLElement>;
|
|
56
|
+
/** @deprecated Read `status === 'open'`; kept for one minor. */
|
|
57
|
+
readonly hasTransitioned: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* @deprecated Read `computedType` for the type in effect, or the `type` prop you passed; kept
|
|
60
|
+
* for one minor.
|
|
61
|
+
*/
|
|
62
|
+
readonly type?: DialogProps['type'];
|
|
63
|
+
/** @deprecated Read the `size` prop you passed; kept for one minor. */
|
|
64
|
+
readonly size?: DialogProps['size'];
|
|
65
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The styling hooks a Dialog exposes. Attributes are presence attributes (`''` while the state
|
|
3
|
+
* holds, omitted otherwise) unless the description says they carry a value.
|
|
4
|
+
*/
|
|
5
|
+
export declare const dialogDataAttributes: {
|
|
6
|
+
readonly 'data-open': "On the root (`role=\"dialog\"`), the panel and the shared backdrop: present while open.";
|
|
7
|
+
readonly 'data-closed': "On the root, the panel and the backdrop: present while their exit transition plays (a closed dialog is not rendered).";
|
|
8
|
+
readonly 'data-entering': "On the root and the panel: present while the enter transition plays.";
|
|
9
|
+
readonly 'data-exiting': "On the root and the panel: present while the exit transition plays.";
|
|
10
|
+
readonly 'data-type': "On the root and the panel: the type actually shown (`modal`, `drawerBottom`, ...), after responsive records and the mobile-sheet fallback resolve.";
|
|
11
|
+
readonly 'data-modal': "On the root: `true` or `false`, whether the dialog is modal.";
|
|
12
|
+
readonly 'data-popup-open': "On the trigger (the built-in button, or an element with `dialog.trigger` / `dialog.reference`): present while the dialog is open.";
|
|
13
|
+
readonly 'data-dialog-open': "On `<html>`: present while at least one modal dialog is open.";
|
|
14
|
+
};
|
|
15
|
+
/** The name of a Dialog data attribute. */
|
|
16
|
+
export type DialogDataAttribute = keyof typeof dialogDataAttributes;
|
|
17
|
+
export declare const dialogCssVariables: {
|
|
18
|
+
readonly '--dialog-depth': "On `<html>`: how many modal dialogs are open (`1` for a single sheet), for pages that scale back behind a sheet.";
|
|
19
|
+
readonly '--drawer-inset': "On the root: the gap between a drawer and the screen edge, from the `inset` prop or the theme.";
|
|
20
|
+
readonly '--drawer-edge-radius': "On a drawer's panel: the radius of its screen-edge corners, `0` while it touches the edge.";
|
|
21
|
+
};
|
|
22
|
+
/** The name of a Dialog CSS variable. */
|
|
23
|
+
export type DialogCssVariable = keyof typeof dialogCssVariables;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The styling hooks a Dialog exposes. Attributes are presence attributes (`''` while the state
|
|
3
|
+
* holds, omitted otherwise) unless the description says they carry a value.
|
|
4
|
+
*/
|
|
5
|
+
export const dialogDataAttributes = {
|
|
6
|
+
'data-open': 'On the root (`role="dialog"`), the panel and the shared backdrop: present while open.',
|
|
7
|
+
'data-closed': 'On the root, the panel and the backdrop: present while their exit transition plays (a closed dialog is not rendered).',
|
|
8
|
+
'data-entering': 'On the root and the panel: present while the enter transition plays.',
|
|
9
|
+
'data-exiting': 'On the root and the panel: present while the exit transition plays.',
|
|
10
|
+
'data-type': 'On the root and the panel: the type actually shown (`modal`, `drawerBottom`, ...), after responsive records and the mobile-sheet fallback resolve.',
|
|
11
|
+
'data-modal': 'On the root: `true` or `false`, whether the dialog is modal.',
|
|
12
|
+
'data-popup-open': 'On the trigger (the built-in button, or an element with `dialog.trigger` / `dialog.reference`): present while the dialog is open.',
|
|
13
|
+
'data-dialog-open': 'On `<html>`: present while at least one modal dialog is open.'
|
|
14
|
+
};
|
|
15
|
+
export const dialogCssVariables = {
|
|
16
|
+
'--dialog-depth': 'On `<html>`: how many modal dialogs are open (`1` for a single sheet), for pages that scale back behind a sheet.',
|
|
17
|
+
'--drawer-inset': 'On the root: the gap between a drawer and the screen edge, from the `inset` prop or the theme.',
|
|
18
|
+
'--drawer-edge-radius': "On a drawer's panel: the radius of its screen-edge corners, `0` while it touches the edge."
|
|
19
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Attribute on `<html>` while at least one modal dialog is open. */
|
|
2
|
+
export declare const DIALOG_OPEN_ATTRIBUTE = "data-dialog-open";
|
|
3
|
+
/** Custom property on `<html>`: how many modal dialogs are open (`1` for a single sheet). */
|
|
4
|
+
export declare const DIALOG_DEPTH_VARIABLE = "--dialog-depth";
|
|
5
|
+
/** Writes the hooks for `depth` open modal dialogs on `root`; the returned function removes them. */
|
|
6
|
+
export declare const applyDialogIndent: (root: HTMLElement, depth: number) => () => void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// The indent effect: while a modal dialog is open, `<html>` carries a hook for the page behind to
|
|
2
|
+
// move back (scale and round the app shell behind a sheet) and the stack's depth, with nothing
|
|
3
|
+
// the page has to measure.
|
|
4
|
+
/** Attribute on `<html>` while at least one modal dialog is open. */
|
|
5
|
+
export const DIALOG_OPEN_ATTRIBUTE = 'data-dialog-open';
|
|
6
|
+
/** Custom property on `<html>`: how many modal dialogs are open (`1` for a single sheet). */
|
|
7
|
+
export const DIALOG_DEPTH_VARIABLE = '--dialog-depth';
|
|
8
|
+
/** Writes the hooks for `depth` open modal dialogs on `root`; the returned function removes them. */
|
|
9
|
+
export const applyDialogIndent = (root, depth) => {
|
|
10
|
+
root.setAttribute(DIALOG_OPEN_ATTRIBUTE, '');
|
|
11
|
+
root.style.setProperty(DIALOG_DEPTH_VARIABLE, String(depth));
|
|
12
|
+
return () => {
|
|
13
|
+
root.removeAttribute(DIALOG_OPEN_ATTRIBUTE);
|
|
14
|
+
root.style.removeProperty(DIALOG_DEPTH_VARIABLE);
|
|
15
|
+
};
|
|
16
|
+
};
|