@mittwald/flow-react-components 0.2.0-alpha.1004 → 0.2.0-alpha.1005

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.
Files changed (42) hide show
  1. package/AGENTS.md +12 -2
  2. package/CHANGELOG.md +6 -0
  3. package/MIGRATION.md +41 -0
  4. package/dist/assets/doc-properties.json +4693 -3548
  5. package/dist/js/default.mjs +2 -0
  6. package/dist/js/default.mjs.map +1 -1
  7. package/dist/js/flr-universal.mjs +1 -0
  8. package/dist/js/flr-universal.mjs.map +1 -1
  9. package/dist/js/packages/components/src/components/ComponentDefaultsProvider/ComponentDefaultsProvider.mjs +40 -0
  10. package/dist/js/packages/components/src/components/ComponentDefaultsProvider/ComponentDefaultsProvider.mjs.map +1 -0
  11. package/dist/js/packages/components/src/components/ComponentDefaultsProvider/defaults.mjs +13 -0
  12. package/dist/js/packages/components/src/components/ComponentDefaultsProvider/defaults.mjs.map +1 -0
  13. package/dist/js/packages/components/src/components/ComponentDefaultsProvider/deprecatedFlags.mjs +34 -0
  14. package/dist/js/packages/components/src/components/ComponentDefaultsProvider/deprecatedFlags.mjs.map +1 -0
  15. package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoader.mjs +4 -2
  16. package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoader.mjs.map +1 -1
  17. package/dist/js/packages/components/src/flags.mjs +18 -4
  18. package/dist/js/packages/components/src/flags.mjs.map +1 -1
  19. package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/Form.mjs +7 -5
  20. package/dist/js/packages/components/src/integrations/react-hook-form/components/Form/Form.mjs.map +1 -1
  21. package/dist/js/packages/components/src/status/component-status.json.mjs +1 -0
  22. package/dist/js/packages/components/src/status/component-status.json.mjs.map +1 -1
  23. package/dist/types/components/ComponentDefaultsProvider/ComponentDefaultsProvider.d.ts +24 -0
  24. package/dist/types/components/ComponentDefaultsProvider/ComponentDefaultsProvider.d.ts.map +1 -0
  25. package/dist/types/components/ComponentDefaultsProvider/ComponentDefaultsProvider.test.d.ts +2 -0
  26. package/dist/types/components/ComponentDefaultsProvider/ComponentDefaultsProvider.test.d.ts.map +1 -0
  27. package/dist/types/components/ComponentDefaultsProvider/defaults.d.ts +37 -0
  28. package/dist/types/components/ComponentDefaultsProvider/defaults.d.ts.map +1 -0
  29. package/dist/types/components/ComponentDefaultsProvider/deprecatedFlags.d.ts +8 -0
  30. package/dist/types/components/ComponentDefaultsProvider/deprecatedFlags.d.ts.map +1 -0
  31. package/dist/types/components/ComponentDefaultsProvider/index.d.ts +4 -0
  32. package/dist/types/components/ComponentDefaultsProvider/index.d.ts.map +1 -0
  33. package/dist/types/components/List/model/loading/IncrementalLoader.d.ts.map +1 -1
  34. package/dist/types/components/List/model/loading/types.d.ts +8 -0
  35. package/dist/types/components/List/model/loading/types.d.ts.map +1 -1
  36. package/dist/types/components/public.d.ts +1 -0
  37. package/dist/types/components/public.d.ts.map +1 -1
  38. package/dist/types/flags.d.ts +23 -2
  39. package/dist/types/flags.d.ts.map +1 -1
  40. package/dist/types/integrations/react-hook-form/components/Form/Form.d.ts.map +1 -1
  41. package/dist/types/status/component-status.json.d.ts +4 -0
  42. package/package.json +9 -9
package/AGENTS.md CHANGED
@@ -264,8 +264,18 @@ props to hide.
264
264
 
265
265
  ## Misc
266
266
 
