@mittwald/flow-remote-vue-components 0.0.0-stage → 1.5.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/LICENSE +49 -0
- package/README.md +234 -2
- package/USAGE.md +474 -0
- package/dist/js/RemoteRoot.mjs +121 -0
- package/dist/js/RemoteRoot.mjs.map +1 -0
- package/dist/js/components-base/src/action/ActionState.mjs +85 -0
- package/dist/js/components-base/src/action/ActionState.mjs.map +1 -0
- package/dist/js/components-base/src/index.mjs +17 -0
- package/dist/js/components-base/src/lib/array.mjs +7 -0
- package/dist/js/components-base/src/lib/array.mjs.map +1 -0
- package/dist/js/components-base/src/list/ListModelContext.mjs +17 -0
- package/dist/js/components-base/src/list/ListModelContext.mjs.map +1 -0
- package/dist/js/components-base/src/list/filter/ListDateRangeFilter.mjs +27 -0
- package/dist/js/components-base/src/list/filter/ListDateRangeFilter.mjs.map +1 -0
- package/dist/js/components-base/src/list/filter/ListFilter.mjs +227 -0
- package/dist/js/components-base/src/list/filter/ListFilter.mjs.map +1 -0
- package/dist/js/components-base/src/list/filter/ListFilterValue.mjs +49 -0
- package/dist/js/components-base/src/list/filter/ListFilterValue.mjs.map +1 -0
- package/dist/js/components-base/src/list/filter/dateRange.mjs +49 -0
- package/dist/js/components-base/src/list/filter/dateRange.mjs.map +1 -0
- package/dist/js/components-base/src/list/item/ListItem.mjs +19 -0
- package/dist/js/components-base/src/list/item/ListItem.mjs.map +1 -0
- package/dist/js/components-base/src/list/item/ListItemCollection.mjs +22 -0
- package/dist/js/components-base/src/list/item/ListItemCollection.mjs.map +1 -0
- package/dist/js/components-base/src/list/loading/ListLoaderState.mjs +84 -0
- package/dist/js/components-base/src/list/loading/ListLoaderState.mjs.map +1 -0
- package/dist/js/components-base/src/list/loading/types.mjs +27 -0
- package/dist/js/components-base/src/list/loading/types.mjs.map +1 -0
- package/dist/js/components-base/src/list/pagination/ListBatchesController.mjs +62 -0
- package/dist/js/components-base/src/list/pagination/ListBatchesController.mjs.map +1 -0
- package/dist/js/components-base/src/list/search/ListSearch.mjs +60 -0
- package/dist/js/components-base/src/list/search/ListSearch.mjs.map +1 -0
- package/dist/js/components-base/src/list/sorting/ListSorting.mjs +79 -0
- package/dist/js/components-base/src/list/sorting/ListSorting.mjs.map +1 -0
- package/dist/js/components-base/src/list/table/ListTable.mjs +78 -0
- package/dist/js/components-base/src/list/table/ListTable.mjs.map +1 -0
- package/dist/js/components-base/src/list/viewMode/ListViewMode.mjs +51 -0
- package/dist/js/components-base/src/list/viewMode/ListViewMode.mjs.map +1 -0
- package/dist/js/index.mjs +301 -0
- package/dist/js/remote-vue-components/src/auto-generated/AccentBox.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/AccentBox.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Accordion.mjs +37 -0
- package/dist/js/remote-vue-components/src/auto-generated/Accordion.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/AccordionGroup.mjs +38 -0
- package/dist/js/remote-vue-components/src/auto-generated/AccordionGroup.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ActionGroup.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ActionGroup.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Alert.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/Alert.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/AlertBadge.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/AlertBadge.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/AlertIcon.mjs +31 -0
- package/dist/js/remote-vue-components/src/auto-generated/AlertIcon.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/AlertText.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/AlertText.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Align.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Align.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Area.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Area.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Autocomplete.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Autocomplete.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Avatar.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Avatar.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/AvatarStack.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/AvatarStack.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Badge.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Badge.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Bar.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Bar.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/BigNumber.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/BigNumber.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Breadcrumb.mjs +12 -0
- package/dist/js/remote-vue-components/src/auto-generated/Breadcrumb.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Button.mjs +26 -0
- package/dist/js/remote-vue-components/src/auto-generated/Button.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CartesianChart.mjs +11 -0
- package/dist/js/remote-vue-components/src/auto-generated/CartesianChart.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CartesianGrid.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/CartesianGrid.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ChartGrid.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ChartGrid.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ChartLegend.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ChartLegend.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ChartTooltip.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ChartTooltip.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Chat.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Chat.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Checkbox.mjs +20 -0
- package/dist/js/remote-vue-components/src/auto-generated/Checkbox.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CheckboxButton.mjs +20 -0
- package/dist/js/remote-vue-components/src/auto-generated/CheckboxButton.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CheckboxGroup.mjs +15 -0
- package/dist/js/remote-vue-components/src/auto-generated/CheckboxGroup.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ClearPropsContext.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ClearPropsContext.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CoachMark.mjs +18 -0
- package/dist/js/remote-vue-components/src/auto-generated/CoachMark.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CodeBlock.mjs +12 -0
- package/dist/js/remote-vue-components/src/auto-generated/CodeBlock.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CodeEditor.mjs +48 -0
- package/dist/js/remote-vue-components/src/auto-generated/CodeEditor.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Color.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Color.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ColumnLayout.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/ColumnLayout.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Combine.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Combine.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ComboBox.mjs +19 -0
- package/dist/js/remote-vue-components/src/auto-generated/ComboBox.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ComponentPropsContextProvider.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ComponentPropsContextProvider.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Content.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/Content.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextMenu.mjs +23 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextMenu.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextMenuContent.mjs +15 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextMenuContent.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextMenuSection.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextMenuSection.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextMenuTrigger.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextMenuTrigger.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextualHelp.mjs +22 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextualHelp.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextualHelpTrigger.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ContextualHelpTrigger.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CopyButton.mjs +26 -0
- package/dist/js/remote-vue-components/src/auto-generated/CopyButton.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/CounterBadge.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/CounterBadge.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/DatePicker.mjs +21 -0
- package/dist/js/remote-vue-components/src/auto-generated/DatePicker.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/DateRangePicker.mjs +23 -0
- package/dist/js/remote-vue-components/src/auto-generated/DateRangePicker.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/DialogTrigger.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/DialogTrigger.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Div.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Div.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/DonutChart.mjs +13 -0
- package/dist/js/remote-vue-components/src/auto-generated/DonutChart.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/FieldDescription.mjs +38 -0
- package/dist/js/remote-vue-components/src/auto-generated/FieldDescription.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/FieldError.mjs +12 -0
- package/dist/js/remote-vue-components/src/auto-generated/FieldError.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/FileCard.mjs +38 -0
- package/dist/js/remote-vue-components/src/auto-generated/FileCard.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/FileCardList.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/FileCardList.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/FileDropZone.mjs +12 -0
- package/dist/js/remote-vue-components/src/auto-generated/FileDropZone.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/FileField.mjs +14 -0
- package/dist/js/remote-vue-components/src/auto-generated/FileField.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Flex.mjs +37 -0
- package/dist/js/remote-vue-components/src/auto-generated/Flex.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Header.mjs +37 -0
- package/dist/js/remote-vue-components/src/auto-generated/Header.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/HeaderNavigation.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/HeaderNavigation.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Heading.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/Heading.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Icon.mjs +31 -0
- package/dist/js/remote-vue-components/src/auto-generated/Icon.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/IllustratedMessage.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/IllustratedMessage.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Image.mjs +38 -0
- package/dist/js/remote-vue-components/src/auto-generated/Image.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ImageCropper.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ImageCropper.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Initials.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Initials.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/InlineCode.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/InlineCode.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ItemsGridList.mjs +18 -0
- package/dist/js/remote-vue-components/src/auto-generated/ItemsGridList.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ItemsGridListItem.mjs +16 -0
- package/dist/js/remote-vue-components/src/auto-generated/ItemsGridListItem.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Kbd.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Kbd.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Label.mjs +39 -0
- package/dist/js/remote-vue-components/src/auto-generated/Label.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/LabeledValue.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/LabeledValue.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/LayoutCard.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/LayoutCard.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Legend.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Legend.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/LightBoxGallery.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/LightBoxGallery.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/LightBoxGalleryItem.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/LightBoxGalleryItem.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Line.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Line.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Link.mjs +16 -0
- package/dist/js/remote-vue-components/src/auto-generated/Link.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ListEmptyView.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ListEmptyView.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ListEmptyViewContainer.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ListEmptyViewContainer.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ListItemViewContent.mjs +15 -0
- package/dist/js/remote-vue-components/src/auto-generated/ListItemViewContent.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ListSummary.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/ListSummary.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/LoadingSpinner.mjs +31 -0
- package/dist/js/remote-vue-components/src/auto-generated/LoadingSpinner.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Markdown.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Markdown.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/MarkdownEditor.mjs +23 -0
- package/dist/js/remote-vue-components/src/auto-generated/MarkdownEditor.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/MenuItem.mjs +19 -0
- package/dist/js/remote-vue-components/src/auto-generated/MenuItem.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/MenuTrigger.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/MenuTrigger.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Message.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/Message.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/MessageSeparator.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/MessageSeparator.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/MessageThread.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/MessageThread.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Navigation.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/Navigation.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/NavigationGroup.mjs +38 -0
- package/dist/js/remote-vue-components/src/auto-generated/NavigationGroup.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Notification.mjs +37 -0
- package/dist/js/remote-vue-components/src/auto-generated/Notification.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/NumberField.mjs +17 -0
- package/dist/js/remote-vue-components/src/auto-generated/NumberField.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Option.mjs +13 -0
- package/dist/js/remote-vue-components/src/auto-generated/Option.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/OverlayContent.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/OverlayContent.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/PasswordCreationField.mjs +18 -0
- package/dist/js/remote-vue-components/src/auto-generated/PasswordCreationField.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/PopoverContent.mjs +12 -0
- package/dist/js/remote-vue-components/src/auto-generated/PopoverContent.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/ProgressBar.mjs +17 -0
- package/dist/js/remote-vue-components/src/auto-generated/ProgressBar.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Radio.mjs +13 -0
- package/dist/js/remote-vue-components/src/auto-generated/Radio.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/RadioButton.mjs +13 -0
- package/dist/js/remote-vue-components/src/auto-generated/RadioButton.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/RadioGroup.mjs +15 -0
- package/dist/js/remote-vue-components/src/auto-generated/RadioGroup.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/RangeCalendar.mjs +17 -0
- package/dist/js/remote-vue-components/src/auto-generated/RangeCalendar.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Rating.mjs +18 -0
- package/dist/js/remote-vue-components/src/auto-generated/Rating.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/RatingSegment.mjs +16 -0
- package/dist/js/remote-vue-components/src/auto-generated/RatingSegment.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/SearchField.mjs +18 -0
- package/dist/js/remote-vue-components/src/auto-generated/SearchField.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Section.mjs +38 -0
- package/dist/js/remote-vue-components/src/auto-generated/Section.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Segment.mjs +13 -0
- package/dist/js/remote-vue-components/src/auto-generated/Segment.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/SegmentedControl.mjs +15 -0
- package/dist/js/remote-vue-components/src/auto-generated/SegmentedControl.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Select.mjs +21 -0
- package/dist/js/remote-vue-components/src/auto-generated/Select.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Separator.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Separator.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Skeleton.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/Skeleton.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/SkeletonMode.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/SkeletonMode.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/SkeletonText.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/SkeletonText.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Slider.mjs +16 -0
- package/dist/js/remote-vue-components/src/auto-generated/Slider.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Switch.mjs +17 -0
- package/dist/js/remote-vue-components/src/auto-generated/Switch.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Tab.mjs +12 -0
- package/dist/js/remote-vue-components/src/auto-generated/Tab.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TabNavigation.mjs +36 -0
- package/dist/js/remote-vue-components/src/auto-generated/TabNavigation.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TabTitle.mjs +12 -0
- package/dist/js/remote-vue-components/src/auto-generated/TabTitle.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Table.mjs +13 -0
- package/dist/js/remote-vue-components/src/auto-generated/Table.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableBody.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableBody.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableCell.mjs +13 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableCell.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableColumn.mjs +14 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableColumn.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableFooterRow.mjs +15 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableFooterRow.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableHeader.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableHeader.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableRow.mjs +15 -0
- package/dist/js/remote-vue-components/src/auto-generated/TableRow.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Tabs.mjs +15 -0
- package/dist/js/remote-vue-components/src/auto-generated/Tabs.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Text.mjs +38 -0
- package/dist/js/remote-vue-components/src/auto-generated/Text.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TextArea.mjs +23 -0
- package/dist/js/remote-vue-components/src/auto-generated/TextArea.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TextField.mjs +19 -0
- package/dist/js/remote-vue-components/src/auto-generated/TextField.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TimeField.mjs +18 -0
- package/dist/js/remote-vue-components/src/auto-generated/TimeField.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Tooltip.mjs +16 -0
- package/dist/js/remote-vue-components/src/auto-generated/Tooltip.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TooltipTrigger.mjs +13 -0
- package/dist/js/remote-vue-components/src/auto-generated/TooltipTrigger.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TranslationProvider.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/TranslationProvider.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/Truncate.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/Truncate.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/TunnelEntry.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/TunnelEntry.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/XAxis.mjs +12 -0
- package/dist/js/remote-vue-components/src/auto-generated/XAxis.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/auto-generated/YAxis.mjs +8 -0
- package/dist/js/remote-vue-components/src/auto-generated/YAxis.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/Action.mjs +211 -0
- package/dist/js/remote-vue-components/src/components/Action.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/ActionBatch.mjs +23 -0
- package/dist/js/remote-vue-components/src/components/ActionBatch.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/BrowserOnly.mjs +23 -0
- package/dist/js/remote-vue-components/src/components/BrowserOnly.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/CountryOptions.mjs +51 -0
- package/dist/js/remote-vue-components/src/components/CountryOptions.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/DeprecationWarningProvider.mjs +42 -0
- package/dist/js/remote-vue-components/src/components/DeprecationWarningProvider.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/Form.mjs +15 -0
- package/dist/js/remote-vue-components/src/components/Form.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/LoadingIndicator.mjs +34 -0
- package/dist/js/remote-vue-components/src/components/LoadingIndicator.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/NotificationProvider.mjs +93 -0
- package/dist/js/remote-vue-components/src/components/NotificationProvider.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/SettingsProvider.mjs +144 -0
- package/dist/js/remote-vue-components/src/components/SettingsProvider.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/components/Wrap.mjs +27 -0
- package/dist/js/remote-vue-components/src/components/Wrap.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/composables/remoteContext.mjs +29 -0
- package/dist/js/remote-vue-components/src/composables/remoteContext.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/composables/useComponentUsage.mjs +25 -0
- package/dist/js/remote-vue-components/src/composables/useComponentUsage.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/composables/useIsMounted.mjs +12 -0
- package/dist/js/remote-vue-components/src/composables/useIsMounted.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/composables/useOnChange.mjs +14 -0
- package/dist/js/remote-vue-components/src/composables/useOnChange.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/composables/useWatchPathname.mjs +29 -0
- package/dist/js/remote-vue-components/src/composables/useWatchPathname.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/IconSetProvider.mjs +35 -0
- package/dist/js/remote-vue-components/src/icons/IconSetProvider.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAI.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAI.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAIHosting.mjs +18 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAIHosting.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAnalytics.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAnalytics.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconApp.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconApp.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAscending.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAscending.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAttachment.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAttachment.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAutoresponder.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconAutoresponder.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconBackLink.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconBackLink.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconBackup.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconBackup.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconBold.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconBold.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCamera.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCamera.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCertificate.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCertificate.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChangelog.mjs +14 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChangelog.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCheck.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCheck.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCheckboxChecked.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCheckboxChecked.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCheckboxEmpty.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCheckboxEmpty.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCheckboxIndeterminate.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCheckboxIndeterminate.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChevronDown.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChevronDown.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChevronLeft.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChevronLeft.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChevronRight.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChevronRight.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChevronUp.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconChevronUp.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconClose.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconClose.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCode.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCode.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContainer.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContainer.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContextMenu.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContextMenu.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContextMenuVertical.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContextMenuVertical.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContract.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContract.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContractPartner.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContractPartner.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContributor.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconContributor.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCopy.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCopy.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCronjob.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCronjob.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCustomer.mjs +16 -0
- package/dist/js/remote-vue-components/src/icons/components/IconCustomer.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDanger.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDanger.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDashboard.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDashboard.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDatabase.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDatabase.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDate.mjs +14 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDate.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDelete.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDelete.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDeliveryBox.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDeliveryBox.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDescending.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDescending.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDesktop.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDesktop.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDirectory.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDirectory.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDnsSubZone.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDnsSubZone.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDnsZone.mjs +16 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDnsZone.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDomain.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDomain.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDownload.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconDownload.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconEdit.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconEdit.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconEmail.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconEmail.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconEmailArchive.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconEmailArchive.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconExtension.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconExtension.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconExternalLink.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconExternalLink.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconFailed.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconFailed.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconFeedback.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconFeedback.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconFile.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconFile.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconFilter.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconFilter.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconForwardAddress.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconForwardAddress.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconForwardLink.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconForwardLink.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconHide.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconHide.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconHome.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconHome.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconImage.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconImage.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconInfo.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconInfo.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconInvite.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconInvite.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconInvoice.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconInvoice.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconItalic.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconItalic.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconKnowledgeHint.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconKnowledgeHint.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLanguage.mjs +14 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLanguage.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLeadFyndr.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLeadFyndr.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLink.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLink.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLock.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLock.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLockOpen.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLockOpen.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLogout.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconLogout.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMainUser.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMainUser.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMarketplace.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMarketplace.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMaximize.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMaximize.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMember.mjs +14 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMember.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMenu.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMenu.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMinimize.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMinimize.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMinus.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMinus.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMittwald.mjs +26 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMittwald.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMobile.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMobile.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMonitoring.mjs +14 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMonitoring.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMove.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconMove.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconNewsletter.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconNewsletter.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconNotification.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconNotification.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconNumber.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconNumber.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconOrder.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconOrder.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconOrderedList.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconOrderedList.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPassword.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPassword.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPath.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPath.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPause.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPause.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPayment.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPayment.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPending.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPending.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPicture.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPicture.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPlus.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconPlus.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconProject.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconProject.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconQuote.mjs +14 -0
- package/dist/js/remote-vue-components/src/icons/components/IconQuote.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRadioOff.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRadioOff.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRadioOn.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRadioOn.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRedo.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRedo.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRefresh.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRefresh.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRegistry.mjs +17 -0
- package/dist/js/remote-vue-components/src/icons/components/IconRegistry.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSave.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSave.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSearch.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSearch.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSecurity.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSecurity.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSend.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSend.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconServer.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconServer.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSettings.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSettings.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconShare.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconShare.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconShow.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconShow.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSorting.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSorting.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSsh.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSsh.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSshKey.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSshKey.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSshSftp.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSshSftp.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStack.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStack.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStar.mjs +25 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStar.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStarFilled.mjs +21 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStarFilled.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStart.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStart.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStrikeThrough.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconStrikeThrough.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSubdomain.mjs +17 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSubdomain.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSucceeded.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSucceeded.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSuccess.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSuccess.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSupport.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconSupport.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconTerminate.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconTerminate.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconTicket.mjs +12 -0
- package/dist/js/remote-vue-components/src/icons/components/IconTicket.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconTime.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconTime.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUnavailable.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUnavailable.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUndo.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUndo.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUnorderedList.mjs +14 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUnorderedList.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUpload.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUpload.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUser.mjs +7 -0
- package/dist/js/remote-vue-components/src/icons/components/IconUser.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconVhost.mjs +15 -0
- package/dist/js/remote-vue-components/src/icons/components/IconVhost.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconView.mjs +14 -0
- package/dist/js/remote-vue-components/src/icons/components/IconView.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconVolume.mjs +13 -0
- package/dist/js/remote-vue-components/src/icons/components/IconVolume.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/components/IconWarning.mjs +11 -0
- package/dist/js/remote-vue-components/src/icons/components/IconWarning.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/icons/lib/createIcon.mjs +75 -0
- package/dist/js/remote-vue-components/src/icons/lib/createIcon.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/composition.mjs +30 -0
- package/dist/js/remote-vue-components/src/lib/composition.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/controlledRemoteValue.mjs +63 -0
- package/dist/js/remote-vue-components/src/lib/controlledRemoteValue.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/createFlowRemoteComponent.mjs +204 -0
- package/dist/js/remote-vue-components/src/lib/createFlowRemoteComponent.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/handlers.mjs +46 -0
- package/dist/js/remote-vue-components/src/lib/handlers.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/isRenderError.mjs +11 -0
- package/dist/js/remote-vue-components/src/lib/isRenderError.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/mobxSelector.mjs +30 -0
- package/dist/js/remote-vue-components/src/lib/mobxSelector.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/propKeys.mjs +40 -0
- package/dist/js/remote-vue-components/src/lib/propKeys.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/stringifyError.mjs +6 -0
- package/dist/js/remote-vue-components/src/lib/stringifyError.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/lib/vModel.mjs +85 -0
- package/dist/js/remote-vue-components/src/lib/vModel.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/ActiveFilters.mjs +83 -0
- package/dist/js/remote-vue-components/src/list/ActiveFilters.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/AllFiltersModal.mjs +195 -0
- package/dist/js/remote-vue-components/src/list/AllFiltersModal.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/ComposableLoader.mjs +55 -0
- package/dist/js/remote-vue-components/src/list/ComposableLoader.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/Footer.mjs +53 -0
- package/dist/js/remote-vue-components/src/list/Footer.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/Header.mjs +207 -0
- package/dist/js/remote-vue-components/src/list/Header.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/Item.mjs +64 -0
- package/dist/js/remote-vue-components/src/list/Item.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/Items.mjs +71 -0
- package/dist/js/remote-vue-components/src/list/Items.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/List.mjs +292 -0
- package/dist/js/remote-vue-components/src/list/List.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/ListItemView.mjs +140 -0
- package/dist/js/remote-vue-components/src/list/ListItemView.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/Table.mjs +78 -0
- package/dist/js/remote-vue-components/src/list/Table.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/dateRangeFilter.mjs +27 -0
- package/dist/js/remote-vue-components/src/list/dateRangeFilter.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/itemContext.mjs +10 -0
- package/dist/js/remote-vue-components/src/list/itemContext.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/listContext.mjs +13 -0
- package/dist/js/remote-vue-components/src/list/listContext.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/locales.mjs +84 -0
- package/dist/js/remote-vue-components/src/list/locales.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/metadata.mjs +22 -0
- package/dist/js/remote-vue-components/src/list/metadata.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/model.mjs +392 -0
- package/dist/js/remote-vue-components/src/list/model.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/settings.mjs +62 -0
- package/dist/js/remote-vue-components/src/list/settings.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/setupComponents.mjs +78 -0
- package/dist/js/remote-vue-components/src/list/setupComponents.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/list/styles.mjs +32 -0
- package/dist/js/remote-vue-components/src/list/styles.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/overlays/LightBox.mjs +116 -0
- package/dist/js/remote-vue-components/src/overlays/LightBox.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/overlays/Modal.mjs +272 -0
- package/dist/js/remote-vue-components/src/overlays/Modal.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/overlays/Popover.mjs +87 -0
- package/dist/js/remote-vue-components/src/overlays/Popover.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/overlays/childProps.mjs +159 -0
- package/dist/js/remote-vue-components/src/overlays/childProps.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/overlays/createOverlayTrigger.mjs +51 -0
- package/dist/js/remote-vue-components/src/overlays/createOverlayTrigger.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/overlays/locales.mjs +32 -0
- package/dist/js/remote-vue-components/src/overlays/locales.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/overlays/overlayController.mjs +142 -0
- package/dist/js/remote-vue-components/src/overlays/overlayController.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/overlays/triggers.mjs +13 -0
- package/dist/js/remote-vue-components/src/overlays/triggers.mjs.map +1 -0
- package/dist/js/remote-vue-components/src/version.mjs +9 -0
- package/dist/js/remote-vue-components/src/version.mjs.map +1 -0
- package/dist/types/_bundled/flow-components-base/action/ActionState.d.ts +36 -0
- package/dist/types/_bundled/flow-components-base/index.d.ts +23 -0
- package/dist/types/_bundled/flow-components-base/lib/array.d.ts +4 -0
- package/dist/types/_bundled/flow-components-base/list/ListModelContext.d.ts +30 -0
- package/dist/types/_bundled/flow-components-base/list/filter/ListDateRangeFilter.d.ts +18 -0
- package/dist/types/_bundled/flow-components-base/list/filter/ListFilter.d.ts +104 -0
- package/dist/types/_bundled/flow-components-base/list/filter/ListFilterValue.d.ts +21 -0
- package/dist/types/_bundled/flow-components-base/list/filter/dateRange.d.ts +23 -0
- package/dist/types/_bundled/flow-components-base/list/filter/types.d.ts +18 -0
- package/dist/types/_bundled/flow-components-base/list/item/ListItem.d.ts +10 -0
- package/dist/types/_bundled/flow-components-base/list/item/ListItemCollection.d.ts +14 -0
- package/dist/types/_bundled/flow-components-base/list/loading/ListLoaderState.d.ts +44 -0
- package/dist/types/_bundled/flow-components-base/list/loading/types.d.ts +69 -0
- package/dist/types/_bundled/flow-components-base/list/pagination/ListBatchesController.d.ts +32 -0
- package/dist/types/_bundled/flow-components-base/list/pagination/types.d.ts +17 -0
- package/dist/types/_bundled/flow-components-base/list/search/ListSearch.d.ts +27 -0
- package/dist/types/_bundled/flow-components-base/list/search/types.d.ts +5 -0
- package/dist/types/_bundled/flow-components-base/list/settings/types.d.ts +52 -0
- package/dist/types/_bundled/flow-components-base/list/sorting/ListSorting.d.ts +40 -0
- package/dist/types/_bundled/flow-components-base/list/sorting/types.d.ts +14 -0
- package/dist/types/_bundled/flow-components-base/list/table/ListTable.d.ts +34 -0
- package/dist/types/_bundled/flow-components-base/list/types.d.ts +18 -0
- package/dist/types/_bundled/flow-components-base/list/viewMode/ListViewMode.d.ts +25 -0
- package/dist/types/_bundled/flow-components-base/list/viewMode/types.d.ts +10 -0
- package/dist/types/auto-generated/AccentBox.d.ts +4 -0
- package/dist/types/auto-generated/Accordion.d.ts +4 -0
- package/dist/types/auto-generated/AccordionGroup.d.ts +4 -0
- package/dist/types/auto-generated/ActionGroup.d.ts +4 -0
- package/dist/types/auto-generated/Alert.d.ts +4 -0
- package/dist/types/auto-generated/AlertBadge.d.ts +4 -0
- package/dist/types/auto-generated/AlertIcon.d.ts +4 -0
- package/dist/types/auto-generated/AlertText.d.ts +4 -0
- package/dist/types/auto-generated/Align.d.ts +4 -0
- package/dist/types/auto-generated/Area.d.ts +4 -0
- package/dist/types/auto-generated/Autocomplete.d.ts +4 -0
- package/dist/types/auto-generated/Avatar.d.ts +4 -0
- package/dist/types/auto-generated/AvatarStack.d.ts +4 -0
- package/dist/types/auto-generated/Badge.d.ts +4 -0
- package/dist/types/auto-generated/Bar.d.ts +4 -0
- package/dist/types/auto-generated/BigNumber.d.ts +4 -0
- package/dist/types/auto-generated/Breadcrumb.d.ts +4 -0
- package/dist/types/auto-generated/Button.d.ts +4 -0
- package/dist/types/auto-generated/CartesianChart.d.ts +4 -0
- package/dist/types/auto-generated/CartesianGrid.d.ts +4 -0
- package/dist/types/auto-generated/ChartGrid.d.ts +4 -0
- package/dist/types/auto-generated/ChartLegend.d.ts +4 -0
- package/dist/types/auto-generated/ChartTooltip.d.ts +4 -0
- package/dist/types/auto-generated/Chat.d.ts +4 -0
- package/dist/types/auto-generated/Checkbox.d.ts +4 -0
- package/dist/types/auto-generated/CheckboxButton.d.ts +4 -0
- package/dist/types/auto-generated/CheckboxGroup.d.ts +4 -0
- package/dist/types/auto-generated/ClearPropsContext.d.ts +4 -0
- package/dist/types/auto-generated/CoachMark.d.ts +4 -0
- package/dist/types/auto-generated/CodeBlock.d.ts +4 -0
- package/dist/types/auto-generated/CodeEditor.d.ts +4 -0
- package/dist/types/auto-generated/Color.d.ts +4 -0
- package/dist/types/auto-generated/ColumnLayout.d.ts +4 -0
- package/dist/types/auto-generated/Combine.d.ts +4 -0
- package/dist/types/auto-generated/ComboBox.d.ts +4 -0
- package/dist/types/auto-generated/ComponentPropsContextProvider.d.ts +4 -0
- package/dist/types/auto-generated/Content.d.ts +4 -0
- package/dist/types/auto-generated/ContextMenu.d.ts +4 -0
- package/dist/types/auto-generated/ContextMenuContent.d.ts +4 -0
- package/dist/types/auto-generated/ContextMenuSection.d.ts +4 -0
- package/dist/types/auto-generated/ContextMenuTrigger.d.ts +4 -0
- package/dist/types/auto-generated/ContextualHelp.d.ts +4 -0
- package/dist/types/auto-generated/ContextualHelpTrigger.d.ts +4 -0
- package/dist/types/auto-generated/CopyButton.d.ts +4 -0
- package/dist/types/auto-generated/CounterBadge.d.ts +4 -0
- package/dist/types/auto-generated/DatePicker.d.ts +4 -0
- package/dist/types/auto-generated/DateRangePicker.d.ts +4 -0
- package/dist/types/auto-generated/DialogTrigger.d.ts +4 -0
- package/dist/types/auto-generated/Div.d.ts +4 -0
- package/dist/types/auto-generated/DonutChart.d.ts +4 -0
- package/dist/types/auto-generated/FieldDescription.d.ts +4 -0
- package/dist/types/auto-generated/FieldError.d.ts +4 -0
- package/dist/types/auto-generated/FileCard.d.ts +4 -0
- package/dist/types/auto-generated/FileCardList.d.ts +4 -0
- package/dist/types/auto-generated/FileDropZone.d.ts +4 -0
- package/dist/types/auto-generated/FileField.d.ts +4 -0
- package/dist/types/auto-generated/Flex.d.ts +4 -0
- package/dist/types/auto-generated/Header.d.ts +4 -0
- package/dist/types/auto-generated/HeaderNavigation.d.ts +4 -0
- package/dist/types/auto-generated/Heading.d.ts +4 -0
- package/dist/types/auto-generated/Icon.d.ts +4 -0
- package/dist/types/auto-generated/IllustratedMessage.d.ts +4 -0
- package/dist/types/auto-generated/Image.d.ts +4 -0
- package/dist/types/auto-generated/ImageCropper.d.ts +4 -0
- package/dist/types/auto-generated/Initials.d.ts +4 -0
- package/dist/types/auto-generated/InlineCode.d.ts +4 -0
- package/dist/types/auto-generated/ItemsGridList.d.ts +4 -0
- package/dist/types/auto-generated/ItemsGridListItem.d.ts +4 -0
- package/dist/types/auto-generated/Kbd.d.ts +4 -0
- package/dist/types/auto-generated/Label.d.ts +4 -0
- package/dist/types/auto-generated/LabeledValue.d.ts +4 -0
- package/dist/types/auto-generated/LayoutCard.d.ts +4 -0
- package/dist/types/auto-generated/Legend.d.ts +4 -0
- package/dist/types/auto-generated/LightBoxGallery.d.ts +4 -0
- package/dist/types/auto-generated/LightBoxGalleryItem.d.ts +4 -0
- package/dist/types/auto-generated/Line.d.ts +4 -0
- package/dist/types/auto-generated/Link.d.ts +4 -0
- package/dist/types/auto-generated/ListEmptyView.d.ts +4 -0
- package/dist/types/auto-generated/ListEmptyViewContainer.d.ts +4 -0
- package/dist/types/auto-generated/ListItemViewContent.d.ts +4 -0
- package/dist/types/auto-generated/ListSummary.d.ts +4 -0
- package/dist/types/auto-generated/LoadingSpinner.d.ts +4 -0
- package/dist/types/auto-generated/Markdown.d.ts +4 -0
- package/dist/types/auto-generated/MarkdownEditor.d.ts +4 -0
- package/dist/types/auto-generated/MenuItem.d.ts +4 -0
- package/dist/types/auto-generated/MenuTrigger.d.ts +4 -0
- package/dist/types/auto-generated/Message.d.ts +4 -0
- package/dist/types/auto-generated/MessageSeparator.d.ts +4 -0
- package/dist/types/auto-generated/MessageThread.d.ts +4 -0
- package/dist/types/auto-generated/Navigation.d.ts +4 -0
- package/dist/types/auto-generated/NavigationGroup.d.ts +4 -0
- package/dist/types/auto-generated/Notification.d.ts +4 -0
- package/dist/types/auto-generated/NumberField.d.ts +4 -0
- package/dist/types/auto-generated/Option.d.ts +4 -0
- package/dist/types/auto-generated/OverlayContent.d.ts +4 -0
- package/dist/types/auto-generated/PasswordCreationField.d.ts +4 -0
- package/dist/types/auto-generated/PopoverContent.d.ts +4 -0
- package/dist/types/auto-generated/ProgressBar.d.ts +4 -0
- package/dist/types/auto-generated/Radio.d.ts +4 -0
- package/dist/types/auto-generated/RadioButton.d.ts +4 -0
- package/dist/types/auto-generated/RadioGroup.d.ts +4 -0
- package/dist/types/auto-generated/RangeCalendar.d.ts +4 -0
- package/dist/types/auto-generated/Rating.d.ts +4 -0
- package/dist/types/auto-generated/RatingSegment.d.ts +4 -0
- package/dist/types/auto-generated/SearchField.d.ts +4 -0
- package/dist/types/auto-generated/Section.d.ts +4 -0
- package/dist/types/auto-generated/Segment.d.ts +4 -0
- package/dist/types/auto-generated/SegmentedControl.d.ts +4 -0
- package/dist/types/auto-generated/Select.d.ts +4 -0
- package/dist/types/auto-generated/Separator.d.ts +4 -0
- package/dist/types/auto-generated/Skeleton.d.ts +4 -0
- package/dist/types/auto-generated/SkeletonMode.d.ts +4 -0
- package/dist/types/auto-generated/SkeletonText.d.ts +4 -0
- package/dist/types/auto-generated/Slider.d.ts +4 -0
- package/dist/types/auto-generated/Switch.d.ts +4 -0
- package/dist/types/auto-generated/Tab.d.ts +4 -0
- package/dist/types/auto-generated/TabNavigation.d.ts +4 -0
- package/dist/types/auto-generated/TabTitle.d.ts +4 -0
- package/dist/types/auto-generated/Table.d.ts +4 -0
- package/dist/types/auto-generated/TableBody.d.ts +4 -0
- package/dist/types/auto-generated/TableCell.d.ts +4 -0
- package/dist/types/auto-generated/TableColumn.d.ts +4 -0
- package/dist/types/auto-generated/TableFooterRow.d.ts +4 -0
- package/dist/types/auto-generated/TableHeader.d.ts +4 -0
- package/dist/types/auto-generated/TableRow.d.ts +4 -0
- package/dist/types/auto-generated/Tabs.d.ts +4 -0
- package/dist/types/auto-generated/Text.d.ts +4 -0
- package/dist/types/auto-generated/TextArea.d.ts +4 -0
- package/dist/types/auto-generated/TextField.d.ts +4 -0
- package/dist/types/auto-generated/TimeField.d.ts +4 -0
- package/dist/types/auto-generated/Tooltip.d.ts +4 -0
- package/dist/types/auto-generated/TooltipTrigger.d.ts +4 -0
- package/dist/types/auto-generated/TranslationProvider.d.ts +4 -0
- package/dist/types/auto-generated/Truncate.d.ts +4 -0
- package/dist/types/auto-generated/TunnelEntry.d.ts +4 -0
- package/dist/types/auto-generated/XAxis.d.ts +4 -0
- package/dist/types/auto-generated/YAxis.d.ts +4 -0
- package/dist/types/auto-generated/index.d.ts +137 -0
- package/dist/types/components/Action.d.ts +155 -0
- package/dist/types/components/ActionBatch.d.ts +10 -0
- package/dist/types/components/BrowserOnly.d.ts +11 -0
- package/dist/types/components/CountryOptions.d.ts +41 -0
- package/dist/types/components/DeprecationWarningProvider.d.ts +31 -0
- package/dist/types/components/Form.d.ts +12 -0
- package/dist/types/components/LoadingIndicator.d.ts +38 -0
- package/dist/types/components/NotificationProvider.d.ts +40 -0
- package/dist/types/components/RemoteRoot.d.ts +48 -0
- package/dist/types/components/SettingsProvider.d.ts +109 -0
- package/dist/types/components/Wrap.d.ts +20 -0
- package/dist/types/composables/remoteContext.d.ts +23 -0
- package/dist/types/composables/useComponentUsage.d.ts +11 -0
- package/dist/types/composables/useIsMounted.d.ts +3 -0
- package/dist/types/composables/useOnChange.d.ts +7 -0
- package/dist/types/composables/useWatchPathname.d.ts +8 -0
- package/dist/types/icons/IconSetProvider.d.ts +45 -0
- package/dist/types/icons/components/IconAI.d.ts +2 -0
- package/dist/types/icons/components/IconAIHosting.d.ts +2 -0
- package/dist/types/icons/components/IconAnalytics.d.ts +2 -0
- package/dist/types/icons/components/IconApp.d.ts +2 -0
- package/dist/types/icons/components/IconAscending.d.ts +2 -0
- package/dist/types/icons/components/IconAttachment.d.ts +2 -0
- package/dist/types/icons/components/IconAutoresponder.d.ts +2 -0
- package/dist/types/icons/components/IconBackLink.d.ts +2 -0
- package/dist/types/icons/components/IconBackup.d.ts +2 -0
- package/dist/types/icons/components/IconBold.d.ts +2 -0
- package/dist/types/icons/components/IconCamera.d.ts +2 -0
- package/dist/types/icons/components/IconCertificate.d.ts +2 -0
- package/dist/types/icons/components/IconChangelog.d.ts +2 -0
- package/dist/types/icons/components/IconCheck.d.ts +2 -0
- package/dist/types/icons/components/IconCheckboxChecked.d.ts +2 -0
- package/dist/types/icons/components/IconCheckboxEmpty.d.ts +2 -0
- package/dist/types/icons/components/IconCheckboxIndeterminate.d.ts +2 -0
- package/dist/types/icons/components/IconChevronDown.d.ts +2 -0
- package/dist/types/icons/components/IconChevronLeft.d.ts +2 -0
- package/dist/types/icons/components/IconChevronRight.d.ts +2 -0
- package/dist/types/icons/components/IconChevronUp.d.ts +2 -0
- package/dist/types/icons/components/IconClose.d.ts +2 -0
- package/dist/types/icons/components/IconCode.d.ts +2 -0
- package/dist/types/icons/components/IconContainer.d.ts +2 -0
- package/dist/types/icons/components/IconContextMenu.d.ts +2 -0
- package/dist/types/icons/components/IconContextMenuVertical.d.ts +2 -0
- package/dist/types/icons/components/IconContract.d.ts +2 -0
- package/dist/types/icons/components/IconContractPartner.d.ts +2 -0
- package/dist/types/icons/components/IconContributor.d.ts +2 -0
- package/dist/types/icons/components/IconCopy.d.ts +2 -0
- package/dist/types/icons/components/IconCronjob.d.ts +2 -0
- package/dist/types/icons/components/IconCustomer.d.ts +2 -0
- package/dist/types/icons/components/IconDanger.d.ts +2 -0
- package/dist/types/icons/components/IconDashboard.d.ts +2 -0
- package/dist/types/icons/components/IconDatabase.d.ts +2 -0
- package/dist/types/icons/components/IconDate.d.ts +2 -0
- package/dist/types/icons/components/IconDelete.d.ts +2 -0
- package/dist/types/icons/components/IconDeliveryBox.d.ts +2 -0
- package/dist/types/icons/components/IconDescending.d.ts +2 -0
- package/dist/types/icons/components/IconDesktop.d.ts +2 -0
- package/dist/types/icons/components/IconDirectory.d.ts +2 -0
- package/dist/types/icons/components/IconDnsSubZone.d.ts +2 -0
- package/dist/types/icons/components/IconDnsZone.d.ts +2 -0
- package/dist/types/icons/components/IconDomain.d.ts +2 -0
- package/dist/types/icons/components/IconDownload.d.ts +2 -0
- package/dist/types/icons/components/IconEdit.d.ts +2 -0
- package/dist/types/icons/components/IconEmail.d.ts +2 -0
- package/dist/types/icons/components/IconEmailArchive.d.ts +2 -0
- package/dist/types/icons/components/IconExtension.d.ts +2 -0
- package/dist/types/icons/components/IconExternalLink.d.ts +2 -0
- package/dist/types/icons/components/IconFailed.d.ts +2 -0
- package/dist/types/icons/components/IconFeedback.d.ts +2 -0
- package/dist/types/icons/components/IconFile.d.ts +2 -0
- package/dist/types/icons/components/IconFilter.d.ts +2 -0
- package/dist/types/icons/components/IconForwardAddress.d.ts +2 -0
- package/dist/types/icons/components/IconForwardLink.d.ts +2 -0
- package/dist/types/icons/components/IconHide.d.ts +2 -0
- package/dist/types/icons/components/IconHome.d.ts +2 -0
- package/dist/types/icons/components/IconImage.d.ts +2 -0
- package/dist/types/icons/components/IconInfo.d.ts +2 -0
- package/dist/types/icons/components/IconInvite.d.ts +2 -0
- package/dist/types/icons/components/IconInvoice.d.ts +2 -0
- package/dist/types/icons/components/IconItalic.d.ts +2 -0
- package/dist/types/icons/components/IconKnowledgeHint.d.ts +2 -0
- package/dist/types/icons/components/IconLanguage.d.ts +2 -0
- package/dist/types/icons/components/IconLeadFyndr.d.ts +2 -0
- package/dist/types/icons/components/IconLink.d.ts +2 -0
- package/dist/types/icons/components/IconLock.d.ts +2 -0
- package/dist/types/icons/components/IconLockOpen.d.ts +2 -0
- package/dist/types/icons/components/IconLogout.d.ts +2 -0
- package/dist/types/icons/components/IconMainUser.d.ts +2 -0
- package/dist/types/icons/components/IconMarketplace.d.ts +2 -0
- package/dist/types/icons/components/IconMaximize.d.ts +2 -0
- package/dist/types/icons/components/IconMember.d.ts +2 -0
- package/dist/types/icons/components/IconMenu.d.ts +2 -0
- package/dist/types/icons/components/IconMinimize.d.ts +2 -0
- package/dist/types/icons/components/IconMinus.d.ts +2 -0
- package/dist/types/icons/components/IconMittwald.d.ts +2 -0
- package/dist/types/icons/components/IconMobile.d.ts +2 -0
- package/dist/types/icons/components/IconMonitoring.d.ts +2 -0
- package/dist/types/icons/components/IconMove.d.ts +2 -0
- package/dist/types/icons/components/IconNewsletter.d.ts +2 -0
- package/dist/types/icons/components/IconNotification.d.ts +2 -0
- package/dist/types/icons/components/IconNumber.d.ts +2 -0
- package/dist/types/icons/components/IconOrder.d.ts +2 -0
- package/dist/types/icons/components/IconOrderedList.d.ts +2 -0
- package/dist/types/icons/components/IconPassword.d.ts +2 -0
- package/dist/types/icons/components/IconPath.d.ts +2 -0
- package/dist/types/icons/components/IconPause.d.ts +2 -0
- package/dist/types/icons/components/IconPayment.d.ts +2 -0
- package/dist/types/icons/components/IconPending.d.ts +2 -0
- package/dist/types/icons/components/IconPicture.d.ts +2 -0
- package/dist/types/icons/components/IconPlus.d.ts +2 -0
- package/dist/types/icons/components/IconProject.d.ts +2 -0
- package/dist/types/icons/components/IconQuote.d.ts +2 -0
- package/dist/types/icons/components/IconRadioOff.d.ts +2 -0
- package/dist/types/icons/components/IconRadioOn.d.ts +2 -0
- package/dist/types/icons/components/IconRedo.d.ts +2 -0
- package/dist/types/icons/components/IconRefresh.d.ts +2 -0
- package/dist/types/icons/components/IconRegistry.d.ts +2 -0
- package/dist/types/icons/components/IconSave.d.ts +2 -0
- package/dist/types/icons/components/IconSearch.d.ts +2 -0
- package/dist/types/icons/components/IconSecurity.d.ts +2 -0
- package/dist/types/icons/components/IconSend.d.ts +2 -0
- package/dist/types/icons/components/IconServer.d.ts +2 -0
- package/dist/types/icons/components/IconSettings.d.ts +2 -0
- package/dist/types/icons/components/IconShare.d.ts +2 -0
- package/dist/types/icons/components/IconShow.d.ts +2 -0
- package/dist/types/icons/components/IconSorting.d.ts +2 -0
- package/dist/types/icons/components/IconSsh.d.ts +2 -0
- package/dist/types/icons/components/IconSshKey.d.ts +2 -0
- package/dist/types/icons/components/IconSshSftp.d.ts +2 -0
- package/dist/types/icons/components/IconStack.d.ts +2 -0
- package/dist/types/icons/components/IconStar.d.ts +2 -0
- package/dist/types/icons/components/IconStarFilled.d.ts +2 -0
- package/dist/types/icons/components/IconStart.d.ts +2 -0
- package/dist/types/icons/components/IconStrikeThrough.d.ts +2 -0
- package/dist/types/icons/components/IconSubdomain.d.ts +2 -0
- package/dist/types/icons/components/IconSucceeded.d.ts +2 -0
- package/dist/types/icons/components/IconSuccess.d.ts +2 -0
- package/dist/types/icons/components/IconSupport.d.ts +2 -0
- package/dist/types/icons/components/IconTerminate.d.ts +2 -0
- package/dist/types/icons/components/IconTicket.d.ts +2 -0
- package/dist/types/icons/components/IconTime.d.ts +2 -0
- package/dist/types/icons/components/IconUnavailable.d.ts +2 -0
- package/dist/types/icons/components/IconUndo.d.ts +2 -0
- package/dist/types/icons/components/IconUnorderedList.d.ts +2 -0
- package/dist/types/icons/components/IconUpload.d.ts +2 -0
- package/dist/types/icons/components/IconUser.d.ts +2 -0
- package/dist/types/icons/components/IconVhost.d.ts +2 -0
- package/dist/types/icons/components/IconView.d.ts +2 -0
- package/dist/types/icons/components/IconVolume.d.ts +2 -0
- package/dist/types/icons/components/IconWarning.d.ts +2 -0
- package/dist/types/icons/components/index.d.ts +133 -0
- package/dist/types/icons/iconNames.d.ts +1 -0
- package/dist/types/icons/index.d.ts +4 -0
- package/dist/types/icons/lib/createIcon.d.ts +25 -0
- package/dist/types/index.d.ts +25 -0
- package/dist/types/lib/composition.d.ts +17 -0
- package/dist/types/lib/controlledRemoteValue.d.ts +30 -0
- package/dist/types/lib/createFlowRemoteComponent.d.ts +29 -0
- package/dist/types/lib/handlers.d.ts +25 -0
- package/dist/types/lib/isRenderError.d.ts +6 -0
- package/dist/types/lib/mobxSelector.d.ts +14 -0
- package/dist/types/lib/propKeys.d.ts +17 -0
- package/dist/types/lib/stringifyError.d.ts +1 -0
- package/dist/types/lib/types.d.ts +72 -0
- package/dist/types/lib/vModel.d.ts +53 -0
- package/dist/types/list/ActiveFilters.d.ts +23 -0
- package/dist/types/list/AllFiltersModal.d.ts +35 -0
- package/dist/types/list/ComposableLoader.d.ts +23 -0
- package/dist/types/list/Footer.d.ts +5 -0
- package/dist/types/list/Header.d.ts +12 -0
- package/dist/types/list/Item.d.ts +40 -0
- package/dist/types/list/Items.d.ts +11 -0
- package/dist/types/list/List.d.ts +192 -0
- package/dist/types/list/ListItemView.d.ts +5 -0
- package/dist/types/list/Table.d.ts +11 -0
- package/dist/types/list/dateRangeFilter.d.ts +21 -0
- package/dist/types/list/index.d.ts +8 -0
- package/dist/types/list/itemContext.d.ts +19 -0
- package/dist/types/list/listContext.d.ts +11 -0
- package/dist/types/list/locales.d.ts +74 -0
- package/dist/types/list/metadata.d.ts +14 -0
- package/dist/types/list/model.d.ts +140 -0
- package/dist/types/list/settings.d.ts +17 -0
- package/dist/types/list/setupComponents.d.ts +41 -0
- package/dist/types/list/styles.d.ts +26 -0
- package/dist/types/list/types.d.ts +112 -0
- package/dist/types/overlays/LightBox.d.ts +80 -0
- package/dist/types/overlays/Modal.d.ts +166 -0
- package/dist/types/overlays/Popover.d.ts +104 -0
- package/dist/types/overlays/childProps.d.ts +86 -0
- package/dist/types/overlays/createOverlayTrigger.d.ts +43 -0
- package/dist/types/overlays/locales.d.ts +27 -0
- package/dist/types/overlays/overlayController.d.ts +125 -0
- package/dist/types/overlays/triggers.d.ts +75 -0
- package/dist/types/version.d.ts +4 -0
- package/package.json +86 -4
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { hyphenate } from "./propKeys.mjs";
|
|
2
|
+
import { camelize } from "vue";
|
|
3
|
+
//#region src/lib/vModel.ts
|
|
4
|
+
/** Tried in order for a bare `v-model`: the first the element has wins. */
|
|
5
|
+
var defaultModelProperties = [
|
|
6
|
+
"value",
|
|
7
|
+
"isSelected",
|
|
8
|
+
"selectedKey",
|
|
9
|
+
"selectedKeys"
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* Events a prop reports through besides `<base>Change`, by base name — the prop
|
|
13
|
+
* without `is`, and without a trailing `Value`/`Key`/`Keys`.
|
|
14
|
+
*/
|
|
15
|
+
var modelEventAliases = {
|
|
16
|
+
"": ["change"],
|
|
17
|
+
selected: ["selectionChange", "change"],
|
|
18
|
+
focused: ["focusChange"]
|
|
19
|
+
};
|
|
20
|
+
var capitalize = (value) => value.charAt(0).toUpperCase() + value.slice(1);
|
|
21
|
+
var uncapitalize = (value) => value.charAt(0).toLowerCase() + value.slice(1);
|
|
22
|
+
var isControllable = (property, properties) => {
|
|
23
|
+
if (!properties.has(property)) return false;
|
|
24
|
+
const [, flag] = /^is([A-Z].*)$/.exec(property) ?? [];
|
|
25
|
+
return properties.has(`default${capitalize(property)}`) || flag !== void 0 && (properties.has(`default${flag}`) || properties.has(`isDefault${flag}`));
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The event that reports a prop: `isOpen` → `openChange`, `inputValue` →
|
|
29
|
+
* `inputChange`, `expandedKeys` → `expandedChange`, `selectedKey` →
|
|
30
|
+
* `selectionChange`, `focusedValue` → `focusChange`. `value` and `isSelected`
|
|
31
|
+
* report through `change`.
|
|
32
|
+
*/
|
|
33
|
+
var eventCandidates = (property) => {
|
|
34
|
+
const base = uncapitalize(property.replace(/^is(?=[A-Z])/, "").replace(/(^value|Value|Keys|Key)$/, ""));
|
|
35
|
+
const aliases = Object.hasOwn(modelEventAliases, base) ? modelEventAliases[base] : [];
|
|
36
|
+
return [...base === "" ? [] : [`${base}Change`], ...aliases];
|
|
37
|
+
};
|
|
38
|
+
var createModelResolver = (properties, events) => {
|
|
39
|
+
const resolve = (property) => {
|
|
40
|
+
if (!isControllable(property, properties)) return;
|
|
41
|
+
const event = eventCandidates(property).find((name) => events.has(name));
|
|
42
|
+
return event === void 0 ? void 0 : {
|
|
43
|
+
property,
|
|
44
|
+
event
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
const defaultBinding = defaultModelProperties.map(resolve).find((binding) => binding !== void 0);
|
|
48
|
+
return {
|
|
49
|
+
/**
|
|
50
|
+
* The binding for a `v-model` argument as the template wrote it —
|
|
51
|
+
* `modelValue` for a bare `v-model`, else the prop in either spelling.
|
|
52
|
+
*/
|
|
53
|
+
resolve: (argument) => argument === "modelValue" ? defaultBinding : resolve(camelize(argument)) };
|
|
54
|
+
};
|
|
55
|
+
/** `onUpdate:isOpen` → `isOpen`. */
|
|
56
|
+
var modelUpdateArgument = (key) => key.startsWith("onUpdate:") ? key.slice(9) : void 0;
|
|
57
|
+
/**
|
|
58
|
+
* The modifiers of a `v-model`, which Vue passes as a prop of their own:
|
|
59
|
+
* `modelModifiers`, or `<arg>Modifiers` in whichever spelling the template used
|
|
60
|
+
* — Vue's own `emit` looks up the same three.
|
|
61
|
+
*/
|
|
62
|
+
var modelModifierKeys = (argument) => argument === "modelValue" ? ["modelModifiers"] : [
|
|
63
|
+
`${argument}Modifiers`,
|
|
64
|
+
`${camelize(argument)}Modifiers`,
|
|
65
|
+
`${hyphenate(argument)}Modifiers`
|
|
66
|
+
];
|
|
67
|
+
var isModelModifierKey = (key) => key.endsWith("Modifiers");
|
|
68
|
+
/**
|
|
69
|
+
* `.trim` and `.number`, which Vue's `emit` applies for a component that emits
|
|
70
|
+
* `update:*` itself. The element reports the value, not an emit, so they are
|
|
71
|
+
* applied here.
|
|
72
|
+
*/
|
|
73
|
+
var applyModelModifiers = (value, modifiers) => {
|
|
74
|
+
let result = value;
|
|
75
|
+
if (modifiers?.trim && typeof result === "string") result = result.trim();
|
|
76
|
+
if (modifiers?.number && typeof result === "string") {
|
|
77
|
+
const number = Number.parseFloat(result);
|
|
78
|
+
result = Number.isNaN(number) ? result : number;
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
export { applyModelModifiers, createModelResolver, defaultModelProperties, isModelModifierKey, modelEventAliases, modelModifierKeys, modelUpdateArgument };
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=vModel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vModel.mjs","names":[],"sources":["../../../../../src/lib/vModel.ts"],"sourcesContent":["import { camelize } from \"vue\";\nimport { hyphenate } from \"@/lib/propKeys\";\n\n/**\n * `v-model` on a remote component.\n *\n * Vue compiles `v-model=\"x\"` on a component to `modelValue` plus\n * `onUpdate:modelValue`, and `v-model:is-open=\"x\"` to `is-open` plus\n * `onUpdate:isOpen`. Neither is a key the element knows: the Flow component\n * takes a prop and reports its change as an event of its own. So this maps both\n * halves onto the pair the element has — `value` and `change`, `isOpen` and\n * `openChange`, `selectedKey` and `selectionChange`.\n *\n * A prop can be bound when it is controllable, which Flow — like react-aria —\n * spells as a `default*` sibling (`defaultValue`, `defaultOpen` or\n * `isDefaultOpen` for `isOpen`), and when the element has the event that\n * reports it. `ModelKey` in `src/lib/types.ts` is the same rule over the props\n * type.\n */\nexport interface ModelBinding {\n property: string;\n event: string;\n}\n\n/** Tried in order for a bare `v-model`: the first the element has wins. */\nexport const defaultModelProperties = [\n \"value\",\n \"isSelected\",\n \"selectedKey\",\n \"selectedKeys\",\n] as const;\n\n/**\n * Events a prop reports through besides `<base>Change`, by base name — the prop\n * without `is`, and without a trailing `Value`/`Key`/`Keys`.\n */\nexport const modelEventAliases = {\n \"\": [\"change\"],\n selected: [\"selectionChange\", \"change\"],\n focused: [\"focusChange\"],\n} as const satisfies Record<string, readonly string[]>;\n\nconst capitalize = (value: string): string =>\n value.charAt(0).toUpperCase() + value.slice(1);\n\nconst uncapitalize = (value: string): string =>\n value.charAt(0).toLowerCase() + value.slice(1);\n\nconst isControllable = (\n property: string,\n properties: ReadonlyMap<string, unknown>,\n): boolean => {\n if (!properties.has(property)) {\n return false;\n }\n const [, flag] = /^is([A-Z].*)$/.exec(property) ?? [];\n return (\n properties.has(`default${capitalize(property)}`) ||\n (flag !== undefined &&\n (properties.has(`default${flag}`) || properties.has(`isDefault${flag}`)))\n );\n};\n\n/**\n * The event that reports a prop: `isOpen` → `openChange`, `inputValue` →\n * `inputChange`, `expandedKeys` → `expandedChange`, `selectedKey` →\n * `selectionChange`, `focusedValue` → `focusChange`. `value` and `isSelected`\n * report through `change`.\n */\nconst eventCandidates = (property: string): string[] => {\n const base = uncapitalize(\n property\n .replace(/^is(?=[A-Z])/, \"\")\n .replace(/(^value|Value|Keys|Key)$/, \"\"),\n );\n const aliases: readonly string[] = Object.hasOwn(modelEventAliases, base)\n ? modelEventAliases[base as keyof typeof modelEventAliases]\n : [];\n\n return [...(base === \"\" ? [] : [`${base}Change`]), ...aliases];\n};\n\nexport const createModelResolver = (\n properties: ReadonlyMap<string, unknown>,\n events: ReadonlyMap<string, unknown>,\n) => {\n const resolve = (property: string): ModelBinding | undefined => {\n if (!isControllable(property, properties)) {\n return undefined;\n }\n const event = eventCandidates(property).find((name) => events.has(name));\n return event === undefined ? undefined : { property, event };\n };\n\n const defaultBinding = defaultModelProperties\n .map(resolve)\n .find((binding) => binding !== undefined);\n\n return {\n /**\n * The binding for a `v-model` argument as the template wrote it —\n * `modelValue` for a bare `v-model`, else the prop in either spelling.\n */\n resolve: (argument: string): ModelBinding | undefined =>\n argument === \"modelValue\" ? defaultBinding : resolve(camelize(argument)),\n };\n};\n\n/** `onUpdate:isOpen` → `isOpen`. */\nexport const modelUpdateArgument = (key: string): string | undefined =>\n key.startsWith(\"onUpdate:\") ? key.slice(\"onUpdate:\".length) : undefined;\n\n/**\n * The modifiers of a `v-model`, which Vue passes as a prop of their own:\n * `modelModifiers`, or `<arg>Modifiers` in whichever spelling the template used\n * — Vue's own `emit` looks up the same three.\n */\nexport const modelModifierKeys = (argument: string): string[] =>\n argument === \"modelValue\"\n ? [\"modelModifiers\"]\n : [\n `${argument}Modifiers`,\n `${camelize(argument)}Modifiers`,\n `${hyphenate(argument)}Modifiers`,\n ];\n\nexport const isModelModifierKey = (key: string): boolean =>\n key.endsWith(\"Modifiers\");\n\n/**\n * `.trim` and `.number`, which Vue's `emit` applies for a component that emits\n * `update:*` itself. The element reports the value, not an emit, so they are\n * applied here.\n */\nexport const applyModelModifiers = (\n value: unknown,\n modifiers: Record<string, unknown> | undefined,\n): unknown => {\n let result = value;\n if (modifiers?.trim && typeof result === \"string\") {\n result = result.trim();\n }\n if (modifiers?.number && typeof result === \"string\") {\n const number = Number.parseFloat(result);\n result = Number.isNaN(number) ? result : number;\n }\n return result;\n};\n"],"mappings":";;;;AAyBA,IAAa,yBAAyB;CACpC;CACA;CACA;CACA;AACF;;;;;AAMA,IAAa,oBAAoB;CAC/B,IAAI,CAAC,QAAQ;CACb,UAAU,CAAC,mBAAmB,QAAQ;CACtC,SAAS,CAAC,aAAa;AACzB;AAEA,IAAM,cAAc,UAClB,MAAM,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,MAAM,CAAC;AAE/C,IAAM,gBAAgB,UACpB,MAAM,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,MAAM,CAAC;AAE/C,IAAM,kBACJ,UACA,eACY;CACZ,IAAI,CAAC,WAAW,IAAI,QAAQ,GAC1B,OAAO;CAET,MAAM,GAAG,QAAQ,gBAAgB,KAAK,QAAQ,KAAK,CAAC;CACpD,OACE,WAAW,IAAI,UAAU,WAAW,QAAQ,GAAG,KAC9C,SAAS,KAAA,MACP,WAAW,IAAI,UAAU,MAAM,KAAK,WAAW,IAAI,YAAY,MAAM;AAE5E;;;;;;;AAQA,IAAM,mBAAmB,aAA+B;CACtD,MAAM,OAAO,aACX,SACG,QAAQ,gBAAgB,EAAE,CAAC,CAC3B,QAAQ,4BAA4B,EAAE,CAC3C;CACA,MAAM,UAA6B,OAAO,OAAO,mBAAmB,IAAI,IACpE,kBAAkB,QAClB,CAAC;CAEL,OAAO,CAAC,GAAI,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,GAAI,GAAG,OAAO;AAC/D;AAEA,IAAa,uBACX,YACA,WACG;CACH,MAAM,WAAW,aAA+C;EAC9D,IAAI,CAAC,eAAe,UAAU,UAAU,GACtC;EAEF,MAAM,QAAQ,gBAAgB,QAAQ,CAAC,CAAC,MAAM,SAAS,OAAO,IAAI,IAAI,CAAC;EACvE,OAAO,UAAU,KAAA,IAAY,KAAA,IAAY;GAAE;GAAU;EAAM;CAC7D;CAEA,MAAM,iBAAiB,uBACpB,IAAI,OAAO,CAAC,CACZ,MAAM,YAAY,YAAY,KAAA,CAAS;CAE1C,OAAO;;;;;AAKL,UAAU,aACR,aAAa,eAAe,iBAAiB,QAAQ,SAAS,QAAQ,CAAC,EAC3E;AACF;;AAGA,IAAa,uBAAuB,QAClC,IAAI,WAAW,WAAW,IAAI,IAAI,MAAM,CAAkB,IAAI,KAAA;;;;;;AAOhE,IAAa,qBAAqB,aAChC,aAAa,eACT,CAAC,gBAAgB,IACjB;CACE,GAAG,SAAS;CACZ,GAAG,SAAS,QAAQ,EAAE;CACtB,GAAG,UAAU,QAAQ,EAAE;AACzB;AAEN,IAAa,sBAAsB,QACjC,IAAI,SAAS,WAAW;;;;;;AAO1B,IAAa,uBACX,OACA,cACY;CACZ,IAAI,SAAS;CACb,IAAI,WAAW,QAAQ,OAAO,WAAW,UACvC,SAAS,OAAO,KAAK;CAEvB,IAAI,WAAW,UAAU,OAAO,WAAW,UAAU;EACnD,MAAM,SAAS,OAAO,WAAW,MAAM;EACvC,SAAS,OAAO,MAAM,MAAM,IAAI,SAAS;CAC3C;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { composition } from "../lib/composition.mjs";
|
|
2
|
+
import { Badge } from "../auto-generated/Badge.mjs";
|
|
3
|
+
import { Button } from "../auto-generated/Button.mjs";
|
|
4
|
+
import { Div } from "../auto-generated/Div.mjs";
|
|
5
|
+
import { Text } from "../auto-generated/Text.mjs";
|
|
6
|
+
import { Tooltip } from "../auto-generated/Tooltip.mjs";
|
|
7
|
+
import { TooltipTrigger } from "../auto-generated/TooltipTrigger.mjs";
|
|
8
|
+
import { IconClose } from "../icons/components/IconClose.mjs";
|
|
9
|
+
import { IconSave } from "../icons/components/IconSave.mjs";
|
|
10
|
+
import { IconUndo } from "../icons/components/IconUndo.mjs";
|
|
11
|
+
import watchMobxValue from "../lib/mobxSelector.mjs";
|
|
12
|
+
import { ListFilter } from "../../../components-base/src/list/filter/ListFilter.mjs";
|
|
13
|
+
import "../../../components-base/src/index.mjs";
|
|
14
|
+
import { injectListModel } from "./listContext.mjs";
|
|
15
|
+
import { useListTexts } from "./locales.mjs";
|
|
16
|
+
import { listStyles } from "./styles.mjs";
|
|
17
|
+
import { formatDateRange, isDateRangeFilter } from "./dateRangeFilter.mjs";
|
|
18
|
+
import { defineComponent, h } from "vue";
|
|
19
|
+
//#region src/list/ActiveFilters.ts
|
|
20
|
+
/**
|
|
21
|
+
* The selected filter values, and what can be done with the set of them.
|
|
22
|
+
*
|
|
23
|
+
* Shown beside the filter menus rather than inside them, so a selection made in
|
|
24
|
+
* one menu stays visible while another is open — and can be taken back one
|
|
25
|
+
* value at a time.
|
|
26
|
+
*/
|
|
27
|
+
var ActiveFilters = defineComponent({
|
|
28
|
+
name: "ListActiveFilters",
|
|
29
|
+
props: { isDisabled: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false
|
|
32
|
+
} },
|
|
33
|
+
setup(props) {
|
|
34
|
+
const list = injectListModel();
|
|
35
|
+
const texts = useListTexts();
|
|
36
|
+
const tableRevision = watchMobxValue(() => list.listTable.revision);
|
|
37
|
+
const iconButton = (label, icon, onPress, { labelled = true } = {}) => h(TooltipTrigger, { isDisabled: props.isDisabled }, () => [h(Tooltip, null, () => texts.value(label)), h(Button, {
|
|
38
|
+
size: "s",
|
|
39
|
+
variant: "plain",
|
|
40
|
+
color: "secondary",
|
|
41
|
+
"aria-label": labelled ? texts.value(label) : void 0,
|
|
42
|
+
onPress
|
|
43
|
+
}, () => h(icon))]);
|
|
44
|
+
return () => {
|
|
45
|
+
tableRevision.value;
|
|
46
|
+
const filters = list.filters;
|
|
47
|
+
const chips = filters.flatMap((filter) => {
|
|
48
|
+
if (isDateRangeFilter(filter)) {
|
|
49
|
+
const range = filter.getValue();
|
|
50
|
+
return range ? [h(Badge, {
|
|
51
|
+
key: filter.storageKey,
|
|
52
|
+
isDisabled: props.isDisabled,
|
|
53
|
+
onClose: () => filter.clear()
|
|
54
|
+
}, () => h(Text, null, () => formatDateRange(range)))] : [];
|
|
55
|
+
}
|
|
56
|
+
return filter.values.filter((value) => value.isActive).map((value) => h(Badge, {
|
|
57
|
+
key: value.id,
|
|
58
|
+
isDisabled: props.isDisabled,
|
|
59
|
+
onClose: () => value.deactivate()
|
|
60
|
+
}, () => h(Text, null, () => value.render())));
|
|
61
|
+
});
|
|
62
|
+
const hasChanges = filters.some((filter) => filter.hasChanges());
|
|
63
|
+
const storeButton = filters.some((filter) => filter.isStoringAvailable()) && hasChanges ? iconButton("filters.store", IconSave, () => ListFilter.storeFilters(list, filters, {
|
|
64
|
+
autosave: false,
|
|
65
|
+
manualSave: true
|
|
66
|
+
})) : void 0;
|
|
67
|
+
const resetButton = hasChanges ? iconButton("filters.reset", IconUndo, () => list.resetFilters()) : void 0;
|
|
68
|
+
const clearButton = chips.length > 1 ? iconButton("filters.clear", IconClose, () => list.filters.forEach((filter) => filter.clear()), { labelled: false }) : void 0;
|
|
69
|
+
if (chips.length === 0 && !storeButton && !resetButton) return null;
|
|
70
|
+
return h(Div, { class: listStyles.activeFilters }, () => [
|
|
71
|
+
...chips,
|
|
72
|
+
storeButton,
|
|
73
|
+
resetButton,
|
|
74
|
+
clearButton
|
|
75
|
+
]);
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
composition(ActiveFilters);
|
|
80
|
+
//#endregion
|
|
81
|
+
export { ActiveFilters, ActiveFilters as default };
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=ActiveFilters.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActiveFilters.mjs","names":[],"sources":["../../../../../src/list/ActiveFilters.ts"],"sourcesContent":["import {\n Badge,\n Button,\n Div,\n Text,\n Tooltip,\n TooltipTrigger,\n} from \"@/auto-generated\";\nimport { IconClose, IconSave, IconUndo } from \"@/icons\";\nimport { watchMobxValue } from \"@/lib/mobxSelector\";\nimport { ListFilter } from \"@mittwald/flow-components-base\";\nimport type { ListDateRange } from \"@mittwald/flow-components-base\";\nimport { defineComponent, h, type VNodeChild } from \"vue\";\nimport { formatDateRange, isDateRangeFilter } from \"./dateRangeFilter\";\nimport { injectListModel } from \"./listContext\";\nimport { useListTexts, type ListTextKey } from \"./locales\";\nimport { listStyles } from \"./styles\";\nimport type { ListRendered } from \"./types\";\nimport { composition } from \"@/lib/composition\";\n\n/** What the chips need of a filter and its values, and nothing more. */\ninterface ChipDateRangeFilter {\n readonly name?: string;\n getValue(): ListDateRange | null;\n clear(): void;\n}\n\ninterface ChipFilter {\n readonly storageKey: string;\n readonly mode: string;\n readonly values: {\n readonly id: string;\n readonly isActive: boolean;\n deactivate(): void;\n render(): ListRendered;\n }[];\n getArrayValue(): { id: string }[];\n isStoringAvailable(): boolean;\n hasChanges(): boolean;\n}\n\n/**\n * The selected filter values, and what can be done with the set of them.\n *\n * Shown beside the filter menus rather than inside them, so a selection made in\n * one menu stays visible while another is open — and can be taken back one\n * value at a time.\n */\nexport const ActiveFilters = defineComponent({\n name: \"ListActiveFilters\",\n\n props: {\n isDisabled: { type: Boolean, default: false },\n },\n\n setup(props) {\n const list = injectListModel();\n const texts = useListTexts();\n\n /* Every read here is of the table's filter state. */\n const tableRevision = watchMobxValue(() => list.listTable.revision);\n\n const iconButton = (\n label: ListTextKey,\n icon: unknown,\n onPress: () => void,\n { labelled = true }: { labelled?: boolean } = {},\n ): VNodeChild =>\n h(TooltipTrigger, { isDisabled: props.isDisabled }, () => [\n h(Tooltip, null, () => texts.value(label)),\n h(\n Button,\n {\n size: \"s\",\n variant: \"plain\",\n color: \"secondary\",\n \"aria-label\": labelled ? texts.value(label) : undefined,\n onPress,\n },\n () => h(icon as never),\n ),\n ]);\n\n return () => {\n void tableRevision.value;\n\n const filters = list.filters as unknown as ChipFilter[];\n\n const chips = filters.flatMap((filter) => {\n /* One chip for the whole range, and closing it clears the range. */\n if (isDateRangeFilter(filter)) {\n const range = (filter as unknown as ChipDateRangeFilter).getValue();\n\n return range\n ? [\n h(\n Badge,\n {\n key: filter.storageKey,\n isDisabled: props.isDisabled,\n onClose: () =>\n (filter as unknown as ChipDateRangeFilter).clear(),\n },\n () => h(Text, null, () => formatDateRange(range)),\n ),\n ]\n : [];\n }\n\n return filter.values\n .filter((value) => value.isActive)\n .map((value) =>\n h(\n Badge,\n {\n key: value.id,\n isDisabled: props.isDisabled,\n onClose: () => value.deactivate(),\n },\n () => h(Text, null, () => value.render()),\n ),\n );\n });\n\n const hasChanges = filters.some((filter) => filter.hasChanges());\n const storingAvailable = filters.some((filter) =>\n filter.isStoringAvailable(),\n );\n\n const storeButton =\n storingAvailable && hasChanges\n ? iconButton(\"filters.store\", IconSave, () =>\n ListFilter.storeFilters(list, filters, {\n autosave: false,\n manualSave: true,\n }),\n )\n : undefined;\n\n const resetButton = hasChanges\n ? iconButton(\"filters.reset\", IconUndo, () => list.resetFilters())\n : undefined;\n\n const clearButton =\n chips.length > 1\n ? iconButton(\n \"filters.clear\",\n IconClose,\n () => list.filters.forEach((filter) => filter.clear()),\n /*\n * Flow's `ActiveFilters` gives this one no `aria-label`, unlike\n * its two siblings — the tooltip is all it has. Kept, so the\n * host builds the same button; the label belongs in Flow first.\n */\n { labelled: false },\n )\n : undefined;\n\n if (chips.length === 0 && !storeButton && !resetButton) {\n return null;\n }\n\n return h(Div, { class: listStyles.activeFilters }, () => [\n ...chips,\n storeButton,\n resetButton,\n clearButton,\n ]);\n };\n },\n});\n\ncomposition(ActiveFilters);\n\nexport default ActiveFilters;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,IAAa,gBAAgB,gBAAgB;CAC3C,MAAM;CAEN,OAAO,EACL,YAAY;EAAE,MAAM;EAAS,SAAS;CAAM,EAC9C;CAEA,MAAM,OAAO;EACX,MAAM,OAAO,gBAAgB;EAC7B,MAAM,QAAQ,aAAa;EAG3B,MAAM,gBAAgB,qBAAqB,KAAK,UAAU,QAAQ;EAElE,MAAM,cACJ,OACA,MACA,SACA,EAAE,WAAW,SAAiC,CAAC,MAE/C,EAAE,gBAAgB,EAAE,YAAY,MAAM,WAAW,SAAS,CACxD,EAAE,SAAS,YAAY,MAAM,MAAM,KAAK,CAAC,GACzC,EACE,QACA;GACE,MAAM;GACN,SAAS;GACT,OAAO;GACP,cAAc,WAAW,MAAM,MAAM,KAAK,IAAI,KAAA;GAC9C;EACF,SACM,EAAE,IAAa,CACvB,CACF,CAAC;EAEH,aAAa;GACX,cAAmB;GAEnB,MAAM,UAAU,KAAK;GAErB,MAAM,QAAQ,QAAQ,SAAS,WAAW;IAExC,IAAI,kBAAkB,MAAM,GAAG;KAC7B,MAAM,QAAS,OAA0C,SAAS;KAElE,OAAO,QACH,CACE,EACE,OACA;MACE,KAAK,OAAO;MACZ,YAAY,MAAM;MAClB,eACG,OAA0C,MAAM;KACrD,SACM,EAAE,MAAM,YAAY,gBAAgB,KAAK,CAAC,CAClD,CACF,IACA,CAAC;IACP;IAEA,OAAO,OAAO,OACX,QAAQ,UAAU,MAAM,QAAQ,CAAC,CACjC,KAAK,UACJ,EACE,OACA;KACE,KAAK,MAAM;KACX,YAAY,MAAM;KAClB,eAAe,MAAM,WAAW;IAClC,SACM,EAAE,MAAM,YAAY,MAAM,OAAO,CAAC,CAC1C,CACF;GACJ,CAAC;GAED,MAAM,aAAa,QAAQ,MAAM,WAAW,OAAO,WAAW,CAAC;GAK/D,MAAM,cAJmB,QAAQ,MAAM,WACrC,OAAO,mBAAmB,CAI1B,KAAoB,aAChB,WAAW,iBAAiB,gBAC1B,WAAW,aAAa,MAAM,SAAS;IACrC,UAAU;IACV,YAAY;GACd,CAAC,CACH,IACA,KAAA;GAEN,MAAM,cAAc,aAChB,WAAW,iBAAiB,gBAAgB,KAAK,aAAa,CAAC,IAC/D,KAAA;GAEJ,MAAM,cACJ,MAAM,SAAS,IACX,WACE,iBACA,iBACM,KAAK,QAAQ,SAAS,WAAW,OAAO,MAAM,CAAC,GAMrD,EAAE,UAAU,MAAM,CACpB,IACA,KAAA;GAEN,IAAI,MAAM,WAAW,KAAK,CAAC,eAAe,CAAC,aACzC,OAAO;GAGT,OAAO,EAAE,KAAK,EAAE,OAAO,WAAW,cAAc,SAAS;IACvD,GAAG;IACH;IACA;IACA;GACF,CAAC;EACH;CACF;AACF,CAAC;AAED,YAAY,aAAa"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { composition } from "../lib/composition.mjs";
|
|
2
|
+
import { Accordion } from "../auto-generated/Accordion.mjs";
|
|
3
|
+
import { AccordionGroup } from "../auto-generated/AccordionGroup.mjs";
|
|
4
|
+
import { ActionGroup } from "../auto-generated/ActionGroup.mjs";
|
|
5
|
+
import { Button } from "../auto-generated/Button.mjs";
|
|
6
|
+
import { Checkbox } from "../auto-generated/Checkbox.mjs";
|
|
7
|
+
import { CheckboxGroup } from "../auto-generated/CheckboxGroup.mjs";
|
|
8
|
+
import { Content } from "../auto-generated/Content.mjs";
|
|
9
|
+
import { Flex } from "../auto-generated/Flex.mjs";
|
|
10
|
+
import { Heading } from "../auto-generated/Heading.mjs";
|
|
11
|
+
import { Radio } from "../auto-generated/Radio.mjs";
|
|
12
|
+
import { RadioGroup } from "../auto-generated/RadioGroup.mjs";
|
|
13
|
+
import { RangeCalendar } from "../auto-generated/RangeCalendar.mjs";
|
|
14
|
+
import { Section } from "../auto-generated/Section.mjs";
|
|
15
|
+
import { SkeletonText } from "../auto-generated/SkeletonText.mjs";
|
|
16
|
+
import { Text } from "../auto-generated/Text.mjs";
|
|
17
|
+
import { IconFilter } from "../icons/components/IconFilter.mjs";
|
|
18
|
+
import watchMobxValue from "../lib/mobxSelector.mjs";
|
|
19
|
+
import { createOverlayController } from "../overlays/overlayController.mjs";
|
|
20
|
+
import { injectListModel } from "./listContext.mjs";
|
|
21
|
+
import { useListTexts } from "./locales.mjs";
|
|
22
|
+
import { listStyles } from "./styles.mjs";
|
|
23
|
+
import { ModalTrigger } from "../overlays/triggers.mjs";
|
|
24
|
+
import { isDateRangeFilter } from "./dateRangeFilter.mjs";
|
|
25
|
+
import { Modal } from "../overlays/Modal.mjs";
|
|
26
|
+
import { defineComponent, h } from "vue";
|
|
27
|
+
//#region src/list/AllFiltersModal.ts
|
|
28
|
+
var accordion = (key, heading, expanded, content) => h(Accordion, {
|
|
29
|
+
key,
|
|
30
|
+
defaultExpanded: expanded
|
|
31
|
+
}, () => [h(Heading, null, () => heading), h(Content, null, content)]);
|
|
32
|
+
var renderDateRangeAccordion = (filter, expanded, texts) => {
|
|
33
|
+
const name = filter.name ?? String(filter.property);
|
|
34
|
+
const value = filter.getValue();
|
|
35
|
+
return accordion(`filter-${name}`, name, expanded, () => h(Flex, {
|
|
36
|
+
direction: "column",
|
|
37
|
+
gap: "m"
|
|
38
|
+
}, () => [h(RangeCalendar, {
|
|
39
|
+
...filter.dateRangeOptions,
|
|
40
|
+
value,
|
|
41
|
+
onChange: (range) => filter.setValue(range)
|
|
42
|
+
}), value ? h(Button, {
|
|
43
|
+
size: "s",
|
|
44
|
+
color: "secondary",
|
|
45
|
+
variant: "soft",
|
|
46
|
+
onPress: () => filter.clear()
|
|
47
|
+
}, () => texts("filters.clearSelection")) : null]));
|
|
48
|
+
};
|
|
49
|
+
var renderSelectAllCheckbox = (filter, texts) => {
|
|
50
|
+
const isEveryValueActive = filter.isEveryValueActive();
|
|
51
|
+
return h(Checkbox, {
|
|
52
|
+
key: "select-all",
|
|
53
|
+
class: listStyles.selectAllCheckbox,
|
|
54
|
+
isSelected: isEveryValueActive,
|
|
55
|
+
isIndeterminate: filter.isActive() && !isEveryValueActive,
|
|
56
|
+
onChange: () => isEveryValueActive ? filter.deselectAll() : filter.selectAll()
|
|
57
|
+
}, () => texts(isEveryValueActive ? "filters.deselectAll" : "filters.selectAll"));
|
|
58
|
+
};
|
|
59
|
+
var renderFilterAccordion = (filter, expanded, texts) => {
|
|
60
|
+
const name = filter.name ?? String(filter.property);
|
|
61
|
+
const activeIds = filter.values.filter((v) => v.isActive).map((v) => v.id);
|
|
62
|
+
const content = () => filter.mode === "one" ? h(Flex, {
|
|
63
|
+
direction: "column",
|
|
64
|
+
gap: "m"
|
|
65
|
+
}, () => [h(RadioGroup, {
|
|
66
|
+
key: activeIds[0],
|
|
67
|
+
value: activeIds[0],
|
|
68
|
+
m: [1, 1],
|
|
69
|
+
"aria-label": name
|
|
70
|
+
}, () => filter.values.map((value) => h(Radio, {
|
|
71
|
+
key: value.id,
|
|
72
|
+
value: value.id,
|
|
73
|
+
onPress: () => {
|
|
74
|
+
if (!value.isActive) value.toggle();
|
|
75
|
+
}
|
|
76
|
+
}, () => value.render()))), activeIds.length > 0 ? h(Button, {
|
|
77
|
+
size: "s",
|
|
78
|
+
color: "secondary",
|
|
79
|
+
variant: "soft",
|
|
80
|
+
onPress: () => filter.clear()
|
|
81
|
+
}, () => texts("filters.clearSelection")) : null]) : [filter.isSelectAllAvailable ? renderSelectAllCheckbox(filter, texts) : null, h(CheckboxGroup, {
|
|
82
|
+
value: activeIds,
|
|
83
|
+
m: [1, 1],
|
|
84
|
+
"aria-label": name
|
|
85
|
+
}, () => filter.values.map((value) => h(Checkbox, {
|
|
86
|
+
key: value.id,
|
|
87
|
+
value: value.id,
|
|
88
|
+
onPress: () => value.toggle()
|
|
89
|
+
}, () => value.render())))];
|
|
90
|
+
return accordion(`filter-${name}`, name, expanded, content);
|
|
91
|
+
};
|
|
92
|
+
var renderSortingAccordion = (sortings, expanded, texts) => {
|
|
93
|
+
const active = sortings.find((s) => s.isSorted());
|
|
94
|
+
return accordion("sorting", texts("sorting"), expanded, () => h(RadioGroup, {
|
|
95
|
+
value: active?.id,
|
|
96
|
+
m: [1, 1]
|
|
97
|
+
}, () => sortings.map((sorting) => h(Radio, {
|
|
98
|
+
key: sorting.id,
|
|
99
|
+
value: sorting.id,
|
|
100
|
+
onPress: () => sorting.enable()
|
|
101
|
+
}, () => `${sorting.name ?? String(sorting.property)} ${sorting.directionName ?? ""}`.trim()))));
|
|
102
|
+
};
|
|
103
|
+
var renderViewModeAccordion = (list, modes, selected, expanded, texts) => accordion("viewMode", texts("settings.viewMode"), expanded, () => h(RadioGroup, {
|
|
104
|
+
value: selected,
|
|
105
|
+
m: [1, 1]
|
|
106
|
+
}, () => modes.map((mode) => h(Radio, {
|
|
107
|
+
key: mode,
|
|
108
|
+
value: mode,
|
|
109
|
+
onPress: () => list.viewMode.set(mode)
|
|
110
|
+
}, () => texts(`settings.viewMode.${mode}`)))));
|
|
111
|
+
/**
|
|
112
|
+
* Every filter, sorting and view mode in one off-canvas modal.
|
|
113
|
+
*
|
|
114
|
+
* The mobile path to what the header shows as separate menus on desktop — and
|
|
115
|
+
* on desktop too, where a list has secondary filters that the header leaves
|
|
116
|
+
* out. It drives the same model objects, so a value ticked here is the same
|
|
117
|
+
* event as one ticked in a menu.
|
|
118
|
+
*/
|
|
119
|
+
var AllFiltersModal = defineComponent({
|
|
120
|
+
name: "ListAllFiltersModal",
|
|
121
|
+
props: {
|
|
122
|
+
isDisabled: {
|
|
123
|
+
type: Boolean,
|
|
124
|
+
default: false
|
|
125
|
+
},
|
|
126
|
+
/** The layouts this list can show, from the header. */
|
|
127
|
+
viewModes: {
|
|
128
|
+
type: Array,
|
|
129
|
+
default: () => []
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
setup(props) {
|
|
133
|
+
const list = injectListModel();
|
|
134
|
+
const texts = useListTexts();
|
|
135
|
+
const controller = createOverlayController();
|
|
136
|
+
const isInitiallyLoading = watchMobxValue(() => list.loaderState.isInitiallyLoading);
|
|
137
|
+
const viewMode = watchMobxValue(() => list.viewMode.value);
|
|
138
|
+
const totalItemCount = watchMobxValue(() => {
|
|
139
|
+
list.listTable.revision;
|
|
140
|
+
return list.batches.getTotalItemsCount();
|
|
141
|
+
});
|
|
142
|
+
const tableRevision = watchMobxValue(() => list.listTable.revision);
|
|
143
|
+
return () => {
|
|
144
|
+
tableRevision.value;
|
|
145
|
+
const format = texts.value;
|
|
146
|
+
const filters = list.filters;
|
|
147
|
+
const sortings = list.visibleSorting;
|
|
148
|
+
const modes = props.viewModes;
|
|
149
|
+
const accordionCount = (modes.length > 1 ? 1 : 0) + (sortings.length > 0 ? 1 : 0) + filters.length;
|
|
150
|
+
if (accordionCount === 0) return null;
|
|
151
|
+
const expanded = accordionCount <= 2;
|
|
152
|
+
const accordions = [
|
|
153
|
+
modes.length > 1 ? renderViewModeAccordion(list, modes, viewMode.value, expanded, format) : null,
|
|
154
|
+
sortings.length > 0 ? renderSortingAccordion(sortings, expanded, format) : null,
|
|
155
|
+
...filters.map((filter) => isDateRangeFilter(filter) ? renderDateRangeAccordion(filter, expanded, format) : renderFilterAccordion(filter, expanded, format))
|
|
156
|
+
];
|
|
157
|
+
const hasSecondaryFilters = filters.some((filter) => filter.priority === "secondary");
|
|
158
|
+
const showCount = format(totalItemCount.value === 1 ? "results.show.one" : "results.show.other", { totalItemCount: totalItemCount.value });
|
|
159
|
+
return h(ModalTrigger, { controller }, () => [
|
|
160
|
+
h(Button, {
|
|
161
|
+
class: [listStyles.hideOnMobile, hasSecondaryFilters ? void 0 : listStyles.hideOnDesktop].filter(Boolean).join(" "),
|
|
162
|
+
variant: "outline",
|
|
163
|
+
color: "secondary",
|
|
164
|
+
isDisabled: props.isDisabled
|
|
165
|
+
}, () => [h(Text, null, () => format("filters.all")), h(IconFilter)]),
|
|
166
|
+
h(Button, {
|
|
167
|
+
class: listStyles.hideOnDesktop,
|
|
168
|
+
variant: "outline",
|
|
169
|
+
color: "secondary",
|
|
170
|
+
"aria-label": format("filters.all")
|
|
171
|
+
}, () => h(IconFilter)),
|
|
172
|
+
h(Modal, {
|
|
173
|
+
offCanvas: true,
|
|
174
|
+
controller
|
|
175
|
+
}, () => [
|
|
176
|
+
h(Heading, null, () => format("filters.all")),
|
|
177
|
+
h(Content, null, () => h(Section, null, () => h(AccordionGroup, null, () => accordions))),
|
|
178
|
+
h(ActionGroup, null, () => [h(Button, { onPress: () => controller.close() }, () => h(Text, null, () => isInitiallyLoading.value ? h(SkeletonText, { width: "16ch" }) : showCount)), h(Button, {
|
|
179
|
+
color: "secondary",
|
|
180
|
+
variant: "soft",
|
|
181
|
+
onPress: () => {
|
|
182
|
+
list.resetFilters();
|
|
183
|
+
controller.close();
|
|
184
|
+
}
|
|
185
|
+
}, () => format("reset"))])
|
|
186
|
+
])
|
|
187
|
+
]);
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
composition(AllFiltersModal);
|
|
192
|
+
//#endregion
|
|
193
|
+
export { AllFiltersModal, AllFiltersModal as default };
|
|
194
|
+
|
|
195
|
+
//# sourceMappingURL=AllFiltersModal.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AllFiltersModal.mjs","names":[],"sources":["../../../../../src/list/AllFiltersModal.ts"],"sourcesContent":["import {\n Accordion,\n AccordionGroup,\n ActionGroup,\n Button,\n Checkbox,\n CheckboxGroup,\n Content,\n Flex,\n Heading,\n Radio,\n RadioGroup,\n RangeCalendar,\n Section,\n SkeletonText,\n Text,\n} from \"@/auto-generated\";\nimport { IconFilter } from \"@/icons\";\nimport { watchMobxValue } from \"@/lib/mobxSelector\";\nimport { Modal } from \"@/overlays/Modal\";\nimport { createOverlayController } from \"@/overlays/overlayController\";\nimport { ModalTrigger } from \"@/overlays/triggers\";\nimport { defineComponent, h, type VNodeChild } from \"vue\";\nimport { isDateRangeFilter } from \"./dateRangeFilter\";\nimport { injectListModel, type AnyListModel } from \"./listContext\";\nimport { useListTexts, type ListTextFormatter } from \"./locales\";\nimport { listStyles } from \"./styles\";\nimport type { ListRendered } from \"./types\";\nimport { composition } from \"@/lib/composition\";\n\n/*\n * What this modal needs of a filter and a sorting. Not the classes: a list of\n * concrete filters is not assignable to a list of generic ones — a row model\n * sits in a contravariant position deep inside `Column`.\n */\ninterface ModalFilterValue {\n readonly id: string;\n readonly isActive: boolean;\n toggle(): void;\n render(): ListRendered;\n}\n\ninterface ModalFilter {\n readonly name?: string;\n readonly property: unknown;\n readonly mode: string;\n readonly priority: \"primary\" | \"secondary\";\n readonly values: ModalFilterValue[];\n readonly isSelectAllAvailable: boolean;\n isActive(): boolean;\n isEveryValueActive(): boolean;\n selectAll(): void;\n deselectAll(): void;\n clear(): void;\n}\n\ninterface ModalSorting {\n readonly id: string;\n readonly name?: string;\n readonly property: unknown;\n readonly directionName?: string;\n isSorted(): boolean;\n enable(): void;\n}\n\nconst accordion = (\n key: string,\n heading: string,\n expanded: boolean,\n content: () => VNodeChild,\n): VNodeChild =>\n h(Accordion, { key, defaultExpanded: expanded }, () => [\n h(Heading, null, () => heading),\n h(Content, null, content),\n ]);\n\ninterface ModalDateRangeFilter {\n readonly name?: string;\n readonly property: unknown;\n readonly dateRangeOptions?: Record<string, unknown>;\n getValue(): unknown;\n setValue(range: unknown): void;\n clear(): void;\n}\n\nconst renderDateRangeAccordion = (\n filter: ModalDateRangeFilter,\n expanded: boolean,\n texts: ListTextFormatter,\n): VNodeChild => {\n const name = filter.name ?? String(filter.property);\n const value = filter.getValue();\n\n return accordion(`filter-${name}`, name, expanded, () =>\n h(Flex, { direction: \"column\", gap: \"m\" }, () => [\n h(RangeCalendar, {\n ...filter.dateRangeOptions,\n value,\n onChange: (range: unknown) => filter.setValue(range),\n } as never),\n value\n ? h(\n Button,\n {\n size: \"s\",\n color: \"secondary\",\n variant: \"soft\",\n onPress: () => filter.clear(),\n },\n () => texts(\"filters.clearSelection\"),\n )\n : null,\n ]),\n );\n};\n\n/*\n * Flow's `FilterAccordionCheckboxGroup`: outside the checkbox group, so it is\n * not one of the values, and indeterminate while only some of them are on.\n */\nconst renderSelectAllCheckbox = (\n filter: ModalFilter,\n texts: ListTextFormatter,\n): VNodeChild => {\n const isEveryValueActive = filter.isEveryValueActive();\n\n return h(\n Checkbox,\n {\n key: \"select-all\",\n class: listStyles.selectAllCheckbox,\n isSelected: isEveryValueActive,\n isIndeterminate: filter.isActive() && !isEveryValueActive,\n onChange: () =>\n isEveryValueActive ? filter.deselectAll() : filter.selectAll(),\n },\n () =>\n texts(isEveryValueActive ? \"filters.deselectAll\" : \"filters.selectAll\"),\n );\n};\n\nconst renderFilterAccordion = (\n filter: ModalFilter,\n expanded: boolean,\n texts: ListTextFormatter,\n): VNodeChild => {\n const name = filter.name ?? String(filter.property);\n const activeIds = filter.values.filter((v) => v.isActive).map((v) => v.id);\n\n const content = (): VNodeChild =>\n filter.mode === \"one\"\n ? h(Flex, { direction: \"column\", gap: \"m\" }, () => [\n h(\n RadioGroup,\n {\n /*\n * Keyed on the selection, like Flow's: the group is controlled\n * and only remounting makes it pick up a value that changed from\n * outside — a chip removed, a reset.\n */\n key: activeIds[0],\n value: activeIds[0],\n m: [1, 1],\n \"aria-label\": name,\n },\n () =>\n filter.values.map((value) =>\n h(\n Radio,\n {\n key: value.id,\n value: value.id,\n onPress: () => {\n if (!value.isActive) {\n value.toggle();\n }\n },\n },\n () => value.render(),\n ),\n ),\n ),\n activeIds.length > 0\n ? h(\n Button,\n {\n size: \"s\",\n color: \"secondary\",\n variant: \"soft\",\n onPress: () => filter.clear(),\n },\n () => texts(\"filters.clearSelection\"),\n )\n : null,\n ])\n : [\n filter.isSelectAllAvailable\n ? renderSelectAllCheckbox(filter, texts)\n : null,\n h(\n CheckboxGroup,\n { value: activeIds, m: [1, 1], \"aria-label\": name },\n () =>\n filter.values.map((value) =>\n h(\n Checkbox,\n {\n key: value.id,\n value: value.id,\n onPress: () => value.toggle(),\n },\n () => value.render(),\n ),\n ),\n ),\n ];\n\n return accordion(`filter-${name}`, name, expanded, content);\n};\n\nconst renderSortingAccordion = (\n sortings: ModalSorting[],\n expanded: boolean,\n texts: ListTextFormatter,\n): VNodeChild => {\n const active = sortings.find((s) => s.isSorted());\n\n return accordion(\"sorting\", texts(\"sorting\"), expanded, () =>\n h(RadioGroup, { value: active?.id, m: [1, 1] }, () =>\n sortings.map((sorting) =>\n h(\n Radio,\n {\n key: sorting.id,\n value: sorting.id,\n onPress: () => sorting.enable(),\n },\n () =>\n `${sorting.name ?? String(sorting.property)} ${sorting.directionName ?? \"\"}`.trim(),\n ),\n ),\n ),\n );\n};\n\nconst renderViewModeAccordion = (\n list: AnyListModel,\n modes: (\"list\" | \"table\" | \"tiles\")[],\n selected: \"list\" | \"table\" | \"tiles\",\n expanded: boolean,\n texts: ListTextFormatter,\n): VNodeChild =>\n accordion(\"viewMode\", texts(\"settings.viewMode\"), expanded, () =>\n h(RadioGroup, { value: selected, m: [1, 1] }, () =>\n modes.map((mode) =>\n h(\n Radio,\n { key: mode, value: mode, onPress: () => list.viewMode.set(mode) },\n () => texts(`settings.viewMode.${mode}`),\n ),\n ),\n ),\n );\n\n/**\n * Every filter, sorting and view mode in one off-canvas modal.\n *\n * The mobile path to what the header shows as separate menus on desktop — and\n * on desktop too, where a list has secondary filters that the header leaves\n * out. It drives the same model objects, so a value ticked here is the same\n * event as one ticked in a menu.\n */\nexport const AllFiltersModal = defineComponent({\n name: \"ListAllFiltersModal\",\n\n props: {\n isDisabled: { type: Boolean, default: false },\n /** The layouts this list can show, from the header. */\n viewModes: {\n type: Array as () => (\"list\" | \"table\" | \"tiles\")[],\n default: () => [],\n },\n },\n\n setup(props) {\n const list = injectListModel();\n const texts = useListTexts();\n const controller = createOverlayController();\n\n const isInitiallyLoading = watchMobxValue(\n () => list.loaderState.isInitiallyLoading,\n );\n const viewMode = watchMobxValue(() => list.viewMode.value);\n const totalItemCount = watchMobxValue(() => {\n void list.listTable.revision;\n return list.batches.getTotalItemsCount();\n });\n /* Every value below is read off the table's filter and sorting state. */\n const tableRevision = watchMobxValue(() => list.listTable.revision);\n\n return () => {\n void tableRevision.value;\n\n const format = texts.value;\n const filters = list.filters as unknown as ModalFilter[];\n const sortings = list.visibleSorting as unknown as ModalSorting[];\n const modes = props.viewModes;\n\n const accordionCount =\n (modes.length > 1 ? 1 : 0) +\n (sortings.length > 0 ? 1 : 0) +\n filters.length;\n\n if (accordionCount === 0) {\n return null;\n }\n\n /* Two or fewer open by default — more than that is a wall of controls. */\n const expanded = accordionCount <= 2;\n\n const accordions: VNodeChild[] = [\n modes.length > 1\n ? renderViewModeAccordion(\n list,\n modes,\n viewMode.value,\n expanded,\n format,\n )\n : null,\n sortings.length > 0\n ? renderSortingAccordion(sortings, expanded, format)\n : null,\n ...filters.map((filter) =>\n isDateRangeFilter(filter)\n ? renderDateRangeAccordion(\n filter as unknown as ModalDateRangeFilter,\n expanded,\n format,\n )\n : renderFilterAccordion(filter, expanded, format),\n ),\n ];\n\n const hasSecondaryFilters = filters.some(\n (filter) => filter.priority === \"secondary\",\n );\n\n const showCount = format(\n totalItemCount.value === 1 ? \"results.show.one\" : \"results.show.other\",\n { totalItemCount: totalItemCount.value },\n );\n\n return h(ModalTrigger, { controller }, () => [\n h(\n Button,\n {\n class: [\n listStyles.hideOnMobile,\n hasSecondaryFilters ? undefined : listStyles.hideOnDesktop,\n ]\n .filter(Boolean)\n .join(\" \"),\n variant: \"outline\",\n color: \"secondary\",\n isDisabled: props.isDisabled,\n },\n () => [h(Text, null, () => format(\"filters.all\")), h(IconFilter)],\n ),\n\n h(\n Button,\n {\n class: listStyles.hideOnDesktop,\n variant: \"outline\",\n color: \"secondary\",\n \"aria-label\": format(\"filters.all\"),\n },\n () => h(IconFilter),\n ),\n\n h(Modal, { offCanvas: true, controller }, () => [\n h(Heading, null, () => format(\"filters.all\")),\n h(Content, null, () =>\n h(Section, null, () => h(AccordionGroup, null, () => accordions)),\n ),\n h(ActionGroup, null, () => [\n h(Button, { onPress: () => controller.close() }, () =>\n h(Text, null, () =>\n isInitiallyLoading.value\n ? h(SkeletonText, { width: \"16ch\" })\n : showCount,\n ),\n ),\n h(\n Button,\n {\n color: \"secondary\",\n variant: \"soft\",\n onPress: () => {\n list.resetFilters();\n controller.close();\n },\n },\n () => format(\"reset\"),\n ),\n ]),\n ]),\n ]);\n };\n },\n});\n\ncomposition(AllFiltersModal);\n\nexport default AllFiltersModal;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,IAAM,aACJ,KACA,SACA,UACA,YAEA,EAAE,WAAW;CAAE;CAAK,iBAAiB;AAAS,SAAS,CACrD,EAAE,SAAS,YAAY,OAAO,GAC9B,EAAE,SAAS,MAAM,OAAO,CAC1B,CAAC;AAWH,IAAM,4BACJ,QACA,UACA,UACe;CACf,MAAM,OAAO,OAAO,QAAQ,OAAO,OAAO,QAAQ;CAClD,MAAM,QAAQ,OAAO,SAAS;CAE9B,OAAO,UAAU,UAAU,QAAQ,MAAM,gBACvC,EAAE,MAAM;EAAE,WAAW;EAAU,KAAK;CAAI,SAAS,CAC/C,EAAE,eAAe;EACf,GAAG,OAAO;EACV;EACA,WAAW,UAAmB,OAAO,SAAS,KAAK;CACrD,CAAU,GACV,QACI,EACE,QACA;EACE,MAAM;EACN,OAAO;EACP,SAAS;EACT,eAAe,OAAO,MAAM;CAC9B,SACM,MAAM,wBAAwB,CACtC,IACA,IACN,CAAC,CACH;AACF;AAMA,IAAM,2BACJ,QACA,UACe;CACf,MAAM,qBAAqB,OAAO,mBAAmB;CAErD,OAAO,EACL,UACA;EACE,KAAK;EACL,OAAO,WAAW;EAClB,YAAY;EACZ,iBAAiB,OAAO,SAAS,KAAK,CAAC;EACvC,gBACE,qBAAqB,OAAO,YAAY,IAAI,OAAO,UAAU;CACjE,SAEE,MAAM,qBAAqB,wBAAwB,mBAAmB,CAC1E;AACF;AAEA,IAAM,yBACJ,QACA,UACA,UACe;CACf,MAAM,OAAO,OAAO,QAAQ,OAAO,OAAO,QAAQ;CAClD,MAAM,YAAY,OAAO,OAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,EAAE;CAEzE,MAAM,gBACJ,OAAO,SAAS,QACZ,EAAE,MAAM;EAAE,WAAW;EAAU,KAAK;CAAI,SAAS,CAC/C,EACE,YACA;EAME,KAAK,UAAU;EACf,OAAO,UAAU;EACjB,GAAG,CAAC,GAAG,CAAC;EACR,cAAc;CAChB,SAEE,OAAO,OAAO,KAAK,UACjB,EACE,OACA;EACE,KAAK,MAAM;EACX,OAAO,MAAM;EACb,eAAe;GACb,IAAI,CAAC,MAAM,UACT,MAAM,OAAO;EAEjB;CACF,SACM,MAAM,OAAO,CACrB,CACF,CACJ,GACA,UAAU,SAAS,IACf,EACE,QACA;EACE,MAAM;EACN,OAAO;EACP,SAAS;EACT,eAAe,OAAO,MAAM;CAC9B,SACM,MAAM,wBAAwB,CACtC,IACA,IACN,CAAC,IACD,CACE,OAAO,uBACH,wBAAwB,QAAQ,KAAK,IACrC,MACJ,EACE,eACA;EAAE,OAAO;EAAW,GAAG,CAAC,GAAG,CAAC;EAAG,cAAc;CAAK,SAEhD,OAAO,OAAO,KAAK,UACjB,EACE,UACA;EACE,KAAK,MAAM;EACX,OAAO,MAAM;EACb,eAAe,MAAM,OAAO;CAC9B,SACM,MAAM,OAAO,CACrB,CACF,CACJ,CACF;CAEN,OAAO,UAAU,UAAU,QAAQ,MAAM,UAAU,OAAO;AAC5D;AAEA,IAAM,0BACJ,UACA,UACA,UACe;CACf,MAAM,SAAS,SAAS,MAAM,MAAM,EAAE,SAAS,CAAC;CAEhD,OAAO,UAAU,WAAW,MAAM,SAAS,GAAG,gBAC5C,EAAE,YAAY;EAAE,OAAO,QAAQ;EAAI,GAAG,CAAC,GAAG,CAAC;CAAE,SAC3C,SAAS,KAAK,YACZ,EACE,OACA;EACE,KAAK,QAAQ;EACb,OAAO,QAAQ;EACf,eAAe,QAAQ,OAAO;CAChC,SAEE,GAAG,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,EAAE,GAAG,QAAQ,iBAAiB,KAAK,KAAK,CACtF,CACF,CACF,CACF;AACF;AAEA,IAAM,2BACJ,MACA,OACA,UACA,UACA,UAEA,UAAU,YAAY,MAAM,mBAAmB,GAAG,gBAChD,EAAE,YAAY;CAAE,OAAO;CAAU,GAAG,CAAC,GAAG,CAAC;AAAE,SACzC,MAAM,KAAK,SACT,EACE,OACA;CAAE,KAAK;CAAM,OAAO;CAAM,eAAe,KAAK,SAAS,IAAI,IAAI;AAAE,SAC3D,MAAM,qBAAqB,MAAM,CACzC,CACF,CACF,CACF;;;;;;;;;AAUF,IAAa,kBAAkB,gBAAgB;CAC7C,MAAM;CAEN,OAAO;EACL,YAAY;GAAE,MAAM;GAAS,SAAS;EAAM;;EAE5C,WAAW;GACT,MAAM;GACN,eAAe,CAAC;EAClB;CACF;CAEA,MAAM,OAAO;EACX,MAAM,OAAO,gBAAgB;EAC7B,MAAM,QAAQ,aAAa;EAC3B,MAAM,aAAa,wBAAwB;EAE3C,MAAM,qBAAqB,qBACnB,KAAK,YAAY,kBACzB;EACA,MAAM,WAAW,qBAAqB,KAAK,SAAS,KAAK;EACzD,MAAM,iBAAiB,qBAAqB;GAC1C,KAAU,UAAU;GACpB,OAAO,KAAK,QAAQ,mBAAmB;EACzC,CAAC;EAED,MAAM,gBAAgB,qBAAqB,KAAK,UAAU,QAAQ;EAElE,aAAa;GACX,cAAmB;GAEnB,MAAM,SAAS,MAAM;GACrB,MAAM,UAAU,KAAK;GACrB,MAAM,WAAW,KAAK;GACtB,MAAM,QAAQ,MAAM;GAEpB,MAAM,kBACH,MAAM,SAAS,IAAI,IAAI,MACvB,SAAS,SAAS,IAAI,IAAI,KAC3B,QAAQ;GAEV,IAAI,mBAAmB,GACrB,OAAO;GAIT,MAAM,WAAW,kBAAkB;GAEnC,MAAM,aAA2B;IAC/B,MAAM,SAAS,IACX,wBACE,MACA,OACA,SAAS,OACT,UACA,MACF,IACA;IACJ,SAAS,SAAS,IACd,uBAAuB,UAAU,UAAU,MAAM,IACjD;IACJ,GAAG,QAAQ,KAAK,WACd,kBAAkB,MAAM,IACpB,yBACE,QACA,UACA,MACF,IACA,sBAAsB,QAAQ,UAAU,MAAM,CACpD;GACF;GAEA,MAAM,sBAAsB,QAAQ,MACjC,WAAW,OAAO,aAAa,WAClC;GAEA,MAAM,YAAY,OAChB,eAAe,UAAU,IAAI,qBAAqB,sBAClD,EAAE,gBAAgB,eAAe,MAAM,CACzC;GAEA,OAAO,EAAE,cAAc,EAAE,WAAW,SAAS;IAC3C,EACE,QACA;KACE,OAAO,CACL,WAAW,cACX,sBAAsB,KAAA,IAAY,WAAW,aAC/C,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;KACX,SAAS;KACT,OAAO;KACP,YAAY,MAAM;IACpB,SACM,CAAC,EAAE,MAAM,YAAY,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAClE;IAEA,EACE,QACA;KACE,OAAO,WAAW;KAClB,SAAS;KACT,OAAO;KACP,cAAc,OAAO,aAAa;IACpC,SACM,EAAE,UAAU,CACpB;IAEA,EAAE,OAAO;KAAE,WAAW;KAAM;IAAW,SAAS;KAC9C,EAAE,SAAS,YAAY,OAAO,aAAa,CAAC;KAC5C,EAAE,SAAS,YACT,EAAE,SAAS,YAAY,EAAE,gBAAgB,YAAY,UAAU,CAAC,CAClE;KACA,EAAE,aAAa,YAAY,CACzB,EAAE,QAAQ,EAAE,eAAe,WAAW,MAAM,EAAE,SAC5C,EAAE,MAAM,YACN,mBAAmB,QACf,EAAE,cAAc,EAAE,OAAO,OAAO,CAAC,IACjC,SACN,CACF,GACA,EACE,QACA;MACE,OAAO;MACP,SAAS;MACT,eAAe;OACb,KAAK,aAAa;OAClB,WAAW,MAAM;MACnB;KACF,SACM,OAAO,OAAO,CACtB,CACF,CAAC;IACH,CAAC;GACH,CAAC;EACH;CACF;AACF,CAAC;AAED,YAAY,eAAe"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { composition } from "../lib/composition.mjs";
|
|
2
|
+
import watchMobxValue from "../lib/mobxSelector.mjs";
|
|
3
|
+
import { injectListModel } from "./listContext.mjs";
|
|
4
|
+
import { defineComponent, shallowRef, toValue, watch, watchEffect } from "vue";
|
|
5
|
+
import { isDeepEqual } from "remeda";
|
|
6
|
+
//#region src/list/ComposableLoader.ts
|
|
7
|
+
/**
|
|
8
|
+
* One batch of a composable loader.
|
|
9
|
+
*
|
|
10
|
+
* A composable runs in `setup()` and nowhere else, so the list cannot call one
|
|
11
|
+
* from the watcher that drives its async loader. It renders one of these per
|
|
12
|
+
* batch instead — which is what React's `DataLoader` does with its hooks
|
|
13
|
+
* loader, one component per batch, each calling the consumer's hook.
|
|
14
|
+
*
|
|
15
|
+
* It renders nothing. What it contributes is a `setup()` for the consumer's
|
|
16
|
+
* composable and an effect that reports what the composable produced.
|
|
17
|
+
*/
|
|
18
|
+
var ListComposableBatchLoader = defineComponent({
|
|
19
|
+
name: "ListComposableBatchLoader",
|
|
20
|
+
props: { batchIndex: {
|
|
21
|
+
type: Number,
|
|
22
|
+
required: true
|
|
23
|
+
} },
|
|
24
|
+
setup(props) {
|
|
25
|
+
const list = injectListModel();
|
|
26
|
+
const loader = list.shape.composableLoader;
|
|
27
|
+
const batchIndex = props.batchIndex;
|
|
28
|
+
if (!loader) return () => null;
|
|
29
|
+
const query = watchMobxValue(() => {
|
|
30
|
+
list.listTable.revision;
|
|
31
|
+
return list.getDataLoaderOptions(batchIndex);
|
|
32
|
+
});
|
|
33
|
+
const options = shallowRef(query.value);
|
|
34
|
+
watch(query, (next) => {
|
|
35
|
+
if (!isDeepEqual(next, options.value)) options.value = next;
|
|
36
|
+
});
|
|
37
|
+
const result = loader(() => options.value);
|
|
38
|
+
const isUnreported = watchMobxValue(() => list.loaderState.batchLoadingStates[batchIndex] !== "loaded");
|
|
39
|
+
let reported;
|
|
40
|
+
watchEffect(() => {
|
|
41
|
+
const value = toValue(result);
|
|
42
|
+
const unreported = isUnreported.value;
|
|
43
|
+
if (value && (unreported || value !== reported)) {
|
|
44
|
+
reported = value;
|
|
45
|
+
list.reportBatch(batchIndex, value);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
return () => null;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
composition(ListComposableBatchLoader);
|
|
52
|
+
//#endregion
|
|
53
|
+
export { ListComposableBatchLoader, ListComposableBatchLoader as default };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=ComposableLoader.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComposableLoader.mjs","names":[],"sources":["../../../../../src/list/ComposableLoader.ts"],"sourcesContent":["import { watchMobxValue } from \"@/lib/mobxSelector\";\nimport { isDeepEqual } from \"remeda\";\nimport { defineComponent, shallowRef, toValue, watch, watchEffect } from \"vue\";\nimport { injectListModel } from \"./listContext\";\nimport { composition } from \"@/lib/composition\";\n\n/**\n * One batch of a composable loader.\n *\n * A composable runs in `setup()` and nowhere else, so the list cannot call one\n * from the watcher that drives its async loader. It renders one of these per\n * batch instead — which is what React's `DataLoader` does with its hooks\n * loader, one component per batch, each calling the consumer's hook.\n *\n * It renders nothing. What it contributes is a `setup()` for the consumer's\n * composable and an effect that reports what the composable produced.\n */\nexport const ListComposableBatchLoader = defineComponent({\n name: \"ListComposableBatchLoader\",\n\n props: {\n batchIndex: { type: Number, required: true },\n },\n\n setup(props) {\n const list = injectListModel();\n const loader = list.shape.composableLoader;\n\n /*\n * Captured once: the component is keyed by its batch, so the index never\n * changes for an instance — and nothing below would notice if it did,\n * because a MobX `autorun` does not track a Vue prop.\n */\n const batchIndex = props.batchIndex;\n\n if (!loader) {\n return () => null;\n }\n\n /*\n * The query as a getter. The list rebuilds it whenever a filter, the\n * sorting or the search changes, and the consumer decides what that means:\n * a query key reading it refetches, a composable ignoring it does not.\n */\n const query = watchMobxValue(() => {\n /*\n * The search term is table state, and the table's state is only\n * observable through the revision — `getState()` hands back plain data.\n * Without this read a manually filtering source would never see a\n * changed search.\n */\n void list.listTable.revision;\n return list.getDataLoaderOptions(batchIndex);\n });\n\n /*\n * A new object only when the query changed. The revision also moves when a\n * reported batch reaches the table, and a composable that recomputed on\n * that would hand back a new result, which is reported, which moves the\n * revision again.\n */\n const options = shallowRef(query.value);\n watch(query, (next) => {\n if (!isDeepEqual(next, options.value)) {\n options.value = next;\n }\n });\n\n const result = loader(() => options.value);\n\n /*\n * Reported whenever the value changes, like React's `useEffect(…,\n * [loaderResult])`. And again when a reset clears `\"loaded\"` — a changed\n * filter drops every batch — so a composable that has nothing new to hand\n * back does not leave the list in a skeleton. Its fresh answer, landing\n * after that, is a new value and reported too.\n */\n const isUnreported = watchMobxValue(\n () => list.loaderState.batchLoadingStates[batchIndex] !== \"loaded\",\n );\n let reported: unknown;\n\n watchEffect(() => {\n const value = toValue(result);\n const unreported = isUnreported.value;\n\n if (value && (unreported || value !== reported)) {\n reported = value;\n list.reportBatch(batchIndex, value);\n }\n });\n\n return () => null;\n },\n});\n\ncomposition(ListComposableBatchLoader);\n\nexport default ListComposableBatchLoader;\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,IAAa,4BAA4B,gBAAgB;CACvD,MAAM;CAEN,OAAO,EACL,YAAY;EAAE,MAAM;EAAQ,UAAU;CAAK,EAC7C;CAEA,MAAM,OAAO;EACX,MAAM,OAAO,gBAAgB;EAC7B,MAAM,SAAS,KAAK,MAAM;EAO1B,MAAM,aAAa,MAAM;EAEzB,IAAI,CAAC,QACH,aAAa;EAQf,MAAM,QAAQ,qBAAqB;GAOjC,KAAU,UAAU;GACpB,OAAO,KAAK,qBAAqB,UAAU;EAC7C,CAAC;EAQD,MAAM,UAAU,WAAW,MAAM,KAAK;EACtC,MAAM,QAAQ,SAAS;GACrB,IAAI,CAAC,YAAY,MAAM,QAAQ,KAAK,GAClC,QAAQ,QAAQ;EAEpB,CAAC;EAED,MAAM,SAAS,aAAa,QAAQ,KAAK;EASzC,MAAM,eAAe,qBACb,KAAK,YAAY,mBAAmB,gBAAgB,QAC5D;EACA,IAAI;EAEJ,kBAAkB;GAChB,MAAM,QAAQ,QAAQ,MAAM;GAC5B,MAAM,aAAa,aAAa;GAEhC,IAAI,UAAU,cAAc,UAAU,WAAW;IAC/C,WAAW;IACX,KAAK,YAAY,YAAY,KAAK;GACpC;EACF,CAAC;EAED,aAAa;CACf;AACF,CAAC;AAED,YAAY,yBAAyB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { composition } from "../lib/composition.mjs";
|
|
2
|
+
import { Button } from "../auto-generated/Button.mjs";
|
|
3
|
+
import { Div } from "../auto-generated/Div.mjs";
|
|
4
|
+
import { Skeleton } from "../auto-generated/Skeleton.mjs";
|
|
5
|
+
import { Text } from "../auto-generated/Text.mjs";
|
|
6
|
+
import watchMobxValue from "../lib/mobxSelector.mjs";
|
|
7
|
+
import { injectListModel } from "./listContext.mjs";
|
|
8
|
+
import { useListTexts } from "./locales.mjs";
|
|
9
|
+
import { listStyles } from "./styles.mjs";
|
|
10
|
+
import { defineComponent, h } from "vue";
|
|
11
|
+
//#region src/list/Footer.ts
|
|
12
|
+
/** How many items are shown, and the way to ask for more. */
|
|
13
|
+
var Footer = defineComponent({
|
|
14
|
+
name: "ListFooter",
|
|
15
|
+
setup() {
|
|
16
|
+
const list = injectListModel();
|
|
17
|
+
const texts = useListTexts();
|
|
18
|
+
const isLoading = watchMobxValue(() => list.loaderState.isLoading);
|
|
19
|
+
const isInitiallyLoading = watchMobxValue(() => list.loaderState.isInitiallyLoading);
|
|
20
|
+
const isEmpty = watchMobxValue(() => list.isEmpty);
|
|
21
|
+
const counts = watchMobxValue(() => {
|
|
22
|
+
list.listTable.revision;
|
|
23
|
+
return {
|
|
24
|
+
total: list.batches.getTotalItemsCount(),
|
|
25
|
+
visible: list.batches.getVisibleItemsCount(),
|
|
26
|
+
hasNextBatch: list.batches.hasNextBatch()
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
const renderPaginationInfo = () => {
|
|
30
|
+
if (isEmpty.value) return null;
|
|
31
|
+
return h(Text, null, () => isLoading.value ? h(Skeleton, { width: "200px" }) : texts.value("paginationInfo", {
|
|
32
|
+
visibleItemsCount: counts.value.visible,
|
|
33
|
+
totalItemsCount: counts.value.total
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
36
|
+
const renderShowNextBatch = () => {
|
|
37
|
+
if (!counts.value.hasNextBatch && !isLoading.value) return null;
|
|
38
|
+
return h(Button, {
|
|
39
|
+
isPending: isLoading.value && !isInitiallyLoading.value,
|
|
40
|
+
isDisabled: isInitiallyLoading.value,
|
|
41
|
+
variant: "plain",
|
|
42
|
+
size: "s",
|
|
43
|
+
onPress: () => list.batches.nextBatch()
|
|
44
|
+
}, () => texts.value("showMore"));
|
|
45
|
+
};
|
|
46
|
+
return () => h(Div, { class: listStyles.footer }, () => [renderPaginationInfo(), renderShowNextBatch()]);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
composition(Footer);
|
|
50
|
+
//#endregion
|
|
51
|
+
export { Footer, Footer as default };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=Footer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footer.mjs","names":[],"sources":["../../../../../src/list/Footer.ts"],"sourcesContent":["import { Button, Div, Skeleton, Text } from \"@/auto-generated\";\nimport { watchMobxValue } from \"@/lib/mobxSelector\";\nimport { defineComponent, h, type VNodeChild } from \"vue\";\nimport { injectListModel } from \"./listContext\";\nimport { useListTexts } from \"./locales\";\nimport { listStyles } from \"./styles\";\nimport { composition } from \"@/lib/composition\";\n\n/** How many items are shown, and the way to ask for more. */\nexport const Footer = defineComponent({\n name: \"ListFooter\",\n\n setup() {\n const list = injectListModel();\n const texts = useListTexts();\n\n const isLoading = watchMobxValue(() => list.loaderState.isLoading);\n const isInitiallyLoading = watchMobxValue(\n () => list.loaderState.isInitiallyLoading,\n );\n const isEmpty = watchMobxValue(() => list.isEmpty);\n const counts = watchMobxValue(() => {\n void list.listTable.revision;\n return {\n total: list.batches.getTotalItemsCount(),\n visible: list.batches.getVisibleItemsCount(),\n hasNextBatch: list.batches.hasNextBatch(),\n };\n });\n\n const renderPaginationInfo = (): VNodeChild => {\n if (isEmpty.value) {\n return null;\n }\n\n return h(Text, null, () =>\n isLoading.value\n ? h(Skeleton, { width: \"200px\" })\n : texts.value(\"paginationInfo\", {\n visibleItemsCount: counts.value.visible,\n totalItemsCount: counts.value.total,\n }),\n );\n };\n\n const renderShowNextBatch = (): VNodeChild => {\n if (!counts.value.hasNextBatch && !isLoading.value) {\n return null;\n }\n\n return h(\n Button,\n {\n isPending: isLoading.value && !isInitiallyLoading.value,\n isDisabled: isInitiallyLoading.value,\n variant: \"plain\",\n size: \"s\",\n onPress: () => list.batches.nextBatch(),\n },\n () => texts.value(\"showMore\"),\n );\n };\n\n return () =>\n h(Div, { class: listStyles.footer }, () => [\n renderPaginationInfo(),\n renderShowNextBatch(),\n ]);\n },\n});\n\ncomposition(Footer);\n\nexport default Footer;\n"],"mappings":";;;;;;;;;;;;AASA,IAAa,SAAS,gBAAgB;CACpC,MAAM;CAEN,QAAQ;EACN,MAAM,OAAO,gBAAgB;EAC7B,MAAM,QAAQ,aAAa;EAE3B,MAAM,YAAY,qBAAqB,KAAK,YAAY,SAAS;EACjE,MAAM,qBAAqB,qBACnB,KAAK,YAAY,kBACzB;EACA,MAAM,UAAU,qBAAqB,KAAK,OAAO;EACjD,MAAM,SAAS,qBAAqB;GAClC,KAAU,UAAU;GACpB,OAAO;IACL,OAAO,KAAK,QAAQ,mBAAmB;IACvC,SAAS,KAAK,QAAQ,qBAAqB;IAC3C,cAAc,KAAK,QAAQ,aAAa;GAC1C;EACF,CAAC;EAED,MAAM,6BAAyC;GAC7C,IAAI,QAAQ,OACV,OAAO;GAGT,OAAO,EAAE,MAAM,YACb,UAAU,QACN,EAAE,UAAU,EAAE,OAAO,QAAQ,CAAC,IAC9B,MAAM,MAAM,kBAAkB;IAC5B,mBAAmB,OAAO,MAAM;IAChC,iBAAiB,OAAO,MAAM;GAChC,CAAC,CACP;EACF;EAEA,MAAM,4BAAwC;GAC5C,IAAI,CAAC,OAAO,MAAM,gBAAgB,CAAC,UAAU,OAC3C,OAAO;GAGT,OAAO,EACL,QACA;IACE,WAAW,UAAU,SAAS,CAAC,mBAAmB;IAClD,YAAY,mBAAmB;IAC/B,SAAS;IACT,MAAM;IACN,eAAe,KAAK,QAAQ,UAAU;GACxC,SACM,MAAM,MAAM,UAAU,CAC9B;EACF;EAEA,aACE,EAAE,KAAK,EAAE,OAAO,WAAW,OAAO,SAAS,CACzC,qBAAqB,GACrB,oBAAoB,CACtB,CAAC;CACL;AACF,CAAC;AAED,YAAY,MAAM"}
|