@mittwald/flow-react-components 0.2.0-alpha.653 → 0.2.0-alpha.654

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/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.654](https://github.com/mittwald/flow/compare/0.2.0-alpha.653...0.2.0-alpha.654) (2026-01-28)
7
+
8
+ ### Features
9
+
10
+ * **List:** improve mobile list header ([#2283](https://github.com/mittwald/flow/issues/2283)) ([d4cd35e](https://github.com/mittwald/flow/commit/d4cd35ee53428d9d890df950a2a4d7aceb756d9b))
11
+
6
12
  # [0.2.0-alpha.653](https://github.com/mittwald/flow/compare/0.2.0-alpha.652...0.2.0-alpha.653) (2026-01-28)
7
13
 
8
14
  **Note:** Version bump only for package @mittwald/flow-react-components
@@ -154710,23 +154710,23 @@
154710
154710
  "tags": {
154711
154711
  "flr-generate": "all"
154712
154712
  },
154713
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/FileDropZone/FileDropZone.tsx",
154713
+ "filePath": "/home/runner/work/flow/flow/packages/components/src/components/FileField/FileField.tsx",
154714
154714
  "description": "",
154715
- "displayName": "FileDropZone",
154715
+ "displayName": "FileField",
154716
154716
  "methods": [],
154717
154717
  "props": {
154718
154718
  "onChange": {
154719
154719
  "defaultValue": null,
154720
- "description": "",
154720
+ "description": "Handler that is called when the file input changes.",
154721
154721
  "name": "onChange",
154722
154722
  "parent": {
154723
- "fileName": "components/src/components/FileDropZone/FileDropZone.tsx",
154724
- "name": "FileDropZoneProps"
154723
+ "fileName": "components/src/components/FileField/FileField.tsx",
154724
+ "name": "FileFieldProps"
154725
154725
  },
154726
154726
  "declarations": [
154727
154727
  {
154728
- "fileName": "components/src/components/FileDropZone/FileDropZone.tsx",
154729
- "name": "FileDropZoneProps"
154728
+ "fileName": "components/src/components/FileField/FileField.tsx",
154729
+ "name": "FileFieldProps"
154730
154730
  }
154731
154731
  ],
154732
154732
  "required": false,
@@ -154739,13 +154739,13 @@
154739
154739
  "description": "Whether the component is read only.",
154740
154740
  "name": "isReadOnly",
154741
154741
  "parent": {
154742
- "fileName": "components/src/components/FileDropZone/FileDropZone.tsx",
154743
- "name": "FileDropZoneProps"
154742
+ "fileName": "components/src/components/FileField/FileField.tsx",
154743
+ "name": "FileFieldProps"
154744
154744
  },
154745
154745
  "declarations": [
154746
154746
  {
154747
- "fileName": "components/src/components/FileDropZone/FileDropZone.tsx",
154748
- "name": "FileDropZoneProps"
154747
+ "fileName": "components/src/components/FileField/FileField.tsx",
154748
+ "name": "FileFieldProps"
154749
154749
  }
154750
154750
  ],
154751
154751
  "required": false,
@@ -154753,23 +154753,19 @@
154753
154753
  "name": "boolean"
154754
154754
  }
154755
154755
  },
154756
- "className": {
154756
+ "children": {
154757
154757
  "defaultValue": null,
154758
- "description": "The elements class name.",
154759
- "name": "className",
154760
- "parent": {
154761
- "fileName": "components/src/lib/types/props.ts",
154762
- "name": "PropsWithClassName"
154763
- },
154758
+ "description": "",
154759
+ "name": "children",
154764
154760
  "declarations": [
154765
154761
  {
154766
- "fileName": "components/src/lib/types/props.ts",
154767
- "name": "PropsWithClassName"
154762
+ "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
154763
+ "name": "TypeLiteral"
154768
154764
  }
154769
154765
  ],
154770
154766
  "required": false,
154771
154767
  "type": {
154772
- "name": "string"
154768
+ "name": "ReactNode"
154773
154769
  }
154774
154770
  },
154775
154771
  "wrapWith": {
@@ -154848,21 +154844,6 @@
154848
154844
  "name": "Key | null"
154849
154845
  }
154850
154846
  },
154851
- "children": {
154852
- "defaultValue": null,
154853
- "description": "",
154854
- "name": "children",
154855
- "declarations": [
154856
- {
154857
- "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
154858
- "name": "TypeLiteral"
154859
- }
154860
- ],
154861
- "required": false,
154862
- "type": {
154863
- "name": "ReactNode"
154864
- }
154865
- },
154866
154847
  "name": {
154867
154848
  "defaultValue": null,
154868
154849
  "description": "",
@@ -154920,18 +154901,77 @@
154920
154901
  "name": "boolean"
154921
154902
  }
154922
154903
  },
154904
+ "validationBehavior": {
154905
+ "defaultValue": {
154906
+ "value": "'native'"
154907
+ },
154908
+ "description": "Whether to use native HTML form validation to prevent form submission\nwhen the value is missing or invalid, or mark the field as required\nor invalid via ARIA.",
154909
+ "name": "validationBehavior",
154910
+ "parent": {
154911
+ "fileName": "flow/node_modules/.pnpm/react-aria-components@1.14.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-aria-components/dist/types.d.ts",
154912
+ "name": "RACValidation"
154913
+ },
154914
+ "declarations": [
154915
+ {
154916
+ "fileName": "flow/node_modules/.pnpm/react-aria-components@1.14.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-aria-components/dist/types.d.ts",
154917
+ "name": "RACValidation"
154918
+ }
154919
+ ],
154920
+ "required": false,
154921
+ "type": {
154922
+ "name": "\"native\" | \"aria\""
154923
+ }
154924
+ },
154923
154925
  "isDisabled": {
154924
154926
  "defaultValue": null,
154925
- "description": "Whether the drop target is disabled. If true, the drop target will not accept any drops.",
154927
+ "description": "Whether the input is disabled.",
154926
154928
  "name": "isDisabled",
154927
154929
  "parent": {
154928
- "fileName": "flow/node_modules/.pnpm/@react-aria+dnd@3.11.4_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/dnd/dist/types.d.ts",
154929
- "name": "DropOptions"
154930
+ "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/inputs.d.ts",
154931
+ "name": "InputBase"
154930
154932
  },
154931
154933
  "declarations": [
154932
154934
  {
154933
- "fileName": "flow/node_modules/.pnpm/@react-aria+dnd@3.11.4_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/dnd/dist/types.d.ts",
154934
- "name": "DropOptions"
154935
+ "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/inputs.d.ts",
154936
+ "name": "InputBase"
154937
+ }
154938
+ ],
154939
+ "required": false,
154940
+ "type": {
154941
+ "name": "boolean"
154942
+ }
154943
+ },
154944
+ "isRequired": {
154945
+ "defaultValue": null,
154946
+ "description": "Whether user input is required on the input before form submission.",
154947
+ "name": "isRequired",
154948
+ "parent": {
154949
+ "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/inputs.d.ts",
154950
+ "name": "Validation"
154951
+ },
154952
+ "declarations": [
154953
+ {
154954
+ "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/inputs.d.ts",
154955
+ "name": "Validation"
154956
+ }
154957
+ ],
154958
+ "required": false,
154959
+ "type": {
154960
+ "name": "boolean"
154961
+ }
154962
+ },
154963
+ "isInvalid": {
154964
+ "defaultValue": null,
154965
+ "description": "Whether the value is invalid.",
154966
+ "name": "isInvalid",
154967
+ "parent": {
154968
+ "fileName": "flow/node_modules/.pnpm/react-aria-components@1.14.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-aria-components/dist/types.d.ts",
154969
+ "name": "TextFieldProps"
154970
+ },
154971
+ "declarations": [
154972
+ {
154973
+ "fileName": "flow/node_modules/.pnpm/react-aria-components@1.14.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-aria-components/dist/types.d.ts",
154974
+ "name": "TextFieldProps"
154935
154975
  }
154936
154976
  ],
154937
154977
  "required": false,
@@ -154945,23 +154985,23 @@
154945
154985
  "tags": {
154946
154986
  "flr-generate": "all"
154947
154987
  },
154948
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/FileField/FileField.tsx",
154988
+ "filePath": "/home/runner/work/flow/flow/packages/components/src/components/FileDropZone/FileDropZone.tsx",
154949
154989
  "description": "",
154950
- "displayName": "FileField",
154990
+ "displayName": "FileDropZone",
154951
154991
  "methods": [],
154952
154992
  "props": {
154953
154993
  "onChange": {
154954
154994
  "defaultValue": null,
154955
- "description": "Handler that is called when the file input changes.",
154995
+ "description": "",
154956
154996
  "name": "onChange",
154957
154997
  "parent": {
154958
- "fileName": "components/src/components/FileField/FileField.tsx",
154959
- "name": "FileFieldProps"
154998
+ "fileName": "components/src/components/FileDropZone/FileDropZone.tsx",
154999
+ "name": "FileDropZoneProps"
154960
155000
  },
154961
155001
  "declarations": [
154962
155002
  {
154963
- "fileName": "components/src/components/FileField/FileField.tsx",
154964
- "name": "FileFieldProps"
155003
+ "fileName": "components/src/components/FileDropZone/FileDropZone.tsx",
155004
+ "name": "FileDropZoneProps"
154965
155005
  }
154966
155006
  ],
154967
155007
  "required": false,
@@ -154974,13 +155014,13 @@
154974
155014
  "description": "Whether the component is read only.",
154975
155015
  "name": "isReadOnly",
154976
155016
  "parent": {
154977
- "fileName": "components/src/components/FileField/FileField.tsx",
154978
- "name": "FileFieldProps"
155017
+ "fileName": "components/src/components/FileDropZone/FileDropZone.tsx",
155018
+ "name": "FileDropZoneProps"
154979
155019
  },
154980
155020
  "declarations": [
154981
155021
  {
154982
- "fileName": "components/src/components/FileField/FileField.tsx",
154983
- "name": "FileFieldProps"
155022
+ "fileName": "components/src/components/FileDropZone/FileDropZone.tsx",
155023
+ "name": "FileDropZoneProps"
154984
155024
  }
154985
155025
  ],
154986
155026
  "required": false,
@@ -154988,19 +155028,23 @@
154988
155028
  "name": "boolean"
154989
155029
  }
154990
155030
  },
154991
- "children": {
155031
+ "className": {
154992
155032
  "defaultValue": null,
154993
- "description": "",
154994
- "name": "children",
155033
+ "description": "The elements class name.",
155034
+ "name": "className",
155035
+ "parent": {
155036
+ "fileName": "components/src/lib/types/props.ts",
155037
+ "name": "PropsWithClassName"
155038
+ },
154995
155039
  "declarations": [
154996
155040
  {
154997
- "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
154998
- "name": "TypeLiteral"
155041
+ "fileName": "components/src/lib/types/props.ts",
155042
+ "name": "PropsWithClassName"
154999
155043
  }
155000
155044
  ],
155001
155045
  "required": false,
155002
155046
  "type": {
155003
- "name": "ReactNode"
155047
+ "name": "string"
155004
155048
  }
155005
155049
  },
155006
155050
  "wrapWith": {
@@ -155079,6 +155123,21 @@
155079
155123
  "name": "Key | null"
155080
155124
  }
155081
155125
  },
155126
+ "children": {
155127
+ "defaultValue": null,
155128
+ "description": "",
155129
+ "name": "children",
155130
+ "declarations": [
155131
+ {
155132
+ "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
155133
+ "name": "TypeLiteral"
155134
+ }
155135
+ ],
155136
+ "required": false,
155137
+ "type": {
155138
+ "name": "ReactNode"
155139
+ }
155140
+ },
155082
155141
  "name": {
155083
155142
  "defaultValue": null,
155084
155143
  "description": "",
@@ -155136,77 +155195,18 @@
155136
155195
  "name": "boolean"
155137
155196
  }
155138
155197
  },
155139
- "validationBehavior": {
155140
- "defaultValue": {
155141
- "value": "'native'"
155142
- },
155143
- "description": "Whether to use native HTML form validation to prevent form submission\nwhen the value is missing or invalid, or mark the field as required\nor invalid via ARIA.",
155144
- "name": "validationBehavior",
155145
- "parent": {
155146
- "fileName": "flow/node_modules/.pnpm/react-aria-components@1.14.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-aria-components/dist/types.d.ts",
155147
- "name": "RACValidation"
155148
- },
155149
- "declarations": [
155150
- {
155151
- "fileName": "flow/node_modules/.pnpm/react-aria-components@1.14.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-aria-components/dist/types.d.ts",
155152
- "name": "RACValidation"
155153
- }
155154
- ],
155155
- "required": false,
155156
- "type": {
155157
- "name": "\"native\" | \"aria\""
155158
- }
155159
- },
155160
155198
  "isDisabled": {
155161
155199
  "defaultValue": null,
155162
- "description": "Whether the input is disabled.",
155200
+ "description": "Whether the drop target is disabled. If true, the drop target will not accept any drops.",
155163
155201
  "name": "isDisabled",
155164
155202
  "parent": {
155165
- "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/inputs.d.ts",
155166
- "name": "InputBase"
155167
- },
155168
- "declarations": [
155169
- {
155170
- "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/inputs.d.ts",
155171
- "name": "InputBase"
155172
- }
155173
- ],
155174
- "required": false,
155175
- "type": {
155176
- "name": "boolean"
155177
- }
155178
- },
155179
- "isRequired": {
155180
- "defaultValue": null,
155181
- "description": "Whether user input is required on the input before form submission.",
155182
- "name": "isRequired",
155183
- "parent": {
155184
- "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/inputs.d.ts",
155185
- "name": "Validation"
155186
- },
155187
- "declarations": [
155188
- {
155189
- "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/inputs.d.ts",
155190
- "name": "Validation"
155191
- }
155192
- ],
155193
- "required": false,
155194
- "type": {
155195
- "name": "boolean"
155196
- }
155197
- },
155198
- "isInvalid": {
155199
- "defaultValue": null,
155200
- "description": "Whether the value is invalid.",
155201
- "name": "isInvalid",
155202
- "parent": {
155203
- "fileName": "flow/node_modules/.pnpm/react-aria-components@1.14.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-aria-components/dist/types.d.ts",
155204
- "name": "TextFieldProps"
155203
+ "fileName": "flow/node_modules/.pnpm/@react-aria+dnd@3.11.4_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/dnd/dist/types.d.ts",
155204
+ "name": "DropOptions"
155205
155205
  },
155206
155206
  "declarations": [
155207
155207
  {
155208
- "fileName": "flow/node_modules/.pnpm/react-aria-components@1.14.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/react-aria-components/dist/types.d.ts",
155209
- "name": "TextFieldProps"
155208
+ "fileName": "flow/node_modules/.pnpm/@react-aria+dnd@3.11.4_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/dnd/dist/types.d.ts",
155209
+ "name": "DropOptions"
155210
155210
  }
155211
155211
  ],
155212
155212
  "required": false,
@@ -300425,6 +300425,53 @@
300425
300425
  }
300426
300426
  }
300427
300427
  },