267
- - Feature flags: `src/flags.ts` holds a few behavior toggles; there is no formal
268
- policy around them.
267
+ - Application-wide component defaults: `ComponentDefaultsProvider`
268
+ (`src/components/ComponentDefaultsProvider/`) is where a behavior default that
269
+ an application should be able to set **once** belongs. Add the setting to the
270
+ `ComponentDefaults` interface plus its built-in value in
271
+ `builtInComponentDefaults`, and read it with `useComponentDefaults("<Name>")`
272
+ at the place that decides. Resolution order: local prop → provider →
273
+ deprecated `flags` → built-in default. This is not a replacement for
274
+ `PropsContext`: a UI component clears the props context for its children, so
275
+ PropsContext cannot carry an app-wide default past the first UI ancestor.
276
+ - Feature flags: `src/flags.ts` is the deprecated predecessor of the
277
+ `ComponentDefaultsProvider`. Assigned flags still act as an application-wide
278
+ default (and warn via `useWarnDeprecation`); do not add new ones.
269
279
  - `SettingsProvider` (`src/components/SettingsProvider/`) is the built-in
270
280
  persistence for component settings (e.g. `List` remembering its view
271
281
  settings), with pluggable backends (localStorage by default). Internal
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.2.0-alpha.1005](https://github.com/mittwald/flow/compare/0.2.0-alpha.1004...0.2.0-alpha.1005) (2026-08-06)
7
+
8
+ ### Features
9
+
10
+ * **components:** add ComponentDefaultsProvider for application-wide defaults ([#2796](https://github.com/mittwald/flow/issues/2796)) ([c043f6c](https://github.com/mittwald/flow/commit/c043f6c89b2aa2bb669355014698e57cd81ea796))
11
+
6
12
  # [0.2.0-alpha.1004](https://github.com/mittwald/flow/compare/0.2.0-alpha.1003...0.2.0-alpha.1004) (2026-08-06)
7
13
 
8
14
  ### Bug Fixes
package/MIGRATION.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # Migrations
2
2
 
3
+ ## From version `0.2.0-alpha.1004` to `>=0.2.0-alpha.1005`
4
+
5
+ ### Closing a Modal with unsaved changes is confirmed by default
6
+
7
+ A `Modal` that contains a react-hook-form `<Form>` now asks for confirmation
8
+ before it closes while the form is _dirty_ — previously this required the
9
+ `requireCloseModalConfirmationOnUnsavedChanges` flag. After a successful submit
10
+ or a `form.reset()` the modal closes right away, and actions in the
11
+ `<ActionGroup />` as well as the close button in the heading still close it
12
+ immediately.
13
+
14
+ Nothing to do if you had the flag enabled. To keep the previous behavior, switch
15
+ the default off (see below).
16
+
17
+ ### `flags` is replaced by the ComponentDefaultsProvider
18
+
19
+ The global `flags` object is deprecated. Application-wide defaults are defined
20
+ with the `<ComponentDefaultsProvider />` instead, which additionally works per
21
+ subtree:
22
+
23
+ ```diff
24
+ - import { flags } from "@mittwald/flow-react-components";
25
+ -
26
+ - flags.requireCloseModalConfirmationOnUnsavedChanges = false;
27
+ - flags.disableInitialListSuspenseBoundaries = true;
28
+ + import { ComponentDefaultsProvider } from "@mittwald/flow-react-components";
29
+ +
30
+ + <ComponentDefaultsProvider
31
+ + defaults={{
32
+ + Form: { confirmModalCloseOnUnsavedChanges: false },
33
+ + List: { disableInitialSuspenseBoundary: true },
34
+ + }}
35
+ + >
36
+ + <App />
37
+ + </ComponentDefaultsProvider>
38
+ ```
39
+
40
+ Assigning a flag keeps working — it acts as the application-wide default below
41
+ the provider and logs a deprecation warning — but the flags will be removed in a
42
+ future release.
43
+
3
44
  ## From version `0.2.0-alpha.779` to `>=0.2.0-alpha.780`
4
45
 
5
46
  ### CartesianChart