@mittwald/flow-react-components 1.6.0-next.4 → 1.6.0-next.41
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/_18.locale.mjs +14 -0
- package/dist/js/default.mjs +4 -3
- package/dist/js/flr-universal.mjs +2 -1
- package/dist/js/node_modules/.pnpm/{@lezer_lr@1.4.10 → @lezer_lr@1.4.11}/node_modules/@lezer/lr/dist/index.mjs +40 -28
- 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 +3 -2
- package/dist/js/packages/components/src/components/AccentBox/AccentBox.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Accordion/Accordion.mjs +3 -2
- package/dist/js/packages/components/src/components/Accordion/Accordion.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Action/models/ActionState.mjs +2 -2
- package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.mjs +3 -3
- package/dist/js/packages/components/src/components/ActionGroup/ActionGroup.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Activity/Activity.mjs +1 -1
- package/dist/js/packages/components/src/components/Activity/Activity.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Alert/Alert.mjs +3 -2
- package/dist/js/packages/components/src/components/Alert/Alert.mjs.map +1 -1
- package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.mjs +1 -1
- package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.mjs.map +1 -1
- package/dist/js/packages/components/src/components/AlertBadge/AlertBadge.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Badge/Badge.mjs +2 -2
- package/dist/js/packages/components/src/components/Badge/Badge.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Badge/Badge.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/helpers/useCalendarDateRangePresets.mjs +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.mjs +6 -8
- package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/YAxis.mjs +23 -5
- package/dist/js/packages/components/src/components/CartesianChart/components/YAxis/YAxis.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useTickLabelWidth.mjs +67 -0
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useTickLabelWidth.mjs.map +1 -0
- package/dist/js/packages/components/src/components/Checkbox/Checkbox.mjs +2 -2
- package/dist/js/packages/components/src/components/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.mjs +3 -3
- package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.mjs +41 -12
- package/dist/js/packages/components/src/components/CodeEditor/CodeEditor.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CodeEditor/hooks/useCodeEditorExtensions.mjs +29 -16
- 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 +1 -1
- package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs +3 -2
- package/dist/js/packages/components/src/components/ComboBox/ComboBox.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs +3 -2
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CountryOptions/CountryOptions.mjs +5 -1
- package/dist/js/packages/components/src/components/CountryOptions/CountryOptions.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DatePicker/DatePicker.mjs +2 -1
- package/dist/js/packages/components/src/components/DatePicker/DatePicker.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.mjs +2 -1
- package/dist/js/packages/components/src/components/DateRangePicker/DateRangePicker.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DeprecationWarningProvider/DeprecationWarningProvider.mjs +40 -8
- package/dist/js/packages/components/src/components/DeprecationWarningProvider/DeprecationWarningProvider.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DonutChart/DonutChart.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Heading/Heading.mjs +2 -0
- package/dist/js/packages/components/src/components/Heading/Heading.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Icon/Icon.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/IllustratedMessage/IllustratedMessage.mjs +3 -2
- package/dist/js/packages/components/src/components/IllustratedMessage/IllustratedMessage.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Label/Label.mjs +0 -4
- package/dist/js/packages/components/src/components/Label/Label.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Link/Link.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +5 -2
- 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/AllFiltersModal/AllFiltersModal.mjs +2 -2
- 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/FilterAccordionDateRange.mjs +5 -3
- 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/DateTimeRangeFields/DateTimeRangeFields.mjs +101 -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 +13 -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 +16 -9
- 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/FilterContextMenus.module.mjs +6 -2
- 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/SearchField/SearchField.mjs +4 -2
- 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/Items/Items.mjs +3 -0
- 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/components/Item/Item.mjs +1 -1
- 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/hooks/useGridItemProps.mjs +1 -2
- 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 +3 -0
- 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/ListSummary/ListSummary.mjs +5 -9
- package/dist/js/packages/components/src/components/List/components/ListSummary/ListSummary.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Table/Table.mjs +8 -12
- 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/components/Row.mjs +31 -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/hooks/useLatestOnAction.mjs +21 -0
- package/dist/js/packages/components/src/components/List/hooks/useLatestOnAction.mjs.map +1 -0
- package/dist/js/packages/components/src/components/List/model/List.mjs +1 -0
- package/dist/js/packages/components/src/components/List/model/List.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/ListViewMode.mjs +2 -2
- package/dist/js/packages/components/src/components/List/model/ReactTable.mjs +2 -2
- package/dist/js/packages/components/src/components/List/model/filter/DateRangeFilter.mjs +15 -2
- 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/resolveDateRangeFilterValue.mjs +16 -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/ItemView.mjs +20 -7
- 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/IncrementalLoaderState.mjs +2 -2
- package/dist/js/packages/components/src/components/List/model/table/TableCell.mjs +1 -1
- 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/TableRow.mjs +28 -1
- package/dist/js/packages/components/src/components/List/model/table/TableRow.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Markdown/Markdown.mjs +25 -7
- package/dist/js/packages/components/src/components/Markdown/Markdown.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Markdown/components/SkeletonBlocks.mjs +1 -1
- package/dist/js/packages/components/src/components/Markdown/components/SkeletonBlocks.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Markdown/lib/isExternalHref.mjs +8 -0
- package/dist/js/packages/components/src/components/Markdown/lib/isExternalHref.mjs.map +1 -0
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs +32 -3
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.mjs.map +1 -1
- package/dist/js/packages/components/src/components/MenuItem/MenuItem.module.mjs +1 -3
- package/dist/js/packages/components/src/components/MessageThread/MessageThread.mjs +1 -1
- package/dist/js/packages/components/src/components/MessageThread/MessageThread.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Modal/Modal.mjs +9 -2
- package/dist/js/packages/components/src/components/Modal/Modal.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Navigation/Navigation.module.mjs +1 -3
- package/dist/js/packages/components/src/components/NumberField/NumberField.mjs +2 -3
- package/dist/js/packages/components/src/components/NumberField/NumberField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Option/Option.module.mjs +1 -3
- package/dist/js/packages/components/src/components/Overlay/components/OverlayContent.mjs +2 -1
- package/dist/js/packages/components/src/components/Overlay/components/OverlayContent.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Popover/components/NonModalPopoverContent/NonModalPopoverContent.mjs +1 -1
- 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 +4 -2
- package/dist/js/packages/components/src/components/Popover/components/PopoverContent/PopoverContent.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarLegend.mjs +5 -4
- package/dist/js/packages/components/src/components/ProgressBar/components/ProgressBarLegend.mjs.map +1 -1
- package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.mjs +2 -3
- package/dist/js/packages/components/src/components/RadioGroup/RadioGroup.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Rating/Rating.mjs +12 -11
- package/dist/js/packages/components/src/components/Rating/Rating.mjs.map +1 -1
- package/dist/js/packages/components/src/components/SearchField/SearchField.mjs +2 -3
- package/dist/js/packages/components/src/components/SearchField/SearchField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Section/Section.mjs +10 -6
- package/dist/js/packages/components/src/components/Section/Section.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs +0 -4
- package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Section/context.mjs +47 -0
- package/dist/js/packages/components/src/components/Section/context.mjs.map +1 -0
- package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.mjs +2 -3
- package/dist/js/packages/components/src/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Select/Select.mjs +2 -3
- package/dist/js/packages/components/src/components/Select/Select.mjs.map +1 -1
- package/dist/js/packages/components/src/components/SkeletonText/SkeletonText.mjs +4 -3
- package/dist/js/packages/components/src/components/SkeletonText/SkeletonText.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Slider/Slider.mjs +47 -41
- package/dist/js/packages/components/src/components/Slider/Slider.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/Table.mjs +3 -0
- package/dist/js/packages/components/src/components/Table/Table.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/Table.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/components/TableCell/TableCell.mjs +5 -12
- 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 +4 -2
- package/dist/js/packages/components/src/components/Table/components/TableColumn/TableColumn.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Table/components/TableHeader/TableHeader.mjs +7 -1
- 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 +14 -0
- package/dist/js/packages/components/src/components/Table/components/TableHeader/context.mjs.map +1 -0
- package/dist/js/packages/components/src/components/Tabs/Tabs.mjs +6 -8
- package/dist/js/packages/components/src/components/Tabs/Tabs.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tabs/Tabs.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tabs/components/TabTitle/TabTitle.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Text/Text.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/TextField/TextField.mjs +11 -8
- package/dist/js/packages/components/src/components/TextField/TextField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/TimeField/TimeField.mjs +4 -2
- package/dist/js/packages/components/src/components/TimeField/TimeField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/TranslationProvider/useLocalizedStringFormatter.mjs +15 -2
- package/dist/js/packages/components/src/components/TranslationProvider/useLocalizedStringFormatter.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Wrap/Wrap.mjs.map +1 -1
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Field/Field.mjs +1 -1
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/Form.mjs +4 -1
- 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/FormRootError/FormRootError.mjs +1 -1
- package/dist/js/packages/components/src/integrations/react-hook-form/components/FormSettingsProvider/FormSettingsProvider.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/controller/overlay/OverlayController.mjs +10 -158
- package/dist/js/packages/components/src/lib/controller/overlay/OverlayController.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/controller/overlay/useCloseOverlayConfirmationController.mjs +1 -0
- package/dist/js/packages/components/src/lib/controller/overlay/useCloseOverlayConfirmationController.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/hooks/dom/useVirtualKeyboardVisible.mjs +8 -4
- package/dist/js/packages/components/src/lib/hooks/dom/useVirtualKeyboardVisible.mjs.map +1 -1
- package/dist/js/packages/components/src/views/DatePickerView.mjs +16 -0
- package/dist/js/packages/components/src/views/DatePickerView.mjs.map +1 -0
- package/dist/js/packages/components/src/views/LabelView.mjs +16 -0
- package/dist/js/packages/components/src/views/LabelView.mjs.map +1 -0
- package/dist/js/packages/components/src/views/TimeFieldView.mjs +16 -0
- package/dist/js/packages/components/src/views/TimeFieldView.mjs.map +1 -0
- package/dist/js/packages/components-base/src/index.mjs +5 -2
- package/dist/js/packages/components-base/src/list/filter/ListDateRangeFilter.mjs +1 -0
- 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 +4 -1
- package/dist/js/packages/components-base/src/list/filter/ListFilter.mjs.map +1 -1
- package/dist/js/packages/components-base/src/list/filter/dateRange.mjs +37 -13
- 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 +55 -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 +27 -0
- package/dist/js/packages/components-base/src/list/filter/formatDateRange.mjs.map +1 -0
- package/dist/js/packages/components-base/src/overlay/OverlayState.mjs +196 -0
- package/dist/js/packages/components-base/src/overlay/OverlayState.mjs.map +1 -0
- 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/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/index.d.ts +2 -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/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 +1 -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/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
|
@@ -7,6 +7,8 @@ interface Props extends PropsWithChildren {
|
|
|
7
7
|
triggerRef?: Ref<HTMLDivElement>;
|
|
8
8
|
list: ListModel<never>;
|
|
9
9
|
isTile: boolean;
|
|
10
|
+
/** Stable invoker of the list's latest `onAction` */
|
|
11
|
+
onAction?: (data: never) => void;
|
|
10
12
|
}
|
|
11
13
|
export declare const Item: import('react').MemoExoticComponent<(props: Props) => import('react').JSX.Element | null>;
|
|
12
14
|
interface ItemContainerProps extends PropsWithChildren {
|
package/dist/types/components/List/components/Items/components/Item/hooks/useGridItemProps.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { PropsWithChildren } from 'react';
|
|
|
2
2
|
import { default as List } from '../../../../../model/List';
|
|
3
3
|
interface P extends PropsWithChildren {
|
|
4
4
|
data: never;
|
|
5
|
+
onAction?: (data: never) => void;
|
|
5
6
|
}
|
|
6
7
|
export declare const useGridItemProps: (props: P, list: List<never>) => {
|
|
7
8
|
gridItemProps: {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
2
|
import { FlowComponentProps } from '../../../../lib/componentFactory/flowComponent';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { PropsWithClassName } from '../../../../lib/types/props';
|
|
4
|
+
export interface ListSummaryProps extends PropsWithClassName, FlowComponentProps, PropsWithChildren {
|
|
5
|
+
/** Whether the summary is placed above or underneath the list @default "top" */
|
|
5
6
|
position?: "top" | "bottom";
|
|
6
7
|
}
|
|
7
8
|
/** @flr-generate all */
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Ref } from 'react';
|
|
2
|
+
import { Key } from 'react-aria-components';
|
|
3
|
+
import { default as ListModel } from '../../../model/List';
|
|
4
|
+
interface Props {
|
|
5
|
+
id: Key;
|
|
6
|
+
data: never;
|
|
7
|
+
list: ListModel<never>;
|
|
8
|
+
/** Stable invoker of the list's latest `onAction` */
|
|
9
|
+
onAction?: (data: never) => void;
|
|
10
|
+
triggerRef?: Ref<HTMLTableRowElement>;
|
|
11
|
+
}
|
|
12
|
+
export declare const Row: import('react').MemoExoticComponent<(props: Props) => import('react').JSX.Element | null>;
|
|
13
|
+
export default Row;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as List } from '../model/List';
|
|
2
|
+
/**
|
|
3
|
+
* A stable invoker of the list's latest `onAction`, or `undefined` without one.
|
|
4
|
+
* An event handler only ever needs to be the latest one, so items and rows do
|
|
5
|
+
* not re-render for an inline `onAction`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useLatestOnAction: (list: List<never>) => ((data: never) => void | undefined) | undefined;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export type { RenderItemFn } from './model/item/types';
|
|
2
2
|
export type { AsyncDataLoader, AsyncResourceFactory, DataLoaderOptions, DataLoaderResult, } from './model/loading/types';
|
|
3
3
|
export type { SortingFn } from './model/sorting/types';
|
|
4
|
+
export type { DateRangeFilterOptions, DateRangeFilterValue, } from './model/filter/types';
|
|
5
|
+
export { resolveDateRangeFilterValue } from './model/filter/resolveDateRangeFilterValue';
|
|
4
6
|
export { SortingFunctions } from './model/sorting/SortingFunctions';
|
|
5
7
|
export * from './components/Items/views/GridList';
|
|
6
8
|
export * from './components/Items/views/GridListItem';
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { ListDateRangeFilter, ListModelContext } from '../../../../_bundled/flow-components-base/index';
|
|
2
|
-
import { FilterShape } from './types';
|
|
2
|
+
import { DateRangeFilterOptions, DateRangeFilterValue, FilterShape } from './types';
|
|
3
3
|
import { PropertyName } from '../types';
|
|
4
4
|
import { RangeCalendarProps } from '../../../Calendar';
|
|
5
|
-
import { DateValue } from '@internationalized/date';
|
|
6
|
-
import { DateRange, RangeValue } from 'react-aria-components';
|
|
7
5
|
import { ReactNode } from 'react';
|
|
8
6
|
import { List } from '../List';
|
|
9
7
|
import { FilterValue } from './FilterValue';
|
|
@@ -12,14 +10,23 @@ import { FilterValue } from './FilterValue';
|
|
|
12
10
|
*
|
|
13
11
|
* The column, the comparison and the stored value are `ListDateRangeFilter` in
|
|
14
12
|
* `@mittwald/flow-components-base`, so the Vue binding filters the same dates
|
|
15
|
-
* the same way. What is left here
|
|
16
|
-
* Flow's `RangeCalendar` props
|
|
13
|
+
* the same way. What is left here are the options of the fields that pick the
|
|
14
|
+
* range: Flow's `RangeCalendar` props, or with `granularity: "minute"` those of
|
|
15
|
+
* the date and time fields.
|
|
17
16
|
*/
|
|
18
17
|
export declare class DateRangeFilter<T = never, TProp extends PropertyName<T> = never> extends ListDateRangeFilter<T, TProp, ReactNode> {
|
|
19
|
-
readonly dateRangeOptions?:
|
|
18
|
+
readonly dateRangeOptions?: DateRangeFilterOptions;
|
|
20
19
|
constructor(context: ListModelContext<T>, shape: FilterShape<T, TProp, never>);
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
get granularity(): "day" | "minute";
|
|
21
|
+
get rangeCalendarProps(): RangeCalendarProps;
|
|
22
|
+
get dateTimeRangeOptions(): {
|
|
23
|
+
granularity: "minute";
|
|
24
|
+
minValue?: import('@internationalized/date').DateValue | null;
|
|
25
|
+
maxValue?: import('@internationalized/date').DateValue | null;
|
|
26
|
+
isDateUnavailable?: (date: import('@internationalized/date').DateValue) => boolean;
|
|
27
|
+
} | undefined;
|
|
28
|
+
getValue(): DateRangeFilterValue | null;
|
|
29
|
+
setValue(range: DateRangeFilterValue | null): void;
|
|
23
30
|
/** The list this filter belongs to — `context`, typed as React's `List`. */
|
|
24
31
|
get list(): List<T>;
|
|
25
32
|
get values(): FilterValue[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DateRangeFilterValue } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the value of a date range filter to the instants it spans, for
|
|
4
|
+
* filtering on the server side. Both bounds are inclusive: a date covers its
|
|
5
|
+
* whole day and a date with time its whole minute, in the user's local time
|
|
6
|
+
* zone. A missing side has no bound.
|
|
7
|
+
*/
|
|
8
|
+
export declare const resolveDateRangeFilterValue: (range: DateRangeFilterValue) => {
|
|
9
|
+
start?: Date;
|
|
10
|
+
end?: Date;
|
|
11
|
+
};
|
|
@@ -3,8 +3,30 @@ import { PropertyName } from '../types';
|
|
|
3
3
|
import { RangeCalendarProps } from '../../../Calendar';
|
|
4
4
|
import { ListFilterShape } from '../../../../_bundled/flow-components-base/index';
|
|
5
5
|
import { ReactNode } from 'react';
|
|
6
|
+
import { DateValue } from '@internationalized/date';
|
|
6
7
|
export type { FilterMatcher, FilterMode, FilterUpdatedCallback, } from '../../../../_bundled/flow-components-base/index';
|
|
7
8
|
export interface FilterShape<T, TProp extends PropertyName<T>, TMatcherValue> extends ListFilterShape<T, TProp, TMatcherValue, ReactNode> {
|
|
8
|
-
dateRangeOptions?:
|
|
9
|
+
dateRangeOptions?: DateRangeFilterOptions;
|
|
10
|
+
}
|
|
11
|
+
export type DateRangeFilterOptions = ({
|
|
12
|
+
/**
|
|
13
|
+
* Whether the filter narrows down by date only, or by date and time.
|
|
14
|
+
*
|
|
15
|
+
* @default "day"
|
|
16
|
+
*/
|
|
17
|
+
granularity?: "day";
|
|
18
|
+
} & RangeCalendarProps) | {
|
|
19
|
+
granularity: "minute";
|
|
20
|
+
minValue?: DateValue | null;
|
|
21
|
+
maxValue?: DateValue | null;
|
|
22
|
+
isDateUnavailable?: (date: DateValue) => boolean;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* A date covers its whole day, a date with time its whole minute. A missing
|
|
26
|
+
* side has no bound.
|
|
27
|
+
*/
|
|
28
|
+
export interface DateRangeFilterValue {
|
|
29
|
+
start?: DateValue;
|
|
30
|
+
end?: DateValue;
|
|
9
31
|
}
|
|
10
32
|
export type AnyDateRangeFilter = DateRangeFilter | DateRangeFilter<any, any>;
|
|
@@ -2,7 +2,15 @@ import { DependencyList, HTMLAttributeAnchorTarget, ReactElement, ReactNode } fr
|
|
|
2
2
|
import { RenderItemFn } from './types';
|
|
3
3
|
import { default as List } from '../List';
|
|
4
4
|
export interface ItemViewShape<T> {
|
|
5
|
+
/**
|
|
6
|
+
* Runs on every render of the list to tell whether the item changed, so it
|
|
7
|
+
* should be cheap and pure.
|
|
8
|
+
*/
|
|
5
9
|
textValue?: (data: T) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Runs on every render of the list to tell whether the item changed, so it
|
|
12
|
+
* should be cheap and pure.
|
|
13
|
+
*/
|
|
6
14
|
href?: (data: T) => string;
|
|
7
15
|
target?: HTMLAttributeAnchorTarget;
|
|
8
16
|
defaultExpanded?: (data: T) => boolean;
|
|
@@ -14,14 +22,23 @@ export interface ItemViewShape<T> {
|
|
|
14
22
|
showTiles?: boolean;
|
|
15
23
|
tileMaxWidth?: number;
|
|
16
24
|
/**
|
|
17
|
-
*
|
|
25
|
+
* Everything the render function reads besides the item's data.
|
|
18
26
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* inline in JSX
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
27
|
+
* With `renderDependencies`, an item re-renders only when its data or one of
|
|
28
|
+
* these values changes. The render function's identity no longer counts, so a
|
|
29
|
+
* function written inline in JSX keeps the item from re-rendering on every
|
|
30
|
+
* render of its parent. List every value it reads from outside the item,
|
|
31
|
+
* including state read through the `list` argument — one left out keeps the
|
|
32
|
+
* item on the value it last rendered.
|
|
33
|
+
*
|
|
34
|
+
* Without it, an item re-renders whenever its render function changes
|
|
35
|
+
* identity, which an inline function does on every render of its parent.
|
|
36
|
+
*/
|
|
37
|
+
renderDependencies?: DependencyList;
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated Use `renderDependencies` instead. `dependencies` only adds to
|
|
40
|
+
* the render function's identity, so an inline render function still
|
|
41
|
+
* re-renders the item on every render of its parent.
|
|
25
42
|
*/
|
|
26
43
|
dependencies?: DependencyList;
|
|
27
44
|
}
|
|
@@ -35,15 +52,21 @@ export declare class ItemView<T> {
|
|
|
35
52
|
readonly showTiles?: boolean;
|
|
36
53
|
readonly showList?: boolean;
|
|
37
54
|
readonly tileMaxWidth: number;
|
|
55
|
+
readonly renderDependencies?: DependencyList;
|
|
38
56
|
readonly dependencies?: DependencyList;
|
|
39
57
|
private readonly renderFn?;
|
|
58
|
+
private lastComparison?;
|
|
40
59
|
constructor(list: List<T>, shape?: ItemViewShape<T>);
|
|
41
60
|
private static fallbackRenderItemFn;
|
|
42
61
|
/**
|
|
43
|
-
* Whether `other` would render
|
|
44
|
-
*
|
|
45
|
-
* and the dependencies
|
|
62
|
+
* Whether `other` would render the item holding `data` identically. The
|
|
63
|
+
* render function counts by its `renderDependencies` where given, otherwise
|
|
64
|
+
* by its identity and the deprecated `dependencies`. `textValue` and `href`
|
|
65
|
+
* count by what they return for `data`, so inline functions do not re-render
|
|
66
|
+
* the item. `defaultExpanded` is read on mount only, so it does not count at
|
|
67
|
+
* all.
|
|
46
68
|
*/
|
|
47
|
-
|
|
69
|
+
rendersSameFor(other: ItemView<T> | undefined, data: T): boolean;
|
|
70
|
+
private rendersSameContentAs;
|
|
48
71
|
render(data: T): ReactNode;
|
|
49
72
|
}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
import { TableRowShape, TableRowSupportedComponentProps } from './types';
|
|
2
2
|
import { TableCell } from './TableCell';
|
|
3
3
|
import { TableBody } from './TableBody';
|
|
4
|
+
import { DependencyList } from 'react';
|
|
4
5
|
export declare class TableRow<T> {
|
|
5
6
|
readonly tableBody: TableBody<T>;
|
|
6
7
|
readonly cells: TableCell<T>[];
|
|
7
8
|
readonly componentProps: TableRowSupportedComponentProps;
|
|
9
|
+
readonly renderDependencies?: DependencyList;
|
|
10
|
+
private lastComparison?;
|
|
8
11
|
constructor(tableBody: TableBody<T>, shape?: TableRowShape<T>);
|
|
12
|
+
/**
|
|
13
|
+
* Whether `other` would render a row identically. Only rows that declare
|
|
14
|
+
* `renderDependencies` can tell, since the cells' render functions count by
|
|
15
|
+
* those instead of their identity. Rows without them always re-render. Row
|
|
16
|
+
* and cell props count by identity, one by one.
|
|
17
|
+
*
|
|
18
|
+
* Every row of a render shares one model, so the result is cached for the
|
|
19
|
+
* last `other`.
|
|
20
|
+
*/
|
|
21
|
+
rendersSameAs(other?: TableRow<T>): boolean;
|
|
22
|
+
private compareWith;
|
|
9
23
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropsWithChildren, ReactElement } from 'react';
|
|
1
|
+
import { DependencyList, PropsWithChildren, ReactElement } from 'react';
|
|
2
2
|
import { TableBodyProps, TableCellProps, TableColumnProps, TableHeaderProps, TableProps, TableRowProps } from '../../../Table';
|
|
3
3
|
import { RenderItemFn } from '../..';
|
|
4
4
|
/** Cell */
|
|
@@ -13,6 +13,22 @@ export type TableRowSupportedComponentProps = Omit<TableRowProps, "onAction" | "
|
|
|
13
13
|
};
|
|
14
14
|
export interface TableRowShape<T> extends TableRowSupportedComponentProps, PropsWithChildren {
|
|
15
15
|
cells?: TableCellShape<T>[];
|
|
16
|
+
/**
|
|
17
|
+
* Everything the cells' render functions read besides the row's data.
|
|
18
|
+
*
|
|
19
|
+
* With `renderDependencies`, a row re-renders only when its data, one of
|
|
20
|
+
* these values, or a cell's props change. The render functions' identity does
|
|
21
|
+
* not count, so functions written inline in JSX keep the row from
|
|
22
|
+
* re-rendering on every render of its parent. List every value they read from
|
|
23
|
+
* outside the row, including state read through the `list` argument — one
|
|
24
|
+
* left out keeps the row on the value it last rendered.
|
|
25
|
+
*
|
|
26
|
+
* Row and cell props count by identity, so an inline `style` object or
|
|
27
|
+
* callback on `List.TableRow` or `List.TableCell` re-renders every row.
|
|
28
|
+
*
|
|
29
|
+
* Without it, every row re-renders whenever the list does.
|
|
30
|
+
*/
|
|
31
|
+
renderDependencies?: DependencyList;
|
|
16
32
|
}
|
|
17
33
|
/** Column */
|
|
18
34
|
export type TableColumnSupportedComponentProps = TableColumnProps;
|
|
@@ -127,6 +127,7 @@ export declare const typedList: <T, TMeta = unknown>() => {
|
|
|
127
127
|
columns?: Iterable<never> | undefined;
|
|
128
128
|
disabledBehavior?: import('react-stately').DisabledBehavior | undefined;
|
|
129
129
|
hasChildItems?: boolean | undefined;
|
|
130
|
+
renderDependencies?: import('react').DependencyList | undefined;
|
|
130
131
|
}) => null;
|
|
131
132
|
TableCell: (ignoredProps: Omit<import('./model/table/types').TableCellShape<T>, "renderFn"> & {
|
|
132
133
|
children: import('.').RenderItemFn<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isExternalHref: (href: string | undefined) => boolean;
|
|
@@ -17,10 +17,7 @@ export interface ProgressBarProps extends PropsWithChildren<Omit<Aria.ProgressBa
|
|
|
17
17
|
color?: CategoricalWithCustomColor;
|
|
18
18
|
valueText?: string;
|
|
19
19
|
}[];
|
|
20
|
-
/**
|
|
21
|
-
* Whether the legend component is shown when segments are used. @default:
|
|
22
|
-
* true
|
|
23
|
-
*/
|
|
20
|
+
/** Whether the legend component is shown when segments are used. @default true */
|
|
24
21
|
showLegend?: boolean;
|
|
25
22
|
}
|
|
26
23
|
/** @flr-generate all */
|
|
@@ -4,28 +4,28 @@ import * as Aria from "react-aria-components";
|
|
|
4
4
|
export interface RatingProps extends FlowComponentProps, PropsWithChildren, Omit<Aria.RadioGroupProps, "children" | "value" | "defaultValue"> {
|
|
5
5
|
/**
|
|
6
6
|
* The value sets the amount of filled stars. Decimals are rounded to the
|
|
7
|
-
* nearest whole star. @default
|
|
7
|
+
* nearest whole star. @default 0
|
|
8
8
|
*/
|
|
9
9
|
value?: number;
|
|
10
10
|
/**
|
|
11
11
|
* The defaultValue sets the amount of default filled stars. Decimals are
|
|
12
|
-
* rounded to the nearest whole star. @default
|
|
12
|
+
* rounded to the nearest whole star. @default 0
|
|
13
13
|
*/
|
|
14
14
|
defaultValue?: number;
|
|
15
|
-
/** The size of the component. @default
|
|
15
|
+
/** The size of the component. @default "m" */
|
|
16
16
|
size?: "s" | "m";
|
|
17
17
|
/**
|
|
18
18
|
* The number of segments the rating consists of. Ignored when the rating has
|
|
19
19
|
* `RatingSegment` children — those define the number of segments themselves.
|
|
20
20
|
*
|
|
21
|
-
* @default
|
|
21
|
+
* @default 5
|
|
22
22
|
*/
|
|
23
23
|
maxValue?: number;
|
|
24
24
|
/**
|
|
25
25
|
* How the segments are filled. `cumulative` fills every segment up to the
|
|
26
26
|
* value, `single` fills only the selected segment.
|
|
27
27
|
*
|
|
28
|
-
* @default
|
|
28
|
+
* @default "cumulative"
|
|
29
29
|
*/
|
|
30
30
|
fill?: "cumulative" | "single";
|
|
31
31
|
/** An alternative icon for the empty state */
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FC, PropsWithChildren } from 'react';
|
|
2
|
+
interface SectionHeading {
|
|
3
|
+
/** The id the surrounding `Section` gives its heading. */
|
|
4
|
+
id: string;
|
|
5
|
+
/** Whether a heading currently renders with that id. */
|
|
6
|
+
isRendered: boolean;
|
|
7
|
+
/** Called by a heading that renders with the id; returns the cleanup. */
|
|
8
|
+
register: () => () => void;
|
|
9
|
+
}
|
|
10
|
+
/** The heading state a `Section` provides for the given heading id. */
|
|
11
|
+
export declare const useSectionHeading: (id: string) => SectionHeading;
|
|
12
|
+
export declare const SectionHeadingProvider: import('react').Provider<SectionHeading | undefined>;
|
|
13
|
+
/**
|
|
14
|
+
* Ends the surrounding `Section`'s heading scope, for content that has a
|
|
15
|
+
* heading of its own (`Accordion`, `Alert`, an overlay, …).
|
|
16
|
+
*/
|
|
17
|
+
export declare const SectionHeadingReset: FC<PropsWithChildren>;
|
|
18
|
+
/** Marks the section heading as rendered while a heading carries its id. */
|
|
19
|
+
export declare const useRegisterSectionHeading: (id: string | undefined) => void;
|
|
20
|
+
/**
|
|
21
|
+
* The `aria-labelledby` of a grid or table: its own label, else the heading of
|
|
22
|
+
* the surrounding `Section` once that heading renders.
|
|
23
|
+
*/
|
|
24
|
+
export declare const useLabelledBySectionHeading: (props: {
|
|
25
|
+
"aria-label"?: string;
|
|
26
|
+
"aria-labelledby"?: string;
|
|
27
|
+
}) => string | undefined;
|
|
28
|
+
export {};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { FC, PropsWithChildren } from 'react';
|
|
2
2
|
import * as Aria from "react-aria-components";
|
|
3
3
|
export interface TableCellProps extends Omit<Aria.CellProps, "children" | "style" | "render">, PropsWithChildren {
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Styles the cell as a row header. Its semantics come from the column: the
|
|
6
|
+
* first column, or the one with `isRowHeader`.
|
|
7
|
+
*/
|
|
5
8
|
rowHeader?: boolean;
|
|
6
9
|
/** Horizontal alignment of the cell content @default "start" */
|
|
7
10
|
horizontalAlign?: "start" | "center" | "end";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a column is the first of its `TableHeader`. Undefined outside a
|
|
3
|
+
* header that can tell, e.g. with dynamic `columns`.
|
|
4
|
+
*/
|
|
5
|
+
export declare const IsFirstColumnContext: import('react').Context<boolean | undefined>;
|
|
6
|
+
export declare const useIsFirstColumn: () => boolean | undefined;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { FC, PropsWithChildren, ReactElement } from 'react';
|
|
2
2
|
export interface WrapProps {
|
|
3
|
+
/**
|
|
4
|
+
* Whether the child element is rendered. Any truthy value keeps it, a falsy
|
|
5
|
+
* one renders only its children.
|
|
6
|
+
*/
|
|
3
7
|
if: unknown;
|
|
8
|
+
/** The element that wraps the content, with the content as its children. */
|
|
4
9
|
children: ReactElement<PropsWithChildren>;
|
|
5
10
|
}
|
|
6
11
|
export declare const Wrap: FC<WrapProps>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from '../components/Icon/components/icons';
|
|
2
|
-
export { Action, ActionBatch, type ActionFn, type ActionProps, BrowserOnly, type BrowserOnlyProps, ComponentDefaultsProvider, type ComponentDefaultsProviderProps, CountryOptions, type CountryOptionsProps, DeprecationWarningProvider, type DeprecationWarningHandler, type DeprecationWarningProviderProps, IntlProvider, LightBox, type LightBoxProps, LightBoxTrigger, type LightBoxTriggerProps, List, type ListProps, ListItemView, type ListItemViewProps, Modal, type ModalProps, ModalTrigger, type ModalTriggerProps, Popover, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, SettingsProvider, typedList, NotificationProvider, type NotificationProviderProps, Wrap, type WrapProps, } from '../components/public';
|
|
2
|
+
export { Action, ActionBatch, type ActionFn, type ActionProps, BrowserOnly, type BrowserOnlyProps, ComponentDefaultsProvider, type ComponentDefaultsProviderProps, CountryOptions, type CountryOptionsProps, DeprecationWarningProvider, type DeprecationWarningHandler, type DeprecationWarningProviderProps, IntlProvider, LightBox, type LightBoxProps, LightBoxTrigger, type LightBoxTriggerProps, List, type ListProps, ListItemView, type ListItemViewProps, Modal, type ModalProps, ModalTrigger, type ModalTriggerProps, Popover, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, resolveDateRangeFilterValue, type DateRangeFilterValue, SettingsProvider, typedList, NotificationProvider, type NotificationProviderProps, Wrap, type WrapProps, } from '../components/public';
|
|
3
3
|
export * from '../lib/controller/public';
|
|
4
4
|
export * from '../lib/hooks/public';
|
|
5
5
|
export { useControlledRemoteValueProps } from '../lib/remote/useControlledRemoteValueProps';
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
1
|
+
import { BaseSyntheticEvent, PropsWithChildren } from 'react';
|
|
2
2
|
import { FieldValues, UseFormReturn } from 'react-hook-form';
|
|
3
3
|
import { FormOnSubmitHandler } from '../Form/Form';
|
|
4
4
|
export interface SubmitInterceptorContext<F extends FieldValues = FieldValues> {
|
|
5
5
|
form: UseFormReturn<F>;
|
|
6
|
+
/**
|
|
7
|
+
* The submit event, if the form was submitted by one. Pass it on to `submit`
|
|
8
|
+
* so the handler can read the pressed submit button
|
|
9
|
+
* (`event.nativeEvent.submitter`).
|
|
10
|
+
*/
|
|
11
|
+
event?: BaseSyntheticEvent;
|
|
6
12
|
}
|
|
7
13
|
export type SubmitInterceptor = <F extends FieldValues = FieldValues>(submit: FormOnSubmitHandler<F>, values: F, context: SubmitInterceptorContext<F>) => ReturnType<FormOnSubmitHandler<F>>;
|
|
8
14
|
interface Context {
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
+
import { OverlayState, OverlayCloseHandler, OverlayCloseOptions, OverlayOpenHandler, OverlayOpenStateHandler } from '../../../_bundled/flow-components-base/index';
|
|
1
2
|
import { DependencyList } from 'react';
|
|
2
3
|
import { FlowComponentName } from '../../../components/propTypes';
|
|
3
|
-
export type OverlayOpenHandler
|
|
4
|
-
export
|
|
5
|
-
export type OverlayOpenStateHandler = (isOpen: boolean) => unknown;
|
|
6
|
-
type DisposerFn = () => void;
|
|
7
|
-
export interface CloseOverlayOptions {
|
|
4
|
+
export type { OverlayCloseHandler, OverlayOpenHandler, OverlayOpenStateHandler, } from '../../../_bundled/flow-components-base/index';
|
|
5
|
+
export interface CloseOverlayOptions extends OverlayCloseOptions {
|
|
8
6
|
/**
|
|
9
7
|
* The overlay to close. Omitted, the nearest enclosing overlay is closed –
|
|
10
8
|
* the same thing `closeOverlay={true}` means.
|
|
11
9
|
*/
|
|
12
10
|
overlay?: FlowComponentName | OverlayController;
|
|
13
|
-
bypassConfirmation?: boolean;
|
|
14
11
|
}
|
|
15
12
|
export interface OnOverlayClosedOptions {
|
|
16
13
|
dependencies?: DependencyList;
|
|
@@ -35,48 +32,17 @@ export interface OverlayControllerOptions {
|
|
|
35
32
|
*/
|
|
36
33
|
confirmOnClose?: boolean;
|
|
37
34
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
private onCloseHandlers;
|
|
44
|
-
private onOpenChangeHandlers;
|
|
45
|
-
showConfirmationModal: boolean;
|
|
46
|
-
closeIsConfirmed: boolean;
|
|
47
|
-
private readonly confirmOnCloseFromOptions;
|
|
48
|
-
/**
|
|
49
|
-
* Every mounted component that has an opinion on close confirmation
|
|
50
|
-
* contributes one entry here – e.g. a `Modal` with a `confirmOnClose` prop
|
|
51
|
-
* and a `Form` tracking its dirty state. Combining them instead of assigning
|
|
52
|
-
* a single flag keeps them from overwriting each other.
|
|
53
|
-
*/
|
|
54
|
-
private confirmOnCloseSources;
|
|
55
|
-
/**
|
|
56
|
-
* Active grants that allow closing without a confirmation. Each entry is
|
|
57
|
-
* scoped to an ongoing operation that legitimately closes the overlay – e.g.
|
|
58
|
-
* a `Form` submit – and is dropped again when that operation has finished, so
|
|
59
|
-
* an operation that does _not_ close the overlay leaves the confirmation
|
|
60
|
-
* armed.
|
|
61
|
-
*/
|
|
62
|
-
private closeWithoutConfirmationGrants;
|
|
63
|
-
/**
|
|
64
|
-
* The open state a `setOpen` call is currently applying. Handlers run before
|
|
65
|
-
* `isOpen` is assigned, so a handler that calls `setOpen` again would not be
|
|
66
|
-
* caught by the equality check at the top and would recurse.
|
|
67
|
-
*/
|
|
68
|
-
private openStateInFlight;
|
|
69
|
-
constructor(options?: ConstructorOptions);
|
|
70
|
-
/** Whether closing this overlay currently requires a confirmation. */
|
|
71
|
-
get confirmOnCloseEnabled(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* The state is `OverlayState` from `@mittwald/flow-components-base`, shared
|
|
37
|
+
* with every remote binding; this adds the hooks.
|
|
38
|
+
*/
|
|
39
|
+
export declare class OverlayController extends OverlayState<CloseOptions> {
|
|
72
40
|
useUpdateOptions(options?: OverlayControllerOptions): void;
|
|
73
41
|
/**
|
|
74
42
|
* Registers the calling component as a close confirmation source for as long
|
|
75
43
|
* as it is mounted. `undefined` contributes nothing at all.
|
|
76
44
|
*/
|
|
77
45
|
private useConfirmOnCloseSource;
|
|
78
|
-
private setConfirmOnCloseSource;
|
|
79
|
-
private removeConfirmOnCloseSource;
|
|
80
46
|
/**
|
|
81
47
|
* Can be used to execute a callback when the Overlay has unmounted – means
|
|
82
48
|
* after any closing animation.
|
|
@@ -85,27 +51,7 @@ export declare class OverlayController {
|
|
|
85
51
|
*/
|
|
86
52
|
useOnClosed(callback: () => unknown, options?: OnOverlayClosedOptions): void;
|
|
87
53
|
static useNew(options?: OverlayControllerOptions): OverlayController;
|
|
88
|
-
private addOpenStateHandler;
|
|
89
54
|
private useOnHandler;
|
|
90
|
-
private executeHandlers;
|
|
91
|
-
private executeOnClose;
|
|
92
|
-
private executeOnOpen;
|
|
93
|
-
private executeOnOpenChange;
|
|
94
|
-
addOnClose(handler: OverlayCloseHandler): DisposerFn;
|
|
95
|
-
addOnOpen(handler: OverlayOpenHandler): DisposerFn;
|
|
96
|
-
addOnOpenChange(handler: OverlayOpenStateHandler): DisposerFn;
|
|
97
|
-
open(): void;
|
|
98
|
-
close(options?: CloseOptions): void;
|
|
99
|
-
toggle(): void;
|
|
100
|
-
setOpen(toOpen: boolean, options?: CloseOptions): void;
|
|
101
|
-
/**
|
|
102
|
-
* Sets the open state without running any handler. Use it to mirror a
|
|
103
|
-
* controlled `isOpen` prop, whose change comes from the consumer – notifying
|
|
104
|
-
* them of their own state would echo it back.
|
|
105
|
-
*/
|
|
106
|
-
syncOpen(toOpen: boolean): void;
|
|
107
|
-
private applyOpenState;
|
|
108
|
-
setIsContentSuspended(to: boolean): void;
|
|
109
55
|
useIsOpen(): boolean;
|
|
110
56
|
useIsContentSuspended(): boolean;
|
|
111
57
|
useShowConfirmationModal(): boolean;
|
|
@@ -115,16 +61,4 @@ export declare class OverlayController {
|
|
|
115
61
|
readonly cancel: () => void;
|
|
116
62
|
readonly confirm: () => void;
|
|
117
63
|
} | undefined;
|
|
118
|
-
/**
|
|
119
|
-
* Allows closing this overlay without a confirmation until the returned
|
|
120
|
-
* disposer is called. Use it around an operation that may legitimately close
|
|
121
|
-
* the overlay – e.g. a `Form` submit, where a "discard unsaved changes?"
|
|
122
|
-
* prompt would be nonsense – and dispose it as soon as that operation has
|
|
123
|
-
* finished. An operation that ends without closing the overlay therefore
|
|
124
|
-
* leaves the confirmation armed (#2775).
|
|
125
|
-
*/
|
|
126
|
-
grantCloseWithoutConfirmation(): DisposerFn;
|
|
127
|
-
confirmClose(): void;
|
|
128
|
-
cancelConfirmation(): void;
|
|
129
64
|
}
|
|
130
|
-
export {};
|
|
@@ -14,5 +14,8 @@ export declare const isVirtualKeyboardVisible: (layoutViewportHeight: number, vi
|
|
|
14
14
|
* VisualViewport API. On iOS and Android the layout viewport stays while the
|
|
15
15
|
* visual viewport shrinks by the keyboard height. Returns `false` where
|
|
16
16
|
* VisualViewport is unavailable (SSR, very old browsers).
|
|
17
|
+
*
|
|
18
|
+
* Reading the viewport height forces a synchronous layout, so the hook neither
|
|
19
|
+
* reads nor listens while `isEnabled` is `false`, and returns `false` then.
|
|
17
20
|
*/
|
|
18
|
-
export declare const useVirtualKeyboardVisible: () => boolean;
|
|
21
|
+
export declare const useVirtualKeyboardVisible: (isEnabled?: boolean) => boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mittwald/flow-react-components",
|
|
3
|
-
"version": "1.6.0-next.
|
|
3
|
+
"version": "1.6.0-next.41",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A React implementation of Flow, mittwald’s design system",
|
|
6
6
|
"homepage": "https://flow.mittwald.de",
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
"@internationalized/string-compiler": "^3.4.1",
|
|
85
85
|
"@lezer/common": "^1.5.2",
|
|
86
86
|
"@lezer/highlight": "^1.2.3",
|
|
87
|
-
"@mittwald/flow-icons": "^1.6.0-next.
|
|
87
|
+
"@mittwald/flow-icons": "^1.6.0-next.41",
|
|
88
88
|
"@mittwald/password-tools-js": "^3.0.0",
|
|
89
|
-
"@mittwald/react-tunnel": "^1.6.0-next.
|
|
89
|
+
"@mittwald/react-tunnel": "^1.6.0-next.41",
|
|
90
90
|
"@mittwald/react-use-promise": "^4.2.2",
|
|
91
91
|
"@react-aria/form": "^3.2.1",
|
|
92
92
|
"@react-aria/i18n": "^3.13.1",
|
|
@@ -139,13 +139,13 @@
|
|
|
139
139
|
"@internationalized/date": "^3.12.3",
|
|
140
140
|
"@lezer/generator": "^1.8.0",
|
|
141
141
|
"@lezer/lr": "^1.4.10",
|
|
142
|
-
"@mittwald/flow-components-base": "1.6.0-next.
|
|
143
|
-
"@mittwald/flow-core": "1.6.0-next.
|
|
144
|
-
"@mittwald/flow-design-tokens": "1.6.0-next.
|
|
145
|
-
"@mittwald/flow-icons-base": "1.6.0-next.
|
|
142
|
+
"@mittwald/flow-components-base": "1.6.0-next.41",
|
|
143
|
+
"@mittwald/flow-core": "1.6.0-next.41",
|
|
144
|
+
"@mittwald/flow-design-tokens": "1.6.0-next.41",
|
|
145
|
+
"@mittwald/flow-icons-base": "1.6.0-next.41",
|
|
146
146
|
"@mittwald/react-use-promise": "^4.2.2",
|
|
147
147
|
"@mittwald/remote-dom-react": "1.2.2-mittwald.10",
|
|
148
|
-
"@mittwald/typescript-config": "1.6.0-next.
|
|
148
|
+
"@mittwald/typescript-config": "1.6.0-next.41",
|
|
149
149
|
"@nx/storybook": "^22.7.6",
|
|
150
150
|
"@storybook/addon-a11y": "^10.5.10",
|
|
151
151
|
"@storybook/addon-actions": "^9.0.8",
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
"@storybook/react-vite": "^10.5.10",
|
|
156
156
|
"@tabler/icons-react": "^3.46.0",
|
|
157
157
|
"@teispace/next-themes": "^2.0.4",
|
|
158
|
-
"@types/node": "25.9.
|
|
158
|
+
"@types/node": "25.9.9",
|
|
159
159
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
160
160
|
"@vitejs/plugin-react": "5.2.0",
|
|
161
161
|
"@vitest/browser": "^4.1.11",
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
"happy-dom": "^20.11.6",
|
|
171
171
|
"next": "^16.3.2",
|
|
172
172
|
"nx": "^22.7.5",
|
|
173
|
-
"postcss": "8.5.
|
|
173
|
+
"postcss": "8.5.30",
|
|
174
174
|
"postcss-nested-import": "^1.3.0",
|
|
175
175
|
"postcss-nesting": "^14.0.1",
|
|
176
176
|
"postcss-scss": "^4.0.9",
|
|
@@ -199,7 +199,7 @@
|
|
|
199
199
|
},
|
|
200
200
|
"peerDependencies": {
|
|
201
201
|
"@internationalized/date": "^3.12.2",
|
|
202
|
-
"@mittwald/flow-icons-pro": "1.6.0-next.
|
|
202
|
+
"@mittwald/flow-icons-pro": "1.6.0-next.41",
|
|
203
203
|
"@mittwald/react-use-promise": "^4.2.2",
|
|
204
204
|
"next": "^16.2.3",
|
|
205
205
|
"react": "^19.2.0",
|
|
@@ -223,5 +223,5 @@
|
|
|
223
223
|
"browserslist": [
|
|
224
224
|
"baseline widely available"
|
|
225
225
|
],
|
|
226
|
-
"gitHead": "
|
|
226
|
+
"gitHead": "378543eb9ed43c986c6cab0d629c490c0920700c"
|
|
227
227
|
}
|