@mittwald/flow-react-components 1.3.0-next.8 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +56 -1
- 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 +1 -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/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/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/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/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/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/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/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)
|
|
@@ -296,6 +316,38 @@ Run: `pnpm nx test:unit components`,
|
|
|
296
316
|
`pnpm nx test:browser components --browser.name=webkit`. Browser tests need
|
|
297
317
|
`pnpm test:browser:prepare` once.
|
|
298
318
|
|
|
319
|
+
**Iterate through nx too**, not with a bare `vitest`. Everything after the `--`
|
|
320
|
+
goes to vitest, so a single file and watch mode have nx targets as well:
|
|
321
|
+
|
|
322
|
+
```shell
|
|
323
|
+
pnpm nx test:browser components -- src/components/Popover --browser.name=webkit
|
|
324
|
+
pnpm nx test:browser:dev components
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
Only the nx target's `dependsOn` rebuilds the design tokens the styles entry
|
|
328
|
+
compiles against. A bare `vitest run` skips it and renders against whatever
|
|
329
|
+
`packages/design-tokens/dist` happens to hold — a token added in the same branch
|
|
330
|
+
is simply absent, and CSS drops every declaration referencing it without a
|
|
331
|
+
warning (#3194).
|
|
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
|
+
|
|
299
351
|
## i18n & a11y
|
|
300
352
|
|
|
301
353
|
- Component-internal UI text lives in colocated `locales/de-DE.locale.json`
|
|
@@ -391,7 +443,10 @@ Easy-to-miss conventions not spelled out above. Full details and examples in
|
|
|
391
443
|
children are left intact.
|
|
392
444
|
- **Semantic generated CSS classes are coordination points** — scoped modules
|
|
393
445
|
still use `:global(.flow--…)` when independently rendered Flow descendants
|
|
394
|
-
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.
|
|
395
450
|
- **Controllers coexist with declarative props** — overlay-like APIs support
|
|
396
451
|
controlled/uncontrolled props _and_ a controller object, not one or the other.
|
|
397
452
|
- **A component without `value` and without `defaultValue` still has to render
|
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
|
|