@plurid/plurid-ui-state-react 0.0.0-5 → 0.0.0-8
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/distribution/data/interfaces/index.d.ts +6 -0
- package/distribution/index.es.js +58 -18
- package/distribution/index.es.js.map +1 -1
- package/distribution/index.js +58 -18
- package/distribution/index.js.map +1 -1
- package/distribution/modules/head/index.d.ts +4 -2
- package/distribution/modules/notifications/index.d.ts +16 -11
- package/distribution/modules/shortcuts/index.d.ts +9 -4
- package/distribution/modules/sitting/index.d.ts +10 -5
- package/distribution/modules/themes/index.d.ts +4 -2
- package/package.json +12 -12
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { ActionCreatorWithPayload, ActionCreatorWithoutPayload } from '@reduxjs/toolkit';
|
|
1
2
|
export interface StateOfAny {
|
|
2
3
|
[key: string]: any;
|
|
3
4
|
}
|
|
4
5
|
export declare type StateWithSlice<Key extends string, State = any> = StateOfAny & Record<Key, State>;
|
|
6
|
+
export declare type DispatchAction<A> = A extends ActionCreatorWithPayload<infer P, infer T> ? P extends void ? () => ReturnType<ActionCreatorWithoutPayload<T>> : (payload: P) => ReturnType<ActionCreatorWithPayload<P, T>> : A extends ActionCreatorWithoutPayload<infer T> ? () => ReturnType<ActionCreatorWithoutPayload<T>> : void;
|
|
7
|
+
export declare type DispatchActionWithoutPayload<A> = A extends ActionCreatorWithoutPayload<infer T> ? () => ReturnType<ActionCreatorWithoutPayload<T>> : void;
|
|
5
8
|
export interface Notification {
|
|
6
9
|
id: string;
|
|
7
10
|
text: string;
|
|
@@ -10,3 +13,6 @@ export interface Notification {
|
|
|
10
13
|
timeout?: number;
|
|
11
14
|
wordBreak?: boolean;
|
|
12
15
|
}
|
|
16
|
+
export declare type AddNotificationPayload = Partial<Notification> & {
|
|
17
|
+
text: string;
|
|
18
|
+
};
|
package/distribution/index.es.js
CHANGED
|
@@ -16,8 +16,10 @@ const initialState$4 = {
|
|
|
16
16
|
scripts: []
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
+
const name$4 = "head";
|
|
20
|
+
|
|
19
21
|
const factory$4 = (state = initialState$4) => createSlice({
|
|
20
|
-
name:
|
|
22
|
+
name: name$4,
|
|
21
23
|
initialState: state,
|
|
22
24
|
reducers: {
|
|
23
25
|
setHead: (state, action) => {
|
|
@@ -40,6 +42,8 @@ const reducer$4 = slice$4.reducer;
|
|
|
40
42
|
|
|
41
43
|
var index$4 = Object.freeze({
|
|
42
44
|
__proto__: null,
|
|
45
|
+
initialState: initialState$4,
|
|
46
|
+
name: name$4,
|
|
43
47
|
factory: factory$4,
|
|
44
48
|
slice: slice$4,
|
|
45
49
|
actions: actions$4,
|
|
@@ -50,35 +54,51 @@ var index$4 = Object.freeze({
|
|
|
50
54
|
|
|
51
55
|
const initialState$3 = [];
|
|
52
56
|
|
|
57
|
+
const name$3 = "notifications";
|
|
58
|
+
|
|
53
59
|
const factory$3 = (state = initialState$3) => createSlice({
|
|
54
|
-
name:
|
|
60
|
+
name: name$3,
|
|
55
61
|
initialState: state,
|
|
56
62
|
reducers: {
|
|
57
|
-
|
|
58
|
-
const
|
|
63
|
+
new: (state, action) => {
|
|
64
|
+
const id = Math.random() + "";
|
|
65
|
+
const text = action.payload;
|
|
66
|
+
const newNotification = {
|
|
67
|
+
id: id,
|
|
68
|
+
text: text
|
|
69
|
+
};
|
|
70
|
+
return [ ...state, newNotification ];
|
|
71
|
+
},
|
|
72
|
+
add: (state, action) => {
|
|
73
|
+
const id = action.payload.id || Math.random() + "";
|
|
74
|
+
const newNotification = Object.assign(Object.assign({}, action.payload), {
|
|
75
|
+
id: id
|
|
76
|
+
});
|
|
59
77
|
const existingNotification = state.find((notification => notification.id === newNotification.id));
|
|
60
78
|
if (existingNotification) {
|
|
61
|
-
|
|
79
|
+
const newState = state.map((notification => {
|
|
62
80
|
if (notification.id === newNotification.id) {
|
|
63
81
|
return newNotification;
|
|
64
82
|
}
|
|
65
83
|
return notification;
|
|
66
84
|
}));
|
|
67
|
-
return;
|
|
85
|
+
return newState;
|
|
68
86
|
}
|
|
69
|
-
|
|
87
|
+
return [ ...state, newNotification ];
|
|
70
88
|
},
|
|
71
|
-
|
|
72
|
-
|
|
89
|
+
update: (state, action) => {
|
|
90
|
+
const newState = state.map((message => {
|
|
73
91
|
if (message.id === action.payload.id) {
|
|
74
92
|
const newNotification = Object.assign({}, action.payload);
|
|
75
93
|
return newNotification;
|
|
76
94
|
}
|
|
77
95
|
return Object.assign({}, message);
|
|
78
96
|
}));
|
|
97
|
+
return newState;
|
|
79
98
|
},
|
|
80
|
-
|
|
81
|
-
|
|
99
|
+
remove: (state, action) => {
|
|
100
|
+
const newState = state.filter((message => message.id !== action.payload));
|
|
101
|
+
return newState;
|
|
82
102
|
}
|
|
83
103
|
}
|
|
84
104
|
});
|
|
@@ -97,6 +117,8 @@ const reducer$3 = slice$3.reducer;
|
|
|
97
117
|
|
|
98
118
|
var index$3 = Object.freeze({
|
|
99
119
|
__proto__: null,
|
|
120
|
+
initialState: initialState$3,
|
|
121
|
+
name: name$3,
|
|
100
122
|
factory: factory$3,
|
|
101
123
|
slice: slice$3,
|
|
102
124
|
actions: actions$3,
|
|
@@ -108,12 +130,17 @@ const initialState$2 = {
|
|
|
108
130
|
global: true
|
|
109
131
|
};
|
|
110
132
|
|
|
133
|
+
const name$2 = "shortcuts";
|
|
134
|
+
|
|
111
135
|
const factory$2 = (state = initialState$2) => createSlice({
|
|
112
|
-
name:
|
|
136
|
+
name: name$2,
|
|
113
137
|
initialState: state,
|
|
114
138
|
reducers: {
|
|
115
|
-
|
|
116
|
-
state.global =
|
|
139
|
+
setGlobalShortcuts: (state, action) => {
|
|
140
|
+
state.global = action.payload;
|
|
141
|
+
},
|
|
142
|
+
toggleGlobalShortcuts: (state, _action) => {
|
|
143
|
+
state.global = !state.global;
|
|
117
144
|
}
|
|
118
145
|
}
|
|
119
146
|
});
|
|
@@ -132,6 +159,8 @@ const reducer$2 = slice$2.reducer;
|
|
|
132
159
|
|
|
133
160
|
var index$2 = Object.freeze({
|
|
134
161
|
__proto__: null,
|
|
162
|
+
initialState: initialState$2,
|
|
163
|
+
name: name$2,
|
|
135
164
|
factory: factory$2,
|
|
136
165
|
slice: slice$2,
|
|
137
166
|
actions: actions$2,
|
|
@@ -144,8 +173,10 @@ const initialState$1 = {
|
|
|
144
173
|
tray: false
|
|
145
174
|
};
|
|
146
175
|
|
|
176
|
+
const name$1 = "sitting";
|
|
177
|
+
|
|
147
178
|
const factory$1 = (state = initialState$1) => createSlice({
|
|
148
|
-
name:
|
|
179
|
+
name: name$1,
|
|
149
180
|
initialState: state,
|
|
150
181
|
reducers: {
|
|
151
182
|
setSittingCurrentLink: (state, action) => {
|
|
@@ -154,8 +185,11 @@ const factory$1 = (state = initialState$1) => createSlice({
|
|
|
154
185
|
currentLink: currentLink
|
|
155
186
|
});
|
|
156
187
|
},
|
|
157
|
-
|
|
158
|
-
state.tray =
|
|
188
|
+
setSittingTray: (state, action) => {
|
|
189
|
+
state.tray = action.payload;
|
|
190
|
+
},
|
|
191
|
+
toggleSittingTray: (state, _action) => {
|
|
192
|
+
state.tray = !state.tray;
|
|
159
193
|
}
|
|
160
194
|
}
|
|
161
195
|
});
|
|
@@ -177,6 +211,8 @@ const reducer$1 = slice$1.reducer;
|
|
|
177
211
|
|
|
178
212
|
var index$1 = Object.freeze({
|
|
179
213
|
__proto__: null,
|
|
214
|
+
initialState: initialState$1,
|
|
215
|
+
name: name$1,
|
|
180
216
|
factory: factory$1,
|
|
181
217
|
slice: slice$1,
|
|
182
218
|
actions: actions$1,
|
|
@@ -189,8 +225,10 @@ const initialState = {
|
|
|
189
225
|
interaction: Object.assign({}, plurid)
|
|
190
226
|
};
|
|
191
227
|
|
|
228
|
+
const name = "themes";
|
|
229
|
+
|
|
192
230
|
const factory = (state = initialState) => createSlice({
|
|
193
|
-
name:
|
|
231
|
+
name: name,
|
|
194
232
|
initialState: state,
|
|
195
233
|
reducers: {
|
|
196
234
|
setTheme: (state, action) => {
|
|
@@ -223,6 +261,8 @@ const reducer = slice.reducer;
|
|
|
223
261
|
|
|
224
262
|
var index = Object.freeze({
|
|
225
263
|
__proto__: null,
|
|
264
|
+
initialState: initialState,
|
|
265
|
+
name: name,
|
|
226
266
|
factory: factory,
|
|
227
267
|
slice: slice,
|
|
228
268
|
actions: actions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../source/modules/head/index.ts","../source/modules/notifications/index.ts","../source/modules/shortcuts/index.ts","../source/modules/sitting/index.ts","../source/modules/themes/index.ts"],"sourcesContent":["// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface HeadState {\n title: string;\n description: string;\n canonicalURL: string;\n ogTitle: string;\n ogImage: string;\n ogURL: string;\n ogDescription: string;\n styles: string[];\n scripts: string[];\n}\n\n\nconst initialState: HeadState = {\n title: '',\n description: '',\n ogTitle: '',\n ogImage: '',\n ogURL: '',\n ogDescription: '',\n canonicalURL: '',\n styles: [],\n scripts: [],\n};\n\n\nexport const factory = (\n state: HeadState = initialState,\n) => createSlice({\n name: 'head',\n initialState: state,\n reducers: {\n setHead: (\n state,\n action: PayloadAction<Partial<HeadState>>,\n ) => {\n state = {\n ...state,\n ...action,\n };\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nexport const getHead = (\n state: StateWithSlice<'head', HeadState>,\n): HeadState => state.head;\n\nexport const selectors = {\n getHead,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n Notification,\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport type NotificationsState = Notification[];\n\n\nconst initialState: NotificationsState = [];\n\n\nexport const factory = (\n state: NotificationsState = initialState,\n) => createSlice({\n name: 'notifications',\n initialState: state,\n reducers: {\n addNotification: (\n state,\n action: PayloadAction<Notification>,\n ) => {\n const newNotification: Notification = {\n ...action.payload,\n };\n\n const existingNotification = state.find(\n notification => notification.id === newNotification.id,\n );\n\n if (existingNotification) {\n state = state.map(notification => {\n if (notification.id === newNotification.id) {\n return newNotification;\n }\n\n return notification;\n });\n\n return;\n }\n\n state = [\n ...state,\n newNotification,\n ];\n },\n updateNotification: (\n state,\n action: PayloadAction<Notification>,\n ) => {\n state = state.map(message => {\n if (message.id === action.payload.id) {\n const newNotification: Notification = {\n ...action.payload,\n };\n return newNotification;\n }\n\n return {\n ...message,\n };\n });\n },\n removeNotification: (\n state,\n action: PayloadAction<string>,\n ) => {\n state = state.filter(\n message => message.id !== action.payload,\n );\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getAll = (\n state: StateWithSlice<'notifications', NotificationsState>,\n) => state.notifications;\n\nexport const selectors = {\n getAll,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface ShortcutsState {\n global: boolean;\n}\n\n\nconst initialState: ShortcutsState = {\n global: true,\n};\n\n\nexport const factory = (\n state: ShortcutsState = initialState,\n) => createSlice({\n name: 'shortcuts',\n initialState: state,\n reducers: {\n toggleGlobalShortcuts: (\n state,\n action: PayloadAction<boolean> | PayloadAction<void>,\n ) => {\n state.global = typeof action.payload === 'boolean'\n ? action.payload\n : !state.global;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getGlobal = (\n state: StateWithSlice<'shortcuts', ShortcutsState>,\n) => state.shortcuts.global;\n\nexport const selectors = {\n getGlobal,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface SittingState {\n currentLink: string;\n tray: boolean;\n}\n\n\nconst initialState: SittingState = {\n currentLink: '',\n tray: false,\n};\n\n\nexport const factory = (\n state: SittingState = initialState,\n) => createSlice({\n name: 'sitting',\n initialState: state,\n reducers: {\n setSittingCurrentLink: (\n state,\n action: PayloadAction<string>,\n ) => {\n const currentLink = action.payload;\n\n return {\n ...state,\n currentLink,\n };\n },\n toggleSittingTray: (\n state,\n action: PayloadAction<boolean> | PayloadAction<void>,\n ) => {\n state.tray = typeof action.payload === 'boolean'\n ? action.payload\n : !state.tray;\n }\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getCurrentLink = (\n state: StateWithSlice<'sitting', SittingState>,\n) => state.sitting.currentLink;\nconst getTray = (\n state: StateWithSlice<'sitting', SittingState>,\n) => state.sitting.tray;\n\nexport const selectors = {\n getCurrentLink,\n getTray,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n\n\n import {\n Theme,\n plurid,\n } from '@plurid/plurid-themes';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface ThemesState {\n general: Theme;\n interaction: Theme;\n}\n\n\nconst initialState: ThemesState = {\n general: {\n ...plurid,\n },\n interaction: {\n ...plurid,\n },\n};\n\n\nexport interface SetThemePayload {\n type: 'general' | 'interaction';\n theme: Theme;\n}\n\n\nexport const factory = (\n state: ThemesState = initialState,\n) => createSlice({\n name: 'themes',\n initialState: state,\n reducers: {\n setTheme: (\n state,\n action: PayloadAction<SetThemePayload>,\n ) => {\n const {\n type,\n theme,\n } = action.payload;\n\n state[type] = theme;\n },\n setGeneralTheme: (\n state,\n action: PayloadAction<Theme>,\n ) => {\n state.general = action.payload;\n },\n setInteractionTheme: (\n state,\n action: PayloadAction<Theme>,\n ) => {\n state.interaction = action.payload;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getGeneralTheme = (\n state: StateWithSlice<'themes', ThemesState>,\n) => state.themes.general;\nconst getInteractionTheme = (\n state: StateWithSlice<'themes', ThemesState>,\n) => state.themes.interaction;\n\nexport const selectors = {\n getGeneralTheme,\n getInteractionTheme,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n"],"names":["initialState","title","description","ogTitle","ogImage","ogURL","ogDescription","canonicalURL","styles","scripts","factory","state","createSlice","name","reducers","setHead","action","Object","assign","slice","actions","getHead","head","selectors","reducer","addNotification","newNotification","payload","existingNotification","find","notification","id","map","updateNotification","message","removeNotification","filter","getAll","notifications","global","toggleGlobalShortcuts","getGlobal","shortcuts","currentLink","tray","setSittingCurrentLink","toggleSittingTray","getCurrentLink","sitting","getTray","general","plurid","interaction","setTheme","type","theme","setGeneralTheme","setInteractionTheme","getGeneralTheme","themes","getInteractionTheme"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../source/modules/head/index.ts","../source/modules/notifications/index.ts","../source/modules/shortcuts/index.ts","../source/modules/sitting/index.ts","../source/modules/themes/index.ts"],"sourcesContent":["// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface HeadState {\n title: string;\n description: string;\n canonicalURL: string;\n ogTitle: string;\n ogImage: string;\n ogURL: string;\n ogDescription: string;\n styles: string[];\n scripts: string[];\n}\n\n\nexport const initialState: HeadState = {\n title: '',\n description: '',\n ogTitle: '',\n ogImage: '',\n ogURL: '',\n ogDescription: '',\n canonicalURL: '',\n styles: [],\n scripts: [],\n};\n\nexport const name = 'head' as const;\n\n\nexport const factory = (\n state: HeadState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n setHead: (\n state,\n action: PayloadAction<Partial<HeadState>>,\n ) => {\n state = {\n ...state,\n ...action,\n };\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nexport const getHead = (\n state: StateWithSlice<typeof name, HeadState>,\n): HeadState => state.head;\n\nexport const selectors = {\n getHead,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n Notification,\n AddNotificationPayload,\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport type NotificationsState = Notification[];\n\n\nexport const initialState: NotificationsState = [];\n\nexport const name = 'notifications' as const;\n\n\nexport const factory = (\n state: NotificationsState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n new: (\n state,\n action: PayloadAction<string>,\n ) => {\n const id = Math.random() + '';\n const text = action.payload;\n\n const newNotification: Notification = {\n id,\n text,\n };\n\n return [\n ...state,\n newNotification,\n ];\n },\n add: (\n state,\n action: PayloadAction<AddNotificationPayload>,\n ) => {\n const id = action.payload.id || Math.random() + '';\n\n const newNotification: Notification = {\n ...action.payload,\n id,\n };\n\n const existingNotification = state.find(\n notification => notification.id === newNotification.id,\n );\n\n if (existingNotification) {\n const newState = state.map(notification => {\n if (notification.id === newNotification.id) {\n return newNotification;\n }\n\n return notification;\n });\n\n return newState;\n }\n\n return [\n ...state,\n newNotification,\n ];\n },\n update: (\n state,\n action: PayloadAction<Notification>,\n ) => {\n const newState = state.map(message => {\n if (message.id === action.payload.id) {\n const newNotification: Notification = {\n ...action.payload,\n };\n return newNotification;\n }\n\n return {\n ...message,\n };\n });\n\n return newState;\n },\n remove: (\n state,\n action: PayloadAction<string>,\n ) => {\n const newState = state.filter(\n message => message.id !== action.payload,\n );\n\n return newState;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getAll = (\n state: StateWithSlice<typeof name, NotificationsState>,\n) => state.notifications;\n\nexport const selectors = {\n getAll,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface ShortcutsState {\n global: boolean;\n}\n\n\nexport const initialState: ShortcutsState = {\n global: true,\n};\n\nexport const name = 'shortcuts' as const;\n\n\nexport const factory = (\n state: ShortcutsState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n setGlobalShortcuts: (\n state,\n action: PayloadAction<boolean>,\n ) => {\n state.global = action.payload;\n },\n toggleGlobalShortcuts: (\n state,\n _action: PayloadAction<void>,\n ) => {\n state.global = !state.global;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getGlobal = (\n state: StateWithSlice<typeof name, ShortcutsState>,\n) => state.shortcuts.global;\n\nexport const selectors = {\n getGlobal,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface SittingState {\n currentLink: string;\n tray: boolean;\n}\n\n\nexport const initialState: SittingState = {\n currentLink: '',\n tray: false,\n};\n\nexport const name = 'sitting' as const;\n\n\nexport const factory = (\n state: SittingState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n setSittingCurrentLink: (\n state,\n action: PayloadAction<string>,\n ) => {\n const currentLink = action.payload;\n\n return {\n ...state,\n currentLink,\n };\n },\n setSittingTray: (\n state,\n action: PayloadAction<boolean>,\n ) => {\n state.tray = action.payload;\n },\n toggleSittingTray: (\n state,\n _action: PayloadAction<void>,\n ) => {\n state.tray = !state.tray;\n }\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getCurrentLink = (\n state: StateWithSlice<typeof name, SittingState>,\n) => state.sitting.currentLink;\nconst getTray = (\n state: StateWithSlice<typeof name, SittingState>,\n) => state.sitting.tray;\n\nexport const selectors = {\n getCurrentLink,\n getTray,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n\n\n import {\n Theme,\n plurid,\n } from '@plurid/plurid-themes';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface ThemesState {\n general: Theme;\n interaction: Theme;\n}\n\n\nexport const initialState: ThemesState = {\n general: {\n ...plurid,\n },\n interaction: {\n ...plurid,\n },\n};\n\nexport const name = 'themes' as const;\n\n\nexport interface SetThemePayload {\n type: 'general' | 'interaction';\n theme: Theme;\n}\n\n\nexport const factory = (\n state: ThemesState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n setTheme: (\n state,\n action: PayloadAction<SetThemePayload>,\n ) => {\n const {\n type,\n theme,\n } = action.payload;\n\n state[type] = theme;\n },\n setGeneralTheme: (\n state,\n action: PayloadAction<Theme>,\n ) => {\n state.general = action.payload;\n },\n setInteractionTheme: (\n state,\n action: PayloadAction<Theme>,\n ) => {\n state.interaction = action.payload;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getGeneralTheme = (\n state: StateWithSlice<typeof name, ThemesState>,\n) => state.themes.general;\nconst getInteractionTheme = (\n state: StateWithSlice<typeof name, ThemesState>,\n) => state.themes.interaction;\n\nexport const selectors = {\n getGeneralTheme,\n getInteractionTheme,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n"],"names":["initialState","title","description","ogTitle","ogImage","ogURL","ogDescription","canonicalURL","styles","scripts","name","factory","state","createSlice","reducers","setHead","action","Object","assign","slice","actions","getHead","head","selectors","reducer","new","id","Math","random","text","payload","newNotification","add","existingNotification","find","notification","newState","map","update","message","remove","filter","getAll","notifications","global","setGlobalShortcuts","toggleGlobalShortcuts","_action","getGlobal","shortcuts","currentLink","tray","setSittingCurrentLink","setSittingTray","toggleSittingTray","getCurrentLink","sitting","getTray","general","plurid","interaction","setTheme","type","theme","setGeneralTheme","setInteractionTheme","getGeneralTheme","themes","getInteractionTheme"],"mappings":"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"}
|
package/distribution/index.js
CHANGED
|
@@ -22,8 +22,10 @@ const initialState$4 = {
|
|
|
22
22
|
scripts: []
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
+
const name$4 = "head";
|
|
26
|
+
|
|
25
27
|
const factory$4 = (state = initialState$4) => toolkit.createSlice({
|
|
26
|
-
name:
|
|
28
|
+
name: name$4,
|
|
27
29
|
initialState: state,
|
|
28
30
|
reducers: {
|
|
29
31
|
setHead: (state, action) => {
|
|
@@ -46,6 +48,8 @@ const reducer$4 = slice$4.reducer;
|
|
|
46
48
|
|
|
47
49
|
var index$4 = Object.freeze({
|
|
48
50
|
__proto__: null,
|
|
51
|
+
initialState: initialState$4,
|
|
52
|
+
name: name$4,
|
|
49
53
|
factory: factory$4,
|
|
50
54
|
slice: slice$4,
|
|
51
55
|
actions: actions$4,
|
|
@@ -56,35 +60,51 @@ var index$4 = Object.freeze({
|
|
|
56
60
|
|
|
57
61
|
const initialState$3 = [];
|
|
58
62
|
|
|
63
|
+
const name$3 = "notifications";
|
|
64
|
+
|
|
59
65
|
const factory$3 = (state = initialState$3) => toolkit.createSlice({
|
|
60
|
-
name:
|
|
66
|
+
name: name$3,
|
|
61
67
|
initialState: state,
|
|
62
68
|
reducers: {
|
|
63
|
-
|
|
64
|
-
const
|
|
69
|
+
new: (state, action) => {
|
|
70
|
+
const id = Math.random() + "";
|
|
71
|
+
const text = action.payload;
|
|
72
|
+
const newNotification = {
|
|
73
|
+
id: id,
|
|
74
|
+
text: text
|
|
75
|
+
};
|
|
76
|
+
return [ ...state, newNotification ];
|
|
77
|
+
},
|
|
78
|
+
add: (state, action) => {
|
|
79
|
+
const id = action.payload.id || Math.random() + "";
|
|
80
|
+
const newNotification = Object.assign(Object.assign({}, action.payload), {
|
|
81
|
+
id: id
|
|
82
|
+
});
|
|
65
83
|
const existingNotification = state.find((notification => notification.id === newNotification.id));
|
|
66
84
|
if (existingNotification) {
|
|
67
|
-
|
|
85
|
+
const newState = state.map((notification => {
|
|
68
86
|
if (notification.id === newNotification.id) {
|
|
69
87
|
return newNotification;
|
|
70
88
|
}
|
|
71
89
|
return notification;
|
|
72
90
|
}));
|
|
73
|
-
return;
|
|
91
|
+
return newState;
|
|
74
92
|
}
|
|
75
|
-
|
|
93
|
+
return [ ...state, newNotification ];
|
|
76
94
|
},
|
|
77
|
-
|
|
78
|
-
|
|
95
|
+
update: (state, action) => {
|
|
96
|
+
const newState = state.map((message => {
|
|
79
97
|
if (message.id === action.payload.id) {
|
|
80
98
|
const newNotification = Object.assign({}, action.payload);
|
|
81
99
|
return newNotification;
|
|
82
100
|
}
|
|
83
101
|
return Object.assign({}, message);
|
|
84
102
|
}));
|
|
103
|
+
return newState;
|
|
85
104
|
},
|
|
86
|
-
|
|
87
|
-
|
|
105
|
+
remove: (state, action) => {
|
|
106
|
+
const newState = state.filter((message => message.id !== action.payload));
|
|
107
|
+
return newState;
|
|
88
108
|
}
|
|
89
109
|
}
|
|
90
110
|
});
|
|
@@ -103,6 +123,8 @@ const reducer$3 = slice$3.reducer;
|
|
|
103
123
|
|
|
104
124
|
var index$3 = Object.freeze({
|
|
105
125
|
__proto__: null,
|
|
126
|
+
initialState: initialState$3,
|
|
127
|
+
name: name$3,
|
|
106
128
|
factory: factory$3,
|
|
107
129
|
slice: slice$3,
|
|
108
130
|
actions: actions$3,
|
|
@@ -114,12 +136,17 @@ const initialState$2 = {
|
|
|
114
136
|
global: true
|
|
115
137
|
};
|
|
116
138
|
|
|
139
|
+
const name$2 = "shortcuts";
|
|
140
|
+
|
|
117
141
|
const factory$2 = (state = initialState$2) => toolkit.createSlice({
|
|
118
|
-
name:
|
|
142
|
+
name: name$2,
|
|
119
143
|
initialState: state,
|
|
120
144
|
reducers: {
|
|
121
|
-
|
|
122
|
-
state.global =
|
|
145
|
+
setGlobalShortcuts: (state, action) => {
|
|
146
|
+
state.global = action.payload;
|
|
147
|
+
},
|
|
148
|
+
toggleGlobalShortcuts: (state, _action) => {
|
|
149
|
+
state.global = !state.global;
|
|
123
150
|
}
|
|
124
151
|
}
|
|
125
152
|
});
|
|
@@ -138,6 +165,8 @@ const reducer$2 = slice$2.reducer;
|
|
|
138
165
|
|
|
139
166
|
var index$2 = Object.freeze({
|
|
140
167
|
__proto__: null,
|
|
168
|
+
initialState: initialState$2,
|
|
169
|
+
name: name$2,
|
|
141
170
|
factory: factory$2,
|
|
142
171
|
slice: slice$2,
|
|
143
172
|
actions: actions$2,
|
|
@@ -150,8 +179,10 @@ const initialState$1 = {
|
|
|
150
179
|
tray: false
|
|
151
180
|
};
|
|
152
181
|
|
|
182
|
+
const name$1 = "sitting";
|
|
183
|
+
|
|
153
184
|
const factory$1 = (state = initialState$1) => toolkit.createSlice({
|
|
154
|
-
name:
|
|
185
|
+
name: name$1,
|
|
155
186
|
initialState: state,
|
|
156
187
|
reducers: {
|
|
157
188
|
setSittingCurrentLink: (state, action) => {
|
|
@@ -160,8 +191,11 @@ const factory$1 = (state = initialState$1) => toolkit.createSlice({
|
|
|
160
191
|
currentLink: currentLink
|
|
161
192
|
});
|
|
162
193
|
},
|
|
163
|
-
|
|
164
|
-
state.tray =
|
|
194
|
+
setSittingTray: (state, action) => {
|
|
195
|
+
state.tray = action.payload;
|
|
196
|
+
},
|
|
197
|
+
toggleSittingTray: (state, _action) => {
|
|
198
|
+
state.tray = !state.tray;
|
|
165
199
|
}
|
|
166
200
|
}
|
|
167
201
|
});
|
|
@@ -183,6 +217,8 @@ const reducer$1 = slice$1.reducer;
|
|
|
183
217
|
|
|
184
218
|
var index$1 = Object.freeze({
|
|
185
219
|
__proto__: null,
|
|
220
|
+
initialState: initialState$1,
|
|
221
|
+
name: name$1,
|
|
186
222
|
factory: factory$1,
|
|
187
223
|
slice: slice$1,
|
|
188
224
|
actions: actions$1,
|
|
@@ -195,8 +231,10 @@ const initialState = {
|
|
|
195
231
|
interaction: Object.assign({}, pluridThemes.plurid)
|
|
196
232
|
};
|
|
197
233
|
|
|
234
|
+
const name = "themes";
|
|
235
|
+
|
|
198
236
|
const factory = (state = initialState) => toolkit.createSlice({
|
|
199
|
-
name:
|
|
237
|
+
name: name,
|
|
200
238
|
initialState: state,
|
|
201
239
|
reducers: {
|
|
202
240
|
setTheme: (state, action) => {
|
|
@@ -229,6 +267,8 @@ const reducer = slice.reducer;
|
|
|
229
267
|
|
|
230
268
|
var index = Object.freeze({
|
|
231
269
|
__proto__: null,
|
|
270
|
+
initialState: initialState,
|
|
271
|
+
name: name,
|
|
232
272
|
factory: factory,
|
|
233
273
|
slice: slice,
|
|
234
274
|
actions: actions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../source/modules/head/index.ts","../source/modules/notifications/index.ts","../source/modules/shortcuts/index.ts","../source/modules/sitting/index.ts","../source/modules/themes/index.ts"],"sourcesContent":["// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface HeadState {\n title: string;\n description: string;\n canonicalURL: string;\n ogTitle: string;\n ogImage: string;\n ogURL: string;\n ogDescription: string;\n styles: string[];\n scripts: string[];\n}\n\n\nconst initialState: HeadState = {\n title: '',\n description: '',\n ogTitle: '',\n ogImage: '',\n ogURL: '',\n ogDescription: '',\n canonicalURL: '',\n styles: [],\n scripts: [],\n};\n\n\nexport const factory = (\n state: HeadState = initialState,\n) => createSlice({\n name: 'head',\n initialState: state,\n reducers: {\n setHead: (\n state,\n action: PayloadAction<Partial<HeadState>>,\n ) => {\n state = {\n ...state,\n ...action,\n };\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nexport const getHead = (\n state: StateWithSlice<'head', HeadState>,\n): HeadState => state.head;\n\nexport const selectors = {\n getHead,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n Notification,\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport type NotificationsState = Notification[];\n\n\nconst initialState: NotificationsState = [];\n\n\nexport const factory = (\n state: NotificationsState = initialState,\n) => createSlice({\n name: 'notifications',\n initialState: state,\n reducers: {\n addNotification: (\n state,\n action: PayloadAction<Notification>,\n ) => {\n const newNotification: Notification = {\n ...action.payload,\n };\n\n const existingNotification = state.find(\n notification => notification.id === newNotification.id,\n );\n\n if (existingNotification) {\n state = state.map(notification => {\n if (notification.id === newNotification.id) {\n return newNotification;\n }\n\n return notification;\n });\n\n return;\n }\n\n state = [\n ...state,\n newNotification,\n ];\n },\n updateNotification: (\n state,\n action: PayloadAction<Notification>,\n ) => {\n state = state.map(message => {\n if (message.id === action.payload.id) {\n const newNotification: Notification = {\n ...action.payload,\n };\n return newNotification;\n }\n\n return {\n ...message,\n };\n });\n },\n removeNotification: (\n state,\n action: PayloadAction<string>,\n ) => {\n state = state.filter(\n message => message.id !== action.payload,\n );\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getAll = (\n state: StateWithSlice<'notifications', NotificationsState>,\n) => state.notifications;\n\nexport const selectors = {\n getAll,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface ShortcutsState {\n global: boolean;\n}\n\n\nconst initialState: ShortcutsState = {\n global: true,\n};\n\n\nexport const factory = (\n state: ShortcutsState = initialState,\n) => createSlice({\n name: 'shortcuts',\n initialState: state,\n reducers: {\n toggleGlobalShortcuts: (\n state,\n action: PayloadAction<boolean> | PayloadAction<void>,\n ) => {\n state.global = typeof action.payload === 'boolean'\n ? action.payload\n : !state.global;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getGlobal = (\n state: StateWithSlice<'shortcuts', ShortcutsState>,\n) => state.shortcuts.global;\n\nexport const selectors = {\n getGlobal,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface SittingState {\n currentLink: string;\n tray: boolean;\n}\n\n\nconst initialState: SittingState = {\n currentLink: '',\n tray: false,\n};\n\n\nexport const factory = (\n state: SittingState = initialState,\n) => createSlice({\n name: 'sitting',\n initialState: state,\n reducers: {\n setSittingCurrentLink: (\n state,\n action: PayloadAction<string>,\n ) => {\n const currentLink = action.payload;\n\n return {\n ...state,\n currentLink,\n };\n },\n toggleSittingTray: (\n state,\n action: PayloadAction<boolean> | PayloadAction<void>,\n ) => {\n state.tray = typeof action.payload === 'boolean'\n ? action.payload\n : !state.tray;\n }\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getCurrentLink = (\n state: StateWithSlice<'sitting', SittingState>,\n) => state.sitting.currentLink;\nconst getTray = (\n state: StateWithSlice<'sitting', SittingState>,\n) => state.sitting.tray;\n\nexport const selectors = {\n getCurrentLink,\n getTray,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n\n\n import {\n Theme,\n plurid,\n } from '@plurid/plurid-themes';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface ThemesState {\n general: Theme;\n interaction: Theme;\n}\n\n\nconst initialState: ThemesState = {\n general: {\n ...plurid,\n },\n interaction: {\n ...plurid,\n },\n};\n\n\nexport interface SetThemePayload {\n type: 'general' | 'interaction';\n theme: Theme;\n}\n\n\nexport const factory = (\n state: ThemesState = initialState,\n) => createSlice({\n name: 'themes',\n initialState: state,\n reducers: {\n setTheme: (\n state,\n action: PayloadAction<SetThemePayload>,\n ) => {\n const {\n type,\n theme,\n } = action.payload;\n\n state[type] = theme;\n },\n setGeneralTheme: (\n state,\n action: PayloadAction<Theme>,\n ) => {\n state.general = action.payload;\n },\n setInteractionTheme: (\n state,\n action: PayloadAction<Theme>,\n ) => {\n state.interaction = action.payload;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getGeneralTheme = (\n state: StateWithSlice<'themes', ThemesState>,\n) => state.themes.general;\nconst getInteractionTheme = (\n state: StateWithSlice<'themes', ThemesState>,\n) => state.themes.interaction;\n\nexport const selectors = {\n getGeneralTheme,\n getInteractionTheme,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n"],"names":["initialState","title","description","ogTitle","ogImage","ogURL","ogDescription","canonicalURL","styles","scripts","factory","state","createSlice","name","reducers","setHead","action","Object","assign","slice","actions","getHead","head","selectors","reducer","addNotification","newNotification","payload","existingNotification","find","notification","id","map","updateNotification","message","removeNotification","filter","getAll","notifications","global","toggleGlobalShortcuts","getGlobal","shortcuts","currentLink","tray","setSittingCurrentLink","toggleSittingTray","getCurrentLink","sitting","getTray","general","plurid","interaction","setTheme","type","theme","setGeneralTheme","setInteractionTheme","getGeneralTheme","themes","getInteractionTheme"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../source/modules/head/index.ts","../source/modules/notifications/index.ts","../source/modules/shortcuts/index.ts","../source/modules/sitting/index.ts","../source/modules/themes/index.ts"],"sourcesContent":["// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface HeadState {\n title: string;\n description: string;\n canonicalURL: string;\n ogTitle: string;\n ogImage: string;\n ogURL: string;\n ogDescription: string;\n styles: string[];\n scripts: string[];\n}\n\n\nexport const initialState: HeadState = {\n title: '',\n description: '',\n ogTitle: '',\n ogImage: '',\n ogURL: '',\n ogDescription: '',\n canonicalURL: '',\n styles: [],\n scripts: [],\n};\n\nexport const name = 'head' as const;\n\n\nexport const factory = (\n state: HeadState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n setHead: (\n state,\n action: PayloadAction<Partial<HeadState>>,\n ) => {\n state = {\n ...state,\n ...action,\n };\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nexport const getHead = (\n state: StateWithSlice<typeof name, HeadState>,\n): HeadState => state.head;\n\nexport const selectors = {\n getHead,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n Notification,\n AddNotificationPayload,\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport type NotificationsState = Notification[];\n\n\nexport const initialState: NotificationsState = [];\n\nexport const name = 'notifications' as const;\n\n\nexport const factory = (\n state: NotificationsState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n new: (\n state,\n action: PayloadAction<string>,\n ) => {\n const id = Math.random() + '';\n const text = action.payload;\n\n const newNotification: Notification = {\n id,\n text,\n };\n\n return [\n ...state,\n newNotification,\n ];\n },\n add: (\n state,\n action: PayloadAction<AddNotificationPayload>,\n ) => {\n const id = action.payload.id || Math.random() + '';\n\n const newNotification: Notification = {\n ...action.payload,\n id,\n };\n\n const existingNotification = state.find(\n notification => notification.id === newNotification.id,\n );\n\n if (existingNotification) {\n const newState = state.map(notification => {\n if (notification.id === newNotification.id) {\n return newNotification;\n }\n\n return notification;\n });\n\n return newState;\n }\n\n return [\n ...state,\n newNotification,\n ];\n },\n update: (\n state,\n action: PayloadAction<Notification>,\n ) => {\n const newState = state.map(message => {\n if (message.id === action.payload.id) {\n const newNotification: Notification = {\n ...action.payload,\n };\n return newNotification;\n }\n\n return {\n ...message,\n };\n });\n\n return newState;\n },\n remove: (\n state,\n action: PayloadAction<string>,\n ) => {\n const newState = state.filter(\n message => message.id !== action.payload,\n );\n\n return newState;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getAll = (\n state: StateWithSlice<typeof name, NotificationsState>,\n) => state.notifications;\n\nexport const selectors = {\n getAll,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface ShortcutsState {\n global: boolean;\n}\n\n\nexport const initialState: ShortcutsState = {\n global: true,\n};\n\nexport const name = 'shortcuts' as const;\n\n\nexport const factory = (\n state: ShortcutsState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n setGlobalShortcuts: (\n state,\n action: PayloadAction<boolean>,\n ) => {\n state.global = action.payload;\n },\n toggleGlobalShortcuts: (\n state,\n _action: PayloadAction<void>,\n ) => {\n state.global = !state.global;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getGlobal = (\n state: StateWithSlice<typeof name, ShortcutsState>,\n) => state.shortcuts.global;\n\nexport const selectors = {\n getGlobal,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface SittingState {\n currentLink: string;\n tray: boolean;\n}\n\n\nexport const initialState: SittingState = {\n currentLink: '',\n tray: false,\n};\n\nexport const name = 'sitting' as const;\n\n\nexport const factory = (\n state: SittingState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n setSittingCurrentLink: (\n state,\n action: PayloadAction<string>,\n ) => {\n const currentLink = action.payload;\n\n return {\n ...state,\n currentLink,\n };\n },\n setSittingTray: (\n state,\n action: PayloadAction<boolean>,\n ) => {\n state.tray = action.payload;\n },\n toggleSittingTray: (\n state,\n _action: PayloadAction<void>,\n ) => {\n state.tray = !state.tray;\n }\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getCurrentLink = (\n state: StateWithSlice<typeof name, SittingState>,\n) => state.sitting.currentLink;\nconst getTray = (\n state: StateWithSlice<typeof name, SittingState>,\n) => state.sitting.tray;\n\nexport const selectors = {\n getCurrentLink,\n getTray,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n","// #region imports\n // #region libraries\n import {\n createSlice,\n PayloadAction,\n } from '@reduxjs/toolkit';\n\n\n import {\n Theme,\n plurid,\n } from '@plurid/plurid-themes';\n // #endregion libraries\n\n\n // #region external\n import {\n StateWithSlice,\n } from '~data/interfaces';\n // #endregion external\n// #endregion imports\n\n\n\n// #region module\nexport interface ThemesState {\n general: Theme;\n interaction: Theme;\n}\n\n\nexport const initialState: ThemesState = {\n general: {\n ...plurid,\n },\n interaction: {\n ...plurid,\n },\n};\n\nexport const name = 'themes' as const;\n\n\nexport interface SetThemePayload {\n type: 'general' | 'interaction';\n theme: Theme;\n}\n\n\nexport const factory = (\n state: ThemesState = initialState,\n) => createSlice({\n name,\n initialState: state,\n reducers: {\n setTheme: (\n state,\n action: PayloadAction<SetThemePayload>,\n ) => {\n const {\n type,\n theme,\n } = action.payload;\n\n state[type] = theme;\n },\n setGeneralTheme: (\n state,\n action: PayloadAction<Theme>,\n ) => {\n state.general = action.payload;\n },\n setInteractionTheme: (\n state,\n action: PayloadAction<Theme>,\n ) => {\n state.interaction = action.payload;\n },\n },\n});\n\nexport const slice = factory();\n// #endregion module\n\n\n\n// #region exports\nexport const actions = slice.actions;\n\n\nconst getGeneralTheme = (\n state: StateWithSlice<typeof name, ThemesState>,\n) => state.themes.general;\nconst getInteractionTheme = (\n state: StateWithSlice<typeof name, ThemesState>,\n) => state.themes.interaction;\n\nexport const selectors = {\n getGeneralTheme,\n getInteractionTheme,\n};\n\n\nexport const reducer = slice.reducer;\n// #endregion exports\n"],"names":["initialState","title","description","ogTitle","ogImage","ogURL","ogDescription","canonicalURL","styles","scripts","name","factory","state","createSlice","reducers","setHead","action","Object","assign","slice","actions","getHead","head","selectors","reducer","new","id","Math","random","text","payload","newNotification","add","existingNotification","find","notification","newState","map","update","message","remove","filter","getAll","notifications","global","setGlobalShortcuts","toggleGlobalShortcuts","_action","getGlobal","shortcuts","currentLink","tray","setSittingCurrentLink","setSittingTray","toggleSittingTray","getCurrentLink","sitting","getTray","general","plurid","interaction","setTheme","type","theme","setGeneralTheme","setInteractionTheme","getGeneralTheme","themes","getInteractionTheme"],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export interface HeadState {
|
|
|
11
11
|
styles: string[];
|
|
12
12
|
scripts: string[];
|
|
13
13
|
}
|
|
14
|
+
export declare const initialState: HeadState;
|
|
15
|
+
export declare const name: "head";
|
|
14
16
|
export declare const factory: (state?: HeadState) => import("@reduxjs/toolkit").Slice<HeadState, {
|
|
15
17
|
setHead: (state: import("immer/dist/internal").WritableDraft<HeadState>, action: PayloadAction<Partial<HeadState>>) => void;
|
|
16
18
|
}, "head">;
|
|
@@ -20,8 +22,8 @@ export declare const slice: import("@reduxjs/toolkit").Slice<HeadState, {
|
|
|
20
22
|
export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
|
|
21
23
|
setHead: (state: import("immer/dist/internal").WritableDraft<HeadState>, action: PayloadAction<Partial<HeadState>>) => void;
|
|
22
24
|
}>;
|
|
23
|
-
export declare const getHead: (state: StateWithSlice<
|
|
25
|
+
export declare const getHead: (state: StateWithSlice<typeof name, HeadState>) => HeadState;
|
|
24
26
|
export declare const selectors: {
|
|
25
|
-
getHead: (state: StateWithSlice<
|
|
27
|
+
getHead: (state: StateWithSlice<typeof name, HeadState>) => HeadState;
|
|
26
28
|
};
|
|
27
29
|
export declare const reducer: import("@reduxjs/toolkit").Reducer<HeadState, import("@reduxjs/toolkit").AnyAction>;
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import { PayloadAction } from '@reduxjs/toolkit';
|
|
2
|
-
import { Notification, StateWithSlice } from "../../data/interfaces";
|
|
2
|
+
import { Notification, AddNotificationPayload, StateWithSlice } from "../../data/interfaces";
|
|
3
3
|
export declare type NotificationsState = Notification[];
|
|
4
|
+
export declare const initialState: NotificationsState;
|
|
5
|
+
export declare const name: "notifications";
|
|
4
6
|
export declare const factory: (state?: NotificationsState) => import("@reduxjs/toolkit").Slice<NotificationsState, {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
new: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => Notification[];
|
|
8
|
+
add: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<AddNotificationPayload>) => Notification[];
|
|
9
|
+
update: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<Notification>) => Notification[];
|
|
10
|
+
remove: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => import("immer/dist/internal").WritableDraft<Notification>[];
|
|
8
11
|
}, "notifications">;
|
|
9
12
|
export declare const slice: import("@reduxjs/toolkit").Slice<NotificationsState, {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
new: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => Notification[];
|
|
14
|
+
add: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<AddNotificationPayload>) => Notification[];
|
|
15
|
+
update: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<Notification>) => Notification[];
|
|
16
|
+
remove: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => import("immer/dist/internal").WritableDraft<Notification>[];
|
|
13
17
|
}, "notifications">;
|
|
14
18
|
export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
new: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => Notification[];
|
|
20
|
+
add: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<AddNotificationPayload>) => Notification[];
|
|
21
|
+
update: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<Notification>) => Notification[];
|
|
22
|
+
remove: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => import("immer/dist/internal").WritableDraft<Notification>[];
|
|
18
23
|
}>;
|
|
19
24
|
export declare const selectors: {
|
|
20
|
-
getAll: (state: StateWithSlice<
|
|
25
|
+
getAll: (state: StateWithSlice<typeof name, NotificationsState>) => NotificationsState;
|
|
21
26
|
};
|
|
22
27
|
export declare const reducer: import("@reduxjs/toolkit").Reducer<NotificationsState, import("@reduxjs/toolkit").AnyAction>;
|
|
@@ -3,16 +3,21 @@ import { StateWithSlice } from "../../data/interfaces";
|
|
|
3
3
|
export interface ShortcutsState {
|
|
4
4
|
global: boolean;
|
|
5
5
|
}
|
|
6
|
+
export declare const initialState: ShortcutsState;
|
|
7
|
+
export declare const name: "shortcuts";
|
|
6
8
|
export declare const factory: (state?: ShortcutsState) => import("@reduxjs/toolkit").Slice<ShortcutsState, {
|
|
7
|
-
|
|
9
|
+
setGlobalShortcuts: (state: import("immer/dist/internal").WritableDraft<ShortcutsState>, action: PayloadAction<boolean>) => void;
|
|
10
|
+
toggleGlobalShortcuts: (state: import("immer/dist/internal").WritableDraft<ShortcutsState>, _action: PayloadAction<void>) => void;
|
|
8
11
|
}, "shortcuts">;
|
|
9
12
|
export declare const slice: import("@reduxjs/toolkit").Slice<ShortcutsState, {
|
|
10
|
-
|
|
13
|
+
setGlobalShortcuts: (state: import("immer/dist/internal").WritableDraft<ShortcutsState>, action: PayloadAction<boolean>) => void;
|
|
14
|
+
toggleGlobalShortcuts: (state: import("immer/dist/internal").WritableDraft<ShortcutsState>, _action: PayloadAction<void>) => void;
|
|
11
15
|
}, "shortcuts">;
|
|
12
16
|
export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
|
|
13
|
-
|
|
17
|
+
setGlobalShortcuts: (state: import("immer/dist/internal").WritableDraft<ShortcutsState>, action: PayloadAction<boolean>) => void;
|
|
18
|
+
toggleGlobalShortcuts: (state: import("immer/dist/internal").WritableDraft<ShortcutsState>, _action: PayloadAction<void>) => void;
|
|
14
19
|
}>;
|
|
15
20
|
export declare const selectors: {
|
|
16
|
-
getGlobal: (state: StateWithSlice<
|
|
21
|
+
getGlobal: (state: StateWithSlice<typeof name, ShortcutsState>) => boolean;
|
|
17
22
|
};
|
|
18
23
|
export declare const reducer: import("@reduxjs/toolkit").Reducer<ShortcutsState, import("@reduxjs/toolkit").AnyAction>;
|
|
@@ -4,29 +4,34 @@ export interface SittingState {
|
|
|
4
4
|
currentLink: string;
|
|
5
5
|
tray: boolean;
|
|
6
6
|
}
|
|
7
|
+
export declare const initialState: SittingState;
|
|
8
|
+
export declare const name: "sitting";
|
|
7
9
|
export declare const factory: (state?: SittingState) => import("@reduxjs/toolkit").Slice<SittingState, {
|
|
8
10
|
setSittingCurrentLink: (state: import("immer/dist/internal").WritableDraft<SittingState>, action: PayloadAction<string>) => {
|
|
9
11
|
currentLink: string;
|
|
10
12
|
tray: boolean;
|
|
11
13
|
};
|
|
12
|
-
|
|
14
|
+
setSittingTray: (state: import("immer/dist/internal").WritableDraft<SittingState>, action: PayloadAction<boolean>) => void;
|
|
15
|
+
toggleSittingTray: (state: import("immer/dist/internal").WritableDraft<SittingState>, _action: PayloadAction<void>) => void;
|
|
13
16
|
}, "sitting">;
|
|
14
17
|
export declare const slice: import("@reduxjs/toolkit").Slice<SittingState, {
|
|
15
18
|
setSittingCurrentLink: (state: import("immer/dist/internal").WritableDraft<SittingState>, action: PayloadAction<string>) => {
|
|
16
19
|
currentLink: string;
|
|
17
20
|
tray: boolean;
|
|
18
21
|
};
|
|
19
|
-
|
|
22
|
+
setSittingTray: (state: import("immer/dist/internal").WritableDraft<SittingState>, action: PayloadAction<boolean>) => void;
|
|
23
|
+
toggleSittingTray: (state: import("immer/dist/internal").WritableDraft<SittingState>, _action: PayloadAction<void>) => void;
|
|
20
24
|
}, "sitting">;
|
|
21
25
|
export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
|
|
22
26
|
setSittingCurrentLink: (state: import("immer/dist/internal").WritableDraft<SittingState>, action: PayloadAction<string>) => {
|
|
23
27
|
currentLink: string;
|
|
24
28
|
tray: boolean;
|
|
25
29
|
};
|
|
26
|
-
|
|
30
|
+
setSittingTray: (state: import("immer/dist/internal").WritableDraft<SittingState>, action: PayloadAction<boolean>) => void;
|
|
31
|
+
toggleSittingTray: (state: import("immer/dist/internal").WritableDraft<SittingState>, _action: PayloadAction<void>) => void;
|
|
27
32
|
}>;
|
|
28
33
|
export declare const selectors: {
|
|
29
|
-
getCurrentLink: (state: StateWithSlice<
|
|
30
|
-
getTray: (state: StateWithSlice<
|
|
34
|
+
getCurrentLink: (state: StateWithSlice<typeof name, SittingState>) => string;
|
|
35
|
+
getTray: (state: StateWithSlice<typeof name, SittingState>) => boolean;
|
|
31
36
|
};
|
|
32
37
|
export declare const reducer: import("@reduxjs/toolkit").Reducer<SittingState, import("@reduxjs/toolkit").AnyAction>;
|
|
@@ -5,6 +5,8 @@ export interface ThemesState {
|
|
|
5
5
|
general: Theme;
|
|
6
6
|
interaction: Theme;
|
|
7
7
|
}
|
|
8
|
+
export declare const initialState: ThemesState;
|
|
9
|
+
export declare const name: "themes";
|
|
8
10
|
export interface SetThemePayload {
|
|
9
11
|
type: 'general' | 'interaction';
|
|
10
12
|
theme: Theme;
|
|
@@ -25,7 +27,7 @@ export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
|
|
|
25
27
|
setInteractionTheme: (state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<Theme>) => void;
|
|
26
28
|
}>;
|
|
27
29
|
export declare const selectors: {
|
|
28
|
-
getGeneralTheme: (state: StateWithSlice<
|
|
29
|
-
getInteractionTheme: (state: StateWithSlice<
|
|
30
|
+
getGeneralTheme: (state: StateWithSlice<typeof name, ThemesState>) => Theme;
|
|
31
|
+
getInteractionTheme: (state: StateWithSlice<typeof name, ThemesState>) => Theme;
|
|
30
32
|
};
|
|
31
33
|
export declare const reducer: import("@reduxjs/toolkit").Reducer<ThemesState, import("@reduxjs/toolkit").AnyAction>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurid/plurid-ui-state-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-8",
|
|
4
4
|
"description": "Plurid User Interface State for React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurid",
|
|
@@ -48,21 +48,21 @@
|
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@plurid/plurid-themes": "^0.0.0-2",
|
|
51
|
-
"@reduxjs/toolkit": "^1.8.
|
|
52
|
-
"@types/jest": "^
|
|
53
|
-
"@types/node": "^18.7.
|
|
54
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
55
|
-
"@typescript-eslint/parser": "^5.
|
|
51
|
+
"@reduxjs/toolkit": "^1.8.5",
|
|
52
|
+
"@types/jest": "^29.0.0",
|
|
53
|
+
"@types/node": "^18.7.16",
|
|
54
|
+
"@typescript-eslint/eslint-plugin": "^5.36.2",
|
|
55
|
+
"@typescript-eslint/parser": "^5.36.2",
|
|
56
56
|
"@zerollup/ts-transform-paths": "^1.7.18",
|
|
57
|
-
"eslint": "^8.
|
|
57
|
+
"eslint": "^8.23.0",
|
|
58
58
|
"immer": "^9.0.15",
|
|
59
|
-
"jest": "^
|
|
60
|
-
"rollup": "^2.
|
|
59
|
+
"jest": "^29.0.3",
|
|
60
|
+
"rollup": "^2.79.0",
|
|
61
61
|
"rollup-plugin-terser": "^7.0.2",
|
|
62
|
-
"rollup-plugin-typescript2": "^0.
|
|
63
|
-
"ts-jest": "^
|
|
62
|
+
"rollup-plugin-typescript2": "^0.33.0",
|
|
63
|
+
"ts-jest": "^29.0.0",
|
|
64
64
|
"ts-node": "^10.9.1",
|
|
65
65
|
"ttypescript": "^1.5.13",
|
|
66
|
-
"typescript": "^4.7.
|
|
66
|
+
"typescript": "^4.7.3"
|
|
67
67
|
}
|
|
68
68
|
}
|