@mittwald/flow-react-components 0.2.0-alpha.756 → 0.2.0-alpha.758

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 (79) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/assets/doc-properties.json +5303 -5284
  3. package/dist/css/all.css +1 -1
  4. package/dist/js/packages/components/src/components/List/List.mjs +2 -2
  5. package/dist/js/packages/components/src/components/List/List.mjs.map +1 -1
  6. package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +7 -5
  7. package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs.map +1 -1
  8. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.mjs +2 -2
  9. package/dist/js/packages/components/src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.mjs.map +1 -1
  10. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.mjs +1 -1
  11. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeContextMenu.mjs.map +1 -1
  12. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.mjs +1 -1
  13. package/dist/js/packages/components/src/components/List/components/Header/components/ViewModeContextMenu/ViewModeMenuItem.mjs.map +1 -1
  14. package/dist/js/packages/components/src/components/List/components/Items/Items.mjs +2 -2
  15. package/dist/js/packages/components/src/components/List/components/Items/Items.mjs.map +1 -1
  16. package/dist/js/packages/components/src/components/List/components/Items/components/FallbackItems/FallbackItems.mjs +1 -1
  17. package/dist/js/packages/components/src/components/List/components/Items/components/FallbackItems/FallbackItems.mjs.map +1 -1
  18. package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.mjs +9 -3
  19. package/dist/js/packages/components/src/components/List/components/Items/components/Item/Item.mjs.map +1 -1
  20. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs +2 -2
  21. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
  22. package/dist/js/packages/components/src/components/List/model/List.mjs +11 -98
  23. package/dist/js/packages/components/src/components/List/model/List.mjs.map +1 -1
  24. package/dist/js/packages/components/src/components/List/model/ListSettingsStore.mjs +90 -0
  25. package/dist/js/packages/components/src/components/List/model/ListSettingsStore.mjs.map +1 -0
  26. package/dist/js/packages/components/src/components/List/model/ListViewMode.mjs +38 -0
  27. package/dist/js/packages/components/src/components/List/model/ListViewMode.mjs.map +1 -0
  28. package/dist/js/packages/components/src/components/List/model/ReactTable.mjs +4 -3
  29. package/dist/js/packages/components/src/components/List/model/ReactTable.mjs.map +1 -1
  30. package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs +62 -46
  31. package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs.map +1 -1
  32. package/dist/js/packages/components/src/components/List/model/search/Search.mjs +16 -5
  33. package/dist/js/packages/components/src/components/List/model/search/Search.mjs.map +1 -1
  34. package/dist/js/packages/components/src/components/List/model/sorting/Sorting.mjs +35 -20
  35. package/dist/js/packages/components/src/components/List/model/sorting/Sorting.mjs.map +1 -1
  36. package/dist/js/packages/components/src/components/List/model/types.mjs.map +1 -1
  37. package/dist/js/packages/components/src/components/SettingsProvider/SettingsProvider.mjs +5 -5
  38. package/dist/js/packages/components/src/components/SettingsProvider/SettingsProvider.mjs.map +1 -1
  39. package/dist/js/packages/components/src/components/SettingsProvider/middleware/defaultImplementations.mjs +9 -0
  40. package/dist/js/packages/components/src/components/SettingsProvider/middleware/defaultImplementations.mjs.map +1 -0
  41. package/dist/js/packages/components/src/components/SettingsProvider/models/SettingsStore.mjs +55 -13
  42. package/dist/js/packages/components/src/components/SettingsProvider/models/SettingsStore.mjs.map +1 -1
  43. package/dist/types/components/List/List.d.ts.map +1 -1
  44. package/dist/types/components/List/components/Header/components/ActiveFilters/ActiveFilters.d.ts.map +1 -1
  45. package/dist/types/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.d.ts.map +1 -1
  46. package/dist/types/components/List/components/Items/components/Item/Item.d.ts.map +1 -1
  47. package/dist/types/components/List/model/List.d.ts +6 -28
  48. package/dist/types/components/List/model/List.d.ts.map +1 -1
  49. package/dist/types/components/List/model/ListSettingsStore.d.ts +63 -0
  50. package/dist/types/components/List/model/ListSettingsStore.d.ts.map +1 -0
  51. package/dist/types/components/List/model/ListViewMode.d.ts +19 -0
  52. package/dist/types/components/List/model/ListViewMode.d.ts.map +1 -0
  53. package/dist/types/components/List/model/ReactTable.d.ts.map +1 -1
  54. package/dist/types/components/List/model/filter/Filter.d.ts +9 -9
  55. package/dist/types/components/List/model/filter/Filter.d.ts.map +1 -1
  56. package/dist/types/components/List/model/filter/types.d.ts +1 -6
  57. package/dist/types/components/List/model/filter/types.d.ts.map +1 -1
  58. package/dist/types/components/List/model/search/Search.d.ts +3 -1
  59. package/dist/types/components/List/model/search/Search.d.ts.map +1 -1
  60. package/dist/types/components/List/model/search/types.d.ts +1 -0
  61. package/dist/types/components/List/model/search/types.d.ts.map +1 -1
  62. package/dist/types/components/List/model/sorting/Sorting.d.ts +3 -10
  63. package/dist/types/components/List/model/sorting/Sorting.d.ts.map +1 -1
  64. package/dist/types/components/List/model/sorting/types.d.ts +1 -0
  65. package/dist/types/components/List/model/sorting/types.d.ts.map +1 -1
  66. package/dist/types/components/List/model/types.d.ts +3 -0
  67. package/dist/types/components/List/model/types.d.ts.map +1 -1
  68. package/dist/types/components/List/stories/Default.stories.d.ts.map +1 -1
  69. package/dist/types/components/SettingsProvider/SettingsProvider.browser.test.d.ts +2 -0
  70. package/dist/types/components/SettingsProvider/SettingsProvider.browser.test.d.ts.map +1 -0
  71. package/dist/types/components/SettingsProvider/SettingsProvider.d.ts +2 -2
  72. package/dist/types/components/SettingsProvider/SettingsProvider.d.ts.map +1 -1
  73. package/dist/types/components/SettingsProvider/middleware/defaultImplementations.d.ts +4 -0
  74. package/dist/types/components/SettingsProvider/middleware/defaultImplementations.d.ts.map +1 -0
  75. package/dist/types/components/SettingsProvider/middleware/types.d.ts +6 -0
  76. package/dist/types/components/SettingsProvider/middleware/types.d.ts.map +1 -0
  77. package/dist/types/components/SettingsProvider/models/SettingsStore.d.ts +12 -3
  78. package/dist/types/components/SettingsProvider/models/SettingsStore.d.ts.map +1 -1
  79. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"Sorting.mjs","sources":["../../../../../../../../../src/components/List/model/sorting/Sorting.ts"],"sourcesContent":["import type List from \"@/components/List/model/List\";\nimport type {\n SortingDefaultMode,\n SortingShape,\n} from \"@/components/List/model/sorting/types\";\nimport type { PropertyName } from \"@/components/List/model/types\";\nimport type {\n Column,\n ColumnDef,\n ColumnSort,\n SortDirection,\n SortingFn,\n} from \"@tanstack/react-table\";\nimport z from \"zod\";\n\nexport class Sorting<T> {\n public static readonly storageSchema = z\n .object({\n direction: z.enum([\"asc\", \"desc\"]),\n property: z.string().or(z.number()),\n })\n .optional();\n public readonly list: List<T>;\n public readonly property: PropertyName<T>;\n public readonly name?: string;\n public readonly directionName?: string;\n public readonly direction: SortDirection;\n public readonly defaultEnabled: SortingDefaultMode;\n public readonly customSortingFn?: SortingFn<T>;\n\n public constructor(list: List<T>, shape: SortingShape<T>) {\n this.list = list;\n this.property = shape.property;\n this.name = shape.name;\n this.directionName = shape.directionName;\n this.direction = shape.direction ?? \"asc\";\n const storedDefaultEnabled = this.getStoredDefaultEnabled();\n this.defaultEnabled =\n shape.defaultEnabled === \"hidden\"\n ? \"hidden\"\n : (storedDefaultEnabled ?? shape.defaultEnabled ?? false);\n this.customSortingFn = shape.customSortingFn;\n }\n\n private getStoredDefaultEnabled() {\n const storedSorting = this.list.getStoredSortingDefaultSetting();\n if (!storedSorting) {\n return undefined;\n }\n return (\n storedSorting.property === this.property &&\n storedSorting.direction === this.direction\n );\n }\n\n public updateTableColumnDef(def: ColumnDef<T>): void {\n def.enableSorting = true;\n if (this.customSortingFn) {\n def.sortingFn = this.customSortingFn;\n }\n }\n\n public getReactTableColumnSort(): ColumnSort {\n return {\n id: this.property as string,\n desc: this.direction === \"desc\",\n };\n }\n\n public isSorted(): boolean {\n const col = this.getTableColumn();\n return col.getIsSorted() == this.direction;\n }\n\n public getTableColumn(): Column<T> {\n return this.list.reactTable.getTableColumn(this.property);\n }\n\n public enable(): void {\n this.list.reactTable\n .getTableColumn(this.property)\n .toggleSorting(this.direction === \"desc\", false);\n this.list.storeSortingSettings(this);\n }\n\n public clear(): void {\n this.list.reactTable.getTableColumn(this.property).clearSorting();\n }\n\n public get id(): string {\n return `${this.getTableColumn().id}:${this.direction}`;\n }\n}\n"],"names":[],"mappings":";;AAeO,MAAM,OAAA,CAAW;AAAA,EACtB,OAAuB,aAAA,GAAgB,CAAA,CACpC,MAAA,CAAO;AAAA,IACN,WAAW,CAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAM,CAAC,CAAA;AAAA,IACjC,UAAU,CAAA,CAAE,MAAA,GAAS,EAAA,CAAG,CAAA,CAAE,QAAQ;AAAA,GACnC,EACA,QAAA,EAAS;AAAA,EACI,IAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EAET,WAAA,CAAY,MAAe,KAAA,EAAwB;AACxD,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AACZ,IAAA,IAAA,CAAK,WAAW,KAAA,CAAM,QAAA;AACtB,IAAA,IAAA,CAAK,OAAO,KAAA,CAAM,IAAA;AAClB,IAAA,IAAA,CAAK,gBAAgB,KAAA,CAAM,aAAA;AAC3B,IAAA,IAAA,CAAK,SAAA,GAAY,MAAM,SAAA,IAAa,KAAA;AACpC,IAAA,MAAM,oBAAA,GAAuB,KAAK,uBAAA,EAAwB;AAC1D,IAAA,IAAA,CAAK,iBACH,KAAA,CAAM,cAAA,KAAmB,WACrB,QAAA,GACC,oBAAA,IAAwB,MAAM,cAAA,IAAkB,KAAA;AACvD,IAAA,IAAA,CAAK,kBAAkB,KAAA,CAAM,eAAA;AAAA,EAC/B;AAAA,EAEQ,uBAAA,GAA0B;AAChC,IAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,IAAA,CAAK,8BAAA,EAA+B;AAC/D,IAAA,IAAI,CAAC,aAAA,EAAe;AAClB,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,OACE,cAAc,QAAA,KAAa,IAAA,CAAK,QAAA,IAChC,aAAA,CAAc,cAAc,IAAA,CAAK,SAAA;AAAA,EAErC;AAAA,EAEO,qBAAqB,GAAA,EAAyB;AACnD,IAAA,GAAA,CAAI,aAAA,GAAgB,IAAA;AACpB,IAAA,IAAI,KAAK,eAAA,EAAiB;AACxB,MAAA,GAAA,CAAI,YAAY,IAAA,CAAK,eAAA;AAAA,IACvB;AAAA,EACF;AAAA,EAEO,uBAAA,GAAsC;AAC3C,IAAA,OAAO;AAAA,MACL,IAAI,IAAA,CAAK,QAAA;AAAA,MACT,IAAA,EAAM,KAAK,SAAA,KAAc;AAAA,KAC3B;AAAA,EACF;AAAA,EAEO,QAAA,GAAoB;AACzB,IAAA,MAAM,GAAA,GAAM,KAAK,cAAA,EAAe;AAChC,IAAA,OAAO,GAAA,CAAI,WAAA,EAAY,IAAK,IAAA,CAAK,SAAA;AAAA,EACnC;AAAA,EAEO,cAAA,GAA4B;AACjC,IAAA,OAAO,IAAA,CAAK,IAAA,CAAK,UAAA,CAAW,cAAA,CAAe,KAAK,QAAQ,CAAA;AAAA,EAC1D;AAAA,EAEO,MAAA,GAAe;AACpB,IAAA,IAAA,CAAK,IAAA,CAAK,UAAA,CACP,cAAA,CAAe,IAAA,CAAK,QAAQ,EAC5B,aAAA,CAAc,IAAA,CAAK,SAAA,KAAc,MAAA,EAAQ,KAAK,CAAA;AACjD,IAAA,IAAA,CAAK,IAAA,CAAK,qBAAqB,IAAI,CAAA;AAAA,EACrC;AAAA,EAEO,KAAA,GAAc;AACnB,IAAA,IAAA,CAAK,KAAK,UAAA,CAAW,cAAA,CAAe,IAAA,CAAK,QAAQ,EAAE,YAAA,EAAa;AAAA,EAClE;AAAA,EAEA,IAAW,EAAA,GAAa;AACtB,IAAA,OAAO,GAAG,IAAA,CAAK,cAAA,GAAiB,EAAE,CAAA,CAAA,EAAI,KAAK,SAAS,CAAA,CAAA;AAAA,EACtD;AACF;;;;"}
