@mittwald/flow-react-components 1.3.0-next.9 → 1.3.1
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 +42 -1
- package/MIGRATION.md +17 -6
- package/USAGE.md +14 -6
- 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/_28.locale.mjs +10 -0
- package/dist/js/default.mjs +1 -2
- package/dist/js/flr-universal.mjs +2 -2
- package/dist/js/packages/components/src/components/Accordion/Accordion.mjs +26 -15
- package/dist/js/packages/components/src/components/Accordion/Accordion.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Accordion/Accordion.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Action/models/ActionModel.mjs +8 -25
- package/dist/js/packages/components/src/components/Action/models/ActionModel.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Avatar/Avatar.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Button/Button.module.mjs +1 -0
- package/dist/js/packages/components/src/components/Button/Button.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Calendar/Calendar.module.mjs +3 -1
- package/dist/js/packages/components/src/components/Calendar/Calendar.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Calendar/components/CalendarHeader/CalendarHeader.mjs +19 -15
- package/dist/js/packages/components/src/components/Calendar/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/CartesianChart.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/Area/Area.mjs +4 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/Area/Area.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/Bar/Bar.mjs +4 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/Bar/Bar.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/Line/Line.mjs +4 -1
- package/dist/js/packages/components/src/components/CartesianChart/components/Line/Line.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useChartAnimation.mjs +27 -0
- package/dist/js/packages/components/src/components/CartesianChart/hooks/useChartAnimation.mjs.map +1 -0
- package/dist/js/packages/components/src/components/Chat/Chat.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Checkbox/Checkbox.module.mjs +2 -1
- package/dist/js/packages/components/src/components/Checkbox/Checkbox.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CheckboxGroup/CheckboxGroup.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.mjs +31 -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 +6 -4
- package/dist/js/packages/components/src/components/CodeBlock/CodeBlock.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Combine/Combine.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ComboBox/ComboBox.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs +2 -2
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs +2 -2
- package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs.map +1 -1
- package/dist/js/packages/components/src/components/ContextMenu/lib.mjs +3 -7
- package/dist/js/packages/components/src/components/ContextMenu/lib.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.mjs +14 -11
- package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.module.mjs +4 -2
- package/dist/js/packages/components/src/components/DateRangePicker/components/DateRangeInput/DateRangeInput.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DonutChart/DonutChart.module.mjs +6 -3
- package/dist/js/packages/components/src/components/DonutChart/DonutChart.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/DonutChart/components/DonutChartFill.mjs +13 -2
- package/dist/js/packages/components/src/components/DonutChart/components/DonutChartFill.mjs.map +1 -1
- package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.mjs +2 -2
- package/dist/js/packages/components/src/components/FileDropZone/FileDropZone.mjs.map +1 -1
- package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.mjs +9 -6
- package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.mjs.map +1 -1
- package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.module.mjs +5 -1
- package/dist/js/packages/components/src/components/HeaderNavigation/HeaderNavigation.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Heading/Heading.mjs +1 -1
- package/dist/js/packages/components/src/components/Heading/Heading.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Heading/Heading.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/LayoutCard/LayoutCard.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/LightBox/LightBox.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/Controls.mjs +1 -1
- package/dist/js/packages/components/src/components/LightBox/components/LightBoxGallery/Controls.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Link/Link.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/List.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/SearchField/SearchField.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Items/Items.mjs +3 -6
- 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.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/Table/Table.mjs +6 -2
- package/dist/js/packages/components/src/components/List/components/Table/Table.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/{components/Items/hooks → hooks}/useInfiniteScrollTrigger.mjs +11 -12
- package/dist/js/packages/components/src/components/List/hooks/useInfiniteScrollTrigger.mjs.map +1 -0
- package/dist/js/packages/components/src/components/Markdown/Markdown.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/MessageThread/MessageThread.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Modal/Modal.mjs +4 -6
- package/dist/js/packages/components/src/components/Modal/Modal.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Modal/Modal.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Navigation/Navigation.module.mjs +3 -1
- package/dist/js/packages/components/src/components/Navigation/Navigation.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit.mjs +5 -1
- package/dist/js/packages/components/src/components/Navigation/components/LinkListTunnelExit/LinkListTunnelExit.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Navigation/components/NavigationGroup/NavigationGroup.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/NumberField/NumberField.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Overlay/Overlay.module.mjs +3 -1
- package/dist/js/packages/components/src/components/Overlay/Overlay.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Overlay/components/OverlayContent.mjs +47 -9
- package/dist/js/packages/components/src/components/Overlay/components/OverlayContent.mjs.map +1 -1
- package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs +0 -1
- package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs +8 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs +2 -0
- package/dist/js/packages/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.mjs +13 -7
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.module.mjs +9 -0
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.module.mjs.map +1 -0
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.mjs +12 -4
- package/dist/js/packages/components/src/components/PasswordCreationField/components/ValidationResultEntry/ValidationResultEntry.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/ariaAnnounce.mjs +52 -0
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/ariaAnnounce.mjs.map +1 -0
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/generateValidationTranslation.mjs +1 -0
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/generateValidationTranslation.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult.mjs +1 -0
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult.mjs.map +1 -1
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/usePolicyValidationResult.mjs +1 -0
- package/dist/js/packages/components/src/components/PasswordCreationField/lib/usePolicyValidationResult.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Popover/Popover.module.mjs +3 -1
- package/dist/js/packages/components/src/components/Popover/Popover.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Popover/components/NonModalPopoverContent/NonModalPopoverContent.mjs +2 -6
- 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 +2 -6
- 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 +17 -0
- package/dist/js/packages/components/src/components/Popover/components/PopoverTip/PopoverTip.mjs.map +1 -0
- package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.module.mjs +1 -0
- package/dist/js/packages/components/src/components/ProgressBar/ProgressBar.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/RadioGroup/components/Radio/Radio.module.mjs +2 -1
- package/dist/js/packages/components/src/components/RadioGroup/components/Radio/Radio.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/SearchField/SearchField.module.mjs +3 -3
- package/dist/js/packages/components/src/components/SearchField/SearchField.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Section/Section.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Slider/Slider.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Switch/Switch.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs +2 -1
- package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.mjs.map +1 -1
- package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.module.mjs +5 -1
- package/dist/js/packages/components/src/components/TabNavigation/TabNavigation.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/TabNavigation/lib/useCollapsingItems.mjs +2 -1
- package/dist/js/packages/components/src/components/TabNavigation/lib/useCollapsingItems.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/Tabs/components/TabTitle/TabTitle.module.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tabs/lib/useTabIndicator.mjs +3 -2
- package/dist/js/packages/components/src/components/Tabs/lib/useTabIndicator.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/TextArea/TextArea.mjs +14 -13
- package/dist/js/packages/components/src/components/TextArea/TextArea.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tooltip/Tooltip.mjs +1 -0
- package/dist/js/packages/components/src/components/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Tooltip/Tooltip.module.mjs +3 -1
- package/dist/js/packages/components/src/components/Tooltip/Tooltip.module.mjs.map +1 -1
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/Form.mjs +3 -2
- package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/Form.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/controller/overlay/OverlayContextProvider.mjs +3 -6
- package/dist/js/packages/components/src/lib/controller/overlay/OverlayContextProvider.mjs.map +1 -1
- 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 -1
- package/dist/js/packages/components/src/lib/controller/overlay/context.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/controller/overlay/useOverlayController.mjs +1 -1
- package/dist/js/packages/components/src/lib/controller/overlay/useOverlayController.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/files/acceptedFiles.mjs +34 -0
- package/dist/js/packages/components/src/lib/files/acceptedFiles.mjs.map +1 -0
- package/dist/js/packages/components/src/lib/hooks/dom/useKeepBrowserExtensionsInteractive.mjs +1 -1
- package/dist/js/packages/components/src/lib/hooks/dom/useKeepBrowserExtensionsInteractive.mjs.map +1 -1
- package/dist/js/packages/components/src/status/component-status.mjs +4 -0
- package/dist/js/packages/components/src/status/component-status.mjs.map +1 -1
- package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs +12 -0
- 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 +12 -0
- package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs.map +1 -1
- package/dist/types/components/Action/models/ActionModel.d.ts +4 -12
- package/dist/types/components/Action/types.d.ts +2 -9
- package/dist/types/components/CartesianChart/hooks/useChartAnimation.d.ts +1 -0
- package/dist/types/components/ContextMenu/lib.d.ts +1 -5
- package/dist/types/components/Icon/components/icons/index.d.ts +0 -1
- package/dist/types/components/List/hooks/useInfiniteScrollTrigger.d.ts +17 -0
- package/dist/types/components/Modal/Modal.d.ts +3 -1
- package/dist/types/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.d.ts +0 -7
- package/dist/types/components/PasswordCreationField/components/ValidationResultButton/ValidationResultButton.d.ts +0 -9
- package/dist/types/components/PasswordCreationField/lib/ariaAnnounce.d.ts +1 -0
- package/dist/types/components/PasswordCreationField/lib/generateValidationTranslation.d.ts +0 -2
- package/dist/types/components/PasswordCreationField/lib/getStatusFromPolicyValidationResult.d.ts +0 -3
- package/dist/types/components/PasswordCreationField/lib/usePolicyValidationResult.d.ts +1 -7
- package/dist/types/components/Popover/components/PopoverTip/PopoverTip.d.ts +1 -2
- package/dist/types/index/flr-universal.d.ts +1 -1
- package/dist/types/integrations/react-hook-form/components/Form/Form.d.ts +8 -0
- package/dist/types/lib/controller/overlay/OverlayContextProvider.d.ts +0 -9
- package/dist/types/lib/controller/overlay/OverlayController.d.ts +1 -11
- package/dist/types/lib/controller/overlay/context.d.ts +2 -19
- package/dist/types/lib/files/acceptedFiles.d.ts +1 -0
- package/dist/types/lib/hooks/dom/useKeepBrowserExtensionsInteractive.d.ts +1 -0
- package/dist/types/lib/theming/hooks/useDesignTokens.d.ts +14 -0
- package/dist/types/status/component-status.json.d.ts +4 -0
- package/package.json +10 -10
- package/dist/js/packages/components/src/components/Icon/components/icons/IconAIHosting.mjs +0 -19
- package/dist/js/packages/components/src/components/Icon/components/icons/IconAIHosting.mjs.map +0 -1
- package/dist/js/packages/components/src/components/List/components/Items/hooks/useInfiniteScrollTrigger.mjs.map +0 -1
- package/dist/types/components/Icon/components/icons/IconAIHosting.d.ts +0 -4
- package/dist/types/components/List/components/Items/hooks/useInfiniteScrollTrigger.d.ts +0 -3
package/AGENTS.md
CHANGED
|
@@ -244,6 +244,26 @@ if ("action" in props) {
|
|
|
244
244
|
match prop values (`.size-s`, `.primary`).
|
|
245
245
|
- Class composition with `clsx`, consumer `className` appended last:
|
|
246
246
|
`clsx(styles.button, styles[size], styles[color], className)`.
|
|
247
|
+
- **Element-type selectors are a lint error** — `selector-max-type: 0` on
|
|
248
|
+
`*.module.{css,scss}`, blocking since #3021. Style what the component renders,
|
|
249
|
+
through its own class. Where the element genuinely carries no class —
|
|
250
|
+
react-aria internals, third-party svgs, consumer-supplied children, or content
|
|
251
|
+
the component does not author (`Markdown`, `Text`) — opt out explicitly and
|
|
252
|
+
name the reason:
|
|
253
|
+
`// stylelint-disable-next-line selector-max-type -- react-markdown output`.
|
|
254
|
+
There is no autofix. Two traps when introducing a class instead: a `flow--`
|
|
255
|
+
class pulls the global reset's
|
|
256
|
+
`*:where([class*="flow--"] [class*="flow--"]) { font: inherit }`
|
|
257
|
+
(`src/styles/globals.scss`) onto the element — that reflows `CodeBlock`'s
|
|
258
|
+
`<pre>`, so it stays an element selector — and a class raises specificity
|
|
259
|
+
where an element selector deliberately lost a tie (`Modal`'s `> span` against
|
|
260
|
+
`.flow--heading--heading-content:empty`).
|
|
261
|
+
- **`:global(.flow--…)` names are checked** by
|
|
262
|
+
`flow/no-unknown-global-flow-class` (`dev/stylelint/`), against the classes
|
|
263
|
+
the committed `*.module.d.scss.ts` stubs declare, run through the build's own
|
|
264
|
+
`cssModuleClassNameGenerator`. The reference has to name a class some
|
|
265
|
+
component actually generates — otherwise the selector matches nothing, which
|
|
266
|
+
used to fail without a single signal anywhere.
|
|
247
267
|
- **`styles` is precisely typed** by generated `*.module.d.scss.ts` stubs (a
|
|
248
268
|
committed generated artifact — see the root
|
|
249
269
|
[Generated code](https://github.com/mittwald/flow/blob/main/AGENTS.md#generated-code--must-be-committed)
|
|
@@ -310,6 +330,24 @@ compiles against. A bare `vitest run` skips it and renders against whatever
|
|
|
310
330
|
is simply absent, and CSS drops every declaration referencing it without a
|
|
311
331
|
warning (#3194).
|
|
312
332
|
|
|
333
|
+
Three traps cost time in every new browser test:
|
|
334
|
+
|
|
335
|
+
- **Click the label, not the control.** `Checkbox`, `Radio`, `Switch` and
|
|
336
|
+
`Rating` stack their icons on top of a visually hidden input, so playwright
|
|
337
|
+
refuses the input with `<svg …> intercepts pointer events`. Query the control
|
|
338
|
+
by role for assertions and click its label text
|
|
339
|
+
(`page.getByText(name, { exact: true })`).
|
|
340
|
+
- **Hover needs the pointer modality first.** react-aria only counts a hover as
|
|
341
|
+
a hover while `getInteractionModality() === "pointer"`, and a freshly loaded
|
|
342
|
+
page has no modality at all — so `Tooltip` and everything else that opens on
|
|
343
|
+
hover stays closed no matter how long the test waits. Press something neutral
|
|
344
|
+
with the mouse once before hovering.
|
|
345
|
+
- **`await render(...)` before any bare DOM query.** A locator assertion polls
|
|
346
|
+
and waits the first render out; a `document.querySelector` right after
|
|
347
|
+
`render()` runs before React has committed and reads `null`. That turns an
|
|
348
|
+
assertion that something is _absent_ into a silent pass, so give any helper
|
|
349
|
+
that queries the DOM directly a guard that throws when its element is missing.
|
|
350
|
+
|
|
313
351
|
## i18n & a11y
|
|
314
352
|
|
|
315
353
|
- Component-internal UI text lives in colocated `locales/de-DE.locale.json`
|
|
@@ -405,7 +443,10 @@ Easy-to-miss conventions not spelled out above. Full details and examples in
|
|
|
405
443
|
children are left intact.
|
|
406
444
|
- **Semantic generated CSS classes are coordination points** — scoped modules
|
|
407
445
|
still use `:global(.flow--…)` when independently rendered Flow descendants
|
|
408
|
-
must affect layout.
|
|
446
|
+
must affect layout. Copy the name from the target component's
|
|
447
|
+
`*.module.d.scss.ts`; the generator drops a suffix that equals the component
|
|
448
|
+
name, so a hand-derived name silently matches nothing.
|
|
449
|
+
`flow/no-unknown-global-flow-class` blocks that.
|
|
409
450
|
- **Controllers coexist with declarative props** — overlay-like APIs support
|
|
410
451
|
controlled/uncontrolled props _and_ a controller object, not one or the other.
|
|
411
452
|
- **A component without `value` and without `defaultValue` still has to render
|
package/MIGRATION.md
CHANGED
|
@@ -560,15 +560,26 @@ or a `form.reset()` the modal closes right away, and actions in the
|
|
|
560
560
|
`<ActionGroup />` as well as the close button in the heading still close it
|
|
561
561
|
immediately.
|
|
562
562
|
|
|
563
|
-
Nothing to do if you had the flag enabled. To keep the previous behavior,
|
|
564
|
-
|
|
563
|
+
Nothing to do if you had the flag enabled. To keep the previous behavior, opt
|
|
564
|
+
out per form:
|
|
565
|
+
|
|
566
|
+
```diff
|
|
567
|
+
- <Form form={form} onSubmit={onSubmit}>
|
|
568
|
+
+ <Form form={form} onSubmit={onSubmit} confirmModalCloseOnUnsavedChanges={false}>
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
Or switch the default off for the whole app with the
|
|
572
|
+
`<ComponentDefaultsProvider />` (see below).
|
|
565
573
|
|
|
566
574
|
**Apply:** No code change required — if you had
|
|
567
575
|
`requireCloseModalConfirmationOnUnsavedChanges` enabled, the new default matches
|
|
568
|
-
it. To keep the previous behaviour (closing without confirmation),
|
|
569
|
-
`Form
|
|
570
|
-
|
|
571
|
-
`
|
|
576
|
+
it. To keep the previous behaviour (closing without confirmation), pass
|
|
577
|
+
`confirmModalCloseOnUnsavedChanges={false}` to `Form` — this also works in
|
|
578
|
+
remote apps (`@mittwald/flow-remote-react-components/react-hook-form`). To
|
|
579
|
+
switch it off app-wide, set `Form: { confirmModalCloseOnUnsavedChanges: false }`
|
|
580
|
+
via `<ComponentDefaultsProvider />`, or outside of remote apps its deprecated
|
|
581
|
+
equivalent, the `flags.requireCloseModalConfirmationOnUnsavedChanges = false`
|
|
582
|
+
assignment.
|
|
572
583
|
|
|
573
584
|
---
|
|
574
585
|
|
package/USAGE.md
CHANGED
|
@@ -5,6 +5,10 @@ are changing Flow itself, read [AGENTS.md](./AGENTS.md) instead — the two
|
|
|
5
5
|
audiences need opposite advice, and applying the contributor patterns in an
|
|
6
6
|
application is the most common mistake made here.
|
|
7
7
|
|
|
8
|
+
Building an **mStudio extension**? Read the `USAGE.md` of
|
|
9
|
+
`@mittwald/flow-remote-react-components` as well — it covers what differs across
|
|
10
|
+
the remote boundary, starting with the import address.
|
|
11
|
+
|
|
8
12
|
## The documentation is machine-readable
|
|
9
13
|
|
|
10
14
|
The prose that decides most questions — which component covers a use case, how
|
|
@@ -13,8 +17,8 @@ published for machine consumption:
|
|
|
13
17
|
|
|
14
18
|
| URL | What it is |
|
|
15
19
|
| ---------------------------------------- | -------------------------------------------------------------- |
|
|
16
|
-
| `https://flow.mittwald.de/llms.txt` | Index of every page, grouped by section
|
|
17
|
-
| `https://flow.mittwald.de/llms.json` | Manifest:
|
|
20
|
+
| `https://flow.mittwald.de/llms.txt` | Index of every page as Markdown links, grouped by section |
|
|
21
|
+
| `https://flow.mittwald.de/llms.json` | Manifest: page URL, Markdown URL, remote availability per page |
|
|
18
22
|
| `https://flow.mittwald.de/raw/<path>.md` | One page as Markdown, e.g. `/raw/components/actions/button.md` |
|
|
19
23
|
| `https://flow.mittwald.de/llms-full.txt` | Every page in one file (~1.7 MB) |
|
|
20
24
|
|
|
@@ -24,10 +28,14 @@ States, Props) are not translated.
|
|
|
24
28
|
|
|
25
29
|
Start with these:
|
|
26
30
|
|
|
27
|
-
- `/raw/foundations/structure/layout.md` and
|
|
28
|
-
spacing are meant to
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
- `/raw/foundations/structure/layout.md` and
|
|
32
|
+
`/raw/foundations/structure/spacing.md` — how layout and spacing are meant to
|
|
33
|
+
be composed
|
|
34
|
+
- `/raw/templates/bausteine/formular.md`,
|
|
35
|
+
`/raw/templates/seiten/uebersichtsseite.md`,
|
|
36
|
+
`/raw/templates/seiten/detailseite.md` — the recurring flows
|
|
37
|
+
- `/raw/foundations/content-guidelines/error-handling.md` — preventing and
|
|
38
|
+
presenting errors
|
|
31
39
|
- `/raw/foundations/content-guidelines/sprach-guide.md` — UI wording
|
|
32
40
|
- `/raw/get-started/versioning.md` — what you may depend on
|
|
33
41
|
|