@plitzi/sdk-collections 0.30.19

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/CHANGELOG.md ADDED
@@ -0,0 +1,183 @@
1
+ # @plitzi/sdk-collections
2
+
3
+ ## 0.30.19
4
+
5
+ ### Patch Changes
6
+
7
+ - v0.30.19
8
+ - Updated dependencies
9
+ - @plitzi/sdk-shared@0.30.19
10
+
11
+ ## 0.30.18
12
+
13
+ ### Patch Changes
14
+
15
+ - v0.30.18
16
+ - Updated dependencies
17
+ - @plitzi/sdk-shared@0.30.18
18
+
19
+ ## 0.30.17
20
+
21
+ ### Patch Changes
22
+
23
+ - v0.31.0
24
+ - Updated dependencies
25
+ - @plitzi/sdk-shared@0.30.17
26
+
27
+ ## 0.30.16
28
+
29
+ ### Patch Changes
30
+
31
+ - v0.30.16
32
+ - Updated dependencies
33
+ - @plitzi/sdk-shared@0.30.16
34
+
35
+ ## 0.30.15
36
+
37
+ ### Patch Changes
38
+
39
+ - v0.30.15
40
+ - Updated dependencies
41
+ - @plitzi/sdk-shared@0.30.15
42
+
43
+ ## 0.30.14
44
+
45
+ ### Patch Changes
46
+
47
+ - v0.30.14
48
+ - Updated dependencies
49
+ - @plitzi/sdk-shared@0.30.14
50
+
51
+ ## 0.30.13
52
+
53
+ ### Patch Changes
54
+
55
+ - v0.30.13
56
+ - Updated dependencies
57
+ - @plitzi/sdk-shared@0.30.13
58
+
59
+ ## 0.30.12
60
+
61
+ ### Patch Changes
62
+
63
+ - v0.30.12
64
+ - Updated dependencies
65
+ - @plitzi/sdk-shared@0.30.12
66
+
67
+ ## 0.30.11
68
+
69
+ ### Patch Changes
70
+
71
+ - v0.30.11
72
+ - Updated dependencies
73
+ - @plitzi/sdk-shared@0.30.11
74
+
75
+ ## 0.30.10
76
+
77
+ ### Patch Changes
78
+
79
+ - v0.30.10
80
+ - Updated dependencies
81
+ - @plitzi/sdk-shared@0.30.10
82
+
83
+ ## 0.30.9
84
+
85
+ ### Patch Changes
86
+
87
+ - v0.30.9
88
+ - Updated dependencies
89
+ - @plitzi/sdk-shared@0.30.9
90
+
91
+ ## 0.30.8
92
+
93
+ ### Patch Changes
94
+
95
+ - v0.30.8
96
+ - Updated dependencies
97
+ - @plitzi/sdk-shared@0.30.8
98
+
99
+ ## 0.30.7
100
+
101
+ ### Patch Changes
102
+
103
+ - v0.30.7
104
+ - Updated dependencies
105
+ - @plitzi/sdk-shared@0.30.7
106
+
107
+ ## 0.30.6
108
+
109
+ ### Patch Changes
110
+
111
+ - v0.30.6
112
+ - Updated dependencies
113
+ - @plitzi/sdk-shared@0.30.6
114
+
115
+ ## 0.30.5
116
+
117
+ ### Patch Changes
118
+
119
+ - v0.30.5
120
+ - Updated dependencies
121
+ - @plitzi/sdk-shared@0.30.5
122
+
123
+ ## 0.30.4
124
+
125
+ ### Patch Changes
126
+
127
+ - v0.30.4
128
+ - Updated dependencies
129
+ - @plitzi/sdk-shared@0.30.4
130
+
131
+ ## 0.30.3
132
+
133
+ ### Patch Changes
134
+
135
+ - v0.30.3
136
+ - Updated dependencies
137
+ - @plitzi/sdk-shared@0.30.3
138
+
139
+ ## 0.30.2
140
+
141
+ ### Patch Changes
142
+
143
+ - v0.30.2
144
+ - Updated dependencies
145
+ - @plitzi/sdk-shared@0.30.2
146
+
147
+ ## 0.30.1
148
+
149
+ ### Patch Changes
150
+
151
+ - v0.30.1
152
+ - Updated dependencies
153
+ - @plitzi/sdk-shared@0.30.1
154
+
155
+ ## 0.30.0
156
+
157
+ ### Minor Changes
158
+
159
+ - v0.30.0
160
+
161
+ ### Patch Changes
162
+
163
+ - Updated dependencies
164
+ - @plitzi/sdk-shared@0.30.0
165
+
166
+ ## 0.29.0
167
+
168
+ ### Minor Changes
169
+
170
+ - v0.29.0
171
+
172
+ ### Patch Changes
173
+
174
+ - Updated dependencies
175
+ - @plitzi/sdk-shared@0.29.0
176
+
177
+ ## 0.28.14
178
+
179
+ ### Patch Changes
180
+
181
+ - v0.28.14
182
+ - Updated dependencies
183
+ - @plitzi/sdk-shared@0.28.14
@@ -0,0 +1,34 @@
1
+ import { Collection, CollectionRecord } from '@plitzi/sdk-shared';
2
+ export declare const CollectionsActions: {
3
+ readonly COLLECTIONS_INIT: "COLLECTIONS_INIT";
4
+ readonly COLLECTIONS_ADD: "COLLECTIONS_ADD";
5
+ readonly COLLECTIONS_ADD_MANY: "COLLECTIONS_ADD_MANY";
6
+ readonly COLLECTIONS_UPDATE: "COLLECTIONS_UPDATE";
7
+ readonly COLLECTIONS_REMOVE: "COLLECTIONS_REMOVE";
8
+ readonly COLLECTION_RECORDS_ADD: "COLLECTION_RECORDS_ADD";
9
+ readonly COLLECTION_RECORDS_ADD_MANY: "COLLECTION_RECORDS_ADD_MANY";
10
+ readonly COLLECTION_RECORDS_UPDATE: "COLLECTION_RECORDS_UPDATE";
11
+ readonly COLLECTION_RECORDS_REMOVE: "COLLECTION_RECORDS_REMOVE";
12
+ };
13
+ export type CollectionReducerActions = {
14
+ type: 'COLLECTIONS_INIT' | 'COLLECTIONS_ADD' | 'COLLECTIONS_ADD_MANY' | 'COLLECTIONS_UPDATE' | 'COLLECTIONS_REMOVE';
15
+ collections: Record<string, Collection>;
16
+ } | {
17
+ type: 'COLLECTION_RECORDS_ADD';
18
+ collectionId: string;
19
+ record: CollectionRecord;
20
+ } | {
21
+ type: 'COLLECTION_RECORDS_ADD_MANY';
22
+ collectionId: string;
23
+ records: CollectionRecord[];
24
+ } | {
25
+ type: 'COLLECTION_RECORDS_UPDATE';
26
+ collectionId: string;
27
+ record: CollectionRecord;
28
+ } | {
29
+ type: 'COLLECTION_RECORDS_REMOVE';
30
+ collectionId: string;
31
+ recordId: string;
32
+ };
33
+ declare const CollectionReducer: (state: Record<string, Collection>, action: CollectionReducerActions) => Record<string, Collection>;
34
+ export default CollectionReducer;
@@ -0,0 +1,45 @@
1
+ import { get as e, set as t } from "@plitzi/plitzi-ui/helpers";
2
+ import { produce as n } from "immer";
3
+ //#region src/CollectionReducer.ts
4
+ var r = {
5
+ COLLECTIONS_INIT: "COLLECTIONS_INIT",
6
+ COLLECTIONS_ADD: "COLLECTIONS_ADD",
7
+ COLLECTIONS_ADD_MANY: "COLLECTIONS_ADD_MANY",
8
+ COLLECTIONS_UPDATE: "COLLECTIONS_UPDATE",
9
+ COLLECTIONS_REMOVE: "COLLECTIONS_REMOVE",
10
+ COLLECTION_RECORDS_ADD: "COLLECTION_RECORDS_ADD",
11
+ COLLECTION_RECORDS_ADD_MANY: "COLLECTION_RECORDS_ADD_MANY",
12
+ COLLECTION_RECORDS_UPDATE: "COLLECTION_RECORDS_UPDATE",
13
+ COLLECTION_RECORDS_REMOVE: "COLLECTION_RECORDS_REMOVE"
14
+ }, i = (i, a) => {
15
+ switch (a.type) {
16
+ case r.COLLECTIONS_INIT:
17
+ case r.COLLECTIONS_ADD:
18
+ case r.COLLECTIONS_ADD_MANY:
19
+ case r.COLLECTIONS_UPDATE:
20
+ case r.COLLECTIONS_REMOVE: return { ...a.collections };
21
+ case r.COLLECTION_RECORDS_ADD: return n(i, (n) => {
22
+ let r = e(n, `${a.collectionId}.records`, []);
23
+ t(n, `${a.collectionId}.records`, [...r, a.record]);
24
+ });
25
+ case r.COLLECTION_RECORDS_ADD_MANY: return n(i, (e) => {
26
+ t(e, `${a.collectionId}.records`, a.records);
27
+ });
28
+ case r.COLLECTION_RECORDS_UPDATE: return n(i, (n) => {
29
+ let r = e(n, `${a.collectionId}.records`, []).findIndex((e) => e.id === a.record.id);
30
+ t(n, `${a.collectionId}.records.${r}`, a.record);
31
+ });
32
+ case r.COLLECTION_RECORDS_REMOVE: {
33
+ let { collectionId: e, recordId: r } = a;
34
+ return n(i, (n) => {
35
+ let o = i[e];
36
+ if (!o) return;
37
+ let { records: s } = o;
38
+ t(n, `${a.collectionId}.records`, s.filter((e) => e.id !== r));
39
+ });
40
+ }
41
+ default: return i;
42
+ }
43
+ };
44
+ //#endregion
45
+ export { r as CollectionsActions, i as default };
@@ -0,0 +1,97 @@
1
+ export declare const fieldParams: {
2
+ text: {
3
+ required: boolean;
4
+ minLength: number;
5
+ maxLength: number;
6
+ multiline: boolean;
7
+ };
8
+ richText: {};
9
+ image: {};
10
+ multiImage: {};
11
+ video: {};
12
+ link: {};
13
+ email: {};
14
+ phone: {};
15
+ number: {};
16
+ date: {};
17
+ switch: {};
18
+ color: {};
19
+ option: {};
20
+ file: {};
21
+ };
22
+ export declare const fieldParamsDefinition: {
23
+ required: {};
24
+ minLength: {
25
+ label: string;
26
+ type: string;
27
+ };
28
+ maxLength: {
29
+ label: string;
30
+ type: string;
31
+ };
32
+ multiline: {};
33
+ };
34
+ export declare const fieldTypes: {
35
+ text: {
36
+ icon: string;
37
+ label: string;
38
+ };
39
+ richText: {
40
+ icon: string;
41
+ label: string;
42
+ };
43
+ image: {
44
+ icon: string;
45
+ label: string;
46
+ };
47
+ multiImage: {
48
+ icon: string;
49
+ label: string;
50
+ };
51
+ video: {
52
+ icon: string;
53
+ label: string;
54
+ };
55
+ link: {
56
+ icon: string;
57
+ label: string;
58
+ };
59
+ email: {
60
+ icon: string;
61
+ label: string;
62
+ };
63
+ phone: {
64
+ icon: string;
65
+ label: string;
66
+ };
67
+ number: {
68
+ icon: string;
69
+ label: string;
70
+ };
71
+ date: {
72
+ icon: string;
73
+ label: string;
74
+ };
75
+ switch: {
76
+ icon: string;
77
+ label: string;
78
+ };
79
+ color: {
80
+ icon: string;
81
+ label: string;
82
+ };
83
+ option: {
84
+ icon: string;
85
+ label: string;
86
+ };
87
+ file: {
88
+ icon: string;
89
+ label: string;
90
+ };
91
+ };
92
+ export declare const collectionFieldTypeToInteractions: (type: keyof typeof fieldParams | "boolean") => "boolean" | "text" | "select";
93
+ export declare const fieldTypesOptions: {
94
+ label: string;
95
+ value: string;
96
+ icon: import("react/jsx-runtime").JSX.Element;
97
+ }[];
@@ -0,0 +1,114 @@
1
+ import e from "@plitzi/plitzi-ui/Icon";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/CollectionsHelper.tsx
4
+ var n = {
5
+ text: {
6
+ required: !0,
7
+ minLength: 5,
8
+ maxLength: 30,
9
+ multiline: !1
10
+ },
11
+ richText: {},
12
+ image: {},
13
+ multiImage: {},
14
+ video: {},
15
+ link: {},
16
+ email: {},
17
+ phone: {},
18
+ number: {},
19
+ date: {},
20
+ switch: {},
21
+ color: {},
22
+ option: {},
23
+ file: {}
24
+ }, r = {
25
+ required: {},
26
+ minLength: {
27
+ label: "Minimum character count (with spaces)",
28
+ type: "number"
29
+ },
30
+ maxLength: {
31
+ label: "Maximum character count (with spaces)",
32
+ type: "number"
33
+ },
34
+ multiline: {}
35
+ }, i = {
36
+ text: {
37
+ icon: "fas fa-font",
38
+ label: "Plain Text"
39
+ },
40
+ richText: {
41
+ icon: "fas fa-align-justify",
42
+ label: "Rich Text"
43
+ },
44
+ image: {
45
+ icon: "far fa-image",
46
+ label: "Image"
47
+ },
48
+ multiImage: {
49
+ icon: "far fa-images",
50
+ label: "Multi Image"
51
+ },
52
+ video: {
53
+ icon: "fab fa-youtube",
54
+ label: "Video Link"
55
+ },
56
+ link: {
57
+ icon: "fas fa-link",
58
+ label: "Link"
59
+ },
60
+ email: {
61
+ icon: "far fa-envelope",
62
+ label: "Email"
63
+ },
64
+ phone: {
65
+ icon: "fas fa-phone",
66
+ label: "Phone"
67
+ },
68
+ number: {
69
+ icon: "fas fa-hashtag",
70
+ label: "Number"
71
+ },
72
+ date: {
73
+ icon: "fas fa-calendar-day",
74
+ label: "Date / Time"
75
+ },
76
+ switch: {
77
+ icon: "fas fa-toggle-off",
78
+ label: "Switch"
79
+ },
80
+ color: {
81
+ icon: "fas fa-tint",
82
+ label: "Color"
83
+ },
84
+ option: {
85
+ icon: "",
86
+ label: "Option"
87
+ },
88
+ file: {
89
+ icon: "far fa-file",
90
+ label: "File"
91
+ }
92
+ }, a = (e) => {
93
+ let t;
94
+ switch (e) {
95
+ case "switch":
96
+ case "boolean":
97
+ t = "boolean";
98
+ break;
99
+ case "option":
100
+ t = "select";
101
+ break;
102
+ default: t = "text";
103
+ }
104
+ return t;
105
+ }, o = Object.keys(i).map((n) => ({
106
+ label: n,
107
+ value: n,
108
+ icon: /* @__PURE__ */ t(e, {
109
+ icon: i[n].icon,
110
+ size: "xs"
111
+ })
112
+ }));
113
+ //#endregion
114
+ export { a as collectionFieldTypeToInteractions, n as fieldParams, r as fieldParamsDefinition, i as fieldTypes, o as fieldTypesOptions };
@@ -0,0 +1,4 @@
1
+ import { default as CollectionReducer } from './CollectionReducer';
2
+ export * from './CollectionsHelper';
3
+ export * from './CollectionReducer';
4
+ export { CollectionReducer };
package/dist/index.mjs ADDED
@@ -0,0 +1,3 @@
1
+ import e, { CollectionsActions as t } from "./CollectionReducer.mjs";
2
+ import { collectionFieldTypeToInteractions as n, fieldParams as r, fieldParamsDefinition as i, fieldTypes as a, fieldTypesOptions as o } from "./CollectionsHelper.mjs";
3
+ export { e as CollectionReducer, t as CollectionsActions, n as collectionFieldTypeToInteractions, r as fieldParams, i as fieldParamsDefinition, a as fieldTypes, o as fieldTypesOptions };
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@plitzi/sdk-collections",
3
+ "version": "0.30.19",
4
+ "license": "AGPL-3.0",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs"
12
+ },
13
+ "./CollectionReducer": {
14
+ "types": "./dist/CollectionReducer.d.ts",
15
+ "import": "./dist/CollectionReducer.mjs"
16
+ },
17
+ "./CollectionsHelper": {
18
+ "types": "./dist/CollectionsHelper.d.ts",
19
+ "import": "./dist/CollectionsHelper.mjs"
20
+ },
21
+ "./index": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.mjs"
24
+ }
25
+ },
26
+ "scripts": {
27
+ "lint": "eslint ./src",
28
+ "typecheck": "tsc -p tsconfig.app.json --noEmit",
29
+ "build:dev": "vite build --mode development --minify false && node ../sdk-shared/scripts/generate-exports.mjs",
30
+ "build:dev-watch": "vite build --mode development --watch --minify false",
31
+ "build:prod": "vite build && node ../sdk-shared/scripts/generate-exports.mjs"
32
+ },
33
+ "type": "module",
34
+ "sideEffects": false,
35
+ "dependencies": {
36
+ "@plitzi/plitzi-ui": "^1.6.2",
37
+ "@plitzi/sdk-shared": "0.30.19",
38
+ "immer": "^11.1.4"
39
+ },
40
+ "devDependencies": {
41
+ "eslint": "^9.39.4",
42
+ "typescript": "^6.0.3",
43
+ "vite": "^8.0.10"
44
+ }
45
+ }