300428
+ {
300429
+ "tags": {},
300430
+ "filePath": "/home/runner/work/flow/flow/packages/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300431
+ "description": "",
300432
+ "displayName": "PasswordGenerateButton",
300433
+ "methods": [],
300434
+ "props": {
300435
+ "isDisabled": {
300436
+ "defaultValue": null,
300437
+ "description": "",
300438
+ "name": "isDisabled",
300439
+ "parent": {
300440
+ "fileName": "components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300441
+ "name": "Props"
300442
+ },
300443
+ "declarations": [
300444
+ {
300445
+ "fileName": "components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300446
+ "name": "Props"
300447
+ }
300448
+ ],
300449
+ "required": false,
300450
+ "type": {
300451
+ "name": "boolean"
300452
+ }
300453
+ },
300454
+ "onGeneratePasswordAction": {
300455
+ "defaultValue": null,
300456
+ "description": "",
300457
+ "name": "onGeneratePasswordAction",
300458
+ "parent": {
300459
+ "fileName": "components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300460
+ "name": "Props"
300461
+ },
300462
+ "declarations": [
300463
+ {
300464
+ "fileName": "components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300465
+ "name": "Props"
300466
+ }
300467
+ ],
300468
+ "required": false,
300469
+ "type": {
300470
+ "name": "ActionFn"
300471
+ }
300472
+ }
300473
+ }
300474
+ },
300428
300475
  {
300429
300476
  "tags": {
300430
300477
  "internal": ""
@@ -300512,53 +300559,6 @@
300512
300559
  }
300513
300560
  }
300514
300561
  },
300515
- {
300516
- "tags": {},
300517
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300518
- "description": "",
300519
- "displayName": "PasswordGenerateButton",
300520
- "methods": [],
300521
- "props": {
300522
- "isDisabled": {
300523
- "defaultValue": null,
300524
- "description": "",
300525
- "name": "isDisabled",
300526
- "parent": {
300527
- "fileName": "components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300528
- "name": "Props"
300529
- },
300530
- "declarations": [
300531
- {
300532
- "fileName": "components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300533
- "name": "Props"
300534
- }
300535
- ],
300536
- "required": false,
300537
- "type": {
300538
- "name": "boolean"
300539
- }
300540
- },
300541
- "onGeneratePasswordAction": {
300542
- "defaultValue": null,
300543
- "description": "",
300544
- "name": "onGeneratePasswordAction",
300545
- "parent": {
300546
- "fileName": "components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300547
- "name": "Props"
300548
- },
300549
- "declarations": [
300550
- {
300551
- "fileName": "components/src/components/PasswordCreationField/components/PasswordGenerateButton/PasswordGenerateButton.tsx",
300552
- "name": "Props"
300553
- }
300554
- ],
300555
- "required": false,
300556
- "type": {
300557
- "name": "ActionFn"
300558
- }
300559
- }
300560
- }
300561
- },
300562
300562
  {
300563
300563
  "tags": {
300564
300564
  "flr-generate": "all"
@@ -309784,6 +309784,161 @@
309784
309784
  }
309785
309785
  }
