@mittwald/flow-react-components 0.2.0-alpha.192 → 0.2.0-alpha.193

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 (90) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/assets/doc-properties.json +3205 -3125
  3. package/dist/css/all.css +1 -1
  4. package/dist/js/_virtual/_.locale.json@8d5024994f97657f895a4e2a188d2d8a.mjs +4 -2
  5. package/dist/js/_virtual/_.locale.json@8d5024994f97657f895a4e2a188d2d8a.mjs.map +1 -1
  6. package/dist/js/components/src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs.map +1 -1
  7. package/dist/js/components/src/components/List/List.mjs +7 -5
  8. package/dist/js/components/src/components/List/List.mjs.map +1 -1
  9. package/dist/js/components/src/components/List/components/Header/Header.mjs +20 -19
  10. package/dist/js/components/src/components/List/components/Header/Header.mjs.map +1 -1
  11. package/dist/js/components/src/components/List/components/Header/Header.module.css.mjs +14 -10
  12. package/dist/js/components/src/components/List/components/Header/Header.module.css.mjs.map +1 -1
  13. package/dist/js/components/src/components/List/components/Header/components/Filters/CombinedFilterMenu.mjs +76 -0
  14. package/dist/js/components/src/components/List/components/Header/components/Filters/CombinedFilterMenu.mjs.map +1 -0
  15. package/dist/js/components/src/components/List/components/Header/components/{FilterPicker/FilterPicker.mjs → Filters/FilterMenu.mjs} +19 -20
  16. package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenu.mjs.map +1 -0
  17. package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenuItem.mjs +23 -0
  18. package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenuItem.mjs.map +1 -0
  19. package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenuList.mjs +38 -0
  20. package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenuList.mjs.map +1 -0
  21. package/dist/js/components/src/components/List/components/Header/components/SearchField/SearchField.mjs +4 -4
  22. package/dist/js/components/src/components/List/components/Header/components/SearchField/SearchField.mjs.map +1 -1
  23. package/dist/js/components/src/components/List/components/Header/components/SearchField/SearchField.module.scss.mjs +9 -0
  24. package/dist/js/components/src/components/List/components/Header/components/SearchField/SearchField.module.scss.mjs.map +1 -0
  25. package/dist/js/components/src/components/List/components/Header/components/Settings/SettingsMenu.mjs +76 -0
  26. package/dist/js/components/src/components/List/components/Header/components/Settings/SettingsMenu.mjs.map +1 -0
  27. package/dist/js/components/src/components/List/components/Header/components/{SortingPicker/SortingPicker.mjs → Settings/SortingMenu.mjs} +23 -17
  28. package/dist/js/components/src/components/List/components/Header/components/Settings/SortingMenu.mjs.map +1 -0
  29. package/dist/js/components/src/components/List/components/Header/components/Settings/SortingMenuItem.mjs +48 -0
  30. package/dist/js/components/src/components/List/components/Header/components/Settings/SortingMenuItem.mjs.map +1 -0
  31. package/dist/js/components/src/components/List/components/Header/components/{ViewModeMenu → Settings}/ViewModeMenu.mjs +6 -27
  32. package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenu.mjs.map +1 -0
  33. package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.mjs +51 -0
  34. package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.mjs.map +1 -0
  35. package/dist/js/components/src/components/List/components/Header/lib.mjs +47 -0
  36. package/dist/js/components/src/components/List/components/Header/lib.mjs.map +1 -0
  37. package/dist/types/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.d.ts +2 -2
  38. package/dist/types/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.d.ts.map +1 -1
  39. package/dist/types/components/List/List.d.ts.map +1 -1
  40. package/dist/types/components/List/components/Header/Header.d.ts +1 -4
  41. package/dist/types/components/List/components/Header/Header.d.ts.map +1 -1
  42. package/dist/types/components/List/components/Header/components/Filters/CombinedFilterMenu.d.ts +3 -0
  43. package/dist/types/components/List/components/Header/components/Filters/CombinedFilterMenu.d.ts.map +1 -0
  44. package/dist/types/components/List/components/Header/components/{FilterPicker/FilterPicker.d.ts → Filters/FilterMenu.d.ts} +2 -2
  45. package/dist/types/components/List/components/Header/components/Filters/FilterMenu.d.ts.map +1 -0
  46. package/dist/types/components/List/components/Header/components/Filters/FilterMenuItem.d.ts +8 -0
  47. package/dist/types/components/List/components/Header/components/Filters/FilterMenuItem.d.ts.map +1 -0
  48. package/dist/types/components/List/components/Header/components/Filters/FilterMenuList.d.ts +3 -0
  49. package/dist/types/components/List/components/Header/components/Filters/FilterMenuList.d.ts.map +1 -0
  50. package/dist/types/components/List/components/Header/components/SearchField/SearchField.d.ts.map +1 -1
  51. package/dist/types/components/List/components/Header/components/Settings/SettingsMenu.d.ts +3 -0
  52. package/dist/types/components/List/components/Header/components/Settings/SettingsMenu.d.ts.map +1 -0
  53. package/dist/types/components/List/components/Header/components/Settings/SortingMenu.d.ts +3 -0
  54. package/dist/types/components/List/components/Header/components/Settings/SortingMenu.d.ts.map +1 -0
  55. package/dist/types/components/List/components/Header/components/{SortingPickerItem/SortingPickerItem.d.ts → Settings/SortingMenuItem.d.ts} +2 -2
  56. package/dist/types/components/List/components/Header/components/Settings/SortingMenuItem.d.ts.map +1 -0
  57. package/dist/types/components/List/components/Header/components/Settings/ViewModeMenu.d.ts.map +1 -0
  58. package/dist/types/components/List/components/Header/components/Settings/ViewModeMenuItem.d.ts +8 -0
  59. package/dist/types/components/List/components/Header/components/Settings/ViewModeMenuItem.d.ts.map +1 -0
  60. package/dist/types/components/List/components/Header/lib.d.ts +3 -0
  61. package/dist/types/components/List/components/Header/lib.d.ts.map +1 -0
  62. package/dist/types/components/List/model/search/types.d.ts +1 -1
  63. package/dist/types/components/List/model/search/types.d.ts.map +1 -1
  64. package/dist/types/components/List/stories/Default.stories.d.ts.map +1 -1
  65. package/dist/types/components/List/typedList.d.ts +1 -4
  66. package/dist/types/components/List/typedList.d.ts.map +1 -1
  67. package/package.json +4 -4
  68. package/dist/js/components/src/components/List/components/Header/components/FilterPicker/FilterPicker.mjs.map +0 -1
  69. package/dist/js/components/src/components/List/components/Header/components/FilterPicker/index.mjs +0 -6
  70. package/dist/js/components/src/components/List/components/Header/components/FilterPicker/index.mjs.map +0 -1
  71. package/dist/js/components/src/components/List/components/Header/components/SortingPicker/SortingPicker.mjs.map +0 -1
  72. package/dist/js/components/src/components/List/components/Header/components/SortingPickerItem/SortingPickerItem.mjs +0 -13
  73. package/dist/js/components/src/components/List/components/Header/components/SortingPickerItem/SortingPickerItem.mjs.map +0 -1
  74. package/dist/js/components/src/components/List/components/Header/components/ViewModeMenu/ViewModeMenu.mjs.map +0 -1
  75. package/dist/js/components/src/lib/react/deepHas.mjs +0 -8
  76. package/dist/js/components/src/lib/react/deepHas.mjs.map +0 -1
  77. package/dist/js/components/src/views/SectionView.mjs +0 -14
  78. package/dist/js/components/src/views/SectionView.mjs.map +0 -1
  79. package/dist/types/components/List/components/Header/components/FilterPicker/FilterPicker.d.ts.map +0 -1
  80. package/dist/types/components/List/components/Header/components/FilterPicker/index.d.ts +0 -4
  81. package/dist/types/components/List/components/Header/components/FilterPicker/index.d.ts.map +0 -1
  82. package/dist/types/components/List/components/Header/components/SortingPicker/SortingPicker.d.ts +0 -3
  83. package/dist/types/components/List/components/Header/components/SortingPicker/SortingPicker.d.ts.map +0 -1
  84. package/dist/types/components/List/components/Header/components/SortingPicker/index.d.ts +0 -4
  85. package/dist/types/components/List/components/Header/components/SortingPicker/index.d.ts.map +0 -1
  86. package/dist/types/components/List/components/Header/components/SortingPickerItem/SortingPickerItem.d.ts.map +0 -1
  87. package/dist/types/components/List/components/Header/components/SortingPickerItem/index.d.ts +0 -4
  88. package/dist/types/components/List/components/Header/components/SortingPickerItem/index.d.ts.map +0 -1
  89. package/dist/types/components/List/components/Header/components/ViewModeMenu/ViewModeMenu.d.ts.map +0 -1
  90. /package/dist/types/components/List/components/Header/components/{ViewModeMenu → Settings}/ViewModeMenu.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  "use client"
2
2
  /* */
