@mittwald/flow-react-components 1.2.0-next.50 → 1.2.0-next.51

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsStore.mjs","names":[],"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"],"mappings":";;;;;;;;AA4BA,IAAa,gBAAb,MAAa,cAAc;CACzB;CAEA;CAEA,YACE,WAAW,IAAI,cAAoD,GACnE,UAAgC,CAAC,GACjC;EACA,KAAK,WAAW;EAChB,KAAK,UAAU,OAAO,OAAO,OAAO;EACpC,mBAAmB,MAAM,EACvB,SAAS,MACX,CAAC;CACH;CAEA,IACE,eACA,YACA,QACA,OACA;EACA,MAAM,WACJ,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,kBAAkB;EAI5D,MAAM,kBAFa,KAAK,QAAQ,YAAY,OAAO,qBAAA,CAGjD,eACA,YACA,QACC,iBAAiB;GAChB,IAAI,KAAK,QAAQ,aACf,KAAK,QAAQ,YAAY,IACvB,eACA,YACA,QACA,YACF;GAEF,OAAO;EACT,CACF;EAEA,IAAI,mBAAmB,KAAA,GAAW;GAChC,SAAS,IAAI,YAAY,QAAQ,cAAc;GAC/C,KAAK,SAAS,IAAI,eAAe,QAAQ;EAC3C;CACF;CAEA,IACE,eACA,YACA,QACY;EAIZ,MAAM,gBAFJ,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,kBAAkB,EAAA,CAE9B,IAAI,YAAY,MAAM;EACpD,MAAM,iBAAiB,KAAK,QAAQ,aAAa,IAC/C,eACA,YACA,MACF;EAIA,QAFmB,KAAK,QAAQ,YAAY,OAAO,qBAAA,CAGjD,eACA,YACA,oBACM,cACR;CACF;CAEA,MAAa,eAAkC,YAAoB;EACjE,KAAK,SAAS,IAAI,aAAa,CAAC,EAAE,MAAM,UAAU;EAClD,KAAK,QAAQ,aAAa,MAAM,eAAe,UAAU;CAC3D;CAEA,IAAW,SAAS;EAClB,MAAM,iBAAiB,gBAAgB,KAAK,QAAQ;EACpD,MAAM,SAAS,UAAU,iBAAiB,MAAM,EAAE,MAAM;EACpC,KAAK,QAAQ,aAAa;EAC9C,OAAO;CACT;CAEA,OAAc,SAAS,MAAoB,SAAgC;EACzE,MAAM,WAAW,UAAU,OAAO,MAAM,kBAAkB,SAAS,CAAC,CAAC;EACrE,OAAO,IAAI,cAAc,IAAI,cAAc,QAAQ,GAAG,OAAO;CAC/D;AACF"}
1
+ {"version":3,"file":"SettingsStore.mjs","names":[],"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"],"mappings":";;;;;;;;AA4BA,IAAa,gBAAb,MAAa,cAAc;CACzB;CAEA;CAEA,YACE,WAAW,IAAI,cAAoD,GACnE,UAAgC,CAAC,GACjC;EACA,KAAK,WAAW;EAChB,KAAK,UAAU,OAAO,OAAO,OAAO;EACpC,mBAAmB,MAAM,EACvB,SAAS,MACX,CAAC;CACH;CAEA,IACE,eACA,YACA,QACA,OACA;EACA,MAAM,WACJ,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,kBAAkB;EAI5D,MAAM,kBAFa,KAAK,QAAQ,YAAY,OAAO,qBAAA,CAGjD,eACA,YACA,QACC,iBAAiB;GAChB,IAAI,KAAK,QAAQ,aACf,KAAK,QAAQ,YAAY,IACvB,eACA,YACA,QACA,YACF;GAEF,OAAO;EACT,CACF;EAEA,IAAI,mBAAmB,KAAA,GAAW;GAChC,SAAS,IAAI,YAAY,QAAQ,cAAc;GAC/C,KAAK,SAAS,IAAI,eAAe,QAAQ;EAC3C;CACF;CAEA,IACE,eACA,YACA,QACY;EAIZ,MAAM,gBAFJ,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,kBAAkB,EAAA,CAE9B,IAAI,YAAY,MAAM;EACpD,MAAM,iBAAiB,KAAK,QAAQ,aAAa,IAC/C,eACA,YACA,MACF;EAIA,QAFmB,KAAK,QAAQ,YAAY,OAAO,qBAAA,CAGjD,eACA,YACA,oBACM,cACR;CACF;CAEA,MAAa,eAAkC,YAAoB;EACjE,KAAK,SAAS,IAAI,aAAa,CAAC,EAAE,MAAM,UAAU;EAClD,KAAK,QAAQ,aAAa,MAAM,eAAe,UAAU;CAC3D;CAEA,IAAW,SAAS;EAClB,MAAM,iBAAiB,gBAAgB,KAAK,QAAQ;EACpD,MAAM,SAAS,UAAU,iBAAiB,MAAM,EAAE,MAAM;EACxD,KAAyB,QAAQ,aAAa;EAC9C,OAAO;CACT;CAEA,OAAc,SAAS,MAAoB,SAAgC;EACzE,MAAM,WAAW,UAAU,OAAO,MAAM,kBAAkB,SAAS,CAAC,CAAC;EACrE,OAAO,IAAI,cAAc,IAAI,cAAc,QAAQ,GAAG,OAAO;CAC/D;AACF"}
@@ -40,7 +40,7 @@ export declare const typedList: <T, TMeta = unknown>() => {
40
40
  children?: import('react').ReactNode;
41
41
  onAuxClick?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
42
42
  onAuxClickCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
43
- onClick?: ((e: import('react').MouseEvent<import('@react-types/shared').FocusableElement>) => void) | undefined;
43
+ onClick?: ((e: import('react').MouseEvent<import('react-aria-components').FocusableElement>) => void) | undefined;
44
44
  onClickCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
45
45
  onContextMenu?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
46
46
  onContextMenuCapture?: import('react').MouseEventHandler<HTMLTableRowElement> | undefined;
@@ -114,8 +114,8 @@ export declare const typedList: <T, TMeta = unknown>() => {
114
114
  onPressChange?: ((isPressed: boolean) => void) | undefined;
115
115
  onPressUp?: ((e: import('react-aria-components').PressEvent) => void) | undefined;
116
116
  value?: undefined;
117
- onHoverStart?: ((e: import('react-aria').HoverEvent) => void) | undefined;
118
- onHoverEnd?: ((e: import('react-aria').HoverEvent) => void) | undefined;
117
+ onHoverStart?: ((e: import('react-aria-components').HoverEvent) => void) | undefined;
118
+ onHoverEnd?: ((e: import('react-aria-components').HoverEvent) => void) | undefined;
119
119
  onHoverChange?: ((isHovering: boolean) => void) | undefined;
120
120
  textValue?: string | undefined;
121
121
  hrefLang?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/flow-react-components",
3
- "version": "1.2.0-next.50",
3
+ "version": "1.2.0-next.51",
4
4
  "type": "module",
5
5
  "description": "A React implementation of Flow, mittwald’s design system",
6
6
  "homepage": "https://flow.mittwald.de",
@@ -79,9 +79,9 @@
79
79
  "@internationalized/string-compiler": "^3.4.1",
80
80
  "@lezer/common": "^1.5.2",
81
81
  "@lezer/highlight": "^1.2.3",
82
- "@mittwald/flow-icons": "1.2.0-next.50",
82
+ "@mittwald/flow-icons": "1.2.0-next.51",
83
83
  "@mittwald/password-tools-js": "^3.0.0",
84
- "@mittwald/react-tunnel": "1.2.0-next.50",
84
+ "@mittwald/react-tunnel": "1.2.0-next.51",
85
85
  "@mittwald/react-use-promise": "^4.2.2",
86
86
  "@react-aria/form": "^3.2.1",
87
87
  "@react-aria/i18n": "^3.13.1",
@@ -134,12 +134,12 @@
134
134
  "@internationalized/date": "^3.12.3",
135
135
  "@lezer/generator": "^1.8.0",
136
136
  "@lezer/lr": "^1.4.10",
137
- "@mittwald/flow-core": "1.2.0-next.50",
138
- "@mittwald/flow-design-tokens": "1.2.0-next.50",
139
- "@mittwald/flow-icons-base": "1.2.0-next.50",
137
+ "@mittwald/flow-core": "1.2.0-next.51",
138
+ "@mittwald/flow-design-tokens": "1.2.0-next.51",
139
+ "@mittwald/flow-icons-base": "1.2.0-next.51",
140
140
  "@mittwald/react-use-promise": "^4.2.2",
141
141
  "@mittwald/remote-dom-react": "1.2.2-mittwald.10",
142
- "@mittwald/typescript-config": "1.2.0-next.50",
142
+ "@mittwald/typescript-config": "1.2.0-next.51",
143
143
  "@nx/storybook": "^22.7.6",
144
144
  "@storybook/addon-a11y": "^10.5.10",
145
145
  "@storybook/addon-actions": "^9.0.8",
@@ -191,7 +191,7 @@
191
191
  },
192
192
  "peerDependencies": {
193
193
  "@internationalized/date": "^3.12.2",
194
- "@mittwald/flow-icons-pro": "1.2.0-next.50",
194
+ "@mittwald/flow-icons-pro": "1.2.0-next.51",
195
195
  "@mittwald/react-use-promise": "^4.2.2",
196
196
  "next": "^16.2.3",
197
197
  "react": "^19.2.0",
@@ -215,5 +215,5 @@
215
215
  "browserslist": [
216
216
  "baseline widely available"
217
217
  ],
218
- "gitHead": "8d45eb915e3f41d17452ca3166035212b3213082"
218
+ "gitHead": "c80ba9b1f9d8dd49df4d81d21a22b113f400dceb"
219
219
  }