309786
309786
  },
309787
+ {
309788
+ "tags": {
309789
+ "flr-generate": "all"
309790
+ },
309791
+ "filePath": "/home/runner/work/flow/flow/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.tsx",
309792
+ "description": "",
309793
+ "displayName": "ContextMenuSection",
309794
+ "methods": [],
309795
+ "props": {
309796
+ "children": {
309797
+ "defaultValue": null,
309798
+ "description": "",
309799
+ "name": "children",
309800
+ "declarations": [
309801
+ {
309802
+ "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
309803
+ "name": "TypeLiteral"
309804
+ }
309805
+ ],
309806
+ "required": false,
309807
+ "type": {
309808
+ "name": "ReactNode"
309809
+ }
309810
+ },
309811
+ "wrapWith": {
309812
+ "defaultValue": null,
309813
+ "description": "",
309814
+ "name": "wrapWith",
309815
+ "parent": {
309816
+ "fileName": "components/src/lib/componentFactory/flowComponent.tsx",
309817
+ "name": "FlowComponentProps"
309818
+ },
309819
+ "declarations": [
309820
+ {
309821
+ "fileName": "components/src/lib/componentFactory/flowComponent.tsx",
309822
+ "name": "FlowComponentProps"
309823
+ }
309824
+ ],
309825
+ "required": false,
309826
+ "type": {
309827
+ "name": "ReactElement<unknown, string | JSXElementConstructor<any>>"
309828
+ }
309829
+ },
309830
+ "tunnelId": {
309831
+ "defaultValue": null,
309832
+ "description": "@internal",
309833
+ "name": "tunnelId",
309834
+ "parent": {
309835
+ "fileName": "components/src/lib/types/props.ts",
309836
+ "name": "PropsWithTunnel"
309837
+ },
309838
+ "declarations": [
309839
+ {
309840
+ "fileName": "components/src/lib/types/props.ts",
309841
+ "name": "PropsWithTunnel"
309842
+ }
309843
+ ],
309844
+ "required": false,
309845
+ "type": {
309846
+ "name": "string | null"
309847
+ }
309848
+ },
309849
+ "ref": {
309850
+ "defaultValue": null,
309851
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}",
309852
+ "name": "ref",
309853
+ "parent": {
309854
+ "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
309855
+ "name": "RefAttributes"
309856
+ },
309857
+ "declarations": [
309858
+ {
309859
+ "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
309860
+ "name": "RefAttributes"
309861
+ }
309862
+ ],
309863
+ "required": false,
309864
+ "type": {
309865
+ "name": "Ref<HTMLSpanElement>"
309866
+ }
309867
+ },
309868
+ "key": {
309869
+ "defaultValue": null,
309870
+ "description": "",
309871
+ "name": "key",
309872
+ "parent": {
309873
+ "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
309874
+ "name": "Attributes"
309875
+ },
309876
+ "declarations": [
309877
+ {
309878
+ "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
309879
+ "name": "Attributes"
309880
+ }
309881
+ ],
309882
+ "required": false,
309883
+ "type": {
309884
+ "name": "Key | null"
309885
+ }
309886
+ },
309887
+ "selectedKeys": {
309888
+ "defaultValue": null,
309889
+ "description": "The currently selected keys in the collection (controlled).",
309890
+ "name": "selectedKeys",
309891
+ "parent": {
309892
+ "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/selection.d.ts",
309893
+ "name": "MultipleSelection"
309894
+ },
309895
+ "declarations": [
309896
+ {
309897
+ "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/selection.d.ts",
309898
+ "name": "MultipleSelection"
309899
+ }
309900
+ ],
309901
+ "required": false,
309902
+ "type": {
309903
+ "name": "\"all\" | Iterable<Key>"
309904
+ }
309905
+ },
309906
+ "defaultSelectedKeys": {
309907
+ "defaultValue": null,
309908
+ "description": "The initial selected keys in the collection (uncontrolled).",
309909
+ "name": "defaultSelectedKeys",
309910
+ "parent": {
309911
+ "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/selection.d.ts",
309912
+ "name": "MultipleSelection"
309913
+ },
309914
+ "declarations": [
309915
+ {
309916
+ "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/selection.d.ts",
309917
+ "name": "MultipleSelection"
309918
+ }
309919
+ ],
309920
+ "required": false,
309921
+ "type": {
309922
+ "name": "\"all\" | Iterable<Key>"
309923
+ }
309924
+ },
309925
+ "selectionMode": {
309926
+ "defaultValue": null,
309927
+ "description": "",
309928
+ "name": "selectionMode",
309929
+ "declarations": [
309930
+ {
309931
+ "fileName": "components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.tsx",
309932
+ "name": "TypeLiteral"
309933
+ }
309934
+ ],
309935
+ "required": false,
309936
+ "type": {
309937
+ "name": "ContextMenuSelectionMode"
309938
+ }
309939
+ }
309940
+ }
309941
+ },
309787
309942
  {
309788
309943
  "tags": {
309789
309944
  "flr-generate": "all"
@@ -311585,161 +311740,6 @@
311585
311740
  }
311586
311741
  }
311587
311742
  },