1
+ {"version":3,"file":"Sorting.mjs","sources":["../../../../../../../../../src/components/List/model/sorting/Sorting.ts"],"sourcesContent":["import type List from \"@/components/List/model/List\";\nimport type {\n SortingDefaultMode,\n SortingShape,\n} from \"@/components/List/model/sorting/types\";\nimport type { PropertyName } from \"@/components/List/model/types\";\nimport type {\n Column,\n ColumnDef,\n ColumnSort,\n SortDirection,\n SortingFn,\n} from \"@tanstack/react-table\";\n\nexport class Sorting<T> {\n public readonly list: List<T>;\n public readonly property: PropertyName<T>;\n public readonly name?: string;\n public readonly directionName?: string;\n public readonly direction: SortDirection;\n public readonly initialEnabled: SortingDefaultMode;\n public readonly customSortingFn?: SortingFn<T>;\n public readonly autosave: boolean;\n\n public constructor(list: List<T>, shape: SortingShape<T>) {\n const {\n property,\n name,\n directionName,\n direction = \"asc\",\n customSortingFn,\n autosave = true,\n } = shape;\n\n this.autosave = autosave;\n this.list = list;\n this.property = property;\n this.name = name;\n this.directionName = directionName;\n this.direction = direction;\n this.customSortingFn = customSortingFn;\n this.initialEnabled = this.getInitialEnabled(shape);\n }\n\n private getInitialEnabled(shape: SortingShape<T>): boolean {\n if (shape.defaultEnabled === \"hidden\") {\n return false;\n }\n\n const storedSorting = this.list.settingsStorage?.get(\"sorting\", {\n autosave: this.autosave,\n });\n\n const storedEnabled = storedSorting\n ? storedSorting.property === this.property &&\n storedSorting.direction === this.direction\n : undefined;\n\n return storedEnabled ?? shape.defaultEnabled ?? false;\n }\n\n public updateTableColumnDef(def: ColumnDef<T>): void {\n def.enableSorting = true;\n if (this.customSortingFn) {\n def.sortingFn = this.customSortingFn;\n }\n }\n\n public getReactTableColumnSort(): ColumnSort {\n return {\n id: this.property as string,\n desc: this.direction === \"desc\",\n };\n }\n\n public isSorted(): boolean {\n const col = this.getTableColumn();\n return col.getIsSorted() == this.direction;\n }\n\n public getTableColumn(): Column<T> {\n return this.list.reactTable.getTableColumn(this.property);\n }\n\n public enable(): void {\n this.list.reactTable\n .getTableColumn(this.property)\n .toggleSorting(this.direction === \"desc\", false);\n\n this.list.settingsStorage?.store(\n \"sorting\",\n {\n property: this.property,\n direction: this.direction,\n },\n {\n autosave: this.autosave,\n },\n );\n }\n\n public clear(): void {\n this.list.reactTable.getTableColumn(this.property).clearSorting();\n }\n\n public get id(): string {\n return `${this.getTableColumn().id}:${this.direction}`;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":["../../../../../../../../src/components/List/model/types.ts"],"sourcesContent":["import type { FilterShape } from \"@/components/List/model/filter/types\";\nimport type { ItemViewShape } from \"@/components/List/model/item/ItemView\";\nimport type List from \"@/components/List/model/List\";\nimport type { IncrementalLoaderShape } from \"@/components/List/model/loading/types\";\nimport type { BatchesControllerShape } from \"@/components/List/model/pagination/types\";\nimport type { SearchShape } from \"@/components/List/model/search/types\";\nimport type { SortingShape } from \"@/components/List/model/sorting/types\";\nimport type { TableShape } from \"@/components/List/model/table/types\";\nimport type { ItemType } from \"@/lib/types/array\";\nimport type { MultipleSelection, SelectionBehavior } from \"@react-types/shared\";\nimport type { DeepKeys, DeepValue } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nexport const customPropertyPrefix = \"$\" as const;\nexport type CustomPropertyName = `${typeof customPropertyPrefix}${string}`;\n\nexport type PropertyName<T> = DeepKeys<T> | CustomPropertyName;\nexport type PropertyValue<T, TProp> = TProp extends CustomPropertyName\n ? T\n : DeepValue<T, TProp>;\nexport type PropertyValueRenderMethod<TMatcherValue> = (\n prop: NonNullable<ItemType<TMatcherValue>>,\n) => ReactNode;\n\nexport type OnListChanged<T, TMeta = unknown> = (list: List<T, TMeta>) => void;\n\nexport interface ListSupportedComponentProps extends MultipleSelection {\n \"aria-labelledby\"?: string;\n \"aria-label\"?: string;\n selectionBehavior?: SelectionBehavior;\n}\n\nexport interface ListShape<\n T,\n TMeta = unknown,\n> extends ListSupportedComponentProps {\n settingStorageKey?: string;\n\n loader?: IncrementalLoaderShape<T>;\n filters?: FilterShape<T, never, never>[];\n itemView?: ItemViewShape<T>;\n search?: SearchShape<T>;\n sorting?: SortingShape<T>[];\n batchesController?: BatchesControllerShape;\n table?: TableShape<T>;\n\n onAction?: ItemActionFn<T>;\n accordion?: boolean;\n loadingItemsCount?: number;\n getItemId?: GetItemId<T>;\n onChange?: OnListChanged<T, TMeta>;\n defaultViewMode?: ListViewMode;\n}\n\nexport type PropertyRecord<T, TValue> = Partial<\n Record<PropertyName<T>, TValue>\n>;\n\nexport type ListViewMode = \"table\" | \"list\" | \"tiles\";\nexport type ItemActionFn<T> = (data: T) => void;\nexport type GetItemId<T> = (data: T) => string;\n"],"names":[],"mappings":"AAaO,MAAM,oBAAA,GAAuB;;;;"}
1
+ {"version":3,"file":"types.mjs","sources":["../../../../../../../../src/components/List/model/types.ts"],"sourcesContent":["import type { FilterShape } from \"@/components/List/model/filter/types\";\nimport type { ItemViewShape } from \"@/components/List/model/item/ItemView\";\nimport type List from \"@/components/List/model/List\";\nimport type { IncrementalLoaderShape } from \"@/components/List/model/loading/types\";\nimport type { BatchesControllerShape } from \"@/components/List/model/pagination/types\";\nimport type { SearchShape } from \"@/components/List/model/search/types\";\nimport type { SortingShape } from \"@/components/List/model/sorting/types\";\nimport type { TableShape } from \"@/components/List/model/table/types\";\nimport type { ItemType } from \"@/lib/types/array\";\nimport type { MultipleSelection, SelectionBehavior } from \"@react-types/shared\";\nimport type { DeepKeys, DeepValue } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nexport const customPropertyPrefix = \"$\" as const;\nexport type CustomPropertyName = `${typeof customPropertyPrefix}${string}`;\n\nexport type PropertyName<T> = DeepKeys<T> | CustomPropertyName;\nexport type PropertyValue<T, TProp> = TProp extends CustomPropertyName\n ? T\n : DeepValue<T, TProp>;\nexport type PropertyValueRenderMethod<TMatcherValue> = (\n prop: NonNullable<ItemType<TMatcherValue>>,\n) => ReactNode;\n\nexport type OnListChanged<T, TMeta = unknown> = (list: List<T, TMeta>) => void;\n\nexport interface ListSupportedComponentProps extends MultipleSelection {\n \"aria-labelledby\"?: string;\n \"aria-label\"?: string;\n selectionBehavior?: SelectionBehavior;\n}\n\nexport interface ListShape<\n T,\n TMeta = unknown,\n> extends ListSupportedComponentProps {\n settingStorageKey?: string;\n\n loader?: IncrementalLoaderShape<T>;\n filters?: FilterShape<T, never, never>[];\n itemView?: ItemViewShape<T>;\n search?: SearchShape<T>;\n sorting?: SortingShape<T>[];\n batchesController?: BatchesControllerShape;\n table?: TableShape<T>;\n\n onAction?: ItemActionFn<T>;\n accordion?: boolean;\n loadingItemsCount?: number;\n getItemId?: GetItemId<T>;\n onChange?: OnListChanged<T, TMeta>;\n defaultViewMode?: ListViewMode;\n}\n\nexport type PropertyRecord<T, TValue> = Partial<\n Record<PropertyName<T>, TValue>\n>;\n\nexport interface ListSettingsStorageShape {\n storageKey: string;\n}\n\nexport type ListViewMode = \"table\" | \"list\" | \"tiles\";\nexport type ItemActionFn<T> = (data: T) => void;\nexport type GetItemId<T> = (data: T) => string;\n"],"names":[],"mappings":"AAaO,MAAM,oBAAA,GAAuB;;;;"}
@@ -10,22 +10,22 @@ import { settingsBackendFactory } from './backends/settingsBackendFactory.mjs';
10
10
  const context = createContext(void 0);
11
11
  const useSettings = () => useContext(context);
12
12
  const SettingsProvider = (props) => {
13
- const { children, id, ...storeShape } = props;
13
+ const { children, middleware, id = "static", ...storeShape } = props;
14
14
  const backend = settingsBackendFactory(storeShape);
15
- const storedSettingsResource = getAsyncResource(() => backend.load(), [], {
15
+ const settingsResource = getAsyncResource(() => backend.load(), [], {
16
16
  loaderId: id
17
17
  });
18
- const storedSettings = storedSettingsResource.use();
18
+ const settings = settingsResource.use();
19
19
  const storingPromise = useRef(Promise.resolve());
20
+ const parentStore = useSettings();
20
21
  const settingsStore = useMemo(
21
- () => SettingsStore.fromJson(storedSettings),
22
+ () => SettingsStore.fromJson(settings, { middleware, parentStore }),
22
23
  [id]
23
24
  );
24
25
  const watchAndStoreSettings = () => {
25
26
  const json = settingsStore.asJson;
26
27
  storingPromise.current = storingPromise.current.then(async () => {
27
28
  await backend.store(json);
28
- storedSettingsResource.refresh();
29
29
  });
30
30
  };
31
31
  useEffect(() => autorun(watchAndStoreSettings), [id]);
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsProvider.mjs","sources":["../../../../../../../src/components/SettingsProvider/SettingsProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport React, {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport type { SupportedSettingsBackend } from \"@/components/SettingsProvider/backends/types\";\nimport { autorun } from \"mobx\";\nimport { getAsyncResource } from \"@mittwald/react-use-promise\";\nimport { SettingsStore } from \"@/components/SettingsProvider/models/SettingsStore\";\nimport { settingsBackendFactory } from \"@/components/SettingsProvider/backends/settingsBackendFactory\";\n\ntype Props = PropsWithChildren &\n SupportedSettingsBackend & {\n id?: string;\n };\n\nconst context = createContext<SettingsStore | undefined>(undefined);\n\nexport const useSettings = () => useContext(context);\n\nexport const SettingsProvider: FC<Props> = (props) => {\n const { children, id, ...storeShape } = props;\n const backend = settingsBackendFactory(storeShape);\n\n const storedSettingsResource = getAsyncResource(() => backend.load(), [], {\n loaderId: id,\n });\n const storedSettings = storedSettingsResource.use();\n const storingPromise = useRef(Promise.resolve());\n\n const settingsStore = useMemo(\n () => SettingsStore.fromJson(storedSettings),\n [id],\n );\n\n const watchAndStoreSettings = () => {\n const json = settingsStore.asJson;\n storingPromise.current = storingPromise.current.then(async () => {\n await backend.store(json);\n storedSettingsResource.refresh();\n });\n };\n\n useEffect(() => autorun(watchAndStoreSettings), [id]);\n\n return <context.Provider value={settingsStore}>{children}</context.Provider>;\n};\n\nexport default SettingsProvider;\n"],"names":[],"mappings":";;;;;;;AAmBA,MAAM,OAAA,GAAU,cAAyC,MAAS,CAAA;AAE3D,MAAM,WAAA,GAAc,MAAM,UAAA,CAAW,OAAO;AAE5C,MAAM,gBAAA,GAA8B,CAAC,KAAA,KAAU;AACpD,EAAA,MAAM,EAAE,QAAA,EAAU,EAAA,EAAI,GAAG,YAAW,GAAI,KAAA;AACxC,EAAA,MAAM,OAAA,GAAU,uBAAuB,UAAU,CAAA;AAEjD,EAAA,MAAM,yBAAyB,gBAAA,CAAiB,MAAM,QAAQ,IAAA,EAAK,EAAG,EAAC,EAAG;AAAA,IACxE,QAAA,EAAU;AAAA,GACX,CAAA;AACD,EAAA,MAAM,cAAA,GAAiB,uBAAuB,GAAA,EAAI;AAClD,EAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,OAAA,CAAQ,OAAA,EAAS,CAAA;AAE/C,EAAA,MAAM,aAAA,GAAgB,OAAA;AAAA,IACpB,MAAM,aAAA,CAAc,QAAA,CAAS,cAAc,CAAA;AAAA,IAC3C,CAAC,EAAE;AAAA,GACL;AAEA,EAAA,MAAM,wBAAwB,MAAM;AAClC,IAAA,MAAM,OAAO,aAAA,CAAc,MAAA;AAC3B,IAAA,cAAA,CAAe,OAAA,GAAU,cAAA,CAAe,OAAA,CAAQ,IAAA,CAAK,YAAY;AAC/D,MAAA,MAAM,OAAA,CAAQ,MAAM,IAAI,CAAA;AACxB,MAAA,sBAAA,CAAuB,OAAA,EAAQ;AAAA,IACjC,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM,OAAA,CAAQ,qBAAqB,CAAA,EAAG,CAAC,EAAE,CAAC,CAAA;AAEpD,EAAA,2BAAQ,OAAA,CAAQ,QAAA,EAAR,EAAiB,KAAA,EAAO,eAAgB,QAAA,EAAS,CAAA;AAC3D;;;;"}
1
+ {"version":3,"file":"SettingsProvider.mjs","sources":["../../../../../../../src/components/SettingsProvider/SettingsProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { createContext, useContext, useEffect, useMemo, useRef } from \"react\";\nimport type { SupportedSettingsBackend } from \"@/components/SettingsProvider/backends/types\";\nimport { autorun } from \"mobx\";\nimport { getAsyncResource } from \"@mittwald/react-use-promise\";\nimport {\n SettingsStore,\n type SettingsStoreOptions,\n} from \"@/components/SettingsProvider/models/SettingsStore\";\nimport { settingsBackendFactory } from \"@/components/SettingsProvider/backends/settingsBackendFactory\";\n\ntype Props = PropsWithChildren &\n SupportedSettingsBackend & {\n id?: string;\n } & Pick<SettingsStoreOptions, \"middleware\">;\n\nconst context = createContext<SettingsStore | undefined>(undefined);\n\nexport const useSettings = () => useContext(context);\n\nexport const SettingsProvider: FC<Props> = (props) => {\n const { children, middleware, id = \"static\", ...storeShape } = props;\n const backend = settingsBackendFactory(storeShape);\n\n const settingsResource = getAsyncResource(() => backend.load(), [], {\n loaderId: id,\n });\n const settings = settingsResource.use();\n\n const storingPromise = useRef(Promise.resolve());\n const parentStore = useSettings();\n\n const settingsStore = useMemo(\n () => SettingsStore.fromJson(settings, { middleware, parentStore }),\n [id],\n );\n\n const watchAndStoreSettings = () => {\n const json = settingsStore.asJson;\n storingPromise.current = storingPromise.current.then(async () => {\n await backend.store(json);\n });\n };\n\n useEffect(() => autorun(watchAndStoreSettings), [id]);\n\n return <context.Provider value={settingsStore}>{children}</context.Provider>;\n};\n\nexport default SettingsProvider;\n"],"names":[],"mappings":";;;;;;;AAgBA,MAAM,OAAA,GAAU,cAAyC,MAAS,CAAA;AAE3D,MAAM,WAAA,GAAc,MAAM,UAAA,CAAW,OAAO;AAE5C,MAAM,gBAAA,GAA8B,CAAC,KAAA,KAAU;AACpD,EAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAY,KAAK,QAAA,EAAU,GAAG,YAAW,GAAI,KAAA;AAC/D,EAAA,MAAM,OAAA,GAAU,uBAAuB,UAAU,CAAA;AAEjD,EAAA,MAAM,mBAAmB,gBAAA,CAAiB,MAAM,QAAQ,IAAA,EAAK,EAAG,EAAC,EAAG;AAAA,IAClE,QAAA,EAAU;AAAA,GACX,CAAA;AACD,EAAA,MAAM,QAAA,GAAW,iBAAiB,GAAA,EAAI;AAEtC,EAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,OAAA,CAAQ,OAAA,EAAS,CAAA;AAC/C,EAAA,MAAM,cAAc,WAAA,EAAY;AAEhC,EAAA,MAAM,aAAA,GAAgB,OAAA;AAAA,IACpB,MAAM,aAAA,CAAc,QAAA,CAAS,UAAU,EAAE,UAAA,EAAY,aAAa,CAAA;AAAA,IAClE,CAAC,EAAE;AAAA,GACL;AAEA,EAAA,MAAM,wBAAwB,MAAM;AAClC,IAAA,MAAM,OAAO,aAAA,CAAc,MAAA;AAC3B,IAAA,cAAA,CAAe,OAAA,GAAU,cAAA,CAAe,OAAA,CAAQ,IAAA,CAAK,YAAY;AAC/D,MAAA,MAAM,OAAA,CAAQ,MAAM,IAAI,CAAA;AAAA,IAC1B,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM,OAAA,CAAQ,qBAAqB,CAAA,EAAG,CAAC,EAAE,CAAC,CAAA;AAEpD,EAAA,2BAAQ,OAAA,CAAQ,QAAA,EAAR,EAAiB,KAAA,EAAO,eAAgB,QAAA,EAAS,CAAA;AAC3D;;;;"}
@@ -0,0 +1,9 @@
1
+ "use client"
2
+ /* */
3
+ const defaultGetMiddleware = (_, __, current, getParent) => current ?? getParent();
4
+ const defaultSetMiddleware = (_, __, settings) => {
5
+ return settings;
6
+ };
7
+
8
+ export { defaultGetMiddleware, defaultSetMiddleware };
9
+ //# sourceMappingURL=defaultImplementations.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultImplementations.mjs","sources":["../../../../../../../../src/components/SettingsProvider/middleware/defaultImplementations.ts"],"sourcesContent":["import type { GetSettingsMiddleware, SetSettingsMiddleware } from \"./types\";\n\nexport const defaultGetMiddleware: GetSettingsMiddleware = (\n _,\n __,\n current,\n getParent,\n) => current ?? getParent();\n\nexport const defaultSetMiddleware: SetSettingsMiddleware = (\n _,\n __,\n settings,\n) => {\n return settings;\n};\n"],"names":[],"mappings":"AAEO,MAAM,uBAA8C,CACzD,CAAA,EACA,IACA,OAAA,EACA,SAAA,KACG,WAAW,SAAA;AAET,MAAM,oBAAA,GAA8C,CACzD,CAAA,EACA,EAAA,EACA,QAAA,KACG;AACH,EAAA,OAAO,QAAA;AACT;;;;"}
@@ -4,31 +4,73 @@ import { ObservableMap, makeAutoObservable } from 'mobx';
4
4
  import { ComponentSettings } from './ComponentSettings.mjs';
5
5
  import { mapValues } from 'remeda';
6
6
  import { mobxMapToObject } from '../../../lib/mobx/mobxMapToObject.mjs';
7
+ import { defaultSetMiddleware, defaultGetMiddleware } from '../middleware/defaultImplementations.mjs';
7
8
 
9
+ function subscribeMobxObject(ignored) {
10
+ }
8
11
  class SettingsStore {
9
- componentSettings;
10
- constructor(settings = new ObservableMap()) {
11
- this.componentSettings = settings;
12
- makeAutoObservable(this);
12
+ settings;
13
+ options;
14
+ constructor(settings = new ObservableMap(), options = {}) {
15
+ this.settings = settings;
16
+ this.options = Object.freeze(options);
17
+ makeAutoObservable(this, {
18
+ options: false
19
+ });
13
20
  }
14
21
  set(componentName, settingKey, schema, value) {
15
- const settings = this.componentSettings.get(componentName) ?? new ComponentSettings();
16
- settings.set(settingKey, schema, value);
17
- this.componentSettings.set(componentName, settings);
22
+ const settings = this.settings.get(componentName) ?? new ComponentSettings();
23
+ const middleware = this.options.middleware?.set ?? defaultSetMiddleware;
24
+ const processedValue = middleware(
25
+ componentName,
26
+ settingKey,
27
+ value,
28
+ (thisSettings) => {
29
+ if (this.options.parentStore) {
30
+ this.options.parentStore.set(
31
+ componentName,
32
+ settingKey,
33
+ schema,
34
+ thisSettings
35
+ );
36
+ }
37
+ return thisSettings;
38
+ }
39
+ );
40
+ if (processedValue !== void 0) {
41
+ settings.set(settingKey, schema, processedValue);
42
+ this.settings.set(componentName, settings);
43
+ }
18
44
  }
19
45
  get(componentName, settingKey, schema) {
20
- const settings = this.componentSettings.get(componentName) ?? new ComponentSettings();
21
- return settings.get(settingKey, schema);
46
+ const settings = this.settings.get(componentName) ?? new ComponentSettings();
47
+ const thisSettings = settings.get(settingKey, schema);
48
+ const parentSettings = this.options.parentStore?.get(
49
+ componentName,
50
+ settingKey,
51
+ schema
52
+ );
53
+ const middleware = this.options.middleware?.get ?? defaultGetMiddleware;
54
+ return middleware(
55
+ componentName,
56
+ settingKey,
57
+ thisSettings,
58
+ () => parentSettings
59
+ );
22
60
  }
23
61
  clear(componentName, settingKey) {
24
- this.componentSettings.get(componentName)?.clear(settingKey);
62
+ this.settings.get(componentName)?.clear(settingKey);
63
+ this.options.parentStore?.clear(componentName, settingKey);
25
64
  }
26
65
  get asJson() {
27
- return mapValues(mobxMapToObject(this.componentSettings), (v) => v.asJson);
66
+ const settingsObject = mobxMapToObject(this.settings);
67
+ const asJson = mapValues(settingsObject, (v) => v.asJson);
68
+ subscribeMobxObject(this.options.parentStore?.asJson);
69
+ return asJson;
28
70
  }
29
- static fromJson(json) {
71
+ static fromJson(json, options) {
30
72
  const settings = mapValues(json, (v) => ComponentSettings.fromJson(v));
31
- return new SettingsStore(new ObservableMap(settings));
73
+ return new SettingsStore(new ObservableMap(settings), options);
32
74
  }
33
75
  }
34
76
 
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsStore.mjs","sources":["../../../../../../../../src/components/SettingsProvider/models/SettingsStore.ts"],"sourcesContent":["import { makeAutoObservable, ObservableMap } from \"mobx\";\nimport { ComponentSettings } from \"@/components/SettingsProvider/models/ComponentSettings\";\nimport type { FlowComponentName } from \"@/components/propTypes\";\nimport { mapValues } from \"remeda\";\nimport type { ZodSchema } from \"zod\";\nimport type z from \"zod\";\nimport { mobxMapToObject } from \"@/lib/mobx/mobxMapToObject\";\n\nexport class SettingsStore {\n public readonly componentSettings: ObservableMap<\n FlowComponentName,\n ComponentSettings\n >;\n\n public constructor(\n settings = new ObservableMap<FlowComponentName, ComponentSettings>(),\n ) {\n this.componentSettings = settings;\n makeAutoObservable(this);\n }\n\n public set<T extends ZodSchema>(\n componentName: FlowComponentName,\n settingKey: string,\n schema: T,\n value: z.infer<T>,\n ) {\n const settings =\n this.componentSettings.get(componentName) ?? new ComponentSettings();\n settings.set(settingKey, schema, value);\n this.componentSettings.set(componentName, settings);\n }\n\n public get<T extends ZodSchema>(\n componentName: FlowComponentName,\n settingKey: string,\n schema: T,\n ): z.infer<T> {\n const settings =\n this.componentSettings.get(componentName) ?? new ComponentSettings();\n return settings.get(settingKey, schema);\n }\n\n public clear(componentName: FlowComponentName, settingKey: string) {\n this.componentSettings.get(componentName)?.clear(settingKey);\n }\n\n public get asJson() {\n return mapValues(mobxMapToObject(this.componentSettings), (v) => v.asJson);\n }\n\n public static fromJson(json: SettingsJson) {\n const settings = mapValues(json, (v) => ComponentSettings.fromJson(v));\n return new SettingsStore(new ObservableMap(settings));\n }\n}\n\nexport type SettingsJson = SettingsStore[\"asJson\"];\n"],"names":[],"mappings":";;;;;AAQO,MAAM,aAAA,CAAc;AAAA,EACT,iBAAA;AAAA,EAKT,WAAA,CACL,QAAA,GAAW,IAAI,aAAA,EAAoD,EACnE;AACA,IAAA,IAAA,CAAK,iBAAA,GAAoB,QAAA;AACzB,IAAA,kBAAA,CAAmB,IAAI,CAAA;AAAA,EACzB;AAAA,EAEO,GAAA,CACL,aAAA,EACA,UAAA,EACA,MAAA,EACA,KAAA,EACA;AACA,IAAA,MAAM,WACJ,IAAA,CAAK,iBAAA,CAAkB,IAAI,aAAa,CAAA,IAAK,IAAI,iBAAA,EAAkB;AACrE,IAAA,QAAA,CAAS,GAAA,CAAI,UAAA,EAAY,MAAA,EAAQ,KAAK,CAAA;AACtC,IAAA,IAAA,CAAK,iBAAA,CAAkB,GAAA,CAAI,aAAA,EAAe,QAAQ,CAAA;AAAA,EACpD;AAAA,EAEO,GAAA,CACL,aAAA,EACA,UAAA,EACA,MAAA,EACY;AACZ,IAAA,MAAM,WACJ,IAAA,CAAK,iBAAA,CAAkB,IAAI,aAAa,CAAA,IAAK,IAAI,iBAAA,EAAkB;AACrE,IAAA,OAAO,QAAA,CAAS,GAAA,CAAI,UAAA,EAAY,MAAM,CAAA;AAAA,EACxC;AAAA,EAEO,KAAA,CAAM,eAAkC,UAAA,EAAoB;AACjE,IAAA,IAAA,CAAK,iBAAA,CAAkB,GAAA,CAAI,aAAa,CAAA,EAAG,MAAM,UAAU,CAAA;AAAA,EAC7D;AAAA,EAEA,IAAW,MAAA,GAAS;AAClB,IAAA,OAAO,SAAA,CAAU,gBAAgB,IAAA,CAAK,iBAAiB,GAAG,CAAC,CAAA,KAAM,EAAE,MAAM,CAAA;AAAA,EAC3E;AAAA,EAEA,OAAc,SAAS,IAAA,EAAoB;AACzC,IAAA,MAAM,QAAA,GAAW,UAAU,IAAA,EAAM,CAAC,MAAM,iBAAA,CAAkB,QAAA,CAAS,CAAC,CAAC,CAAA;AACrE,IAAA,OAAO,IAAI,aAAA,CAAc,IAAI,aAAA,CAAc,QAAQ,CAAC,CAAA;AAAA,EACtD;AACF;;;;"}
1
+ {"version":3,"file":"SettingsStore.mjs","sources":["../../../../../../../../src/components/SettingsProvider/models/SettingsStore.ts"],"sourcesContent":["import { makeAutoObservable, ObservableMap } from \"mobx\";\nimport { ComponentSettings } from \"@/components/SettingsProvider/models/ComponentSettings\";\nimport type { FlowComponentName } from \"@/components/propTypes\";\nimport { mapValues } from \"remeda\";\nimport type { ZodSchema } from \"zod\";\nimport type z from \"zod\";\nimport { mobxMapToObject } from \"@/lib/mobx/mobxMapToObject\";\nimport type {\n GetSettingsMiddleware,\n SetSettingsMiddleware,\n} from \"../middleware/types\";\nimport {\n defaultGetMiddleware,\n defaultSetMiddleware,\n} from \"../middleware/defaultImplementations\";\n\nexport interface SettingsStoreOptions {\n middleware?: {\n get?: GetSettingsMiddleware;\n set?: SetSettingsMiddleware;\n };\n parentStore?: SettingsStore;\n}\n\nfunction subscribeMobxObject(ignored: unknown) {\n // Accessing an object subscribes to it in MobX, so this function is used to subscribe to the parent store's JSON representation without actually using it here.\n}\n\nexport class SettingsStore {\n public readonly settings: ObservableMap<FlowComponentName, ComponentSettings>;\n\n public readonly options: Readonly<SettingsStoreOptions>;\n\n public constructor(\n settings = new ObservableMap<FlowComponentName, ComponentSettings>(),\n options: SettingsStoreOptions = {},\n ) {\n this.settings = settings;\n this.options = Object.freeze(options);\n makeAutoObservable(this, {\n options: false,\n });\n }\n\n public set<T extends ZodSchema>(\n componentName: FlowComponentName,\n settingKey: string,\n schema: T,\n value: z.infer<T>,\n ) {\n const settings =\n this.settings.get(componentName) ?? new ComponentSettings();\n\n const middleware = this.options.middleware?.set ?? defaultSetMiddleware;\n\n const processedValue = middleware(\n componentName,\n settingKey,\n value,\n (thisSettings) => {\n if (this.options.parentStore) {\n this.options.parentStore.set(\n componentName,\n settingKey,\n schema,\n thisSettings as z.infer<T>,\n );\n }\n return thisSettings;\n },\n ) as z.infer<T>;\n\n if (processedValue !== undefined) {\n settings.set(settingKey, schema, processedValue);\n this.settings.set(componentName, settings);\n }\n }\n\n public get<T extends ZodSchema>(\n componentName: FlowComponentName,\n settingKey: string,\n schema: T,\n ): z.infer<T> {\n const settings =\n this.settings.get(componentName) ?? new ComponentSettings();\n\n const thisSettings = settings.get(settingKey, schema);\n const parentSettings = this.options.parentStore?.get(\n componentName,\n settingKey,\n schema,\n );\n\n const middleware = this.options.middleware?.get ?? defaultGetMiddleware;\n\n return middleware(\n componentName,\n settingKey,\n thisSettings,\n () => parentSettings,\n ) as z.infer<T>;\n }\n\n public clear(componentName: FlowComponentName, settingKey: string) {\n this.settings.get(componentName)?.clear(settingKey);\n this.options.parentStore?.clear(componentName, settingKey);\n }\n\n public get asJson() {\n const settingsObject = mobxMapToObject(this.settings);\n const asJson = mapValues(settingsObject, (v) => v.asJson);\n subscribeMobxObject(this.options.parentStore?.asJson);\n return asJson;\n }\n\n public static fromJson(json: SettingsJson, options?: SettingsStoreOptions) {\n const settings = mapValues(json, (v) => ComponentSettings.fromJson(v));\n return new SettingsStore(new ObservableMap(settings), options);\n }\n}\n\nexport type SettingsJson = SettingsStore[\"asJson\"];\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/components/List/List.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAc/D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAK9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAM/C,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAC3C,SACE,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,CACF,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EACjB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,mBAAmB,GACnB,SAAS,GACT,SAAS,CACZ;IACH,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,IAAI,8GA+Jf,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/components/List/List.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAc/D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAK9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAM/C,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAC3C,SACE,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,CACF,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EACjB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,mBAAmB,GACnB,SAAS,GACT,SAAS,CACZ;IACH,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,IAAI,8GAgKf,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActiveFilters.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Header/components/ActiveFilters/ActiveFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAqBhC,eAAO,MAAM,aAAa,EAAE,EAqF1B,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ActiveFilters.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Header/components/ActiveFilters/ActiveFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAqBhC,eAAO,MAAM,aAAa,EAAE,EAsF1B,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewModeAccordion.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAWvC,eAAO,MAAM,iBAAiB,EAAE,EA2B/B,CAAC"}
1
+ {"version":3,"file":"ViewModeAccordion.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Header/components/AllFiltersModal/ViewModeAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAWhC,eAAO,MAAM,iBAAiB,EAAE,EA2B/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Items/components/Item/Item.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAIjD,UAAU,KAAM,SAAQ,iBAAiB;IACvC,EAAE,EAAE,GAAG,CAAC;IACR,IAAI,EAAE,KAAK,CAAC;CACb;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,mDA+BhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CAWnC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/List/components/Items/components/Item/Item.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAIjD,UAAU,KAAM,SAAQ,iBAAiB;IACvC,EAAE,EAAE,GAAG,CAAC;IACR,IAAI,EAAE,KAAK,CAAC;CACb;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,mDAiChC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CAWnC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -3,18 +3,14 @@ import { BatchesController } from './pagination/BatchesController';
3
3
  import { Filter } from './filter/Filter';
4
4
  import { Sorting } from './sorting/Sorting';
5
5
  import { default as ReactTable } from './ReactTable';
6
- import { GetItemId, ItemActionFn, ListShape, ListSupportedComponentProps, ListViewMode } from './types';
6
+ import { GetItemId, ItemActionFn, ListShape, ListSupportedComponentProps } from './types';
7
7
  import { IncrementalLoader } from './loading/IncrementalLoader';
8
8
  import { Search } from './search/Search';
9
9
  import { ItemView } from './item/ItemView';
10
10
  import { Table } from './table/Table';
11
- import { default as z } from 'zod';
12
- export declare class List<T, TMeta = unknown> {
13
- static readonly viewModeSettingsStorageSchema: z.ZodOptional<z.ZodEnum<{
14
- table: "table";
15
- list: "list";
16
- tiles: "tiles";
17
- }>>;
11
+ import { ListSettingsStore } from './ListSettingsStore';
12
+ import { ListViewMode } from './ListViewMode';
13
+ export declare class List<T = unknown, TMeta = unknown> {
18
14
  readonly filters: Filter<T, never, never>[];
19
15
  readonly itemView?: ItemView<T>;
20
16
  readonly table?: Table<T>;
@@ -28,32 +24,14 @@ export declare class List<T, TMeta = unknown> {
28
24
  readonly accordion: boolean;
29
25
  readonly getItemId?: GetItemId<T>;
30
26
  readonly componentProps: ListSupportedComponentProps;
31
- viewMode: ListViewMode;
32
- readonly setViewMode: (viewMode: ListViewMode) => void;
33
- readonly supportsSettingsStorage: boolean;
34
- readonly settingStorageKey?: string;
35
27
  metadata?: TMeta;
36
- private readonly settingsStore?;
37
- private readonly viewModeStorageKey?;
38
- private readonly filterSettingsStorageKey?;
39
- private readonly sortingStorageKey?;
28
+ readonly settingsStorage?: ListSettingsStore<T>;
40
29
  readonly loadingItemsCount: number;
30
+ readonly viewMode: ListViewMode<T>;
41
31
  constructor(shape: ListShape<T, TMeta>);
42
32
  get isFiltered(): boolean;
43
33
  get visibleSorting(): Sorting<T>[];
44
34
  static useNew<T, TMeta = unknown>(shape: ListShape<T, TMeta>): List<T, TMeta>;
45
- private storeFilterSettings;
46
- storeFilterDefaultSettings(): void;
47
- autosaveFilterSettings(): void;
48
- private getStoredFilterSettings;
49
- getStoredFilterDefaultSettings(): Record<string | symbol, string[]> | undefined;
50
- getAutosavedFilterSettings(): Record<string | symbol, string[]> | undefined;
51
- getStoredViewModeDefaultSetting(): "table" | "list" | "tiles" | undefined;
52
- storeSortingSettings(sorting: Sorting<T>): void;
53
- getStoredSortingDefaultSetting(): {
54
- direction: "desc" | "asc";
55
- property: string | number;
56
- } | undefined;
57
35
  getSorting(id: string): Sorting<T>;
58
36
  clearSorting(): void;
59
37
  resetFilters(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/List.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/List.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,SAAS,EACT,2BAA2B,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,qBAAa,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAC5C,SAAgB,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IACnD,SAAgB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvC,SAAgB,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,SAAgB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,SAAgB,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzC,SAAgB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,SAAgB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC9C,SAAgB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC7C,SAAgB,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3C,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzC,SAAgB,cAAc,EAAE,2BAA2B,CAAC;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACxB,SAAgB,eAAe,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvD,SAAgB,iBAAiB,SAAC;IAClC,SAAgB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEvB,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;IAqD7C,IAAW,UAAU,IAAI,OAAO,CAK/B;IAED,IAAW,cAAc,iBAExB;WAEa,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,EACrC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GACzB,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IAIV,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAMlC,YAAY,IAAI,IAAI;IAIpB,YAAY,IAAI,IAAI;IAIpB,YAAY,IAAI,IAAI;IAIpB,UAAU,IAAI,OAAO;CAG7B;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { SettingsStore } from '../../SettingsProvider/models/SettingsStore';
2
+ import { ListSettingsStorageShape } from './types';
3
+ import { default as List } from './List';
4
+ import { default as z } from 'zod';
5
+ export interface ListSettingsStoreOperationOptions {
6
+ autosave?: boolean;
7
+ manualSave?: boolean;
8
+ }
9
+ declare const supportedSettings: {
10
+ readonly activeFilters: {
11
+ readonly supports: {
12
+ readonly autosave: true;
13
+ readonly manualSave: true;
14
+ };
15
+ readonly schema: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodSymbol]>, z.ZodArray<z.ZodString>>>;
16
+ };
17
+ readonly viewMode: {
18
+ readonly supports: {
19
+ readonly autosave: true;
20
+ readonly manualSave: false;
21
+ };
22
+ readonly schema: z.ZodOptional<z.ZodEnum<{
23
+ table: "table";
24
+ list: "list";
25
+ tiles: "tiles";
26
+ }>>;
27
+ };
28
+ readonly sorting: {
29
+ readonly supports: {
30
+ readonly autosave: true;
31
+ readonly manualSave: false;
32
+ };
33
+ readonly schema: z.ZodOptional<z.ZodObject<{
34
+ direction: z.ZodEnum<{
35
+ desc: "desc";
36
+ asc: "asc";
37
+ }>;
38
+ property: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
39
+ }, z.core.$strip>>;
40
+ };
41
+ readonly search: {
42
+ readonly supports: {
43
+ readonly autosave: true;
44
+ readonly manualSave: false;
45
+ };
46
+ readonly schema: z.ZodOptional<z.ZodObject<{
47
+ value: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strip>>;
49
+ };
50
+ };
51
+ type SupportedSettings = keyof typeof supportedSettings;
52
+ type SchemaOf<T extends SupportedSettings> = (typeof supportedSettings)[T]["schema"];
53
+ export declare class ListSettingsStore<T> {
54
+ readonly list: List<T>;
55
+ readonly storageKey: string;
56
+ private readonly settingsStore;
57
+ constructor(list: List<T>, store: SettingsStore, shape: ListSettingsStorageShape);
58
+ private getStorageKey;
59
+ store<T extends SupportedSettings>(key: T, value: z.infer<(typeof supportedSettings)[T]["schema"]>, options: ListSettingsStoreOperationOptions): void;
60
+ get<T extends SupportedSettings>(key: T, options: ListSettingsStoreOperationOptions): z.infer<SchemaOf<T>> | undefined;
61
+ }
62
+ export {};
63
+ //# sourceMappingURL=ListSettingsStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListSettingsStore.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/ListSettingsStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCb,CAAC;AAEX,KAAK,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAExD,KAAK,QAAQ,CAAC,CAAC,SAAS,iBAAiB,IACvC,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE1C,qBAAa,iBAAiB,CAAC,CAAC;IAC9B,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAG5C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACb,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,wBAAwB;IAOjC,OAAO,CAAC,aAAa;IAKd,KAAK,CAAC,CAAC,SAAS,iBAAiB,EACtC,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACvD,OAAO,EAAE,iCAAiC;IAsBrC,GAAG,CAAC,CAAC,SAAS,iBAAiB,EACpC,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,iCAAiC,GACzC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CA2BpC"}
@@ -0,0 +1,19 @@
1
+ import { ListViewMode as RawListViewMode } from './types';
2
+ import { List } from './List';
3
+ interface Options {
4
+ defaultViewMode?: RawListViewMode;
5
+ autosave?: boolean;
6
+ }
7
+ export declare class ListViewMode<T = unknown> {
8
+ readonly list: List<T>;
9
+ readonly autosave: boolean;
10
+ private readonly state;
11
+ constructor(list: List<T>, options?: Options);
12
+ get value(): RawListViewMode;
13
+ get isTiles(): boolean;
14
+ get isTable(): boolean;
15
+ get isList(): boolean;
16
+ set(viewMode: RawListViewMode): void;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=ListViewMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListViewMode.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/ListViewMode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,UAAU,OAAO;IACf,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,YAAY,CAAC,CAAC,GAAG,OAAO;IACnC,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGpB;gBAEiB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,OAAY;IAYvD,IAAW,KAAK,oBAEf;IAED,IAAW,OAAO,YAEjB;IAED,IAAW,OAAO,YAEjB;IAED,IAAW,MAAM,YAEhB;IAEM,GAAG,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;CAM5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/ReactTable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,UAAU,EAEV,KAAK,EACL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAS/B,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGtD,qBAAa,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO;IACxC,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,SAAgB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,SAAgB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3C,SAAgB,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAE3E,OAAO;IAmBP,IAAW,YAAY,IAAI,WAAW,CAErC;WAEa,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,EACrC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EACpB,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,EAClC,YAAY,GAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAM,GAC1C,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;IAIhB,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAM3D,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,kBAAkB;CAkC3B;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ReactTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/ReactTable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,UAAU,EAEV,KAAK,EACL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAS/B,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAItD,qBAAa,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO;IACxC,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,SAAgB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,SAAgB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3C,SAAgB,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAE3E,OAAO;IAmBP,IAAW,YAAY,IAAI,WAAW,CAErC;WAEa,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,EACrC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EACpB,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,EAClC,YAAY,GAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAM,GAC1C,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;IAIhB,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAM3D,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,kBAAkB;CAkC3B;AAED,eAAe,UAAU,CAAC"}
@@ -3,9 +3,8 @@ import { default as List } from '../List';
3
3
  import { FilterMatcher, FilterMode, FilterShape } from './types';
4
4
  import { PropertyName, PropertyValueRenderMethod } from '../types';
5
5
  import { FilterValue } from './FilterValue';
6
- import { default as z } from 'zod';
6
+ import { ListSettingsStoreOperationOptions } from '../ListSettingsStore';
7
7
  export declare class Filter<T, TProp extends PropertyName<T>, TMatchValue> {
8
- static readonly settingsStorageSchema: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodSymbol]>, z.ZodArray<z.ZodString>>>;
9
8
  private _values?;
10
9
  private _valuesFromTableState?;
11
10
  readonly list: List<T>;
@@ -15,15 +14,17 @@ export declare class Filter<T, TProp extends PropertyName<T>, TMatchValue> {
15
14
  readonly renderItem: PropertyValueRenderMethod<TMatchValue>;
16
15
  readonly name?: string;
17
16
  readonly autosave: boolean;
17
+ readonly manualSave: boolean;
18
18
  private onFilterChangeCallbacks;
19
19
  private readonly defaultSelectedValues?;
20
- private readonly initialSelectedValues?;
21
20
  readonly priority: "primary" | "secondary";
22
- private storageKey;
21
+ readonly storageKey: string;
23
22
  constructor(list: List<T>, shape: FilterShape<T, TProp, TMatchValue>);
24
- private getStoredSelectedIds;
25
- private getAutosavedSelectedIds;
26
23
  updateInitialState(initialState: InitialTableState): void;
24
+ private getInitialSelectedIds;
25
+ private getStoredSelectedIds;
26
+ private getStoredSelectedValues;
27
+ static storeFilters<T>(list: List<T>, options: ListSettingsStoreOperationOptions): void;
27
28
  updateTableColumnDef(def: ColumnDef<T>): void;
28
29
  private getReactTableFilterFn;
29
30
  private checkFilterMatches;
@@ -40,9 +41,8 @@ export declare class Filter<T, TProp extends PropertyName<T>, TMatchValue> {
40
41
  isActive(): boolean;
41
42
  deactivateValue(value: FilterValue): void;
42
43
  private callOnChangedHandlers;
43
- hasChanged(): boolean;
44
- private getInitialValues;
45
- private getInitialFilterValues;
44
+ hasChanges(): boolean;
45
+ isStoringAvailable(): boolean;
46
46
  resetValues(): void;
47
47
  clear(): void;
48
48
  toggleValue(newValue: FilterValue): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/filter/Filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EACT,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,WAAW,EAEZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACV,YAAY,EACZ,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,CAAC,MAAM,KAAK,CAAC;AAgBpB,qBAAa,MAAM,CAAC,CAAC,EAAE,KAAK,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW;IAC/D,gBAAuB,qBAAqB,8FAE9B;IAEd,OAAO,CAAC,OAAO,CAAC,CAA4B;IAC5C,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAC9C,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAgB,QAAQ,EAAE,KAAK,CAAC;IAChC,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,SAAgB,UAAU,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACnE,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,uBAAuB,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAsC;IAC7E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAsC;IAC7E,SAAgB,QAAQ,EAAE,SAAS,GAAG,WAAW,CAAC;IAClD,OAAO,CAAC,UAAU,CAAS;gBAER,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC;IAkB3E,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,uBAAuB;IAMxB,kBAAkB,CAAC,YAAY,EAAE,iBAAiB;IAiBlD,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAKpD,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,kBAAkB;IA+B1B,SAAS,CAAC,oBAAoB,IAAI,YAAY,GAAG,SAAS;IAM1D,OAAO,CAAC,cAAc;IAIf,QAAQ,IAAI,OAAO;IAI1B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,qBAAqB;IAKtB,yBAAyB;IAYhC,IAAW,MAAM,IAAI,WAAW,EAAE,CAEjC;IAED,OAAO,KAAK,oBAAoB,GAK/B;IAEM,aAAa,IAAI,WAAW,EAAE;IAO9B,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAI1C,QAAQ,IAAI,OAAO;IAInB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAkBhD,OAAO,CAAC,qBAAqB;IAOtB,UAAU,IAAI,OAAO;IAW5B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,sBAAsB;IASvB,WAAW,IAAI,IAAI;IAsBnB,KAAK,IAAI,IAAI;IAKb,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAqBxC,eAAe,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI;CAGhD"}
1
+ {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/filter/Filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EACT,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,WAAW,EAEZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACV,YAAY,EACZ,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AAU9E,qBAAa,MAAM,CAAC,CAAC,EAAE,KAAK,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW;IAC/D,OAAO,CAAC,OAAO,CAAC,CAA4B;IAC5C,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAC9C,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAgB,QAAQ,EAAE,KAAK,CAAC;IAChC,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,SAAgB,UAAU,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACnE,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,UAAU,EAAE,OAAO,CAAC;IACpC,OAAO,CAAC,uBAAuB,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAgB;IACvD,SAAgB,QAAQ,EAAE,SAAS,GAAG,WAAW,CAAC;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEhB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC;IAkCpE,kBAAkB,CAAC,YAAY,EAAE,iBAAiB;IAczD,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,uBAAuB;WAMjB,YAAY,CAAC,CAAC,EAC1B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACb,OAAO,EAAE,iCAAiC;IAYrC,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAKpD,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,kBAAkB;IA+B1B,SAAS,CAAC,oBAAoB,IAAI,YAAY,GAAG,SAAS;IAM1D,OAAO,CAAC,cAAc;IAIf,QAAQ,IAAI,OAAO;IAI1B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,qBAAqB;IAKtB,yBAAyB;IAYhC,IAAW,MAAM,IAAI,WAAW,EAAE,CAEjC;IAED,OAAO,KAAK,oBAAoB,GAK/B;IAEM,aAAa,IAAI,WAAW,EAAE;IAO9B,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAI1C,QAAQ,IAAI,OAAO;IAInB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAkBhD,OAAO,CAAC,qBAAqB;IAOtB,UAAU,IAAI,OAAO;IAcrB,kBAAkB,IAAI,OAAO;IAI7B,WAAW,IAAI,IAAI;IAqBnB,KAAK,IAAI,IAAI;IAKb,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAqBxC,eAAe,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI;CAGhD"}
@@ -10,15 +10,10 @@ export interface FilterShape<T, TProp extends PropertyName<T>, TMatcherValue> {
10
10
  values?: readonly TMatcherValue[];
11
11
  name?: string;
12
12
  defaultSelected?: readonly NonNullable<TMatcherValue>[];
13
- /**
14
- * If provided, the filter will be initialized with these values instead of
15
- * the defaultSelected and restored selections from any provided settings
16
- * storage. It behaves like an initial user initiated selection.
17
- */
18
- initialSelected?: readonly NonNullable<TMatcherValue>[];
19
13
  onChange?: FilterUpdatedCallback;
20
14
  priority?: "primary" | "secondary";
21
15
  autosave?: boolean;
16
+ manualSave?: boolean;
22
17
  }
23
18
  export type FilterUpdatedCallback = (values: unknown[]) => unknown;
24
19
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/filter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,IAAI,CAC/C,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAC9C,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAC5B,OAAO,CAAC;AAEb,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,KAAK,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa;IAC1E,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,SAAS,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IACxD;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IACxD,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,QAAQ,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/filter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,IAAI,CAC/C,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAC9C,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAC5B,OAAO,CAAC;AAEb,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,KAAK,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa;IAC1E,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,SAAS,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IACxD,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,QAAQ,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC"}
@@ -6,11 +6,13 @@ export declare class Search<T> {
6
6
  readonly render?: SearchFieldRenderComponent;
7
7
  readonly textFieldProps: SearchShape<T>["textFieldProps"];
8
8
  private onUpdateCallbacks;
9
- private readonly defaultValue?;
9
+ private readonly initialValue?;
10
+ private readonly autosave;
10
11
  constructor(list: List<T>, searchShape: SearchShape<T>);
11
12
  get value(): SearchValue;
12
13
  get isSet(): boolean;
13
14
  private callOnUpdateCallbacks;
15
+ private getInitialValue;
14
16
  updateInitialState(initialState: InitialTableState): void;
15
17
  setValue(value: SearchValue): void;
16
18
  clear(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/search/Search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,EACV,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,MAAM,CAAC,CAAC;IACnB,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAgB,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpD,SAAgB,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACjE,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAEpB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAO7D,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED,IAAW,KAAK,YAEf;IAED,OAAO,CAAC,qBAAqB;IAItB,kBAAkB,CAAC,YAAY,EAAE,iBAAiB;IAIlD,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAYlC,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI;CAG1C"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/search/Search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,EACV,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,MAAM,CAAC,CAAC;IACnB,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAgB,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpD,SAAgB,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACjE,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEhB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAU7D,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED,IAAW,KAAK,YAEf;IAED,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,eAAe;IAOhB,kBAAkB,CAAC,YAAY,EAAE,iBAAiB;IAIlD,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAkBlC,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI;CAG1C"}
@@ -12,6 +12,7 @@ export interface SearchShape<IgnoredT> {
12
12
  render?: SearchFieldRenderComponent;
13
13
  textFieldProps: SupportedSearchFieldProps;
14
14
  defaultValue?: string;
15
+ autosave?: boolean;
15
16
  }
16
17
  export {};
17
18
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/search/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,KAAK,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAErE,UAAU,sBAAuB,SAAQ,yBAAyB;IAChE,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC;IAC1C,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,0BAA0B,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,WAAW,CAAC,QAAQ;IACnC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,cAAc,EAAE,yBAAyB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/search/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,KAAK,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAErE,UAAU,sBAAuB,SAAQ,yBAAyB;IAChE,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC;IAC1C,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,0BAA0B,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,WAAW,CAAC,QAAQ;IACnC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,cAAc,EAAE,yBAAyB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -2,24 +2,17 @@ import { default as List } from '../List';
2
2
  import { SortingDefaultMode, SortingShape } from './types';
3
3
  import { PropertyName } from '../types';
4
4
  import { Column, ColumnDef, ColumnSort, SortDirection, SortingFn } from '@tanstack/react-table';
5
- import { default as z } from 'zod';
6
5
  export declare class Sorting<T> {
7
- static readonly storageSchema: z.ZodOptional<z.ZodObject<{
8
- direction: z.ZodEnum<{
9
- desc: "desc";
10
- asc: "asc";
11
- }>;
12
- property: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
13
- }, z.core.$strip>>;
14
6
  readonly list: List<T>;
15
7
  readonly property: PropertyName<T>;
16
8
  readonly name?: string;
17
9
  readonly directionName?: string;
18
10
  readonly direction: SortDirection;
19
- readonly defaultEnabled: SortingDefaultMode;
11
+ readonly initialEnabled: SortingDefaultMode;
20
12
  readonly customSortingFn?: SortingFn<T>;
13
+ readonly autosave: boolean;
21
14
  constructor(list: List<T>, shape: SortingShape<T>);
22
- private getStoredDefaultEnabled;
15
+ private getInitialEnabled;
23
16
  updateTableColumnDef(def: ColumnDef<T>): void;
24
17
  getReactTableColumnSort(): ColumnSort;
25
18
  isSorted(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Sorting.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/sorting/Sorting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,qBAAa,OAAO,CAAC,CAAC;IACpB,gBAAuB,aAAa;;;;;;uBAKtB;IACd,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAgB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvC,SAAgB,SAAS,EAAE,aAAa,CAAC;IACzC,SAAgB,cAAc,EAAE,kBAAkB,CAAC;IACnD,SAAgB,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAcxD,OAAO,CAAC,uBAAuB;IAWxB,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAO7C,uBAAuB,IAAI,UAAU;IAOrC,QAAQ,IAAI,OAAO;IAKnB,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC;IAI3B,MAAM,IAAI,IAAI;IAOd,KAAK,IAAI,IAAI;IAIpB,IAAW,EAAE,IAAI,MAAM,CAEtB;CACF"}
1
+ {"version":3,"file":"Sorting.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/sorting/Sorting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACV,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,OAAO,CAAC,CAAC;IACpB,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAgB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvC,SAAgB,SAAS,EAAE,aAAa,CAAC;IACzC,SAAgB,cAAc,EAAE,kBAAkB,CAAC;IACnD,SAAgB,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/C,SAAgB,QAAQ,EAAE,OAAO,CAAC;gBAEf,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAoBxD,OAAO,CAAC,iBAAiB;IAiBlB,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAO7C,uBAAuB,IAAI,UAAU;IAOrC,QAAQ,IAAI,OAAO;IAKnB,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC;IAI3B,MAAM,IAAI,IAAI;IAiBd,KAAK,IAAI,IAAI;IAIpB,IAAW,EAAE,IAAI,MAAM,CAEtB;CACF"}
@@ -9,5 +9,6 @@ export interface SortingShape<T> {
9
9
  direction?: SortDirection;
10
10
  defaultEnabled?: SortingDefaultMode;
11
11
  customSortingFn?: SortingFn<T>;
12
+ autosave?: boolean;
12
13
  }
13
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/sorting/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,EACb,SAAS,IAAI,eAAe,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/sorting/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,EACb,SAAS,IAAI,eAAe,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}