@plurid/plurid-ui-state-react 0.0.0-7 → 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.
@@ -67,7 +67,7 @@ const factory$3 = (state = initialState$3) => createSlice({
67
67
  id: id,
68
68
  text: text
69
69
  };
70
- state = [ ...state, newNotification ];
70
+ return [ ...state, newNotification ];
71
71
  },
72
72
  add: (state, action) => {
73
73
  const id = action.payload.id || Math.random() + "";
@@ -76,27 +76,29 @@ const factory$3 = (state = initialState$3) => createSlice({
76
76
  });
77
77
  const existingNotification = state.find((notification => notification.id === newNotification.id));
78
78
  if (existingNotification) {
79
- state = state.map((notification => {
79
+ const newState = state.map((notification => {
80
80
  if (notification.id === newNotification.id) {
81
81
  return newNotification;
82
82
  }
83
83
  return notification;
84
84
  }));
85
- return;
85
+ return newState;
86
86
  }
87
- state = [ ...state, newNotification ];
87
+ return [ ...state, newNotification ];
88
88
  },
89
89
  update: (state, action) => {
90
- state = state.map((message => {
90
+ const newState = state.map((message => {
91
91
  if (message.id === action.payload.id) {
92
92
  const newNotification = Object.assign({}, action.payload);
93
93
  return newNotification;
94
94
  }
95
95
  return Object.assign({}, message);
96
96
  }));
97
+ return newState;
97
98
  },
98
99
  remove: (state, action) => {
99
- state = state.filter((message => message.id !== action.payload));
100
+ const newState = state.filter((message => message.id !== action.payload));
101
+ return newState;
100
102
  }
101
103
  }
102
104
  });
@@ -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\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 state = [\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 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 update: (\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 remove: (\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<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","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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"}
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":";;;;;;AAgCO,MAAMA,iBAA0B;IACnCC,OAAO;IACPC,aAAa;IACbC,SAAS;IACTC,SAAS;IACTC,OAAO;IACPC,eAAe;IACfC,cAAc;IACdC,QAAQ;IACRC,SAAS;;;AAGN,MAAMC,SAAO;;AAGb,MAAMC,YAAU,CACnBC,QAAmBZ,mBAClBa,YAAY;UACbH;IACAV,cAAcY;IACdE,UAAU;QACNC,SAAS,CACLH,OACAI;YAEAJ,QACOK,OAAAC,OAAAD,OAAAC,OAAA,IAAAN,QACAI;;;;;AAMZ,MAAMG,UAAQR;;AAMd,MAAMS,YAAUD,QAAMC;;AAGtB,MAAMC,UACTT,SACYA,MAAMU;;AAEf,MAAMC,cAAY;IACrBF,SAAAA;;;AAIG,MAAMG,YAAUL,QAAMK;;;;;;;;;;;;;;AC3DtB,MAAMxB,iBAAmC;;AAEzC,MAAMU,SAAO;;AAGb,MAAMC,YAAU,CACnBC,QAA4BZ,mBAC3Ba,YAAY;UACbH;IACAV,cAAcY;IACdE,UAAU;QACNW,KAAK,CACDb,OACAI;YAEA,MAAMU,KAAKC,KAAKC,WAAW;YAC3B,MAAMC,OAAOb,OAAOc;YAEpB,MAAMC,kBAAgC;gBAClCL,IAAAA;gBACAG,MAAAA;;YAGJ,OAAO,KACAjB,OACHmB;;QAGRC,KAAK,CACDpB,OACAI;YAEA,MAAMU,KAAKV,OAAOc,QAAQJ,MAAMC,KAAKC,WAAW;YAEhD,MAAMG,kDACCf,OAAOc,UACV;gBAAAJ,IAAAA;;YAGJ,MAAMO,uBAAuBrB,MAAMsB,MAC/BC,gBAAgBA,aAAaT,OAAOK,gBAAgBL;YAGxD,IAAIO,sBAAsB;gBACtB,MAAMG,WAAWxB,MAAMyB,KAAIF;oBACvB,IAAIA,aAAaT,OAAOK,gBAAgBL,IAAI;wBACxC,OAAOK;;oBAGX,OAAOI;;gBAGX,OAAOC;;YAGX,OAAO,KACAxB,OACHmB;;QAGRO,QAAQ,CACJ1B,OACAI;YAEA,MAAMoB,WAAWxB,MAAMyB,KAAIE;gBACvB,IAAIA,QAAQb,OAAOV,OAAOc,QAAQJ,IAAI;oBAClC,MAAMK,kBACCd,OAAAC,OAAA,IAAAF,OAAOc;oBAEd,OAAOC;;gBAGX,OAAAd,OAAAC,OAAA,IACOqB;;YAIX,OAAOH;;QAEXI,QAAQ,CACJ5B,OACAI;YAEA,MAAMoB,WAAWxB,MAAM6B,QACnBF,WAAWA,QAAQb,OAAOV,OAAOc;YAGrC,OAAOM;;;;;AAKZ,MAAMjB,UAAQR;;AAMd,MAAMS,YAAUD,QAAMC;;AAG7B,MAAMsB,SACF9B,SACCA,MAAM+B;;AAEJ,MAAMpB,cAAY;IACrBmB,QAAAA;;;AAIG,MAAMlB,YAAUL,QAAMK;;;;;;;;;;;;;AC9GtB,MAAMxB,iBAA+B;IACxC4C,QAAQ;;;AAGL,MAAMlC,SAAO;;AAGb,MAAMC,YAAU,CACnBC,QAAwBZ,mBACvBa,YAAY;UACbH;IACAV,cAAcY;IACdE,UAAU;QACN+B,oBAAoB,CAChBjC,OACAI;YAEAJ,MAAMgC,SAAS5B,OAAOc;;QAE1BgB,uBAAuB,CACnBlC,OACAmC;YAEAnC,MAAMgC,UAAUhC,MAAMgC;;;;;AAK3B,MAAMzB,UAAQR;;AAMd,MAAMS,YAAUD,QAAMC;;AAG7B,MAAM4B,YACFpC,SACCA,MAAMqC,UAAUL;;AAEd,MAAMrB,cAAY;IACrByB,WAAAA;;;AAIG,MAAMxB,YAAUL,QAAMK;;;;;;;;;;;;;AC7CtB,MAAMxB,iBAA6B;IACtCkD,aAAa;IACbC,MAAM;;;AAGH,MAAMzC,SAAO;;AAGb,MAAMC,YAAU,CACnBC,QAAsBZ,mBACrBa,YAAY;UACbH;IACAV,cAAcY;IACdE,UAAU;QACNsC,uBAAuB,CACnBxC,OACAI;YAEA,MAAMkC,cAAclC,OAAOc;YAE3B,OACOb,OAAAC,OAAAD,OAAAC,OAAA,IAAAN,QACH;gBAAAsC,aAAAA;;;QAGRG,gBAAgB,CACZzC,OACAI;YAEAJ,MAAMuC,OAAOnC,OAAOc;;QAExBwB,mBAAmB,CACf1C,OACAmC;YAEAnC,MAAMuC,QAAQvC,MAAMuC;;;;;AAKzB,MAAMhC,UAAQR;;AAMd,MAAMS,YAAUD,QAAMC;;AAG7B,MAAMmC,iBACF3C,SACCA,MAAM4C,QAAQN;;AACnB,MAAMO,UACF7C,SACCA,MAAM4C,QAAQL;;AAEZ,MAAM5B,cAAY;IACrBgC,gBAAAA;IACAE,SAAAA;;;AAIG,MAAMjC,YAAUL,QAAMK;;;;;;;;;;;;;ACxDtB,MAAMxB,eAA4B;IACrC0D,SAAOzC,OAAAC,OAAA,IACAyC;IAEPC,aAAW3C,OAAAC,OAAA,IACJyC;;;AAIJ,MAAMjD,OAAO;;AASb,MAAMC,UAAU,CACnBC,QAAqBZ,iBACpBa,YAAY;IACbH,MAAAA;IACAV,cAAcY;IACdE,UAAU;QACN+C,UAAU,CACNjD,OACAI;YAEA,OAAM8C,MACFA,MAAIC,OACJA,SACA/C,OAAOc;YAEXlB,MAAMkD,QAAQC;;QAElBC,iBAAiB,CACbpD,OACAI;YAEAJ,MAAM8C,UAAU1C,OAAOc;;QAE3BmC,qBAAqB,CACjBrD,OACAI;YAEAJ,MAAMgD,cAAc5C,OAAOc;;;;;AAKhC,MAAMX,QAAQR;;AAMd,MAAMS,UAAUD,MAAMC;;AAG7B,MAAM8C,kBACFtD,SACCA,MAAMuD,OAAOT;;AAClB,MAAMU,sBACFxD,SACCA,MAAMuD,OAAOP;;AAEX,MAAMrC,YAAY;IACrB2C,iBAAAA;IACAE,qBAAAA;;;AAIG,MAAM5C,UAAUL,MAAMK;;;;;;;;;;;;;"}
@@ -73,7 +73,7 @@ const factory$3 = (state = initialState$3) => toolkit.createSlice({
73
73
  id: id,
74
74
  text: text
75
75
  };
76
- state = [ ...state, newNotification ];
76
+ return [ ...state, newNotification ];
77
77
  },
78
78
  add: (state, action) => {
79
79
  const id = action.payload.id || Math.random() + "";
@@ -82,27 +82,29 @@ const factory$3 = (state = initialState$3) => toolkit.createSlice({
82
82
  });
83
83
  const existingNotification = state.find((notification => notification.id === newNotification.id));
84
84
  if (existingNotification) {
85
- state = state.map((notification => {
85
+ const newState = state.map((notification => {
86
86
  if (notification.id === newNotification.id) {
87
87
  return newNotification;
88
88
  }
89
89
  return notification;
90
90
  }));
91
- return;
91
+ return newState;
92
92
  }
93
- state = [ ...state, newNotification ];
93
+ return [ ...state, newNotification ];
94
94
  },
95
95
  update: (state, action) => {
96
- state = state.map((message => {
96
+ const newState = state.map((message => {
97
97
  if (message.id === action.payload.id) {
98
98
  const newNotification = Object.assign({}, action.payload);
99
99
  return newNotification;
100
100
  }
101
101
  return Object.assign({}, message);
102
102
  }));
103
+ return newState;
103
104
  },
104
105
  remove: (state, action) => {
105
- state = state.filter((message => message.id !== action.payload));
106
+ const newState = state.filter((message => message.id !== action.payload));
107
+ return newState;
106
108
  }
107
109
  }
108
110
  });
@@ -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\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 state = [\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 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 update: (\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 remove: (\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<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","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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"}
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":";;;;;;;;;;;;AAgCO,MAAMA,iBAA0B;IACnCC,OAAO;IACPC,aAAa;IACbC,SAAS;IACTC,SAAS;IACTC,OAAO;IACPC,eAAe;IACfC,cAAc;IACdC,QAAQ;IACRC,SAAS;;;AAGN,MAAMC,SAAO;;AAGb,MAAMC,YAAU,CACnBC,QAAmBZ,mBAClBa,oBAAY;UACbH;IACAV,cAAcY;IACdE,UAAU;QACNC,SAAS,CACLH,OACAI;YAEAJ,QACOK,OAAAC,OAAAD,OAAAC,OAAA,IAAAN,QACAI;;;;;AAMZ,MAAMG,UAAQR;;AAMd,MAAMS,YAAUD,QAAMC;;AAGtB,MAAMC,UACTT,SACYA,MAAMU;;AAEf,MAAMC,cAAY;IACrBF,SAAAA;;;AAIG,MAAMG,YAAUL,QAAMK;;;;;;;;;;;;;;AC3DtB,MAAMxB,iBAAmC;;AAEzC,MAAMU,SAAO;;AAGb,MAAMC,YAAU,CACnBC,QAA4BZ,mBAC3Ba,oBAAY;UACbH;IACAV,cAAcY;IACdE,UAAU;QACNW,KAAK,CACDb,OACAI;YAEA,MAAMU,KAAKC,KAAKC,WAAW;YAC3B,MAAMC,OAAOb,OAAOc;YAEpB,MAAMC,kBAAgC;gBAClCL,IAAAA;gBACAG,MAAAA;;YAGJ,OAAO,KACAjB,OACHmB;;QAGRC,KAAK,CACDpB,OACAI;YAEA,MAAMU,KAAKV,OAAOc,QAAQJ,MAAMC,KAAKC,WAAW;YAEhD,MAAMG,kDACCf,OAAOc,UACV;gBAAAJ,IAAAA;;YAGJ,MAAMO,uBAAuBrB,MAAMsB,MAC/BC,gBAAgBA,aAAaT,OAAOK,gBAAgBL;YAGxD,IAAIO,sBAAsB;gBACtB,MAAMG,WAAWxB,MAAMyB,KAAIF;oBACvB,IAAIA,aAAaT,OAAOK,gBAAgBL,IAAI;wBACxC,OAAOK;;oBAGX,OAAOI;;gBAGX,OAAOC;;YAGX,OAAO,KACAxB,OACHmB;;QAGRO,QAAQ,CACJ1B,OACAI;YAEA,MAAMoB,WAAWxB,MAAMyB,KAAIE;gBACvB,IAAIA,QAAQb,OAAOV,OAAOc,QAAQJ,IAAI;oBAClC,MAAMK,kBACCd,OAAAC,OAAA,IAAAF,OAAOc;oBAEd,OAAOC;;gBAGX,OAAAd,OAAAC,OAAA,IACOqB;;YAIX,OAAOH;;QAEXI,QAAQ,CACJ5B,OACAI;YAEA,MAAMoB,WAAWxB,MAAM6B,QACnBF,WAAWA,QAAQb,OAAOV,OAAOc;YAGrC,OAAOM;;;;;AAKZ,MAAMjB,UAAQR;;AAMd,MAAMS,YAAUD,QAAMC;;AAG7B,MAAMsB,SACF9B,SACCA,MAAM+B;;AAEJ,MAAMpB,cAAY;IACrBmB,QAAAA;;;AAIG,MAAMlB,YAAUL,QAAMK;;;;;;;;;;;;;AC9GtB,MAAMxB,iBAA+B;IACxC4C,QAAQ;;;AAGL,MAAMlC,SAAO;;AAGb,MAAMC,YAAU,CACnBC,QAAwBZ,mBACvBa,oBAAY;UACbH;IACAV,cAAcY;IACdE,UAAU;QACN+B,oBAAoB,CAChBjC,OACAI;YAEAJ,MAAMgC,SAAS5B,OAAOc;;QAE1BgB,uBAAuB,CACnBlC,OACAmC;YAEAnC,MAAMgC,UAAUhC,MAAMgC;;;;;AAK3B,MAAMzB,UAAQR;;AAMd,MAAMS,YAAUD,QAAMC;;AAG7B,MAAM4B,YACFpC,SACCA,MAAMqC,UAAUL;;AAEd,MAAMrB,cAAY;IACrByB,WAAAA;;;AAIG,MAAMxB,YAAUL,QAAMK;;;;;;;;;;;;;AC7CtB,MAAMxB,iBAA6B;IACtCkD,aAAa;IACbC,MAAM;;;AAGH,MAAMzC,SAAO;;AAGb,MAAMC,YAAU,CACnBC,QAAsBZ,mBACrBa,oBAAY;UACbH;IACAV,cAAcY;IACdE,UAAU;QACNsC,uBAAuB,CACnBxC,OACAI;YAEA,MAAMkC,cAAclC,OAAOc;YAE3B,OACOb,OAAAC,OAAAD,OAAAC,OAAA,IAAAN,QACH;gBAAAsC,aAAAA;;;QAGRG,gBAAgB,CACZzC,OACAI;YAEAJ,MAAMuC,OAAOnC,OAAOc;;QAExBwB,mBAAmB,CACf1C,OACAmC;YAEAnC,MAAMuC,QAAQvC,MAAMuC;;;;;AAKzB,MAAMhC,UAAQR;;AAMd,MAAMS,YAAUD,QAAMC;;AAG7B,MAAMmC,iBACF3C,SACCA,MAAM4C,QAAQN;;AACnB,MAAMO,UACF7C,SACCA,MAAM4C,QAAQL;;AAEZ,MAAM5B,cAAY;IACrBgC,gBAAAA;IACAE,SAAAA;;;AAIG,MAAMjC,YAAUL,QAAMK;;;;;;;;;;;;;ACxDtB,MAAMxB,eAA4B;IACrC0D,SAAOzC,OAAAC,OAAA,IACAyC,aAAAA;IAEPC,aAAW3C,OAAAC,OAAA,IACJyC,aAAAA;;;AAIJ,MAAMjD,OAAO;;AASb,MAAMC,UAAU,CACnBC,QAAqBZ,iBACpBa,oBAAY;IACbH,MAAAA;IACAV,cAAcY;IACdE,UAAU;QACN+C,UAAU,CACNjD,OACAI;YAEA,OAAM8C,MACFA,MAAIC,OACJA,SACA/C,OAAOc;YAEXlB,MAAMkD,QAAQC;;QAElBC,iBAAiB,CACbpD,OACAI;YAEAJ,MAAM8C,UAAU1C,OAAOc;;QAE3BmC,qBAAqB,CACjBrD,OACAI;YAEAJ,MAAMgD,cAAc5C,OAAOc;;;;;AAKhC,MAAMX,QAAQR;;AAMd,MAAMS,UAAUD,MAAMC;;AAG7B,MAAM8C,kBACFtD,SACCA,MAAMuD,OAAOT;;AAClB,MAAMU,sBACFxD,SACCA,MAAMuD,OAAOP;;AAEX,MAAMrC,YAAY;IACrB2C,iBAAAA;IACAE,qBAAAA;;;AAIG,MAAM5C,UAAUL,MAAMK;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,22 +4,22 @@ export declare type NotificationsState = Notification[];
4
4
  export declare const initialState: NotificationsState;
5
5
  export declare const name: "notifications";
6
6
  export declare const factory: (state?: NotificationsState) => import("@reduxjs/toolkit").Slice<NotificationsState, {
7
- new: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => void;
8
- add: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<AddNotificationPayload>) => void;
9
- update: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<Notification>) => void;
10
- remove: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => void;
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>[];
11
11
  }, "notifications">;
12
12
  export declare const slice: import("@reduxjs/toolkit").Slice<NotificationsState, {
13
- new: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => void;
14
- add: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<AddNotificationPayload>) => void;
15
- update: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<Notification>) => void;
16
- remove: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => void;
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>[];
17
17
  }, "notifications">;
18
18
  export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{
19
- new: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => void;
20
- add: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<AddNotificationPayload>) => void;
21
- update: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<Notification>) => void;
22
- remove: (state: import("immer/dist/internal").WritableDraft<Notification>[], action: PayloadAction<string>) => void;
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>[];
23
23
  }>;
24
24
  export declare const selectors: {
25
25
  getAll: (state: StateWithSlice<typeof name, NotificationsState>) => NotificationsState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurid/plurid-ui-state-react",
3
- "version": "0.0.0-7",
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.4",
52
- "@types/jest": "^28.1.6",
53
- "@types/node": "^18.7.2",
54
- "@typescript-eslint/eslint-plugin": "^5.33.0",
55
- "@typescript-eslint/parser": "^5.33.0",
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.21.0",
57
+ "eslint": "^8.23.0",
58
58
  "immer": "^9.0.15",
59
- "jest": "^28.1.3",
60
- "rollup": "^2.77.3",
59
+ "jest": "^29.0.3",
60
+ "rollup": "^2.79.0",
61
61
  "rollup-plugin-terser": "^7.0.2",
62
- "rollup-plugin-typescript2": "^0.32.1",
63
- "ts-jest": "^28.0.7",
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.4"
66
+ "typescript": "^4.7.3"
67
67
  }
68
68
  }