@thisisagile/easy-react 17.26.0 → 17.26.2

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/dist/index.mjs CHANGED
@@ -1,113 +1,3 @@
1
- // src/layout/If.tsx
2
- import { Fragment, jsx } from "react/jsx-runtime";
3
- var If = ({ condition, children }) => condition ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
4
-
5
- // src/utils/Children.ts
6
- import { isDefined, toList } from "@thisisagile/easy";
7
- import React from "react";
8
- var toChildren = (children) => toList(React.Children.toArray(children).filter(isDefined));
9
-
10
- // src/utils/Hooks.ts
11
- import { isPageList, ofGet, toList as toList2, toPageList } from "@thisisagile/easy";
12
- import { useState } from "react";
13
- var useToggle = (initialState = false) => {
14
- const [state, setState] = useState(initialState);
15
- return [state, () => setState((s) => !s)];
16
- };
17
- function useSwitch(...states) {
18
- const [state, setState] = useState(states[0]);
19
- const next = () => setState((s) => states[(states.indexOf(s) + 1) % states.length]);
20
- const isState = (t) => state === t;
21
- function ifState(t, yes, no) {
22
- return ofGet(state === t ? yes : no, t);
23
- }
24
- return { state, next, states, isState, ifState };
25
- }
26
- var useA = (item = {}) => {
27
- const [state, setState] = useState({ isValid: false, ...item });
28
- return [
29
- state,
30
- (e) => {
31
- setState(e);
32
- return e;
33
- }
34
- ];
35
- };
36
- var useAn = useA;
37
- var useOptional = (item) => {
38
- const [state, setState] = useState(item);
39
- const set = (e) => {
40
- setState(e);
41
- return e;
42
- };
43
- return [state, set, () => set()];
44
- };
45
- var useEntity = useA;
46
- var useList = (...items) => {
47
- const [state, setState] = useState(toList2(...items));
48
- return [
49
- state,
50
- (e) => {
51
- setState(e);
52
- return e;
53
- }
54
- ];
55
- };
56
- var usePageList = (...items) => {
57
- const [pages, setPages] = useState(toPageList(items));
58
- return [
59
- pages,
60
- (e) => {
61
- setPages(e);
62
- return e;
63
- }
64
- ];
65
- };
66
- var usePaging = (f, options) => {
67
- const [list, setList] = usePageList();
68
- const [skip, setSkip] = useState(options?.skip ?? 0);
69
- const [take] = useState(options?.take ?? 5);
70
- const next = (options2 = { skip, take }) => f(options2).then((items) => {
71
- setSkip(skip + take);
72
- return setList(toPageList(list.add(items), items));
73
- });
74
- return [list, next, list.length < (list?.total ?? 0), skip, take];
75
- };
76
- var useGet = (f, initial) => {
77
- const [item, setItem] = useState(initial ?? {});
78
- const getter = () => f().then((i) => {
79
- setItem(i);
80
- return i;
81
- });
82
- return [item, getter];
83
- };
84
- var useGetList = (f) => {
85
- const [list, setList] = usePageList();
86
- const getter = () => f().then((l) => setList(isPageList(l) ? l : toPageList(l, { total: l.length })));
87
- return [list, getter];
88
- };
89
-
90
- // src/utils/useOnce.ts
91
- import { useEffect, useState as useState2 } from "react";
92
- function useOnce(f, options) {
93
- const [item, setItem] = useState2(options?.initial);
94
- useEffect(() => void f().then((i) => setItem(i)), options?.deps ?? []);
95
- return [item];
96
- }
97
- export {
98
- If,
99
- toChildren,
100
- useA,
101
- useAn,
102
- useEntity,
103
- useGet,
104
- useGetList,
105
- useList,
106
- useOnce,
107
- useOptional,
108
- usePageList,
109
- usePaging,
110
- useSwitch,
111
- useToggle
112
- };
1
+ export * from "./layout";
2
+ export * from "./utils";
113
3
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/layout/If.tsx","../src/utils/Children.ts","../src/utils/Hooks.ts","../src/utils/useOnce.ts"],"sourcesContent":["import * as React from 'react';\nimport { FunctionComponent, ReactElement, ReactNode } from 'react';\n\nexport interface IfProps {\n condition: any | undefined;\n children?: ReactNode;\n}\n\nexport const If: FunctionComponent<IfProps> = ({ condition, children }): ReactElement | null => (condition ? <>{children}</> : null);\n","import { isDefined, List, toList } from '@thisisagile/easy';\nimport React, { ReactNode } from 'react';\n\nexport const toChildren = (children: ReactNode): List<ReactNode> => toList(React.Children.toArray(children).filter(isDefined));\n","import { Get, isPageList, List, ofGet, Optional, PageList, PageOptions, Predicate, toList, toPageList, Validatable } from '@thisisagile/easy';\nimport { useState } from 'react';\n\nexport const useToggle = (initialState = false): [boolean, () => void] => {\n const [state, setState] = useState<boolean>(initialState);\n return [state, () => setState(s => !s)];\n};\n\nexport function useSwitch<T>(...states: T[]): {\n state: T;\n next: () => void;\n states: T[];\n isState: Predicate<T>;\n ifState: <U>(t: T, yes: Get<U, T>, no: Get<U, T>) => U;\n} {\n const [state, setState] = useState(states[0]);\n const next = () => setState(s => states[(states.indexOf(s) + 1) % states.length]);\n const isState = (t: T) => state === t;\n\n function ifState<U>(t: T, yes: Get<U, T>, no: Get<U, T>): U {\n return ofGet(state === t ? yes : no, t);\n }\n\n return { state, next, states, isState, ifState };\n}\n\nexport const useA = <E extends Validatable>(item: Partial<E> = {} as Partial<E>): [E, (e: E) => E] => {\n const [state, setState] = useState<E>({ isValid: false, ...item } as E);\n return [\n state,\n (e: E): E => {\n setState(e);\n return e;\n },\n ];\n};\n\nexport const useAn = useA;\n\nexport const useOptional = <E>(item?: Partial<E>): [E, (e: Optional<E>) => Optional<E>, () => Optional<E>] => {\n const [state, setState] = useState<E>(item as E);\n const set = (e?: Optional<E>): Optional<E> => {\n setState(e as E);\n return e;\n };\n return [state, set, (): Optional<E> => set()];\n};\n\nexport const useEntity = useA;\n\nexport const useList = <E>(...items: E[]): [List<E>, (e: List<E>) => List<E>] => {\n const [state, setState] = useState<List<E>>(toList<E>(...items));\n return [\n state,\n (e: List<E>): List<E> => {\n setState(e);\n return e;\n },\n ];\n};\n\nexport const usePageList = <E>(...items: E[]): [PageList<E>, (e: PageList<E>) => PageList<E>] => {\n const [pages, setPages] = useState<PageList<E>>(toPageList<E>(items));\n return [\n pages,\n (e: PageList<E>): PageList<E> => {\n setPages(e);\n return e;\n },\n ];\n};\n\nexport const usePaging = <E>(\n f: (options?: PageOptions) => Promise<PageList<E>>,\n options?: PageOptions\n): [PageList<E>, (options?: PageOptions) => Promise<PageList<E>>, boolean, number, number] => {\n const [list, setList] = usePageList<E>();\n const [skip, setSkip] = useState(options?.skip ?? 0);\n const [take] = useState(options?.take ?? 5);\n const next = (options: PageOptions = { skip, take }) =>\n f(options).then(items => {\n setSkip(skip + take);\n return setList(toPageList(list.add(items), items));\n });\n return [list, next, list.length < (list?.total ?? 0), skip, take];\n};\n\nexport const useGet = <E>(f: () => Promise<E>, initial?: Partial<E>): [E, () => Promise<E>] => {\n const [item, setItem] = useState((initial ?? {}) as E);\n const getter = () =>\n f().then(i => {\n setItem(i);\n return i;\n });\n return [item, getter];\n};\n\nexport const useGetList = <E>(f: () => Promise<List<E>>): [List<E>, () => Promise<PageList<E>>] => {\n const [list, setList] = usePageList<E>();\n const getter = () => f().then(l => setList(isPageList<E>(l) ? l : toPageList(l, { total: l.length })));\n return [list, getter];\n};\n","import { DependencyList, useEffect, useState } from 'react';\n\nexport type UseOnceOptions<E> = {\n deps?: DependencyList;\n initial?: Partial<E>;\n};\n\nexport function useOnce<E>(f: () => Promise<E>, options?: UseOnceOptions<E>): [E] {\n const [item, setItem] = useState(options?.initial as E);\n useEffect(() => void f().then(i => setItem(i)), options?.deps ?? []);\n return [item];\n}\n"],"mappings":"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","names":["toList","options","useState"]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './layout';\nexport * from './utils';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,7 @@
1
+ // src/layout/If.tsx
2
+ import { Fragment, jsx } from "react/jsx-runtime";
3
+ var If = ({ condition, children }) => condition ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
4
+ export {
5
+ If
6
+ };
7
+ //# sourceMappingURL=If.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/layout/If.tsx"],"sourcesContent":["import * as React from 'react';\nimport { FunctionComponent, ReactElement, ReactNode } from 'react';\n\nexport interface IfProps {\n condition: any | undefined;\n children?: ReactNode;\n}\n\nexport const If: FunctionComponent<IfProps> = ({ condition, children }): ReactElement | null => (condition ? <>{children}</> : null);\n"],"mappings":";AAQ6G;AAAtG,IAAM,KAAiC,CAAC,EAAE,WAAW,SAAS,MAA4B,YAAY,gCAAG,UAAS,IAAM;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./If";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/layout/index.ts"],"sourcesContent":["export * from './If';\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,8 @@
1
+ // src/utils/Children.ts
2
+ import { isDefined, toList } from "@thisisagile/easy";
3
+ import React from "react";
4
+ var toChildren = (children) => toList(React.Children.toArray(children).filter(isDefined));
5
+ export {
6
+ toChildren
7
+ };
8
+ //# sourceMappingURL=Children.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/Children.ts"],"sourcesContent":["import { isDefined, List, toList } from '@thisisagile/easy';\nimport React, { ReactNode } from 'react';\n\nexport const toChildren = (children: ReactNode): List<ReactNode> => toList(React.Children.toArray(children).filter(isDefined));\n"],"mappings":";AAAA,SAAS,WAAiB,cAAc;AACxC,OAAO,WAA0B;AAE1B,IAAM,aAAa,CAAC,aAAyC,OAAO,MAAM,SAAS,QAAQ,QAAQ,EAAE,OAAO,SAAS,CAAC;","names":[]}
@@ -0,0 +1,93 @@
1
+ // src/utils/Hooks.ts
2
+ import { isPageList, ofGet, toList, toPageList } from "@thisisagile/easy";
3
+ import { useState } from "react";
4
+ var useToggle = (initialState = false) => {
5
+ const [state, setState] = useState(initialState);
6
+ return [state, () => setState((s) => !s)];
7
+ };
8
+ function useSwitch(...states) {
9
+ const [state, setState] = useState(states[0]);
10
+ const next = () => setState((s) => states[(states.indexOf(s) + 1) % states.length]);
11
+ const isState = (t) => state === t;
12
+ function ifState(t, yes, no) {
13
+ return ofGet(state === t ? yes : no, t);
14
+ }
15
+ return { state, next, states, isState, ifState };
16
+ }
17
+ var useA = (item = {}) => {
18
+ const [state, setState] = useState({ isValid: false, ...item });
19
+ return [
20
+ state,
21
+ (e) => {
22
+ setState(e);
23
+ return e;
24
+ }
25
+ ];
26
+ };
27
+ var useAn = useA;
28
+ var useOptional = (item) => {
29
+ const [state, setState] = useState(item);
30
+ const set = (e) => {
31
+ setState(e);
32
+ return e;
33
+ };
34
+ return [state, set, () => set()];
35
+ };
36
+ var useEntity = useA;
37
+ var useList = (...items) => {
38
+ const [state, setState] = useState(toList(...items));
39
+ return [
40
+ state,
41
+ (e) => {
42
+ setState(e);
43
+ return e;
44
+ }
45
+ ];
46
+ };
47
+ var usePageList = (...items) => {
48
+ const [pages, setPages] = useState(toPageList(items));
49
+ return [
50
+ pages,
51
+ (e) => {
52
+ setPages(e);
53
+ return e;
54
+ }
55
+ ];
56
+ };
57
+ var usePaging = (f, options) => {
58
+ const [list, setList] = usePageList();
59
+ const [skip, setSkip] = useState(options?.skip ?? 0);
60
+ const [take] = useState(options?.take ?? 5);
61
+ const next = (options2 = { skip, take }) => f(options2).then((items) => {
62
+ setSkip(skip + take);
63
+ return setList(toPageList(list.add(items), items));
64
+ });
65
+ return [list, next, list.length < (list?.total ?? 0), skip, take];
66
+ };
67
+ var useGet = (f, initial) => {
68
+ const [item, setItem] = useState(initial ?? {});
69
+ const getter = () => f().then((i) => {
70
+ setItem(i);
71
+ return i;
72
+ });
73
+ return [item, getter];
74
+ };
75
+ var useGetList = (f) => {
76
+ const [list, setList] = usePageList();
77
+ const getter = () => f().then((l) => setList(isPageList(l) ? l : toPageList(l, { total: l.length })));
78
+ return [list, getter];
79
+ };
80
+ export {
81
+ useA,
82
+ useAn,
83
+ useEntity,
84
+ useGet,
85
+ useGetList,
86
+ useList,
87
+ useOptional,
88
+ usePageList,
89
+ usePaging,
90
+ useSwitch,
91
+ useToggle
92
+ };
93
+ //# sourceMappingURL=Hooks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/Hooks.ts"],"sourcesContent":["import { Get, isPageList, List, ofGet, Optional, PageList, PageOptions, Predicate, toList, toPageList, Validatable } from '@thisisagile/easy';\nimport { useState } from 'react';\n\nexport const useToggle = (initialState = false): [boolean, () => void] => {\n const [state, setState] = useState<boolean>(initialState);\n return [state, () => setState(s => !s)];\n};\n\nexport function useSwitch<T>(...states: T[]): {\n state: T;\n next: () => void;\n states: T[];\n isState: Predicate<T>;\n ifState: <U>(t: T, yes: Get<U, T>, no: Get<U, T>) => U;\n} {\n const [state, setState] = useState(states[0]);\n const next = () => setState(s => states[(states.indexOf(s) + 1) % states.length]);\n const isState = (t: T) => state === t;\n\n function ifState<U>(t: T, yes: Get<U, T>, no: Get<U, T>): U {\n return ofGet(state === t ? yes : no, t);\n }\n\n return { state, next, states, isState, ifState };\n}\n\nexport const useA = <E extends Validatable>(item: Partial<E> = {} as Partial<E>): [E, (e: E) => E] => {\n const [state, setState] = useState<E>({ isValid: false, ...item } as E);\n return [\n state,\n (e: E): E => {\n setState(e);\n return e;\n },\n ];\n};\n\nexport const useAn = useA;\n\nexport const useOptional = <E>(item?: Partial<E>): [E, (e: Optional<E>) => Optional<E>, () => Optional<E>] => {\n const [state, setState] = useState<E>(item as E);\n const set = (e?: Optional<E>): Optional<E> => {\n setState(e as E);\n return e;\n };\n return [state, set, (): Optional<E> => set()];\n};\n\nexport const useEntity = useA;\n\nexport const useList = <E>(...items: E[]): [List<E>, (e: List<E>) => List<E>] => {\n const [state, setState] = useState<List<E>>(toList<E>(...items));\n return [\n state,\n (e: List<E>): List<E> => {\n setState(e);\n return e;\n },\n ];\n};\n\nexport const usePageList = <E>(...items: E[]): [PageList<E>, (e: PageList<E>) => PageList<E>] => {\n const [pages, setPages] = useState<PageList<E>>(toPageList<E>(items));\n return [\n pages,\n (e: PageList<E>): PageList<E> => {\n setPages(e);\n return e;\n },\n ];\n};\n\nexport const usePaging = <E>(\n f: (options?: PageOptions) => Promise<PageList<E>>,\n options?: PageOptions\n): [PageList<E>, (options?: PageOptions) => Promise<PageList<E>>, boolean, number, number] => {\n const [list, setList] = usePageList<E>();\n const [skip, setSkip] = useState(options?.skip ?? 0);\n const [take] = useState(options?.take ?? 5);\n const next = (options: PageOptions = { skip, take }) =>\n f(options).then(items => {\n setSkip(skip + take);\n return setList(toPageList(list.add(items), items));\n });\n return [list, next, list.length < (list?.total ?? 0), skip, take];\n};\n\nexport const useGet = <E>(f: () => Promise<E>, initial?: Partial<E>): [E, () => Promise<E>] => {\n const [item, setItem] = useState((initial ?? {}) as E);\n const getter = () =>\n f().then(i => {\n setItem(i);\n return i;\n });\n return [item, getter];\n};\n\nexport const useGetList = <E>(f: () => Promise<List<E>>): [List<E>, () => Promise<PageList<E>>] => {\n const [list, setList] = usePageList<E>();\n const getter = () => f().then(l => setList(isPageList<E>(l) ? l : toPageList(l, { total: l.length })));\n return [list, getter];\n};\n"],"mappings":"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","names":["options"]}
@@ -0,0 +1,4 @@
1
+ export * from "./Children";
2
+ export * from "./Hooks";
3
+ export * from "./useOnce";
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './Children';\nexport * from './Hooks';\nexport * from './useOnce';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,11 @@
1
+ // src/utils/useOnce.ts
2
+ import { useEffect, useState } from "react";
3
+ function useOnce(f, options) {
4
+ const [item, setItem] = useState(options?.initial);
5
+ useEffect(() => void f().then((i) => setItem(i)), options?.deps ?? []);
6
+ return [item];
7
+ }
8
+ export {
9
+ useOnce
10
+ };
11
+ //# sourceMappingURL=useOnce.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/useOnce.ts"],"sourcesContent":["import { DependencyList, useEffect, useState } from 'react';\n\nexport type UseOnceOptions<E> = {\n deps?: DependencyList;\n initial?: Partial<E>;\n};\n\nexport function useOnce<E>(f: () => Promise<E>, options?: UseOnceOptions<E>): [E] {\n const [item, setItem] = useState(options?.initial as E);\n useEffect(() => void f().then(i => setItem(i)), options?.deps ?? []);\n return [item];\n}\n"],"mappings":";AAAA,SAAyB,WAAW,gBAAgB;AAO7C,SAAS,QAAW,GAAqB,SAAkC;AAChF,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,SAAS,OAAY;AACtD,YAAU,MAAM,KAAK,EAAE,EAAE,KAAK,OAAK,QAAQ,CAAC,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAC;AACnE,SAAO,CAAC,IAAI;AACd;","names":[]}
package/package.json CHANGED
@@ -1,20 +1,12 @@
1
1
  {
2
2
  "name": "@thisisagile/easy-react",
3
- "version": "17.26.0",
3
+ "version": "17.26.2",
4
4
  "description": "Straightforward library building micro applications in react",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
7
- "main": "./dist/index.js",
8
- "module": "./dist/index.mjs",
9
- "types": "./dist/index.d.ts",
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.mjs",
14
- "require": "./dist/index.js"
15
- },
16
- "./package.json": "./package.json"
17
- },
7
+ "main": "dist/index.js",
8
+ "module": "dist/index.mjs",
9
+ "types": "dist/index.d.ts",
18
10
  "repository": {
19
11
  "type": "git",
20
12
  "url": "git@github.com:thisisagile/easy.git"
@@ -55,7 +47,7 @@
55
47
  "next-transpile-modules": "^10.0.0"
56
48
  },
57
49
  "dependencies": {
58
- "@thisisagile/easy": "^17.26.0",
50
+ "@thisisagile/easy": "^17.26.2",
59
51
  "react": "^18.3.1",
60
52
  "react-dom": "^18.3.1",
61
53
  "sass": "^1.80.3"