@mittwald/flow-react-components 1.3.5 → 1.4.0-next.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.
Files changed (81) hide show
  1. package/MIGRATION.md +25 -2
  2. package/dist/assets/component-index.json +1 -1
  3. package/dist/assets/doc-properties.json +1 -1
  4. package/dist/css/all-layered.css +1 -1
  5. package/dist/css/all.css +1 -1
  6. package/dist/js/_virtual/_24.locale.mjs +10 -2
  7. package/dist/js/default.mjs +2 -1
  8. package/dist/js/flr-universal.mjs +2 -1
  9. package/dist/js/packages/components/src/components/Action/models/ActionModel.mjs +25 -8
  10. package/dist/js/packages/components/src/components/Action/models/ActionModel.mjs.map +1 -1
  11. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.mjs +0 -1
  12. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.mjs.map +1 -1
  13. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.module.mjs +2 -4
  14. package/dist/js/packages/components/src/components/CheckboxButton/CheckboxButton.module.mjs.map +1 -1
  15. package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs +2 -2
  16. package/dist/js/packages/components/src/components/ContextMenu/ContextMenu.mjs.map +1 -1
  17. package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs +2 -2
  18. package/dist/js/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs.map +1 -1
  19. package/dist/js/packages/components/src/components/ContextMenu/lib.mjs +7 -3
  20. package/dist/js/packages/components/src/components/ContextMenu/lib.mjs.map +1 -1
  21. package/dist/js/packages/components/src/components/CopyButton/CopyButton.mjs +4 -3
  22. package/dist/js/packages/components/src/components/CopyButton/CopyButton.mjs.map +1 -1
  23. package/dist/js/packages/components/src/components/Icon/components/icons/IconAIHosting.mjs +19 -0
  24. package/dist/js/packages/components/src/components/Icon/components/icons/IconAIHosting.mjs.map +1 -0
  25. package/dist/js/packages/components/src/components/Image/Image.mjs +2 -2
  26. package/dist/js/packages/components/src/components/Image/Image.mjs.map +1 -1
  27. package/dist/js/packages/components/src/components/Image/Image.module.mjs +3 -1
  28. package/dist/js/packages/components/src/components/Image/Image.module.mjs.map +1 -1
  29. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs +2 -2
  30. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/AllFiltersModal.mjs.map +1 -1
  31. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionDateRange.mjs +2 -2
  32. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionDateRange.mjs.map +1 -1
  33. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionRadioGroup.mjs +2 -2
  34. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/FilterAccordionRadioGroup.mjs.map +1 -1
  35. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs +16 -3
  36. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs.map +1 -1
  37. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.module.mjs +4 -2
  38. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.module.mjs.map +1 -1
  39. package/dist/js/packages/components/src/components/MarkdownEditor/components/AttachmentButton.mjs +47 -0
  40. package/dist/js/packages/components/src/components/MarkdownEditor/components/AttachmentButton.mjs.map +1 -0
  41. package/dist/js/packages/components/src/components/MarkdownEditor/components/Toolbar.mjs +21 -20
  42. package/dist/js/packages/components/src/components/MarkdownEditor/components/Toolbar.mjs.map +1 -1
  43. package/dist/js/packages/components/src/components/MarkdownEditor/components/ToolbarButton.mjs +1 -1
  44. package/dist/js/packages/components/src/components/MarkdownEditor/components/ToolbarButton.mjs.map +1 -1
  45. package/dist/js/packages/components/src/components/MarkdownEditor/lib/fileUpload.mjs +73 -0
  46. package/dist/js/packages/components/src/components/MarkdownEditor/lib/fileUpload.mjs.map +1 -0
  47. package/dist/js/packages/components/src/components/MarkdownEditor/lib/useFileUpload.mjs +141 -0
  48. package/dist/js/packages/components/src/components/MarkdownEditor/lib/useFileUpload.mjs.map +1 -0
  49. package/dist/js/packages/components/src/components/Modal/Modal.mjs +6 -4
  50. package/dist/js/packages/components/src/components/Modal/Modal.mjs.map +1 -1
  51. package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs +1 -0
  52. package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs.map +1 -1
  53. package/dist/js/packages/components/src/lib/controller/overlay/OverlayContextProvider.mjs +6 -3
  54. package/dist/js/packages/components/src/lib/controller/overlay/OverlayContextProvider.mjs.map +1 -1
  55. package/dist/js/packages/components/src/lib/controller/overlay/OverlayController.mjs.map +1 -1
  56. package/dist/js/packages/components/src/lib/controller/overlay/context.mjs +1 -1
  57. package/dist/js/packages/components/src/lib/controller/overlay/context.mjs.map +1 -1
  58. package/dist/js/packages/components/src/lib/controller/overlay/useOverlayController.mjs +1 -1
  59. package/dist/js/packages/components/src/lib/controller/overlay/useOverlayController.mjs.map +1 -1
  60. package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs +1 -1
  61. package/dist/js/packages/design-tokens/dist/json-runtime/all-dark.mjs.map +1 -1
  62. package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs +1 -1
  63. package/dist/js/packages/design-tokens/dist/json-runtime/all-light.mjs.map +1 -1
  64. package/dist/types/components/Action/models/ActionModel.d.ts +12 -4
  65. package/dist/types/components/Action/types.d.ts +9 -2
  66. package/dist/types/components/ContextMenu/lib.d.ts +5 -1
  67. package/dist/types/components/CopyButton/CopyButton.d.ts +5 -0
  68. package/dist/types/components/Icon/components/icons/IconAIHosting.d.ts +4 -0
  69. package/dist/types/components/Icon/components/icons/index.d.ts +1 -0
  70. package/dist/types/components/Image/Image.d.ts +7 -1
  71. package/dist/types/components/MarkdownEditor/MarkdownEditor.d.ts +20 -0
  72. package/dist/types/components/MarkdownEditor/components/AttachmentButton.d.ts +1 -0
  73. package/dist/types/components/MarkdownEditor/components/Toolbar.d.ts +11 -2
  74. package/dist/types/components/MarkdownEditor/components/ToolbarButton.d.ts +8 -2
  75. package/dist/types/components/MarkdownEditor/index.d.ts +1 -1
  76. package/dist/types/components/MarkdownEditor/lib/fileUpload.d.ts +19 -0
  77. package/dist/types/components/MarkdownEditor/lib/useFileUpload.d.ts +1 -0
  78. package/dist/types/lib/controller/overlay/OverlayContextProvider.d.ts +9 -0
  79. package/dist/types/lib/controller/overlay/OverlayController.d.ts +11 -1
  80. package/dist/types/lib/controller/overlay/context.d.ts +19 -2
  81. package/package.json +9 -9