3
- const locales = {"de-DE": { "list.filters.clear": `Filter entfernen`,
3
+ const locales = {"de-DE": { "list.filters": `Filter`,
4
+ "list.filters.clear": `Filter entfernen`,
4
5
  "list.filters.reset": `Filter zurücksetzen`,
5
6
  "list.filters.store": `Filter speichern`,
6
7
  "list.noResult.heading": `Keine Suchergebnisse gefunden`,
@@ -16,7 +17,8 @@ const locales = {"de-DE": { "list.filters.clear": `Filter entfernen`,
16
17
  "list.sorting": `Sortierung`,
17
18
  "list.toggleExpandButton.collapse": `Weniger anzeigen`,
18
19
  "list.toggleExpandButton.expand": `Mehr anzeigen`,
19
- },"en-US": { "list.filters.clear": `Clear filters`,
20
+ },"en-US": { "list.filters": `Filters`,
21
+ "list.filters.clear": `Clear filters`,
20
22
  "list.filters.reset": `Reset filters`,
21
23
  "list.filters.store": `Store filters`,
22
24
  "list.noResult.heading": `No search results found`,
@@ -1 +1 @@
1
- {"version":3,"file":"_.locale.json@8d5024994f97657f895a4e2a188d2d8a.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"_.locale.json@8d5024994f97657f895a4e2a188d2d8a.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuSection.mjs","sources":["../../../../../../../../src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { PropsWithChildren } from \"react\";\nimport React from \"react\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport styles from \"../../ContextMenu.module.scss\";\nimport type { ContextMenuSelectionMode } from \"@/components/ContextMenu/lib\";\nimport {\n getAriaSelectionMode,\n getCloseOverlayType,\n getMenuItemSelectionVariant,\n} from \"@/components/ContextMenu/lib\";\nimport { Action } from \"@/components/Action\";\nimport type { MenuItemProps } from \"@/components/MenuItem\";\n\nexport type ContextMenuSectionProps = PropsWithChildren &\n FlowComponentProps &\n Pick<Aria.MenuSectionProps<MenuItemProps>, \"defaultSelectedKeys\"> & {\n selectionMode?: ContextMenuSelectionMode;\n };\n\n/** @flr-generate all */\nexport const ContextMenuSection = flowComponent(\n \"ContextMenuSection\",\n (props) => {\n const { children, selectionMode, ref, ...rest } = props;\n\n const selectionVariant = getMenuItemSelectionVariant(selectionMode);\n\n const propsContext: PropsContext = {\n Heading: {\n level: 5,\n wrapWith: <Aria.Header />,\n },\n MenuItem: {\n selectionVariant,\n },\n };\n\n return (\n <Aria.MenuSection\n ref={ref}\n {...rest}\n selectionMode={getAriaSelectionMode(selectionMode)}\n className={styles.section}\n >\n <PropsContextProvider props={propsContext} mergeInParentContext>\n <Action skip>\n <Action closeOverlay={getCloseOverlayType(selectionMode)}>\n {children}\n </Action>\n </Action>\n </PropsContextProvider>\n </Aria.MenuSection>\n );\n },\n);\n"],"names":[],"mappings":";;;;;;;;;;;AAwBO,MAAM,kBAAqB,GAAA,aAAA;AAAA,EAChC,oBAAA;AAAA,EACA,CAAC,KAAU,KAAA;AACT,IAAA,MAAM,EAAE,QAAU,EAAA,aAAA,EAAe,GAAK,EAAA,GAAG,MAAS,GAAA,KAAA;AAElD,IAAM,MAAA,gBAAA,GAAmB,4BAA4B,aAAa,CAAA;AAElE,IAAA,MAAM,YAA6B,GAAA;AAAA,MACjC,OAAS,EAAA;AAAA,QACP,KAAO,EAAA,CAAA;AAAA,QACP,QAAU,kBAAA,GAAA,CAAC,IAAK,CAAA,MAAA,EAAL,EAAY;AAAA,OACzB;AAAA,MACA,QAAU,EAAA;AAAA,QACR;AAAA;AACF,KACF;AAEA,IACE,uBAAA,GAAA;AAAA,MAAC,IAAK,CAAA,WAAA;AAAA,MAAL;AAAA,QACC,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QACJ,aAAA,EAAe,qBAAqB,aAAa,CAAA;AAAA,QACjD,WAAW,MAAO,CAAA,OAAA;AAAA,QAElB,8BAAC,oBAAqB,EAAA,EAAA,KAAA,EAAO,cAAc,oBAAoB,EAAA,IAAA,EAC7D,8BAAC,MAAO,EAAA,EAAA,IAAA,EAAI,IACV,EAAA,QAAA,kBAAA,GAAA,CAAC,UAAO,YAAc,EAAA,mBAAA,CAAoB,aAAa,CACpD,EAAA,QAAA,EACH,GACF,CACF,EAAA;AAAA;AAAA,KACF;AAAA;AAGN;;;;"}
1
+ {"version":3,"file":"ContextMenuSection.mjs","sources":["../../../../../../../../src/components/ContextMenu/components/ContextMenuSection/ContextMenuSection.tsx"],"sourcesContent":["import * as Aria from \"react-aria-components\";\nimport type { PropsWithChildren } from \"react\";\nimport React from \"react\";\nimport type { PropsContext } from \"@/lib/propsContext\";\nimport { PropsContextProvider } from \"@/lib/propsContext\";\nimport type { FlowComponentProps } from \"@/lib/componentFactory/flowComponent\";\nimport { flowComponent } from \"@/lib/componentFactory/flowComponent\";\nimport styles from \"../../ContextMenu.module.scss\";\nimport type { ContextMenuSelectionMode } from \"@/components/ContextMenu/lib\";\nimport {\n getAriaSelectionMode,\n getCloseOverlayType,\n getMenuItemSelectionVariant,\n} from \"@/components/ContextMenu/lib\";\nimport { Action } from \"@/components/Action\";\nimport type { MenuItemProps } from \"@/components/MenuItem\";\n\nexport type ContextMenuSectionProps = PropsWithChildren &\n FlowComponentProps &\n Pick<\n Aria.MenuSectionProps<MenuItemProps>,\n \"defaultSelectedKeys\" | \"selectedKeys\"\n > & {\n selectionMode?: ContextMenuSelectionMode;\n };\n\n/** @flr-generate all */\nexport const ContextMenuSection = flowComponent(\n \"ContextMenuSection\",\n (props) => {\n const { children, selectionMode, ref, ...rest } = props;\n\n const selectionVariant = getMenuItemSelectionVariant(selectionMode);\n\n const propsContext: PropsContext = {\n Heading: {\n level: 5,\n wrapWith: <Aria.Header />,\n },\n MenuItem: {\n selectionVariant,\n },\n };\n\n return (\n <Aria.MenuSection\n ref={ref}\n {...rest}\n selectionMode={getAriaSelectionMode(selectionMode)}\n className={styles.section}\n >\n <PropsContextProvider props={propsContext} mergeInParentContext>\n <Action skip>\n <Action closeOverlay={getCloseOverlayType(selectionMode)}>\n {children}\n </Action>\n </Action>\n </PropsContextProvider>\n </Aria.MenuSection>\n );\n },\n);\n"],"names":[],"mappings":";;;;;;;;;;;AA2BO,MAAM,kBAAqB,GAAA,aAAA;AAAA,EAChC,oBAAA;AAAA,EACA,CAAC,KAAU,KAAA;AACT,IAAA,MAAM,EAAE,QAAU,EAAA,aAAA,EAAe,GAAK,EAAA,GAAG,MAAS,GAAA,KAAA;AAElD,IAAM,MAAA,gBAAA,GAAmB,4BAA4B,aAAa,CAAA;AAElE,IAAA,MAAM,YAA6B,GAAA;AAAA,MACjC,OAAS,EAAA;AAAA,QACP,KAAO,EAAA,CAAA;AAAA,QACP,QAAU,kBAAA,GAAA,CAAC,IAAK,CAAA,MAAA,EAAL,EAAY;AAAA,OACzB;AAAA,MACA,QAAU,EAAA;AAAA,QACR;AAAA;AACF,KACF;AAEA,IACE,uBAAA,GAAA;AAAA,MAAC,IAAK,CAAA,WAAA;AAAA,MAAL;AAAA,QACC,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QACJ,aAAA,EAAe,qBAAqB,aAAa,CAAA;AAAA,QACjD,WAAW,MAAO,CAAA,OAAA;AAAA,QAElB,8BAAC,oBAAqB,EAAA,EAAA,KAAA,EAAO,cAAc,oBAAoB,EAAA,IAAA,EAC7D,8BAAC,MAAO,EAAA,EAAA,IAAA,EAAI,IACV,EAAA,QAAA,kBAAA,GAAA,CAAC,UAAO,YAAc,EAAA,mBAAA,CAAoB,aAAa,CACpD,EAAA,QAAA,EACH,GACF,CACF,EAAA;AAAA;AAAA,KACF;AAAA;AAGN;;;;"}
@@ -1,9 +1,9 @@
1
1
  "use client"
2
2
  /* */
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
- import { ActionGroup } from '../ActionGroup/ActionGroup.mjs';
5
4
  import { DataLoader } from './components/DataLoader/DataLoader.mjs';
6
5
  import { Header } from './components/Header/Header.mjs';
6
+ import headerStyles from './components/Header/Header.module.css.mjs';
7
7
  import { Items } from './components/Items/Items.mjs';
8
8
  import { Table } from './components/Table/Table.mjs';
9
9
  import { List as List$1 } from './model/List.mjs';
@@ -26,7 +26,6 @@ import 'react';
26
26
  import '../../lib/viewComponentContext/viewComponentContext.mjs';
27
27
  import { PropsContextProvider } from '../../lib/propsContext/PropsContextProvider.mjs';
28
28
  import { deepFindOfType, deepFilterByType } from '../../lib/react/deepFindOfType.mjs';
29
- import { deepHas } from '../../lib/react/deepHas.mjs';
30
29
  import DivView from '../../views/DivView.mjs';
31
30
  import { TunnelProvider, TunnelExit } from '@mittwald/react-tunnel';
32
31
  import { Footer } from './components/Footer/Footer.mjs';
@@ -113,13 +112,16 @@ const List = flowComponent("List", (props) => {
113
112
  });
114
113
  const propsContext = {
115
114
  ActionGroup: {
116
- tunnelId: "actions"
115
+ tunnelId: "actions",
116
+ className: headerStyles.actions,
117
+ Button: {
118
+ className: headerStyles.action
119
+ }
117
120
  },
118
121
  ListSummary: {
119
122
  tunnelId: "listSummary"
120
123
  }
121
124
  };
122
- const hasActionGroup = deepHas(children, ActionGroup);
123
125
  return /* @__PURE__ */ jsx(PropsContextProvider, { props: propsContext, children: /* @__PURE__ */ jsx(TunnelProvider, { children: /* @__PURE__ */ jsxs(
124
126
  listContext.Provider,
125
127
  {
@@ -130,7 +132,7 @@ const List = flowComponent("List", (props) => {
130
132
  /* @__PURE__ */ jsx(DataLoader, {}),
131
133
  /* @__PURE__ */ jsxs(DivView, { className: styles.list, ref, children: [
132
134
  children,
133
- /* @__PURE__ */ jsx(Header, { hasActionGroup }),
135
+ /* @__PURE__ */ jsx(Header, {}),
134
136
  /* @__PURE__ */ jsxs(DivView, { className: styles.listWrapper, children: [
135
137
  listModel.items.entries.length > 0 && /* @__PURE__ */ jsx(TunnelExit, { id: "listSummary" }),
136
138
  (listModel.viewMode === "list" || listModel.viewMode === "tiles") && /* @__PURE__ */ jsx(Items, {}),
@@ -1 +1 @@
1
- {"version":3,"file":"List.mjs","sources":["../../../../../../src/components/List/List.tsx"],"sourcesContent":["import { ActionGroup } from \"@/components/ActionGroup\";\nimport { DataLoader } from \"@/components/List/components/DataLoader\";\nimport { Header } from \"@/components/List/components/Header/Header\";\nimport { Items } from \"@/components/List/components/Items/Items\";\nimport { Table } from \"@/components/List/components/Table\";\nimport ListModel from \"@/components/List/model/List\";\nimport type { IncrementalLoaderShape } from \"@/components/List/model/loading/types\";\nimport type { ListShape } from \"@/components/List/model/types\";\nimport { ListFilter } from \"@/components/List/setupComponents/ListFilter\";\nimport { ListItem } from \"@/components/List/setupComponents/ListItem\";\nimport { ListLoaderAsync } from \"@/components/List/setupComponents/ListLoaderAsync\";\nimport { ListLoaderAsyncResource } from \"@/components/List/setupComponents/ListLoaderAsyncResource\";\nimport { ListSearch } from \"@/components/List/setupComponents/ListSearch\";\nimport { ListSorting } from \"@/components/List/setupComponents/ListSorting\";\nimport { ListStaticData } from \"@/components/List/setupComponents/ListStaticData\";\nimport { Table as TableSetupComponent } from \"@/components/List/setupComponents/Table\";\nimport { TableBody } from \"@/components/List/setupComponents/TableBody\";\nimport { TableCell } from \"@/components/List/setupComponents/TableCell\";\nimport { TableColumn } from \"@/components/List/setupComponents/TableColumn\";\nimport { TableHeader } from \"@/components/List/setupComponents/TableHeader\";\nimport { TableRow } from \"@/components/List/setupComponents/TableRow\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport { type PropsContext, PropsContextProvider } from \"@/lib/propsContext\";\nimport { deepFilterByType, deepFindOfType } from \"@/lib/react/deepFindOfType\";\nimport { deepHas } from \"@/lib/react/deepHas\";\nimport DivView from \"@/views/DivView\";\nimport { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\nimport type { PropsWithChildren } from \"react\";\nimport Footer from \"./components/Footer\";\nimport styles from \"./List.module.css\";\nimport { listContext } from \"./listContext\";\n\nexport interface ListProps<T>\n extends PropsWithChildren,\n FlowComponentProps,\n Omit<\n ListShape<T>,\n | \"search\"\n | \"loader\"\n | \"itemView\"\n | \"table\"\n | \"batchesController\"\n | \"filters\"\n | \"sorting\"\n > {\n /** The number of items to be displayed on one page. */\n batchSize?: number;\n}\n\nexport const List = flowComponent(\"List\", (props) => {\n const { children, batchSize, onChange, ref, ...restProps } = props;\n\n const listLoaderAsync = deepFindOfType(\n children,\n ListLoaderAsync<never>,\n )?.props;\n const listLoaderAsyncResource = deepFindOfType(\n children,\n ListLoaderAsyncResource<never>,\n )?.props;\n const listStaticData = deepFindOfType(children, ListStaticData<never>)?.props;\n\n const loaderShape: IncrementalLoaderShape<never> = {\n source: listLoaderAsync\n ? {\n ...listLoaderAsync,\n asyncLoader: listLoaderAsync.children,\n }\n : listLoaderAsyncResource\n ? {\n ...listLoaderAsyncResource,\n asyncResourceFactory: listLoaderAsyncResource.children,\n }\n : listStaticData\n ? {\n staticData: listStaticData.data,\n }\n : undefined,\n };\n\n const searchProps = deepFindOfType(children, ListSearch)?.props;\n const itemViewProps = deepFindOfType(children, ListItem<never>)?.props;\n\n const tableProps = deepFindOfType(children, TableSetupComponent)?.props;\n const tableColumnProps = deepFilterByType(children, TableColumn<never>).map(\n (c) => ({\n ...c.props,\n name: c.props.children,\n }),\n );\n const tableCellProps = deepFilterByType(children, TableCell<never>).map(\n (c) => ({\n ...c.props,\n renderFn: c.props.children,\n }),\n );\n\n const tableRowProps = deepFindOfType(children, TableRow)?.props;\n const tableHeaderProps = deepFindOfType(children, TableHeader)?.props;\n const tableBodyProps = deepFindOfType(children, TableBody)?.props;\n\n const listModel = ListModel.useNew<never>({\n onChange,\n loader: loaderShape,\n filters: deepFilterByType(children, ListFilter<never, never, never>).map(\n (f) => ({\n ...f.props,\n renderItem: f.props.children,\n }),\n ),\n search: searchProps\n ? {\n render: searchProps.children,\n textFieldProps: searchProps,\n defaultValue: searchProps.defaultValue,\n }\n : undefined,\n sorting: deepFilterByType(children, ListSorting<never>).map((s) => s.props),\n\n itemView: itemViewProps\n ? {\n ...itemViewProps,\n renderFn: itemViewProps.children,\n }\n : undefined,\n\n table:\n tableColumnProps.length > 0\n ? {\n header: {\n ...tableHeaderProps,\n columns: tableColumnProps,\n },\n body: {\n ...tableBodyProps,\n row: {\n ...tableRowProps,\n cells: tableCellProps,\n },\n },\n ...tableProps,\n }\n : undefined,\n\n batchesController: {\n batchSize,\n },\n ...restProps,\n });\n\n const propsContext: PropsContext = {\n ActionGroup: {\n tunnelId: \"actions\",\n },\n ListSummary: {\n tunnelId: \"listSummary\",\n },\n };\n\n const hasActionGroup = deepHas(children, ActionGroup);\n\n return (\n <PropsContextProvider props={propsContext}>\n <TunnelProvider>\n <listContext.Provider\n value={{\n list: listModel,\n }}\n >\n <DataLoader />\n <DivView className={styles.list} ref={ref}>\n {children}\n <Header hasActionGroup={hasActionGroup} />\n\n <DivView className={styles.listWrapper}>\n {listModel.items.entries.length > 0 && (\n <TunnelExit id=\"listSummary\" />\n )}\n {(listModel.viewMode === \"list\" ||\n listModel.viewMode === \"tiles\") && <Items />}\n {listModel.viewMode === \"table\" && <Table />}\n </DivView>\n <Footer />\n </DivView>\n </listContext.Provider>\n </TunnelProvider>\n </PropsContextProvider>\n );\n});\n\nexport default List;\n"],"names":["TableSetupComponent","ListModel"],"mappings":"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"}
1
+ {"version":3,"file":"List.mjs","sources":["../../../../../../src/components/List/List.tsx"],"sourcesContent":["import { DataLoader } from \"@/components/List/components/DataLoader\";\nimport { Header } from \"@/components/List/components/Header/Header\";\nimport headerStyles from \"@/components/List/components/Header/Header.module.css\";\nimport { Items } from \"@/components/List/components/Items/Items\";\nimport { Table } from \"@/components/List/components/Table\";\nimport ListModel from \"@/components/List/model/List\";\nimport type { IncrementalLoaderShape } from \"@/components/List/model/loading/types\";\nimport type { ListShape } from \"@/components/List/model/types\";\nimport { ListFilter } from \"@/components/List/setupComponents/ListFilter\";\nimport { ListItem } from \"@/components/List/setupComponents/ListItem\";\nimport { ListLoaderAsync } from \"@/components/List/setupComponents/ListLoaderAsync\";\nimport { ListLoaderAsyncResource } from \"@/components/List/setupComponents/ListLoaderAsyncResource\";\nimport { ListSearch } from \"@/components/List/setupComponents/ListSearch\";\nimport { ListSorting } from \"@/components/List/setupComponents/ListSorting\";\nimport { ListStaticData } from \"@/components/List/setupComponents/ListStaticData\";\nimport { Table as TableSetupComponent } from \"@/components/List/setupComponents/Table\";\nimport { TableBody } from \"@/components/List/setupComponents/TableBody\";\nimport { TableCell } from \"@/components/List/setupComponents/TableCell\";\nimport { TableColumn } from \"@/components/List/setupComponents/TableColumn\";\nimport { TableHeader } from \"@/components/List/setupComponents/TableHeader\";\nimport { TableRow } from \"@/components/List/setupComponents/TableRow\";\nimport {\n flowComponent,\n type FlowComponentProps,\n} from \"@/lib/componentFactory/flowComponent\";\nimport { type PropsContext, PropsContextProvider } from \"@/lib/propsContext\";\nimport { deepFilterByType, deepFindOfType } from \"@/lib/react/deepFindOfType\";\nimport DivView from \"@/views/DivView\";\nimport { TunnelExit, TunnelProvider } from \"@mittwald/react-tunnel\";\nimport type { PropsWithChildren } from \"react\";\nimport Footer from \"./components/Footer\";\nimport styles from \"./List.module.css\";\nimport { listContext } from \"./listContext\";\n\nexport interface ListProps<T>\n extends PropsWithChildren,\n FlowComponentProps,\n Omit<\n ListShape<T>,\n | \"search\"\n | \"loader\"\n | \"itemView\"\n | \"table\"\n | \"batchesController\"\n | \"filters\"\n | \"sorting\"\n > {\n /** The number of items to be displayed on one page. */\n batchSize?: number;\n}\n\nexport const List = flowComponent(\"List\", (props) => {\n const { children, batchSize, onChange, ref, ...restProps } = props;\n\n const listLoaderAsync = deepFindOfType(\n children,\n ListLoaderAsync<never>,\n )?.props;\n const listLoaderAsyncResource = deepFindOfType(\n children,\n ListLoaderAsyncResource<never>,\n )?.props;\n const listStaticData = deepFindOfType(children, ListStaticData<never>)?.props;\n\n const loaderShape: IncrementalLoaderShape<never> = {\n source: listLoaderAsync\n ? {\n ...listLoaderAsync,\n asyncLoader: listLoaderAsync.children,\n }\n : listLoaderAsyncResource\n ? {\n ...listLoaderAsyncResource,\n asyncResourceFactory: listLoaderAsyncResource.children,\n }\n : listStaticData\n ? {\n staticData: listStaticData.data,\n }\n : undefined,\n };\n\n const searchProps = deepFindOfType(children, ListSearch)?.props;\n const itemViewProps = deepFindOfType(children, ListItem<never>)?.props;\n\n const tableProps = deepFindOfType(children, TableSetupComponent)?.props;\n const tableColumnProps = deepFilterByType(children, TableColumn<never>).map(\n (c) => ({\n ...c.props,\n name: c.props.children,\n }),\n );\n const tableCellProps = deepFilterByType(children, TableCell<never>).map(\n (c) => ({\n ...c.props,\n renderFn: c.props.children,\n }),\n );\n\n const tableRowProps = deepFindOfType(children, TableRow)?.props;\n const tableHeaderProps = deepFindOfType(children, TableHeader)?.props;\n const tableBodyProps = deepFindOfType(children, TableBody)?.props;\n\n const listModel = ListModel.useNew<never>({\n onChange,\n loader: loaderShape,\n filters: deepFilterByType(children, ListFilter<never, never, never>).map(\n (f) => ({\n ...f.props,\n renderItem: f.props.children,\n }),\n ),\n search: searchProps\n ? {\n render: searchProps.children,\n textFieldProps: searchProps,\n defaultValue: searchProps.defaultValue,\n }\n : undefined,\n sorting: deepFilterByType(children, ListSorting<never>).map((s) => s.props),\n\n itemView: itemViewProps\n ? {\n ...itemViewProps,\n renderFn: itemViewProps.children,\n }\n : undefined,\n\n table:\n tableColumnProps.length > 0\n ? {\n header: {\n ...tableHeaderProps,\n columns: tableColumnProps,\n },\n body: {\n ...tableBodyProps,\n row: {\n ...tableRowProps,\n cells: tableCellProps,\n },\n },\n ...tableProps,\n }\n : undefined,\n\n batchesController: {\n batchSize,\n },\n ...restProps,\n });\n\n const propsContext: PropsContext = {\n ActionGroup: {\n tunnelId: \"actions\",\n className: headerStyles.actions,\n Button: {\n className: headerStyles.action,\n },\n },\n ListSummary: {\n tunnelId: \"listSummary\",\n },\n };\n\n return (\n <PropsContextProvider props={propsContext}>\n <TunnelProvider>\n <listContext.Provider\n value={{\n list: listModel,\n }}\n >\n <DataLoader />\n <DivView className={styles.list} ref={ref}>\n {children}\n <Header />\n\n <DivView className={styles.listWrapper}>\n {listModel.items.entries.length > 0 && (\n <TunnelExit id=\"listSummary\" />\n )}\n {(listModel.viewMode === \"list\" ||\n listModel.viewMode === \"tiles\") && <Items />}\n {listModel.viewMode === \"table\" && <Table />}\n </DivView>\n <Footer />\n </DivView>\n </listContext.Provider>\n </TunnelProvider>\n </PropsContextProvider>\n );\n});\n\nexport default List;\n"],"names":["TableSetupComponent","ListModel"],"mappings":"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"}
@@ -1,35 +1,36 @@
1
1
  "use client"
2
2
  /* */
3
- import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
4
  import 'react';
5
- import { SortingPicker } from './components/SortingPicker/SortingPicker.mjs';
6
- import { FilterPicker } from './components/FilterPicker/FilterPicker.mjs';
7
- import styles from './Header.module.css.mjs';
5
+ import headerStyles from './Header.module.css.mjs';
8
6
  import clsx from 'clsx';
9
7
  import { ActiveFilters } from './components/ActiveFilters/ActiveFilters.mjs';
10
8
  import { useList } from '../../hooks/useList.mjs';
11
9
  import { SearchField } from './components/SearchField/SearchField.mjs';
12
- import { ViewModeMenu } from './components/ViewModeMenu/ViewModeMenu.mjs';
10
+ import { ViewModeMenu } from './components/Settings/ViewModeMenu.mjs';
13
11
  import { TunnelExit } from '@mittwald/react-tunnel';
14
12
  import DivView from '../../../../views/DivView.mjs';
13
+ import { SettingsMenu } from './components/Settings/SettingsMenu.mjs';
14
+ import { SortingMenu } from './components/Settings/SortingMenu.mjs';
15
+ import { FilterMenuList } from './components/Filters/FilterMenuList.mjs';
16
+ import { CombinedFilterMenu } from './components/Filters/CombinedFilterMenu.mjs';
17
+ import { useAvailableViewModes } from './lib.mjs';
15
18
 
16
19
  const Header = (props) => {
17
- const { className, hasActionGroup } = props;
20
+ const { className } = props;
18
21
  const list = useList();
19
- if (list.filters.length === 0 && list.visibleSorting.length === 0 && !list.search && !list.table && !(list.itemView?.showTiles && list.itemView?.showList) && !hasActionGroup) {
20
- return null;
21
- }
22
- const filterPickerList = list.filters.map((filter) => /* @__PURE__ */ jsx(FilterPicker, { filter }, filter.property));
23
- return /* @__PURE__ */ jsxs(DivView, { className: clsx(className, styles.header), children: [
24
- /* @__PURE__ */ jsxs(DivView, { className: styles.pickerListAndSearch, children: [
25
- /* @__PURE__ */ jsxs(DivView, { className: styles.pickerList, children: [
22
+ const availableViewModes = useAvailableViewModes();
23
+ const hasOptions = list.filters.length > 0 || list.visibleSorting.length > 0 || list.search || availableViewModes.length > 1;
24
+ return /* @__PURE__ */ jsxs(DivView, { className: clsx(className, headerStyles.header), children: [
25
+ /* @__PURE__ */ jsxs(DivView, { className: headerStyles.headerContent, children: [
26
+ /* @__PURE__ */ jsx(TunnelExit, { id: "actions" }),
27
+ hasOptions && /* @__PURE__ */ jsxs(DivView, { className: headerStyles.options, children: [
26
28
  /* @__PURE__ */ jsx(ViewModeMenu, {}),
27
- /* @__PURE__ */ jsx(SortingPicker, {}),
28
- filterPickerList
29
- ] }),
30
- /* @__PURE__ */ jsxs(DivView, { className: styles.searchAndActions, children: [
31
- list.search && /* @__PURE__ */ jsx(SearchField, { className: styles.searchField, search: list.search }),
32
- /* @__PURE__ */ jsx(TunnelExit, { id: "actions" })
29
+ /* @__PURE__ */ jsx(SortingMenu, {}),
30
+ /* @__PURE__ */ jsx(FilterMenuList, {}),
31
+ /* @__PURE__ */ jsx(SettingsMenu, {}),
32
+ /* @__PURE__ */ jsx(CombinedFilterMenu, {}),
33
+ list.search && /* @__PURE__ */ jsx(SearchField, { search: list.search })
33
34
  ] })
34
35
  ] }),
35
36
  /* @__PURE__ */ jsx(ActiveFilters, {})
@@ -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 { SortingPicker } from \"@/components/List/components/Header/components/SortingPicker\";\nimport FilterPicker from \"@/components/List/components/Header/components/FilterPicker\";\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/ViewModeMenu/ViewModeMenu\";\nimport { TunnelExit } from \"@mittwald/react-tunnel\";\nimport DivView from \"@/views/DivView\";\n\ninterface Props extends PropsWithClassName {\n hasActionGroup?: boolean;\n}\n\nexport const Header: FC<Props> = (props) => {\n const { className, hasActionGroup } = props;\n const list = useList();\n\n if (\n list.filters.length === 0 &&\n list.visibleSorting.length === 0 &&\n !list.search &&\n !list.table &&\n !(list.itemView?.showTiles && list.itemView?.showList) &&\n !hasActionGroup\n ) {\n return null;\n }\n\n const filterPickerList = list.filters.map((filter) => (\n <FilterPicker key={filter.property} filter={filter} />\n ));\n\n return (\n <DivView className={clsx(className, styles.header)}>\n <DivView className={styles.pickerListAndSearch}>\n <DivView className={styles.pickerList}>\n <ViewModeMenu />\n <SortingPicker />\n {filterPickerList}\n </DivView>\n <DivView className={styles.searchAndActions}>\n {list.search && (\n <SearchField className={styles.searchField} search={list.search} />\n )}\n <TunnelExit id=\"actions\" />\n </DivView>\n </DivView>\n <ActiveFilters />\n </DivView>\n );\n};\n\nexport default Header;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAkBa,MAAA,MAAA,GAAoB,CAAC,KAAU,KAAA;AAC1C,EAAM,MAAA,EAAE,SAAW,EAAA,cAAA,EAAmB,GAAA,KAAA;AACtC,EAAA,MAAM,OAAO,OAAQ,EAAA;AAErB,EACE,IAAA,IAAA,CAAK,QAAQ,MAAW,KAAA,CAAA,IACxB,KAAK,cAAe,CAAA,MAAA,KAAW,CAC/B,IAAA,CAAC,IAAK,CAAA,MAAA,IACN,CAAC,IAAK,CAAA,KAAA,IACN,EAAE,IAAK,CAAA,QAAA,EAAU,aAAa,IAAK,CAAA,QAAA,EAAU,QAC7C,CAAA,IAAA,CAAC,cACD,EAAA;AACA,IAAO,OAAA,IAAA;AAAA;AAGT,EAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,MACzC,qBAAA,GAAA,CAAC,YAAmC,EAAA,EAAA,MAAA,EAAA,EAAjB,MAAO,CAAA,QAA0B,CACrD,CAAA;AAED,EAAA,4BACG,OAAQ,EAAA,EAAA,SAAA,EAAW,KAAK,SAAW,EAAA,MAAA,CAAO,MAAM,CAC/C,EAAA,QAAA,EAAA;AAAA,oBAAC,IAAA,CAAA,OAAA,EAAA,EAAQ,SAAW,EAAA,MAAA,CAAO,mBACzB,EAAA,QAAA,EAAA;AAAA,sBAAC,IAAA,CAAA,OAAA,EAAA,EAAQ,SAAW,EAAA,MAAA,CAAO,UACzB,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,YAAa,EAAA,EAAA,CAAA;AAAA,4BACb,aAAc,EAAA,EAAA,CAAA;AAAA,QACd;AAAA,OACH,EAAA,CAAA;AAAA,sBACC,IAAA,CAAA,OAAA,EAAA,EAAQ,SAAW,EAAA,MAAA,CAAO,gBACxB,EAAA,QAAA,EAAA;AAAA,QAAK,IAAA,CAAA,MAAA,wBACH,WAAY,EAAA,EAAA,SAAA,EAAW,OAAO,WAAa,EAAA,MAAA,EAAQ,KAAK,MAAQ,EAAA,CAAA;AAAA,wBAEnE,GAAA,CAAC,UAAW,EAAA,EAAA,EAAA,EAAG,SAAU,EAAA;AAAA,OAC3B,EAAA;AAAA,KACF,EAAA,CAAA;AAAA,wBACC,aAAc,EAAA,EAAA;AAAA,GACjB,EAAA,CAAA;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 { 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 className={clsx(className, styles.header)}>\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":";;;;;;;;;;;;;;;;AAiBa,MAAA,MAAA,GAAiC,CAAC,KAAU,KAAA;AACvD,EAAM,MAAA,EAAE,WAAc,GAAA,KAAA;AACtB,EAAA,MAAM,OAAO,OAAQ,EAAA;AAErB,EAAA,MAAM,qBAAqB,qBAAsB,EAAA;AAEjD,EAAA,MAAM,UACJ,GAAA,IAAA,CAAK,OAAQ,CAAA,MAAA,GAAS,CACtB,IAAA,IAAA,CAAK,cAAe,CAAA,MAAA,GAAS,CAC7B,IAAA,IAAA,CAAK,MACL,IAAA,kBAAA,CAAmB,MAAS,GAAA,CAAA;AAE9B,EAAA,4BACG,OAAQ,EAAA,EAAA,SAAA,EAAW,KAAK,SAAW,EAAAA,YAAA,CAAO,MAAM,CAC/C,EAAA,QAAA,EAAA;AAAA,oBAAC,IAAA,CAAA,OAAA,EAAA,EAAQ,SAAW,EAAAA,YAAA,CAAO,aACzB,EAAA,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,UAAA,EAAA,EAAW,IAAG,SAAU,EAAA,CAAA;AAAA,MACxB,UACC,oBAAA,IAAA,CAAC,OAAQ,EAAA,EAAA,SAAA,EAAWA,aAAO,OAEzB,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,YAAa,EAAA,EAAA,CAAA;AAAA,4BACb,WAAY,EAAA,EAAA,CAAA;AAAA,4BACZ,cAAe,EAAA,EAAA,CAAA;AAAA,4BAGf,YAAa,EAAA,EAAA,CAAA;AAAA,4BACb,kBAAmB,EAAA,EAAA,CAAA;AAAA,QAEnB,KAAK,MAAU,oBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,MAAA,EAAQ,KAAK,MAAQ,EAAA;AAAA,OACpD,EAAA;AAAA,KAEJ,EAAA,CAAA;AAAA,wBACC,aAAc,EAAA,EAAA;AAAA,GACjB,EAAA,CAAA;AAEJ;;;;"}
@@ -1,17 +1,21 @@
1
1
  "use client"
2
2
  /* */
3
3
  const header = "flow--list--header";
4
- const pickerListAndSearch = "flow--list--header--picker-list-and-search";
5
- const pickerList = "flow--list--header--picker-list";
6
- const searchAndActions = "flow--list--header--search-and-actions";
7
- const searchField = "flow--list--header--search-field";
8
- const styles = {
4
+ const headerContent = "flow--list--header--header-content";
5
+ const actions = "flow--list--header--actions";
6
+ const options = "flow--list--header--options";
7
+ const mobile = "flow--list--header--mobile";
8
+ const desktop = "flow--list--header--desktop";
9
+ const action = "flow--list--header--action";
10
+ const headerStyles = {
9
11
  header: header,
10
- pickerListAndSearch: pickerListAndSearch,
11
- pickerList: pickerList,
12
- searchAndActions: searchAndActions,
13
- searchField: searchField
12
+ headerContent: headerContent,
13
+ actions: actions,
14
+ options: options,
15
+ mobile: mobile,
16
+ desktop: desktop,
17
+ action: action
14
18
  };
15
19
 
16
- export { styles as default, header, pickerList, pickerListAndSearch, searchAndActions, searchField };
20
+ export { action, actions, headerStyles as default, desktop, header, headerContent, mobile, options };
17
21
  //# sourceMappingURL=Header.module.css.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Header.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,76 @@
1
+ "use client"
2
+ /* */
3
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
+ import 'react';
5
+ import '@tabler/icons-react';
6
+ import '../../../../../Icon/Icon.mjs';
7
+ import '../../../../../../lib/viewComponentContext/viewComponentContext.mjs';
8
+ import { IconFilter } from '../../../../../Icon/components/icons/IconFilter.mjs';
9
+ import ButtonView from '../../../../../../views/ButtonView.mjs';
10
+ import { ContextMenu } from '../../../../../ContextMenu/ContextMenu.mjs';
11
+ import '../../../../../MenuItem/MenuItem.mjs';
12
+ import { ContextMenuTrigger } from '../../../../../ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs';
13
+ import 'react-aria-components';
14
+ import { ContextMenuSection } from '../../../../../ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs';
15
+ import 'invariant';
16
+ import 'luxon';
17
+ import 'clsx';
18
+ import '../../../../../../lib/propsContext/propsContext.mjs';
19
+ import '@mittwald/react-tunnel';
20
+ import '../../../../../../lib/slotContext/slotContext.mjs';
21
+ import '@react-aria/utils';
22
+ import 'remeda';
23
+ import 'dot-prop';
24
+ import '../../../../../Heading/Heading.mjs';
25
+ import '../../../../../Text/Text.mjs';
26
+ import locales from '../../../../../../../../_virtual/_.locale.json@8d5024994f97657f895a4e2a188d2d8a.mjs';
27
+ import { useLocalizedStringFormatter } from 'react-aria';
28
+ import '../../../../../ColumnLayout/ColumnLayout.mjs';
29
+ import '../../../ListSummary/ListSummary.mjs';
30
+ import { useList } from '../../../../hooks/useList.mjs';
31
+ import '../../../../List.mjs';
32
+ import HeadingView from '../../../../../../views/HeadingView.mjs';
33
+ import { Separator } from '../../../../../Separator/Separator.mjs';
34
+ import { FilterMenuItem } from './FilterMenuItem.mjs';
35
+ import headerStyles from '../../Header.module.css.mjs';
36
+
37
+ const CombinedFilterMenu = () => {
38
+ const list = useList();
39
+ const filters = list.filters;
40
+ const stringFormatter = useLocalizedStringFormatter(locales);
41
+ if (filters.length === 0) {
42
+ return null;
43
+ }
44
+ return /* @__PURE__ */ jsxs(ContextMenuTrigger, { children: [
45
+ /* @__PURE__ */ jsx(
46
+ ButtonView,
47
+ {
48
+ className: headerStyles.mobile,
49
+ variant: "outline",
50
+ color: "secondary",
51
+ "aria-label": stringFormatter.format("list.filters"),
52
+ children: /* @__PURE__ */ jsx(IconFilter, {})
53
+ }
54
+ ),
55
+ /* @__PURE__ */ jsx(ContextMenu, { children: filters.map((f, i) => {
56
+ const activeFilterKeys = f.values.filter((v) => v.isActive).map((v) => v.id);
57
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
58
+ /* @__PURE__ */ jsxs(
59
+ ContextMenuSection,
60
+ {
61
+ selectionMode: f.mode === "one" ? "single" : "multiple",
62
+ selectedKeys: activeFilterKeys,
63
+ children: [
64
+ /* @__PURE__ */ jsx(HeadingView, { children: f.name ?? f.property }),
65
+ f.values.map((v) => /* @__PURE__ */ jsx(FilterMenuItem, { filterValue: v }))
66
+ ]
67
+ }
68
+ ),
69
+ i + 1 < filters.length && /* @__PURE__ */ jsx(Separator, {})
70
+ ] });
71
+ }) })
72
+ ] });
73
+ };
74
+
75
+ export { CombinedFilterMenu };
76
+ //# sourceMappingURL=CombinedFilterMenu.mjs.map
@@ -0,0 +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 ContextMenu, {\n ContextMenuSection,\n ContextMenuTrigger,\n} from \"@/components/ContextMenu\";\nimport { useList } from \"@/components/List\";\nimport HeadingView from \"@/views/HeadingView\";\nimport { Separator } from \"@/components/Separator\";\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\";\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 <ContextMenuTrigger>\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 <ContextMenu>\n {filters.map((f, i) => {\n const activeFilterKeys = f.values\n .filter((v) => v.isActive)\n .map((v) => v.id);\n\n return (\n <>\n <ContextMenuSection\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 filterValue={v} />\n ))}\n </ContextMenuSection>\n {i + 1 < filters.length && <Separator />}\n </>\n );\n })}\n </ContextMenu>\n </ContextMenuTrigger>\n );\n};\n"],"names":["styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,qBAAyB,MAAM;AAC1C,EAAA,MAAM,OAAO,OAAQ,EAAA;AAErB,EAAA,MAAM,UAAU,IAAK,CAAA,OAAA;AAErB,EAAM,MAAA,eAAA,GAAkB,4BAA4B,OAAO,CAAA;AAE3D,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,4BACG,kBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,WAAWA,YAAO,CAAA,MAAA;AAAA,QAClB,OAAQ,EAAA,SAAA;AAAA,QACR,KAAM,EAAA,WAAA;AAAA,QACN,YAAA,EAAY,eAAgB,CAAA,MAAA,CAAO,cAAc,CAAA;AAAA,QAEjD,8BAAC,UAAW,EAAA,EAAA;AAAA;AAAA,KACd;AAAA,wBACC,WACE,EAAA,EAAA,QAAA,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,GAAG,CAAM,KAAA;AACrB,MAAA,MAAM,gBAAmB,GAAA,CAAA,CAAE,MACxB,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,CAAE,CAAA,QAAQ,CACxB,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,EAAE,CAAA;AAElB,MAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,IAAA;AAAA,UAAC,kBAAA;AAAA,UAAA;AAAA,YACC,aAAe,EAAA,CAAA,CAAE,IAAS,KAAA,KAAA,GAAQ,QAAW,GAAA,UAAA;AAAA,YAC7C,YAAc,EAAA,gBAAA;AAAA,YAEd,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,WAAa,EAAA,EAAA,QAAA,EAAA,CAAA,CAAE,IAAQ,IAAA,CAAA,CAAE,QAAS,EAAA,CAAA;AAAA,cAClC,CAAA,CAAE,OAAO,GAAI,CAAA,CAAC,sBACZ,GAAA,CAAA,cAAA,EAAA,EAAe,WAAa,EAAA,CAAA,EAAG,CACjC;AAAA;AAAA;AAAA,SACH;AAAA,QACC,CAAI,GAAA,CAAA,GAAI,OAAQ,CAAA,MAAA,wBAAW,SAAU,EAAA,EAAA;AAAA,OACxC,EAAA,CAAA;AAAA,KAEH,CACH,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
@@ -6,7 +6,6 @@ import '@tabler/icons-react';
6
6
  import '../../../../../Icon/Icon.mjs';
7
7
  import '../../../../../../lib/viewComponentContext/viewComponentContext.mjs';
8
8
  import { IconFilter } from '../../../../../Icon/components/icons/IconFilter.mjs';
9
- import MenuItemView from '../../../../../../views/MenuItemView.mjs';
10
9
  import TextView from '../../../../../../views/TextView.mjs';
11
10
  import ButtonView from '../../../../../../views/ButtonView.mjs';
12
11
  import { ContextMenu } from '../../../../../ContextMenu/ContextMenu.mjs';
@@ -14,37 +13,37 @@ import '../../../../../MenuItem/MenuItem.mjs';
14
13
  import { ContextMenuTrigger } from '../../../../../ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs';
15
14
  import 'react-aria-components';
16
15
  import '../../../../../ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs';
16
+ import { FilterMenuItem } from './FilterMenuItem.mjs';
17
+ import headerStyles from '../../Header.module.css.mjs';
17
18
 
18
- const FilterPicker = (props) => {
19
+ const FilterMenu = (props) => {
19
20
  const { filter } = props;
20
21
  const { values, mode, name, property } = filter;
21
- const items = values.map((v) => /* @__PURE__ */ jsx(
22
- MenuItemView,
23
- {
24
- id: v.id,
25
- onAction: () => {
26
- v.toggle();
27
- },
28
- children: v.render()
29
- },
30
- v.id
31
- ));
22
+ const filterItems = values.map((v) => /* @__PURE__ */ jsx(FilterMenuItem, { filterValue: v }));
32
23
  const activeFilterKeys = values.filter((v) => v.isActive).map((v) => v.id);
33
24
  return /* @__PURE__ */ jsxs(ContextMenuTrigger, { children: [
34
- /* @__PURE__ */ jsxs(ButtonView, { variant: "outline", color: "secondary", children: [
35
- /* @__PURE__ */ jsx(TextView, { children: name ?? property }),
36
- /* @__PURE__ */ jsx(IconFilter, {})
37
- ] }),
25
+ /* @__PURE__ */ jsxs(
26
+ ButtonView,
27
+ {
28
+ className: headerStyles.desktop,
29
+ variant: "outline",
30
+ color: "secondary",
31
+ children: [
32
+ /* @__PURE__ */ jsx(TextView, { children: name ?? property }),
33
+ /* @__PURE__ */ jsx(IconFilter, {})
34
+ ]
35
+ }
36
+ ),
38
37
  /* @__PURE__ */ jsx(
39
38
  ContextMenu,
40
39
  {
41
40
  selectionMode: mode === "one" ? "single" : "multiple",
42
41
  selectedKeys: activeFilterKeys,
43
- children: items
42
+ children: filterItems
44
43
  }
45
44
  )
46
45
  ] });
47
46
  };
48
47
 
49
- export { FilterPicker };
50
- //# sourceMappingURL=FilterPicker.mjs.map
48
+ export { FilterMenu };
49
+ //# sourceMappingURL=FilterMenu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterMenu.mjs","sources":["../../../../../../../../../../src/components/List/components/Header/components/Filters/FilterMenu.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React from \"react\";\nimport type { Filter } from \"@/components/List/model/filter/Filter\";\nimport { IconFilter } from \"@/components/Icon/components/icons\";\nimport TextView from \"@/views/TextView\";\nimport ButtonView from \"@/views/ButtonView\";\nimport ContextMenu, { ContextMenuTrigger } from \"@/components/ContextMenu\";\nimport { FilterMenuItem } from \"@/components/List/components/Header/components/Filters/FilterMenuItem\";\nimport styles from \"@/components/List/components/Header/Header.module.css\";\n\ninterface Props {\n filter: Filter<never, never, never>;\n}\n\nexport const FilterMenu: FC<Props> = (props) => {\n const { filter } = props;\n\n const { values, mode, name, property } = filter;\n\n const filterItems = values.map((v) => <FilterMenuItem filterValue={v} />);\n\n const activeFilterKeys = values.filter((v) => v.isActive).map((v) => v.id);\n\n return (\n <ContextMenuTrigger>\n <ButtonView\n className={styles.desktop}\n variant=\"outline\"\n color=\"secondary\"\n >\n <TextView>{name ?? property}</TextView>\n <IconFilter />\n </ButtonView>\n <ContextMenu\n selectionMode={mode === \"one\" ? \"single\" : \"multiple\"}\n selectedKeys={activeFilterKeys}\n >\n {filterItems}\n </ContextMenu>\n </ContextMenuTrigger>\n );\n};\n"],"names":["styles"],"mappings":";;;;;;;;;;;;;;;;AAca,MAAA,UAAA,GAAwB,CAAC,KAAU,KAAA;AAC9C,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AAEnB,EAAA,MAAM,EAAE,MAAA,EAAQ,IAAM,EAAA,IAAA,EAAM,UAAa,GAAA,MAAA;AAEzC,EAAM,MAAA,WAAA,GAAc,OAAO,GAAI,CAAA,CAAC,sBAAO,GAAA,CAAA,cAAA,EAAA,EAAe,WAAa,EAAA,CAAA,EAAG,CAAE,CAAA;AAExE,EAAA,MAAM,gBAAmB,GAAA,MAAA,CAAO,MAAO,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,QAAQ,CAAA,CAAE,GAAI,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,EAAE,CAAA;AAEzE,EAAA,4BACG,kBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,IAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,WAAWA,YAAO,CAAA,OAAA;AAAA,QAClB,OAAQ,EAAA,SAAA;AAAA,QACR,KAAM,EAAA,WAAA;AAAA,QAEN,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,QAAA,EAAA,EAAU,kBAAQ,QAAS,EAAA,CAAA;AAAA,8BAC3B,UAAW,EAAA,EAAA;AAAA;AAAA;AAAA,KACd;AAAA,oBACA,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAe,IAAS,KAAA,KAAA,GAAQ,QAAW,GAAA,UAAA;AAAA,QAC3C,YAAc,EAAA,gBAAA;AAAA,QAEb,QAAA,EAAA;AAAA;AAAA;AACH,GACF,EAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,23 @@
1
+ "use client"
2
+ /* */
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import MenuItemView from '../../../../../../views/MenuItemView.mjs';
5
+ import 'react';
6
+
7
+ const FilterMenuItem = (props) => {
8
+ const { filterValue } = props;
9
+ return /* @__PURE__ */ jsx(
10
+ MenuItemView,
11
+ {
12
+ id: filterValue.id,
13
+ onAction: () => {
14
+ filterValue.toggle();
15
+ },
16
+ children: filterValue.render()
17
+ },
18
+ filterValue.id
19
+ );
20
+ };
21
+
22
+ export { FilterMenuItem };
23
+ //# sourceMappingURL=FilterMenuItem.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterMenuItem.mjs","sources":["../../../../../../../../../../src/components/List/components/Header/components/Filters/FilterMenuItem.tsx"],"sourcesContent":["import MenuItemView from \"@/views/MenuItemView\";\nimport React, { type FC } from \"react\";\nimport type { FilterValue } from \"@/components/List/model/filter/FilterValue\";\n\ninterface Props {\n filterValue: FilterValue;\n}\n\nexport const FilterMenuItem: FC<Props> = (props) => {\n const { filterValue } = props;\n\n return (\n <MenuItemView\n id={filterValue.id}\n key={filterValue.id}\n onAction={() => {\n filterValue.toggle();\n }}\n >\n {filterValue.render()}\n </MenuItemView>\n );\n};\n"],"names":[],"mappings":";;;;AAQa,MAAA,cAAA,GAA4B,CAAC,KAAU,KAAA;AAClD,EAAM,MAAA,EAAE,aAAgB,GAAA,KAAA;AAExB,EACE,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,IAAI,WAAY,CAAA,EAAA;AAAA,MAEhB,UAAU,MAAM;AACd,QAAA,WAAA,CAAY,MAAO,EAAA;AAAA,OACrB;AAAA,MAEC,sBAAY,MAAO;AAAA,KAAA;AAAA,IALf,WAAY,CAAA;AAAA,GAMnB;AAEJ;;;;"}
@@ -0,0 +1,38 @@
1
+ "use client"
2
+ /* */
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import 'react';
5
+ import 'invariant';
6
+ import 'luxon';
7
+ import 'react-aria-components';
8
+ import 'clsx';
9
+ import '../../../../../../lib/propsContext/propsContext.mjs';
10
+ import '../../../../../../lib/viewComponentContext/viewComponentContext.mjs';
11
+ import '@mittwald/react-tunnel';
12
+ import '../../../../../../lib/slotContext/slotContext.mjs';
13
+ import '@react-aria/utils';
14
+ import 'remeda';
15
+ import 'dot-prop';
16
+ import '@tabler/icons-react';
17
+ import '../../../../../Icon/Icon.mjs';
18
+ import '../../../../../Heading/Heading.mjs';
19
+ import '../../../../../Text/Text.mjs';
20
+ import 'react-aria';
21
+ import '../../../../../Button/Button.mjs';
22
+ import '../../../../../ContextMenu/ContextMenu.mjs';
23
+ import '../../../../../MenuItem/MenuItem.mjs';
24
+ import '../../../../../ContextMenu/components/ContextMenuTrigger/ContextMenuTrigger.mjs';
25
+ import '../../../../../ContextMenu/components/ContextMenuSection/ContextMenuSection.mjs';
26
+ import '../../../../../ColumnLayout/ColumnLayout.mjs';
27
+ import '../../../ListSummary/ListSummary.mjs';
28
+ import { useList } from '../../../../hooks/useList.mjs';
29
+ import '../../../../List.mjs';
30
+ import { FilterMenu } from './FilterMenu.mjs';
31
+
32
+ const FilterMenuList = () => {
33
+ const list = useList();
34
+ return list.filters.map((filter) => /* @__PURE__ */ jsx(FilterMenu, { filter }, filter.property));
35
+ };
36
+
37
+ export { FilterMenuList };
38
+ //# sourceMappingURL=FilterMenuList.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterMenuList.mjs","sources":["../../../../../../../../../../src/components/List/components/Header/components/Filters/FilterMenuList.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React from \"react\";\nimport { useList } from \"@/components/List\";\nimport { FilterMenu } from \"@/components/List/components/Header/components/Filters/FilterMenu\";\n\nexport const FilterMenuList: FC = () => {\n const list = useList();\n\n return list.filters.map((filter) => (\n <FilterMenu key={filter.property} filter={filter} />\n ));\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,iBAAqB,MAAM;AACtC,EAAA,MAAM,OAAO,OAAQ,EAAA;AAErB,EAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,GAAA,CAAI,CAAC,MAAA,yBACtB,UAAiC,EAAA,EAAA,MAAA,EAAA,EAAjB,MAAO,CAAA,QAA0B,CACnD,CAAA;AACH;;;;"}
@@ -13,10 +13,11 @@ import '../../../../../../lib/slotContext/slotContext.mjs';
13
13
  import '../../../../../../lib/viewComponentContext/viewComponentContext.mjs';
14
14
  import 'dot-prop';
15
15
  import SearchFieldView from '../../../../../../views/SearchFieldView.mjs';
16
+ import styles from './SearchField.module.scss.mjs';
16
17
 
17
18
  const autoSubmitTimeout = 800;
18
19
  const DefaultSearchFieldRender = (props) => {
19
- const { className, onChange, value, autoSubmit, ...searchFieldProps } = props;
20
+ const { onChange, value, autoSubmit, ...searchFieldProps } = props;
20
21
  const [searchString, setSearchString] = useState(value ?? "");
21
22
  const submitSearch = () => {
22
23
  if (searchString.trim() === "") {
@@ -48,7 +49,7 @@ const DefaultSearchFieldRender = (props) => {
48
49
  return /* @__PURE__ */ jsx(
49
50
  SearchFieldView,
50
51
  {
51
- className,
52
+ className: styles.searchField,
52
53
  value: searchString,
53
54
  onKeyUp: handleKeyPress,
54
55
  onChange: (value2) => setSearchString(value2),
@@ -58,10 +59,9 @@ const DefaultSearchFieldRender = (props) => {
58
59
  );
59
60
  };
60
61
  const SearchField = (props) => {
61
- const { className, search } = props;
62
+ const { search } = props;
62
63
  const render = search.render ?? DefaultSearchFieldRender;
63
64
  return createElement(render, {
64
- className,
65
65
  value: search.value,
66
66
  onChange: search.setValue.bind(search),
67
67
  ...search.textFieldProps
@@ -1 +1 @@
1
- {"version":3,"file":"SearchField.mjs","sources":["../../../../../../../../../../src/components/List/components/Header/components/SearchField/SearchField.tsx"],"sourcesContent":["import type { FC, KeyboardEvent } from \"react\";\nimport React, { createElement, useEffect, useState } from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport type { Search } from \"@/components/List/model/search/Search\";\nimport type { SearchFieldRenderComponent } from \"@/components/List/model/search/types\";\nimport { useOnChange } from \"@/lib/hooks\";\nimport SearchFieldView from \"@/views/SearchFieldView\";\n\ninterface Props extends PropsWithClassName {\n search: Search<never>;\n}\n\nconst autoSubmitTimeout = 800;\n\nconst DefaultSearchFieldRender: SearchFieldRenderComponent = (props) => {\n const { className, onChange, value, autoSubmit, ...searchFieldProps } = props;\n\n const [searchString, setSearchString] = useState(value ?? \"\");\n\n const submitSearch = () => {\n if (searchString.trim() === \"\") {\n onChange(undefined);\n } else {\n onChange(searchString);\n }\n };\n\n useEffect(() => {\n if (autoSubmit) {\n const timeout = setTimeout(() => submitSearch(), autoSubmitTimeout);\n return () => clearTimeout(timeout);\n }\n }, [searchString, autoSubmit]);\n\n useOnChange(value, () => {\n setSearchString(value ?? \"\");\n }, [searchString]);\n\n const clearSearch = () => {\n onChange(undefined);\n setSearchString(\"\");\n };\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n submitSearch();\n } else if (e.key === \"Escape\") {\n clearSearch();\n }\n };\n\n return (\n <SearchFieldView\n className={className}\n value={searchString}\n onKeyUp={handleKeyPress}\n onChange={(value) => setSearchString(value)}\n onClear={clearSearch}\n {...searchFieldProps}\n />\n );\n};\n\nexport const SearchField: FC<Props> = (props) => {\n const { className, search } = props;\n const render = search.render ?? DefaultSearchFieldRender;\n\n return createElement(render, {\n className,\n value: search.value,\n onChange: search.setValue.bind(search),\n ...search.textFieldProps,\n });\n};\n"],"names":["value"],"mappings":";;;;;;;;;;;;;;AAYA,MAAM,iBAAoB,GAAA,GAAA;AAE1B,MAAM,wBAAA,GAAuD,CAAC,KAAU,KAAA;AACtE,EAAA,MAAM,EAAE,SAAW,EAAA,QAAA,EAAU,OAAO,UAAY,EAAA,GAAG,kBAAqB,GAAA,KAAA;AAExE,EAAA,MAAM,CAAC,YAAc,EAAA,eAAe,CAAI,GAAA,QAAA,CAAS,SAAS,EAAE,CAAA;AAE5D,EAAA,MAAM,eAAe,MAAM;AACzB,IAAI,IAAA,YAAA,CAAa,IAAK,EAAA,KAAM,EAAI,EAAA;AAC9B,MAAA,QAAA,CAAS,MAAS,CAAA;AAAA,KACb,MAAA;AACL,MAAA,QAAA,CAAS,YAAY,CAAA;AAAA;AACvB,GACF;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,UAAY,EAAA;AACd,MAAA,MAAM,OAAU,GAAA,UAAA,CAAW,MAAM,YAAA,IAAgB,iBAAiB,CAAA;AAClE,MAAO,OAAA,MAAM,aAAa,OAAO,CAAA;AAAA;AACnC,GACC,EAAA,CAAC,YAAc,EAAA,UAAU,CAAC,CAAA;AAE7B,EAAA,WAAA,CAAY,OAAO,MAAM;AACvB,IAAA,eAAA,CAAgB,SAAS,EAAE,CAAA;AAAA,GAC7B,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,QAAA,CAAS,MAAS,CAAA;AAClB,IAAA,eAAA,CAAgB,EAAE,CAAA;AAAA,GACpB;AAEA,EAAM,MAAA,cAAA,GAAiB,CAAC,CAAqB,KAAA;AAC3C,IAAI,IAAA,CAAA,CAAE,QAAQ,OAAS,EAAA;AACrB,MAAa,YAAA,EAAA;AAAA,KACf,MAAA,IAAW,CAAE,CAAA,GAAA,KAAQ,QAAU,EAAA;AAC7B,MAAY,WAAA,EAAA;AAAA;AACd,GACF;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,KAAO,EAAA,YAAA;AAAA,MACP,OAAS,EAAA,cAAA;AAAA,MACT,QAAU,EAAA,CAACA,MAAU,KAAA,eAAA,CAAgBA,MAAK,CAAA;AAAA,MAC1C,OAAS,EAAA,WAAA;AAAA,MACR,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAEa,MAAA,WAAA,GAAyB,CAAC,KAAU,KAAA;AAC/C,EAAM,MAAA,EAAE,SAAW,EAAA,MAAA,EAAW,GAAA,KAAA;AAC9B,EAAM,MAAA,MAAA,GAAS,OAAO,MAAU,IAAA,wBAAA;AAEhC,EAAA,OAAO,cAAc,MAAQ,EAAA;AAAA,IAC3B,SAAA;AAAA,IACA,OAAO,MAAO,CAAA,KAAA;AAAA,IACd,QAAU,EAAA,MAAA,CAAO,QAAS,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,IACrC,GAAG,MAAO,CAAA;AAAA,GACX,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"SearchField.mjs","sources":["../../../../../../../../../../src/components/List/components/Header/components/SearchField/SearchField.tsx"],"sourcesContent":["import type { FC, KeyboardEvent } from \"react\";\nimport React, { createElement, useEffect, useState } from \"react\";\nimport type { PropsWithClassName } from \"@/lib/types/props\";\nimport type { Search } from \"@/components/List/model/search/Search\";\nimport type { SearchFieldRenderComponent } from \"@/components/List/model/search/types\";\nimport { useOnChange } from \"@/lib/hooks\";\nimport SearchFieldView from \"@/views/SearchFieldView\";\nimport styles from \"./SearchField.module.scss\";\n\ninterface Props extends PropsWithClassName {\n search: Search<never>;\n}\n\nconst autoSubmitTimeout = 800;\n\nconst DefaultSearchFieldRender: SearchFieldRenderComponent = (props) => {\n const { onChange, value, autoSubmit, ...searchFieldProps } = props;\n\n const [searchString, setSearchString] = useState(value ?? \"\");\n\n const submitSearch = () => {\n if (searchString.trim() === \"\") {\n onChange(undefined);\n } else {\n onChange(searchString);\n }\n };\n\n useEffect(() => {\n if (autoSubmit) {\n const timeout = setTimeout(() => submitSearch(), autoSubmitTimeout);\n return () => clearTimeout(timeout);\n }\n }, [searchString, autoSubmit]);\n\n useOnChange(value, () => {\n setSearchString(value ?? \"\");\n }, [searchString]);\n\n const clearSearch = () => {\n onChange(undefined);\n setSearchString(\"\");\n };\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n submitSearch();\n } else if (e.key === \"Escape\") {\n clearSearch();\n }\n };\n\n return (\n <SearchFieldView\n className={styles.searchField}\n value={searchString}\n onKeyUp={handleKeyPress}\n onChange={(value) => setSearchString(value)}\n onClear={clearSearch}\n {...searchFieldProps}\n />\n );\n};\n\nexport const SearchField: FC<Props> = (props) => {\n const { search } = props;\n const render = search.render ?? DefaultSearchFieldRender;\n\n return createElement(render, {\n value: search.value,\n onChange: search.setValue.bind(search),\n ...search.textFieldProps,\n });\n};\n"],"names":["value"],"mappings":";;;;;;;;;;;;;;;AAaA,MAAM,iBAAoB,GAAA,GAAA;AAE1B,MAAM,wBAAA,GAAuD,CAAC,KAAU,KAAA;AACtE,EAAA,MAAM,EAAE,QAAU,EAAA,KAAA,EAAO,UAAY,EAAA,GAAG,kBAAqB,GAAA,KAAA;AAE7D,EAAA,MAAM,CAAC,YAAc,EAAA,eAAe,CAAI,GAAA,QAAA,CAAS,SAAS,EAAE,CAAA;AAE5D,EAAA,MAAM,eAAe,MAAM;AACzB,IAAI,IAAA,YAAA,CAAa,IAAK,EAAA,KAAM,EAAI,EAAA;AAC9B,MAAA,QAAA,CAAS,MAAS,CAAA;AAAA,KACb,MAAA;AACL,MAAA,QAAA,CAAS,YAAY,CAAA;AAAA;AACvB,GACF;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,UAAY,EAAA;AACd,MAAA,MAAM,OAAU,GAAA,UAAA,CAAW,MAAM,YAAA,IAAgB,iBAAiB,CAAA;AAClE,MAAO,OAAA,MAAM,aAAa,OAAO,CAAA;AAAA;AACnC,GACC,EAAA,CAAC,YAAc,EAAA,UAAU,CAAC,CAAA;AAE7B,EAAA,WAAA,CAAY,OAAO,MAAM;AACvB,IAAA,eAAA,CAAgB,SAAS,EAAE,CAAA;AAAA,GAC7B,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,QAAA,CAAS,MAAS,CAAA;AAClB,IAAA,eAAA,CAAgB,EAAE,CAAA;AAAA,GACpB;AAEA,EAAM,MAAA,cAAA,GAAiB,CAAC,CAAqB,KAAA;AAC3C,IAAI,IAAA,CAAA,CAAE,QAAQ,OAAS,EAAA;AACrB,MAAa,YAAA,EAAA;AAAA,KACf,MAAA,IAAW,CAAE,CAAA,GAAA,KAAQ,QAAU,EAAA;AAC7B,MAAY,WAAA,EAAA;AAAA;AACd,GACF;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,WAAW,MAAO,CAAA,WAAA;AAAA,MAClB,KAAO,EAAA,YAAA;AAAA,MACP,OAAS,EAAA,cAAA;AAAA,MACT,QAAU,EAAA,CAACA,MAAU,KAAA,eAAA,CAAgBA,MAAK,CAAA;AAAA,MAC1C,OAAS,EAAA,WAAA;AAAA,MACR,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAEa,MAAA,WAAA,GAAyB,CAAC,KAAU,KAAA;AAC/C,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AACnB,EAAM,MAAA,MAAA,GAAS,OAAO,MAAU,IAAA,wBAAA;AAEhC,EAAA,OAAO,cAAc,MAAQ,EAAA;AAAA,IAC3B,OAAO,MAAO,CAAA,KAAA;AAAA,IACd,QAAU,EAAA,MAAA,CAAO,QAAS,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,IACrC,GAAG,MAAO,CAAA;AAAA,GACX,CAAA;AACH;;;;"}
@@ -0,0 +1,9 @@
1
+ "use client"
2
+ /* */
3
+ const searchField = "flow--list--header--search-field";
4
+ const styles = {
5
+ searchField: searchField
6
+ };
7
+
8
+ export { styles as default, searchField };
9
+ //# sourceMappingURL=SearchField.module.scss.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchField.module.scss.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}