@mantine/store 9.0.0-alpha.5 → 9.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/index.cjs CHANGED
@@ -1,9 +1,4 @@
1
- 'use strict';
2
-
3
- var store = require('./store.cjs');
4
-
5
-
6
-
7
- exports.createStore = store.createStore;
8
- exports.useStore = store.useStore;
9
- //# sourceMappingURL=index.cjs.map
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_store = require("./store.cjs");
3
+ exports.createStore = require_store.createStore;
4
+ exports.useStore = require_store.useStore;
package/cjs/store.cjs CHANGED
@@ -1,43 +1,38 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var react = require('react');
5
-
1
+ "use client";
2
+ let react = require("react");
3
+ //#region packages/@mantine/store/src/store.ts
6
4
  function createStore(initialState) {
7
- let state = initialState;
8
- let initialized = false;
9
- const listeners = /* @__PURE__ */ new Set();
10
- return {
11
- getState() {
12
- return state;
13
- },
14
- updateState(value) {
15
- state = typeof value === "function" ? value(state) : value;
16
- },
17
- setState(value) {
18
- this.updateState(value);
19
- listeners.forEach((listener) => listener(state));
20
- },
21
- initialize(value) {
22
- if (!initialized) {
23
- state = value;
24
- initialized = true;
25
- }
26
- },
27
- subscribe(callback) {
28
- listeners.add(callback);
29
- return () => listeners.delete(callback);
30
- }
31
- };
5
+ let state = initialState;
6
+ let initialized = false;
7
+ const listeners = /* @__PURE__ */ new Set();
8
+ return {
9
+ getState() {
10
+ return state;
11
+ },
12
+ updateState(value) {
13
+ state = typeof value === "function" ? value(state) : value;
14
+ },
15
+ setState(value) {
16
+ this.updateState(value);
17
+ listeners.forEach((listener) => listener(state));
18
+ },
19
+ initialize(value) {
20
+ if (!initialized) {
21
+ state = value;
22
+ initialized = true;
23
+ }
24
+ },
25
+ subscribe(callback) {
26
+ listeners.add(callback);
27
+ return () => listeners.delete(callback);
28
+ }
29
+ };
32
30
  }
33
31
  function useStore(store) {
34
- return react.useSyncExternalStore(
35
- store.subscribe,
36
- () => store.getState(),
37
- () => store.getState()
38
- );
32
+ return (0, react.useSyncExternalStore)(store.subscribe, () => store.getState(), () => store.getState());
39
33
  }
40
-
34
+ //#endregion
41
35
  exports.createStore = createStore;
42
36
  exports.useStore = useStore;
