@open-tender/store 1.1.180 → 1.1.182

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.
Files changed (59) hide show
  1. package/dist/cjs/app/hooks.d.ts +1 -0
  2. package/dist/cjs/app/store.d.ts +4 -0
  3. package/dist/cjs/app/store.js +2 -1
  4. package/dist/cjs/components/OrderCard.d.ts +2 -2
  5. package/dist/cjs/components/OrderCard.js +4 -6
  6. package/dist/cjs/components/OrderDetails.d.ts +1 -2
  7. package/dist/cjs/components/OrderDetails.js +2 -17
  8. package/dist/cjs/components/SignInPhone.js +0 -1
  9. package/dist/cjs/components/Switch.d.ts +15 -0
  10. package/dist/cjs/components/Switch.js +23 -0
  11. package/dist/cjs/components/TagsButton.d.ts +6 -0
  12. package/dist/cjs/components/TagsButton.js +18 -0
  13. package/dist/cjs/components/TagsFilter.d.ts +7 -0
  14. package/dist/cjs/components/TagsFilter.js +52 -0
  15. package/dist/cjs/components/index.d.ts +4 -1
  16. package/dist/cjs/components/index.js +7 -1
  17. package/dist/cjs/hooks/useOrderValidate.js +4 -4
  18. package/dist/cjs/services/api.d.ts +2 -1
  19. package/dist/cjs/services/api.js +3 -0
  20. package/dist/cjs/slices/customer.d.ts +1 -0
  21. package/dist/cjs/slices/index.d.ts +1 -0
  22. package/dist/cjs/slices/index.js +1 -0
  23. package/dist/cjs/slices/kiosk.d.ts +7 -0
  24. package/dist/cjs/slices/menuPages.d.ts +1 -0
  25. package/dist/cjs/slices/order.d.ts +4 -0
  26. package/dist/cjs/slices/tags.d.ts +86 -0
  27. package/dist/cjs/slices/tags.js +87 -0
  28. package/dist/cjs/slices/types.d.ts +2 -1
  29. package/dist/cjs/slices/types.js +1 -0
  30. package/dist/esm/app/hooks.d.ts +1 -0
  31. package/dist/esm/app/store.d.ts +4 -0
  32. package/dist/esm/app/store.js +3 -2
  33. package/dist/esm/components/OrderCard.d.ts +2 -2
  34. package/dist/esm/components/OrderCard.js +5 -7
  35. package/dist/esm/components/OrderDetails.d.ts +1 -2
  36. package/dist/esm/components/OrderDetails.js +4 -19
  37. package/dist/esm/components/SignInPhone.js +0 -1
  38. package/dist/esm/components/Switch.d.ts +15 -0
  39. package/dist/esm/components/Switch.js +21 -0
  40. package/dist/esm/components/TagsButton.d.ts +6 -0
  41. package/dist/esm/components/TagsButton.js +16 -0
  42. package/dist/esm/components/TagsFilter.d.ts +7 -0
  43. package/dist/esm/components/TagsFilter.js +50 -0
  44. package/dist/esm/components/index.d.ts +4 -1
  45. package/dist/esm/components/index.js +4 -1
  46. package/dist/esm/hooks/useOrderValidate.js +4 -4
  47. package/dist/esm/services/api.d.ts +2 -1
  48. package/dist/esm/services/api.js +3 -0
  49. package/dist/esm/slices/customer.d.ts +1 -0
  50. package/dist/esm/slices/index.d.ts +1 -0
  51. package/dist/esm/slices/index.js +1 -0
  52. package/dist/esm/slices/kiosk.d.ts +7 -0
  53. package/dist/esm/slices/menuPages.d.ts +1 -0
  54. package/dist/esm/slices/order.d.ts +4 -0
  55. package/dist/esm/slices/tags.d.ts +86 -0
  56. package/dist/esm/slices/tags.js +81 -0
  57. package/dist/esm/slices/types.d.ts +2 -1
  58. package/dist/esm/slices/types.js +1 -0
  59. package/package.json +3 -3