311588
- {
311589
- "tags": {
311590
- "flr-generate": "all"
311591
- },
311592
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.tsx",
311593
- "description": "",
311594
- "displayName": "ContextMenuSection",
311595
- "methods": [],
311596
- "props": {
311597
- "children": {
311598
- "defaultValue": null,
311599
- "description": "",
311600
- "name": "children",
311601
- "declarations": [
311602
- {
311603
- "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
311604
- "name": "TypeLiteral"
311605
- }
311606
- ],
311607
- "required": false,
311608
- "type": {
311609
- "name": "ReactNode"
311610
- }
311611
- },
311612
- "wrapWith": {
311613
- "defaultValue": null,
311614
- "description": "",
311615
- "name": "wrapWith",
311616
- "parent": {
311617
- "fileName": "components/src/lib/componentFactory/flowComponent.tsx",
311618
- "name": "FlowComponentProps"
311619
- },
311620
- "declarations": [
311621
- {
311622
- "fileName": "components/src/lib/componentFactory/flowComponent.tsx",
311623
- "name": "FlowComponentProps"
311624
- }
311625
- ],
311626
- "required": false,
311627
- "type": {
311628
- "name": "ReactElement<unknown, string | JSXElementConstructor<any>>"
311629
- }
311630
- },
311631
- "tunnelId": {
311632
- "defaultValue": null,
311633
- "description": "@internal",
311634
- "name": "tunnelId",
311635
- "parent": {
311636
- "fileName": "components/src/lib/types/props.ts",
311637
- "name": "PropsWithTunnel"
311638
- },
311639
- "declarations": [
311640
- {
311641
- "fileName": "components/src/lib/types/props.ts",
311642
- "name": "PropsWithTunnel"
311643
- }
311644
- ],
311645
- "required": false,
311646
- "type": {
311647
- "name": "string | null"
311648
- }
311649
- },
311650
- "ref": {
311651
- "defaultValue": null,
311652
- "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}",
311653
- "name": "ref",
311654
- "parent": {
311655
- "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
311656
- "name": "RefAttributes"
311657
- },
311658
- "declarations": [
311659
- {
311660
- "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
311661
- "name": "RefAttributes"
311662
- }
311663
- ],
311664
- "required": false,
311665
- "type": {
311666
- "name": "Ref<HTMLSpanElement>"
311667
- }
311668
- },
311669
- "key": {
311670
- "defaultValue": null,
311671
- "description": "",
311672
- "name": "key",
311673
- "parent": {
311674
- "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
311675
- "name": "Attributes"
311676
- },
311677
- "declarations": [
311678
- {
311679
- "fileName": "flow/node_modules/.pnpm/@types+react@19.2.8/node_modules/@types/react/index.d.ts",
311680
- "name": "Attributes"
311681
- }
311682
- ],
311683
- "required": false,
311684
- "type": {
311685
- "name": "Key | null"
311686
- }
311687
- },
311688
- "selectedKeys": {
311689
- "defaultValue": null,
311690
- "description": "The currently selected keys in the collection (controlled).",
311691
- "name": "selectedKeys",
311692
- "parent": {
311693
- "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/selection.d.ts",
311694
- "name": "MultipleSelection"
311695
- },
311696
- "declarations": [
311697
- {
311698
- "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/selection.d.ts",
311699
- "name": "MultipleSelection"
311700
- }
311701
- ],
311702
- "required": false,
311703
- "type": {
311704
- "name": "\"all\" | Iterable<Key>"
311705
- }
311706
- },
311707
- "defaultSelectedKeys": {
311708
- "defaultValue": null,
311709
- "description": "The initial selected keys in the collection (uncontrolled).",
311710
- "name": "defaultSelectedKeys",
311711
- "parent": {
311712
- "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/selection.d.ts",
311713
- "name": "MultipleSelection"
311714
- },
311715
- "declarations": [
311716
- {
311717
- "fileName": "flow/node_modules/.pnpm/@react-types+shared@3.32.1_react@19.2.3/node_modules/@react-types/shared/src/selection.d.ts",
311718
- "name": "MultipleSelection"
311719
- }
311720
- ],
311721
- "required": false,
311722
- "type": {
311723
- "name": "\"all\" | Iterable<Key>"
311724
- }
311725
- },
311726
- "selectionMode": {
311727
- "defaultValue": null,
311728
- "description": "",
311729
- "name": "selectionMode",
311730
- "declarations": [
311731
- {
311732
- "fileName": "components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.tsx",
311733
- "name": "TypeLiteral"
311734
- }
311735
- ],
311736
- "required": false,
311737
- "type": {
311738
- "name": "ContextMenuSelectionMode"
311739
- }
311740
- }
311741
- }
311742
- },
311743
311743
  {
311744
311744
  "tags": {
311745
311745
  "flr-generate": "all"
@@ -335215,86 +335215,6 @@
335215
335215
  "methods": [],
335216
335216
  "props": {}
335217
335217
  },
335218
- {
335219
- "tags": {},
335220
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.tsx",
335221
- "description": "",
335222
- "displayName": "ViewModeMenuItem",
335223
- "methods": [],
335224
- "props": {
335225
- "viewMode": {
335226
- "defaultValue": null,
335227
- "description": "",
335228
- "name": "viewMode",
335229
- "parent": {
335230
- "fileName": "components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.tsx",
335231
- "name": "Props"
335232
- },
335233
- "declarations": [
335234
- {
335235
- "fileName": "components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.tsx",
335236
- "name": "Props"
335237
- }
335238
- ],
335239
- "required": true,
335240
- "type": {
335241
- "name": "ListViewMode"
335242
- }
335243
- }
335244
- }
335245
- },
335246
- {
335247
- "tags": {},
335248
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/ViewModeMenu.tsx",
335249
- "description": "",
335250
- "displayName": "ViewModeMenu",
335251
- "methods": [],
335252
- "props": {}
335253
- },
335254
- {
335255
- "tags": {},
335256
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/SortingMenuItem.tsx",
335257
- "description": "",
335258
- "displayName": "SortingMenuItem",
335259
- "methods": [],
335260
- "props": {
335261
- "sorting": {
335262
- "defaultValue": null,
335263
- "description": "",
335264
- "name": "sorting",
335265
- "parent": {
335266
- "fileName": "components/src/components/List/components/Header/components/Settings/SortingMenuItem.tsx",
335267
- "name": "Props"
335268
- },
335269
- "declarations": [
335270
- {
335271
- "fileName": "components/src/components/List/components/Header/components/Settings/SortingMenuItem.tsx",
335272
- "name": "Props"
335273
- }
335274
- ],
335275
- "required": true,
335276
- "type": {
335277
- "name": "Sorting<never>"
335278
- }
335279
- }
335280
- }
335281
- },
335282
- {
335283
- "tags": {},
335284
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/SortingMenu.tsx",
335285
- "description": "",
335286
- "displayName": "SortingMenu",
335287
- "methods": [],
335288
- "props": {}
335289
- },
335290
- {
335291
- "tags": {},
335292
- "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/SettingsMenu.tsx",
335293
- "description": "",
335294
- "displayName": "SettingsMenu",
335295
- "methods": [],
335296
- "props": {}
335297
- },
335298
335218
  {
335299
335219
  "tags": {},
335300
335220
  "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/SearchField/SearchField.tsx",
@@ -335422,6 +335342,78 @@
335422
335342
  "methods": [],
335423
335343
  "props": {}
335424
335344
  },
335345
+ {
335346
+ "tags": {},
335347
+ "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.tsx",
335348
+ "description": "",
335349
+ "displayName": "ViewModeMenuItem",
335350
+ "methods": [],
335351
+ "props": {
335352
+ "viewMode": {
335353
+ "defaultValue": null,
335354
+ "description": "",
335355
+ "name": "viewMode",
335356
+ "parent": {
335357
+ "fileName": "components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.tsx",
335358
+ "name": "Props"
335359
+ },
335360
+ "declarations": [
335361
+ {
335362
+ "fileName": "components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.tsx",
335363
+ "name": "Props"
335364
+ }
335365
+ ],
335366
+ "required": true,
335367
+ "type": {
335368
+ "name": "ListViewMode"
335369
+ }
335370
+ }
335371
+ }
335372
+ },
335373
+ {
335374
+ "tags": {},
335375
+ "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/ViewModeMenu.tsx",
335376
+ "description": "",
335377
+ "displayName": "ViewModeMenu",
335378
+ "methods": [],
335379
+ "props": {}
335380
+ },
335381
+ {
335382
+ "tags": {},
335383
+ "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/SortingMenuItem.tsx",
335384
+ "description": "",
335385
+ "displayName": "SortingMenuItem",
335386
+ "methods": [],
335387
+ "props": {
335388
+ "sorting": {
335389
+ "defaultValue": null,
335390
+ "description": "",
335391
+ "name": "sorting",
335392
+ "parent": {
335393
+ "fileName": "components/src/components/List/components/Header/components/Settings/SortingMenuItem.tsx",
335394
+ "name": "Props"
335395
+ },
335396
+ "declarations": [
335397
+ {
335398
+ "fileName": "components/src/components/List/components/Header/components/Settings/SortingMenuItem.tsx",
335399
+ "name": "Props"
335400
+ }
335401
+ ],
335402
+ "required": true,
335403
+ "type": {
335404
+ "name": "Sorting<never>"
335405
+ }
335406
+ }
335407
+ }
335408
+ },
335409
+ {
335410
+ "tags": {},
335411
+ "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Header/components/Settings/SortingMenu.tsx",
335412
+ "description": "",
335413
+ "displayName": "SortingMenu",
335414
+ "methods": [],
335415
+ "props": {}
335416
+ },
335425
335417
  {
335426
335418
  "tags": {},
335427
335419
  "filePath": "/home/runner/work/flow/flow/packages/components/src/components/List/components/Footer/components/ShowNextBatchButton/ShowNextBatchButton.tsx",
@@ -10,7 +10,6 @@ import { SearchField } from './components/SearchField/SearchField.mjs';
10
10
  import { ViewModeMenu } from './components/Settings/ViewModeMenu.mjs';
11
11
  import { TunnelExit } from '@mittwald/react-tunnel';
12
12
  import DivView from '../../../../views/DivView.mjs';
13
- import { SettingsMenu } from './components/Settings/SettingsMenu.mjs';
14
13
  import { SortingMenu } from './components/Settings/SortingMenu.mjs';
15
14
  import { FilterMenuList } from './components/Filters/FilterMenuList.mjs';
16
15
  import { CombinedFilterMenu } from './components/Filters/CombinedFilterMenu.mjs';
@@ -36,7 +35,6 @@ const Header = (props) => {
36
35
  /* @__PURE__ */ jsx(ViewModeMenu, {}),
37
36
  /* @__PURE__ */ jsx(SortingMenu, {}),
38
37
  /* @__PURE__ */ jsx(FilterMenuList, {}),
39
- /* @__PURE__ */ jsx(SettingsMenu, {}),
40
38
  /* @__PURE__ */ jsx(CombinedFilterMenu, {}),
41
39
  list.search && /* @__PURE__ */ jsx(SearchField, { search: list.search })
42
40
  ] })