43
- //# sourceMappingURL=store.cjs.map
37
+
38
+ //# sourceMappingURL=store.cjs.map
package/cjs/store.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.cjs","sources":["../src/store.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nexport type MantineStoreSubscriber<Value> = (value: Value) => void;\ntype SetStateCallback<Value> = (value: Value) => Value;\n\nexport interface MantineStore<Value> {\n getState: () => Value;\n setState: (value: Value | SetStateCallback<Value>) => void;\n updateState: (value: Value | SetStateCallback<Value>) => void;\n initialize: (value: Value) => void;\n subscribe: (callback: MantineStoreSubscriber<Value>) => () => void;\n}\n\nexport type MantineStoreValue<Store extends MantineStore<any>> = ReturnType<Store['getState']>;\n\nexport function createStore<Value extends Record<string, any>>(\n initialState: Value\n): MantineStore<Value> {\n let state = initialState;\n let initialized = false;\n const listeners = new Set<MantineStoreSubscriber<Value>>();\n\n return {\n getState() {\n return state;\n },\n\n updateState(value) {\n state = typeof value === 'function' ? value(state) : value;\n },\n\n setState(value) {\n this.updateState(value);\n listeners.forEach((listener) => listener(state));\n },\n\n initialize(value) {\n if (!initialized) {\n state = value;\n initialized = true;\n }\n },\n\n subscribe(callback) {\n listeners.add(callback);\n return () => listeners.delete(callback);\n },\n };\n}\n\nexport function useStore<Store extends MantineStore<any>>(store: Store) {\n return useSyncExternalStore<MantineStoreValue<Store>>(\n store.subscribe,\n () => store.getState(),\n () => store.getState()\n );\n}\n"],"names":["useSyncExternalStore"],"mappings":"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"}
1
+ {"version":3,"file":"store.cjs","names":[],"sources":["../src/store.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nexport type MantineStoreSubscriber<Value> = (value: Value) => void;\ntype SetStateCallback<Value> = (value: Value) => Value;\n\nexport interface MantineStore<Value> {\n getState: () => Value;\n setState: (value: Value | SetStateCallback<Value>) => void;\n updateState: (value: Value | SetStateCallback<Value>) => void;\n initialize: (value: Value) => void;\n subscribe: (callback: MantineStoreSubscriber<Value>) => () => void;\n}\n\nexport type MantineStoreValue<Store extends MantineStore<any>> = ReturnType<Store['getState']>;\n\nexport function createStore<Value extends Record<string, any>>(\n initialState: Value\n): MantineStore<Value> {\n let state = initialState;\n let initialized = false;\n const listeners = new Set<MantineStoreSubscriber<Value>>();\n\n return {\n getState() {\n return state;\n },\n\n updateState(value) {\n state = typeof value === 'function' ? value(state) : value;\n },\n\n setState(value) {\n this.updateState(value);\n listeners.forEach((listener) => listener(state));\n },\n\n initialize(value) {\n if (!initialized) {\n state = value;\n initialized = true;\n }\n },\n\n subscribe(callback) {\n listeners.add(callback);\n return () => listeners.delete(callback);\n },\n };\n}\n\nexport function useStore<Store extends MantineStore<any>>(store: Store) {\n return useSyncExternalStore<MantineStoreValue<Store>>(\n store.subscribe,\n () => store.getState(),\n () => store.getState()\n );\n}\n"],"mappings":";;;AAeA,SAAgB,YACd,cACqB;CACrB,IAAI,QAAQ;CACZ,IAAI,cAAc;CAClB,MAAM,4BAAY,IAAI,KAAoC;AAE1D,QAAO;EACL,WAAW;AACT,UAAO;;EAGT,YAAY,OAAO;AACjB,WAAQ,OAAO,UAAU,aAAa,MAAM,MAAM,GAAG;;EAGvD,SAAS,OAAO;AACd,QAAK,YAAY,MAAM;AACvB,aAAU,SAAS,aAAa,SAAS,MAAM,CAAC;;EAGlD,WAAW,OAAO;AAChB,OAAI,CAAC,aAAa;AAChB,YAAQ;AACR,kBAAc;;;EAIlB,UAAU,UAAU;AAClB,aAAU,IAAI,SAAS;AACvB,gBAAa,UAAU,OAAO,SAAS;;EAE1C;;AAGH,SAAgB,SAA0C,OAAc;AACtE,SAAA,GAAA,MAAA,sBACE,MAAM,iBACA,MAAM,UAAU,QAChB,MAAM,UAAU,CACvB"}
package/esm/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { createStore, useStore } from './store.mjs';
2
- //# sourceMappingURL=index.mjs.map
1
+ import { createStore, useStore } from "./store.mjs";
2
+ export { createStore, useStore };
package/esm/store.mjs CHANGED
@@ -1,40 +1,37 @@
1
- 'use client';
2
- import { useSyncExternalStore } from 'react';
3
-
1
+ "use client";
2
+ import { useSyncExternalStore } from "react";
3
+ //#region packages/@mantine/store/src/store.ts
4
4
  function createStore(initialState) {
5
- let state = initialState;
6
- let initialized = false;
7
- const listeners = /* @__PURE__ */ new Set();
8
- return {
9
- getState() {
10
- return state;
11
- },
12
- updateState(value) {
13
- state = typeof value === "function" ? value(state) : value;
14
- },
15
- setState(value) {
16
- this.updateState(value);
17
- listeners.forEach((listener) => listener(state));
18
- },
19
- initialize(value) {
20
- if (!initialized) {
21
- state = value;
22
- initialized = true;
23
- }
24
- },
25
- subscribe(callback) {
26
- listeners.add(callback);
27
- return () => listeners.delete(callback);
28
- }
29
- };
5
+ let state = initialState;
6
+ let initialized = false;
7
+ const listeners = /* @__PURE__ */ new Set();
8
+ return {
9
+ getState() {
10
+ return state;
11
+ },
12
+ updateState(value) {
13
+ state = typeof value === "function" ? value(state) : value;
14
+ },
15
+ setState(value) {
16
+ this.updateState(value);
17
+ listeners.forEach((listener) => listener(state));
18
+ },
19
+ initialize(value) {
20
+ if (!initialized) {
21
+ state = value;
22
+ initialized = true;
23
+ }
24
+ },
25
+ subscribe(callback) {
26
+ listeners.add(callback);
27
+ return () => listeners.delete(callback);
28
+ }
29
+ };
30
30
  }
31
31
  function useStore(store) {
32
- return useSyncExternalStore(
33
- store.subscribe,
34
- () => store.getState(),
35
- () => store.getState()
36
- );
32
+ return useSyncExternalStore(store.subscribe, () => store.getState(), () => store.getState());
37
33
  }
38
-
34
+ //#endregion
39
35
  export { createStore, useStore };