@@ -0,0 +1,86 @@
1
+ import { Tags, RequestError, RequestStatus } from '@open-tender/types';
2
+ import { AppState } from '../app';
3
+ export interface TagsState {
4
+ entities: Tags;
5
+ error: RequestError;
6
+ loading: RequestStatus;
7
+ selectedTags: Tags;
8
+ showTagsModal: boolean;
9
+ }
10
+ export declare enum TagsActionType {
11
+ FetchTags = "tags/fetchTags"
12
+ }
13
+ export declare const fetchTags: import("@reduxjs/toolkit").AsyncThunk<Tags, void, {
14
+ state: AppState;
15
+ rejectValue: RequestError;
16
+ dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
17
+ extra?: unknown;
18
+ serializedErrorType?: unknown;
19
+ pendingMeta?: unknown;
20
+ fulfilledMeta?: unknown;
21
+ rejectedMeta?: unknown;
22
+ }>;
23
+ export declare const resetTags: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tags/resetTags">, setSelectedTags: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "tags/setSelectedTags">, toggleTagsModal: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "tags/toggleTagsModal">;
24
+ export declare const selectTags: (state: AppState) => TagsState;
25
+ export declare const selectSelectedTags: (state: AppState) => Tags;
26
+ export declare const selectShowTagsModal: (state: AppState) => boolean;
27
+ export declare const selectSelectedTagNames: ((state: {
28
+ alerts: import("@open-tender/types").Alerts;
29
+ arrivals: import("./arrivals").ArrivalsState;
30
+ cartSummary: import("./cartSummary").CartSummaryState;
31
+ checkout: import("./checkout").CheckoutState;
32
+ config: import("./config").ConfigState;
33
+ customer: import("./customer").CustomerState;
34
+ customerIdentify: import("./customerIdentify").CustomerIdentifyState;
35
+ deals: import("./deals").DealsState;
36
+ discounts: import("./discounts").DiscountsState;
37
+ errorAlerts: import("./errorAlerts").ErrorAlertsState;
38
+ kds: import("./kds").KdsState;
39
+ kiosk: import("./kiosk").KioskState;
40
+ menu: import("./menu").MenuState;
41
+ menuPages: import("./menuPages").MenuPagesState;
42
+ modal: import("./modal").ModalState;
43
+ notifications: import("@open-tender/types").Notifications;
44
+ offlineAuths: import("./offlineAuths").OfflineAuthsState;
45
+ order: import("./order").OrderState;
46
+ pos: import("./pos").PosState;
47
+ punches: import("./punches").PunchesState;
48
+ refund: import("./refund").RefundState;
49
+ sendReceipt: import("./sendReceipt").SendReceiptState;
50
+ settings: import("./settings").SettingsState;
51
+ sidebar: import("./sidebar").SidebarState;
52
+ surcharges: import("./surcharges").SurchargesState;
53
+ taxes: import("./taxes").TaxesState;
54
+ idle: import("./idle").IdleState;
55
+ tags: TagsState;
56
+ }) => string[]) & {
57
+ clearCache: () => void;
58
+ resultsCount: () => number;
59
+ resetResultsCount: () => void;
60
+ } & {
61
+ resultFunc: (resultFuncArgs_0: {
62
+ tags: Tags;
63
+ selectedTags: Tags;
64
+ }) => string[];
65
+ memoizedResultFunc: ((resultFuncArgs_0: {
66
+ tags: Tags;
67
+ selectedTags: Tags;
68
+ }) => string[]) & {
69
+ clearCache: () => void;
70
+ resultsCount: () => number;
71
+ resetResultsCount: () => void;
72
+ };
73
+ lastResult: () => string[];
74
+ dependencies: [(state: AppState) => {
75
+ tags: Tags;
76
+ selectedTags: Tags;
77
+ }];
78
+ recomputations: () => number;
79
+ resetRecomputations: () => void;
80
+ dependencyRecomputations: () => number;
81
+ resetDependencyRecomputations: () => void;
82
+ } & {
83
+ argsMemoize: typeof import("reselect").weakMapMemoize;
84
+ memoize: typeof import("reselect").weakMapMemoize;
85
+ };
86
+ export declare const tagsReducer: import("redux").Reducer<TagsState>;
@@ -0,0 +1,81 @@
1
+ var _a;
2
+ import { __awaiter, __generator } from "tslib";
3
+ import { createAsyncThunk, createSelector, createSlice } from '@reduxjs/toolkit';
4
+ import { ReducerType } from './types';
5
+ var initialState = {
6
+ entities: [],
7
+ error: null,
8
+ loading: 'idle',
9
+ selectedTags: [],
10
+ showTagsModal: false
11
+ };
12
+ export var TagsActionType;
13
+ (function (TagsActionType) {
14
+ TagsActionType["FetchTags"] = "tags/fetchTags";
15
+ })(TagsActionType || (TagsActionType = {}));
16
+ export var fetchTags = createAsyncThunk(TagsActionType.FetchTags, function (_1, _a) { return __awaiter(void 0, [_1, _a], void 0, function (_, _b) {
17
+ var api, data, err_1;
18
+ var getState = _b.getState, rejectWithValue = _b.rejectWithValue;
19
+ return __generator(this, function (_c) {
20
+ switch (_c.label) {
21
+ case 0:
22
+ _c.trys.push([0, 2, , 3]);
23
+ api = getState().config.api;
24
+ return [4 /*yield*/, api.getTags()];
25
+ case 1:
26
+ data = _c.sent();
27
+ return [2 /*return*/, data];
28
+ case 2:
29
+ err_1 = _c.sent();
30
+ return [2 /*return*/, rejectWithValue(err_1)];
31
+ case 3: return [2 /*return*/];
32
+ }
33
+ });
34
+ }); });
35
+ var tagsSlice = createSlice({
36
+ name: ReducerType.Tags,
37
+ initialState: initialState,
38
+ reducers: {
39
+ resetTags: function () { return initialState; },
40
+ setSelectedTags: function (state, action) {
41
+ state.selectedTags = action.payload;
42
+ },
43
+ toggleTagsModal: function (state, action) {
44
+ state.showTagsModal = action.payload;
45
+ }
46
+ },
47
+ extraReducers: function (builder) {
48
+ builder
49
+ .addCase(fetchTags.fulfilled, function (state, action) {
50
+ state.entities = action.payload;
51
+ state.loading = 'idle';
52
+ state.error = null;
53
+ })
54
+ .addCase(fetchTags.pending, function (state) {
55
+ state.loading = 'pending';
56
+ })
57
+ .addCase(fetchTags.rejected, function (state, action) {
58
+ state.error = action.payload;
59
+ state.loading = 'idle';
60
+ });
61
+ }
62
+ });
63
+ export var resetTags = (_a = tagsSlice.actions, _a.resetTags), setSelectedTags = _a.setSelectedTags, toggleTagsModal = _a.toggleTagsModal;
64
+ export var selectTags = function (state) { return state.tags; };
65
+ export var selectSelectedTags = function (state) { return state.tags.selectedTags; };
66
+ export var selectShowTagsModal = function (state) { return state.tags.showTagsModal; };
67
+ export var selectSelectedTagNames = createSelector(function (state) {
68
+ var _a = state.tags, tags = _a.entities, selectedTags = _a.selectedTags;
69
+ return { tags: tags, selectedTags: selectedTags };
70
+ }, function (_a) {
71
+ var tags = _a.tags, selectedTags = _a.selectedTags;
72
+ if (!selectedTags)
73
+ return [];
74
+ var selected = selectedTags.map(function (i) {
75
+ var _a;
76
+ var tag = tags.find(function (a) { return a.tag_id === i.tag_id; });
77
+ return tag ? (_a = tag.name) !== null && _a !== void 0 ? _a : '' : '';
78
+ });
79
+ return selected;
80
+ });
81
+ export var tagsReducer = tagsSlice.reducer;
@@ -27,5 +27,6 @@ export declare enum ReducerType {
27
27
  Sidebar = "sidebar",
28
28
  Surcharges = "surcharges",
29
29
  Taxes = "taxes",
30
- Idle = "idle"
30
+ Idle = "idle",
31
+ Tags = "tags"
31
32
  }
@@ -29,4 +29,5 @@ export var ReducerType;
29
29
  ReducerType["Surcharges"] = "surcharges";
30
30
  ReducerType["Taxes"] = "taxes";
31
31
  ReducerType["Idle"] = "idle";
32
+ ReducerType["Tags"] = "tags";
32
33
  })(ReducerType || (ReducerType = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/store",
3
- "version": "1.1.180",
3
+ "version": "1.1.182",
4
4
  "description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -62,8 +62,8 @@
62
62
  "peerDependencies": {
63
63
  "@emotion/react": "^11.11.1",
64
64
  "@open-tender/types": "^0.4.77",
65
- "@open-tender/ui": "^0.4.10",
66
- "@open-tender/utils": "^0.4.56",
65
+ "@open-tender/ui": "^0.4.11",
66
+ "@open-tender/utils": "^0.4.61",
67
67
  "@reduxjs/toolkit": "^2.0.1",
68
68
  "date-fns": "2.30.0",
69
69
  "date-fns-tz": "^2.0.0",