@mittwald/flow-react-components 0.2.0-alpha.981 → 0.2.0-alpha.982

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 (54) hide show
  1. package/AGENTS.md +20 -1
  2. package/CHANGELOG.md +6 -0
  3. package/PATTERNS.md +6 -4
  4. package/dist/assets/doc-properties.json +1487 -1487
  5. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs +1 -0
  6. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs.map +1 -1
  7. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/SortingAccordion.mjs +1 -0
  8. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/SortingAccordion.mjs.map +1 -1
  9. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.mjs +1 -0
  10. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.mjs.map +1 -1
  11. package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenus.mjs +1 -0
  12. package/dist/js/packages/components/src/components/List/components/Header/components/FilterContextMenu/FilterContextMenus.mjs.map +1 -1
  13. package/dist/js/packages/components/src/components/List/components/Header/components/SortingContextMenu/SortingMenuItem.mjs +1 -0
  14. package/dist/js/packages/components/src/components/List/components/Header/components/SortingContextMenu/SortingMenuItem.mjs.map +1 -1
  15. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.mjs +1 -0
  16. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.mjs.map +1 -1
  17. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.mjs +1 -0
  18. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.mjs.map +1 -1
  19. package/dist/js/packages/components/src/components/List/components/Header/lib.mjs +1 -0
  20. package/dist/js/packages/components/src/components/List/components/Header/lib.mjs.map +1 -1
  21. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs +1 -0
  22. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
  23. package/dist/js/packages/components/src/components/List/components/Table/Table.mjs +1 -0
  24. package/dist/js/packages/components/src/components/List/components/Table/Table.mjs.map +1 -1
  25. package/dist/js/packages/components/src/components/List/model/List.mjs +7 -0
  26. package/dist/js/packages/components/src/components/List/model/List.mjs.map +1 -1
  27. package/dist/js/packages/components/src/components/List/setupComponents/ListLoaderAsyncResource.mjs +9 -1
  28. package/dist/js/packages/components/src/components/List/setupComponents/ListLoaderAsyncResource.mjs.map +1 -1
  29. package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs +1 -0
  30. package/dist/js/packages/components/src/components/PasswordCreationField/PasswordCreationField.mjs.map +1 -1
  31. package/dist/js/packages/components/src/components/PasswordCreationField/lib/generateValidationTranslation.mjs +1 -0
  32. package/dist/js/packages/components/src/components/PasswordCreationField/lib/generateValidationTranslation.mjs.map +1 -1
  33. package/dist/js/packages/components/src/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult.mjs +1 -0
  34. package/dist/js/packages/components/src/components/PasswordCreationField/lib/getStateFromLatestPolicyValidationResult.mjs.map +1 -1
  35. package/dist/js/packages/components/src/components/PasswordCreationField/worker/generatePassword.mjs +1 -0
  36. package/dist/js/packages/components/src/components/PasswordCreationField/worker/generatePassword.mjs.map +1 -1
  37. package/dist/js/packages/components/src/components/Select/Select.mjs +7 -0
  38. package/dist/js/packages/components/src/components/Select/Select.mjs.map +1 -1
  39. package/dist/js/packages/components/src/integrations/@mittwald/password-tools-js/defaultPasswordCreationPolicy.mjs +1 -0
  40. package/dist/js/packages/components/src/integrations/@mittwald/password-tools-js/defaultPasswordCreationPolicy.mjs.map +1 -1
  41. package/dist/js/packages/components/src/integrations/@mittwald/password-tools-js/usePasswordCreationFieldValidation.mjs +8 -1
  42. package/dist/js/packages/components/src/integrations/@mittwald/password-tools-js/usePasswordCreationFieldValidation.mjs.map +1 -1
  43. package/dist/js/packages/components/src/integrations/nextjs/components/Link/Link.mjs +5 -0
  44. package/dist/js/packages/components/src/integrations/nextjs/components/Link/Link.mjs.map +1 -1
  45. package/dist/js/packages/components/src/integrations/nextjs/components/LinkProvider/LinkProvider.mjs +8 -1
  46. package/dist/js/packages/components/src/integrations/nextjs/components/LinkProvider/LinkProvider.mjs.map +1 -1
  47. package/dist/types/components/List/model/List.d.ts.map +1 -1
  48. package/dist/types/components/List/setupComponents/ListLoaderAsyncResource.d.ts.map +1 -1
  49. package/dist/types/components/Select/Select.d.ts +1 -1
  50. package/dist/types/components/Select/Select.d.ts.map +1 -1
  51. package/dist/types/integrations/@mittwald/password-tools-js/usePasswordCreationFieldValidation.d.ts.map +1 -1
  52. package/dist/types/integrations/nextjs/components/Link/Link.d.ts.map +1 -1
  53. package/dist/types/integrations/nextjs/components/LinkProvider/LinkProvider.d.ts.map +1 -1
  54. package/package.json +6 -6