40
- //# sourceMappingURL=store.mjs.map
36
+
37
+ //# sourceMappingURL=store.mjs.map
package/esm/store.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.mjs","sources":["../src/store.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nexport type MantineStoreSubscriber<Value> = (value: Value) => void;\ntype SetStateCallback<Value> = (value: Value) => Value;\n\nexport interface MantineStore<Value> {\n getState: () => Value;\n setState: (value: Value | SetStateCallback<Value>) => void;\n updateState: (value: Value | SetStateCallback<Value>) => void;\n initialize: (value: Value) => void;\n subscribe: (callback: MantineStoreSubscriber<Value>) => () => void;\n}\n\nexport type MantineStoreValue<Store extends MantineStore<any>> = ReturnType<Store['getState']>;\n\nexport function createStore<Value extends Record<string, any>>(\n initialState: Value\n): MantineStore<Value> {\n let state = initialState;\n let initialized = false;\n const listeners = new Set<MantineStoreSubscriber<Value>>();\n\n return {\n getState() {\n return state;\n },\n\n updateState(value) {\n state = typeof value === 'function' ? value(state) : value;\n },\n\n setState(value) {\n this.updateState(value);\n listeners.forEach((listener) => listener(state));\n },\n\n initialize(value) {\n if (!initialized) {\n state = value;\n initialized = true;\n }\n },\n\n subscribe(callback) {\n listeners.add(callback);\n return () => listeners.delete(callback);\n },\n };\n}\n\nexport function useStore<Store extends MantineStore<any>>(store: Store) {\n return useSyncExternalStore<MantineStoreValue<Store>>(\n store.subscribe,\n () => store.getState(),\n () => store.getState()\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.mjs","names":[],"sources":["../src/store.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nexport type MantineStoreSubscriber<Value> = (value: Value) => void;\ntype SetStateCallback<Value> = (value: Value) => Value;\n\nexport interface MantineStore<Value> {\n getState: () => Value;\n setState: (value: Value | SetStateCallback<Value>) => void;\n updateState: (value: Value | SetStateCallback<Value>) => void;\n initialize: (value: Value) => void;\n subscribe: (callback: MantineStoreSubscriber<Value>) => () => void;\n}\n\nexport type MantineStoreValue<Store extends MantineStore<any>> = ReturnType<Store['getState']>;\n\nexport function createStore<Value extends Record<string, any>>(\n initialState: Value\n): MantineStore<Value> {\n let state = initialState;\n let initialized = false;\n const listeners = new Set<MantineStoreSubscriber<Value>>();\n\n return {\n getState() {\n return state;\n },\n\n updateState(value) {\n state = typeof value === 'function' ? value(state) : value;\n },\n\n setState(value) {\n this.updateState(value);\n listeners.forEach((listener) => listener(state));\n },\n\n initialize(value) {\n if (!initialized) {\n state = value;\n initialized = true;\n }\n },\n\n subscribe(callback) {\n listeners.add(callback);\n return () => listeners.delete(callback);\n },\n };\n}\n\nexport function useStore<Store extends MantineStore<any>>(store: Store) {\n return useSyncExternalStore<MantineStoreValue<Store>>(\n store.subscribe,\n () => store.getState(),\n () => store.getState()\n );\n}\n"],"mappings":";;;AAeA,SAAgB,YACd,cACqB;CACrB,IAAI,QAAQ;CACZ,IAAI,cAAc;CAClB,MAAM,4BAAY,IAAI,KAAoC;AAE1D,QAAO;EACL,WAAW;AACT,UAAO;;EAGT,YAAY,OAAO;AACjB,WAAQ,OAAO,UAAU,aAAa,MAAM,MAAM,GAAG;;EAGvD,SAAS,OAAO;AACd,QAAK,YAAY,MAAM;AACvB,aAAU,SAAS,aAAa,SAAS,MAAM,CAAC;;EAGlD,WAAW,OAAO;AAChB,OAAI,CAAC,aAAa;AAChB,YAAQ;AACR,kBAAc;;;EAIlB,UAAU,UAAU;AAClB,aAAU,IAAI,SAAS;AACvB,gBAAa,UAAU,OAAO,SAAS;;EAE1C;;AAGH,SAAgB,SAA0C,OAAc;AACtE,QAAO,qBACL,MAAM,iBACA,MAAM,UAAU,QAChB,MAAM,UAAU,CACvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/store",
3
- "version": "9.0.0-alpha.5",
3
+ "version": "9.0.0-alpha.6",
4
4
  "description": "A library to sync external React state updates",
5
5
  "homepage": "https://mantine.dev",
6
6
  "license": "MIT",
package/cjs/index.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
package/esm/index.mjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}