@@ -1 +1 @@
1
- {"version":3,"file":"Header.mjs","sources":["../../../../../../../../src/components/List/components/Header/Header.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React from \"react\";\nimport styles from \"./Header.module.css\";\nimport clsx from \"clsx\";\nimport { ActiveFilters } from \"@/components/List/components/Header/components/ActiveFilters\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport { SearchField } from \"@/components/List/components/Header/components/SearchField/SearchField\";\nimport { ViewModeMenu } from \"@/components/List/components/Header/components/Settings/ViewModeMenu\";\nimport { TunnelExit } from \"@mittwald/react-tunnel\";\nimport DivView from \"@/views/DivView\";\nimport { SettingsMenu } from \"@/components/List/components/Header/components/Settings/SettingsMenu\";\nimport { SortingMenu } from \"@/components/List/components/Header/components/Settings/SortingMenu\";\nimport { FilterMenuList } from \"@/components/List/components/Header/components/Filters/FilterMenuList\";\nimport { CombinedFilterMenu } from \"@/components/List/components/Header/components/Filters/CombinedFilterMenu\";\nimport { useAvailableViewModes } from \"@/components/List/components/Header/lib\";\n\nexport const Header: FC<PropsWithClassName> = (props) => {\n const { className } = props;\n const list = useList();\n\n const availableViewModes = useAvailableViewModes();\n\n const hasOptions =\n list.filters.length > 0 ||\n list.visibleSorting.length > 0 ||\n list.search ||\n availableViewModes.length > 1;\n\n return (\n <DivView\n className={clsx(\n className,\n styles.header,\n list.search && styles.withSearch,\n )}\n >\n <DivView className={styles.headerContent}>\n <TunnelExit id=\"actions\" />\n {hasOptions && (\n <DivView className={styles.options}>\n {/* Desktop */}\n <ViewModeMenu />\n <SortingMenu />\n <FilterMenuList />\n\n {/* Mobile */}\n <SettingsMenu />\n <CombinedFilterMenu />\n\n {list.search && <SearchField search={list.search} />}\n </DivView>\n )}\n </DivView>\n <ActiveFilters />\n </DivView>\n );\n};\n\nexport default Header;\n"],"names":["styles"],"mappings":";;;;;;;;;;;;;;;;AAiBO,MAAM,MAAA,GAAiC,CAAC,KAAA,KAAU;AACvD,EAAA,MAAM,EAAE,WAAU,GAAI,KAAA;AACtB,EAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,EAAA,MAAM,qBAAqB,qBAAA,EAAsB;AAEjD,EAAA,MAAM,UAAA,GACJ,IAAA,CAAK,OAAA,CAAQ,MAAA,GAAS,CAAA,IACtB,IAAA,CAAK,cAAA,CAAe,MAAA,GAAS,CAAA,IAC7B,IAAA,CAAK,MAAA,IACL,kBAAA,CAAmB,MAAA,GAAS,CAAA;AAE9B,EAAA,uBACE,IAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,IAAA;AAAA,QACT,SAAA;AAAA,QACAA,YAAA,CAAO,MAAA;AAAA,QACP,IAAA,CAAK,UAAUA,YAAA,CAAO;AAAA,OACxB;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAWA,YAAA,CAAO,aAAA,EACzB,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,UAAA,EAAA,EAAW,IAAG,SAAA,EAAU,CAAA;AAAA,UACxB,UAAA,oBACC,IAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAWA,aAAO,OAAA,EAEzB,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,YAAA,EAAA,EAAa,CAAA;AAAA,gCACb,WAAA,EAAA,EAAY,CAAA;AAAA,gCACZ,cAAA,EAAA,EAAe,CAAA;AAAA,gCAGf,YAAA,EAAA,EAAa,CAAA;AAAA,gCACb,kBAAA,EAAA,EAAmB,CAAA;AAAA,YAEnB,KAAK,MAAA,oBAAU,GAAA,CAAC,WAAA,EAAA,EAAY,MAAA,EAAQ,KAAK,MAAA,EAAQ;AAAA,WAAA,EACpD;AAAA,SAAA,EAEJ,CAAA;AAAA,4BACC,aAAA,EAAA,EAAc;AAAA;AAAA;AAAA,GACjB;AAEJ;;;;"}
1
+ {"version":3,"file":"Header.mjs","sources":["../../../../../../../../src/components/List/components/Header/Header.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React from \"react\";\nimport styles from \"./Header.module.css\";\nimport clsx from \"clsx\";\nimport { ActiveFilters } from \"@/components/List/components/Header/components/ActiveFilters\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport { SearchField } from \"@/components/List/components/Header/components/SearchField/SearchField\";\nimport { ViewModeMenu } from \"@/components/List/components/Header/components/Settings/ViewModeMenu\";\nimport { TunnelExit } from \"@mittwald/react-tunnel\";\nimport DivView from \"@/views/DivView\";\nimport { SortingMenu } from \"@/components/List/components/Header/components/Settings/SortingMenu\";\nimport { FilterMenuList } from \"@/components/List/components/Header/components/Filters/FilterMenuList\";\nimport { CombinedFilterMenu } from \"@/components/List/components/Header/components/Filters/CombinedFilterMenu\";\nimport { useAvailableViewModes } from \"@/components/List/components/Header/lib\";\n\nexport const Header: FC<PropsWithClassName> = (props) => {\n const { className } = props;\n const list = useList();\n\n const availableViewModes = useAvailableViewModes();\n\n const hasOptions =\n list.filters.length > 0 ||\n list.visibleSorting.length > 0 ||\n list.search ||\n availableViewModes.length > 1;\n\n return (\n <DivView\n className={clsx(\n className,\n styles.header,\n list.search && styles.withSearch,\n )}\n >\n <DivView className={styles.headerContent}>\n <TunnelExit id=\"actions\" />\n {hasOptions && (\n <DivView className={styles.options}>\n {/* Desktop */}\n <ViewModeMenu />\n <SortingMenu />\n <FilterMenuList />\n\n {/* Mobile */}\n <CombinedFilterMenu />\n\n {list.search && <SearchField search={list.search} />}\n </DivView>\n )}\n </DivView>\n <ActiveFilters />\n </DivView>\n );\n};\n\nexport default Header;\n"],"names":["styles"],"mappings":";;;;;;;;;;;;;;;AAgBO,MAAM,MAAA,GAAiC,CAAC,KAAA,KAAU;AACvD,EAAA,MAAM,EAAE,WAAU,GAAI,KAAA;AACtB,EAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,EAAA,MAAM,qBAAqB,qBAAA,EAAsB;AAEjD,EAAA,MAAM,UAAA,GACJ,IAAA,CAAK,OAAA,CAAQ,MAAA,GAAS,CAAA,IACtB,IAAA,CAAK,cAAA,CAAe,MAAA,GAAS,CAAA,IAC7B,IAAA,CAAK,MAAA,IACL,kBAAA,CAAmB,MAAA,GAAS,CAAA;AAE9B,EAAA,uBACE,IAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,IAAA;AAAA,QACT,SAAA;AAAA,QACAA,YAAA,CAAO,MAAA;AAAA,QACP,IAAA,CAAK,UAAUA,YAAA,CAAO;AAAA,OACxB;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAWA,YAAA,CAAO,aAAA,EACzB,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,UAAA,EAAA,EAAW,IAAG,SAAA,EAAU,CAAA;AAAA,UACxB,UAAA,oBACC,IAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAWA,aAAO,OAAA,EAEzB,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,YAAA,EAAA,EAAa,CAAA;AAAA,gCACb,WAAA,EAAA,EAAY,CAAA;AAAA,gCACZ,cAAA,EAAA,EAAe,CAAA;AAAA,gCAGf,kBAAA,EAAA,EAAmB,CAAA;AAAA,YAEnB,KAAK,MAAA,oBAAU,GAAA,CAAC,WAAA,EAAA,EAAY,MAAA,EAAQ,KAAK,MAAA,EAAQ;AAAA,WAAA,EACpD;AAAA,SAAA,EAEJ,CAAA;AAAA,4BACC,aAAA,EAAA,EAAc;AAAA;AAAA;AAAA,GACjB;AAEJ;;;;"}
@@ -32,14 +32,58 @@ import headerStyles from '../../Header.module.css.mjs';
32
32
  import ContextMenuSectionView from '../../../../../../views/ContextMenuSectionView.mjs';
33
33
  import SeparatorView from '../../../../../../views/SeparatorView.mjs';
34
34
  import ContextMenuView from '../../../../../../views/ContextMenuView.mjs';
35
+ import { useAvailableViewModes } from '../../lib.mjs';
36
+ import { ViewModeMenuItem } from '../Settings/ViewModeMenuItem.mjs';
37
+ import { SortingMenuItem } from '../Settings/SortingMenuItem.mjs';
35
38
 
