entasis 0.10.2 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/attachments/disclosurePanel.svelte.d.ts +84 -0
- package/dist/attachments/disclosurePanel.svelte.js +277 -0
- package/dist/attachments/portal.d.ts +17 -1
- package/dist/attachments/portal.js +39 -2
- package/dist/attachments/spinnerOverlay.svelte.js +12 -0
- package/dist/attachments/transitionSize.d.ts +6 -0
- package/dist/attachments/transitionSize.js +30 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestion.svelte +131 -17
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFileStep.svelte +26 -6
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFileStep.svelte.d.ts +6 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFooter.svelte +27 -53
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionFooter.svelte.d.ts +3 -4
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionHeader.svelte +19 -16
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionStep.svelte +180 -21
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionStep.svelte.d.ts +9 -1
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionSummary.svelte +56 -0
- package/dist/components/AIAskUserQuestion/AIAskUserQuestionSummary.svelte.d.ts +4 -0
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.mcp.d.ts +1 -1
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.mcp.js +26 -8
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.props.d.ts +62 -5
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.d.ts +42 -0
- package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.js +53 -12
- package/dist/components/AIAskUserQuestion/aiAskUserQuestionAnswers.d.ts +17 -1
- package/dist/components/AIAskUserQuestion/aiAskUserQuestionAnswers.js +56 -8
- package/dist/components/AIAskUserQuestion/index.d.ts +3 -1
- package/dist/components/AIAskUserQuestion/index.js +2 -0
- package/dist/components/AIAskUserQuestion/schemas.d.ts +44 -0
- package/dist/components/AIAskUserQuestion/schemas.js +10 -3
- package/dist/components/AIChat/AIChat.svelte +10 -0
- package/dist/components/AIChat/AIChat.svelte.d.ts +2 -2
- package/dist/components/AIChat/AIChatComposerSurface.svelte +23 -5
- package/dist/components/AIChat/AIChatComposerSurface.svelte.d.ts +5 -0
- package/dist/components/AIChat/AIChatSkeleton.svelte +29 -37
- package/dist/components/AIChat/AIChatSurface.svelte +30 -2
- package/dist/components/AIChat/AIChatSurface.svelte.d.ts +1 -1
- package/dist/components/AIChat/AIChatThreadSurface.svelte +11 -1
- package/dist/components/AIChat/AIChatThreadSurface.svelte.d.ts +3 -1
- package/dist/components/AIChat/aiChat.mcp.d.ts +1 -1
- package/dist/components/AIChat/aiChat.mcp.js +31 -15
- package/dist/components/AIChat/aiChat.props.d.ts +36 -10
- package/dist/components/AIChat/aiChat.theme.d.ts +9 -0
- package/dist/components/AIChat/aiChat.theme.js +21 -4
- package/dist/components/AIChat/aiChatSkeleton.props.d.ts +5 -0
- package/dist/components/AIChat/index.d.ts +1 -1
- package/dist/components/AIComposer/AIComposer.svelte +102 -5
- package/dist/components/AIComposer/AIComposer.svelte.d.ts +1 -0
- package/dist/components/AIComposer/AIComposerFooter.svelte +54 -12
- package/dist/components/AIComposer/AIComposerFooter.svelte.d.ts +2 -0
- package/dist/components/AIComposer/AIComposerQueue.svelte +8 -3
- package/dist/components/AIComposer/aiComposer.editor.theme.js +13 -2
- package/dist/components/AIComposer/aiComposer.mcp.d.ts +1 -1
- package/dist/components/AIComposer/aiComposer.mcp.js +15 -7
- package/dist/components/AIComposer/aiComposer.props.d.ts +27 -7
- package/dist/components/AIComposer/aiComposer.theme.d.ts +42 -3
- package/dist/components/AIComposer/aiComposer.theme.js +37 -5
- package/dist/components/AIComposer/aiComposerFileController.svelte.d.ts +20 -0
- package/dist/components/AIComposer/aiComposerFileController.svelte.js +75 -9
- package/dist/components/AIComposer/aiComposerSourceAdapter.js +22 -4
- package/dist/components/AIComposer/aiComposerSubmitController.svelte.d.ts +12 -0
- package/dist/components/AIComposer/aiComposerSubmitController.svelte.js +16 -6
- package/dist/components/AIContext/AIContext.svelte +7 -3
- package/dist/components/AIContext/aiContext.mcp.d.ts +1 -1
- package/dist/components/AIContext/aiContext.mcp.js +1 -1
- package/dist/components/AIContext/aiContext.props.d.ts +4 -1
- package/dist/components/AIContext/aiContext.theme.d.ts +3 -0
- package/dist/components/AIContext/aiContext.theme.js +7 -2
- package/dist/components/AIConversation/AIConversation.svelte.d.ts +2 -2
- package/dist/components/AIFilePreview/aiFilePreview.theme.js +1 -1
- package/dist/components/AIMarker/AIMarker.svelte +2 -0
- package/dist/components/AIMarker/aiMarker.mcp.d.ts +1 -1
- package/dist/components/AIMarker/aiMarker.mcp.js +2 -0
- package/dist/components/AIMarker/aiMarker.props.d.ts +3 -0
- package/dist/components/AIMarker/aiMarker.theme.js +2 -2
- package/dist/components/AIMessage/AIMessage.svelte +38 -16
- package/dist/components/AIMessage/aiMessage.mcp.d.ts +1 -1
- package/dist/components/AIMessage/aiMessage.mcp.js +20 -6
- package/dist/components/AIMessage/aiMessage.props.d.ts +18 -2
- package/dist/components/AIMessage/aiMessage.theme.d.ts +51 -6
- package/dist/components/AIMessage/aiMessage.theme.js +91 -32
- package/dist/components/AIMessageActions/AIMessageActions.svelte +19 -9
- package/dist/components/AIMessageActions/aiMessageActions.mcp.d.ts +1 -1
- package/dist/components/AIMessageActions/aiMessageActions.mcp.js +11 -3
- package/dist/components/AIMessageActions/aiMessageActions.theme.js +36 -9
- package/dist/components/AIModelSelector/AIModelSelector.svelte +25 -10
- package/dist/components/AIModelSelector/aiModelSelector.mcp.d.ts +1 -1
- package/dist/components/AIModelSelector/aiModelSelector.mcp.js +1 -1
- package/dist/components/AIModelSelector/aiModelSelector.theme.d.ts +3 -0
- package/dist/components/AIModelSelector/aiModelSelector.theme.js +7 -3
- package/dist/components/AIReasoning/AIReasoning.svelte +135 -38
- package/dist/components/AIReasoning/aiReasoning.mcp.d.ts +1 -1
- package/dist/components/AIReasoning/aiReasoning.mcp.js +11 -5
- package/dist/components/AIReasoning/aiReasoning.props.d.ts +15 -4
- package/dist/components/AIReasoning/aiReasoning.theme.d.ts +45 -0
- package/dist/components/AIReasoning/aiReasoning.theme.js +47 -7
- package/dist/components/AISuggestion/AISuggestion.svelte +2 -1
- package/dist/components/AISuggestion/AISuggestions.svelte +2 -1
- package/dist/components/AISuggestion/aiSuggestion.mcp.d.ts +1 -1
- package/dist/components/AISuggestion/aiSuggestion.mcp.js +8 -1
- package/dist/components/AISuggestion/aiSuggestion.props.d.ts +4 -1
- package/dist/components/AISuggestion/aiSuggestion.theme.js +1 -1
- package/dist/components/AISuggestion/aiSuggestions.props.d.ts +7 -0
- package/dist/components/AIThread/AIThread.svelte +378 -95
- package/dist/components/AIThread/AIThreadAskUserQuestion.svelte +1 -0
- package/dist/components/AIThread/AIThreadItems.svelte +266 -64
- package/dist/components/AIThread/AIThreadItems.svelte.d.ts +7 -3
- package/dist/components/AIThread/AIThreadMarker.svelte +8 -1
- package/dist/components/AIThread/AIThreadMarker.svelte.d.ts +1 -0
- package/dist/components/AIThread/aiThread.mcp.d.ts +1 -1
- package/dist/components/AIThread/aiThread.mcp.js +34 -20
- package/dist/components/AIThread/aiThread.props.d.ts +73 -8
- package/dist/components/AIThread/aiThread.theme.d.ts +78 -0
- package/dist/components/AIThread/aiThread.theme.js +108 -9
- package/dist/components/AIThread/index.d.ts +1 -1
- package/dist/components/AIThread/threadAskUserQuestion.d.ts +4 -1
- package/dist/components/AIThread/threadAskUserQuestion.js +8 -4
- package/dist/components/AIThread/threadRenderItems.d.ts +74 -3
- package/dist/components/AIThread/threadRenderItems.js +265 -77
- package/dist/components/AIThread/threadScrollController.d.ts +0 -8
- package/dist/components/AIThread/threadScrollController.js +2 -39
- package/dist/components/AIThread/threadTools.d.ts +11 -0
- package/dist/components/AIThread/threadTools.js +79 -0
- package/dist/components/AIThreadToc/AIThreadToc.svelte +188 -18
- package/dist/components/AIThreadToc/AIThreadTocPreview.svelte +25 -2
- package/dist/components/AIThreadToc/AIThreadTocPreview.svelte.d.ts +3 -0
- package/dist/components/AIThreadToc/aiThreadToc.d.ts +4 -2
- package/dist/components/AIThreadToc/aiThreadToc.js +17 -5
- package/dist/components/AIThreadToc/aiThreadToc.mcp.d.ts +1 -1
- package/dist/components/AIThreadToc/aiThreadToc.mcp.js +13 -3
- package/dist/components/AIThreadToc/aiThreadToc.props.d.ts +11 -0
- package/dist/components/AIThreadToc/aiThreadToc.theme.d.ts +3 -0
- package/dist/components/AIThreadToc/aiThreadToc.theme.js +15 -6
- package/dist/components/AITool/AITool.svelte +56 -21
- package/dist/components/AITool/AIToolCallList.svelte +79 -29
- package/dist/components/AITool/AIToolCallList.svelte.d.ts +6 -2
- package/dist/components/AITool/AIToolStatusMark.svelte +52 -0
- package/dist/components/AITool/AIToolStatusMark.svelte.d.ts +14 -0
- package/dist/components/AITool/AIToolValueSection.svelte +126 -28
- package/dist/components/AITool/AIToolValueSection.svelte.d.ts +6 -2
- package/dist/components/AITool/AIToolValueTree.svelte +11 -16
- package/dist/components/AITool/AIToolValueTree.svelte.d.ts +2 -3
- package/dist/components/AITool/aiTool.mcp.d.ts +1 -1
- package/dist/components/AITool/aiTool.mcp.js +36 -8
- package/dist/components/AITool/aiTool.props.d.ts +52 -6
- package/dist/components/AITool/aiTool.theme.d.ts +117 -39
- package/dist/components/AITool/aiTool.theme.js +144 -140
- package/dist/components/AITool/aiToolClock.svelte.d.ts +18 -0
- package/dist/components/AITool/aiToolClock.svelte.js +62 -0
- package/dist/components/AITool/aiToolPrimitiveThemes.d.ts +0 -2
- package/dist/components/AITool/aiToolPrimitiveThemes.js +0 -10
- package/dist/components/AITool/index.d.ts +2 -1
- package/dist/components/AITool/index.js +1 -0
- package/dist/components/AITool/toolRendering.d.ts +33 -1
- package/dist/components/AITool/toolRendering.js +179 -15
- package/dist/components/AITool/toolValueTree.d.ts +14 -1
- package/dist/components/AITool/toolValueTree.js +126 -27
- package/dist/components/Accordion/Accordion.svelte +109 -109
- package/dist/components/Accordion/Accordion.svelte.d.ts +0 -1
- package/dist/components/Accordion/AccordionPanel.svelte +64 -0
- package/dist/components/Accordion/AccordionPanel.svelte.d.ts +20 -0
- package/dist/components/Accordion/accordion.attributes.d.ts +24 -0
- package/dist/components/Accordion/accordion.attributes.js +20 -0
- package/dist/components/Accordion/accordion.mcp.d.ts +1 -1
- package/dist/components/Accordion/accordion.mcp.js +78 -22
- package/dist/components/Accordion/accordion.props.d.ts +54 -10
- package/dist/components/Accordion/accordion.theme.d.ts +3 -0
- package/dist/components/Accordion/accordion.theme.js +4 -0
- package/dist/components/Accordion/index.d.ts +1 -0
- package/dist/components/Accordion/index.js +1 -0
- package/dist/components/AudioPlayer/audioPlayerVolumeControl.slider.theme.d.ts +31 -1
- package/dist/components/Avatar/Avatar.svelte +60 -10
- package/dist/components/Avatar/AvatarGroup.svelte +9 -0
- package/dist/components/Avatar/avatar.mcp.d.ts +1 -1
- package/dist/components/Avatar/avatar.mcp.js +13 -5
- package/dist/components/Avatar/avatar.props.d.ts +28 -1
- package/dist/components/Avatar/avatar.theme.js +3 -3
- package/dist/components/Avatar/index.d.ts +1 -1
- package/dist/components/Breadcrumbs/breadcrumbs.mcp.d.ts +1 -1
- package/dist/components/Breadcrumbs/breadcrumbs.mcp.js +1 -1
- package/dist/components/Button/Button.svelte +35 -15
- package/dist/components/Button/button.mcp.d.ts +1 -1
- package/dist/components/Button/button.mcp.js +8 -4
- package/dist/components/Button/button.props.d.ts +23 -8
- package/dist/components/Button/button.theme.d.ts +12 -0
- package/dist/components/Button/button.theme.js +17 -4
- package/dist/components/ButtonGroup/buttonGroup.mcp.d.ts +1 -1
- package/dist/components/ButtonGroup/buttonGroup.mcp.js +1 -1
- package/dist/components/ButtonGroup/buttonGroup.props.d.ts +4 -1
- package/dist/components/Collapsible/Collapsible.svelte +125 -19
- package/dist/components/Collapsible/collapsible.attributes.d.ts +21 -0
- package/dist/components/Collapsible/collapsible.attributes.js +17 -0
- package/dist/components/Collapsible/collapsible.mcp.d.ts +1 -1
- package/dist/components/Collapsible/collapsible.mcp.js +62 -12
- package/dist/components/Collapsible/collapsible.props.d.ts +39 -8
- package/dist/components/Collapsible/collapsible.theme.js +3 -1
- package/dist/components/Collapsible/index.d.ts +1 -0
- package/dist/components/Collapsible/index.js +1 -0
- package/dist/components/Command/Command.svelte +56 -14
- package/dist/components/Command/command.mcp.d.ts +1 -1
- package/dist/components/Command/command.mcp.js +12 -6
- package/dist/components/Command/command.props.d.ts +39 -6
- package/dist/components/Command/command.state.svelte.d.ts +40 -11
- package/dist/components/Command/command.state.svelte.js +75 -28
- package/dist/components/Command/command.theme.js +4 -3
- package/dist/components/Confirmation/Confirmation.svelte +72 -31
- package/dist/components/Confirmation/confirmation.mcp.d.ts +1 -1
- package/dist/components/Confirmation/confirmation.mcp.js +5 -4
- package/dist/components/ContextMenu/ContextMenu.svelte +126 -16
- package/dist/components/ContextMenu/contextMenu.mcp.d.ts +1 -1
- package/dist/components/ContextMenu/contextMenu.mcp.js +10 -7
- package/dist/components/ContextMenu/contextMenu.props.d.ts +13 -4
- package/dist/components/ContextMenu/contextMenu.theme.d.ts +3 -3
- package/dist/components/ContextMenu/contextMenu.theme.js +3 -2
- package/dist/components/DataTable/DataTable.svelte +4 -9
- package/dist/components/DataTable/DataTableEditor.svelte +5 -0
- package/dist/components/DataTable/DataTableFilter.svelte +1 -0
- package/dist/components/DataTable/DataTableToolbar.svelte +1 -0
- package/dist/components/DataTable/dataTable.mcp.d.ts +1 -1
- package/dist/components/DataTable/dataTable.mcp.js +4 -2
- package/dist/components/DataTable/dataTable.theme.d.ts +0 -3
- package/dist/components/DataTable/dataTable.theme.js +9 -6
- package/dist/components/Dialog/Dialog.svelte +120 -35
- package/dist/components/Dialog/Dialog.svelte.d.ts +1 -1
- package/dist/components/Dialog/DialogBackdrop.svelte +21 -1
- package/dist/components/Dialog/dialog.api.d.ts +65 -0
- package/dist/components/Dialog/dialog.api.js +1 -0
- package/dist/components/Dialog/dialog.attributes.d.ts +23 -0
- package/dist/components/Dialog/dialog.attributes.js +19 -0
- package/dist/components/Dialog/dialog.indent.d.ts +6 -0
- package/dist/components/Dialog/dialog.indent.js +16 -0
- package/dist/components/Dialog/dialog.mcp.d.ts +1 -1
- package/dist/components/Dialog/dialog.mcp.js +195 -22
- package/dist/components/Dialog/dialog.props.d.ts +102 -19
- package/dist/components/Dialog/dialog.snap.d.ts +40 -0
- package/dist/components/Dialog/dialog.snap.js +78 -0
- package/dist/components/Dialog/dialog.state.svelte.d.ts +122 -10
- package/dist/components/Dialog/dialog.state.svelte.js +525 -66
- package/dist/components/Dialog/dialog.theme.d.ts +48 -0
- package/dist/components/Dialog/dialog.theme.js +32 -9
- package/dist/components/Dialog/index.d.ts +4 -1
- package/dist/components/Dialog/index.js +1 -0
- package/dist/components/DocumentViewer/DocumentSearchControl.svelte +5 -3
- package/dist/components/DocumentViewer/documentOutput.js +2 -1
- package/dist/components/FloatingWindow/FloatingWindow.svelte +20 -32
- package/dist/components/FloatingWindow/FloatingWindow.svelte.d.ts +1 -1
- package/dist/components/FloatingWindow/floatingWindow.mcp.d.ts +1 -1
- package/dist/components/FloatingWindow/floatingWindow.mcp.js +3 -3
- package/dist/components/FloatingWindow/floatingWindow.props.d.ts +9 -4
- package/dist/components/FloatingWindow/floatingWindow.state.svelte.d.ts +8 -2
- package/dist/components/FloatingWindow/floatingWindow.state.svelte.js +18 -7
- package/dist/components/Form/Ask/Ask.svelte +9 -13
- package/dist/components/Form/Ask/ask.mcp.d.ts +1 -1
- package/dist/components/Form/Ask/ask.mcp.js +1 -1
- package/dist/components/Form/Ask/ask.props.d.ts +1 -1
- package/dist/components/Form/Autocomplete/Autocomplete.svelte +418 -0
- package/dist/components/Form/Autocomplete/Autocomplete.svelte.d.ts +4 -0
- package/dist/components/Form/Autocomplete/autocomplete.items.d.ts +30 -0
- package/dist/components/Form/Autocomplete/autocomplete.items.js +64 -0
- package/dist/components/Form/Autocomplete/autocomplete.mcp.d.ts +1 -0
- package/dist/components/Form/Autocomplete/autocomplete.mcp.js +134 -0
- package/dist/components/Form/Autocomplete/autocomplete.props.d.ts +146 -0
- package/dist/components/Form/Autocomplete/autocomplete.props.js +1 -0
- package/dist/components/Form/Autocomplete/autocomplete.theme.d.ts +213 -0
- package/dist/components/Form/Autocomplete/autocomplete.theme.js +119 -0
- package/dist/components/Form/Autocomplete/index.d.ts +3 -0
- package/dist/components/Form/Autocomplete/index.js +2 -0
- package/dist/components/Form/Calendar/CalendarInput.svelte +9 -0
- package/dist/components/Form/Calendar/CalendarMonthYearPicker.svelte +3 -0
- package/dist/components/Form/Calendar/CalendarPrimitive.svelte +5 -0
- package/dist/components/Form/Calendar/calendar.mcp.d.ts +1 -1
- package/dist/components/Form/Calendar/calendar.mcp.js +2 -1
- package/dist/components/Form/Calendar/calendarInput.props.d.ts +2 -0
- package/dist/components/Form/Calendar/useCalendar.svelte.d.ts +3 -0
- package/dist/components/Form/Calendar/useCalendar.svelte.js +3 -0
- package/dist/components/Form/Checkbox/Checkbox.svelte +17 -2
- package/dist/components/Form/Checkbox/checkbox.mcp.d.ts +1 -1
- package/dist/components/Form/Checkbox/checkbox.mcp.js +11 -1
- package/dist/components/Form/Checkbox/checkbox.props.d.ts +12 -1
- package/dist/components/Form/CheckboxesInput/CheckboxLine.svelte +69 -32
- package/dist/components/Form/CheckboxesInput/CheckboxLine.svelte.d.ts +10 -2
- package/dist/components/Form/CheckboxesInput/CheckboxesInput.svelte +123 -74
- package/dist/components/Form/CheckboxesInput/CheckboxesInput.svelte.d.ts +12 -12
- package/dist/components/Form/CheckboxesInput/checkboxesInput.mcp.d.ts +1 -1
- package/dist/components/Form/CheckboxesInput/checkboxesInput.mcp.js +11 -7
- package/dist/components/Form/CheckboxesInput/checkboxesInput.props.d.ts +25 -9
- package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.d.ts +12 -0
- package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.js +9 -4
- package/dist/components/Form/CheckboxesInput/choiceEnter.d.ts +11 -0
- package/dist/components/Form/CheckboxesInput/choiceEnter.js +27 -0
- package/dist/components/Form/ColorInput/ColorInput.svelte +12 -3
- package/dist/components/Form/ColorInput/colorInput.mcp.d.ts +1 -1
- package/dist/components/Form/ColorInput/colorInput.mcp.js +1 -0
- package/dist/components/Form/ColorPicker/ColorPicker.svelte +11 -2
- package/dist/components/Form/ColorPicker/ColorPickerInput.svelte +9 -0
- package/dist/components/Form/ColorPicker/colorPicker.mcp.d.ts +1 -1
- package/dist/components/Form/ColorPicker/colorPicker.mcp.js +1 -0
- package/dist/components/Form/ColorPicker/colorPicker.props.d.ts +2 -0
- package/dist/components/Form/ColorPicker/colorPicker.state.svelte.d.ts +4 -0
- package/dist/components/Form/ColorPicker/colorPicker.state.svelte.js +12 -8
- package/dist/components/Form/Combobox/Combobox.svelte +145 -185
- package/dist/components/Form/Combobox/Combobox.svelte.d.ts +1 -1
- package/dist/components/Form/Combobox/ComboboxPopup.svelte +128 -0
- package/dist/components/Form/Combobox/ComboboxPopup.svelte.d.ts +28 -0
- package/dist/components/Form/Combobox/combobox.attributes.d.ts +34 -0
- package/dist/components/Form/Combobox/combobox.attributes.js +25 -0
- package/dist/components/Form/Combobox/combobox.items.d.ts +28 -0
- package/dist/components/Form/Combobox/combobox.items.js +68 -0
- package/dist/components/Form/Combobox/combobox.mcp.d.ts +1 -1
- package/dist/components/Form/Combobox/combobox.mcp.js +104 -13
- package/dist/components/Form/Combobox/combobox.props.d.ts +113 -19
- package/dist/components/Form/Combobox/combobox.state.svelte.d.ts +137 -0
- package/dist/components/Form/Combobox/combobox.state.svelte.js +375 -0
- package/dist/components/Form/Combobox/combobox.theme.d.ts +63 -0
- package/dist/components/Form/Combobox/combobox.theme.js +37 -1
- package/dist/components/Form/Combobox/index.d.ts +2 -1
- package/dist/components/Form/Combobox/index.js +1 -0
- package/dist/components/Form/DateInput/DateInput.svelte +11 -3
- package/dist/components/Form/DateInput/dateInput.mcp.d.ts +1 -1
- package/dist/components/Form/DateInput/dateInput.mcp.js +5 -0
- package/dist/components/Form/DateSelector/DateSelector.svelte +5 -2
- package/dist/components/Form/DateSelector/DateSelectorInput.svelte +9 -0
- package/dist/components/Form/DateSelector/dateSelector.mcp.d.ts +1 -1
- package/dist/components/Form/DateSelector/dateSelector.mcp.js +2 -2
- package/dist/components/Form/DateSelector/dateSelector.props.d.ts +2 -0
- package/dist/components/Form/Field/Field.svelte +258 -32
- package/dist/components/Form/Field/Field.svelte.d.ts +15 -6
- package/dist/components/Form/Field/FieldGroup.svelte +29 -0
- package/dist/components/Form/Field/FieldGroup.svelte.d.ts +11 -0
- package/dist/components/Form/Field/FieldHiddenInputs.svelte +187 -0
- package/dist/components/Form/Field/FieldHiddenInputs.svelte.d.ts +26 -0
- package/dist/components/Form/Field/field.d.ts +75 -10
- package/dist/components/Form/Field/field.mcp.d.ts +1 -1
- package/dist/components/Form/Field/field.mcp.js +158 -18
- package/dist/components/Form/Field/field.messages.d.ts +47 -0
- package/dist/components/Form/Field/field.messages.js +64 -0
- package/dist/components/Form/Field/field.state.svelte.d.ts +117 -40
- package/dist/components/Form/Field/field.state.svelte.js +525 -16
- package/dist/components/Form/Field/field.theme.d.ts +46 -0
- package/dist/components/Form/Field/field.theme.js +33 -0
- package/dist/components/Form/Field/fieldHiddenInputs.props.d.ts +61 -0
- package/dist/components/Form/Field/fieldHiddenInputs.props.js +1 -0
- package/dist/components/Form/Field/fieldNativeForm.svelte.d.ts +14 -0
- package/dist/components/Form/Field/fieldNativeForm.svelte.js +113 -0
- package/dist/components/Form/Field/index.d.ts +5 -2
- package/dist/components/Form/Field/index.js +1 -0
- package/dist/components/Form/Field/schemas.js +7 -2
- package/dist/components/Form/File/FileInput.svelte +24 -3
- package/dist/components/Form/File/fileInput.mcp.d.ts +1 -1
- package/dist/components/Form/File/fileInput.mcp.js +1 -0
- package/dist/components/Form/Form/Form.svelte +49 -15
- package/dist/components/Form/Form/FormActions.svelte +3 -1
- package/dist/components/Form/Form/FormActions.svelte.d.ts +42 -2
- package/dist/components/Form/Form/FormFieldRenderer.svelte +96 -12
- package/dist/components/Form/Form/FormFieldRenderer.svelte.d.ts +3 -2
- package/dist/components/Form/Form/FormInputRenderer.svelte +7 -0
- package/dist/components/Form/Form/form.d.ts +84 -11
- package/dist/components/Form/Form/form.mcp.d.ts +1 -1
- package/dist/components/Form/Form/form.mcp.js +178 -12
- package/dist/components/Form/Form/form.props.d.ts +32 -1
- package/dist/components/Form/Form/form.registry.d.ts +28 -0
- package/dist/components/Form/Form/form.registry.js +59 -0
- package/dist/components/Form/Form/form.state.svelte.d.ts +1186 -420
- package/dist/components/Form/Form/form.state.svelte.js +322 -28
- package/dist/components/Form/Form/index.d.ts +4 -1
- package/dist/components/Form/Form/index.js +1 -0
- package/dist/components/Form/Form/visibility.d.ts +3130 -1863
- package/dist/components/Form/KeyValueInput/KeyValueInput.svelte +22 -10
- package/dist/components/Form/KeyValueInput/keyValueInput.mcp.d.ts +1 -1
- package/dist/components/Form/KeyValueInput/keyValueInput.mcp.js +1 -0
- package/dist/components/Form/MultiStepForm/MultiStepForm.svelte +12 -5
- package/dist/components/Form/MultiStepForm/multiStepForm.mcp.d.ts +1 -1
- package/dist/components/Form/MultiStepForm/multiStepForm.mcp.js +5 -3
- package/dist/components/Form/MultiStepForm/multiStepForm.props.d.ts +5 -0
- package/dist/components/Form/MultiStepForm/multiStepForm.state.svelte.d.ts +1050 -408
- package/dist/components/Form/MultiStepForm/multiStepForm.state.svelte.js +48 -24
- package/dist/components/Form/NumberInput/NumberInput.svelte +365 -46
- package/dist/components/Form/NumberInput/index.d.ts +1 -1
- package/dist/components/Form/NumberInput/numberInput.mcp.d.ts +1 -1
- package/dist/components/Form/NumberInput/numberInput.mcp.js +55 -30
- package/dist/components/Form/NumberInput/numberInput.props.d.ts +64 -4
- package/dist/components/Form/PasswordInput/Password.svelte +28 -1
- package/dist/components/Form/PasswordInput/index.d.ts +1 -1
- package/dist/components/Form/PasswordInput/passwordInput.mcp.d.ts +1 -1
- package/dist/components/Form/PasswordInput/passwordInput.mcp.js +20 -2
- package/dist/components/Form/PasswordInput/passwordInput.props.d.ts +23 -0
- package/dist/components/Form/PhoneInput/PhoneInput.svelte +11 -4
- package/dist/components/Form/PhoneInput/PhoneInputCountryPicker.svelte +47 -21
- package/dist/components/Form/PhoneInput/phoneInput-cdn.js +2 -1
- package/dist/components/Form/PhoneInput/phoneInput.mcp.d.ts +1 -1
- package/dist/components/Form/PhoneInput/phoneInput.mcp.js +6 -2
- package/dist/components/Form/PhoneInput/phoneInputCountry.d.ts +9 -3
- package/dist/components/Form/PhoneInput/phoneInputCountry.js +34 -24
- package/dist/components/Form/PinInput/PinInput.svelte +44 -9
- package/dist/components/Form/PinInput/PinInputCells.svelte +22 -1
- package/dist/components/Form/PinInput/PinInputCells.svelte.d.ts +1 -0
- package/dist/components/Form/PinInput/index.d.ts +1 -1
- package/dist/components/Form/PinInput/pinInput.mcp.d.ts +1 -1
- package/dist/components/Form/PinInput/pinInput.mcp.js +29 -6
- package/dist/components/Form/PinInput/pinInput.props.d.ts +38 -4
- package/dist/components/Form/PinInput/pinInput.state.svelte.d.ts +41 -0
- package/dist/components/Form/PinInput/pinInput.state.svelte.js +227 -24
- package/dist/components/Form/PinInput/pinInput.theme.d.ts +39 -3
- package/dist/components/Form/PinInput/pinInput.theme.js +27 -1
- package/dist/components/Form/RadioInput/RadioInput.svelte +94 -32
- package/dist/components/Form/RadioInput/RadioInput.svelte.d.ts +12 -12
- package/dist/components/Form/RadioInput/radioInput.mcp.d.ts +1 -1
- package/dist/components/Form/RadioInput/radioInput.mcp.js +12 -9
- package/dist/components/Form/RadioInput/radioInput.props.d.ts +22 -6
- package/dist/components/Form/RadioInput/radioInput.theme.d.ts +12 -0
- package/dist/components/Form/RadioInput/radioInput.theme.js +10 -5
- package/dist/components/Form/RatingInput/RatingInput.svelte +13 -4
- package/dist/components/Form/RatingInput/ratingInput.mcp.d.ts +1 -1
- package/dist/components/Form/RatingInput/ratingInput.mcp.js +3 -3
- package/dist/components/Form/RatingInput/ratingInput.props.d.ts +1 -1
- package/dist/components/Form/Select/Select.svelte +186 -48
- package/dist/components/Form/Select/Select.svelte.d.ts +23 -2
- package/dist/components/Form/Select/SelectOptionRow.svelte +69 -0
- package/dist/components/Form/Select/SelectOptionRow.svelte.d.ts +18 -0
- package/dist/components/Form/Select/index.d.ts +2 -1
- package/dist/components/Form/Select/index.js +1 -0
- package/dist/components/Form/Select/select.align.d.ts +5 -0
- package/dist/components/Form/Select/select.align.js +19 -5
- package/dist/components/Form/Select/select.attributes.d.ts +36 -0
- package/dist/components/Form/Select/select.attributes.js +27 -0
- package/dist/components/Form/Select/select.mcp.d.ts +1 -1
- package/dist/components/Form/Select/select.mcp.js +103 -18
- package/dist/components/Form/Select/select.props.d.ts +87 -10
- package/dist/components/Form/Select/select.state.svelte.d.ts +108 -17
- package/dist/components/Form/Select/select.state.svelte.js +354 -59
- package/dist/components/Form/Select/select.theme.d.ts +21 -0
- package/dist/components/Form/Select/select.theme.js +22 -0
- package/dist/components/Form/Slider/Slider.svelte +54 -14
- package/dist/components/Form/Slider/SliderMarks.svelte +1 -1
- package/dist/components/Form/Slider/SliderThumb.svelte +49 -19
- package/dist/components/Form/Slider/SliderThumb.svelte.d.ts +8 -2
- package/dist/components/Form/Slider/SliderTrack.svelte +33 -12
- package/dist/components/Form/Slider/SliderTrack.svelte.d.ts +6 -2
- package/dist/components/Form/Slider/index.d.ts +1 -1
- package/dist/components/Form/Slider/slider.mcp.d.ts +1 -1
- package/dist/components/Form/Slider/slider.mcp.js +55 -11
- package/dist/components/Form/Slider/slider.props.d.ts +35 -2
- package/dist/components/Form/Slider/slider.state.svelte.d.ts +66 -5
- package/dist/components/Form/Slider/slider.state.svelte.js +273 -49
- package/dist/components/Form/Slider/slider.theme.d.ts +36 -0
- package/dist/components/Form/Slider/slider.theme.js +35 -17
- package/dist/components/Form/Switch/Switch.svelte +61 -38
- package/dist/components/Form/Switch/switch.mcp.d.ts +1 -1
- package/dist/components/Form/Switch/switch.mcp.js +25 -5
- package/dist/components/Form/Switch/switch.props.d.ts +14 -1
- package/dist/components/Form/Switch/switch.theme.d.ts +12 -0
- package/dist/components/Form/Switch/switch.theme.js +8 -3
- package/dist/components/Form/TagGroup/TagGroup.svelte +8 -0
- package/dist/components/Form/TagGroup/tagGroup.mcp.d.ts +1 -1
- package/dist/components/Form/TagGroup/tagGroup.mcp.js +1 -0
- package/dist/components/Form/TagsInput/TagsInput.svelte +277 -275
- package/dist/components/Form/TagsInput/TagsInput.svelte.d.ts +1 -1
- package/dist/components/Form/TagsInput/tagsInput.mcp.d.ts +1 -1
- package/dist/components/Form/TagsInput/tagsInput.mcp.js +31 -11
- package/dist/components/Form/TagsInput/tagsInput.props.d.ts +6 -26
- package/dist/components/Form/TagsInput/tagsInput.theme.d.ts +63 -0
- package/dist/components/Form/TagsInput/tagsInput.theme.js +37 -1
- package/dist/components/Form/TextArea/TextArea.svelte +8 -0
- package/dist/components/Form/TextArea/textArea.mcp.d.ts +1 -1
- package/dist/components/Form/TextArea/textArea.mcp.js +1 -0
- package/dist/components/Form/TextInput/TextInput.svelte +8 -1
- package/dist/components/Form/TextInput/textInput.mcp.d.ts +1 -1
- package/dist/components/Form/TextInput/textInput.mcp.js +5 -0
- package/dist/components/Form/TimeInput/TimeInput.svelte +9 -1
- package/dist/components/Form/TimeInput/timeInput.mcp.d.ts +1 -1
- package/dist/components/Form/TimeInput/timeInput.mcp.js +31 -0
- package/dist/components/Form/VoiceInput/VoiceInput.svelte +10 -2
- package/dist/components/Form/VoiceInput/voiceInput.mcp.d.ts +1 -1
- package/dist/components/Form/VoiceInput/voiceInput.mcp.js +1 -0
- package/dist/components/GanttChart/GanttDependencyControl.svelte +4 -4
- package/dist/components/HoverCard/HoverCard.svelte +100 -10
- package/dist/components/HoverCard/hoverCard.attributes.d.ts +33 -0
- package/dist/components/HoverCard/hoverCard.attributes.js +24 -0
- package/dist/components/HoverCard/hoverCard.mcp.d.ts +1 -1
- package/dist/components/HoverCard/hoverCard.mcp.js +61 -2
- package/dist/components/HoverCard/hoverCard.props.d.ts +19 -0
- package/dist/components/HoverCard/hoverCard.theme.d.ts +12 -0
- package/dist/components/HoverCard/hoverCard.theme.js +9 -2
- package/dist/components/HoverCard/index.d.ts +1 -0
- package/dist/components/HoverCard/index.js +1 -0
- package/dist/components/ImageGallery/imageGallery.state.svelte.d.ts +1 -1
- package/dist/components/ImageZoom/imageZoom.lightbox.js +40 -6
- package/dist/components/ImageZoom/imageZoom.mcp.d.ts +1 -1
- package/dist/components/ImageZoom/imageZoom.mcp.js +3 -3
- package/dist/components/ImageZoom/imageZoom.props.d.ts +10 -4
- package/dist/components/ImageZoom/imageZoom.state.svelte.d.ts +16 -4
- package/dist/components/ImageZoom/imageZoom.state.svelte.js +38 -9
- package/dist/components/Kanban/kanban.theme.js +7 -3
- package/dist/components/Layout/layoutSpacing.d.ts +2 -2
- package/dist/components/LinkPreview/LinkPreview.svelte +7 -1
- package/dist/components/LinkPreview/linkPreview.mcp.d.ts +1 -1
- package/dist/components/LinkPreview/linkPreview.mcp.js +4 -1
- package/dist/components/LinkPreview/linkPreview.props.d.ts +15 -0
- package/dist/components/LinkPreview/linkPreview.theme.d.ts +12 -0
- package/dist/components/LinkPreview/linkPreview.theme.js +9 -2
- package/dist/components/Map/maplibre-cdn.js +3 -2
- package/dist/components/Markdown/markdown.mcp.d.ts +1 -1
- package/dist/components/Markdown/markdown.mcp.js +2 -1
- package/dist/components/Markdown/markdown.theme.js +18 -9
- package/dist/components/MediaVolume/MediaVolumeControl.svelte +4 -3
- package/dist/components/Menu/Menu.svelte +3 -3
- package/dist/components/Menu/Menu.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuCheckboxItem.svelte +87 -0
- package/dist/components/Menu/MenuCheckboxItem.svelte.d.ts +16 -0
- package/dist/components/Menu/MenuFloating.svelte +421 -74
- package/dist/components/Menu/MenuFloating.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuMirroredIcon.svelte +9 -0
- package/dist/components/Menu/MenuMirroredIcon.svelte.d.ts +7 -0
- package/dist/components/Menu/MenuRadioGroup.svelte +102 -0
- package/dist/components/Menu/MenuRadioGroup.svelte.d.ts +18 -0
- package/dist/components/Menu/MenuSearchField.svelte +54 -0
- package/dist/components/Menu/MenuSearchField.svelte.d.ts +20 -0
- package/dist/components/Menu/MenuStacked.svelte +404 -158
- package/dist/components/Menu/MenuStacked.svelte.d.ts +1 -1
- package/dist/components/Menu/MenuStackedBackHeader.svelte +6 -1
- package/dist/components/Menu/index.d.ts +2 -1
- package/dist/components/Menu/index.js +1 -0
- package/dist/components/Menu/menu.attributes.d.ts +37 -0
- package/dist/components/Menu/menu.attributes.js +28 -0
- package/dist/components/Menu/menu.filter.svelte.d.ts +52 -0
- package/dist/components/Menu/menu.filter.svelte.js +143 -0
- package/dist/components/Menu/menu.mcp.d.ts +1 -1
- package/dist/components/Menu/menu.mcp.js +227 -17
- package/dist/components/Menu/menu.platform.d.ts +5 -0
- package/dist/components/Menu/menu.platform.js +11 -0
- package/dist/components/Menu/menu.props.d.ts +172 -9
- package/dist/components/Menu/menu.theme.d.ts +147 -0
- package/dist/components/Menu/menu.theme.js +101 -0
- package/dist/components/Menu/menuTree.d.ts +35 -1
- package/dist/components/Menu/menuTree.js +158 -1
- package/dist/components/MenuBar/menuBar.mcp.d.ts +1 -1
- package/dist/components/MenuBar/menuBar.mcp.js +4 -2
- package/dist/components/MenuBar/menuBar.state.svelte.js +28 -10
- package/dist/components/MenuOption/MenuOption.svelte +5 -1
- package/dist/components/MenuOption/menuOption.mcp.d.ts +1 -1
- package/dist/components/MenuOption/menuOption.mcp.js +8 -0
- package/dist/components/MenuOption/menuOption.props.d.ts +12 -0
- package/dist/components/MenuOption/menuOption.theme.d.ts +18 -0
- package/dist/components/MenuOption/menuOption.theme.js +24 -4
- package/dist/components/Mermaid/mermaid.mcp.d.ts +1 -1
- package/dist/components/Mermaid/mermaid.mcp.js +8 -8
- package/dist/components/Mermaid/mermaid.props.d.ts +3 -4
- package/dist/components/Mermaid/mermaid.state.svelte.d.ts +20 -19
- package/dist/components/Mermaid/mermaid.state.svelte.js +80 -243
- package/dist/components/Mermaid/mermaid.theme.js +26 -1
- package/dist/components/MetadataList/MetadataList.svelte.d.ts +1 -1
- package/dist/components/Meter/Meter.svelte +110 -24
- package/dist/components/Meter/Meter.svelte.d.ts +12 -12
- package/dist/components/Meter/meter.mcp.d.ts +1 -1
- package/dist/components/Meter/meter.mcp.js +23 -37
- package/dist/components/Meter/meter.props.d.ts +36 -44
- package/dist/components/NavigationMenu/NavigationMenu.svelte +181 -0
- package/dist/components/NavigationMenu/NavigationMenu.svelte.d.ts +25 -0
- package/dist/components/NavigationMenu/NavigationMenuContent.svelte +141 -0
- package/dist/components/NavigationMenu/NavigationMenuContent.svelte.d.ts +13 -0
- package/dist/components/NavigationMenu/NavigationMenuTrigger.svelte +75 -0
- package/dist/components/NavigationMenu/NavigationMenuTrigger.svelte.d.ts +13 -0
- package/dist/components/NavigationMenu/index.d.ts +4 -0
- package/dist/components/NavigationMenu/index.js +3 -0
- package/dist/components/NavigationMenu/navigationMenu.attributes.d.ts +24 -0
- package/dist/components/NavigationMenu/navigationMenu.attributes.js +21 -0
- package/dist/components/NavigationMenu/navigationMenu.mcp.d.ts +1 -0
- package/dist/components/NavigationMenu/navigationMenu.mcp.js +138 -0
- package/dist/components/NavigationMenu/navigationMenu.props.d.ts +129 -0
- package/dist/components/NavigationMenu/navigationMenu.props.js +1 -0
- package/dist/components/NavigationMenu/navigationMenu.state.svelte.d.ts +163 -0
- package/dist/components/NavigationMenu/navigationMenu.state.svelte.js +721 -0
- package/dist/components/NavigationMenu/navigationMenu.theme.d.ts +326 -0
- package/dist/components/NavigationMenu/navigationMenu.theme.js +239 -0
- package/dist/components/Overlay/Overlay.svelte +19 -30
- package/dist/components/Overlay/index.d.ts +1 -0
- package/dist/components/Overlay/index.js +1 -0
- package/dist/components/Overlay/overlay.attributes.d.ts +16 -0
- package/dist/components/Overlay/overlay.attributes.js +14 -0
- package/dist/components/Overlay/overlay.mcp.d.ts +1 -1
- package/dist/components/Overlay/overlay.mcp.js +21 -3
- package/dist/components/Overlay/overlay.props.d.ts +8 -4
- package/dist/components/Popover/Popover.svelte +163 -52
- package/dist/components/Popover/Popover.svelte.d.ts +23 -2
- package/dist/components/Popover/PopoverSession.svelte +12 -0
- package/dist/components/Popover/PopoverSession.svelte.d.ts +7 -0
- package/dist/components/Popover/index.d.ts +10 -2
- package/dist/components/Popover/index.js +4 -1
- package/dist/components/Popover/popover.api.d.ts +83 -0
- package/dist/components/Popover/popover.api.js +1 -0
- package/dist/components/Popover/popover.attributes.d.ts +32 -0
- package/dist/components/Popover/popover.attributes.js +28 -0
- package/dist/components/Popover/popover.claims.d.ts +19 -0
- package/dist/components/Popover/popover.claims.js +45 -0
- package/dist/components/Popover/popover.mcp.d.ts +1 -1
- package/dist/components/Popover/popover.mcp.js +163 -31
- package/dist/components/Popover/popover.position.d.ts +226 -0
- package/dist/components/Popover/popover.position.js +402 -0
- package/dist/components/Popover/popover.props.d.ts +179 -24
- package/dist/components/Popover/popover.state.svelte.d.ts +169 -37
- package/dist/components/Popover/popover.state.svelte.js +1034 -194
- package/dist/components/Popover/popover.theme.d.ts +15 -0
- package/dist/components/Popover/popover.theme.js +27 -2
- package/dist/components/PopupMenu/PopupMenu.svelte +193 -22
- package/dist/components/PopupMenu/PopupMenu.svelte.d.ts +2 -2
- package/dist/components/PopupMenu/popupMenu.context.d.ts +42 -0
- package/dist/components/PopupMenu/popupMenu.context.js +52 -0
- package/dist/components/PopupMenu/popupMenu.mcp.d.ts +1 -1
- package/dist/components/PopupMenu/popupMenu.mcp.js +46 -6
- package/dist/components/PopupMenu/popupMenu.props.d.ts +29 -2
- package/dist/components/Progress/Progress.svelte +160 -0
- package/dist/components/Progress/Progress.svelte.d.ts +4 -0
- package/dist/components/Progress/index.d.ts +3 -0
- package/dist/components/Progress/index.js +2 -0
- package/dist/components/Progress/progress.mcp.d.ts +1 -0
- package/dist/components/Progress/progress.mcp.js +101 -0
- package/dist/components/Progress/progress.props.d.ts +79 -0
- package/dist/components/Progress/progress.props.js +1 -0
- package/dist/components/Progress/progress.theme.d.ts +129 -0
- package/dist/components/Progress/progress.theme.js +83 -0
- package/dist/components/ProgressCircle/ProgressCircle.svelte +51 -6
- package/dist/components/ProgressCircle/progressCircle.mcp.d.ts +1 -1
- package/dist/components/ProgressCircle/progressCircle.mcp.js +18 -4
- package/dist/components/ProgressCircle/progressCircle.props.d.ts +32 -2
- package/dist/components/ProgressCircle/progressCircle.theme.d.ts +15 -3
- package/dist/components/ProgressCircle/progressCircle.theme.js +7 -2
- package/dist/components/RichTextInput/RichTextInput.svelte +19 -1
- package/dist/components/RichTextInput/RichTextInputChrome.svelte +5 -1
- package/dist/components/RichTextInput/RichTextInputChrome.svelte.d.ts +2 -0
- package/dist/components/RichTextInput/RichTextInputViewport.svelte +3 -1
- package/dist/components/RichTextInput/RichTextInputViewport.svelte.d.ts +1 -0
- package/dist/components/RichTextInput/richTextInput.mcp.d.ts +1 -1
- package/dist/components/RichTextInput/richTextInput.mcp.js +1 -0
- package/dist/components/RichTextInput/suggestions.js +2 -0
- package/dist/components/ScrollArea/ScrollArea.svelte +166 -27
- package/dist/components/ScrollArea/index.d.ts +2 -1
- package/dist/components/ScrollArea/index.js +1 -0
- package/dist/components/ScrollArea/scrollArea.attributes.d.ts +25 -0
- package/dist/components/ScrollArea/scrollArea.attributes.js +21 -0
- package/dist/components/ScrollArea/scrollArea.mcp.d.ts +1 -1
- package/dist/components/ScrollArea/scrollArea.mcp.js +47 -3
- package/dist/components/ScrollArea/scrollArea.props.d.ts +33 -6
- package/dist/components/ScrollArea/scrollArea.svelte.d.ts +56 -12
- package/dist/components/ScrollArea/scrollArea.svelte.js +281 -71
- package/dist/components/ScrollArea/scrollArea.theme.js +5 -2
- package/dist/components/SegmentedControl/SegmentedControl.svelte +4 -3
- package/dist/components/SegmentedControl/segmentedControl.mcp.d.ts +1 -1
- package/dist/components/SegmentedControl/segmentedControl.mcp.js +3 -2
- package/dist/components/SelectionMenu/SelectionMenu.svelte +4 -2
- package/dist/components/Sidebar/SidebarAction.svelte +13 -3
- package/dist/components/Sidebar/SidebarAction.svelte.d.ts +2 -1
- package/dist/components/Sidebar/SidebarActivityBar.svelte +14 -7
- package/dist/components/Sidebar/SidebarFlyout.svelte +97 -0
- package/dist/components/Sidebar/SidebarFlyout.svelte.d.ts +32 -0
- package/dist/components/Sidebar/SidebarGroup.svelte +39 -15
- package/dist/components/Sidebar/SidebarMenuButton.svelte +6 -3
- package/dist/components/Sidebar/SidebarMenuItem.svelte +134 -31
- package/dist/components/Sidebar/SidebarMenuSubItem.svelte +30 -14
- package/dist/components/Sidebar/SidebarTreeNode.svelte +41 -61
- package/dist/components/Sidebar/index.d.ts +1 -0
- package/dist/components/Sidebar/index.js +1 -0
- package/dist/components/Sidebar/sidebar-position.d.ts +37 -2
- package/dist/components/Sidebar/sidebar-position.js +31 -2
- package/dist/components/Sidebar/sidebar.attributes.d.ts +33 -0
- package/dist/components/Sidebar/sidebar.attributes.js +29 -0
- package/dist/components/Sidebar/sidebar.mcp.d.ts +1 -1
- package/dist/components/Sidebar/sidebar.mcp.js +45 -10
- package/dist/components/Sidebar/sidebar.props.d.ts +28 -7
- package/dist/components/Sidebar/sidebar.theme.d.ts +51 -21
- package/dist/components/Sidebar/sidebar.theme.js +113 -62
- package/dist/components/Sidebar/sidebar.views.svelte.js +11 -18
- package/dist/components/Stepper/Stepper.svelte +2 -0
- package/dist/components/Stepper/stepper.mcp.d.ts +1 -1
- package/dist/components/Stepper/stepper.mcp.js +1 -0
- package/dist/components/Stepper/stepper.props.d.ts +5 -0
- package/dist/components/Stepper/stepper.state.svelte.d.ts +2 -0
- package/dist/components/Stepper/stepper.state.svelte.js +31 -12
- package/dist/components/Tabbar/Tabbar.svelte +55 -16
- package/dist/components/Tabbar/index.d.ts +1 -1
- package/dist/components/Tabbar/tabbar.mcp.d.ts +1 -1
- package/dist/components/Tabbar/tabbar.mcp.js +26 -9
- package/dist/components/Tabbar/tabbar.props.d.ts +34 -5
- package/dist/components/Tabbar/tabbar.selection.svelte.d.ts +79 -0
- package/dist/components/Tabbar/tabbar.selection.svelte.js +99 -0
- package/dist/components/TableOfContents/tableOfContents.state.svelte.js +9 -7
- package/dist/components/Tabs/Tabs.svelte +73 -16
- package/dist/components/Tabs/index.d.ts +2 -1
- package/dist/components/Tabs/tabs.direction.svelte.d.ts +25 -0
- package/dist/components/Tabs/tabs.direction.svelte.js +40 -0
- package/dist/components/Tabs/tabs.mcp.d.ts +1 -1
- package/dist/components/Tabs/tabs.mcp.js +22 -4
- package/dist/components/Tabs/tabs.props.d.ts +39 -12
- package/dist/components/Tabs/tabs.theme.js +3 -1
- package/dist/components/Theme/Theme.svelte +44 -27
- package/dist/components/Theme/helper.d.ts +16 -2
- package/dist/components/Theme/helper.js +46 -4
- package/dist/components/Theme/theme.mcp.d.ts +1 -1
- package/dist/components/Theme/theme.mcp.js +103 -0
- package/dist/components/Theme/theme.props.d.ts +16 -0
- package/dist/components/Theme/theme.state.svelte.d.ts +14 -1
- package/dist/components/Theme/theme.state.svelte.js +18 -1
- package/dist/components/Toast/Toast.svelte +184 -39
- package/dist/components/Toast/Toaster.svelte +14 -10
- package/dist/components/Toast/index.d.ts +1 -0
- package/dist/components/Toast/toast.mcp.d.ts +1 -1
- package/dist/components/Toast/toast.mcp.js +47 -6
- package/dist/components/Toast/toast.state.svelte.d.ts +172 -6
- package/dist/components/Toast/toast.state.svelte.js +513 -68
- package/dist/components/Toast/toast.theme.js +1 -1
- package/dist/components/ToggleButton/ToggleButton.svelte +23 -1
- package/dist/components/ToggleButton/toggleButton.mcp.d.ts +1 -1
- package/dist/components/ToggleButton/toggleButton.mcp.js +3 -1
- package/dist/components/ToggleButton/toggleButton.props.d.ts +13 -1
- package/dist/components/ToggleButton/toggleButton.theme.d.ts +12 -0
- package/dist/components/ToggleButton/toggleButton.theme.js +15 -3
- package/dist/components/ToggleButtonGroup/ToggleButtonGroup.svelte +29 -9
- package/dist/components/ToggleButtonGroup/index.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.mcp.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.mcp.js +5 -2
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.props.d.ts +19 -1
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.d.ts +12 -0
- package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.js +21 -2
- package/dist/components/ToggleMenu/ToggleMenu.svelte +57 -43
- package/dist/components/ToggleMenu/ToggleMenuGroup.svelte +1 -0
- package/dist/components/ToggleMenu/ToggleMenuMenu.svelte +9 -3
- package/dist/components/ToggleMenu/ToggleMenuRadioGroup.svelte +7 -2
- package/dist/components/ToggleMenu/toggleMenu.mcp.d.ts +1 -1
- package/dist/components/ToggleMenu/toggleMenu.mcp.js +3 -2
- package/dist/components/ToggleMenu/toggleMenu.props.d.ts +4 -1
- package/dist/components/Tooltip/Tooltip.svelte +4 -12
- package/dist/components/Tooltip/TooltipHost.svelte +136 -15
- package/dist/components/Tooltip/index.d.ts +1 -0
- package/dist/components/Tooltip/index.js +1 -0
- package/dist/components/Tooltip/tooltip.attachment.svelte.d.ts +5 -0
- package/dist/components/Tooltip/tooltip.attachment.svelte.js +215 -33
- package/dist/components/Tooltip/tooltip.attributes.d.ts +32 -0
- package/dist/components/Tooltip/tooltip.attributes.js +28 -0
- package/dist/components/Tooltip/tooltip.mcp.d.ts +1 -1
- package/dist/components/Tooltip/tooltip.mcp.js +111 -10
- package/dist/components/Tooltip/tooltip.props.d.ts +33 -2
- package/dist/components/Tooltip/tooltip.surface.d.ts +24 -0
- package/dist/components/Tooltip/tooltip.surface.js +42 -0
- package/dist/components/Tree/TreeContextMenuSurface.svelte +16 -3
- package/dist/components/Utils/BeforeHydratation.svelte +14 -3
- package/dist/components/Utils/BeforeHydratation.svelte.d.ts +2 -0
- package/dist/components/VideoPlayer/VideoPlayer.svelte.d.ts +1 -1
- package/dist/components/VideoPlayer/VideoPlayerSettings.svelte +2 -0
- package/dist/generated/componentAliases.d.ts +3 -0
- package/dist/generated/componentAliases.js +3 -0
- package/dist/generated/componentContract.d.ts +79 -34
- package/dist/generated/componentContract.js +231 -6
- package/dist/generated/componentMcpRegistry.js +6 -0
- package/dist/i18n/ar.js +107 -3
- package/dist/i18n/context.svelte.d.ts +6 -0
- package/dist/i18n/context.svelte.js +12 -0
- package/dist/i18n/de.js +101 -3
- package/dist/i18n/en.d.ts +91 -2
- package/dist/i18n/en.js +101 -3
- package/dist/i18n/es.js +101 -3
- package/dist/i18n/fr.js +101 -3
- package/dist/i18n/ja.js +101 -3
- package/dist/i18n/pt.js +101 -3
- package/dist/i18n/zh.js +101 -3
- package/dist/tailwind/geometry.js +7 -0
- package/dist/tailwind/global.js +31 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types.mcp.d.ts +1 -1
- package/dist/types/types.mcp.js +23 -0
- package/dist/utils/cspNonce.d.ts +16 -0
- package/dist/utils/cspNonce.js +39 -0
- package/dist/utils/cva/merge.d.ts +5 -1
- package/dist/utils/cva/merge.js +6 -4
- package/dist/utils/focus.d.ts +34 -0
- package/dist/utils/focus.js +93 -0
- package/dist/utils/focusHistory.d.ts +21 -0
- package/dist/utils/focusHistory.js +99 -0
- package/dist/utils/handlers.d.ts +7 -0
- package/dist/utils/handlers.js +14 -0
- package/dist/utils/hoverIntent.d.ts +42 -0
- package/dist/utils/hoverIntent.js +57 -0
- package/dist/utils/id.d.ts +7 -0
- package/dist/utils/id.js +15 -0
- package/dist/utils/layers.svelte.d.ts +32 -4
- package/dist/utils/layers.svelte.js +214 -21
- package/dist/utils/listFilter.d.ts +44 -0
- package/dist/utils/listFilter.js +130 -0
- package/dist/utils/match.d.ts +35 -0
- package/dist/utils/match.js +36 -0
- package/dist/utils/number.d.ts +126 -0
- package/dist/utils/number.js +401 -0
- package/dist/utils/openChange.d.ts +88 -0
- package/dist/utils/openChange.js +71 -0
- package/dist/utils/openLifecycle.svelte.d.ts +41 -0
- package/dist/utils/openLifecycle.svelte.js +134 -0
- package/dist/utils/pointerDrag.d.ts +10 -0
- package/dist/utils/pointerDrag.js +37 -2
- package/dist/utils/pragmaticDragAndDrop.d.ts +2 -1
- package/dist/utils/pragmaticDragAndDrop.js +8 -3
- package/dist/utils/range.d.ts +62 -0
- package/dist/utils/range.js +70 -0
- package/dist/utils/requestNativeSubmit.d.ts +17 -0
- package/dist/utils/requestNativeSubmit.js +47 -0
- package/dist/utils/safeArea.svelte.d.ts +10 -1
- package/dist/utils/safeArea.svelte.js +19 -11
- package/dist/utils/stateAttributes.d.ts +108 -0
- package/dist/utils/stateAttributes.js +78 -0
- package/dist/utils/swipeVelocity.d.ts +32 -0
- package/dist/utils/swipeVelocity.js +59 -0
- package/dist/utils/timer.svelte.d.ts +65 -2
- package/dist/utils/timer.svelte.js +159 -25
- package/dist/utils/trigger.d.ts +41 -0
- package/dist/utils/trigger.js +103 -0
- package/dist/utils/typeahead.d.ts +9 -0
- package/dist/utils/typeahead.js +21 -9
- package/dist/utils/useDndList.svelte.d.ts +1 -1
- package/dist/utils/useDndList.svelte.js +6 -23
- package/dist/utils/useFocusScope.svelte.d.ts +29 -0
- package/dist/utils/useFocusScope.svelte.js +189 -27
- package/dist/utils/useHoverAction.svelte.d.ts +44 -4
- package/dist/utils/useHoverAction.svelte.js +161 -51
- package/dist/utils/useKeyDown.svelte.d.ts +19 -2
- package/dist/utils/useKeyDown.svelte.js +19 -12
- package/dist/utils/useListNavigation.svelte.d.ts +94 -13
- package/dist/utils/useListNavigation.svelte.js +261 -35
- package/dist/utils/useLiveAnnouncer.svelte.d.ts +77 -2
- package/dist/utils/useLiveAnnouncer.svelte.js +119 -2
- package/dist/utils/useNavigation.svelte.d.ts +36 -3
- package/dist/utils/useNavigation.svelte.js +699 -332
- package/dist/utils/usePressAndHold.svelte.d.ts +38 -0
- package/dist/utils/usePressAndHold.svelte.js +191 -0
- package/dist/utils/useScrollLock.svelte.d.ts +20 -1
- package/dist/utils/useScrollLock.svelte.js +54 -13
- package/dist/utils/useSlidingIndicator.svelte.d.ts +2 -0
- package/dist/utils/useSlidingIndicator.svelte.js +27 -5
- package/dist/utils/useTabBridge.svelte.d.ts +20 -0
- package/dist/utils/useTabBridge.svelte.js +109 -0
- package/dist/utils/values.d.ts +15 -0
- package/dist/utils/values.js +49 -0
- package/package.json +31 -2
- package/dist/generated/componentMcpRegistry.d.ts +0 -142
- package/dist/utils/useDrag.svelte.d.ts +0 -11
- package/dist/utils/useDrag.svelte.js +0 -55
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// The open/close lifecycle every overlay shares: `closed → entering → open → exiting → closed`,
|
|
2
|
+
// with `onAfterOpen` and `onAfterClose` firing exactly once per open and per close.
|
|
3
|
+
//
|
|
4
|
+
// Svelte plays no intro for an element whose `{#if}` block is already true when it is created
|
|
5
|
+
// (`defaultOpen`, hydration, a component mounted open), so `introend` alone would leave such an
|
|
6
|
+
// overlay "entering" forever. The lifecycle notes when the element's transition function is
|
|
7
|
+
// called (Svelte calls it synchronously, in the flush that starts the transition) and completes
|
|
8
|
+
// the phase itself once that flush has settled without one.
|
|
9
|
+
import { tick, untrack } from 'svelte';
|
|
10
|
+
/**
|
|
11
|
+
* Tracks one surface's lifecycle. Call during component initialisation (it installs effects).
|
|
12
|
+
* A close during the opening transition cancels the pending `onAfterOpen`, and a reopen during the
|
|
13
|
+
* closing one cancels the pending `onAfterClose`; each phase that completes reports once.
|
|
14
|
+
*/
|
|
15
|
+
export function useOpenLifecycle(options) {
|
|
16
|
+
let status = $state('closed');
|
|
17
|
+
// The direction of the phase in progress: `true` opening or open, `false` closing or closed,
|
|
18
|
+
// `null` before the first run. Plain fields: read by event handlers, never rendered.
|
|
19
|
+
let direction = null;
|
|
20
|
+
let phase = 0;
|
|
21
|
+
let transitionStarted = false;
|
|
22
|
+
/**
|
|
23
|
+
* A transition Svelte started before this flush reached `begin` (effect order is not
|
|
24
|
+
* guaranteed): the phase it belongs to has not been recorded yet.
|
|
25
|
+
*/
|
|
26
|
+
let earlyTransition = null;
|
|
27
|
+
/** Such an early transition that has already ended (a zero duration ends synchronously). */
|
|
28
|
+
let earlyEnd = null;
|
|
29
|
+
const early = (kind, playing) => {
|
|
30
|
+
if (kind === 'transition')
|
|
31
|
+
earlyTransition = playing;
|
|
32
|
+
else
|
|
33
|
+
earlyEnd = playing;
|
|
34
|
+
queueMicrotask(() => {
|
|
35
|
+
earlyTransition = earlyEnd = null;
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
let completed = true;
|
|
39
|
+
let disposed = false;
|
|
40
|
+
const complete = (id) => {
|
|
41
|
+
if (disposed || id !== phase || completed)
|
|
42
|
+
return;
|
|
43
|
+
completed = true;
|
|
44
|
+
if (direction) {
|
|
45
|
+
status = 'open';
|
|
46
|
+
options.onAfterOpen?.();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
status = 'closed';
|
|
50
|
+
options.onAfterClose?.();
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
// Runs once the flush that changed the state has settled: by then Svelte has called the
|
|
54
|
+
// transition function of any element that animates this phase.
|
|
55
|
+
const completeWithoutTransition = async (id) => {
|
|
56
|
+
await tick();
|
|
57
|
+
if (id !== phase || transitionStarted || completed || options.external?.())
|
|
58
|
+
return;
|
|
59
|
+
const element = options.animated?.();
|
|
60
|
+
const animations = element?.getAnimations?.({ subtree: true }) ?? [];
|
|
61
|
+
if (animations.length > 0) {
|
|
62
|
+
await Promise.allSettled(animations.map((animation) => animation.finished));
|
|
63
|
+
}
|
|
64
|
+
complete(id);
|
|
65
|
+
};
|
|
66
|
+
const begin = (open) => {
|
|
67
|
+
if (open === direction)
|
|
68
|
+
return;
|
|
69
|
+
const initial = direction === null;
|
|
70
|
+
direction = open;
|
|
71
|
+
const id = ++phase;
|
|
72
|
+
const playing = open ? 'in' : 'out';
|
|
73
|
+
// A transition that already ended leaves nothing to wait for: the fallback completes.
|
|
74
|
+
transitionStarted = earlyTransition === playing && earlyEnd !== playing;
|
|
75
|
+
earlyTransition = earlyEnd = null;
|
|
76
|
+
completed = false;
|
|
77
|
+
// Closed at creation: there is no close to report.
|
|
78
|
+
if (initial && !open) {
|
|
79
|
+
completed = true;
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
status = open ? 'entering' : 'exiting';
|
|
83
|
+
void completeWithoutTransition(id);
|
|
84
|
+
};
|
|
85
|
+
// `.pre`, so `status` is normally current before the template renders the change. Effect
|
|
86
|
+
// order is not guaranteed, though: a transition that starts first is caught by `early`.
|
|
87
|
+
$effect.pre(() => {
|
|
88
|
+
const open = options.isOpen();
|
|
89
|
+
untrack(() => begin(open));
|
|
90
|
+
});
|
|
91
|
+
$effect(() => () => {
|
|
92
|
+
disposed = true;
|
|
93
|
+
});
|
|
94
|
+
return {
|
|
95
|
+
get status() {
|
|
96
|
+
return status;
|
|
97
|
+
},
|
|
98
|
+
transition: (fn) => ((...args) => {
|
|
99
|
+
// Svelte passes `{ direction }` third: 'in' for an intro, 'out' for an outro.
|
|
100
|
+
const playing = args[2]?.direction;
|
|
101
|
+
if (playing === 'both' || (playing === 'in') === direction) {
|
|
102
|
+
transitionStarted = true;
|
|
103
|
+
}
|
|
104
|
+
else if (playing === 'in' || playing === 'out') {
|
|
105
|
+
// The state change that starts this phase has not reached `begin` yet; it does
|
|
106
|
+
// within the same flush, before any microtask.
|
|
107
|
+
early('transition', playing);
|
|
108
|
+
}
|
|
109
|
+
const config = fn(...args);
|
|
110
|
+
// Svelte keeps these options for as long as the element lives once an exit has started
|
|
111
|
+
// (a reopen reverses it) and does not call this function for the next exit. Handed back
|
|
112
|
+
// as a deferred config, they are asked for on every run instead, in a microtask the
|
|
113
|
+
// flush that starts it queues: before `completeWithoutTransition` reads
|
|
114
|
+
// `transitionStarted` after its tick.
|
|
115
|
+
return (options) => {
|
|
116
|
+
if (!completed && (options.direction === 'in') === direction)
|
|
117
|
+
transitionStarted = true;
|
|
118
|
+
return typeof config === 'function' ? config(options) : config;
|
|
119
|
+
};
|
|
120
|
+
}),
|
|
121
|
+
introEnd: () => {
|
|
122
|
+
if (direction)
|
|
123
|
+
complete(phase);
|
|
124
|
+
else if (earlyTransition === 'in')
|
|
125
|
+
early('end', 'in');
|
|
126
|
+
},
|
|
127
|
+
outroEnd: () => {
|
|
128
|
+
if (direction === false)
|
|
129
|
+
complete(phase);
|
|
130
|
+
else if (earlyTransition === 'out')
|
|
131
|
+
early('end', 'out');
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
}
|
|
@@ -34,6 +34,16 @@ export type PointerDragOptions<Node extends HTMLElement = HTMLElement> = {
|
|
|
34
34
|
* promoted simply ends on pointerup, without `onStart`/`onEnd`. Takes the place of
|
|
35
35
|
* `activation`, which promotes on distance and a touch hold instead. */
|
|
36
36
|
shouldActivate?: (payload: PointerDragPayload<Node>) => boolean;
|
|
37
|
+
/** Direction attribution for a gesture along one axis, decided before any activation. Once
|
|
38
|
+
* the press has travelled `axisSlopPx` either way, a press that went further across the axis
|
|
39
|
+
* than along it is spent: it never activates (neither `shouldActivate` nor `activation` is
|
|
40
|
+
* consulted again) and ends on pointerup through `onCancel`, so a mostly sideways drag stays
|
|
41
|
+
* with whatever scrolls or swipes across. Until then, movement activates nothing (a touch
|
|
42
|
+
* hold under `activation` still can). Return `undefined` to skip attribution. Ignored by
|
|
43
|
+
* sessions that activate on press. */
|
|
44
|
+
axis?: () => 'x' | 'y' | undefined;
|
|
45
|
+
/** Travel in px after which `axis` attributes the press. Default 6. */
|
|
46
|
+
axisSlopPx?: number;
|
|
37
47
|
/** While the drag is active, `touchmove` is prevented so the page cannot pan under it.
|
|
38
48
|
* Default true; set false when the consumer governs touch panning itself (`touch-action`)
|
|
39
49
|
* and native scrolling around the gesture must keep working. */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { on } from 'svelte/events';
|
|
2
2
|
import { untrack } from 'svelte';
|
|
3
3
|
const DEFAULT_MOVE_TOLERANCE = 2;
|
|
4
|
+
const DEFAULT_AXIS_SLOP = 6;
|
|
4
5
|
export const createPointerDrag = (options) => {
|
|
5
6
|
let session = null;
|
|
6
7
|
let moveFrame = null;
|
|
@@ -49,7 +50,9 @@ export const createPointerDrag = (options) => {
|
|
|
49
50
|
};
|
|
50
51
|
};
|
|
51
52
|
const releasePointer = (currentSession) => {
|
|
52
|
-
|
|
53
|
+
// Optional: an `on-activate` session that never activated took no capture, and DOM
|
|
54
|
+
// implementations without pointer capture (jsdom) must still end the session.
|
|
55
|
+
if (currentSession.node.hasPointerCapture?.(currentSession.pointerId)) {
|
|
53
56
|
currentSession.node.releasePointerCapture(currentSession.pointerId);
|
|
54
57
|
}
|
|
55
58
|
};
|
|
@@ -138,7 +141,8 @@ export const createPointerDrag = (options) => {
|
|
|
138
141
|
isActive: false,
|
|
139
142
|
usesActivation: false,
|
|
140
143
|
activationTimer: null,
|
|
141
|
-
detachWindowEnd: null
|
|
144
|
+
detachWindowEnd: null,
|
|
145
|
+
attribution: 'pending'
|
|
142
146
|
};
|
|
143
147
|
const deferCapture = options.capture === 'on-activate';
|
|
144
148
|
if (!deferCapture)
|
|
@@ -175,11 +179,42 @@ export const createPointerDrag = (options) => {
|
|
|
175
179
|
dispatchMove(getPayload(nextSession.lastEvent, nextSession));
|
|
176
180
|
}, activation.touchDelayMs);
|
|
177
181
|
};
|
|
182
|
+
/** Whether a candidate may be promoted on this move, after `axis` attribution. */
|
|
183
|
+
const isAttributed = (payload, currentSession) => {
|
|
184
|
+
if (currentSession.attribution !== 'pending') {
|
|
185
|
+
return currentSession.attribution === 'attributed';
|
|
186
|
+
}
|
|
187
|
+
const axis = options.axis?.();
|
|
188
|
+
if (!axis)
|
|
189
|
+
return true;
|
|
190
|
+
const along = Math.abs(axis === 'x' ? payload.deltaX : payload.deltaY);
|
|
191
|
+
const across = Math.abs(axis === 'x' ? payload.deltaY : payload.deltaX);
|
|
192
|
+
if (Math.max(along, across) < (options.axisSlopPx ?? DEFAULT_AXIS_SLOP))
|
|
193
|
+
return false;
|
|
194
|
+
if (across > along) {
|
|
195
|
+
// Spent: the session stays until the pointer lifts, so a second pointer cannot
|
|
196
|
+
// take over mid-press, but it no longer waits on a touch hold either.
|
|
197
|
+
currentSession.attribution = 'spent';
|
|
198
|
+
clearActivationTimer(currentSession);
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
currentSession.attribution = 'attributed';
|
|
202
|
+
return true;
|
|
203
|
+
};
|
|
178
204
|
const move = (event) => {
|
|
179
205
|
if (!session || event.pointerId !== session.pointerId)
|
|
180
206
|
return;
|
|
207
|
+
// The primary button came up where no pointerup reached us (outside the window, over
|
|
208
|
+
// an iframe, under devtools): a mouse moving without it held is no longer dragging.
|
|
209
|
+
// It ends where the button was last known to be held, not where this move landed.
|
|
210
|
+
if (event.pointerType === 'mouse' && (event.buttons & 1) === 0) {
|
|
211
|
+
end(session.lastEvent);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
181
214
|
const currentSession = session;
|
|
182
215
|
const payload = getPayload(event, currentSession);
|
|
216
|
+
if (!currentSession.isActive && !isAttributed(payload, currentSession))
|
|
217
|
+
return;
|
|
183
218
|
// A candidate the consumer promotes itself: nothing moves until it says so.
|
|
184
219
|
if (options.shouldActivate && !currentSession.isActive) {
|
|
185
220
|
if (!options.shouldActivate(payload))
|
|
@@ -5,7 +5,8 @@ import type * as PointerOutsideOfPreview from '@atlaskit/pragmatic-drag-and-drop
|
|
|
5
5
|
import type * as SetCustomNativeDragPreview from '@atlaskit/pragmatic-drag-and-drop/element/set-custom-native-drag-preview';
|
|
6
6
|
import type * as Reorder from '@atlaskit/pragmatic-drag-and-drop/reorder';
|
|
7
7
|
declare const elementAdapter: typeof ElementAdapter;
|
|
8
|
-
export declare const autoScrollForElements: (args: import("@atlaskit/pragmatic-drag-and-drop-auto-scroll/dist/types/internal-types.js").ElementAutoScrollArgs<import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").ElementDragType>) => import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").CleanupFn
|
|
8
|
+
export declare const autoScrollForElements: (args: import("@atlaskit/pragmatic-drag-and-drop-auto-scroll/dist/types/internal-types.js").ElementAutoScrollArgs<import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").ElementDragType>) => import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").CleanupFn;
|
|
9
|
+
export declare const autoScrollWindowForElements: (args?: import("@atlaskit/pragmatic-drag-and-drop-auto-scroll/dist/types/internal-types.js").WindowAutoScrollArgs<import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").ElementDragType>) => import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").CleanupFn;
|
|
9
10
|
export declare const combine: typeof Combine.combine;
|
|
10
11
|
export declare const draggable: typeof elementAdapter.draggable;
|
|
11
12
|
export declare const dropTargetForElements: (args: import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").DropTargetArgs<import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").ElementDragType>) => import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").CleanupFn, monitorForElements: (args: import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").MonitorArgs<import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").ElementDragType>) => import("@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types.js").CleanupFn;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// The installed Atlaskit packages publish typed directory entry points that Node ESM cannot
|
|
2
2
|
// load after SSR externalization. Their explicit CommonJS files are runtime-safe but omit
|
|
3
3
|
// adjacent declarations, so this boundary reconnects each verified runtime to its public type.
|
|
4
|
+
// The auto-scroll element entry point binds itself to `@atlaskit/pragmatic-drag-and-drop/adapter/element-adapter`,
|
|
5
|
+
// which bundlers resolve to the package's ESM copy while the CommonJS adapter below is a second
|
|
6
|
+
// copy. Its monitor would then never see a drag, so the scroller is built here on our own adapter.
|
|
4
7
|
// @ts-expect-error See compatibility boundary above.
|
|
5
|
-
import * as
|
|
8
|
+
import * as autoScrollApiRuntime from '@atlaskit/pragmatic-drag-and-drop-auto-scroll/dist/cjs/over-element/make-api.js';
|
|
6
9
|
// @ts-expect-error See compatibility boundary above.
|
|
7
10
|
import * as combineRuntime from '@atlaskit/pragmatic-drag-and-drop/dist/cjs/entry-point/combine.js';
|
|
8
11
|
// @ts-expect-error See compatibility boundary above.
|
|
@@ -17,7 +20,6 @@ import * as setCustomNativeDragPreviewRuntime from '@atlaskit/pragmatic-drag-and
|
|
|
17
20
|
import * as preventUnhandledRuntime from '@atlaskit/pragmatic-drag-and-drop/dist/cjs/entry-point/prevent-unhandled.js';
|
|
18
21
|
// @ts-expect-error See compatibility boundary above.
|
|
19
22
|
import * as reorderRuntime from '@atlaskit/pragmatic-drag-and-drop/dist/cjs/entry-point/reorder.js';
|
|
20
|
-
const autoScroll = autoScrollRuntime;
|
|
21
23
|
const combineEntry = combineRuntime;
|
|
22
24
|
const elementAdapter = elementAdapterRuntime;
|
|
23
25
|
const disableNativeDragPreviewEntry = disableNativeDragPreviewRuntime;
|
|
@@ -26,7 +28,10 @@ const setCustomNativeDragPreviewEntry = setCustomNativeDragPreviewRuntime;
|
|
|
26
28
|
const preventUnhandledEntry = preventUnhandledRuntime;
|
|
27
29
|
const reorderEntry = reorderRuntime;
|
|
28
30
|
const { preventUnhandled } = preventUnhandledEntry;
|
|
29
|
-
|
|
31
|
+
const { makeApi } = autoScrollApiRuntime;
|
|
32
|
+
const autoScroll = makeApi({ monitor: elementAdapter.monitorForElements });
|
|
33
|
+
export const autoScrollForElements = autoScroll.autoScroll;
|
|
34
|
+
export const autoScrollWindowForElements = autoScroll.autoScrollWindow;
|
|
30
35
|
export const { combine } = combineEntry;
|
|
31
36
|
export const draggable = (args) => elementAdapter.draggable({
|
|
32
37
|
...args,
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/** Clamps `value` into `[min, max]`. `NaN` reads as `min`; a range with `max < min` collapses to `min`. */
|
|
2
|
+
export declare const clampRange: (value: number, min?: number, max?: number) => number;
|
|
3
|
+
/**
|
|
4
|
+
* Where `value` sits between `min` and `max`, as a percentage clamped to 0–100. An empty range
|
|
5
|
+
* (`max <= min`) reads 100 at or past `max` and 0 below it; `NaN` reads 0.
|
|
6
|
+
*/
|
|
7
|
+
export declare const toPercent: (value: number, min?: number, max?: number) => number;
|
|
8
|
+
/** `indeterminate` without a finite value, `complete` at `max`, `progressing` otherwise. */
|
|
9
|
+
export type RangeStatus = 'indeterminate' | 'progressing' | 'complete';
|
|
10
|
+
export type RangeValueOptions = {
|
|
11
|
+
/** The raw value. `null`, `undefined` and non-finite values are indeterminate. */
|
|
12
|
+
value: number | null | undefined;
|
|
13
|
+
/** @default 0 */
|
|
14
|
+
min?: number;
|
|
15
|
+
/** @default 100 */
|
|
16
|
+
max?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Formats the clamped value itself (`{ style: 'unit', unit: 'megabyte' }`). Without it, the
|
|
19
|
+
* text is the value's percentage of the range (`45 %` in French).
|
|
20
|
+
*/
|
|
21
|
+
format?: Intl.NumberFormatOptions;
|
|
22
|
+
/** Locale of the text; components pass the active I18n locale. */
|
|
23
|
+
locale?: Intl.LocalesArgument;
|
|
24
|
+
};
|
|
25
|
+
export type ResolvedRangeValue = {
|
|
26
|
+
/** The value clamped into the range, or `null` when indeterminate. */
|
|
27
|
+
value: number | null;
|
|
28
|
+
/** The clamped value as a 0–100 percentage of the range, or `null` when indeterminate. */
|
|
29
|
+
percent: number | null;
|
|
30
|
+
/** The display text, or `''` when indeterminate. */
|
|
31
|
+
formatted: string;
|
|
32
|
+
status: RangeStatus;
|
|
33
|
+
};
|
|
34
|
+
/** Clamps, measures and formats a range value in one pass. */
|
|
35
|
+
export declare const resolveRangeValue: ({ value, min, max, format, locale }: RangeValueOptions) => ResolvedRangeValue;
|
|
36
|
+
/**
|
|
37
|
+
* The display text of a range value: `format` applied to the clamped value, or the percentage of
|
|
38
|
+
* the range in `locale` by default. `''` when indeterminate.
|
|
39
|
+
*/
|
|
40
|
+
export declare const formatRangeValue: (options: RangeValueOptions) => string;
|
|
41
|
+
export type RangeAriaValueTextOptions = RangeValueOptions & {
|
|
42
|
+
/** Custom text from the formatted value and the raw value; wins over the defaults. */
|
|
43
|
+
getAriaValueText?: (formattedValue: string, value: number | null) => string;
|
|
44
|
+
/** Text for an indeterminate value (from the I18n catalog); omitted when not given. */
|
|
45
|
+
indeterminateText?: string;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* `aria-valuetext` for a range value: `getAriaValueText(formatted, raw)` when given, the formatted
|
|
49
|
+
* text otherwise, and `indeterminateText` while indeterminate.
|
|
50
|
+
*/
|
|
51
|
+
export declare const rangeAriaValueText: (options: RangeAriaValueTextOptions) => string | undefined;
|
|
52
|
+
export type RangeAriaAttributes = {
|
|
53
|
+
'aria-valuemin': number;
|
|
54
|
+
'aria-valuemax': number;
|
|
55
|
+
'aria-valuenow': number | undefined;
|
|
56
|
+
'aria-valuetext': string | undefined;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* ARIA value attributes for a `meter`, `progressbar` or `slider`: the bounds, the clamped value
|
|
60
|
+
* (omitted while indeterminate) and the value text.
|
|
61
|
+
*/
|
|
62
|
+
export declare const rangeAriaAttributes: (options: RangeAriaValueTextOptions) => RangeAriaAttributes;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Value helpers for bounded displays (Meter, Progress, ProgressCircle, Slider, the Toast progress
|
|
3
|
+
* bar): clamping, percentages, locale formatting and the ARIA value text, kept in one place so the
|
|
4
|
+
* fill, the visible text and `aria-valuenow` always describe the same number.
|
|
5
|
+
*/
|
|
6
|
+
import { formatNumber } from './number.js';
|
|
7
|
+
/** Clamps `value` into `[min, max]`. `NaN` reads as `min`; a range with `max < min` collapses to `min`. */
|
|
8
|
+
export const clampRange = (value, min = 0, max = 100) => {
|
|
9
|
+
if (Number.isNaN(value))
|
|
10
|
+
return min;
|
|
11
|
+
return Math.min(Math.max(value, min), Math.max(min, max));
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Where `value` sits between `min` and `max`, as a percentage clamped to 0–100. An empty range
|
|
15
|
+
* (`max <= min`) reads 100 at or past `max` and 0 below it; `NaN` reads 0.
|
|
16
|
+
*/
|
|
17
|
+
export const toPercent = (value, min = 0, max = 100) => {
|
|
18
|
+
if (Number.isNaN(value))
|
|
19
|
+
return 0;
|
|
20
|
+
if (max <= min)
|
|
21
|
+
return value >= max ? 100 : 0;
|
|
22
|
+
return Math.min(Math.max(((value - min) * 100) / (max - min), 0), 100);
|
|
23
|
+
};
|
|
24
|
+
/** Clamps, measures and formats a range value in one pass. */
|
|
25
|
+
export const resolveRangeValue = ({ value, min = 0, max = 100, format, locale }) => {
|
|
26
|
+
if (value == null || !Number.isFinite(value)) {
|
|
27
|
+
return { value: null, percent: null, formatted: '', status: 'indeterminate' };
|
|
28
|
+
}
|
|
29
|
+
const clamped = clampRange(value, min, max);
|
|
30
|
+
const percent = toPercent(clamped, min, max);
|
|
31
|
+
return {
|
|
32
|
+
value: clamped,
|
|
33
|
+
percent,
|
|
34
|
+
formatted: format
|
|
35
|
+
? formatNumber(clamped, locale, format)
|
|
36
|
+
: formatNumber(percent / 100, locale, { style: 'percent' }),
|
|
37
|
+
status: clamped >= Math.max(min, max) ? 'complete' : 'progressing'
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* The display text of a range value: `format` applied to the clamped value, or the percentage of
|
|
42
|
+
* the range in `locale` by default. `''` when indeterminate.
|
|
43
|
+
*/
|
|
44
|
+
export const formatRangeValue = (options) => resolveRangeValue(options).formatted;
|
|
45
|
+
const ariaValueText = (resolved, options) => {
|
|
46
|
+
if (options.getAriaValueText) {
|
|
47
|
+
const raw = options.value == null || !Number.isFinite(options.value) ? null : options.value;
|
|
48
|
+
return options.getAriaValueText(resolved.formatted, raw);
|
|
49
|
+
}
|
|
50
|
+
return resolved.status === 'indeterminate' ? options.indeterminateText : resolved.formatted;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* `aria-valuetext` for a range value: `getAriaValueText(formatted, raw)` when given, the formatted
|
|
54
|
+
* text otherwise, and `indeterminateText` while indeterminate.
|
|
55
|
+
*/
|
|
56
|
+
export const rangeAriaValueText = (options) => ariaValueText(resolveRangeValue(options), options);
|
|
57
|
+
/**
|
|
58
|
+
* ARIA value attributes for a `meter`, `progressbar` or `slider`: the bounds, the clamped value
|
|
59
|
+
* (omitted while indeterminate) and the value text.
|
|
60
|
+
*/
|
|
61
|
+
export const rangeAriaAttributes = (options) => {
|
|
62
|
+
const { min = 0, max = 100 } = options;
|
|
63
|
+
const resolved = resolveRangeValue(options);
|
|
64
|
+
return {
|
|
65
|
+
'aria-valuemin': min,
|
|
66
|
+
'aria-valuemax': max,
|
|
67
|
+
'aria-valuenow': resolved.value ?? undefined,
|
|
68
|
+
'aria-valuetext': ariaValueText(resolved, options)
|
|
69
|
+
};
|
|
70
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The form an element submits with: its form owner when it is a form control (which honours a
|
|
3
|
+
* `form` attribute, and is null when that attribute names no form), else the closest ancestor form.
|
|
4
|
+
*/
|
|
5
|
+
export declare const getNativeForm: (element: Element | null | undefined) => HTMLFormElement | null;
|
|
6
|
+
/**
|
|
7
|
+
* The button a browser clicks for implicit submission: the first submit button of the form in tree
|
|
8
|
+
* order, counting buttons placed outside it with a `form` attribute. It may be disabled.
|
|
9
|
+
*/
|
|
10
|
+
export declare const getDefaultSubmitter: (form: HTMLFormElement | null) => HTMLButtonElement | HTMLInputElement | null;
|
|
11
|
+
/**
|
|
12
|
+
* Submits the form that owns `element` as Enter does on a native checkbox: by clicking the form's
|
|
13
|
+
* default button, so its click handlers, `formaction`/`formmethod` and `SubmitEvent.submitter` all
|
|
14
|
+
* take part and constraint validation runs. Without an enabled default button nothing happens,
|
|
15
|
+
* like a native checkbox. Returns whether a submission was requested.
|
|
16
|
+
*/
|
|
17
|
+
export declare const requestNativeSubmit: (element: Element | null | undefined) => boolean;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Implicit submission for custom controls. A native checkbox or radio submits its form on Enter
|
|
2
|
+
// through the form's default button, the way a text field does, and does nothing when the form has
|
|
3
|
+
// none (or when that button is disabled). Controls built on buttons and divs mirror that here.
|
|
4
|
+
const isFormAssociated = (element) => 'form' in element && element.localName !== 'form';
|
|
5
|
+
/**
|
|
6
|
+
* The form an element submits with: its form owner when it is a form control (which honours a
|
|
7
|
+
* `form` attribute, and is null when that attribute names no form), else the closest ancestor form.
|
|
8
|
+
*/
|
|
9
|
+
export const getNativeForm = (element) => {
|
|
10
|
+
if (!element)
|
|
11
|
+
return null;
|
|
12
|
+
if (element.localName === 'form')
|
|
13
|
+
return element;
|
|
14
|
+
if (isFormAssociated(element) && (element.form || element.hasAttribute('form'))) {
|
|
15
|
+
return element.form;
|
|
16
|
+
}
|
|
17
|
+
return element.closest('form');
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The button a browser clicks for implicit submission: the first submit button of the form in tree
|
|
21
|
+
* order, counting buttons placed outside it with a `form` attribute. It may be disabled.
|
|
22
|
+
*/
|
|
23
|
+
export const getDefaultSubmitter = (form) => {
|
|
24
|
+
if (!form)
|
|
25
|
+
return null;
|
|
26
|
+
for (const element of Array.from(form.elements)) {
|
|
27
|
+
if ((element.localName === 'button' || element.localName === 'input') &&
|
|
28
|
+
element.type === 'submit') {
|
|
29
|
+
return element;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Submits the form that owns `element` as Enter does on a native checkbox: by clicking the form's
|
|
36
|
+
* default button, so its click handlers, `formaction`/`formmethod` and `SubmitEvent.submitter` all
|
|
37
|
+
* take part and constraint validation runs. Without an enabled default button nothing happens,
|
|
38
|
+
* like a native checkbox. Returns whether a submission was requested.
|
|
39
|
+
*/
|
|
40
|
+
export const requestNativeSubmit = (element) => {
|
|
41
|
+
const submitter = getDefaultSubmitter(getNativeForm(element));
|
|
42
|
+
// `:disabled` also covers a button inside a disabled fieldset, which `.disabled` misses.
|
|
43
|
+
if (!submitter || submitter.matches(':disabled'))
|
|
44
|
+
return false;
|
|
45
|
+
submitter.click();
|
|
46
|
+
return true;
|
|
47
|
+
};
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
type SafeAreaDebugOption = boolean | (() => boolean);
|
|
2
|
+
/** Default grace before a pointer outside the safe area closes it; see `closeDelay`. */
|
|
3
|
+
export declare const SAFE_AREA_CLOSE_DELAY = 120;
|
|
2
4
|
export declare const useSafeArea: (opts: {
|
|
3
5
|
isActive: () => boolean;
|
|
4
|
-
|
|
6
|
+
/** Runs when the pointer has left the safe area, with the pointer event that left it. */
|
|
7
|
+
callback?: (event?: PointerEvent) => void;
|
|
5
8
|
offset?: number;
|
|
6
9
|
debug?: SafeAreaDebugOption;
|
|
7
10
|
trackPosition?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Milliseconds the pointer may stay outside the safe area before `callback` runs. Read each
|
|
13
|
+
* time the pointer leaves, so a function follows a changing value. Default
|
|
14
|
+
* `SAFE_AREA_CLOSE_DELAY`.
|
|
15
|
+
*/
|
|
16
|
+
closeDelay?: number | (() => number | undefined);
|
|
8
17
|
}) => {
|
|
9
18
|
reference: (ref: HTMLElement) => () => void;
|
|
10
19
|
anchorReference: (ref: HTMLElement) => () => void;
|
|
@@ -100,6 +100,8 @@ function drawAreaInDOM(points, style) {
|
|
|
100
100
|
document.body.appendChild(svg);
|
|
101
101
|
return svg;
|
|
102
102
|
}
|
|
103
|
+
/** Default grace before a pointer outside the safe area closes it; see `closeDelay`. */
|
|
104
|
+
export const SAFE_AREA_CLOSE_DELAY = 120;
|
|
103
105
|
export const useSafeArea = (opts) => {
|
|
104
106
|
const refs = new SvelteMap();
|
|
105
107
|
const observerOffs = new SvelteMap();
|
|
@@ -111,10 +113,11 @@ export const useSafeArea = (opts) => {
|
|
|
111
113
|
let lastSafeRole = null;
|
|
112
114
|
let isListening = false;
|
|
113
115
|
let closeTimer = null;
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
//
|
|
117
|
-
const
|
|
116
|
+
// A short grace delay is also a sampling safety net: pointermove fires on discrete points, so
|
|
117
|
+
// a fast flick can skip past the cone in one event, and the delay lets it re-enter a safe
|
|
118
|
+
// region before the close actually fires.
|
|
119
|
+
const readCloseDelay = () => Math.max(0, (typeof opts.closeDelay === 'function' ? opts.closeDelay() : opts.closeDelay) ??
|
|
120
|
+
SAFE_AREA_CLOSE_DELAY);
|
|
118
121
|
const { offset = 10 } = opts;
|
|
119
122
|
const getDebug = () => (typeof opts.debug === 'function' ? opts.debug() : !!opts.debug);
|
|
120
123
|
// The anchor (trigger) is measured tight — expanding it would push the cone's
|
|
@@ -197,14 +200,14 @@ export const useSafeArea = (opts) => {
|
|
|
197
200
|
clearTimeout(closeTimer);
|
|
198
201
|
closeTimer = null;
|
|
199
202
|
};
|
|
200
|
-
const scheduleClose = () => {
|
|
203
|
+
const scheduleClose = (event) => {
|
|
201
204
|
if (closeTimer !== null)
|
|
202
205
|
return;
|
|
203
206
|
closeTimer = setTimeout(() => {
|
|
204
207
|
closeTimer = null;
|
|
205
|
-
opts.callback?.();
|
|
208
|
+
opts.callback?.(event);
|
|
206
209
|
destroy();
|
|
207
|
-
},
|
|
210
|
+
}, readCloseDelay());
|
|
208
211
|
};
|
|
209
212
|
const onPointerMove = (e) => {
|
|
210
213
|
if (rects.size === 0)
|
|
@@ -228,7 +231,7 @@ export const useSafeArea = (opts) => {
|
|
|
228
231
|
cancelClose();
|
|
229
232
|
return;
|
|
230
233
|
}
|
|
231
|
-
scheduleClose();
|
|
234
|
+
scheduleClose(e);
|
|
232
235
|
};
|
|
233
236
|
const removeDebug = () => {
|
|
234
237
|
rectDebugs.forEach((debug) => debug.remove());
|
|
@@ -319,9 +322,14 @@ export const useSafeArea = (opts) => {
|
|
|
319
322
|
destroy();
|
|
320
323
|
});
|
|
321
324
|
const registerReference = (ref, role) => {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
+
// Runs inside the caller's attachment effect. While the area is listening,
|
|
326
|
+
// `addReference` reads and writes `observerOffs`; tracked, that would re-run the
|
|
327
|
+
// attachment, whose teardown deletes the entry again, without end.
|
|
328
|
+
untrack(() => {
|
|
329
|
+
refs.set(ref, role);
|
|
330
|
+
if (isListening)
|
|
331
|
+
addReference(ref);
|
|
332
|
+
});
|
|
325
333
|
return () => {
|
|
326
334
|
refs.delete(ref);
|
|
327
335
|
observerOffs.get(ref)?.();
|