@mittwald/flow-react-components 1.6.0-next.5 → 1.6.0-next.51
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/AGENTS.md +132 -88
- package/USAGE.md +7 -2
- package/dist/assets/component-index.json +1 -1
- package/dist/assets/doc-properties.json +1 -1
- package/dist/css/all-layered.css +1 -1
- package/dist/css/all.css +1 -1
- package/dist/js/_virtual/_.locale.mjs +1 -2
- package/dist/js/_virtual/_10.locale.mjs +1 -2
- package/dist/js/_virtual/_11.locale.mjs +1 -2
- package/dist/js/_virtual/_12.locale.mjs +1 -2
- package/dist/js/_virtual/_13.locale.mjs +1 -2
- package/dist/js/_virtual/_14.locale.mjs +1 -2
- package/dist/js/_virtual/_15.locale.mjs +1 -2
- package/dist/js/_virtual/_16.locale.mjs +1 -2
- package/dist/js/_virtual/_17.locale.mjs +1 -2
- package/dist/js/_virtual/_18.locale.mjs +15 -2
- package/dist/js/_virtual/_19.locale.mjs +1 -2
- package/dist/js/_virtual/_2.locale.mjs +1 -2
- package/dist/js/_virtual/_20.locale.mjs +1 -2
- package/dist/js/_virtual/_21.locale.mjs +1 -2
- package/dist/js/_virtual/_22.locale.mjs +1 -2
- package/dist/js/_virtual/_23.locale.mjs +1 -2
- package/dist/js/_virtual/_24.locale.mjs +1 -2
- package/dist/js/_virtual/_25.locale.mjs +1 -2
- package/dist/js/_virtual/_26.locale.mjs +1 -2
- package/dist/js/_virtual/_27.locale.mjs +1 -2
- package/dist/js/_virtual/_28.locale.mjs +1 -2
- package/dist/js/_virtual/_29.locale.mjs +1 -2
- package/dist/js/_virtual/_3.locale.mjs +1 -2
- package/dist/js/_virtual/_30.locale.mjs +1 -2
- package/dist/js/_virtual/_31.locale.mjs +1 -2
- package/dist/js/_virtual/_32.locale.mjs +1 -2
- package/dist/js/_virtual/_33.locale.mjs +1 -2
- package/dist/js/_virtual/_34.locale.mjs +1 -2
- package/dist/js/_virtual/_35.locale.mjs +1 -2
- package/dist/js/_virtual/_36.locale.mjs +1 -2
- package/dist/js/_virtual/_4.locale.mjs +1 -2
- package/dist/js/_virtual/_5.locale.mjs +1 -2
- package/dist/js/_virtual/_6.locale.mjs +1 -2
- package/dist/js/_virtual/_7.locale.mjs +1 -2
- package/dist/js/_virtual/_8.locale.mjs +1 -2
- package/dist/js/_virtual/_9.locale.mjs +1 -2
- package/dist/js/default.mjs +4 -3
- package/dist/js/flr-universal.mjs +2 -1
- package/dist/js/globals.mjs +1 -2
- package/dist/js/node_modules/.pnpm/{@lezer_lr@1.4.10 → @lezer_lr@1.4.11}/node_modules/@lezer/lr/dist/index.mjs +40 -29
- package/dist/js/node_modules/.pnpm/@lezer_lr@1.4.11/node_modules/@lezer/lr/dist/index.mjs.map +1 -0
- package/dist/js/packages/components/src/components/AccentBox/AccentBox.mjs +4 -4
- package/dist/js/packages/components/src/components/AccentBox/AccentBox.mjs.map +1 -1
- package/dist/js/packages/components/src/components/AccentBox/AccentBox.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Accordion/Accordion.mjs +4 -4
- package/dist/js/packages/components/src/components/Accordion/Accordion.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Accordion/Accordion.module.mjs +1 -2
- package/dist/js/packages/components/src/components/AccordionGroup/AccordionGroup.mjs +1 -2
- package/dist/js/packages/components/src/components/AccordionGroup/AccordionGroup.module.mjs +1 -2
- package/dist/js/packages/components/src/components/AccordionGroup/context.mjs +1 -2
- package/dist/js/packages/components/src/components/AccordionGroup/lib/expansion.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/AbortActionError.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/Action.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/ActionBatch.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/context.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/hooks/useActionButtonState.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/hooks/useActionState.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/hooks/useConfirmationModalButtonSlot.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/hooks/useIsPendingWithWait.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/lib/abortAction.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/lib/ariaLive.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/models/ActionExecution.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/models/ActionExecutionBatch.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/models/ActionModel.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/models/ActionState.mjs +3 -4
- package/dist/js/packages/components/src/components/Action/models/ActionStateContext.mjs +1 -2
- package/dist/js/packages/components/src/components/Action/models/getExecutionFunction.mjs +1 -2
- package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.mjs +4 -5
- package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ActionGroup/lib/getActionGroupSlot.mjs +1 -2
- package/dist/js/packages/components/src/components/Activity/Activity.mjs +2 -3
- package/dist/js/packages/components/src/components/Activity/Activity.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Activity/context.mjs +1 -2
- package/dist/js/packages/components/src/components/Alert/Alert.mjs +4 -4
- package/dist/js/packages/components/src/components/Alert/Alert.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Alert/Alert.module.mjs +1 -2
- package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.mjs +2 -3
- package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.mjs.map +1 -1
- package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.module.mjs +1 -2
- package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/AlertIcon/AlertIcon.mjs +1 -2
- package/dist/js/packages/components/src/components/AlertText/AlertText.mjs +1 -2
- package/dist/js/packages/components/src/components/AlertText/AlertText.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Align/Align.mjs +1 -2
- package/dist/js/packages/components/src/components/Autocomplete/Autocomplete.mjs +1 -2
- package/dist/js/packages/components/src/components/Autocomplete/Autocomplete.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Avatar/Avatar.mjs +1 -2
- package/dist/js/packages/components/src/components/Avatar/Avatar.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Avatar/avatarColors.mjs +1 -2
- package/dist/js/packages/components/src/components/AvatarStack/AvatarStack.mjs +1 -2
- package/dist/js/packages/components/src/components/AvatarStack/AvatarStack.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Badge/Badge.mjs +2 -3
- package/dist/js/packages/components/src/components/Badge/Badge.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Badge/Badge.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Badge/Badge.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Badge/components/ContextualHelpButton/ContextualHelpButton.mjs +1 -2
- package/dist/js/packages/components/src/components/BigNumber/BigNumber.mjs +1 -2
- package/dist/js/packages/components/src/components/BigNumber/BigNumber.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Breadcrumb/Breadcrumb.mjs +1 -2
- package/dist/js/packages/components/src/components/Breadcrumb/Breadcrumb.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Breadcrumb/components/BreadcrumbItem/BreadcrumbItem.mjs +1 -2
- package/dist/js/packages/components/src/components/BrowserOnly/BrowserOnly.mjs +1 -2
- package/dist/js/packages/components/src/components/Button/Button.mjs +1 -2
- package/dist/js/packages/components/src/components/Button/Button.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Calendar/Calendar.mjs +1 -2
- package/dist/js/packages/components/src/components/Calendar/Calendar.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Calendar/components/CalendarHeader/CalendarHeader.mjs +1 -2
- package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/RangeCalendar.mjs +1 -2
- package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/helpers/useCalendarDateRangePresets.mjs +2 -3
- package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/types.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.mjs +7 -10
- package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/Area/Area.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/AreaDot/AreaDot.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/Bar/Bar.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/CartesianGrid/CartesianGrid.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartGrid/ChartGrid.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartLegend/ChartLegend.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartLegend/LegendContent.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/ChartTooltip.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/ChartTooltip.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/TooltipContent.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/TooltipLegendItem.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/TooltipProgressBar.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/ChartTooltip/types.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/Line/Line.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/XAxis/XAxis.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/XAxis/types.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/YAxis.mjs +24 -7
- package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/YAxis.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/types.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/context.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useChartAnimation.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useChartClipRect.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useScopedStackId.mjs +1 -2
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useTickLabelWidth.mjs +66 -0
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useTickLabelWidth.mjs.map +1 -0
- package/dist/js/packages/components/src/components/CartesianChart/types.mjs +1 -2
- package/dist/js/packages/components/src/components/Chat/Chat.mjs +1 -2
- package/dist/js/packages/components/src/components/Chat/Chat.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Checkbox/Checkbox.mjs +3 -4
- package/dist/js/packages/components/src/components/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Checkbox/Checkbox.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.mjs +1 -2
- package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CheckboxGroup/CheckboxGroup.mjs +1 -2
- package/dist/js/packages/components/src/components/CheckboxGroup/CheckboxGroup.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CoachMark/CoachMark.mjs +1 -2
- package/dist/js/packages/components/src/components/CoachMark/CoachMark.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.mjs +4 -5
- package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.mjs +42 -14
- package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CodeEditor/extensions/gutterSpacer.mjs +1 -2
- package/dist/js/packages/components/src/components/CodeEditor/hooks/useCodeEditorExtensions.mjs +30 -18
- package/dist/js/packages/components/src/components/CodeEditor/hooks/useCodeEditorExtensions.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CodeEditor/languages/dotEnv/dotEnv.mjs +2 -3
- package/dist/js/packages/components/src/components/CodeEditor/languages/dotEnv/index.mjs +1 -2
- package/dist/js/packages/components/src/components/CodeEditor/languages/index.mjs +1 -2
- package/dist/js/packages/components/src/components/CodeEditor/themes/defaultEditorTheme.mjs +1 -2
- package/dist/js/packages/components/src/components/Color/Color.mjs +1 -2
- package/dist/js/packages/components/src/components/Color/Color.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ColumnLayout/ColumnLayout.mjs +1 -2
- package/dist/js/packages/components/src/components/ColumnLayout/ColumnLayout.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ColumnLayout/lib/getColumns.mjs +1 -2
- package/dist/js/packages/components/src/components/Combine/Combine.mjs +1 -2
- package/dist/js/packages/components/src/components/Combine/Combine.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs +4 -4
- package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ComboBox/ComboBox.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ComponentDefaultsProvider/ComponentDefaultsProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/ComponentDefaultsProvider/defaults.mjs +1 -2
- package/dist/js/packages/components/src/components/ComponentDefaultsProvider/deprecatedFlags.mjs +1 -2
- package/dist/js/packages/components/src/components/ComponentUsageProvider/ComponentUsageProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/Content/Content.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuContent/ContextMenuContent.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSelectAll/ContextMenuSelectAll.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextMenu/lib.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextualHelp/ContextualHelp.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextualHelp/ContextualHelp.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ContextualHelp/components/ContextualHelpTrigger/ContextualHelpTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/CopyButton/CopyButton.mjs +1 -2
- package/dist/js/packages/components/src/components/CounterBadge/CounterBadge.mjs +1 -2
- package/dist/js/packages/components/src/components/CounterBadge/CounterBadge.module.mjs +1 -2
- package/dist/js/packages/components/src/components/CountryOptions/CountryOptions.mjs +6 -3
- package/dist/js/packages/components/src/components/CountryOptions/CountryOptions.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CountryOptions/lib/sortBy.mjs +1 -2
- package/dist/js/packages/components/src/components/DateInput/DateInput.mjs +1 -2
- package/dist/js/packages/components/src/components/DatePicker/DatePicker.mjs +3 -3
- package/dist/js/packages/components/src/components/DatePicker/DatePicker.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DatePicker/DatePicker.module.mjs +1 -2
- package/dist/js/packages/components/src/components/DatePicker/components/DateInput/DateInput.mjs +1 -2
- package/dist/js/packages/components/src/components/DatePicker/components/DateInput/DateInput.module.mjs +1 -2
- package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.mjs +3 -3
- package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.module.mjs +1 -2
- package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.mjs +1 -2
- package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.module.mjs +1 -2
- package/dist/js/packages/components/src/components/DeprecationWarningProvider/DeprecationWarningProvider.mjs +41 -10
- package/dist/js/packages/components/src/components/DeprecationWarningProvider/DeprecationWarningProvider.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Div/Div.mjs +1 -2
- package/dist/js/packages/components/src/components/DonutChart/DonutChart.mjs +1 -2
- package/dist/js/packages/components/src/components/DonutChart/DonutChart.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DonutChart/DonutChart.module.mjs +1 -2
- package/dist/js/packages/components/src/components/DonutChart/components/Donut.mjs +1 -2
- package/dist/js/packages/components/src/components/DonutChart/components/DonutChartFill.mjs +1 -2
- package/dist/js/packages/components/src/components/DonutChart/components/DonutChartLegend.mjs +1 -2
- package/dist/js/packages/components/src/components/DonutChart/components/DonutChartValue.mjs +1 -2
- package/dist/js/packages/components/src/components/EmulatedBoldText/EmulatedBoldText.mjs +1 -2
- package/dist/js/packages/components/src/components/EmulatedBoldText/EmulatedBoldText.module.mjs +1 -2
- package/dist/js/packages/components/src/components/FieldDescription/FieldDescription.mjs +1 -2
- package/dist/js/packages/components/src/components/FieldDescription/FieldDescription.module.mjs +1 -2
- package/dist/js/packages/components/src/components/FieldError/FieldError.mjs +1 -2
- package/dist/js/packages/components/src/components/FieldError/FieldError.module.mjs +1 -2
- package/dist/js/packages/components/src/components/FileCard/FileCard.mjs +1 -2
- package/dist/js/packages/components/src/components/FileCard/FileCard.module.mjs +1 -2
- package/dist/js/packages/components/src/components/FileCard/components/Avatar/Avatar.mjs +1 -2
- package/dist/js/packages/components/src/components/FileCard/components/DeleteButton/DeleteButton.mjs +1 -2
- package/dist/js/packages/components/src/components/FileCard/components/FileSizeText/FileSizeText.mjs +1 -2
- package/dist/js/packages/components/src/components/FileCardList/FileCardList.mjs +1 -2
- package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.mjs +1 -2
- package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.module.mjs +1 -2
- package/dist/js/packages/components/src/components/FileField/FileField.mjs +1 -2
- package/dist/js/packages/components/src/components/FileField/FileField.module.mjs +1 -2
- package/dist/js/packages/components/src/components/FileField/components/FileInput.mjs +1 -2
- package/dist/js/packages/components/src/components/FileField/components/FileInput.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Flex/Flex.mjs +1 -2
- package/dist/js/packages/components/src/components/Flex/Flex.module.mjs +1 -2
- package/dist/js/packages/components/src/components/FormField/FormField.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Header/Header.mjs +1 -2
- package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.mjs +1 -2
- package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Heading/Heading.mjs +3 -2
- package/dist/js/packages/components/src/components/Heading/Heading.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Heading/Heading.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Heading/Heading.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Icon/Icon.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/Icon.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/Icon.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Icon/components/IconSetProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconAI.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconAIHosting.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconAnalytics.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconApp.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconAscending.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconAttachment.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconAutoresponder.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconBackLink.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconBackup.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconBold.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCamera.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCertificate.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconChangelog.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCheck.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCheckboxChecked.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCheckboxEmpty.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCheckboxIndeterminate.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconChevronDown.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconChevronLeft.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconChevronRight.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconChevronUp.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconClose.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCode.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconContainer.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconContextMenu.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconContextMenuVertical.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconContract.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconContractPartner.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconContributor.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCopy.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCronjob.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconCustomer.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDanger.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDashboard.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDatabase.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDate.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDelete.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDeliveryBox.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDescending.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDesktop.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDirectory.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDnsSubZone.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDnsZone.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDomain.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconDownload.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconEdit.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconEmail.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconEmailArchive.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconExtension.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconExternalLink.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconFailed.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconFeedback.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconFile.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconFilter.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconForwardAddress.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconForwardLink.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconHide.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconHome.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconImage.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconInfo.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconInvite.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconInvoice.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconItalic.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconKnowledgeHint.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconLanguage.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconLeadFyndr.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconLink.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconLock.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconLockOpen.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconLogout.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMainUser.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMarketplace.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMaximize.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMember.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMenu.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMinimize.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMinus.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMittwald.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMobile.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMonitoring.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconMove.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconNewsletter.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconNotification.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconNumber.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconOrder.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconOrderedList.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconPassword.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconPath.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconPause.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconPayment.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconPending.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconPicture.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconPlus.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconProject.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconQuote.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconRadioOff.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconRadioOn.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconRedo.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconRefresh.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconRegistry.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSave.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSearch.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSecurity.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSend.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconServer.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSettings.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconShare.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconShow.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSorting.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSsh.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSshKey.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSshSftp.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconStack.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconStar.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconStarFilled.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconStart.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconStrikeThrough.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSubdomain.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSucceeded.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSuccess.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconSupport.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconTerminate.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconTicket.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconTime.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconUnavailable.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconUndo.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconUnorderedList.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconUpload.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconUser.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconVhost.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconView.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconVolume.mjs +1 -2
- package/dist/js/packages/components/src/components/Icon/components/icons/IconWarning.mjs +1 -2
- package/dist/js/packages/components/src/components/IllustratedMessage/IllustratedMessage.mjs +4 -4
- package/dist/js/packages/components/src/components/IllustratedMessage/IllustratedMessage.mjs.map +1 -1
- package/dist/js/packages/components/src/components/IllustratedMessage/IllustratedMessage.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Image/Image.mjs +1 -2
- package/dist/js/packages/components/src/components/Image/Image.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ImageCropper/ImageCropper.mjs +1 -2
- package/dist/js/packages/components/src/components/ImageCropper/ImageCropper.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ImageCropper/lib/getCroppedImageFile.mjs +1 -2
- package/dist/js/packages/components/src/components/Initials/Initials.mjs +1 -2
- package/dist/js/packages/components/src/components/Initials/Initials.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Initials/lib/getColorFromInitials.mjs +1 -2
- package/dist/js/packages/components/src/components/Initials/lib/getInitialsFromString.mjs +1 -2
- package/dist/js/packages/components/src/components/InlineCode/InlineCode.mjs +1 -2
- package/dist/js/packages/components/src/components/InlineCode/InlineCode.module.mjs +1 -2
- package/dist/js/packages/components/src/components/IntlProvider/IntlProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/Kbd/Kbd.mjs +1 -2
- package/dist/js/packages/components/src/components/Kbd/Kbd.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Label/Label.mjs +1 -6
- package/dist/js/packages/components/src/components/Label/Label.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Label/Label.module.mjs +1 -2
- package/dist/js/packages/components/src/components/LabeledValue/LabeledValue.mjs +1 -2
- package/dist/js/packages/components/src/components/LabeledValue/LabeledValue.module.mjs +1 -2
- package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.mjs +1 -2
- package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Legend/Legend.mjs +1 -2
- package/dist/js/packages/components/src/components/Legend/Legend.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Legend/components/LegendItem/LegendItem.mjs +1 -2
- package/dist/js/packages/components/src/components/Legend/components/LegendItem/LegendItem.module.mjs +1 -2
- package/dist/js/packages/components/src/components/LightBox/LightBox.mjs +1 -2
- package/dist/js/packages/components/src/components/LightBox/LightBox.module.mjs +1 -2
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/Controls.mjs +1 -2
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/LightBoxGallery.mjs +1 -2
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/LightBoxGallery.module.mjs +1 -2
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGalleryItem/LightBoxGalleryItem.mjs +1 -2
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxTrigger/LightBoxTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/Link/Link.mjs +1 -2
- package/dist/js/packages/components/src/components/Link/Link.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Link/Link.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Link/components/LinkIcon/LinkIcon.mjs +1 -2
- package/dist/js/packages/components/src/components/Link/components/LinkIcon/LinkIcon.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Link/context.mjs +1 -2
- package/dist/js/packages/components/src/components/List/List.mjs +28 -25
- package/dist/js/packages/components/src/components/List/List.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/List.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/DataLoader/DataLoader.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/DataLoader/DataLoaderSuspense.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/EmptySearchResultView/EmptySearchResultView.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/EmptyView/EmptyView.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Footer/Footer.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Footer/Footer.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Footer/components/PaginationInfos/PaginationInfos.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Footer/components/ShowNextBatchButton/ShowNextBatchButton.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/Header.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/Header.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +6 -4
- package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs +3 -4
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordion.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionCheckboxGroup.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionDateRange.mjs +6 -5
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionDateRange.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionRadioGroup.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/SortingAccordion.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/DateTimeRangeFields/DateTimeRangeFields.mjs +100 -0
- package/dist/js/packages/components/src/components/List/components/Header/components/DateTimeRangeFields/DateTimeRangeFields.mjs.map +1 -0
- package/dist/js/packages/components/src/components/List/components/Header/components/DateTimeRangeFields/DateTimeRangeFields.module.mjs +12 -0
- package/dist/js/packages/components/src/components/List/components/Header/components/DateTimeRangeFields/DateTimeRangeFields.module.mjs.map +1 -0
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/DateRangeFilterPopover.mjs +17 -11
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/DateRangeFilterPopover.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenu.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenus.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenus.module.mjs +7 -4
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenus.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterMenuItem.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/SearchField/SearchField.mjs +5 -4
- package/dist/js/packages/components/src/components/List/components/Header/components/SearchField/SearchField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/SearchField/SearchField.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/SortingContextMenu/SortingContextMenu.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/SortingContextMenu/SortingMenuItem.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Header/lib.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Items/Items.mjs +28 -3
- package/dist/js/packages/components/src/components/List/components/Items/Items.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/Items.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Items/components/FallbackItems/FallbackItems.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.mjs +2 -3
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/AccordionButton.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/ItemLoadingView/ItemLoadingView.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/ListItemSkeletonView/ListItemSkeletonView.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/components/OptionsButton/OptionsButton.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/hooks/useGridItemProps.mjs +2 -4
- package/dist/js/packages/components/src/components/List/components/Items/components/Item/hooks/useGridItemProps.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/views/GridList/GridList.mjs +4 -2
- package/dist/js/packages/components/src/components/List/components/Items/views/GridList/GridList.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/views/GridListItem/GridListItem.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs +47 -46
- package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.mjs +26 -27
- package/dist/js/packages/components/src/components/List/components/ListItemView/components/ListItemViewContent/ListItemViewContent.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/ListSummary/ListSummary.mjs +6 -11
- package/dist/js/packages/components/src/components/List/components/ListSummary/ListSummary.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/ListSummary/ListSummary.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Table/Table.mjs +30 -15
- package/dist/js/packages/components/src/components/List/components/Table/Table.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Table/Table.module.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Table/components/Row.mjs +30 -0
- package/dist/js/packages/components/src/components/List/components/Table/components/Row.mjs.map +1 -0
- package/dist/js/packages/components/src/components/List/components/Table/components/TableBodyLoadingView.mjs +1 -2
- package/dist/js/packages/components/src/components/List/components/Table/components/TableRowSkeletonView.mjs +1 -2
- package/dist/js/packages/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs +1 -2
- package/dist/js/packages/components/src/components/List/hooks/useInfiniteScrollTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/List/hooks/useLatestOnAction.mjs +20 -0
- package/dist/js/packages/components/src/components/List/hooks/useLatestOnAction.mjs.map +1 -0
- package/dist/js/packages/components/src/components/List/hooks/useList.mjs +1 -2
- package/dist/js/packages/components/src/components/List/hooks/useListMetadata.mjs +1 -2
- package/dist/js/packages/components/src/components/List/hooks/useListSelector.mjs +17 -0
- package/dist/js/packages/components/src/components/List/hooks/useListSelector.mjs.map +1 -0
- package/dist/js/packages/components/src/components/List/listContext.mjs +33 -4
- package/dist/js/packages/components/src/components/List/listContext.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/List.mjs +2 -2
- package/dist/js/packages/components/src/components/List/model/List.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/ListSettingsStore.mjs +1 -2
- package/dist/js/packages/components/src/components/List/model/ListViewMode.mjs +3 -4
- package/dist/js/packages/components/src/components/List/model/ReactTable.mjs +3 -4
- package/dist/js/packages/components/src/components/List/model/filter/DateRangeFilter.mjs +16 -4
- package/dist/js/packages/components/src/components/List/model/filter/DateRangeFilter.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs +1 -2
- package/dist/js/packages/components/src/components/List/model/filter/resolveDateRangeFilterValue.mjs +15 -0
- package/dist/js/packages/components/src/components/List/model/filter/resolveDateRangeFilterValue.mjs.map +1 -0
- package/dist/js/packages/components/src/components/List/model/item/ItemCollection.mjs +1 -2
- package/dist/js/packages/components/src/components/List/model/item/ItemView.mjs +21 -9
- package/dist/js/packages/components/src/components/List/model/item/ItemView.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoader.mjs +1 -2
- package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoaderState.mjs +3 -4
- package/dist/js/packages/components/src/components/List/model/search/Search.mjs +1 -2
- package/dist/js/packages/components/src/components/List/model/sorting/Sorting.mjs +1 -2
- package/dist/js/packages/components/src/components/List/model/sorting/SortingFunctions.mjs +1 -2
- package/dist/js/packages/components/src/components/List/model/table/Table.mjs +12 -3
- package/dist/js/packages/components/src/components/List/model/table/Table.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/table/TableBody.mjs +6 -3
- package/dist/js/packages/components/src/components/List/model/table/TableBody.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/table/TableCell.mjs +2 -3
- package/dist/js/packages/components/src/components/List/model/table/TableCell.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/table/TableColumn.mjs +5 -2
- package/dist/js/packages/components/src/components/List/model/table/TableColumn.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/table/TableHeader.mjs +9 -3
- package/dist/js/packages/components/src/components/List/model/table/TableHeader.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/table/TableRow.mjs +29 -3
- package/dist/js/packages/components/src/components/List/model/table/TableRow.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/setupComponents/ListFilter.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/ListItem.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/ListLoaderAsync.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/ListLoaderAsyncResource.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/ListLoaderHooks.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/ListSearch.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/ListSorting.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/ListStaticData.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/Table.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/TableBody.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/TableCell.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/TableColumn.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/TableHeader.mjs +1 -2
- package/dist/js/packages/components/src/components/List/setupComponents/TableRow.mjs +1 -2
- package/dist/js/packages/components/src/components/List/typedList.mjs +1 -2
- package/dist/js/packages/components/src/components/List/views/EmptyView/EmptyView.mjs +1 -2
- package/dist/js/packages/components/src/components/List/views/EmptyViewContainer/EmptyViewContainer.mjs +1 -2
- package/dist/js/packages/components/src/components/LoadingSpinner/LoadingSpinner.mjs +1 -2
- package/dist/js/packages/components/src/components/LoadingSpinner/LoadingSpinner.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Markdown/Markdown.mjs +26 -9
- package/dist/js/packages/components/src/components/Markdown/Markdown.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Markdown/Markdown.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Markdown/components/SkeletonBlocks.mjs +2 -3
- package/dist/js/packages/components/src/components/Markdown/components/SkeletonBlocks.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Markdown/lib/getHeadingLevelWithOffset.mjs +1 -2
- package/dist/js/packages/components/src/components/Markdown/lib/isExternalHref.mjs +7 -0
- package/dist/js/packages/components/src/components/Markdown/lib/isExternalHref.mjs.map +1 -0
- package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.module.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/components/AttachmentButton.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/components/ModeButton.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/components/Toolbar.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/components/ToolbarButton.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/lib/fileUpload.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/lib/modifyValueByMarkdownSyntax.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/lib/modifyValueByType.mjs +1 -2
- package/dist/js/packages/components/src/components/MarkdownEditor/lib/useFileUpload.mjs +1 -2
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs +33 -5
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs.map +1 -1
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.module.mjs +2 -5
- package/dist/js/packages/components/src/components/MenuItem/components/MenuItemContent/MenuItemContent.mjs +1 -2
- package/dist/js/packages/components/src/components/Message/Message.mjs +1 -2
- package/dist/js/packages/components/src/components/Message/Message.module.mjs +1 -2
- package/dist/js/packages/components/src/components/MessageThread/MessageThread.mjs +2 -3
- package/dist/js/packages/components/src/components/MessageThread/MessageThread.mjs.map +1 -1
- package/dist/js/packages/components/src/components/MessageThread/MessageThread.module.mjs +1 -2
- package/dist/js/packages/components/src/components/MessageThread/components/MessageSeparator/MessageSeparator.mjs +1 -2
- package/dist/js/packages/components/src/components/MessageThread/components/MessageSeparator/MessageSeparator.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Modal/Modal.mjs +10 -4
- package/dist/js/packages/components/src/components/Modal/Modal.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Modal/Modal.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Modal/components/ConfirmUnsavedChangesModal/ConfirmUnsavedChangesModal.mjs +1 -2
- package/dist/js/packages/components/src/components/Modal/components/ModalTrigger/ModalTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/Modal/components/OffCanvasSuspenseFallback/OffCanvasSuspenseFallback.mjs +1 -2
- package/dist/js/packages/components/src/components/Navigation/Navigation.mjs +1 -2
- package/dist/js/packages/components/src/components/Navigation/Navigation.module.mjs +2 -5
- package/dist/js/packages/components/src/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit.mjs +1 -2
- package/dist/js/packages/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs +1 -2
- package/dist/js/packages/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Notification/Notification.mjs +1 -2
- package/dist/js/packages/components/src/components/Notification/Notification.module.mjs +1 -2
- package/dist/js/packages/components/src/components/NotificationProvider/ControlledNotification.mjs +1 -2
- package/dist/js/packages/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.mjs +1 -2
- package/dist/js/packages/components/src/components/NotificationProvider/NotificationContainer/NotificationContainer.module.mjs +1 -2
- package/dist/js/packages/components/src/components/NotificationProvider/NotificationController.mjs +1 -2
- package/dist/js/packages/components/src/components/NotificationProvider/NotificationProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/NumberField/NumberField.mjs +3 -5
- package/dist/js/packages/components/src/components/NumberField/NumberField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/NumberField/NumberField.module.mjs +1 -2
- package/dist/js/packages/components/src/components/NumberField/components/NumberFieldUnit.mjs +1 -2
- package/dist/js/packages/components/src/components/Option/Option.mjs +1 -2
- package/dist/js/packages/components/src/components/Option/Option.module.mjs +2 -5
- package/dist/js/packages/components/src/components/Option/optionsTunnel.mjs +1 -2
- package/dist/js/packages/components/src/components/Options/Options.mjs +1 -2
- package/dist/js/packages/components/src/components/Options/Options.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Overlay/Overlay.mjs +1 -2
- package/dist/js/packages/components/src/components/Overlay/Overlay.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Overlay/components/OverlayContent.mjs +3 -3
- package/dist/js/packages/components/src/components/Overlay/components/OverlayContent.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Overlay/components/OverlaySuspenseFallback.mjs +1 -2
- package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/OverlayTrigger/components/MenuTrigger/MenuTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs +4 -5
- package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.module.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ComplexityIndicator/ComplexityIndicator.module.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/components/TogglePasswordVisibilityButton/TogglePasswordVisibilityButton.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.module.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.module.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/ariaAnnounce.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/generateValidationTranslation.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/usePolicyValidationResult.mjs +1 -2
- package/dist/js/packages/components/src/components/PasswordCreationField/worker/generatePassword.mjs +1 -2
- package/dist/js/packages/components/src/components/Popover/Popover.mjs +1 -2
- package/dist/js/packages/components/src/components/Popover/Popover.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Popover/components/NonModalPopoverContent/NonModalPopoverContent.mjs +2 -3
- package/dist/js/packages/components/src/components/Popover/components/NonModalPopoverContent/NonModalPopoverContent.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Popover/components/PopoverContent/PopoverContent.mjs +5 -4
- package/dist/js/packages/components/src/components/Popover/components/PopoverContent/PopoverContent.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Popover/components/PopoverTip/PopoverTip.mjs +1 -2
- package/dist/js/packages/components/src/components/Popover/components/PopoverTrigger/PopoverTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/Popover/viewportPadding.mjs +1 -2
- package/dist/js/packages/components/src/components/Popover/widthStyle.mjs +1 -2
- package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.mjs +1 -2
- package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.module.mjs +1 -2
- package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarBar.mjs +1 -2
- package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarLegend.mjs +6 -6
- package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarLegend.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarValue.mjs +1 -2
- package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.mjs +3 -5
- package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.mjs.map +1 -1
- package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.module.mjs +1 -2
- package/dist/js/packages/components/src/components/RadioGroup/components/Radio/Radio.mjs +1 -2
- package/dist/js/packages/components/src/components/RadioGroup/components/Radio/Radio.module.mjs +1 -2
- package/dist/js/packages/components/src/components/RadioGroup/components/RadioButton/RadioButton.mjs +1 -2
- package/dist/js/packages/components/src/components/RadioGroup/components/RadioButton/RadioButton.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Rating/Rating.mjs +13 -13
- package/dist/js/packages/components/src/components/Rating/Rating.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Rating/Rating.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Rating/components/RatingSegment/EmptySegment.mjs +1 -2
- package/dist/js/packages/components/src/components/Rating/components/RatingSegment/FilledSegment.mjs +1 -2
- package/dist/js/packages/components/src/components/Rating/components/RatingSegment/RatingSegment.mjs +1 -2
- package/dist/js/packages/components/src/components/Rating/context.mjs +1 -2
- package/dist/js/packages/components/src/components/RouterProvider/RouterProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/SearchField/SearchField.mjs +3 -5
- package/dist/js/packages/components/src/components/SearchField/SearchField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/SearchField/SearchField.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Section/Section.mjs +10 -7
- package/dist/js/packages/components/src/components/Section/Section.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Section/Section.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs +1 -6
- package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Section/context.mjs +46 -0
- package/dist/js/packages/components/src/components/Section/context.mjs.map +1 -0
- package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.mjs +3 -5
- package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.module.mjs +1 -2
- package/dist/js/packages/components/src/components/SegmentedControl/components/Segment/Segment.mjs +1 -2
- package/dist/js/packages/components/src/components/SegmentedControl/components/Segment/Segment.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Select/Select.mjs +3 -5
- package/dist/js/packages/components/src/components/Select/Select.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Select/Select.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Separator/Separator.mjs +1 -2
- package/dist/js/packages/components/src/components/Separator/Separator.module.mjs +1 -2
- package/dist/js/packages/components/src/components/SettingsProvider/SettingsProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/SettingsProvider/backends/LocalStorageSettingsBackend.mjs +1 -2
- package/dist/js/packages/components/src/components/SettingsProvider/backends/settingsBackendFactory.mjs +1 -2
- package/dist/js/packages/components/src/components/SettingsProvider/middleware/defaultImplementations.mjs +1 -2
- package/dist/js/packages/components/src/components/SettingsProvider/models/ComponentSettings.mjs +1 -2
- package/dist/js/packages/components/src/components/SettingsProvider/models/SettingsStore.mjs +1 -2
- package/dist/js/packages/components/src/components/Skeleton/Skeleton.mjs +1 -2
- package/dist/js/packages/components/src/components/Skeleton/Skeleton.module.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/SkeletonMode.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonIconSurface/SkeletonIconSurface.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonIconSurface/SkeletonIconSurface.module.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonRawText/SkeletonRawText.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonTextContent/SkeletonTextContent.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/components/SkeletonTextContent/SkeletonTextContent.module.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/lib/hasContent.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/lib/isTextChild.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonMode/skeletonModeContext.mjs +0 -1
- package/dist/js/packages/components/src/components/SkeletonText/SkeletonText.mjs +1 -2
- package/dist/js/packages/components/src/components/SkeletonText/SkeletonText.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Slider/Slider.mjs +48 -43
- package/dist/js/packages/components/src/components/Slider/Slider.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Slider/Slider.module.mjs +1 -2
- package/dist/js/packages/components/src/components/SuspenseTrigger/SuspenseTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/Switch/Switch.mjs +1 -2
- package/dist/js/packages/components/src/components/Switch/Switch.module.mjs +1 -2
- package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs +1 -2
- package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.module.mjs +1 -2
- package/dist/js/packages/components/src/components/TabNavigation/components/LinkContent/LinkContent.mjs +1 -2
- package/dist/js/packages/components/src/components/TabNavigation/lib/getVisibleItemCount.mjs +1 -2
- package/dist/js/packages/components/src/components/TabNavigation/lib/useCollapsingItems.mjs +1 -2
- package/dist/js/packages/components/src/components/Table/Table.mjs +4 -2
- package/dist/js/packages/components/src/components/Table/Table.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/Table.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Table/Table.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/components/TableBody/TableBody.mjs +1 -2
- package/dist/js/packages/components/src/components/Table/components/TableCell/TableCell.mjs +6 -14
- package/dist/js/packages/components/src/components/Table/components/TableCell/TableCell.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/components/TableColumn/TableColumn.mjs +5 -4
- package/dist/js/packages/components/src/components/Table/components/TableColumn/TableColumn.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/components/TableFooterRow/TableFooterRow.mjs +1 -2
- package/dist/js/packages/components/src/components/Table/components/TableHeader/TableHeader.mjs +8 -3
- package/dist/js/packages/components/src/components/Table/components/TableHeader/TableHeader.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/components/TableHeader/context.mjs +13 -0
- package/dist/js/packages/components/src/components/Table/components/TableHeader/context.mjs.map +1 -0
- package/dist/js/packages/components/src/components/Table/components/TableRow/TableRow.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/Tabs.mjs +7 -10
- package/dist/js/packages/components/src/components/Tabs/Tabs.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tabs/Tabs.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/Tabs.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tabs/components/FallbackTab/FallbackTab.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/components/Tab/Tab.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/components/Tab/context.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/components/TabList/TabList.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/components/TabList/TabList.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/components/TabTitle/TabTitle.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/components/TabTitle/TabTitle.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Tabs/components/TabTitle/TabTitle.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tabs/lib/useTabIndicator.mjs +1 -2
- package/dist/js/packages/components/src/components/Text/Text.mjs +1 -2
- package/dist/js/packages/components/src/components/Text/Text.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Text/Text.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/TextArea/TextArea.mjs +1 -2
- package/dist/js/packages/components/src/components/TextArea/TextArea.module.mjs +1 -2
- package/dist/js/packages/components/src/components/TextField/TextField.mjs +12 -10
- package/dist/js/packages/components/src/components/TextField/TextField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/TextField/TextField.module.mjs +1 -2
- package/dist/js/packages/components/src/components/TimeField/TimeField.mjs +1 -2
- package/dist/js/packages/components/src/components/TimeField/TimeField.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Tooltip/Tooltip.mjs +1 -2
- package/dist/js/packages/components/src/components/Tooltip/Tooltip.module.mjs +1 -2
- package/dist/js/packages/components/src/components/Tooltip/components/TooltipTrigger/TooltipTrigger.mjs +1 -2
- package/dist/js/packages/components/src/components/TranslationProvider/TranslationProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/TranslationProvider/useLocalizedStringFormatter.mjs +16 -4
- package/dist/js/packages/components/src/components/TranslationProvider/useLocalizedStringFormatter.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Truncate/Truncate.mjs +1 -2
- package/dist/js/packages/components/src/components/Truncate/Truncate.module.mjs +1 -2
- package/dist/js/packages/components/src/components/TunnelEntry/TunnelEntry.mjs +1 -2
- package/dist/js/packages/components/src/components/UiComponentTunnel/UiComponentTunnelEntry.mjs +1 -2
- package/dist/js/packages/components/src/components/UiComponentTunnel/UiComponentTunnelExit.mjs +1 -2
- package/dist/js/packages/components/src/components/UiComponentTunnel/UiComponentTunnelProvider.mjs +1 -2
- package/dist/js/packages/components/src/components/UiComponentTunnel/lib.mjs +1 -2
- package/dist/js/packages/components/src/components/Wrap/Wrap.mjs +1 -2
- package/dist/js/packages/components/src/components/Wrap/Wrap.mjs.map +1 -1
- package/dist/js/packages/components/src/components/propTypes/index.mjs +0 -1
- package/dist/js/packages/components/src/flags.mjs +1 -2
- package/dist/js/packages/components/src/integrations/@mittwald/password-tools-js/defaultPasswordCreationPolicy.mjs +1 -2
- package/dist/js/packages/components/src/integrations/@mittwald/password-tools-js/usePasswordCreationFieldValidation.mjs +1 -2
- package/dist/js/packages/components/src/integrations/nextjs/components/Link/Link.mjs +1 -2
- package/dist/js/packages/components/src/integrations/nextjs/components/LinkProvider/LinkProvider.mjs +1 -2
- package/dist/js/packages/components/src/integrations/nextjs/components/RouterProvider/RouterProvider.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/Field.mjs +2 -3
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/hooks/useUpdateFormDefaultValue.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/lib/debounceValidate.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/Form.mjs +5 -3
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/Form.mjs.map +1 -1
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/hooks/useFormSubmitController.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/hooks/useHotkeySubmit.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormAction/FormAction.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormAction/FormResetAction.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormAction/FormSubmitAction.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormContextProvider/FormContextProvider.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormContextProvider/useFormSubmitAction.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormContextProvider/useUpdateReadOnly.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormRootError/FormRootError.mjs +2 -3
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormRootError/useFormRootErrorController.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormRootError/useMountedFormRootErrorComponent.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormSettingsProvider/FormSettingsProvider.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormSettingsProvider/FormSettingsProvider.mjs.map +1 -1
- package/dist/js/packages/components/src/integrations/react-hook-form/components/ResetButton/ResetButton.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/SubmitButton/SubmitButton.mjs +1 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/lib/FormRootError.mjs +1 -2
- package/dist/js/packages/components/src/lib/componentFactory/flowComponent.mjs +1 -2
- package/dist/js/packages/components/src/lib/controller/overlay/OverlayContentSuspendWatcher.mjs +1 -2
- package/dist/js/packages/components/src/lib/controller/overlay/OverlayContextProvider.mjs +1 -2
- package/dist/js/packages/components/src/lib/controller/overlay/OverlayController.mjs +11 -160
- package/dist/js/packages/components/src/lib/controller/overlay/OverlayController.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/controller/overlay/context.mjs +1 -2
- package/dist/js/packages/components/src/lib/controller/overlay/useCloseOverlayConfirmationController.mjs +2 -2
- package/dist/js/packages/components/src/lib/controller/overlay/useCloseOverlayConfirmationController.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/controller/overlay/useModalController.mjs +1 -2
- package/dist/js/packages/components/src/lib/controller/overlay/useOverlayController.mjs +1 -2
- package/dist/js/packages/components/src/lib/dom/createFrameResizeObserver.mjs +1 -2
- package/dist/js/packages/components/src/lib/files/acceptedFiles.mjs +1 -2
- package/dist/js/packages/components/src/lib/form/isFocused.mjs +1 -2
- package/dist/js/packages/components/src/lib/getContainerBreakpointSizeClassName.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/dom/useKeepBrowserExtensionsInteractive.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/dom/useMakeFocusable.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/dom/useObserveOverflow.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/dom/useVirtualKeyboardVisible.mjs +8 -5
- package/dist/js/packages/components/src/lib/hooks/dom/useVirtualKeyboardVisible.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/hooks/fieldErrorRenderedContext.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/useFieldComponent.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/useFieldError.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/useImageSrc.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/useIsMounted.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/useLanguage.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/useOnChange.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/useProps.mjs +1 -2
- package/dist/js/packages/components/src/lib/hooks/useStatic.mjs +1 -2
- package/dist/js/packages/components/src/lib/mobx/mobxMapToObject.mjs +1 -2
- package/dist/js/packages/components/src/lib/mobx/useSelector.mjs +1 -2
- package/dist/js/packages/components/src/lib/object/isPlainObjectDeepEqual.mjs +28 -0
- package/dist/js/packages/components/src/lib/object/isPlainObjectDeepEqual.mjs.map +1 -0
- package/dist/js/packages/components/src/lib/promises/callFunctionsInOrder.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/components/ClearPropsContext.mjs +3 -3
- package/dist/js/packages/components/src/lib/propsContext/components/ClearPropsContext.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/propsContext/components/ComponentPropsContextProvider.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/components/PropsContextProvider.mjs +15 -5
- package/dist/js/packages/components/src/lib/propsContext/components/PropsContextProvider.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/propsContext/dynamicProps/dynamic.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/dynamicProps/lib.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/dynamicProps/resolveDynamicProps.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/dynamicProps/types.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/isFlowComponentName.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/isFlowComponentProp.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/mergePropsContext.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/nestedPropsContext/lib.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/nestedPropsContext/types.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/overlayTriggerTunnel.mjs +1 -2
- package/dist/js/packages/components/src/lib/propsContext/propsContext.mjs +1 -2
- package/dist/js/packages/components/src/lib/react/areChildrenEmpty.mjs +1 -2
- package/dist/js/packages/components/src/lib/react/cloneElement.mjs +1 -2
- package/dist/js/packages/components/src/lib/react/components/Render/Render.mjs +1 -2
- package/dist/js/packages/components/src/lib/react/deepFindOfType.mjs +1 -2
- package/dist/js/packages/components/src/lib/react/emitElementValueChange.mjs +1 -2
- package/dist/js/packages/components/src/lib/react/getPropsMerger.mjs +1 -2
- package/dist/js/packages/components/src/lib/react/remote.mjs +1 -2
- package/dist/js/packages/components/src/lib/remote/eventHandlerContext.mjs +1 -2
- package/dist/js/packages/components/src/lib/remote/useControlledHostValueProps.mjs +1 -2
- package/dist/js/packages/components/src/lib/remote/useControlledRemoteValueProps.mjs +1 -2
- package/dist/js/packages/components/src/lib/scss/selectors.mjs +1 -2
- package/dist/js/packages/components/src/lib/slotContext/SlotContextProvider.mjs +10 -6
- package/dist/js/packages/components/src/lib/slotContext/SlotContextProvider.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/slotContext/slotContext.mjs +1 -2
- package/dist/js/packages/components/src/lib/slotContext/useContextSlot.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/components/ThemedHtml.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/hooks/useDesignTokens.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/hooks/useResolvedTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/hooks/useSystemTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/hooks/useTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/ColorSchemeMediaQuery.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/getFallbackTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/getResolvedTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/getTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/getThemeHtmlAttribute.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/isClientSide.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/keys.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/resolveTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/sanitizeTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/setTheme.mjs +1 -2
- package/dist/js/packages/components/src/lib/theming/lib/setThemeHtmlAttribute.mjs +1 -2
- package/dist/js/packages/components/src/lib/timer/Timer.mjs +1 -2
- package/dist/js/packages/components/src/lib/tokens/CategoricalColors.mjs +1 -2
- package/dist/js/packages/components/src/lib/tokens/getCategoricalColorByIndex.mjs +1 -2
- package/dist/js/packages/components/src/lib/tokens/isCategoricalColor.mjs +1 -2
- package/dist/js/packages/components/src/lib/types/props.mjs +1 -2
- package/dist/js/packages/components/src/lib/viewComponentContext/ViewComponentContextProvider.mjs +1 -2
- package/dist/js/packages/components/src/lib/viewComponentContext/viewComponentContext.mjs +1 -2
- package/dist/js/packages/components/src/status/component-status.mjs +1 -2
- package/dist/js/packages/components/src/status/componentStatus.mjs +1 -2
- package/dist/js/packages/components/src/views/AccordionGroupView.mjs +1 -2
- package/dist/js/packages/components/src/views/AccordionView.mjs +1 -2
- package/dist/js/packages/components/src/views/ActionGroupView.mjs +1 -2
- package/dist/js/packages/components/src/views/AvatarView.mjs +1 -2
- package/dist/js/packages/components/src/views/BadgeView.mjs +1 -2
- package/dist/js/packages/components/src/views/ButtonView.mjs +1 -2
- package/dist/js/packages/components/src/views/CheckboxGroupView.mjs +1 -2
- package/dist/js/packages/components/src/views/CheckboxView.mjs +1 -2
- package/dist/js/packages/components/src/views/ClearPropsContextView.mjs +1 -2
- package/dist/js/packages/components/src/views/ContentView.mjs +1 -2
- package/dist/js/packages/components/src/views/ContextMenuContentView.mjs +1 -2
- package/dist/js/packages/components/src/views/ContextMenuSectionView.mjs +1 -2
- package/dist/js/packages/components/src/views/ContextMenuTriggerView.mjs +1 -2
- package/dist/js/packages/components/src/views/ContextMenuView.mjs +1 -2
- package/dist/js/packages/components/src/views/ContextualHelpTriggerView.mjs +1 -2
- package/dist/js/packages/components/src/views/DatePickerView.mjs +15 -0
- package/dist/js/packages/components/src/views/DatePickerView.mjs.map +1 -0
- package/dist/js/packages/components/src/views/DialogTriggerView.mjs +1 -2
- package/dist/js/packages/components/src/views/DivView.mjs +1 -2
- package/dist/js/packages/components/src/views/FieldErrorView.mjs +1 -2
- package/dist/js/packages/components/src/views/FlexView.mjs +1 -2
- package/dist/js/packages/components/src/views/HeadingView.mjs +1 -2
- package/dist/js/packages/components/src/views/IconView.mjs +1 -2
- package/dist/js/packages/components/src/views/IllustratedMessageView.mjs +1 -2
- package/dist/js/packages/components/src/views/ItemsGridListItemView.mjs +1 -2
- package/dist/js/packages/components/src/views/ItemsGridListView.mjs +1 -2
- package/dist/js/packages/components/src/views/LabelView.mjs +15 -0
- package/dist/js/packages/components/src/views/LabelView.mjs.map +1 -0
- package/dist/js/packages/components/src/views/ListEmptyViewContainerView.mjs +1 -2
- package/dist/js/packages/components/src/views/ListItemViewContentView.mjs +1 -2
- package/dist/js/packages/components/src/views/LoadingSpinnerView.mjs +1 -2
- package/dist/js/packages/components/src/views/MenuItemView.mjs +1 -2
- package/dist/js/packages/components/src/views/MenuTriggerView.mjs +1 -2
- package/dist/js/packages/components/src/views/OptionView.mjs +1 -2
- package/dist/js/packages/components/src/views/OverlayContentView.mjs +1 -2
- package/dist/js/packages/components/src/views/PopoverContentView.mjs +1 -2
- package/dist/js/packages/components/src/views/RadioGroupView.mjs +1 -2
- package/dist/js/packages/components/src/views/RadioView.mjs +1 -2
- package/dist/js/packages/components/src/views/RangeCalendarView.mjs +1 -2
- package/dist/js/packages/components/src/views/SearchFieldView.mjs +1 -2
- package/dist/js/packages/components/src/views/SectionView.mjs +1 -2
- package/dist/js/packages/components/src/views/SkeletonTextView.mjs +1 -2
- package/dist/js/packages/components/src/views/SkeletonView.mjs +1 -2
- package/dist/js/packages/components/src/views/TableBodyView.mjs +1 -2
- package/dist/js/packages/components/src/views/TableCellView.mjs +1 -2
- package/dist/js/packages/components/src/views/TableColumnView.mjs +1 -2
- package/dist/js/packages/components/src/views/TableHeaderView.mjs +1 -2
- package/dist/js/packages/components/src/views/TableRowView.mjs +1 -2
- package/dist/js/packages/components/src/views/TableView.mjs +1 -2
- package/dist/js/packages/components/src/views/TextView.mjs +1 -2
- package/dist/js/packages/components/src/views/TimeFieldView.mjs +15 -0
- package/dist/js/packages/components/src/views/TimeFieldView.mjs.map +1 -0
- package/dist/js/packages/components/src/views/TooltipTriggerView.mjs +1 -2
- package/dist/js/packages/components/src/views/TooltipView.mjs +1 -2
- package/dist/js/packages/components-base/src/action/ActionState.mjs +1 -2
- package/dist/js/packages/components-base/src/index.mjs +5 -2
- package/dist/js/packages/components-base/src/lib/array.mjs +1 -2
- package/dist/js/packages/components-base/src/list/ListModelContext.mjs +1 -2
- package/dist/js/packages/components-base/src/list/filter/ListDateRangeFilter.mjs +2 -2
- package/dist/js/packages/components-base/src/list/filter/ListDateRangeFilter.mjs.map +1 -1
- package/dist/js/packages/components-base/src/list/filter/ListFilter.mjs +5 -3
- package/dist/js/packages/components-base/src/list/filter/ListFilter.mjs.map +1 -1
- package/dist/js/packages/components-base/src/list/filter/ListFilterValue.mjs +1 -2
- package/dist/js/packages/components-base/src/list/filter/dateRange.mjs +38 -15
- package/dist/js/packages/components-base/src/list/filter/dateRange.mjs.map +1 -1
- package/dist/js/packages/components-base/src/list/filter/dateTimeRangeFields.mjs +54 -0
- package/dist/js/packages/components-base/src/list/filter/dateTimeRangeFields.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/filter/formatDateRange.mjs +26 -0
- package/dist/js/packages/components-base/src/list/filter/formatDateRange.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/item/ListItem.mjs +1 -2
- package/dist/js/packages/components-base/src/list/item/ListItemCollection.mjs +1 -2
- package/dist/js/packages/components-base/src/list/loading/ListLoaderState.mjs +11 -7
- package/dist/js/packages/components-base/src/list/loading/ListLoaderState.mjs.map +1 -1
- package/dist/js/packages/components-base/src/list/loading/types.mjs +1 -2
- package/dist/js/packages/components-base/src/list/pagination/ListBatchesController.mjs +1 -2
- package/dist/js/packages/components-base/src/list/search/ListSearch.mjs +1 -2
- package/dist/js/packages/components-base/src/list/sorting/ListSorting.mjs +1 -2
- package/dist/js/packages/components-base/src/list/table/ListTable.mjs +1 -2
- package/dist/js/packages/components-base/src/list/viewMode/ListViewMode.mjs +1 -2
- package/dist/js/packages/components-base/src/overlay/OverlayState.mjs +195 -0
- package/dist/js/packages/components-base/src/overlay/OverlayState.mjs.map +1 -0
- package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs +2 -3
- package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs.map +1 -1
- package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs +2 -3
- package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs.map +1 -1
- package/dist/types/_bundled/flow-components-base/index.d.ts +4 -1
- package/dist/types/_bundled/flow-components-base/list/filter/ListFilter.d.ts +2 -0
- package/dist/types/_bundled/flow-components-base/list/filter/dateRange.d.ts +24 -1
- package/dist/types/_bundled/flow-components-base/list/filter/dateTimeRangeFields.d.ts +34 -0
- package/dist/types/_bundled/flow-components-base/list/filter/formatDateRange.d.ts +7 -0
- package/dist/types/_bundled/flow-components-base/list/loading/ListLoaderState.d.ts +5 -0
- package/dist/types/_bundled/flow-components-base/overlay/OverlayState.d.ts +94 -0
- package/dist/types/components/AlertBadge/AlertBadge.d.ts +2 -2
- package/dist/types/components/Badge/Badge.d.ts +2 -2
- package/dist/types/components/CartesianChart/hooks/useTickLabelWidth.d.ts +1 -0
- package/dist/types/components/CodeBlock/CodeBlock.d.ts +1 -1
- package/dist/types/components/DonutChart/DonutChart.d.ts +1 -4
- package/dist/types/components/Link/Link.d.ts +1 -1
- package/dist/types/components/List/components/Header/components/DateTimeRangeFields/DateTimeRangeFields.d.ts +8 -0
- package/dist/types/components/List/components/Items/components/Item/Item.d.ts +2 -0
- package/dist/types/components/List/components/Items/components/Item/hooks/useGridItemProps.d.ts +1 -0
- package/dist/types/components/List/components/ListSummary/ListSummary.d.ts +3 -2
- package/dist/types/components/List/components/Table/components/Row.d.ts +13 -0
- package/dist/types/components/List/hooks/useLatestOnAction.d.ts +7 -0
- package/dist/types/components/List/hooks/useListSelector.d.ts +6 -0
- package/dist/types/components/List/index.d.ts +2 -0
- package/dist/types/components/List/listContext.d.ts +16 -0
- package/dist/types/components/List/model/filter/DateRangeFilter.d.ts +15 -8
- package/dist/types/components/List/model/filter/resolveDateRangeFilterValue.d.ts +11 -0
- package/dist/types/components/List/model/filter/types.d.ts +23 -1
- package/dist/types/components/List/model/item/ItemView.d.ts +34 -11
- package/dist/types/components/List/model/table/Table.d.ts +7 -0
- package/dist/types/components/List/model/table/TableBody.d.ts +1 -0
- package/dist/types/components/List/model/table/TableColumn.d.ts +1 -0
- package/dist/types/components/List/model/table/TableHeader.d.ts +1 -0
- package/dist/types/components/List/model/table/TableRow.d.ts +14 -0
- package/dist/types/components/List/model/table/types.d.ts +17 -1
- package/dist/types/components/List/typedList.d.ts +3 -0
- package/dist/types/components/Markdown/lib/isExternalHref.d.ts +1 -0
- package/dist/types/components/ProgressBar/ProgressBar.d.ts +1 -4
- package/dist/types/components/Rating/Rating.d.ts +5 -5
- package/dist/types/components/Section/context.d.ts +28 -0
- package/dist/types/components/Table/components/TableCell/TableCell.d.ts +4 -1
- package/dist/types/components/Table/components/TableHeader/context.d.ts +6 -0
- package/dist/types/components/Wrap/Wrap.d.ts +5 -0
- package/dist/types/index/flr-universal.d.ts +1 -1
- package/dist/types/integrations/react-hook-form/components/FormSettingsProvider/FormSettingsProvider.d.ts +7 -1
- package/dist/types/lib/controller/overlay/OverlayController.d.ts +8 -74
- package/dist/types/lib/dev/hydrateServerMarkup.d.ts +2 -0
- package/dist/types/lib/hooks/dom/useVirtualKeyboardVisible.d.ts +4 -1
- package/dist/types/lib/object/isPlainObjectDeepEqual.d.ts +8 -0
- package/package.json +12 -12
- package/dist/js/node_modules/.pnpm/@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.mjs.map +0 -1
- package/dist/js/packages/components/src/lib/date/transformDateValueToFormattedDate.mjs +0 -10
- package/dist/js/packages/components/src/lib/date/transformDateValueToFormattedDate.mjs.map +0 -1
- package/dist/types/lib/date/transformDateValueToDateTime.d.ts +0 -3
- package/dist/types/lib/date/transformDateValueToFormattedDate.d.ts +0 -2
|
@@ -4,13 +4,12 @@ import { viewComponentContext } from "../lib/viewComponentContext/viewComponentC
|
|
|
4
4
|
import { TableColumn } from "../components/Table/components/TableColumn/TableColumn.mjs";
|
|
5
5
|
import { memo, useContext } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// src/views/TableColumnView.tsx
|
|
8
8
|
var TableColumnView = memo((props) => {
|
|
9
9
|
const View = useContext(viewComponentContext)["TableColumn"] ?? TableColumn;
|
|
10
10
|
return /* @__PURE__ */ jsx(View, { ...props });
|
|
11
11
|
});
|
|
12
12
|
TableColumnView.displayName = "TableColumnView";
|
|
13
|
-
//#endregion
|
|
14
13
|
export { TableColumnView as default };
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=TableColumnView.mjs.map
|
|
@@ -4,13 +4,12 @@ import { viewComponentContext } from "../lib/viewComponentContext/viewComponentC
|
|
|
4
4
|
import { TableHeader } from "../components/Table/components/TableHeader/TableHeader.mjs";
|
|
5
5
|
import { memo, useContext } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// src/views/TableHeaderView.tsx
|
|
8
8
|
var TableHeaderView = memo((props) => {
|
|
9
9
|
const View = useContext(viewComponentContext)["TableHeader"] ?? TableHeader;
|
|
10
10
|
return /* @__PURE__ */ jsx(View, { ...props });
|
|
11
11
|
});
|
|
12
12
|
TableHeaderView.displayName = "TableHeaderView";
|
|
13
|
-
//#endregion
|
|
14
13
|
export { TableHeaderView as default };
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=TableHeaderView.mjs.map
|
|
@@ -4,13 +4,12 @@ import { viewComponentContext } from "../lib/viewComponentContext/viewComponentC
|
|
|
4
4
|
import { TableRow } from "../components/Table/components/TableRow/TableRow.mjs";
|
|
5
5
|
import { memo, useContext } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// src/views/TableRowView.tsx
|
|
8
8
|
var TableRowView = memo((props) => {
|
|
9
9
|
const View = useContext(viewComponentContext)["TableRow"] ?? TableRow;
|
|
10
10
|
return /* @__PURE__ */ jsx(View, { ...props });
|
|
11
11
|
});
|
|
12
12
|
TableRowView.displayName = "TableRowView";
|
|
13
|
-
//#endregion
|
|
14
13
|
export { TableRowView as default };
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=TableRowView.mjs.map
|
|
@@ -4,13 +4,12 @@ import { viewComponentContext } from "../lib/viewComponentContext/viewComponentC
|
|
|
4
4
|
import { Table } from "../components/Table/Table.mjs";
|
|
5
5
|
import { memo, useContext } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// src/views/TableView.tsx
|
|
8
8
|
var TableView = memo((props) => {
|
|
9
9
|
const View = useContext(viewComponentContext)["Table"] ?? Table;
|
|
10
10
|
return /* @__PURE__ */ jsx(View, { ...props });
|
|
11
11
|
});
|
|
12
12
|
TableView.displayName = "TableView";
|
|
13
|
-
//#endregion
|
|
14
13
|
export { TableView as default };
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=TableView.mjs.map
|
|
@@ -4,13 +4,12 @@ import { viewComponentContext } from "../lib/viewComponentContext/viewComponentC
|
|
|
4
4
|
import { Text } from "../components/Text/Text.mjs";
|
|
5
5
|
import { memo, useContext } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// src/views/TextView.tsx
|
|
8
8
|
var TextView = memo((props) => {
|
|
9
9
|
const View = useContext(viewComponentContext)["Text"] ?? Text;
|
|
10
10
|
return /* @__PURE__ */ jsx(View, { ...props });
|
|
11
11
|
});
|
|
12
12
|
TextView.displayName = "TextView";
|
|
13
|
-
//#endregion
|
|
14
13
|
export { TextView as default };
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=TextView.mjs.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { viewComponentContext } from "../lib/viewComponentContext/viewComponentContext.mjs";
|
|
4
|
+
import { TimeField } from "../components/TimeField/TimeField.mjs";
|
|
5
|
+
import { memo, useContext } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
// src/views/TimeFieldView.tsx
|
|
8
|
+
var TimeFieldView = memo((props) => {
|
|
9
|
+
const View = useContext(viewComponentContext)["TimeField"] ?? TimeField;
|
|
10
|
+
return /* @__PURE__ */ jsx(View, { ...props });
|
|
11
|
+
});
|
|
12
|
+
TimeFieldView.displayName = "TimeFieldView";
|
|
13
|
+
export { TimeFieldView as default };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=TimeFieldView.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeFieldView.mjs","names":[],"sources":["../../../../../../src/views/TimeFieldView.tsx"],"sourcesContent":["/* prettier-ignore */\n/* This file is auto-generated with the remote-components-generator */\nimport React, { memo, type FC, useContext } from \"react\";\nimport {\n TimeField,\n type TimeFieldProps,\n} from \"@/components/TimeField/TimeField\";\nimport { viewComponentContext } from \"@/lib/viewComponentContext/viewComponentContext\";\n\nconst TimeFieldView: FC<TimeFieldProps> = memo((props) => {\n const View = useContext(viewComponentContext)[\"TimeField\"] ?? TimeField;\n return <View {...props} />;\n});\nTimeFieldView.displayName = \"TimeFieldView\";\n\nexport default TimeFieldView;\n"],"mappings":";;;;;;;AASA,IAAM,gBAAoC,MAAM,UAAU;CACxD,MAAM,OAAO,WAAW,oBAAoB,CAAC,CAAC,gBAAgB;CAC9D,OAAO,oBAAC,MAAD,EAAM,GAAI,MAAQ,CAAA;AAC3B,CAAC;AACD,cAAc,cAAc"}
|
|
@@ -4,13 +4,12 @@ import { viewComponentContext } from "../lib/viewComponentContext/viewComponentC
|
|
|
4
4
|
import { TooltipTrigger } from "../components/Tooltip/components/TooltipTrigger/TooltipTrigger.mjs";
|
|
5
5
|
import { memo, useContext } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// src/views/TooltipTriggerView.tsx
|
|
8
8
|
var TooltipTriggerView = memo((props) => {
|
|
9
9
|
const View = useContext(viewComponentContext)["TooltipTrigger"] ?? TooltipTrigger;
|
|
10
10
|
return /* @__PURE__ */ jsx(View, { ...props });
|
|
11
11
|
});
|
|
12
12
|
TooltipTriggerView.displayName = "TooltipTriggerView";
|
|
13
|
-
//#endregion
|
|
14
13
|
export { TooltipTriggerView as default };
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=TooltipTriggerView.mjs.map
|
|
@@ -4,13 +4,12 @@ import { viewComponentContext } from "../lib/viewComponentContext/viewComponentC
|
|
|
4
4
|
import { Tooltip } from "../components/Tooltip/Tooltip.mjs";
|
|
5
5
|
import { memo, useContext } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// src/views/TooltipView.tsx
|
|
8
8
|
var TooltipView = memo((props) => {
|
|
9
9
|
const View = useContext(viewComponentContext)["Tooltip"] ?? Tooltip;
|
|
10
10
|
return /* @__PURE__ */ jsx(View, { ...props });
|
|
11
11
|
});
|
|
12
12
|
TooltipView.displayName = "TooltipView";
|
|
13
|
-
//#endregion
|
|
14
13
|
export { TooltipView as default };
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=TooltipView.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
3
|
import { action, computed, makeObservable, observable } from "mobx";
|
|
4
|
-
|
|
4
|
+
// ../components-base/src/action/ActionState.ts
|
|
5
5
|
/** How long each state lasts, in ms. */
|
|
6
6
|
var actionStateDurations = {
|
|
7
7
|
/** An async action counts as pending only after this long. */
|
|
@@ -81,7 +81,6 @@ var ActionState = class {
|
|
|
81
81
|
this.updateState("isPending");
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
|
-
//#endregion
|
|
85
84
|
export { ActionState, ActionState as default, actionStateDurations };
|
|
86
85
|
|
|
87
86
|
//# sourceMappingURL=ActionState.mjs.map
|
|
@@ -4,8 +4,10 @@ import "./lib/array.mjs";
|
|
|
4
4
|
import { getListColumn } from "./list/ListModelContext.mjs";
|
|
5
5
|
import "./list/filter/ListFilterValue.mjs";
|
|
6
6
|
import { ListFilter } from "./list/filter/ListFilter.mjs";
|
|
7
|
-
import "./list/filter/dateRange.mjs";
|
|
7
|
+
import { resolveListDateRange } from "./list/filter/dateRange.mjs";
|
|
8
8
|
import { ListDateRangeFilter } from "./list/filter/ListDateRangeFilter.mjs";
|
|
9
|
+
import { formatListDateRange } from "./list/filter/formatDateRange.mjs";
|
|
10
|
+
import { getListDateTimeRangeUpdate, isListDateTimeRangeEndBeforeStart, listDateTimeRangeFieldsFromValue, toListCalendarDate, toListTime } from "./list/filter/dateTimeRangeFields.mjs";
|
|
9
11
|
import "./list/item/ListItem.mjs";
|
|
10
12
|
import { ListItemCollection } from "./list/item/ListItemCollection.mjs";
|
|
11
13
|
import { ListLoaderState } from "./list/loading/ListLoaderState.mjs";
|
|
@@ -15,4 +17,5 @@ import { ListSearch } from "./list/search/ListSearch.mjs";
|
|
|
15
17
|
import { ListSorting, mergeHiddenSorting } from "./list/sorting/ListSorting.mjs";
|
|
16
18
|
import { ListTable } from "./list/table/ListTable.mjs";
|
|
17
19
|
import { ListViewMode } from "./list/viewMode/ListViewMode.mjs";
|
|
18
|
-
|
|
20
|
+
import { OverlayState } from "./overlay/OverlayState.mjs";
|
|
21
|
+
export { ActionState, ListBatchesController, ListDateRangeFilter, ListFilter, ListItemCollection, ListLoaderState, ListSearch, ListSorting, ListTable, ListViewMode, OverlayState, actionStateDurations, formatListDateRange, getListColumn, getListDataLoaderOptions, getListDateTimeRangeUpdate, isListDateTimeRangeEndBeforeStart, listDateTimeRangeFieldsFromValue, mergeHiddenSorting, resolveListDateRange, toListCalendarDate, toListTime };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
|
-
|
|
3
|
+
// ../components-base/src/lib/array.ts
|
|
4
4
|
/** One value or many, as many. */
|
|
5
5
|
var toArray = (value) => Array.isArray(value) ? value : [value];
|
|
6
|
-
//#endregion
|
|
7
6
|
export { toArray };
|
|
8
7
|
|
|
9
8
|
//# sourceMappingURL=array.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
|
-
|
|
3
|
+
// ../components-base/src/list/ListModelContext.ts
|
|
4
4
|
/**
|
|
5
5
|
* The table's column for a property.
|
|
6
6
|
*
|
|
@@ -13,7 +13,6 @@ var getListColumn = (table, property) => {
|
|
|
13
13
|
if (!column) throw new Error(`Column #${String(property)} is not defined`);
|
|
14
14
|
return column;
|
|
15
15
|
};
|
|
16
|
-
//#endregion
|
|
17
16
|
export { getListColumn };
|
|
18
17
|
|
|
19
18
|
//# sourceMappingURL=ListModelContext.mjs.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { ListFilter } from "./ListFilter.mjs";
|
|
4
4
|
import { applyDateRangeColumnDef, isListDateRange } from "./dateRange.mjs";
|
|
5
|
-
|
|
5
|
+
// ../components-base/src/list/filter/ListDateRangeFilter.ts
|
|
6
6
|
/**
|
|
7
7
|
* A filter over a span of days rather than over a set of values.
|
|
8
8
|
*
|
|
@@ -21,9 +21,9 @@ var ListDateRangeFilter = class extends ListFilter {
|
|
|
21
21
|
}
|
|
22
22
|
setValue(range) {
|
|
23
23
|
this.getTableColumn().setFilterValue(range);
|
|
24
|
+
this.notifyFilterUpdated(range ? [range] : []);
|
|
24
25
|
}
|
|
25
26
|
};
|
|
26
|
-
//#endregion
|
|
27
27
|
export { ListDateRangeFilter, ListDateRangeFilter as default };
|
|
28
28
|
|
|
29
29
|
//# sourceMappingURL=ListDateRangeFilter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListDateRangeFilter.mjs","names":[],"sources":["../../../../../../../../components-base/src/list/filter/ListDateRangeFilter.ts"],"sourcesContent":["import { ListFilter } from \"./ListFilter\";\nimport {\n applyDateRangeColumnDef,\n isListDateRange,\n type ListDateRange,\n} from \"./dateRange\";\nimport type { PropertyName } from \"../types\";\nimport type { ColumnDef } from \"@tanstack/table-core\";\n\n/**\n * A filter over a span of days rather than over a set of values.\n *\n * Everything except the control that picks the range: the table column, the\n * comparison and the stored value are the same in every binding, and what a\n * calendar looks like is not. A binding subclasses this to add its own calendar\n * options.\n */\nexport class ListDateRangeFilter<\n T = never,\n TProp extends PropertyName<T> = never,\n TRendered = unknown,\n> extends ListFilter<T, TProp, never, TRendered> {\n public override updateTableColumnDef(def: ColumnDef<T>): void {\n applyDateRangeColumnDef(def);\n }\n\n public override getValue(): ListDateRange | null {\n const value = super.getValue();\n return isListDateRange(value) ? value : null;\n }\n\n public setValue(range: ListDateRange | null): void {\n this.getTableColumn().setFilterValue(range);\n }\n}\n\nexport default ListDateRangeFilter;\n"],"mappings":";;;;;;;;;;;;;AAiBA,IAAa,sBAAb,cAIU,WAAuC;CAC/C,qBAAqC,KAAyB;EAC5D,wBAAwB,GAAG;CAC7B;CAEA,WAAiD;EAC/C,MAAM,QAAQ,MAAM,SAAS;EAC7B,OAAO,gBAAgB,KAAK,IAAI,QAAQ;CAC1C;CAEA,SAAgB,OAAmC;EACjD,KAAK,eAAe,CAAC,CAAC,eAAe,KAAK;
|
|
1
|
+
{"version":3,"file":"ListDateRangeFilter.mjs","names":[],"sources":["../../../../../../../../components-base/src/list/filter/ListDateRangeFilter.ts"],"sourcesContent":["import { ListFilter } from \"./ListFilter\";\nimport {\n applyDateRangeColumnDef,\n isListDateRange,\n type ListDateRange,\n} from \"./dateRange\";\nimport type { PropertyName } from \"../types\";\nimport type { ColumnDef } from \"@tanstack/table-core\";\n\n/**\n * A filter over a span of days rather than over a set of values.\n *\n * Everything except the control that picks the range: the table column, the\n * comparison and the stored value are the same in every binding, and what a\n * calendar looks like is not. A binding subclasses this to add its own calendar\n * options.\n */\nexport class ListDateRangeFilter<\n T = never,\n TProp extends PropertyName<T> = never,\n TRendered = unknown,\n> extends ListFilter<T, TProp, never, TRendered> {\n public override updateTableColumnDef(def: ColumnDef<T>): void {\n applyDateRangeColumnDef(def);\n }\n\n public override getValue(): ListDateRange | null {\n const value = super.getValue();\n return isListDateRange(value) ? value : null;\n }\n\n public setValue(range: ListDateRange | null): void {\n this.getTableColumn().setFilterValue(range);\n this.notifyFilterUpdated(range ? [range] : []);\n }\n}\n\nexport default ListDateRangeFilter;\n"],"mappings":";;;;;;;;;;;;;AAiBA,IAAa,sBAAb,cAIU,WAAuC;CAC/C,qBAAqC,KAAyB;EAC5D,wBAAwB,GAAG;CAC7B;CAEA,WAAiD;EAC/C,MAAM,QAAQ,MAAM,SAAS;EAC7B,OAAO,gBAAgB,KAAK,IAAI,QAAQ;CAC1C;CAEA,SAAgB,OAAmC;EACjD,KAAK,eAAe,CAAC,CAAC,eAAe,KAAK;EAC1C,KAAK,oBAAoB,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;CAC/C;AACF"}
|
|
@@ -5,7 +5,7 @@ import { getListColumn } from "../ListModelContext.mjs";
|
|
|
5
5
|
import { ListFilterValue } from "./ListFilterValue.mjs";
|
|
6
6
|
import { difference, unique } from "remeda";
|
|
7
7
|
import { getProperty } from "dot-prop";
|
|
8
|
-
|
|
8
|
+
// ../components-base/src/list/filter/ListFilter.ts
|
|
9
9
|
var equalsPropertyMatcher = (filterValue, propertyValue) => filterValue === propertyValue;
|
|
10
10
|
/** From how many values on a multiple-choice filter offers "Select all". */
|
|
11
11
|
var selectAllMinValueCount = 6;
|
|
@@ -166,7 +166,10 @@ var ListFilter = class {
|
|
|
166
166
|
this.callOnChangedHandlers(updatedValue);
|
|
167
167
|
}
|
|
168
168
|
callOnChangedHandlers(newValue) {
|
|
169
|
-
|
|
169
|
+
this.notifyFilterUpdated(toArray(newValue).map((v) => v?.value));
|
|
170
|
+
}
|
|
171
|
+
/** Tells the listeners — the list resetting its batches among them. */
|
|
172
|
+
notifyFilterUpdated(values) {
|
|
170
173
|
this.onFilterChangeCallbacks.forEach((cb) => cb(values));
|
|
171
174
|
}
|
|
172
175
|
hasChanges() {
|
|
@@ -223,7 +226,6 @@ var ListFilter = class {
|
|
|
223
226
|
this.onFilterChangeCallbacks.add(cb);
|
|
224
227
|
}
|
|
225
228
|
};
|
|
226
|
-
//#endregion
|
|
227
229
|
export { ListFilter, ListFilter as default };
|
|
228
230
|
|
|
229
231
|
//# sourceMappingURL=ListFilter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListFilter.mjs","names":[],"sources":["../../../../../../../../components-base/src/list/filter/ListFilter.ts"],"sourcesContent":["import { toArray } from \"../../lib/array\";\nimport { getListColumn, type ListModelContext } from \"../ListModelContext\";\nimport type { ListSettingsOperationOptions } from \"../settings/types\";\nimport { customPropertyPrefix } from \"../types\";\nimport type { PropertyName, PropertyValueRenderMethod } from \"../types\";\nimport { ListFilterValue } from \"./ListFilterValue\";\nimport type {\n FilterMatcher,\n FilterMode,\n FilterUpdatedCallback,\n ListFilterShape,\n} from \"./types\";\nimport type {\n Column,\n ColumnDef,\n ColumnFilter,\n InitialTableState,\n} from \"@tanstack/table-core\";\nimport { getProperty } from \"dot-prop\";\nimport { difference, unique } from \"remeda\";\n\nconst equalsPropertyMatcher: FilterMatcher<unknown, never, never> = (\n filterValue,\n propertyValue,\n) => filterValue === propertyValue;\n\n/** From how many values on a multiple-choice filter offers \"Select all\". */\nconst selectAllMinValueCount = 6;\n\nconst stringCastRenderMethod: PropertyValueRenderMethod<unknown, never> = (\n value,\n) => String(value) as never;\n\n/** What `storeFilters` needs of a filter, and nothing more. */\ninterface StorableFilter {\n readonly storageKey: string;\n getArrayValue(): { id: string }[];\n}\n\n/**\n * One filter of a list: its values, which of them are on, and how that is\n * persisted.\n *\n * Framework-free apart from one thing, which is why `TRendered` exists: a\n * filter value has to be _shown_, and what \"shown\" is belongs to the binding.\n * React's `Filter` fills it with `ReactNode`; the default is `unknown`, so the\n * core can be read without deciding.\n *\n * The selected values live in the TanStack table's column filter, not here.\n * This translates: ids to values, values to a predicate, a toggle to a new\n * column filter.\n */\nexport class ListFilter<\n T = never,\n TProp extends PropertyName<T> = never,\n TMatchValue = never,\n TRendered = unknown,\n> {\n private _values?: ListFilterValue<TRendered>[] | undefined;\n private valuesFromTableState?: {\n facets: Map<unknown, number>;\n values: ListFilterValue<TRendered>[];\n };\n public readonly context: ListModelContext<T>;\n public readonly property: TProp;\n public readonly mode: FilterMode;\n public readonly matcher: FilterMatcher<T, never, never>;\n public readonly renderItem: PropertyValueRenderMethod<TMatchValue, TRendered>;\n public readonly name?: string;\n public readonly autosave: boolean;\n public readonly manualSave: boolean;\n private readonly onFilterChangeCallbacks = new Set<FilterUpdatedCallback>();\n private readonly defaultSelectedValues?: ListFilterValue<TRendered>[];\n public readonly priority: \"primary\" | \"secondary\";\n public readonly storageKey: string;\n\n public constructor(\n context: ListModelContext<T>,\n shape: ListFilterShape<T, TProp, TMatchValue, TRendered>,\n ) {\n const {\n autosave = context.settingsDefaults?.filters?.autosave ?? false,\n manualSave = context.settingsDefaults?.filters?.manualSave ?? true,\n property,\n mode = \"some\",\n values,\n matcher = equalsPropertyMatcher,\n renderItem = stringCastRenderMethod as PropertyValueRenderMethod<\n TMatchValue,\n TRendered\n >,\n priority = \"primary\",\n name,\n defaultSelected,\n onChange,\n } = shape;\n\n this.context = context;\n this.autosave = autosave;\n this.manualSave = manualSave;\n this.property = property;\n this.storageKey = String(property);\n this.mode = mode;\n this._values = values?.map((v) => ListFilterValue.create(this, v));\n this.matcher = matcher;\n this.renderItem = renderItem;\n this.name = name;\n this.priority = priority;\n this.defaultSelectedValues = defaultSelected?.map((v) =>\n ListFilterValue.create(this, v),\n );\n if (onChange) {\n this.onFilterChangeCallbacks.add(onChange);\n }\n }\n\n public updateInitialState(initialState: InitialTableState): void {\n const initialIds = this.getInitialSelectedIds();\n\n if (initialIds?.length) {\n initialState.columnFilters = [\n ...(initialState.columnFilters ?? []),\n {\n id: this.property as string,\n value: initialIds,\n },\n ];\n }\n }\n\n private getInitialSelectedIds(): string[] | undefined {\n return (\n this.getStoredSelectedIds({\n autosave: this.autosave,\n manualSave: this.manualSave,\n }) ?? this.defaultSelectedValues?.map((v) => v.id)\n );\n }\n\n private getStoredSelectedIds(\n options: ListSettingsOperationOptions,\n ): string[] | undefined {\n return this.context.settings?.get(\"activeFilters\", options)?.[\n this.storageKey\n ];\n }\n\n private getStoredSelectedValues(\n options: ListSettingsOperationOptions,\n ): ListFilterValue<TRendered>[] | undefined {\n return this.getStoredSelectedIds(options)\n ?.map((id) => this.values.find((v) => v.id === id))\n .filter((v): v is ListFilterValue<TRendered> => v !== undefined);\n }\n\n /**\n * Writes every filter's selection in one go — they share a settings key.\n *\n * Takes the two members it reads rather than a `ListFilter<any, …>`: a\n * `Table<never>` is not assignable to a `Table<any>` (a row model sits in a\n * contravariant position deep inside), so a list of concrete filters would\n * not go in.\n */\n public static storeFilters<T>(\n context: ListModelContext<T>,\n filters: StorableFilter[],\n options: ListSettingsOperationOptions,\n ): void {\n const data = Object.fromEntries(\n filters.map((filter) => [\n filter.storageKey,\n filter.getArrayValue().map((v) => v.id),\n ]),\n );\n\n context.settings?.store(\"activeFilters\", data, options);\n }\n\n public updateTableColumnDef(def: ColumnDef<T>): void {\n def.enableColumnFilter = true;\n def.filterFn = this.getTableFilterFn();\n }\n\n private getTableFilterFn(): ColumnDef<T>[\"filterFn\"] {\n return (row, _, filterValue) => {\n const propertyAsString = this.property as string;\n\n /*\n * A custom property is not on the item, so the matcher gets the item\n * itself and decides.\n */\n const filterBy = propertyAsString.startsWith(customPropertyPrefix)\n ? row.original\n : getProperty(row.original as object, propertyAsString);\n\n return this.checkFilterMatches(filterBy, filterValue);\n };\n }\n\n private checkFilterMatches(\n property: unknown,\n filterValueInput: unknown,\n ): boolean {\n if (filterValueInput === null) {\n return true;\n }\n\n const predicate = (filterValue: ListFilterValue<TRendered>) =>\n this.matcher(filterValue.value as never, property as never);\n\n const toFilterValue = (something: unknown) =>\n ListFilterValue.create(this, something);\n\n if (this.mode === \"all\") {\n return toArray(filterValueInput).map(toFilterValue).every(predicate);\n } else if (this.mode === \"some\") {\n const filterArr = toArray(filterValueInput);\n return (\n filterArr.length === 0 || filterArr.map(toFilterValue).some(predicate)\n );\n } else if (this.mode === \"one\") {\n const oneValue = Array.isArray(filterValueInput)\n ? filterValueInput[0]\n : filterValueInput;\n return predicate(toFilterValue(oneValue));\n }\n\n throw new Error(`Unknown filter mode '${this.mode}'`);\n }\n\n protected getTableColumnFilter(): ColumnFilter | undefined {\n return this.context.dataTable\n .getState()\n .columnFilters.find((f) => f.id === this.property);\n }\n\n protected getTableColumn(): Column<T> {\n return getListColumn(this.context.dataTable, this.property);\n }\n\n public getValue(): unknown {\n return this.getTableColumnFilter()?.value ?? null;\n }\n\n /*\n * Rebuilt only when TanStack hands out a new map: it memoizes the faceted\n * values and replaces the map when the data changes. Without this, every\n * row the filter function checks re-hashes every value — `getArrayValue()`\n * resolves each stored id through `values`.\n */\n private getValuesFromTableState(): ListFilterValue<TRendered>[] {\n const facets = this.getTableColumn().getFacetedUniqueValues();\n\n if (this.valuesFromTableState?.facets !== facets) {\n this.valuesFromTableState = {\n facets,\n values: unique(\n Array.from(facets.keys())\n .flatMap((v) => v)\n .filter((v) => v !== undefined && v !== null),\n ).map((v) => ListFilterValue.create(this, v)),\n };\n }\n\n return this.valuesFromTableState.values;\n }\n\n private checkIfValueIsUnknown(value: ListFilterValue<TRendered>): boolean {\n return !this.values.some((v) => v.id === value.id);\n }\n\n /**\n * Drops a selection the data no longer offers — a stored filter value whose\n * item is gone would otherwise filter everything away with no way to undo\n * it.\n */\n public deleteUnknownFilterValues(): void {\n /* Values the data offers are by definition known. */\n if (this._values === undefined) {\n return;\n }\n\n for (const currentValues of this.getArrayValue()) {\n if (this.checkIfValueIsUnknown(currentValues)) {\n this.deactivateValue(currentValues);\n }\n }\n }\n\n /**\n * The values the filter offers — the ones it was given, or the ones the data\n * has.\n *\n * Follows the table, not a snapshot. A binding that keeps one filter instance\n * for the list's lifetime would otherwise hold the answer from before the\n * first batch arrived: an async loader gives the header an empty menu and\n * never fills it. The values are cached per faceted-values map, which\n * TanStack replaces when the data changes.\n */\n public get values(): ListFilterValue<TRendered>[] {\n return this._values ?? this.getValuesFromTableState();\n }\n\n public getArrayValue(): ListFilterValue<TRendered>[] {\n const value = this.getValue();\n return value === null\n ? []\n : toArray(value).map((v) => ListFilterValue.create(this, v));\n }\n\n public isValueActive(value: ListFilterValue<TRendered>): boolean {\n return this.getArrayValue().some((v) => v.equals(value));\n }\n\n public isActive(): boolean {\n return this.getArrayValue().length > 0;\n }\n\n public deactivateValue(value: ListFilterValue<TRendered>): void {\n const currentValueAsArray = this.getArrayValue();\n\n const updatedValue =\n this.mode === \"all\" || this.mode === \"some\"\n ? currentValueAsArray.filter((v) => !v.equals(value))\n : null;\n\n this.getTableColumn().setFilterValue(updatedValue);\n this.callOnChangedHandlers(updatedValue);\n }\n\n private callOnChangedHandlers(\n newValue: ListFilterValue<TRendered>[] | ListFilterValue<TRendered> | null,\n ): void {\n const values = toArray(newValue).map((v) => v?.value);\n this.onFilterChangeCallbacks.forEach((cb) => cb(values));\n }\n\n public hasChanges(): boolean {\n const currentIds = this.getArrayValue().map((v) => v.id);\n\n const defaultIds =\n this.getStoredSelectedIds({ autosave: false }) ??\n this.defaultSelectedValues?.map((v) => v.id) ??\n [];\n\n return (\n currentIds.length !== defaultIds.length ||\n difference(currentIds, defaultIds).length > 0\n );\n }\n\n public isStoringAvailable(): boolean {\n return !!this.context.settings && this.manualSave;\n }\n\n public resetValues(): void {\n const storedValues =\n this.getStoredSelectedValues({ autosave: false }) ??\n this.defaultSelectedValues;\n\n const resetTo =\n storedValues ?? (this.mode === \"all\" || this.mode === \"some\" ? [] : null);\n\n this.getTableColumn().setFilterValue(resetTo);\n this.callOnChangedHandlers(resetTo);\n }\n\n public clear(): void {\n this.getTableColumn().setFilterValue(null);\n this.callOnChangedHandlers(null);\n }\n\n public toggleValue(newValue: ListFilterValue<TRendered>): void {\n const currentValueAsArray = this.getArrayValue();\n\n let updatedValue:\n ListFilterValue<TRendered>[] | ListFilterValue<TRendered> | null;\n\n if (this.mode === \"all\" || this.mode === \"some\") {\n updatedValue = newValue.isActive\n ? currentValueAsArray.filter((v) => !v.equals(newValue))\n : [...currentValueAsArray, newValue];\n } else {\n updatedValue = newValue.isActive ? null : newValue;\n }\n\n this.getTableColumn().setFilterValue(updatedValue);\n this.callOnChangedHandlers(updatedValue);\n }\n\n /**\n * Whether the filter offers \"Select all\" — a `some` filter with enough\n * values.\n */\n public get isSelectAllAvailable(): boolean {\n return this.mode === \"some\" && this.values.length >= selectAllMinValueCount;\n }\n\n public isEveryValueActive(): boolean {\n return this.values.every((v) => v.isActive);\n }\n\n public selectAll(): void {\n this.setArrayValue(this.values);\n }\n\n /** Makes exactly these values active — what a multiple-selection menu reports. */\n public setActiveValueIds(ids: Iterable<unknown>): void {\n const idSet = new Set(ids);\n this.setArrayValue(this.values.filter((v) => idSet.has(v.id)));\n }\n\n public deselectAll(): void {\n this.setArrayValue([]);\n }\n\n private setArrayValue(value: ListFilterValue<TRendered>[]): void {\n this.getTableColumn().setFilterValue(value);\n this.callOnChangedHandlers(value);\n }\n\n public onFilterUpdated(cb: () => unknown): void {\n this.onFilterChangeCallbacks.add(cb);\n }\n}\n\nexport default ListFilter;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListFilter.mjs","names":[],"sources":["../../../../../../../../components-base/src/list/filter/ListFilter.ts"],"sourcesContent":["import { toArray } from \"../../lib/array\";\nimport { getListColumn, type ListModelContext } from \"../ListModelContext\";\nimport type { ListSettingsOperationOptions } from \"../settings/types\";\nimport { customPropertyPrefix } from \"../types\";\nimport type { PropertyName, PropertyValueRenderMethod } from \"../types\";\nimport { ListFilterValue } from \"./ListFilterValue\";\nimport type {\n FilterMatcher,\n FilterMode,\n FilterUpdatedCallback,\n ListFilterShape,\n} from \"./types\";\nimport type {\n Column,\n ColumnDef,\n ColumnFilter,\n InitialTableState,\n} from \"@tanstack/table-core\";\nimport { getProperty } from \"dot-prop\";\nimport { difference, unique } from \"remeda\";\n\nconst equalsPropertyMatcher: FilterMatcher<unknown, never, never> = (\n filterValue,\n propertyValue,\n) => filterValue === propertyValue;\n\n/** From how many values on a multiple-choice filter offers \"Select all\". */\nconst selectAllMinValueCount = 6;\n\nconst stringCastRenderMethod: PropertyValueRenderMethod<unknown, never> = (\n value,\n) => String(value) as never;\n\n/** What `storeFilters` needs of a filter, and nothing more. */\ninterface StorableFilter {\n readonly storageKey: string;\n getArrayValue(): { id: string }[];\n}\n\n/**\n * One filter of a list: its values, which of them are on, and how that is\n * persisted.\n *\n * Framework-free apart from one thing, which is why `TRendered` exists: a\n * filter value has to be _shown_, and what \"shown\" is belongs to the binding.\n * React's `Filter` fills it with `ReactNode`; the default is `unknown`, so the\n * core can be read without deciding.\n *\n * The selected values live in the TanStack table's column filter, not here.\n * This translates: ids to values, values to a predicate, a toggle to a new\n * column filter.\n */\nexport class ListFilter<\n T = never,\n TProp extends PropertyName<T> = never,\n TMatchValue = never,\n TRendered = unknown,\n> {\n private _values?: ListFilterValue<TRendered>[] | undefined;\n private valuesFromTableState?: {\n facets: Map<unknown, number>;\n values: ListFilterValue<TRendered>[];\n };\n public readonly context: ListModelContext<T>;\n public readonly property: TProp;\n public readonly mode: FilterMode;\n public readonly matcher: FilterMatcher<T, never, never>;\n public readonly renderItem: PropertyValueRenderMethod<TMatchValue, TRendered>;\n public readonly name?: string;\n public readonly autosave: boolean;\n public readonly manualSave: boolean;\n private readonly onFilterChangeCallbacks = new Set<FilterUpdatedCallback>();\n private readonly defaultSelectedValues?: ListFilterValue<TRendered>[];\n public readonly priority: \"primary\" | \"secondary\";\n public readonly storageKey: string;\n\n public constructor(\n context: ListModelContext<T>,\n shape: ListFilterShape<T, TProp, TMatchValue, TRendered>,\n ) {\n const {\n autosave = context.settingsDefaults?.filters?.autosave ?? false,\n manualSave = context.settingsDefaults?.filters?.manualSave ?? true,\n property,\n mode = \"some\",\n values,\n matcher = equalsPropertyMatcher,\n renderItem = stringCastRenderMethod as PropertyValueRenderMethod<\n TMatchValue,\n TRendered\n >,\n priority = \"primary\",\n name,\n defaultSelected,\n onChange,\n } = shape;\n\n this.context = context;\n this.autosave = autosave;\n this.manualSave = manualSave;\n this.property = property;\n this.storageKey = String(property);\n this.mode = mode;\n this._values = values?.map((v) => ListFilterValue.create(this, v));\n this.matcher = matcher;\n this.renderItem = renderItem;\n this.name = name;\n this.priority = priority;\n this.defaultSelectedValues = defaultSelected?.map((v) =>\n ListFilterValue.create(this, v),\n );\n if (onChange) {\n this.onFilterChangeCallbacks.add(onChange);\n }\n }\n\n public updateInitialState(initialState: InitialTableState): void {\n const initialIds = this.getInitialSelectedIds();\n\n if (initialIds?.length) {\n initialState.columnFilters = [\n ...(initialState.columnFilters ?? []),\n {\n id: this.property as string,\n value: initialIds,\n },\n ];\n }\n }\n\n private getInitialSelectedIds(): string[] | undefined {\n return (\n this.getStoredSelectedIds({\n autosave: this.autosave,\n manualSave: this.manualSave,\n }) ?? this.defaultSelectedValues?.map((v) => v.id)\n );\n }\n\n private getStoredSelectedIds(\n options: ListSettingsOperationOptions,\n ): string[] | undefined {\n return this.context.settings?.get(\"activeFilters\", options)?.[\n this.storageKey\n ];\n }\n\n private getStoredSelectedValues(\n options: ListSettingsOperationOptions,\n ): ListFilterValue<TRendered>[] | undefined {\n return this.getStoredSelectedIds(options)\n ?.map((id) => this.values.find((v) => v.id === id))\n .filter((v): v is ListFilterValue<TRendered> => v !== undefined);\n }\n\n /**\n * Writes every filter's selection in one go — they share a settings key.\n *\n * Takes the two members it reads rather than a `ListFilter<any, …>`: a\n * `Table<never>` is not assignable to a `Table<any>` (a row model sits in a\n * contravariant position deep inside), so a list of concrete filters would\n * not go in.\n */\n public static storeFilters<T>(\n context: ListModelContext<T>,\n filters: StorableFilter[],\n options: ListSettingsOperationOptions,\n ): void {\n const data = Object.fromEntries(\n filters.map((filter) => [\n filter.storageKey,\n filter.getArrayValue().map((v) => v.id),\n ]),\n );\n\n context.settings?.store(\"activeFilters\", data, options);\n }\n\n public updateTableColumnDef(def: ColumnDef<T>): void {\n def.enableColumnFilter = true;\n def.filterFn = this.getTableFilterFn();\n }\n\n private getTableFilterFn(): ColumnDef<T>[\"filterFn\"] {\n return (row, _, filterValue) => {\n const propertyAsString = this.property as string;\n\n /*\n * A custom property is not on the item, so the matcher gets the item\n * itself and decides.\n */\n const filterBy = propertyAsString.startsWith(customPropertyPrefix)\n ? row.original\n : getProperty(row.original as object, propertyAsString);\n\n return this.checkFilterMatches(filterBy, filterValue);\n };\n }\n\n private checkFilterMatches(\n property: unknown,\n filterValueInput: unknown,\n ): boolean {\n if (filterValueInput === null) {\n return true;\n }\n\n const predicate = (filterValue: ListFilterValue<TRendered>) =>\n this.matcher(filterValue.value as never, property as never);\n\n const toFilterValue = (something: unknown) =>\n ListFilterValue.create(this, something);\n\n if (this.mode === \"all\") {\n return toArray(filterValueInput).map(toFilterValue).every(predicate);\n } else if (this.mode === \"some\") {\n const filterArr = toArray(filterValueInput);\n return (\n filterArr.length === 0 || filterArr.map(toFilterValue).some(predicate)\n );\n } else if (this.mode === \"one\") {\n const oneValue = Array.isArray(filterValueInput)\n ? filterValueInput[0]\n : filterValueInput;\n return predicate(toFilterValue(oneValue));\n }\n\n throw new Error(`Unknown filter mode '${this.mode}'`);\n }\n\n protected getTableColumnFilter(): ColumnFilter | undefined {\n return this.context.dataTable\n .getState()\n .columnFilters.find((f) => f.id === this.property);\n }\n\n protected getTableColumn(): Column<T> {\n return getListColumn(this.context.dataTable, this.property);\n }\n\n public getValue(): unknown {\n return this.getTableColumnFilter()?.value ?? null;\n }\n\n /*\n * Rebuilt only when TanStack hands out a new map: it memoizes the faceted\n * values and replaces the map when the data changes. Without this, every\n * row the filter function checks re-hashes every value — `getArrayValue()`\n * resolves each stored id through `values`.\n */\n private getValuesFromTableState(): ListFilterValue<TRendered>[] {\n const facets = this.getTableColumn().getFacetedUniqueValues();\n\n if (this.valuesFromTableState?.facets !== facets) {\n this.valuesFromTableState = {\n facets,\n values: unique(\n Array.from(facets.keys())\n .flatMap((v) => v)\n .filter((v) => v !== undefined && v !== null),\n ).map((v) => ListFilterValue.create(this, v)),\n };\n }\n\n return this.valuesFromTableState.values;\n }\n\n private checkIfValueIsUnknown(value: ListFilterValue<TRendered>): boolean {\n return !this.values.some((v) => v.id === value.id);\n }\n\n /**\n * Drops a selection the data no longer offers — a stored filter value whose\n * item is gone would otherwise filter everything away with no way to undo\n * it.\n */\n public deleteUnknownFilterValues(): void {\n /* Values the data offers are by definition known. */\n if (this._values === undefined) {\n return;\n }\n\n for (const currentValues of this.getArrayValue()) {\n if (this.checkIfValueIsUnknown(currentValues)) {\n this.deactivateValue(currentValues);\n }\n }\n }\n\n /**\n * The values the filter offers — the ones it was given, or the ones the data\n * has.\n *\n * Follows the table, not a snapshot. A binding that keeps one filter instance\n * for the list's lifetime would otherwise hold the answer from before the\n * first batch arrived: an async loader gives the header an empty menu and\n * never fills it. The values are cached per faceted-values map, which\n * TanStack replaces when the data changes.\n */\n public get values(): ListFilterValue<TRendered>[] {\n return this._values ?? this.getValuesFromTableState();\n }\n\n public getArrayValue(): ListFilterValue<TRendered>[] {\n const value = this.getValue();\n return value === null\n ? []\n : toArray(value).map((v) => ListFilterValue.create(this, v));\n }\n\n public isValueActive(value: ListFilterValue<TRendered>): boolean {\n return this.getArrayValue().some((v) => v.equals(value));\n }\n\n public isActive(): boolean {\n return this.getArrayValue().length > 0;\n }\n\n public deactivateValue(value: ListFilterValue<TRendered>): void {\n const currentValueAsArray = this.getArrayValue();\n\n const updatedValue =\n this.mode === \"all\" || this.mode === \"some\"\n ? currentValueAsArray.filter((v) => !v.equals(value))\n : null;\n\n this.getTableColumn().setFilterValue(updatedValue);\n this.callOnChangedHandlers(updatedValue);\n }\n\n private callOnChangedHandlers(\n newValue: ListFilterValue<TRendered>[] | ListFilterValue<TRendered> | null,\n ): void {\n this.notifyFilterUpdated(toArray(newValue).map((v) => v?.value));\n }\n\n /** Tells the listeners — the list resetting its batches among them. */\n protected notifyFilterUpdated(values: unknown[]): void {\n this.onFilterChangeCallbacks.forEach((cb) => cb(values));\n }\n\n public hasChanges(): boolean {\n const currentIds = this.getArrayValue().map((v) => v.id);\n\n const defaultIds =\n this.getStoredSelectedIds({ autosave: false }) ??\n this.defaultSelectedValues?.map((v) => v.id) ??\n [];\n\n return (\n currentIds.length !== defaultIds.length ||\n difference(currentIds, defaultIds).length > 0\n );\n }\n\n public isStoringAvailable(): boolean {\n return !!this.context.settings && this.manualSave;\n }\n\n public resetValues(): void {\n const storedValues =\n this.getStoredSelectedValues({ autosave: false }) ??\n this.defaultSelectedValues;\n\n const resetTo =\n storedValues ?? (this.mode === \"all\" || this.mode === \"some\" ? [] : null);\n\n this.getTableColumn().setFilterValue(resetTo);\n this.callOnChangedHandlers(resetTo);\n }\n\n public clear(): void {\n this.getTableColumn().setFilterValue(null);\n this.callOnChangedHandlers(null);\n }\n\n public toggleValue(newValue: ListFilterValue<TRendered>): void {\n const currentValueAsArray = this.getArrayValue();\n\n let updatedValue:\n ListFilterValue<TRendered>[] | ListFilterValue<TRendered> | null;\n\n if (this.mode === \"all\" || this.mode === \"some\") {\n updatedValue = newValue.isActive\n ? currentValueAsArray.filter((v) => !v.equals(newValue))\n : [...currentValueAsArray, newValue];\n } else {\n updatedValue = newValue.isActive ? null : newValue;\n }\n\n this.getTableColumn().setFilterValue(updatedValue);\n this.callOnChangedHandlers(updatedValue);\n }\n\n /**\n * Whether the filter offers \"Select all\" — a `some` filter with enough\n * values.\n */\n public get isSelectAllAvailable(): boolean {\n return this.mode === \"some\" && this.values.length >= selectAllMinValueCount;\n }\n\n public isEveryValueActive(): boolean {\n return this.values.every((v) => v.isActive);\n }\n\n public selectAll(): void {\n this.setArrayValue(this.values);\n }\n\n /** Makes exactly these values active — what a multiple-selection menu reports. */\n public setActiveValueIds(ids: Iterable<unknown>): void {\n const idSet = new Set(ids);\n this.setArrayValue(this.values.filter((v) => idSet.has(v.id)));\n }\n\n public deselectAll(): void {\n this.setArrayValue([]);\n }\n\n private setArrayValue(value: ListFilterValue<TRendered>[]): void {\n this.getTableColumn().setFilterValue(value);\n this.callOnChangedHandlers(value);\n }\n\n public onFilterUpdated(cb: () => unknown): void {\n this.onFilterChangeCallbacks.add(cb);\n }\n}\n\nexport default ListFilter;\n"],"mappings":";;;;;;;;AAqBA,IAAM,yBACJ,aACA,kBACG,gBAAgB;;AAGrB,IAAM,yBAAyB;AAE/B,IAAM,0BACJ,UACG,OAAO,KAAK;;;;;;;;;;;;;;AAqBjB,IAAa,aAAb,MAKE;CACA;CACA;CAIA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,0CAA2C,IAAI,IAA2B;CAC1E;CACA;CACA;CAEA,YACE,SACA,OACA;EACA,MAAM,EACJ,WAAW,QAAQ,kBAAkB,SAAS,YAAY,OAC1D,aAAa,QAAQ,kBAAkB,SAAS,cAAc,MAC9D,UACA,OAAO,QACP,QACA,UAAU,uBACV,aAAa,wBAIb,WAAW,WACX,MACA,iBACA,aACE;EAEJ,KAAK,UAAU;EACf,KAAK,WAAW;EAChB,KAAK,aAAa;EAClB,KAAK,WAAW;EAChB,KAAK,aAAa,OAAO,QAAQ;EACjC,KAAK,OAAO;EACZ,KAAK,UAAU,QAAQ,KAAK,MAAM,gBAAgB,OAAO,MAAM,CAAC,CAAC;EACjE,KAAK,UAAU;EACf,KAAK,aAAa;EAClB,KAAK,OAAO;EACZ,KAAK,WAAW;EAChB,KAAK,wBAAwB,iBAAiB,KAAK,MACjD,gBAAgB,OAAO,MAAM,CAAC,CAChC;EACA,IAAI,UACF,KAAK,wBAAwB,IAAI,QAAQ;CAE7C;CAEA,mBAA0B,cAAuC;EAC/D,MAAM,aAAa,KAAK,sBAAsB;EAE9C,IAAI,YAAY,QACd,aAAa,gBAAgB,CAC3B,GAAI,aAAa,iBAAiB,CAAC,GACnC;GACE,IAAI,KAAK;GACT,OAAO;EACT,CACF;CAEJ;CAEA,wBAAsD;EACpD,OACE,KAAK,qBAAqB;GACxB,UAAU,KAAK;GACf,YAAY,KAAK;EACnB,CAAC,KAAK,KAAK,uBAAuB,KAAK,MAAM,EAAE,EAAE;CAErD;CAEA,qBACE,SACsB;EACtB,OAAO,KAAK,QAAQ,UAAU,IAAI,iBAAiB,OAAO,CAAC,GACzD,KAAK;CAET;CAEA,wBACE,SAC0C;EAC1C,OAAO,KAAK,qBAAqB,OAAO,CAAC,EACrC,KAAK,OAAO,KAAK,OAAO,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAClD,QAAQ,MAAuC,MAAM,KAAA,CAAS;CACnE;;;;;;;;;CAUA,OAAc,aACZ,SACA,SACA,SACM;EACN,MAAM,OAAO,OAAO,YAClB,QAAQ,KAAK,WAAW,CACtB,OAAO,YACP,OAAO,cAAc,CAAC,CAAC,KAAK,MAAM,EAAE,EAAE,CACxC,CAAC,CACH;EAEA,QAAQ,UAAU,MAAM,iBAAiB,MAAM,OAAO;CACxD;CAEA,qBAA4B,KAAyB;EACnD,IAAI,qBAAqB;EACzB,IAAI,WAAW,KAAK,iBAAiB;CACvC;CAEA,mBAAqD;EACnD,QAAQ,KAAK,GAAG,gBAAgB;GAC9B,MAAM,mBAAmB,KAAK;GAM9B,MAAM,WAAW,iBAAiB,WAAA,GAA+B,IAC7D,IAAI,WACJ,YAAY,IAAI,UAAoB,gBAAgB;GAExD,OAAO,KAAK,mBAAmB,UAAU,WAAW;EACtD;CACF;CAEA,mBACE,UACA,kBACS;EACT,IAAI,qBAAqB,MACvB,OAAO;EAGT,MAAM,aAAa,gBACjB,KAAK,QAAQ,YAAY,OAAgB,QAAiB;EAE5D,MAAM,iBAAiB,cACrB,gBAAgB,OAAO,MAAM,SAAS;EAExC,IAAI,KAAK,SAAS,OAChB,OAAO,QAAQ,gBAAgB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,MAAM,SAAS;OAC9D,IAAI,KAAK,SAAS,QAAQ;GAC/B,MAAM,YAAY,QAAQ,gBAAgB;GAC1C,OACE,UAAU,WAAW,KAAK,UAAU,IAAI,aAAa,CAAC,CAAC,KAAK,SAAS;EAEzE,OAAO,IAAI,KAAK,SAAS,OAIvB,OAAO,UAAU,cAHA,MAAM,QAAQ,gBAAgB,IAC3C,iBAAiB,KACjB,gBACmC,CAAC;EAG1C,MAAM,IAAI,MAAM,wBAAwB,KAAK,KAAK,EAAE;CACtD;CAEA,uBAA2D;EACzD,OAAO,KAAK,QAAQ,UACjB,SAAS,CAAC,CACV,cAAc,MAAM,MAAM,EAAE,OAAO,KAAK,QAAQ;CACrD;CAEA,iBAAsC;EACpC,OAAO,cAAc,KAAK,QAAQ,WAAW,KAAK,QAAQ;CAC5D;CAEA,WAA2B;EACzB,OAAO,KAAK,qBAAqB,CAAC,EAAE,SAAS;CAC/C;CAQA,0BAAgE;EAC9D,MAAM,SAAS,KAAK,eAAe,CAAC,CAAC,uBAAuB;EAE5D,IAAI,KAAK,sBAAsB,WAAW,QACxC,KAAK,uBAAuB;GAC1B;GACA,QAAQ,OACN,MAAM,KAAK,OAAO,KAAK,CAAC,CAAC,CACtB,SAAS,MAAM,CAAC,CAAC,CACjB,QAAQ,MAAM,MAAM,KAAA,KAAa,MAAM,IAAI,CAChD,CAAC,CAAC,KAAK,MAAM,gBAAgB,OAAO,MAAM,CAAC,CAAC;EAC9C;EAGF,OAAO,KAAK,qBAAqB;CACnC;CAEA,sBAA8B,OAA4C;EACxE,OAAO,CAAC,KAAK,OAAO,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE;CACnD;;;;;;CAOA,4BAAyC;EAEvC,IAAI,KAAK,YAAY,KAAA,GACnB;EAGF,KAAK,MAAM,iBAAiB,KAAK,cAAc,GAC7C,IAAI,KAAK,sBAAsB,aAAa,GAC1C,KAAK,gBAAgB,aAAa;CAGxC;;;;;;;;;;;CAYA,IAAW,SAAuC;EAChD,OAAO,KAAK,WAAW,KAAK,wBAAwB;CACtD;CAEA,gBAAqD;EACnD,MAAM,QAAQ,KAAK,SAAS;EAC5B,OAAO,UAAU,OACb,CAAC,IACD,QAAQ,KAAK,CAAC,CAAC,KAAK,MAAM,gBAAgB,OAAO,MAAM,CAAC,CAAC;CAC/D;CAEA,cAAqB,OAA4C;EAC/D,OAAO,KAAK,cAAc,CAAC,CAAC,MAAM,MAAM,EAAE,OAAO,KAAK,CAAC;CACzD;CAEA,WAA2B;EACzB,OAAO,KAAK,cAAc,CAAC,CAAC,SAAS;CACvC;CAEA,gBAAuB,OAAyC;EAC9D,MAAM,sBAAsB,KAAK,cAAc;EAE/C,MAAM,eACJ,KAAK,SAAS,SAAS,KAAK,SAAS,SACjC,oBAAoB,QAAQ,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC,IAClD;EAEN,KAAK,eAAe,CAAC,CAAC,eAAe,YAAY;EACjD,KAAK,sBAAsB,YAAY;CACzC;CAEA,sBACE,UACM;EACN,KAAK,oBAAoB,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM,GAAG,KAAK,CAAC;CACjE;;CAGA,oBAA8B,QAAyB;EACrD,KAAK,wBAAwB,SAAS,OAAO,GAAG,MAAM,CAAC;CACzD;CAEA,aAA6B;EAC3B,MAAM,aAAa,KAAK,cAAc,CAAC,CAAC,KAAK,MAAM,EAAE,EAAE;EAEvD,MAAM,aACJ,KAAK,qBAAqB,EAAE,UAAU,MAAM,CAAC,KAC7C,KAAK,uBAAuB,KAAK,MAAM,EAAE,EAAE,KAC3C,CAAC;EAEH,OACE,WAAW,WAAW,WAAW,UACjC,WAAW,YAAY,UAAU,CAAC,CAAC,SAAS;CAEhD;CAEA,qBAAqC;EACnC,OAAO,CAAC,CAAC,KAAK,QAAQ,YAAY,KAAK;CACzC;CAEA,cAA2B;EAKzB,MAAM,UAHJ,KAAK,wBAAwB,EAAE,UAAU,MAAM,CAAC,KAChD,KAAK,0BAGY,KAAK,SAAS,SAAS,KAAK,SAAS,SAAS,CAAC,IAAI;EAEtE,KAAK,eAAe,CAAC,CAAC,eAAe,OAAO;EAC5C,KAAK,sBAAsB,OAAO;CACpC;CAEA,QAAqB;EACnB,KAAK,eAAe,CAAC,CAAC,eAAe,IAAI;EACzC,KAAK,sBAAsB,IAAI;CACjC;CAEA,YAAmB,UAA4C;EAC7D,MAAM,sBAAsB,KAAK,cAAc;EAE/C,IAAI;EAGJ,IAAI,KAAK,SAAS,SAAS,KAAK,SAAS,QACvC,eAAe,SAAS,WACpB,oBAAoB,QAAQ,MAAM,CAAC,EAAE,OAAO,QAAQ,CAAC,IACrD,CAAC,GAAG,qBAAqB,QAAQ;OAErC,eAAe,SAAS,WAAW,OAAO;EAG5C,KAAK,eAAe,CAAC,CAAC,eAAe,YAAY;EACjD,KAAK,sBAAsB,YAAY;CACzC;;;;;CAMA,IAAW,uBAAgC;EACzC,OAAO,KAAK,SAAS,UAAU,KAAK,OAAO,UAAU;CACvD;CAEA,qBAAqC;EACnC,OAAO,KAAK,OAAO,OAAO,MAAM,EAAE,QAAQ;CAC5C;CAEA,YAAyB;EACvB,KAAK,cAAc,KAAK,MAAM;CAChC;;CAGA,kBAAyB,KAA8B;EACrD,MAAM,QAAQ,IAAI,IAAI,GAAG;EACzB,KAAK,cAAc,KAAK,OAAO,QAAQ,MAAM,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;CAC/D;CAEA,cAA2B;EACzB,KAAK,cAAc,CAAC,CAAC;CACvB;CAEA,cAAsB,OAA2C;EAC/D,KAAK,eAAe,CAAC,CAAC,eAAe,KAAK;EAC1C,KAAK,sBAAsB,KAAK;CAClC;CAEA,gBAAuB,IAAyB;EAC9C,KAAK,wBAAwB,IAAI,EAAE;CACrC;AACF"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* */
|
|
3
3
|
import { isShallowEqual } from "remeda";
|
|
4
4
|
import { hash } from "object-code";
|
|
5
|
-
|
|
5
|
+
// ../components-base/src/list/filter/ListFilterValue.ts
|
|
6
6
|
var idPrefix = "FilterValueId@@";
|
|
7
7
|
/**
|
|
8
8
|
* One selectable value of a filter, and the identity it is stored under.
|
|
@@ -45,7 +45,6 @@ var ListFilterValue = class ListFilterValue {
|
|
|
45
45
|
this.filter.deactivateValue(this);
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
//#endregion
|
|
49
48
|
export { ListFilterValue, ListFilterValue as default };
|
|
50
49
|
|
|
51
50
|
//# sourceMappingURL=ListFilterValue.mjs.map
|
|
@@ -1,27 +1,52 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
|
-
import { CalendarDate } from "@internationalized/date";
|
|
3
|
+
import { CalendarDate, CalendarDateTime, ZonedDateTime } from "@internationalized/date";
|
|
4
4
|
import { DateTime } from "luxon";
|
|
5
|
-
|
|
5
|
+
// ../components-base/src/list/filter/dateRange.ts
|
|
6
6
|
/** A range needs both ends present to be one, even if either may be unset. */
|
|
7
7
|
var isListDateRange = (value) => !!value && typeof value === "object" && "start" in value && "end" in value;
|
|
8
|
-
var
|
|
8
|
+
var hasTime = (date) => "hour" in date;
|
|
9
|
+
/**
|
|
10
|
+
* The date as a local point in time. A `ZonedDateTime` is the instant it names;
|
|
11
|
+
* anything else is read field by field, since after crossing the remote
|
|
12
|
+
* boundary a `CalendarDate` is a plain object.
|
|
13
|
+
*/
|
|
14
|
+
var listDateToDateTime = (date) => date instanceof ZonedDateTime ? DateTime.fromJSDate(date.toDate()) : DateTime.fromObject({
|
|
9
15
|
year: date.year,
|
|
10
16
|
month: date.month,
|
|
11
|
-
day: date.day
|
|
17
|
+
day: date.day,
|
|
18
|
+
...hasTime(date) ? {
|
|
19
|
+
hour: date.hour,
|
|
20
|
+
minute: date.minute,
|
|
21
|
+
second: date.second
|
|
22
|
+
} : {}
|
|
12
23
|
});
|
|
13
24
|
/**
|
|
25
|
+
* Resolves a range to the instants it spans, for filtering on the server side.
|
|
26
|
+
* Both bounds are inclusive: a date covers its whole day and a date with time
|
|
27
|
+
* its whole minute, in the user's local time zone. A missing side has no
|
|
28
|
+
* bound.
|
|
29
|
+
*/
|
|
30
|
+
var resolveListDateRange = (range) => {
|
|
31
|
+
const unit = (date) => hasTime(date) ? "minute" : "day";
|
|
32
|
+
return {
|
|
33
|
+
start: range.start ? listDateToDateTime(range.start).startOf(unit(range.start)).toJSDate() : void 0,
|
|
34
|
+
end: range.end ? listDateToDateTime(range.end).endOf(unit(range.end)).toJSDate() : void 0
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
14
38
|
* The cell's value as a point in time, or `undefined` when the filter does not
|
|
15
39
|
* treat it as a date.
|
|
16
40
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* start of its day
|
|
20
|
-
*
|
|
41
|
+
* A luxon `DateTime` and an ISO 8601 string are compared as the instant they
|
|
42
|
+
* name — a date-only string as the start of its day. A `CalendarDate` counts as
|
|
43
|
+
* the start of its day, a `CalendarDateTime` as its local time and a
|
|
44
|
+
* `ZonedDateTime` as its instant. Anything else, a plain `{ year, month, day }`
|
|
45
|
+
* object included, is not a date here.
|
|
21
46
|
*/
|
|
22
47
|
var toDateTime = (value) => {
|
|
23
48
|
if (value instanceof DateTime) return value;
|
|
24
|
-
if (value instanceof CalendarDate) return
|
|
49
|
+
if (value instanceof CalendarDate || value instanceof CalendarDateTime || value instanceof ZonedDateTime) return listDateToDateTime(value);
|
|
25
50
|
if (typeof value === "string") return DateTime.fromISO(value);
|
|
26
51
|
};
|
|
27
52
|
/**
|
|
@@ -35,17 +60,15 @@ var dateRangeFilterFn = (row, columnId, range) => {
|
|
|
35
60
|
if (!range) return true;
|
|
36
61
|
const dateValue = toDateTime(row.getValue(columnId));
|
|
37
62
|
if (!dateValue) return true;
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return !(endDate && dateValue > endDate);
|
|
63
|
+
const { start, end } = resolveListDateRange(range);
|
|
64
|
+
if (start && dateValue.toMillis() < start.getTime()) return false;
|
|
65
|
+
return !(end && dateValue.toMillis() > end.getTime());
|
|
42
66
|
};
|
|
43
67
|
/** Turns the column into one a date range filters. */
|
|
44
68
|
var applyDateRangeColumnDef = (def) => {
|
|
45
69
|
def.enableColumnFilter = true;
|
|
46
70
|
def.filterFn = dateRangeFilterFn;
|
|
47
71
|
};
|
|
48
|
-
|
|
49
|
-
export { applyDateRangeColumnDef, dateRangeFilterFn, isListDateRange };
|
|
72
|
+
export { applyDateRangeColumnDef, dateRangeFilterFn, isListDateRange, listDateToDateTime, resolveListDateRange };
|
|
50
73
|
|
|
51
74
|
//# sourceMappingURL=dateRange.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateRange.mjs","names":[],"sources":["../../../../../../../../components-base/src/list/filter/dateRange.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"dateRange.mjs","names":[],"sources":["../../../../../../../../components-base/src/list/filter/dateRange.ts"],"sourcesContent":["import {\n CalendarDate,\n CalendarDateTime,\n ZonedDateTime,\n} from \"@internationalized/date\";\nimport type { ColumnDef, Row } from \"@tanstack/table-core\";\nimport { DateTime } from \"luxon\";\n\n/**\n * A calendar date, in whichever shape it reached the filter — with a time of\n * day when the filter narrows down by minute.\n */\nexport interface ListDateParts {\n readonly year: number;\n readonly month: number;\n readonly day: number;\n readonly hour?: number;\n readonly minute?: number;\n readonly second?: number;\n}\n\nexport interface ListDateRange {\n readonly start?: ListDateParts;\n readonly end?: ListDateParts;\n}\n\n/** A range needs both ends present to be one, even if either may be unset. */\nexport const isListDateRange = (value: unknown): value is ListDateRange =>\n !!value && typeof value === \"object\" && \"start\" in value && \"end\" in value;\n\nconst hasTime = (date: ListDateParts) => \"hour\" in date;\n\n/**\n * The date as a local point in time. A `ZonedDateTime` is the instant it names;\n * anything else is read field by field, since after crossing the remote\n * boundary a `CalendarDate` is a plain object.\n */\nexport const listDateToDateTime = (date: ListDateParts): DateTime =>\n date instanceof ZonedDateTime\n ? DateTime.fromJSDate(date.toDate())\n : DateTime.fromObject({\n year: date.year,\n month: date.month,\n day: date.day,\n ...(hasTime(date)\n ? { hour: date.hour, minute: date.minute, second: date.second }\n : {}),\n });\n\n/**\n * Resolves a range to the instants it spans, for filtering on the server side.\n * Both bounds are inclusive: a date covers its whole day and a date with time\n * its whole minute, in the user's local time zone. A missing side has no\n * bound.\n */\nexport const resolveListDateRange = (\n range: ListDateRange,\n): { start?: Date; end?: Date } => {\n const unit = (date: ListDateParts) => (hasTime(date) ? \"minute\" : \"day\");\n\n return {\n start: range.start\n ? listDateToDateTime(range.start).startOf(unit(range.start)).toJSDate()\n : undefined,\n end: range.end\n ? listDateToDateTime(range.end).endOf(unit(range.end)).toJSDate()\n : undefined,\n };\n};\n\n/**\n * The cell's value as a point in time, or `undefined` when the filter does not\n * treat it as a date.\n *\n * A luxon `DateTime` and an ISO 8601 string are compared as the instant they\n * name — a date-only string as the start of its day. A `CalendarDate` counts as\n * the start of its day, a `CalendarDateTime` as its local time and a\n * `ZonedDateTime` as its instant. Anything else, a plain `{ year, month, day }`\n * object included, is not a date here.\n */\nconst toDateTime = (value: unknown): DateTime | undefined => {\n if (value instanceof DateTime) {\n return value;\n }\n if (\n value instanceof CalendarDate ||\n value instanceof CalendarDateTime ||\n value instanceof ZonedDateTime\n ) {\n return listDateToDateTime(value);\n }\n if (typeof value === \"string\") {\n return DateTime.fromISO(value);\n }\n return undefined;\n};\n\n/**\n * Whether a row's date falls inside the selected range.\n *\n * A value that is not a date keeps its row: a filter the data cannot answer\n * should not empty the list. That includes a string luxon cannot parse — the\n * invalid `DateTime` compares as `NaN`, and neither end excludes it.\n */\nexport const dateRangeFilterFn = <T>(\n row: Row<T>,\n columnId: string,\n range?: ListDateRange,\n): boolean => {\n if (!range) {\n return true;\n }\n\n const dateValue = toDateTime(row.getValue(columnId));\n\n if (!dateValue) {\n return true;\n }\n\n const { start, end } = resolveListDateRange(range);\n\n if (start && dateValue.toMillis() < start.getTime()) {\n return false;\n }\n\n return !(end && dateValue.toMillis() > end.getTime());\n};\n\n/** Turns the column into one a date range filters. */\nexport const applyDateRangeColumnDef = <T>(def: ColumnDef<T>): void => {\n def.enableColumnFilter = true;\n def.filterFn = dateRangeFilterFn;\n};\n"],"mappings":";;;;;;AA2BA,IAAa,mBAAmB,UAC9B,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,WAAW,SAAS,SAAS;AAEvE,IAAM,WAAW,SAAwB,UAAU;;;;;;AAOnD,IAAa,sBAAsB,SACjC,gBAAgB,gBACZ,SAAS,WAAW,KAAK,OAAO,CAAC,IACjC,SAAS,WAAW;CAClB,MAAM,KAAK;CACX,OAAO,KAAK;CACZ,KAAK,KAAK;CACV,GAAI,QAAQ,IAAI,IACZ;EAAE,MAAM,KAAK;EAAM,QAAQ,KAAK;EAAQ,QAAQ,KAAK;CAAO,IAC5D,CAAC;AACP,CAAC;;;;;;;AAQP,IAAa,wBACX,UACiC;CACjC,MAAM,QAAQ,SAAyB,QAAQ,IAAI,IAAI,WAAW;CAElE,OAAO;EACL,OAAO,MAAM,QACT,mBAAmB,MAAM,KAAK,CAAC,CAAC,QAAQ,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC,SAAS,IACpE,KAAA;EACJ,KAAK,MAAM,MACP,mBAAmB,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,IAC9D,KAAA;CACN;AACF;;;;;;;;;;;AAYA,IAAM,cAAc,UAAyC;CAC3D,IAAI,iBAAiB,UACnB,OAAO;CAET,IACE,iBAAiB,gBACjB,iBAAiB,oBACjB,iBAAiB,eAEjB,OAAO,mBAAmB,KAAK;CAEjC,IAAI,OAAO,UAAU,UACnB,OAAO,SAAS,QAAQ,KAAK;AAGjC;;;;;;;;AASA,IAAa,qBACX,KACA,UACA,UACY;CACZ,IAAI,CAAC,OACH,OAAO;CAGT,MAAM,YAAY,WAAW,IAAI,SAAS,QAAQ,CAAC;CAEnD,IAAI,CAAC,WACH,OAAO;CAGT,MAAM,EAAE,OAAO,QAAQ,qBAAqB,KAAK;CAEjD,IAAI,SAAS,UAAU,SAAS,IAAI,MAAM,QAAQ,GAChD,OAAO;CAGT,OAAO,EAAE,OAAO,UAAU,SAAS,IAAI,IAAI,QAAQ;AACrD;;AAGA,IAAa,2BAA8B,QAA4B;CACrE,IAAI,qBAAqB;CACzB,IAAI,WAAW;AACjB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { resolveListDateRange } from "./dateRange.mjs";
|
|
4
|
+
import { CalendarDate, Time, toCalendarDateTime } from "@internationalized/date";
|
|
5
|
+
// ../components-base/src/list/filter/dateTimeRangeFields.ts
|
|
6
|
+
var toListCalendarDate = (value) => value ? new CalendarDate(value.year, value.month, value.day) : null;
|
|
7
|
+
var toListTime = (value) => value && "hour" in value ? new Time(value.hour, value.minute) : null;
|
|
8
|
+
var listDateTimeRangeFieldsFromValue = (value) => ({
|
|
9
|
+
startDate: toListCalendarDate(value?.start),
|
|
10
|
+
startTime: toListTime(value?.start),
|
|
11
|
+
endDate: toListCalendarDate(value?.end),
|
|
12
|
+
endTime: toListTime(value?.end)
|
|
13
|
+
});
|
|
14
|
+
var toBound = (date, time) => date ? time ? toCalendarDateTime(date, time) : date : void 0;
|
|
15
|
+
var boundKey = (bound) => bound && [
|
|
16
|
+
bound.year,
|
|
17
|
+
bound.month,
|
|
18
|
+
bound.day,
|
|
19
|
+
bound.hour,
|
|
20
|
+
bound.minute
|
|
21
|
+
].join("-");
|
|
22
|
+
var isYearComplete = (date) => !!date && date.year >= 1e3;
|
|
23
|
+
/** Not while a year is still being typed: "2" would read as an early end. */
|
|
24
|
+
var isListDateTimeRangeEndBeforeStart = (fields) => {
|
|
25
|
+
if (!isYearComplete(fields.startDate) || !isYearComplete(fields.endDate)) return false;
|
|
26
|
+
const { start, end } = resolveListDateRange({
|
|
27
|
+
start: toBound(fields.startDate, fields.startTime),
|
|
28
|
+
end: toBound(fields.endDate, fields.endTime)
|
|
29
|
+
});
|
|
30
|
+
return !!start && !!end && end < start;
|
|
31
|
+
};
|
|
32
|
+
var isListDateValid = (date, limits = {}) => {
|
|
33
|
+
const minValue = toListCalendarDate(limits.minValue);
|
|
34
|
+
const maxValue = toListCalendarDate(limits.maxValue);
|
|
35
|
+
return !date || !(!isYearComplete(date) || minValue && date.compare(minValue) < 0 || maxValue && date.compare(maxValue) > 0 || limits.isDateUnavailable?.(date));
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* The range the fields stand for, or `undefined` while it must not be applied:
|
|
39
|
+
* an invalid input keeps the last valid range, and an unchanged one needs no
|
|
40
|
+
* update. `null` clears the filter.
|
|
41
|
+
*/
|
|
42
|
+
var getListDateTimeRangeUpdate = (fields, applied, limits) => {
|
|
43
|
+
if (!isListDateValid(fields.startDate, limits) || !isListDateValid(fields.endDate, limits) || isListDateTimeRangeEndBeforeStart(fields)) return;
|
|
44
|
+
const start = toBound(fields.startDate, fields.startTime);
|
|
45
|
+
const end = toBound(fields.endDate, fields.endTime);
|
|
46
|
+
if (boundKey(start) === boundKey(applied?.start) && boundKey(end) === boundKey(applied?.end)) return;
|
|
47
|
+
return start || end ? {
|
|
48
|
+
start,
|
|
49
|
+
end
|
|
50
|
+
} : null;
|
|
51
|
+
};
|
|
52
|
+
export { getListDateTimeRangeUpdate, isListDateTimeRangeEndBeforeStart, isListDateValid, listDateTimeRangeFieldsFromValue, toListCalendarDate, toListTime };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=dateTimeRangeFields.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateTimeRangeFields.mjs","names":[],"sources":["../../../../../../../../components-base/src/list/filter/dateTimeRangeFields.ts"],"sourcesContent":["import {\n CalendarDate,\n type CalendarDateTime,\n Time,\n toCalendarDateTime,\n} from \"@internationalized/date\";\nimport {\n resolveListDateRange,\n type ListDateParts,\n type ListDateRange,\n} from \"./dateRange\";\n\n/*\n * The rules of the date and time fields a range filter shows with\n * `granularity: \"minute\"`. Which input is valid and when it applies is the same\n * in every binding; the fields and the state holding their input are not.\n */\n\nexport interface ListDateTimeRangeFields {\n readonly startDate: CalendarDate | null;\n readonly startTime: Time | null;\n readonly endDate: CalendarDate | null;\n readonly endTime: Time | null;\n}\n\nexport interface ListDateTimeRangeLimits {\n readonly minValue?: ListDateParts | null;\n readonly maxValue?: ListDateParts | null;\n readonly isDateUnavailable?: (date: CalendarDate) => boolean;\n}\n\ntype Bound = CalendarDate | CalendarDateTime;\n\nexport interface ListDateTimeRange {\n readonly start?: Bound;\n readonly end?: Bound;\n}\n\n/* Field by field: a value from the host of a remote connection is a plain object. */\nexport const toListCalendarDate = (\n value?: ListDateParts | null,\n): CalendarDate | null =>\n value ? new CalendarDate(value.year, value.month, value.day) : null;\n\nexport const toListTime = (\n value?: { readonly hour?: number; readonly minute?: number } | null,\n): Time | null =>\n value && \"hour\" in value ? new Time(value.hour, value.minute) : null;\n\nexport const listDateTimeRangeFieldsFromValue = (\n value: ListDateRange | null,\n): ListDateTimeRangeFields => ({\n startDate: toListCalendarDate(value?.start),\n startTime: toListTime(value?.start),\n endDate: toListCalendarDate(value?.end),\n endTime: toListTime(value?.end),\n});\n\nconst toBound = (date: CalendarDate | null, time: Time | null) =>\n date ? (time ? toCalendarDateTime(date, time) : date) : undefined;\n\nconst boundKey = (bound?: ListDateParts) =>\n bound &&\n [bound.year, bound.month, bound.day, bound.hour, bound.minute].join(\"-\");\n\n// react-aria reports a typed year digit by digit (2, 20, 202, 2026)\nconst isYearComplete = (date: CalendarDate | null) =>\n !!date && date.year >= 1000;\n\n/** Not while a year is still being typed: \"2\" would read as an early end. */\nexport const isListDateTimeRangeEndBeforeStart = (\n fields: ListDateTimeRangeFields,\n): boolean => {\n if (!isYearComplete(fields.startDate) || !isYearComplete(fields.endDate)) {\n return false;\n }\n const { start, end } = resolveListDateRange({\n start: toBound(fields.startDate, fields.startTime),\n end: toBound(fields.endDate, fields.endTime),\n });\n return !!start && !!end && end < start;\n};\n\nexport const isListDateValid = (\n date: CalendarDate | null,\n limits: ListDateTimeRangeLimits = {},\n): boolean => {\n const minValue = toListCalendarDate(limits.minValue);\n const maxValue = toListCalendarDate(limits.maxValue);\n\n return (\n !date ||\n !(\n !isYearComplete(date) ||\n (minValue && date.compare(minValue) < 0) ||\n (maxValue && date.compare(maxValue) > 0) ||\n limits.isDateUnavailable?.(date)\n )\n );\n};\n\n/**\n * The range the fields stand for, or `undefined` while it must not be applied:\n * an invalid input keeps the last valid range, and an unchanged one needs no\n * update. `null` clears the filter.\n */\nexport const getListDateTimeRangeUpdate = (\n fields: ListDateTimeRangeFields,\n applied: ListDateRange | null,\n limits?: ListDateTimeRangeLimits,\n): ListDateTimeRange | null | undefined => {\n if (\n !isListDateValid(fields.startDate, limits) ||\n !isListDateValid(fields.endDate, limits) ||\n isListDateTimeRangeEndBeforeStart(fields)\n ) {\n return undefined;\n }\n\n const start = toBound(fields.startDate, fields.startTime);\n const end = toBound(fields.endDate, fields.endTime);\n\n if (\n boundKey(start) === boundKey(applied?.start) &&\n boundKey(end) === boundKey(applied?.end)\n ) {\n return undefined;\n }\n\n return start || end ? { start, end } : null;\n};\n"],"mappings":";;;;;AAuCA,IAAa,sBACX,UAEA,QAAQ,IAAI,aAAa,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,IAAI;AAEjE,IAAa,cACX,UAEA,SAAS,UAAU,QAAQ,IAAI,KAAK,MAAM,MAAM,MAAM,MAAM,IAAI;AAElE,IAAa,oCACX,WAC6B;CAC7B,WAAW,mBAAmB,OAAO,KAAK;CAC1C,WAAW,WAAW,OAAO,KAAK;CAClC,SAAS,mBAAmB,OAAO,GAAG;CACtC,SAAS,WAAW,OAAO,GAAG;AAChC;AAEA,IAAM,WAAW,MAA2B,SAC1C,OAAQ,OAAO,mBAAmB,MAAM,IAAI,IAAI,OAAQ,KAAA;AAE1D,IAAM,YAAY,UAChB,SACA;CAAC,MAAM;CAAM,MAAM;CAAO,MAAM;CAAK,MAAM;CAAM,MAAM;AAAM,CAAC,CAAC,KAAK,GAAG;AAGzE,IAAM,kBAAkB,SACtB,CAAC,CAAC,QAAQ,KAAK,QAAQ;;AAGzB,IAAa,qCACX,WACY;CACZ,IAAI,CAAC,eAAe,OAAO,SAAS,KAAK,CAAC,eAAe,OAAO,OAAO,GACrE,OAAO;CAET,MAAM,EAAE,OAAO,QAAQ,qBAAqB;EAC1C,OAAO,QAAQ,OAAO,WAAW,OAAO,SAAS;EACjD,KAAK,QAAQ,OAAO,SAAS,OAAO,OAAO;CAC7C,CAAC;CACD,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,MAAM;AACnC;AAEA,IAAa,mBACX,MACA,SAAkC,CAAC,MACvB;CACZ,MAAM,WAAW,mBAAmB,OAAO,QAAQ;CACnD,MAAM,WAAW,mBAAmB,OAAO,QAAQ;CAEnD,OACE,CAAC,QACD,EACE,CAAC,eAAe,IAAI,KACnB,YAAY,KAAK,QAAQ,QAAQ,IAAI,KACrC,YAAY,KAAK,QAAQ,QAAQ,IAAI,KACtC,OAAO,oBAAoB,IAAI;AAGrC;;;;;;AAOA,IAAa,8BACX,QACA,SACA,WACyC;CACzC,IACE,CAAC,gBAAgB,OAAO,WAAW,MAAM,KACzC,CAAC,gBAAgB,OAAO,SAAS,MAAM,KACvC,kCAAkC,MAAM,GAExC;CAGF,MAAM,QAAQ,QAAQ,OAAO,WAAW,OAAO,SAAS;CACxD,MAAM,MAAM,QAAQ,OAAO,SAAS,OAAO,OAAO;CAElD,IACE,SAAS,KAAK,MAAM,SAAS,SAAS,KAAK,KAC3C,SAAS,GAAG,MAAM,SAAS,SAAS,GAAG,GAEvC;CAGF,OAAO,SAAS,MAAM;EAAE;EAAO;CAAI,IAAI;AACzC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
/* */
|
|
3
|
+
import { listDateToDateTime } from "./dateRange.mjs";
|
|
4
|
+
import { DateFormatter } from "@internationalized/date";
|
|
5
|
+
// ../components-base/src/list/filter/formatDateRange.ts
|
|
6
|
+
/** The active filter chip's text: an end with time shows its time. */
|
|
7
|
+
var formatListDateRange = (value, locale, format) => {
|
|
8
|
+
const formatBound = (bound) => new DateFormatter(locale, {
|
|
9
|
+
year: "numeric",
|
|
10
|
+
month: "numeric",
|
|
11
|
+
day: "numeric",
|
|
12
|
+
..."hour" in bound ? {
|
|
13
|
+
hour: "2-digit",
|
|
14
|
+
minute: "2-digit",
|
|
15
|
+
hourCycle: "h23"
|
|
16
|
+
} : {}
|
|
17
|
+
}).format(listDateToDateTime(bound).toJSDate());
|
|
18
|
+
const { start, end } = value;
|
|
19
|
+
if (start && end) return `${formatBound(start)} – ${formatBound(end)}`;
|
|
20
|
+
if (start) return format("dateRange.from", { date: formatBound(start) });
|
|
21
|
+
if (end) return format("dateRange.until", { date: formatBound(end) });
|
|
22
|
+
return "";
|
|
23
|
+
};
|
|
24
|
+
export { formatListDateRange };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=formatDateRange.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDateRange.mjs","names":[],"sources":["../../../../../../../../components-base/src/list/filter/formatDateRange.ts"],"sourcesContent":["import { DateFormatter } from \"@internationalized/date\";\nimport {\n listDateToDateTime,\n type ListDateParts,\n type ListDateRange,\n} from \"./dateRange\";\n\n/** Formats the text of an open range (\"from {date}\", \"until {date}\"). */\nexport type ListDateRangeTextFormat = (\n key: \"dateRange.from\" | \"dateRange.until\",\n values: { date: string },\n) => string;\n\n/** The active filter chip's text: an end with time shows its time. */\nexport const formatListDateRange = (\n value: ListDateRange,\n locale: string,\n format: ListDateRangeTextFormat,\n): string => {\n const formatBound = (bound: ListDateParts) =>\n new DateFormatter(locale, {\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\",\n // TimeField always shows 24 hours\n ...(\"hour\" in bound\n ? { hour: \"2-digit\", minute: \"2-digit\", hourCycle: \"h23\" }\n : {}),\n }).format(listDateToDateTime(bound).toJSDate());\n\n const { start, end } = value;\n\n if (start && end) {\n return `${formatBound(start)} – ${formatBound(end)}`;\n }\n if (start) {\n return format(\"dateRange.from\", { date: formatBound(start) });\n }\n if (end) {\n return format(\"dateRange.until\", { date: formatBound(end) });\n }\n return \"\";\n};\n"],"mappings":";;;;;;AAcA,IAAa,uBACX,OACA,QACA,WACW;CACX,MAAM,eAAe,UACnB,IAAI,cAAc,QAAQ;EACxB,MAAM;EACN,OAAO;EACP,KAAK;EAEL,GAAI,UAAU,QACV;GAAE,MAAM;GAAW,QAAQ;GAAW,WAAW;EAAM,IACvD,CAAC;CACP,CAAC,CAAC,CAAC,OAAO,mBAAmB,KAAK,CAAC,CAAC,SAAS,CAAC;CAEhD,MAAM,EAAE,OAAO,QAAQ;CAEvB,IAAI,SAAS,KACX,OAAO,GAAG,YAAY,KAAK,EAAE,KAAK,YAAY,GAAG;CAEnD,IAAI,OACF,OAAO,OAAO,kBAAkB,EAAE,MAAM,YAAY,KAAK,EAAE,CAAC;CAE9D,IAAI,KACF,OAAO,OAAO,mBAAmB,EAAE,MAAM,YAAY,GAAG,EAAE,CAAC;CAE7D,OAAO;AACT"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
/* */
|
|
3
|
-
|
|
3
|
+
// ../components-base/src/list/item/ListItem.ts
|
|
4
4
|
/** One row of the list, as the views see it: an id and the data behind it. */
|
|
5
5
|
var ListItem = class ListItem {
|
|
6
6
|
id;
|
|
@@ -15,7 +15,6 @@ var ListItem = class ListItem {
|
|
|
15
15
|
return new ListItem(collection, row.id, row.original);
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
//#endregion
|
|
19
18
|
export { ListItem };
|
|
20
19
|
|
|
21
20
|
//# sourceMappingURL=ListItem.mjs.map
|