36
39
  const CombinedFilterMenu = () => {
37
40
  const list = useList();
38
- const filters = list.filters;
39
41
  const stringFormatter = useLocalizedStringFormatter(locales);
40
- if (filters.length === 0) {
41
- return null;
42
- }
42
+ const filterSections = list.filters.map((f) => {
43
+ const activeKeys = f.values.filter((v) => v.isActive).map((v) => v.id);
44
+ return /* @__PURE__ */ jsxs(
45
+ ContextMenuSectionView,
46
+ {
47
+ selectionMode: f.mode === "one" ? "single" : "multiple",
48
+ selectedKeys: activeKeys,
49
+ children: [
50
+ /* @__PURE__ */ jsx(HeadingView, { children: f.name ?? f.property }),
51
+ f.values.map((v) => /* @__PURE__ */ jsx(FilterMenuItem, { filterValue: v }, v.id))
52
+ ]
53
+ },
54
+ f.property
55
+ );
56
+ });
57
+ const availableViewModes = useAvailableViewModes();
58
+ const selectedViewMode = list.viewMode;
59
+ const viewModeSection = availableViewModes.length > 1 ? /* @__PURE__ */ jsxs(
60
+ ContextMenuSectionView,
61
+ {
62
+ selectionMode: "single",
63
+ selectedKeys: [selectedViewMode],
64
+ children: [
65
+ /* @__PURE__ */ jsx(HeadingView, { children: stringFormatter.format("list.settings.viewMode") }),
66
+ availableViewModes.map((vm) => /* @__PURE__ */ jsx(ViewModeMenuItem, { viewMode: vm }, vm))
67
+ ]
68
+ }
69
+ ) : null;
70
+ const sortingItems = list.visibleSorting.map((s) => /* @__PURE__ */ jsx(SortingMenuItem, { sorting: s }, s.id));
71
+ const labelSorting = list.visibleSorting.find((s) => s.isSorted());
72
+ const sortingSection = sortingItems.length > 0 ? /* @__PURE__ */ jsxs(
73
+ ContextMenuSectionView,
74
+ {
75
+ selectionMode: "single",
76
+ selectedKeys: labelSorting ? [labelSorting.id] : [],
77
+ children: [
78
+ /* @__PURE__ */ jsx(HeadingView, { children: stringFormatter.format("list.sorting") }),
79
+ sortingItems
80
+ ]
81
+ }
82
+ ) : null;
83
+ const sections = [viewModeSection, sortingSection, ...filterSections].filter(
84
+ Boolean
85
+ );
86
+ if (sections.length === 0) return null;
43
87
  return /* @__PURE__ */ jsxs(ContextMenuTriggerView, { children: [
44
88
  /* @__PURE__ */ jsx(
45
89
  ButtonView,
@@ -51,23 +95,10 @@ const CombinedFilterMenu = () => {
51
95
  children: /* @__PURE__ */ jsx(IconFilter, {})
52
96
  }
53
97
  ),
54
- /* @__PURE__ */ jsx(ContextMenuView, { children: filters.map((f, i) => {
55
- const activeFilterKeys = f.values.filter((v) => v.isActive).map((v) => v.id);
56
- return /* @__PURE__ */ jsxs(React.Fragment, { children: [
57
- /* @__PURE__ */ jsxs(
58
- ContextMenuSectionView,
59
- {
60
- selectionMode: f.mode === "one" ? "single" : "multiple",
61
- selectedKeys: activeFilterKeys,
62
- children: [
63
- /* @__PURE__ */ jsx(HeadingView, { children: f.name ?? f.property }),
64
- f.values.map((v) => /* @__PURE__ */ jsx(FilterMenuItem, { filterValue: v }, v.id))
65
- ]
66
- }
67
- ),
68
- i + 1 < filters.length && /* @__PURE__ */ jsx(SeparatorView, {})
69
- ] }, f.property);
70
- }) })
98
+ /* @__PURE__ */ jsx(ContextMenuView, { children: sections.map((section, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
99
+ index > 0 && /* @__PURE__ */ jsx(SeparatorView, {}),
100
+ section
101
+ ] }, index)) })
71
102
  ] });
72
103
  };
73
104
 