package/AGENTS.md CHANGED
@@ -149,9 +149,17 @@ Remote generation details:
149
149
  `pnpm nx build:remote-components components` and **commit** the results
150
150
  (view.ts, `src/views/*`, `remote-*/src/auto-generated/**`).
151
151
  - Props of these components are consumed by mStudio extension developers — no
152
- breaking changes; deprecate instead. Why this matters:
152
+ breaking changes; deprecate instead (see
153
+ [Deprecating an API](#deprecating-an-api)). Why this matters:
153
154
  [docs/remote-ui.md](../../docs/remote-ui.md).
154
155
 
156
+ ## Deprecating an API
157
+
158
+ Never break a shipped API — keep the old path working and warn at runtime with
159
+ `useWarnDeprecation` (from `DeprecationWarningProvider`). This covers every kind
160
+ of deprecated entry point: a prop, a whole component, a hook, or an integration
161
+ export (`nextjs`, `password-tools`).
162
+
155
163
  ```tsx
156
164
  const warnDeprecation = useWarnDeprecation();
157
165
  if ("action" in props) {
@@ -159,6 +167,17 @@ if ("action" in props) {
159
167
  }
160
168
  ```
161
169
 
170
+ - Warn a deprecated **prop** only when it is actually passed; warn a deprecated
171
+ **component** unconditionally at the top of its render.
172
+ - `useWarnDeprecation` is a hook — it must run inside a render or another hook.
173
+ A class constructor works only when it is itself a `Model.useNew`-style
174
+ render-time hook (e.g. `List`), not when it is constructed conditionally (e.g.
175
+ `new ItemView(…)`); warn one level up in that case.
176
+ - Messages are deduplicated per string; follow the shape
177
+ `The '<name>' <prop|component|function> is deprecated and will be removed in a future release. Use '<replacement>' instead.`
178
+ - A type-only deprecation (e.g. a deprecated type alias) has no runtime path —
179
+ nothing to warn.
180
+
162
181
  ## Styling
163
182
 
164
183
  - One `<Name>.module.scss` per component. Scoped class names are generated from
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.982](https://github.com/mittwald/flow/compare/0.2.0-alpha.981...0.2.0-alpha.982) (2026-07-30)
7
+
8
+ ### Features
9
+
10
+ * **components:** warn on all remaining deprecated APIs via useWarnDeprecation ([#2757](https://github.com/mittwald/flow/issues/2757)) ([8a945e6](https://github.com/mittwald/flow/commit/8a945e652cf919abe8a6b5577f5bda24a62cdcc9))
11
+
6
12
  # [0.2.0-alpha.981](https://github.com/mittwald/flow/compare/0.2.0-alpha.980...0.2.0-alpha.981) (2026-07-30)
7
13
 
8
14
  **Note:** Version bump only for package @mittwald/flow-react-components
package/PATTERNS.md CHANGED
@@ -345,11 +345,13 @@ and consistency enforced by tooling, not maintained by hand.
345
345
  `@flr-generate` props.
346
346
  - ✓ generated props are serializable, least-privilege, backward-compatible.
347
347
  - ✗ host-only/non-serializable → ignore remotely or stay host-only.
348
- - **Deprecation warning hook (`useWarnDeprecation`)** — warn on legacy prop
349
- usage, keep supporting it.
348
+ - **Deprecation warning hook (`useWarnDeprecation`)** — warn on any deprecated
349
+ runtime path (prop, whole component, or hook/alias), keep supporting it.
350
350
  `src/components/CartesianChart/CartesianChart.tsx:59`
351
- - ✓ a shipped remote prop/API must keep working while guiding to its
352
- replacement.
351
+ - ✓ any shipped API (remote prop, non-remote component, integration export)
352
+ must keep working while guiding to its replacement.
353
+ - ✗ a deprecation with no runtime entry point (a type-only alias) — nothing to
354
+ warn; or a spot with no render/hook context (warn one level up instead).
353
355
  - ✗ unshipped/internal API → change directly.
354
356
  - **Controlled remote adapter** `[undocumented]` — shared hooks bridge
355
357
  serialized value/callbacks. `src/lib/remote/useControlledHostValueProps.ts:23`