@@ -2,8 +2,7 @@ import { OverlayController } from '../../../lib/controller';
2
2
  import { ActionProps } from '../types';
3
3
  import { ActionState } from './ActionState';
4
4
  import { OverlayContext } from '../../../lib/controller/overlay/context';
5
- import { FlowComponentName } from '../../propTypes';
6
- import { CloseModalOptions, CloseOverlayOptions } from '../../../lib/controller/overlay/OverlayController';
5
+ import { OverlayReference } from '../../../lib/controller/overlay/OverlayController';
7
6
  interface InitObject {
8
7
  actionProps: ActionProps;
9
8
  parentAction?: ActionModel;
@@ -23,8 +22,17 @@ export declare class ActionModel {
23
22
  static useNew(actionProps: ActionProps, init?: Partial<InitObject>): ActionModel;
24
23
  static use(): ActionModel;
25
24
  static useConfirmationAction(): ActionModel;
26
- getOverlayController(from: FlowComponentName | OverlayController | CloseOverlayOptions | CloseModalOptions): OverlayController | undefined;
27
- static getCloseOverlayOptions: (options?: OverlayController | FlowComponentName | CloseOverlayOptions | CloseModalOptions | true) => CloseModalOptions | undefined;
25
+ /**
26
+ * Resolves an overlay reference against this action's overlay context.
27
+ *
28
+ * Returns `undefined` unless the action carries one of the overlay props –
29
+ * `Action` relies on that to tell whether it owns a surrounding `Modal`'s
30
+ * controller.
31
+ */
32
+ getOverlayController(from: OverlayReference): OverlayController | undefined;
33
+ private get hasOverlayProps();
34
+ private resolveOverlayReference;
35
+ static getCloseOverlayOptions: (options?: OverlayReference) => import('../../../lib/controller/overlay/OverlayController').CloseOverlayOptions | undefined;
28
36
  execute: (...args: unknown[]) => void;
29
37
  }
30
38
  export {};
@@ -16,8 +16,15 @@ export interface ActionProps extends PropsWithChildren, FlowComponentProps {
16
16
  * components share one action state.
17
17
  */
18
18
  actionModel?: ActionModel;
19
- /** The overlay to close when the action is triggered. */
20
- closeOverlay?: FlowComponentName | OverlayController | CloseOverlayOptions;
19
+ /**
20
+ * The overlay to close when the action is triggered. `true` closes the
21
+ * nearest enclosing overlay, whichever component it is — a name still wins,
22
+ * so `closeOverlay="Modal"` inside a `Popover` closes the outer modal.
23
+ *
24
+ * There is no `openOverlay={true}` counterpart: the nearest overlay is the
25
+ * one this action renders inside, so it is open by definition.
26
+ */
27
+ closeOverlay?: boolean | FlowComponentName | OverlayController | CloseOverlayOptions;
21
28
  /** The overlay to open when the action is triggered. */
22
29
  openOverlay?: FlowComponentName | OverlayController;
23
30
  /** The overlay to open or close when the action is triggered. */
@@ -1,4 +1,8 @@
1
1
  export type ContextMenuSelectionMode = "single" | "multiple" | "navigation" | "switch";
2
2
  export declare const getAriaSelectionMode: (selectionMode?: ContextMenuSelectionMode) => "single" | "multiple" | "none" | undefined;
3
3
  export declare const getMenuItemSelectionVariant: (selectionMode?: ContextMenuSelectionMode) => "switch" | "navigation" | "control" | undefined;
4
- export declare const getCloseOverlayType: (selectionMode?: ContextMenuSelectionMode) => "ContextMenu" | undefined;
4
+ /**
5
+ * Whether selecting an item closes the menu. A mode that collects several
6
+ * selections keeps it open.
7
+ */
8
+ export declare const closesOnSelect: (selectionMode?: ContextMenuSelectionMode) => selectionMode is "single" | "navigation" | undefined;
@@ -3,6 +3,11 @@ import { FlowComponentProps } from '../../lib/componentFactory/flowComponent';
3
3
  export interface CopyButtonProps extends Omit<ButtonProps, "onPress" | "aria-label" | "render">, FlowComponentProps<HTMLButtonElement> {
4
4
  /** The text to copy. */
5
5
  text?: string;
6
+ /**
7
+ * Called with the copied text once it has been written to the clipboard. Not
8
+ * called when copying fails.
9
+ */
10
+ onCopy?: (text: string) => void;
6
11
  }
7
12
  /** @flr-generate all */
8
13
  export declare const CopyButton: import('react').FunctionComponent<CopyButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,4 @@
1
+ import { ComponentProps, FC } from 'react';
2
+ import { Icon } from '../..';
3
+ export declare const IconAIHosting: FC<Omit<ComponentProps<typeof Icon>, "children">>;
4
+ export default IconAIHosting;
@@ -54,6 +54,7 @@ export { IconUnorderedList } from './IconUnorderedList';
54
54
  export { IconUpload } from './IconUpload';
55
55
  export { IconView } from './IconView';
56
56
  export { IconAI } from './IconAI';
57
+ export { IconAIHosting } from './IconAIHosting';
57
58
  export { IconAnalytics } from './IconAnalytics';
58
59
  export { IconApp } from './IconApp';
59
60
  export { IconAutoresponder } from './IconAutoresponder';
@@ -1,8 +1,14 @@
1
1
  import { FlowComponentProps } from '../../lib/componentFactory/flowComponent';
2
2
  import { ComponentProps } from 'react';
3
3
  export interface ImageProps extends Omit<ComponentProps<"img">, "ref">, FlowComponentProps<HTMLImageElement> {
4
- /** Display the image with border and rounded edges. */
4
+ /** Display the image with a border. */
5
5
  withBorder?: boolean;
6
+ /**
7
+ * Display the image with rounded corners.
8
+ *
9
+ * @default true
10
+ */
11
+ withRoundedCorners?: boolean;
6
12
  /**
7
13
  * The aspect ratio of the images container. Larger images will be centered
8
14
  * and their overflow will be hidden.
@@ -1,13 +1,33 @@
1
1
  import { ComponentType } from 'react';
2
2
  import { MarkdownProps } from '../Markdown';
3
3
  import { TextAreaProps } from '../TextArea';
4
+ import { MarkdownEditorUpload } from './lib/fileUpload';
4
5
  export type MarkdownEditorMode = "editor" | "preview";
6
+ export type { MarkdownEditorUpload };
5
7
  export interface MarkdownEditorProps extends TextAreaProps, Pick<MarkdownProps, "headingOffset"> {
6
8
  /**
7
9
  * Allows replacing the markdown preview renderer implementation. Defaults to
8
10
  * the internal `Markdown` component.
9
11
  */
10
12
  markdownComponent?: ComponentType<MarkdownProps>;
13
+ /**
14
+ * Uploads a file the user dropped onto the editor, pasted into it or picked
15
+ * with its attachment button. A placeholder comment sits at the cursor while
16
+ * the returned promise is pending: resolving replaces it with markdown
17
+ * linking to the file — an image embed for an image — and rejecting takes it
18
+ * back out. Without this prop the editor takes no files at all.
19
+ *
20
+ * Named without an `on` prefix on purpose: the remote generator turns an
21
+ * `on*` prop into a fire-and-forget event, and this one has to hand a result
22
+ * back.
23
+ */
24
+ uploadFile?: (file: File) => Promise<MarkdownEditorUpload>;
25
+ /**
26
+ * Which file types the editor takes, as the `accept` attribute of a file
27
+ * input: a comma separated list of MIME types (`image/png`), MIME wildcards
28
+ * (`image/*`) and file extensions (`.png`). Defaults to every type.
29
+ */
30
+ accept?: string;
11
31
  }
12
32
  /** @flr-generate all */
13
33
  export declare const MarkdownEditor: import('react').FunctionComponent<MarkdownEditorProps & import('react').RefAttributes<HTMLTextAreaElement>>;
@@ -1,11 +1,20 @@
1
1
  import { FC } from 'react';
2
- import { ToolBarButtonProps } from './ToolbarButton';
3
2
  import { ModeButtonProps } from './ModeButton';
4
3
  import { ButtonProps } from '../../Button';
4
+ import { InsertType } from '../lib/modifyValueByType';
5
5
  interface ToolbarProps extends Pick<ButtonProps, "isDisabled"> {
6
6
  currentMode: ModeButtonProps["currentMode"];
7
7
  onModeChange: ModeButtonProps["onChange"];
8
- onToolPressed: ToolBarButtonProps["onPress"];
8
+ onToolPressed: (type: InsertType) => void;
9
+ /** Which file types the attachment button offers. */
10
+ accept?: string;
11
+ /** Renders the attachment button when set. */
12
+ onFilesSelected?: (files: File[]) => void;
13
+ /**
14
+ * Disables the attachment button, which a read-only editor takes no files
15
+ * for.
16
+ */
17
+ isReadOnly?: boolean;
9
18
  }
10
19
  export declare const Toolbar: FC<ToolbarProps>;
11
20
  export {};
@@ -1,8 +1,14 @@
1
1
  import { FC } from 'react';
2
2
  import { InsertType } from '../lib/modifyValueByType';
3
3
  import { ButtonProps } from '../../Button';
4
+ /**
5
+ * What a toolbar button is: every markdown syntax it inserts, plus the one tool
6
+ * that does something else. The name is also the `toolbar.<type>` locale key of
7
+ * the button's label.
8
+ */
9
+ export type ToolbarButtonType = InsertType | "attachment";
4
10
  export interface ToolBarButtonProps extends Pick<ButtonProps, "isDisabled" | "children"> {
5
- type: InsertType;
6
- onPress?: (type: InsertType) => void;
11
+ type: ToolbarButtonType;
12
+ onPress?: () => void;
7
13
  }
8
14
  export declare const ToolbarButton: FC<ToolBarButtonProps>;
@@ -1,2 +1,2 @@
1
- export { type MarkdownEditorProps, MarkdownEditor } from './MarkdownEditor';
1
+ export { type MarkdownEditorProps, type MarkdownEditorUpload, MarkdownEditor, } from './MarkdownEditor';
2
2
  export { default } from './MarkdownEditor';
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The result of uploading a file dropped into, pasted into or selected in a
3
+ * `MarkdownEditor`.
4
+ */
5
+ export interface MarkdownEditorUpload {
6
+ /** The URL the uploaded file is available at. */
7
+ url: string;
8
+ /**
9
+ * The link text of the inserted markdown — the alt text for an image.
10
+ * Defaults to the name of the uploaded file.
11
+ */
12
+ name?: string;
13
+ }
14
+ /** A new editor value together with where the cursor ends up in it. */
15
+ export interface ValueEdit {
16
+ value: string;
17
+ selectionStart: number;
18
+ selectionEnd: number;
19
+ }
@@ -4,6 +4,15 @@ import { OverlayController } from '..';
4
4
  interface Props extends PropsWithChildren {
5
5
  type: FlowComponentName;
6
6
  controller: OverlayController;
7
+ /**
8
+ * Whether the children are the overlay's content. Content also registers the
9
+ * controller as the _nearest_ overlay, which is what `closeOverlay` without a
10
+ * name resolves to. Set `false` where the subtree is not inside the overlay –
11
+ * `OverlayTrigger` wraps the trigger too.
12
+ *
13
+ * @default true
14
+ */
15
+ isOverlayContent?: boolean;
7
16
  }
8
17
  export declare const OverlayContextProvider: FC<Props>;
9
18
  export default OverlayContextProvider;
@@ -5,13 +5,23 @@ export type OverlayCloseHandler = () => unknown;
5
5
  export type OverlayOpenStateHandler = (isOpen: boolean) => unknown;
6
6
  type DisposerFn = () => void;
7
7
  export interface CloseOverlayOptions {
8
- overlay: FlowComponentName | OverlayController;
8
+ /**
9
+ * The overlay to close. Omitted, the nearest enclosing overlay is closed –
10
+ * the same thing `closeOverlay={true}` means.
11
+ */
12
+ overlay?: FlowComponentName | OverlayController;
9
13
  bypassConfirmation?: boolean;
10
14
  }
11
15
  export interface OnOverlayClosedOptions {
12
16
  dependencies?: DependencyList;
13
17
  }
14
18
  export type CloseModalOptions = Omit<CloseOverlayOptions, "overlay">;
19
+ /**
20
+ * Every way an action can point at an overlay: by the Flow component name it
21
+ * registers under, by controller, by options, or with `true` – the nearest
22
+ * enclosing overlay, whatever its name.
23
+ */
24
+ export type OverlayReference = FlowComponentName | OverlayController | CloseOverlayOptions | true;
15
25
  type CloseOptions = CloseOverlayOptions | CloseModalOptions;
16
26
  export interface OverlayControllerOptions {
17
27
  isDefaultOpen?: boolean;
@@ -1,5 +1,22 @@
1
1
  import { OverlayController } from './OverlayController';
2
2
  import { FlowComponentName } from '../../../components/propTypes';
3
- export type OverlayContext = Partial<Record<FlowComponentName, OverlayController | undefined>>;
4
- export declare const overlayContext: import('react').Context<Partial<Record<keyof import('../../../components/propTypes').FlowComponentPropsTypes, OverlayController | undefined>>>;
3
+ export interface OverlayContext {
4
+ /**
5
+ * The enclosing overlays' controllers, keyed by the Flow component name the
6
+ * providing overlay registers itself under. Innermost wins per name – a
7
+ * `Modal` inside a `Modal` overwrites the `Modal` entry – but the map does
8
+ * not record which of two differently named overlays is the inner one.
9
+ */
10
+ byType: Partial<Record<FlowComponentName, OverlayController | undefined>>;
11
+ /**
12
+ * The controller of the innermost overlay this subtree is the _content_ of,
13
+ * whatever its component name. `undefined` outside any overlay content.
14
+ *
15
+ * Only providers that wrap overlay content set it. `OverlayTrigger` wraps the
16
+ * trigger as well, so it contributes to `byType` only – an `Action` in the
17
+ * trigger button is not inside the overlay it opens.
18
+ */
19
+ nearest?: OverlayController;
20
+ }
21
+ export declare const overlayContext: import('react').Context<OverlayContext>;
5
22
  export declare const useOverlayContext: () => OverlayContext;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/flow-react-components",
3
- "version": "1.3.5",
3
+ "version": "1.4.0-next.1",
4
4
  "type": "module",
5
5
  "description": "A React implementation of Flow, mittwald’s design system",
6
6
  "homepage": "https://flow.mittwald.de",
@@ -83,9 +83,9 @@
83
83
  "@internationalized/string-compiler": "^3.4.1",
84
84
  "@lezer/common": "^1.5.2",
85
85
  "@lezer/highlight": "^1.2.3",
86
- "@mittwald/flow-icons": "^1.3.5",
86
+ "@mittwald/flow-icons": "^1.4.0-next.1",
87
87
  "@mittwald/password-tools-js": "^3.0.0",
88
- "@mittwald/react-tunnel": "^1.3.5",
88
+ "@mittwald/react-tunnel": "^1.4.0-next.1",
89
89
  "@mittwald/react-use-promise": "^4.2.2",
90
90
  "@react-aria/form": "^3.2.1",
91
91
  "@react-aria/i18n": "^3.13.1",
@@ -138,12 +138,12 @@
138
138
  "@internationalized/date": "^3.12.3",
139
139
  "@lezer/generator": "^1.8.0",
140
140
  "@lezer/lr": "^1.4.10",
141
- "@mittwald/flow-core": "1.3.5",
142
- "@mittwald/flow-design-tokens": "1.3.5",
143
- "@mittwald/flow-icons-base": "1.3.5",
141
+ "@mittwald/flow-core": "1.4.0-next.1",
142
+ "@mittwald/flow-design-tokens": "1.4.0-next.1",
143
+ "@mittwald/flow-icons-base": "1.4.0-next.1",
144
144
  "@mittwald/react-use-promise": "^4.2.2",
145
145
  "@mittwald/remote-dom-react": "1.2.2-mittwald.10",
146
- "@mittwald/typescript-config": "1.3.5",
146
+ "@mittwald/typescript-config": "1.4.0-next.1",
147
147
  "@nx/storybook": "^22.7.6",
148
148
  "@storybook/addon-a11y": "^10.5.10",
149
149
  "@storybook/addon-actions": "^9.0.8",
@@ -195,7 +195,7 @@
195
195
  },
196
196
  "peerDependencies": {
197
197
  "@internationalized/date": "^3.12.2",
198
- "@mittwald/flow-icons-pro": "1.3.5",
198
+ "@mittwald/flow-icons-pro": "1.4.0-next.1",
199
199
  "@mittwald/react-use-promise": "^4.2.2",
200
200
  "next": "^16.2.3",
201
201
  "react": "^19.2.0",
@@ -219,5 +219,5 @@
219
219
  "browserslist": [
220
220
  "baseline widely available"
221
221
  ],
222
- "gitHead": "f480c1dd2738050ce09ec534ff2c08f84ee66f5d"
222
+ "gitHead": "31ec95af38164122f89af7755bd2c05a9f5ca807"
223
223
  }