@@ -1 +1 @@
1
- {"version":3,"file":"CombinedFilterMenu.mjs","sources":["../../../../../../../../../../src/components/List/components/Header/components/Filters/CombinedFilterMenu.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React from \"react\";\nimport { IconFilter } from \"@/components/Icon/components/icons\";\nimport ButtonView from \"@/views/ButtonView\";\nimport { useList } from \"@/components/List\";\nimport HeadingView from \"@/views/HeadingView\";\nimport { FilterMenuItem } from \"@/components/List/components/Header/components/Filters/FilterMenuItem\";\nimport styles from \"@/components/List/components/Header/Header.module.css\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"../../../../locales/*.locale.json\";\nimport ContextMenuSectionView from \"@/views/ContextMenuSectionView\";\nimport SeparatorView from \"@/views/SeparatorView\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\nimport ContextMenuView from \"@/views/ContextMenuView\";\n\nexport const CombinedFilterMenu: FC = () => {\n const list = useList();\n\n const filters = list.filters;\n\n const stringFormatter = useLocalizedStringFormatter(locales);\n\n if (filters.length === 0) {\n return null;\n }\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n className={styles.mobile}\n variant=\"outline\"\n color=\"secondary\"\n aria-label={stringFormatter.format(\"list.filters\")}\n >\n <IconFilter />\n </ButtonView>\n <ContextMenuView>\n {filters.map((f, i) => {\n const activeFilterKeys = f.values\n .filter((v) => v.isActive)\n .map((v) => v.id);\n\n return (\n <React.Fragment key={f.property}>\n <ContextMenuSectionView\n selectionMode={f.mode === \"one\" ? \"single\" : \"multiple\"}\n selectedKeys={activeFilterKeys}\n >\n <HeadingView>{f.name ?? f.property}</HeadingView>\n {f.values.map((v) => (\n <FilterMenuItem key={v.id} filterValue={v} />\n ))}\n </ContextMenuSectionView>\n {i + 1 < filters.length && <SeparatorView />}\n </React.Fragment>\n );\n })}\n </ContextMenuView>\n </ContextMenuTriggerView>\n );\n};\n"],"names":["styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,qBAAyB,MAAM;AAC1C,EAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,EAAA,MAAM,UAAU,IAAA,CAAK,OAAA;AAErB,EAAA,MAAM,eAAA,GAAkB,4BAA4B,OAAO,CAAA;AAE3D,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,4BACG,sBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,WAAWA,YAAA,CAAO,MAAA;AAAA,QAClB,OAAA,EAAQ,SAAA;AAAA,QACR,KAAA,EAAM,WAAA;AAAA,QACN,YAAA,EAAY,eAAA,CAAgB,MAAA,CAAO,cAAc,CAAA;AAAA,QAEjD,8BAAC,UAAA,EAAA,EAAW;AAAA;AAAA,KACd;AAAA,wBACC,eAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,GAAG,CAAA,KAAM;AACrB,MAAA,MAAM,gBAAA,GAAmB,CAAA,CAAE,MAAA,CACxB,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,QAAQ,CAAA,CACxB,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,EAAE,CAAA;AAElB,MAAA,uBACE,IAAA,CAAC,KAAA,CAAM,QAAA,EAAN,EACC,QAAA,EAAA;AAAA,wBAAA,IAAA;AAAA,UAAC,sBAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAe,CAAA,CAAE,IAAA,KAAS,KAAA,GAAQ,QAAA,GAAW,UAAA;AAAA,YAC7C,YAAA,EAAc,gBAAA;AAAA,YAEd,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,WAAA,EAAA,EAAa,QAAA,EAAA,CAAA,CAAE,IAAA,IAAQ,CAAA,CAAE,QAAA,EAAS,CAAA;AAAA,cAClC,CAAA,CAAE,MAAA,CAAO,GAAA,CAAI,CAAC,CAAA,qBACb,GAAA,CAAC,cAAA,EAAA,EAA0B,WAAA,EAAa,CAAA,EAAA,EAAnB,CAAA,CAAE,EAAoB,CAC5C;AAAA;AAAA;AAAA,SACH;AAAA,QACC,CAAA,GAAI,CAAA,GAAI,OAAA,CAAQ,MAAA,wBAAW,aAAA,EAAA,EAAc;AAAA,OAAA,EAAA,EAVvB,EAAE,QAWvB,CAAA;AAAA,IAEJ,CAAC,CAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"CombinedFilterMenu.mjs","sources":["../../../../../../../../../../src/components/List/components/Header/components/Filters/CombinedFilterMenu.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React from \"react\";\nimport { IconFilter } from \"@/components/Icon/components/icons\";\nimport ButtonView from \"@/views/ButtonView\";\nimport { useList } from \"@/components/List\";\nimport HeadingView from \"@/views/HeadingView\";\nimport { FilterMenuItem } from \"@/components/List/components/Header/components/Filters/FilterMenuItem\";\nimport styles from \"@/components/List/components/Header/Header.module.css\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport locales from \"../../../../locales/*.locale.json\";\nimport ContextMenuSectionView from \"@/views/ContextMenuSectionView\";\nimport SeparatorView from \"@/views/SeparatorView\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\nimport ContextMenuView from \"@/views/ContextMenuView\";\nimport { useAvailableViewModes } from \"@/components/List/components/Header/lib\";\nimport { ViewModeMenuItem } from \"@/components/List/components/Header/components/Settings/ViewModeMenuItem\";\nimport { SortingMenuItem } from \"@/components/List/components/Header/components/Settings/SortingMenuItem\";\n\nexport const CombinedFilterMenu: FC = () => {\n const list = useList();\n const stringFormatter = useLocalizedStringFormatter(locales);\n\n const filterSections = list.filters.map((f) => {\n const activeKeys = f.values.filter((v) => v.isActive).map((v) => v.id);\n return (\n <ContextMenuSectionView\n key={f.property}\n selectionMode={f.mode === \"one\" ? \"single\" : \"multiple\"}\n selectedKeys={activeKeys}\n >\n <HeadingView>{f.name ?? f.property}</HeadingView>\n {f.values.map((v) => (\n <FilterMenuItem key={v.id} filterValue={v} />\n ))}\n </ContextMenuSectionView>\n );\n });\n\n const availableViewModes = useAvailableViewModes();\n const selectedViewMode = list.viewMode;\n const viewModeSection =\n availableViewModes.length > 1 ? (\n <ContextMenuSectionView\n selectionMode=\"single\"\n selectedKeys={[selectedViewMode]}\n >\n <HeadingView>\n {stringFormatter.format(\"list.settings.viewMode\")}\n </HeadingView>\n {availableViewModes.map((vm) => (\n <ViewModeMenuItem key={vm} viewMode={vm} />\n ))}\n </ContextMenuSectionView>\n ) : null;\n\n const sortingItems = list.visibleSorting.map((s) => (\n <SortingMenuItem key={s.id} sorting={s} />\n ));\n const labelSorting = list.visibleSorting.find((s) => s.isSorted());\n const sortingSection =\n sortingItems.length > 0 ? (\n <ContextMenuSectionView\n selectionMode=\"single\"\n selectedKeys={labelSorting ? [labelSorting.id] : []}\n >\n <HeadingView>{stringFormatter.format(\"list.sorting\")}</HeadingView>\n {sortingItems}\n </ContextMenuSectionView>\n ) : null;\n\n const sections = [viewModeSection, sortingSection, ...filterSections].filter(\n Boolean,\n );\n\n if (sections.length === 0) return null;\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n className={styles.mobile}\n variant=\"outline\"\n color=\"secondary\"\n aria-label={stringFormatter.format(\"list.filters\")}\n >\n <IconFilter />\n </ButtonView>\n\n <ContextMenuView>\n {sections.map((section, index) => (\n <React.Fragment key={index}>\n {index > 0 && <SeparatorView />}\n {section}\n </React.Fragment>\n ))}\n </ContextMenuView>\n </ContextMenuTriggerView>\n );\n};\n"],"names":["styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,qBAAyB,MAAM;AAC1C,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,eAAA,GAAkB,4BAA4B,OAAO,CAAA;AAE3D,EAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,CAAC,CAAA,KAAM;AAC7C,IAAA,MAAM,UAAA,GAAa,CAAA,CAAE,MAAA,CAAO,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,QAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,EAAE,CAAA;AACrE,IAAA,uBACE,IAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QAEC,aAAA,EAAe,CAAA,CAAE,IAAA,KAAS,KAAA,GAAQ,QAAA,GAAW,UAAA;AAAA,QAC7C,YAAA,EAAc,UAAA;AAAA,QAEd,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,WAAA,EAAA,EAAa,QAAA,EAAA,CAAA,CAAE,IAAA,IAAQ,CAAA,CAAE,QAAA,EAAS,CAAA;AAAA,UAClC,CAAA,CAAE,MAAA,CAAO,GAAA,CAAI,CAAC,CAAA,qBACb,GAAA,CAAC,cAAA,EAAA,EAA0B,WAAA,EAAa,CAAA,EAAA,EAAnB,CAAA,CAAE,EAAoB,CAC5C;AAAA;AAAA,OAAA;AAAA,MAPI,CAAA,CAAE;AAAA,KAQT;AAAA,EAEJ,CAAC,CAAA;AAED,EAAA,MAAM,qBAAqB,qBAAA,EAAsB;AACjD,EAAA,MAAM,mBAAmB,IAAA,CAAK,QAAA;AAC9B,EAAA,MAAM,eAAA,GACJ,kBAAA,CAAmB,MAAA,GAAS,CAAA,mBAC1B,IAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAc,QAAA;AAAA,MACd,YAAA,EAAc,CAAC,gBAAgB,CAAA;AAAA,MAE/B,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,WAAA,EAAA,EACE,QAAA,EAAA,eAAA,CAAgB,MAAA,CAAO,wBAAwB,CAAA,EAClD,CAAA;AAAA,QACC,kBAAA,CAAmB,IAAI,CAAC,EAAA,yBACtB,gBAAA,EAAA,EAA0B,QAAA,EAAU,EAAA,EAAA,EAAd,EAAkB,CAC1C;AAAA;AAAA;AAAA,GACH,GACE,IAAA;AAEN,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,cAAA,CAAe,GAAA,CAAI,CAAC,CAAA,qBAC5C,GAAA,CAAC,eAAA,EAAA,EAA2B,OAAA,EAAS,CAAA,EAAA,EAAf,CAAA,CAAE,EAAgB,CACzC,CAAA;AACD,EAAA,MAAM,YAAA,GAAe,KAAK,cAAA,CAAe,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,UAAU,CAAA;AACjE,EAAA,MAAM,cAAA,GACJ,YAAA,CAAa,MAAA,GAAS,CAAA,mBACpB,IAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAc,QAAA;AAAA,MACd,cAAc,YAAA,GAAe,CAAC,YAAA,CAAa,EAAE,IAAI,EAAC;AAAA,MAElD,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,WAAA,EAAA,EAAa,QAAA,EAAA,eAAA,CAAgB,MAAA,CAAO,cAAc,CAAA,EAAE,CAAA;AAAA,QACpD;AAAA;AAAA;AAAA,GACH,GACE,IAAA;AAEN,EAAA,MAAM,WAAW,CAAC,eAAA,EAAiB,cAAA,EAAgB,GAAG,cAAc,CAAA,CAAE,MAAA;AAAA,IACpE;AAAA,GACF;AAEA,EAAA,IAAI,QAAA,CAAS,MAAA,KAAW,CAAA,EAAG,OAAO,IAAA;AAElC,EAAA,4BACG,sBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,WAAWA,YAAA,CAAO,MAAA;AAAA,QAClB,OAAA,EAAQ,SAAA;AAAA,QACR,KAAA,EAAM,WAAA;AAAA,QACN,YAAA,EAAY,eAAA,CAAgB,MAAA,CAAO,cAAc,CAAA;AAAA,QAEjD,8BAAC,UAAA,EAAA,EAAW;AAAA;AAAA,KACd;AAAA,oBAEA,GAAA,CAAC,eAAA,EAAA,EACE,QAAA,EAAA,QAAA,CAAS,GAAA,CAAI,CAAC,SAAS,KAAA,qBACtB,IAAA,CAAC,KAAA,CAAM,QAAA,EAAN,EACE,QAAA,EAAA;AAAA,MAAA,KAAA,GAAQ,CAAA,wBAAM,aAAA,EAAA,EAAc,CAAA;AAAA,MAC5B;AAAA,KAAA,EAAA,EAFkB,KAGrB,CACD,CAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/components/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAW5D,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAwCzC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/components/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAU5D,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAuCzC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CombinedFilterMenu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Header/components/Filters/CombinedFilterMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAehC,eAAO,MAAM,kBAAkB,EAAE,EA6ChC,CAAC"}
1
+ {"version":3,"file":"CombinedFilterMenu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Header/components/Filters/CombinedFilterMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAkBhC,eAAO,MAAM,kBAAkB,EAAE,EA+EhC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/flow-react-components",
3
- "version": "0.2.0-alpha.653",
3
+ "version": "0.2.0-alpha.654",
4
4
  "type": "module",
5
5
  "description": "A React implementation of Flow, mittwald’s design system",
6
6
  "homepage": "https://mittwald.github.io/flow",
@@ -58,7 +58,7 @@
58
58
  "dependencies": {
59
59
  "@internationalized/string-compiler": "^3.2.6",
60
60
  "@mittwald/password-tools-js": "3.0.0-alpha.18",
61
- "@mittwald/react-tunnel": "0.2.0-alpha.653",
61
+ "@mittwald/react-tunnel": "0.2.0-alpha.654",
62
62
  "@mittwald/react-use-promise": "^4.2.2",
63
63
  "@react-aria/form": "^3.1.3",
64
64
  "@react-aria/live-announcer": "^3.4.4",
@@ -103,7 +103,7 @@
103
103
  "@faker-js/faker": "^10.2.0",
104
104
  "@internationalized/date": "^3.10.1",
105
105
  "@mittwald/flow-core": "",
106
- "@mittwald/flow-design-tokens": "0.2.0-alpha.653",
106
+ "@mittwald/flow-design-tokens": "0.2.0-alpha.654",
107
107
  "@mittwald/react-use-promise": "^4.2.2",
108
108
  "@mittwald/remote-dom-react": "1.2.2-mittwald.10",
109
109
  "@mittwald/typescript-config": "",
@@ -172,5 +172,5 @@
172
172
  "optional": true
173
173
  }
174
174
  },
175
- "gitHead": "e40138d8fd5585f3f29416490ed26322cce832e8"
175
+ "gitHead": "3f097992d0193a2ea5d9d7a29a5161b320433968"
176
176
  }
@@ -1,74 +0,0 @@
1
- "use client"
2
- /* */
3
- import { jsx, jsxs } from 'react/jsx-runtime';
4
- import { useList } from '../../../../hooks/useList.mjs';
5
- import locales from '../../../../../../../../_virtual/_.locale.json@8d5024994f97657f895a4e2a188d2d8a.mjs';
6
- import ButtonView from '../../../../../../views/ButtonView.mjs';
7
- import 'react';
8
- import '@tabler/icons-react';
9
- import '../../../../../Icon/Icon.mjs';
10
- import '../../../../../../views/IconView.mjs';
11
- import { IconSettings } from '../../../../../Icon/components/icons/IconSettings.mjs';
12
- import HeadingView from '../../../../../../views/HeadingView.mjs';
13
- import { useLocalizedStringFormatter } from 'react-aria';
14
- import headerStyles from '../../Header.module.css.mjs';
15
- import { ViewModeMenuItem } from './ViewModeMenuItem.mjs';
16
- import { useAvailableViewModes } from '../../lib.mjs';
17
- import { SortingMenuItem } from './SortingMenuItem.mjs';
18
- import SeparatorView from '../../../../../../views/SeparatorView.mjs';
19
- import ContextMenuSectionView from '../../../../../../views/ContextMenuSectionView.mjs';
20
- import ContextMenuTriggerView from '../../../../../../views/ContextMenuTriggerView.mjs';
21
- import ContextMenuView from '../../../../../../views/ContextMenuView.mjs';
22
-
23
- const SettingsMenu = () => {
24
- const list = useList();
25
- const selectedViewMode = list.viewMode;
26
- const availableViewModes = useAvailableViewModes();
27
- const viewModeItems = availableViewModes.map((viewMode) => /* @__PURE__ */ jsx(ViewModeMenuItem, { viewMode }, viewMode));
28
- const sortingItems = list.visibleSorting.map((s) => /* @__PURE__ */ jsx(SortingMenuItem, { sorting: s }, s.id));
29
- const labelSorting = list.visibleSorting.find((s) => s.isSorted());
30
- const stringFormatter = useLocalizedStringFormatter(locales);
31
- if (sortingItems.length === 0 && viewModeItems.length <= 1) {
32
- return null;
33
- }
34
- return /* @__PURE__ */ jsxs(ContextMenuTriggerView, { children: [
35
- /* @__PURE__ */ jsx(
36
- ButtonView,
37
- {
38
- className: headerStyles.mobile,
39
- variant: "outline",
40
- color: "secondary",
41
- "aria-label": stringFormatter.format("list.settings"),
42
- children: /* @__PURE__ */ jsx(IconSettings, {})
43
- }
44
- ),
45
- /* @__PURE__ */ jsxs(ContextMenuView, { children: [
46
- viewModeItems.length > 1 && /* @__PURE__ */ jsxs(
47
- ContextMenuSectionView,
48
- {
49
- selectionMode: "single",
50
- selectedKeys: [selectedViewMode],
51
- children: [
52
- /* @__PURE__ */ jsx(HeadingView, { children: stringFormatter.format("list.settings.viewMode") }),
53
- viewModeItems
54
- ]
55
- }
56
- ),
57
- sortingItems.length > 0 && viewModeItems.length > 1 && /* @__PURE__ */ jsx(SeparatorView, {}),
58
- sortingItems.length > 0 && /* @__PURE__ */ jsxs(
59
- ContextMenuSectionView,
60
- {
61
- selectionMode: "single",
62
- selectedKeys: labelSorting ? [labelSorting.id] : [],
63
- children: [
64
- /* @__PURE__ */ jsx(HeadingView, { children: stringFormatter.format("list.sorting") }),
65
- sortingItems
66
- ]
67
- }
68
- )
69
- ] })
70
- ] });
71
- };
72
-
73
- export { SettingsMenu };
74
- //# sourceMappingURL=SettingsMenu.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingsMenu.mjs","sources":["../../../../../../../../../../src/components/List/components/Header/components/Settings/SettingsMenu.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useList } from \"@/components/List/hooks/useList\";\nimport locales from \"../../../../locales/*.locale.json\";\nimport ButtonView from \"@/views/ButtonView\";\nimport { IconSettings } from \"@/components/Icon/components/icons\";\nimport HeadingView from \"@/views/HeadingView\";\nimport { useLocalizedStringFormatter } from \"react-aria\";\nimport styles from \"../../Header.module.css\";\nimport { ViewModeMenuItem } from \"@/components/List/components/Header/components/Settings/ViewModeMenuItem\";\nimport { useAvailableViewModes } from \"@/components/List/components/Header/lib\";\nimport { SortingMenuItem } from \"@/components/List/components/Header/components/Settings/SortingMenuItem\";\nimport SeparatorView from \"@/views/SeparatorView\";\nimport ContextMenuSectionView from \"@/views/ContextMenuSectionView\";\nimport ContextMenuTriggerView from \"@/views/ContextMenuTriggerView\";\nimport ContextMenuView from \"@/views/ContextMenuView\";\n\nexport const SettingsMenu: FC = () => {\n const list = useList();\n\n const selectedViewMode = list.viewMode;\n const availableViewModes = useAvailableViewModes();\n const viewModeItems = availableViewModes.map((viewMode) => (\n <ViewModeMenuItem viewMode={viewMode} key={viewMode} />\n ));\n\n const sortingItems = list.visibleSorting.map((s) => (\n <SortingMenuItem sorting={s} key={s.id} />\n ));\n const labelSorting = list.visibleSorting.find((s) => s.isSorted());\n\n const stringFormatter = useLocalizedStringFormatter(locales);\n\n if (sortingItems.length === 0 && viewModeItems.length <= 1) {\n return null;\n }\n\n return (\n <ContextMenuTriggerView>\n <ButtonView\n className={styles.mobile}\n variant=\"outline\"\n color=\"secondary\"\n aria-label={stringFormatter.format(\"list.settings\")}\n >\n <IconSettings />\n </ButtonView>\n\n <ContextMenuView>\n {viewModeItems.length > 1 && (\n <ContextMenuSectionView\n selectionMode=\"single\"\n selectedKeys={[selectedViewMode]}\n >\n <HeadingView>\n {stringFormatter.format(\"list.settings.viewMode\")}\n </HeadingView>\n {viewModeItems}\n </ContextMenuSectionView>\n )}\n\n {sortingItems.length > 0 && viewModeItems.length > 1 && (\n <SeparatorView />\n )}\n\n {sortingItems.length > 0 && (\n <ContextMenuSectionView\n selectionMode=\"single\"\n selectedKeys={labelSorting ? [labelSorting.id] : []}\n >\n <HeadingView>{stringFormatter.format(\"list.sorting\")}</HeadingView>\n {sortingItems}\n </ContextMenuSectionView>\n )}\n </ContextMenuView>\n </ContextMenuTriggerView>\n );\n};\n"],"names":["styles"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,eAAmB,MAAM;AACpC,EAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,EAAA,MAAM,mBAAmB,IAAA,CAAK,QAAA;AAC9B,EAAA,MAAM,qBAAqB,qBAAA,EAAsB;AACjD,EAAA,MAAM,aAAA,GAAgB,mBAAmB,GAAA,CAAI,CAAC,6BAC5C,GAAA,CAAC,gBAAA,EAAA,EAAiB,QAAA,EAAA,EAAyB,QAAU,CACtD,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,cAAA,CAAe,GAAA,CAAI,CAAC,CAAA,qBAC5C,GAAA,CAAC,eAAA,EAAA,EAAgB,OAAA,EAAS,CAAA,EAAA,EAAQ,CAAA,CAAE,EAAI,CACzC,CAAA;AACD,EAAA,MAAM,YAAA,GAAe,KAAK,cAAA,CAAe,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,UAAU,CAAA;AAEjE,EAAA,MAAM,eAAA,GAAkB,4BAA4B,OAAO,CAAA;AAE3D,EAAA,IAAI,YAAA,CAAa,MAAA,KAAW,CAAA,IAAK,aAAA,CAAc,UAAU,CAAA,EAAG;AAC1D,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,4BACG,sBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,WAAWA,YAAA,CAAO,MAAA;AAAA,QAClB,OAAA,EAAQ,SAAA;AAAA,QACR,KAAA,EAAM,WAAA;AAAA,QACN,YAAA,EAAY,eAAA,CAAgB,MAAA,CAAO,eAAe,CAAA;AAAA,QAElD,8BAAC,YAAA,EAAA,EAAa;AAAA;AAAA,KAChB;AAAA,yBAEC,eAAA,EAAA,EACE,QAAA,EAAA;AAAA,MAAA,aAAA,CAAc,SAAS,CAAA,oBACtB,IAAA;AAAA,QAAC,sBAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,QAAA;AAAA,UACd,YAAA,EAAc,CAAC,gBAAgB,CAAA;AAAA,UAE/B,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,WAAA,EAAA,EACE,QAAA,EAAA,eAAA,CAAgB,MAAA,CAAO,wBAAwB,CAAA,EAClD,CAAA;AAAA,YACC;AAAA;AAAA;AAAA,OACH;AAAA,MAGD,aAAa,MAAA,GAAS,CAAA,IAAK,cAAc,MAAA,GAAS,CAAA,wBAChD,aAAA,EAAA,EAAc,CAAA;AAAA,MAGhB,YAAA,CAAa,SAAS,CAAA,oBACrB,IAAA;AAAA,QAAC,sBAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,QAAA;AAAA,UACd,cAAc,YAAA,GAAe,CAAC,YAAA,CAAa,EAAE,IAAI,EAAC;AAAA,UAElD,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,WAAA,EAAA,EAAa,QAAA,EAAA,eAAA,CAAgB,MAAA,CAAO,cAAc,CAAA,EAAE,CAAA;AAAA,YACpD;AAAA;AAAA;AAAA;AACH,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- export declare const SettingsMenu: FC;
3
- //# sourceMappingURL=SettingsMenu.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingsMenu.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Header/components/Settings/SettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAgBhC,eAAO,MAAM,YAAY,EAAE,EA4D1B,CAAC"}