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,55 +1,85 @@
|
|
|
1
|
-
<script lang="ts">
|
|
1
|
+
<script lang="ts" generics="Multiple extends boolean = false">
|
|
2
2
|
import { useI18n } from '../../../i18n/context.svelte.js';
|
|
3
3
|
import { untrack } from 'svelte';
|
|
4
|
+
import { on } from 'svelte/events';
|
|
4
5
|
import Field from '../Field/Field.svelte';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
6
|
+
import FieldActionButton from '../Field/FieldActionButton.svelte';
|
|
7
|
+
import FieldHiddenInputs from '../Field/FieldHiddenInputs.svelte';
|
|
8
|
+
import { createFieldState, type FieldValidatorResult } from '../Field/field.state.svelte.js';
|
|
9
|
+
import type { FieldValue } from '../Field/field.js';
|
|
10
|
+
import type { SelectOption, SelectProps, SelectValue } from './select.props.js';
|
|
7
11
|
import { useSelectTheme } from './select.theme.js';
|
|
8
12
|
import { SelectState } from './select.state.svelte.js';
|
|
13
|
+
import SelectOptionRow from './SelectOptionRow.svelte';
|
|
9
14
|
import Popover from '../../Popover/Popover.svelte';
|
|
15
|
+
import { popupOpenClaim } from '../../Popover/popover.claims.js';
|
|
10
16
|
import ScrollArea from '../../ScrollArea/ScrollArea.svelte';
|
|
11
|
-
import MenuOption from '../../MenuOption/MenuOption.svelte';
|
|
12
17
|
import { caretDownIcon } from '../../Icons/caretDown.js';
|
|
13
18
|
import { checkIcon } from '../../Icons/check.js';
|
|
19
|
+
import { xIcon } from '../../Icons/x.js';
|
|
20
|
+
import { createBindableValue } from '../../../utils/state.svelte.js';
|
|
21
|
+
import { presence } from '../../../utils/stateAttributes.js';
|
|
14
22
|
|
|
15
23
|
let {
|
|
16
24
|
defaultValue = null,
|
|
17
25
|
value = $bindable(),
|
|
18
26
|
errors = $bindable([]),
|
|
19
27
|
focused = $bindable(false),
|
|
28
|
+
open = $bindable(),
|
|
29
|
+
defaultOpen = false,
|
|
30
|
+
onOpenChange,
|
|
31
|
+
onAfterOpen,
|
|
32
|
+
onAfterClose,
|
|
20
33
|
required = false,
|
|
21
34
|
placeholder,
|
|
22
35
|
i18n,
|
|
23
36
|
theme,
|
|
24
37
|
disabled,
|
|
38
|
+
readOnly,
|
|
39
|
+
messages,
|
|
25
40
|
name,
|
|
41
|
+
id: idProp,
|
|
26
42
|
size = 'normal',
|
|
27
43
|
density = 'normal',
|
|
28
44
|
onValidate,
|
|
29
45
|
onValueChange,
|
|
30
46
|
visible,
|
|
31
47
|
items,
|
|
48
|
+
multiple = false as Multiple,
|
|
49
|
+
formatValue,
|
|
50
|
+
clearable = false,
|
|
51
|
+
autocomplete,
|
|
32
52
|
separators = true,
|
|
33
53
|
alignItemWithTrigger = true,
|
|
34
54
|
triggerAttrs,
|
|
35
55
|
label,
|
|
36
56
|
...rest
|
|
37
|
-
}: SelectProps = $props();
|
|
57
|
+
}: SelectProps<Multiple> = $props();
|
|
38
58
|
if (value === undefined) value = untrack(() => defaultValue);
|
|
39
59
|
|
|
40
|
-
const
|
|
60
|
+
const generatedId = $props.id();
|
|
61
|
+
const id = untrack(() => idProp) ?? generatedId;
|
|
41
62
|
let valueEl = $state<HTMLElement | null>(null);
|
|
42
63
|
let listEl = $state<HTMLDivElement | null>(null);
|
|
43
64
|
let viewportEl = $state<HTMLDivElement | null>(null);
|
|
65
|
+
let contentEl = $state<HTMLDivElement | null>(null);
|
|
44
66
|
const t = $derived(useI18n(i18n));
|
|
67
|
+
const openState = createBindableValue(
|
|
68
|
+
() => open,
|
|
69
|
+
(next) => {
|
|
70
|
+
open = next;
|
|
71
|
+
},
|
|
72
|
+
() => defaultOpen
|
|
73
|
+
);
|
|
45
74
|
|
|
46
|
-
|
|
75
|
+
type Value = FieldValue<'select' | 'select-multiple'>;
|
|
76
|
+
const field = createFieldState<'select' | 'select-multiple'>({
|
|
47
77
|
id,
|
|
48
78
|
get value() {
|
|
49
|
-
return value;
|
|
79
|
+
return value as Value | null | undefined;
|
|
50
80
|
},
|
|
51
81
|
set value(v) {
|
|
52
|
-
value = v;
|
|
82
|
+
value = v as SelectValue<Multiple> | undefined;
|
|
53
83
|
},
|
|
54
84
|
get errors() {
|
|
55
85
|
return errors;
|
|
@@ -64,7 +94,7 @@
|
|
|
64
94
|
focused = v;
|
|
65
95
|
},
|
|
66
96
|
get onValueChange() {
|
|
67
|
-
return onValueChange;
|
|
97
|
+
return onValueChange as ((value: Value | null) => void) | undefined;
|
|
68
98
|
},
|
|
69
99
|
get disabled() {
|
|
70
100
|
return disabled;
|
|
@@ -72,6 +102,12 @@
|
|
|
72
102
|
set disabled(v: boolean | undefined) {
|
|
73
103
|
disabled = v;
|
|
74
104
|
},
|
|
105
|
+
get readOnly() {
|
|
106
|
+
return readOnly;
|
|
107
|
+
},
|
|
108
|
+
get messages() {
|
|
109
|
+
return messages;
|
|
110
|
+
},
|
|
75
111
|
get required() {
|
|
76
112
|
return required;
|
|
77
113
|
},
|
|
@@ -82,12 +118,13 @@
|
|
|
82
118
|
name = v;
|
|
83
119
|
},
|
|
84
120
|
get onValidate() {
|
|
85
|
-
return onValidate;
|
|
121
|
+
return onValidate as ((value: Value) => FieldValidatorResult) | undefined;
|
|
86
122
|
},
|
|
87
123
|
get visible() {
|
|
88
124
|
return visible;
|
|
89
125
|
},
|
|
90
|
-
|
|
126
|
+
// Fixed for the life of the field: a Select does not change what it holds.
|
|
127
|
+
type: untrack(() => multiple) ? 'select-multiple' : 'select'
|
|
91
128
|
});
|
|
92
129
|
|
|
93
130
|
const select = new SelectState({
|
|
@@ -99,11 +136,17 @@
|
|
|
99
136
|
return field.value;
|
|
100
137
|
},
|
|
101
138
|
set value(v) {
|
|
102
|
-
field.value = v;
|
|
139
|
+
field.value = v as Value | null;
|
|
140
|
+
},
|
|
141
|
+
get multiple() {
|
|
142
|
+
return multiple;
|
|
103
143
|
},
|
|
104
144
|
get disabled() {
|
|
105
145
|
return field.disabled;
|
|
106
146
|
},
|
|
147
|
+
get readOnly() {
|
|
148
|
+
return field.readOnly;
|
|
149
|
+
},
|
|
107
150
|
get triggerEl() {
|
|
108
151
|
return field.node;
|
|
109
152
|
},
|
|
@@ -121,10 +164,57 @@
|
|
|
121
164
|
},
|
|
122
165
|
get viewportEl() {
|
|
123
166
|
return viewportEl;
|
|
167
|
+
},
|
|
168
|
+
get contentEl() {
|
|
169
|
+
return contentEl;
|
|
170
|
+
},
|
|
171
|
+
openState: {
|
|
172
|
+
get: () => openState.value,
|
|
173
|
+
set: (next) => {
|
|
174
|
+
openState.value = next;
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
get onOpenChange() {
|
|
178
|
+
return onOpenChange;
|
|
124
179
|
}
|
|
125
180
|
});
|
|
126
181
|
|
|
127
182
|
const classes = $derived(useSelectTheme(theme));
|
|
183
|
+
|
|
184
|
+
// What the trigger shows for the selection: the option's label, or `formatValue` of the
|
|
185
|
+
// selected options (the default lists two labels and counts the rest).
|
|
186
|
+
const defaultFormat = (options: SelectOption[]) =>
|
|
187
|
+
options
|
|
188
|
+
.slice(0, 2)
|
|
189
|
+
.map((option) => option.label)
|
|
190
|
+
.join(', ') + (options.length > 2 ? ` +${options.length - 2}` : '');
|
|
191
|
+
const hasValue = $derived(select.selectedOptions.length > 0);
|
|
192
|
+
const valueText = $derived(
|
|
193
|
+
!hasValue
|
|
194
|
+
? undefined
|
|
195
|
+
: multiple
|
|
196
|
+
? (formatValue ?? defaultFormat)(select.selectedOptions)
|
|
197
|
+
: select.selectedOption?.label
|
|
198
|
+
);
|
|
199
|
+
|
|
200
|
+
// A `<label for>` elsewhere on the page names the trigger (see `id`): the placeholder fallback
|
|
201
|
+
// below must not override it, and a click on it focuses the trigger without opening the list.
|
|
202
|
+
// Only an unlabelled Select looks: `labels` scans the document.
|
|
203
|
+
let externallyLabelled = $state(false);
|
|
204
|
+
$effect(() => {
|
|
205
|
+
const node = field.node as HTMLButtonElement | null;
|
|
206
|
+
if (label || triggerAttrs?.['aria-labelledby'] || !node) {
|
|
207
|
+
externallyLabelled = false;
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const labels = Array.from(node.labels ?? []);
|
|
211
|
+
externallyLabelled = labels.length > 0;
|
|
212
|
+
const stops = labels.map((element) => on(element, 'click', () => select.noteLabelClick()));
|
|
213
|
+
return () => stops.forEach((stop) => stop());
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
// What a browser autofill can name: the options that can be chosen.
|
|
217
|
+
const autofillOptions = $derived(select.flatOptions.filter((option) => !option.disabled));
|
|
128
218
|
</script>
|
|
129
219
|
|
|
130
220
|
{#snippet checkMark()}
|
|
@@ -132,6 +222,7 @@
|
|
|
132
222
|
{/snippet}
|
|
133
223
|
|
|
134
224
|
<Popover
|
|
225
|
+
haspopup="listbox"
|
|
135
226
|
closeOnClickOutside={false}
|
|
136
227
|
closeOnEscape={false}
|
|
137
228
|
fitTrigger
|
|
@@ -144,14 +235,15 @@
|
|
|
144
235
|
out: { scale: 1, opacity: 0 }
|
|
145
236
|
}}
|
|
146
237
|
open={select.isOpen}
|
|
238
|
+
onAfterOpen={() => onAfterOpen?.()}
|
|
239
|
+
onAfterClose={() => onAfterClose?.()}
|
|
147
240
|
>
|
|
148
|
-
<!-- Virtual focus: DOM focus stays on the combobox trigger;
|
|
149
|
-
|
|
241
|
+
<!-- Virtual focus: DOM focus stays on the combobox trigger; the listbox is a programmatic
|
|
242
|
+
target only (tabindex=-1), and focus that a screen reader moves into the panel keeps it
|
|
243
|
+
open. -->
|
|
244
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
150
245
|
<div
|
|
151
|
-
|
|
152
|
-
role="listbox"
|
|
153
|
-
aria-label={t.options}
|
|
154
|
-
tabindex={-1}
|
|
246
|
+
bind:this={contentEl}
|
|
155
247
|
class={classes.content({ size })}
|
|
156
248
|
onmousedown={(event) => {
|
|
157
249
|
// Keep DOM focus on the trigger for ANY press inside the panel (group labels,
|
|
@@ -159,46 +251,65 @@
|
|
|
159
251
|
// closes before the click lands.
|
|
160
252
|
event.preventDefault();
|
|
161
253
|
}}
|
|
254
|
+
onfocusout={select.onPanelFocusOut}
|
|
255
|
+
onkeydown={select.onPanelKeydown}
|
|
162
256
|
>
|
|
257
|
+
<!-- The scroll viewport is the listbox: it owns the scrolling and its options are the nodes
|
|
258
|
+
the accessibility tree lists under it (groups only for labelled sets). The trigger's
|
|
259
|
+
active-descendant navigation scrolls the highlighted option into view, so the viewport
|
|
260
|
+
takes no tab stop of its own. -->
|
|
163
261
|
<ScrollArea
|
|
164
262
|
bind:ref={listEl}
|
|
165
263
|
bind:viewportRef={viewportEl}
|
|
264
|
+
viewportAttrs={{
|
|
265
|
+
id: select.listboxId,
|
|
266
|
+
role: 'listbox',
|
|
267
|
+
'aria-label': t.options,
|
|
268
|
+
'aria-multiselectable': multiple ? true : undefined,
|
|
269
|
+
tabindex: -1,
|
|
270
|
+
class: classes.listbox()
|
|
271
|
+
}}
|
|
166
272
|
scrollOnEdges
|
|
167
273
|
type="auto"
|
|
168
|
-
class=
|
|
274
|
+
class={classes.list({ dropdown: select.dropdown })}
|
|
169
275
|
>
|
|
170
276
|
{#each select.renderGroups as group, groupIndex (groupIndex)}
|
|
171
277
|
{#if separators && groupIndex > 0}
|
|
172
|
-
|
|
278
|
+
<!-- Decorative divider between groups: the groups already convey the structure. -->
|
|
279
|
+
<div role="presentation" class={classes.separator({ size })}></div>
|
|
173
280
|
{/if}
|
|
174
|
-
|
|
281
|
+
<!-- Only a labelled set is a group; bare options sit directly under the listbox. -->
|
|
282
|
+
<div
|
|
283
|
+
role={group.label ? 'group' : undefined}
|
|
284
|
+
aria-label={group.label}
|
|
285
|
+
class={classes.group({ size })}
|
|
286
|
+
>
|
|
175
287
|
{#if group.label}
|
|
176
288
|
<div aria-hidden="true" class={classes.groupLabel({ size })}>{group.label}</div>
|
|
177
289
|
{/if}
|
|
178
290
|
{#each group.items as option (option.value)}
|
|
179
|
-
<
|
|
180
|
-
|
|
181
|
-
|
|
291
|
+
<SelectOptionRow
|
|
292
|
+
id={select.optionId(option.value)}
|
|
293
|
+
label={option.label}
|
|
182
294
|
{size}
|
|
183
295
|
{density}
|
|
184
|
-
title={option.label}
|
|
185
296
|
highlighted={select.nav.highlighted === option.value}
|
|
186
|
-
selected={
|
|
297
|
+
selected={select.isSelected(option.value)}
|
|
187
298
|
disabled={!!option.disabled}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
tabindex: -1,
|
|
193
|
-
onpointermove: () => {
|
|
194
|
-
if (!option.disabled) select.nav.setHighlighted(option.value);
|
|
195
|
-
}
|
|
299
|
+
check={checkMark}
|
|
300
|
+
onactivate={(event) => select.activate(option.value, event)}
|
|
301
|
+
onhover={(event) => {
|
|
302
|
+
if (!option.disabled) select.nav.pointerHighlight(option.value, event);
|
|
196
303
|
}}
|
|
197
304
|
/>
|
|
198
305
|
{/each}
|
|
199
306
|
</div>
|
|
200
307
|
{/each}
|
|
201
308
|
</ScrollArea>
|
|
309
|
+
<!-- For touch screen-reader users, who have no Escape key and reach the panel by swiping. -->
|
|
310
|
+
<button type="button" tabindex="-1" class="sr-only" onclick={select.onCloseButton}>
|
|
311
|
+
{t.close}
|
|
312
|
+
</button>
|
|
202
313
|
</div>
|
|
203
314
|
{#snippet trigger()}
|
|
204
315
|
<Field
|
|
@@ -206,6 +317,7 @@
|
|
|
206
317
|
{label}
|
|
207
318
|
{size}
|
|
208
319
|
{density}
|
|
320
|
+
labelFor={false}
|
|
209
321
|
theme={{
|
|
210
322
|
...(theme || {}),
|
|
211
323
|
inputContainer: {
|
|
@@ -231,15 +343,24 @@
|
|
|
231
343
|
aria-activedescendant={select.isOpen ? select.nav.activeDescendant : undefined}
|
|
232
344
|
aria-required={required || undefined}
|
|
233
345
|
aria-label={triggerAttrs?.['aria-label'] ??
|
|
234
|
-
(label || triggerAttrs?.['aria-labelledby']
|
|
346
|
+
(label || triggerAttrs?.['aria-labelledby'] || externallyLabelled
|
|
235
347
|
? undefined
|
|
236
348
|
: (placeholder ?? t.selectOption))}
|
|
237
|
-
data-placeholder={
|
|
349
|
+
data-placeholder={hasValue ? undefined : ''}
|
|
350
|
+
data-readonly={presence(field.readOnly)}
|
|
351
|
+
data-disabled={presence(field.disabled)}
|
|
352
|
+
{@attach popupOpenClaim(select.isOpen)}
|
|
238
353
|
disabled={field.disabled}
|
|
239
354
|
class={classes.input({ size, disabled: field.disabled })}
|
|
355
|
+
onpointerdown={(event) => {
|
|
356
|
+
triggerAttrs?.onpointerdown?.(event);
|
|
357
|
+
select.onTriggerPointerDown(event);
|
|
358
|
+
}}
|
|
240
359
|
onclick={(event) => {
|
|
241
360
|
triggerAttrs?.onclick?.(event);
|
|
242
|
-
if (
|
|
361
|
+
if (event.defaultPrevented) return;
|
|
362
|
+
if (select.consumeLabelClick()) field.node?.focus();
|
|
363
|
+
else select.toggle({ reason: 'trigger-press', event });
|
|
243
364
|
}}
|
|
244
365
|
onkeydown={(event) => {
|
|
245
366
|
triggerAttrs?.onkeydown?.(event);
|
|
@@ -251,22 +372,39 @@
|
|
|
251
372
|
}}
|
|
252
373
|
onblur={(event) => {
|
|
253
374
|
field.focused = false;
|
|
254
|
-
select.
|
|
375
|
+
select.onTriggerBlur(event);
|
|
255
376
|
triggerAttrs?.onblur?.(event);
|
|
256
377
|
}}
|
|
257
378
|
>
|
|
258
|
-
<span
|
|
259
|
-
|
|
260
|
-
class={classes.value({ size, placeholder: !select.selectedOption })}
|
|
261
|
-
>
|
|
262
|
-
{select.selectedOption?.label ?? placeholder ?? t.selectOption}
|
|
379
|
+
<span bind:this={valueEl} class={classes.value({ size, placeholder: !hasValue })}>
|
|
380
|
+
{valueText ?? placeholder ?? t.selectOption}
|
|
263
381
|
</span>
|
|
264
382
|
{@render caretDownIcon({ class: classes.triggerIcon({ size }) })}
|
|
265
383
|
</button>
|
|
384
|
+
{#if name || required || (autocomplete && !multiple)}
|
|
385
|
+
<!-- Beside the trigger, not in it: what a native form submits (one input per value), what a
|
|
386
|
+
browser autofills, and the stand-in that blocks a native submit while a required Select
|
|
387
|
+
is empty. -->
|
|
388
|
+
<FieldHiddenInputs
|
|
389
|
+
{field}
|
|
390
|
+
value={field.value}
|
|
391
|
+
autocomplete={multiple ? undefined : autocomplete}
|
|
392
|
+
options={autofillOptions}
|
|
393
|
+
/>
|
|
394
|
+
{/if}
|
|
395
|
+
{#if clearable && hasValue && !field.readOnly && !field.disabled}
|
|
396
|
+
<FieldActionButton
|
|
397
|
+
{size}
|
|
398
|
+
color="danger"
|
|
399
|
+
class="relative"
|
|
400
|
+
label={`${t.clear} ${t.selection}`}
|
|
401
|
+
prefix={xIcon}
|
|
402
|
+
onclick={() => {
|
|
403
|
+
select.clear();
|
|
404
|
+
field.node?.focus();
|
|
405
|
+
}}
|
|
406
|
+
/>
|
|
407
|
+
{/if}
|
|
266
408
|
</Field>
|
|
267
409
|
{/snippet}
|
|
268
410
|
</Popover>
|
|
269
|
-
|
|
270
|
-
{#if name}
|
|
271
|
-
<input type="hidden" {name} value={field.value ?? ''} />
|
|
272
|
-
{/if}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
import type { SelectProps } from './select.props.js';
|
|
2
|
-
declare
|
|
3
|
-
|
|
2
|
+
declare function $$render<Multiple extends boolean = false>(): {
|
|
3
|
+
props: SelectProps<Multiple>;
|
|
4
|
+
exports: {};
|
|
5
|
+
bindings: "value" | "errors" | "focused" | "open";
|
|
6
|
+
slots: {};
|
|
7
|
+
events: {};
|
|
8
|
+
};
|
|
9
|
+
declare class __sveltets_Render<Multiple extends boolean = false> {
|
|
10
|
+
props(): ReturnType<typeof $$render<Multiple>>['props'];
|
|
11
|
+
events(): ReturnType<typeof $$render<Multiple>>['events'];
|
|
12
|
+
slots(): ReturnType<typeof $$render<Multiple>>['slots'];
|
|
13
|
+
bindings(): "value" | "errors" | "focused" | "open";
|
|
14
|
+
exports(): {};
|
|
15
|
+
}
|
|
16
|
+
interface $$IsomorphicComponent {
|
|
17
|
+
new <Multiple extends boolean = false>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Multiple>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Multiple>['props']>, ReturnType<__sveltets_Render<Multiple>['events']>, ReturnType<__sveltets_Render<Multiple>['slots']>> & {
|
|
18
|
+
$$bindings?: ReturnType<__sveltets_Render<Multiple>['bindings']>;
|
|
19
|
+
} & ReturnType<__sveltets_Render<Multiple>['exports']>;
|
|
20
|
+
<Multiple extends boolean = false>(internal: unknown, props: ReturnType<__sveltets_Render<Multiple>['props']> & {}): ReturnType<__sveltets_Render<Multiple>['exports']>;
|
|
21
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
22
|
+
}
|
|
23
|
+
declare const Select: $$IsomorphicComponent;
|
|
24
|
+
type Select<Multiple extends boolean = false> = InstanceType<typeof Select<Multiple>>;
|
|
4
25
|
export default Select;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
// One option row of a Select. It is the markup MenuOption renders for a titled listbox option,
|
|
3
|
+
// without the Slot wrappers MenuOption builds for the parts a Select never uses (prefix,
|
|
4
|
+
// description, custom children): a list of a thousand options mounts about half the nodes and
|
|
5
|
+
// components. It reads MenuOption's theme, so rows look the same as every other listbox row.
|
|
6
|
+
import type { Snippet } from 'svelte';
|
|
7
|
+
import type { Density, Sizes } from '../../../types/theme.js';
|
|
8
|
+
import { useMenuOptionTheme } from '../../MenuOption/menuOption.theme.js';
|
|
9
|
+
|
|
10
|
+
let {
|
|
11
|
+
id,
|
|
12
|
+
label,
|
|
13
|
+
size,
|
|
14
|
+
density,
|
|
15
|
+
highlighted,
|
|
16
|
+
selected,
|
|
17
|
+
disabled,
|
|
18
|
+
check,
|
|
19
|
+
onactivate,
|
|
20
|
+
onhover
|
|
21
|
+
}: {
|
|
22
|
+
id: string;
|
|
23
|
+
label: string;
|
|
24
|
+
size: Sizes;
|
|
25
|
+
density: Density;
|
|
26
|
+
highlighted: boolean;
|
|
27
|
+
selected: boolean;
|
|
28
|
+
disabled: boolean;
|
|
29
|
+
/** The selected-state indicator, shown in the row's suffix while selected. */
|
|
30
|
+
check: Snippet;
|
|
31
|
+
onactivate: (event: MouseEvent) => void;
|
|
32
|
+
onhover: (event: PointerEvent) => void;
|
|
33
|
+
} = $props();
|
|
34
|
+
|
|
35
|
+
const classes = useMenuOptionTheme();
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<button
|
|
39
|
+
type="button"
|
|
40
|
+
role="option"
|
|
41
|
+
{id}
|
|
42
|
+
tabindex={-1}
|
|
43
|
+
data-color="neutral"
|
|
44
|
+
data-size={size}
|
|
45
|
+
data-density={density}
|
|
46
|
+
data-highlighted={highlighted ? 'true' : undefined}
|
|
47
|
+
data-selected={selected ? 'true' : undefined}
|
|
48
|
+
data-disabled={disabled ? '' : undefined}
|
|
49
|
+
aria-selected={selected}
|
|
50
|
+
aria-disabled={disabled ? true : undefined}
|
|
51
|
+
{disabled}
|
|
52
|
+
class={classes.root({
|
|
53
|
+
color: 'neutral',
|
|
54
|
+
size,
|
|
55
|
+
density,
|
|
56
|
+
disabled,
|
|
57
|
+
highlighted,
|
|
58
|
+
active: false
|
|
59
|
+
})}
|
|
60
|
+
onclick={onactivate}
|
|
61
|
+
onpointermove={disabled ? undefined : onhover}
|
|
62
|
+
>
|
|
63
|
+
<div class={classes.content({ density })}>
|
|
64
|
+
<div class="{classes.title({ size })} leading-none">{label}</div>
|
|
65
|
+
</div>
|
|
66
|
+
{#if selected}
|
|
67
|
+
<div class={classes.suffix({ size })}>{@render check()}</div>
|
|
68
|
+
{/if}
|
|
69
|
+
</button>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { Density, Sizes } from '../../../types/theme.js';
|
|
3
|
+
type $$ComponentProps = {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
size: Sizes;
|
|
7
|
+
density: Density;
|
|
8
|
+
highlighted: boolean;
|
|
9
|
+
selected: boolean;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
/** The selected-state indicator, shown in the row's suffix while selected. */
|
|
12
|
+
check: Snippet;
|
|
13
|
+
onactivate: (event: MouseEvent) => void;
|
|
14
|
+
onhover: (event: PointerEvent) => void;
|
|
15
|
+
};
|
|
16
|
+
declare const SelectOptionRow: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
17
|
+
type SelectOptionRow = ReturnType<typeof SelectOptionRow>;
|
|
18
|
+
export default SelectOptionRow;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as Select } from './Select.svelte';
|
|
2
|
-
export type { SelectProps, SelectOption, SelectOptionGroup, SelectItems, SelectTriggerAttributes } from './select.props.js';
|
|
2
|
+
export type { SelectProps, SelectOption, SelectOptionGroup, SelectItems, SelectValue, SelectTriggerAttributes } from './select.props.js';
|
|
3
3
|
export { SelectState } from './select.state.svelte.js';
|
|
4
4
|
export { selectTheme, setSelectTheme, useSelectTheme, type SelectTheme, type SelectThemeProps } from './select.theme.js';
|
|
5
|
+
export { selectDataAttributes, selectCssVariables, type SelectDataAttribute, type SelectCssVariable } from './select.attributes.js';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default as Select } from './Select.svelte';
|
|
2
2
|
export { SelectState } from './select.state.svelte.js';
|
|
3
3
|
export { selectTheme, setSelectTheme, useSelectTheme } from './select.theme.js';
|
|
4
|
+
export { selectDataAttributes, selectCssVariables } from './select.attributes.js';
|
|
@@ -35,6 +35,11 @@ export type SelectAlignMetrics = {
|
|
|
35
35
|
textStart: number;
|
|
36
36
|
};
|
|
37
37
|
rtl: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The tallest the option list may be, in px: a `max-height` the theme or consumer put on it.
|
|
40
|
+
* Absent (or `Infinity`) when it is only limited by the viewport.
|
|
41
|
+
*/
|
|
42
|
+
maxListHeight?: number;
|
|
38
43
|
};
|
|
39
44
|
export type SelectAlignment = {
|
|
40
45
|
/** Panel position, viewport coordinates. */
|
|
@@ -34,15 +34,29 @@ export function alignItemWithTrigger(m) {
|
|
|
34
34
|
height = minHeight;
|
|
35
35
|
y = Math.max(top, Math.min(y, bottom - height));
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
let listHeight = Math.max(0, height - chromeAbove - chromeBelow);
|
|
38
38
|
scrollTop = clamp(scrollTop, 0, m.list.height - listHeight);
|
|
39
|
+
// A cap on the list shortens the window. The option keeps its place on the trigger: when the
|
|
40
|
+
// shorter window would end above it, the list scrolls by the shortfall and the panel moves down
|
|
41
|
+
// by the same amount, so the row does not move on screen.
|
|
42
|
+
const cap = m.maxListHeight ?? Infinity;
|
|
43
|
+
if (listHeight > cap) {
|
|
44
|
+
const itemMiddleInWindow = m.item.top + m.item.height / 2 - m.list.top - scrollTop;
|
|
45
|
+
const shortfall = Math.max(0, itemMiddleInWindow - (cap - m.item.height / 2));
|
|
46
|
+
const shift = Math.min(shortfall, Math.max(0, m.list.height - cap - scrollTop));
|
|
47
|
+
listHeight = cap;
|
|
48
|
+
scrollTop += shift;
|
|
49
|
+
y = Math.min(y + shift, Math.max(top, bottom - chromeAbove - chromeBelow - cap));
|
|
50
|
+
}
|
|
39
51
|
// Line the option's text up with the value's: the panel moves by the gap between them.
|
|
40
52
|
const textOffset = m.rtl ? m.panel.right - m.item.textStart : m.item.textStart - m.panel.left;
|
|
41
53
|
const x = m.rtl ? m.valueTextStart + textOffset - m.panel.width : m.valueTextStart - textOffset;
|
|
54
|
+
// Fractional measurements come from browser zoom and fractional layout: positions snap to whole
|
|
55
|
+
// pixels, and the list rounds up so a list that fits is never cut by a fraction of a pixel.
|
|
42
56
|
return {
|
|
43
|
-
x: clamp(x, SELECT_ALIGN_MARGIN, m.viewport.width - SELECT_ALIGN_MARGIN - m.panel.width),
|
|
44
|
-
y,
|
|
45
|
-
listHeight,
|
|
46
|
-
scrollTop
|
|
57
|
+
x: Math.round(clamp(x, SELECT_ALIGN_MARGIN, m.viewport.width - SELECT_ALIGN_MARGIN - m.panel.width)),
|
|
58
|
+
y: Math.round(y),
|
|
59
|
+
listHeight: Math.ceil(listHeight),
|
|
60
|
+
scrollTop: Math.round(scrollTop)
|
|
47
61
|
};
|
|
48
62
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The styling hooks a Select exposes. Attributes are presence attributes (set while the state
|
|
3
|
+
* holds, omitted otherwise) unless the description says they carry a value. The list sits in a
|
|
4
|
+
* Popover panel, whose `data-open`, `data-closed`, `data-entering` and `data-exiting` it also
|
|
5
|
+
* carries, and whose CSS variables are `selectCssVariables`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const selectDataAttributes: {
|
|
8
|
+
readonly 'data-popup-open': "On the trigger button and the field container around it: present while the list is open.";
|
|
9
|
+
readonly 'data-placeholder': "On the trigger: present while no value is chosen and the placeholder shows.";
|
|
10
|
+
readonly 'data-disabled': "On the trigger: present while disabled. On an option: present while it is disabled.";
|
|
11
|
+
readonly 'data-readonly': "On the trigger: present while `readOnly`.";
|
|
12
|
+
readonly 'data-popup-side': "On the field container: `none` while the list is placed over the trigger, otherwise the side it sits on.";
|
|
13
|
+
readonly 'data-highlighted': "On an option: present while the keyboard or the pointer highlights it.";
|
|
14
|
+
readonly 'data-selected': "On an option: present while it is selected.";
|
|
15
|
+
readonly 'data-open': "On the list panel: present while open.";
|
|
16
|
+
readonly 'data-closed': "On the list panel: present while its exit transition plays.";
|
|
17
|
+
readonly 'data-entering': "On the list panel: present while the enter transition plays.";
|
|
18
|
+
readonly 'data-exiting': "On the list panel: present while the exit transition plays.";
|
|
19
|
+
readonly 'data-side': "On the list panel: `none` while it is placed over the trigger (aligned on the selected option), otherwise the side of the trigger it sits on.";
|
|
20
|
+
};
|
|
21
|
+
/** The name of a Select data attribute. */
|
|
22
|
+
export type SelectDataAttribute = keyof typeof selectDataAttributes;
|
|
23
|
+
/**
|
|
24
|
+
* The CSS variables a placement writes on the list panel's positioned wrapper, inherited by the
|
|
25
|
+
* list: the Popover set (`popoverCssVariables`). The dropdown list caps its height with
|
|
26
|
+
* `--available-height`; the mobile sheet has none.
|
|
27
|
+
*/
|
|
28
|
+
export declare const selectCssVariables: {
|
|
29
|
+
readonly '--available-width': "The width in px the panel can take before it reaches the viewport edges, minus 20px.";
|
|
30
|
+
readonly '--available-height': "The room in px between the trigger and the viewport edge on the panel's side, minus 20px. Cap a scrolling list with `max-height: min(240px, var(--available-height))`.";
|
|
31
|
+
readonly '--anchor-width': "The trigger's width in px, snapped to the device pixel grid.";
|
|
32
|
+
readonly '--anchor-height': "The trigger's height in px, snapped to the device pixel grid.";
|
|
33
|
+
readonly '--transform-origin': "The panel corner facing the trigger, mirrored in right-to-left documents; the point the panel scales from.";
|
|
34
|
+
};
|
|
35
|
+
/** The name of a Select CSS variable. */
|
|
36
|
+
export type SelectCssVariable = keyof typeof selectCssVariables;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { popoverCssVariables } from '../../Popover/popover.attributes.js';
|
|
2
|
+
/**
|
|
3
|
+
* The styling hooks a Select exposes. Attributes are presence attributes (set while the state
|
|
4
|
+
* holds, omitted otherwise) unless the description says they carry a value. The list sits in a
|
|
5
|
+
* Popover panel, whose `data-open`, `data-closed`, `data-entering` and `data-exiting` it also
|
|
6
|
+
* carries, and whose CSS variables are `selectCssVariables`.
|
|
7
|
+
*/
|
|
8
|
+
export const selectDataAttributes = {
|
|
9
|
+
'data-popup-open': 'On the trigger button and the field container around it: present while the list is open.',
|
|
10
|
+
'data-placeholder': 'On the trigger: present while no value is chosen and the placeholder shows.',
|
|
11
|
+
'data-disabled': 'On the trigger: present while disabled. On an option: present while it is disabled.',
|
|
12
|
+
'data-readonly': 'On the trigger: present while `readOnly`.',
|
|
13
|
+
'data-popup-side': 'On the field container: `none` while the list is placed over the trigger, otherwise the side it sits on.',
|
|
14
|
+
'data-highlighted': 'On an option: present while the keyboard or the pointer highlights it.',
|
|
15
|
+
'data-selected': 'On an option: present while it is selected.',
|
|
16
|
+
'data-open': 'On the list panel: present while open.',
|
|
17
|
+
'data-closed': 'On the list panel: present while its exit transition plays.',
|
|
18
|
+
'data-entering': 'On the list panel: present while the enter transition plays.',
|
|
19
|
+
'data-exiting': 'On the list panel: present while the exit transition plays.',
|
|
20
|
+
'data-side': 'On the list panel: `none` while it is placed over the trigger (aligned on the selected option), otherwise the side of the trigger it sits on.'
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* The CSS variables a placement writes on the list panel's positioned wrapper, inherited by the
|
|
24
|
+
* list: the Popover set (`popoverCssVariables`). The dropdown list caps its height with
|
|
25
|
+
* `--available-height`; the mobile sheet has none.
|
|
26
|
+
*/
|
|
27
|
+
export const selectCssVariables = popoverCssVariables;
|