@athoscommerce/snap-store-mobx 1.4.0 → 1.5.1-beta.110

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 (53) hide show
  1. package/dist/cjs/Autocomplete/AutocompleteStore.d.ts.map +1 -1
  2. package/dist/cjs/Autocomplete/AutocompleteStore.js +4 -1
  3. package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.js +2 -1
  4. package/dist/cjs/Chat/ChatStore.d.ts +86 -0
  5. package/dist/cjs/Chat/ChatStore.d.ts.map +1 -0
  6. package/dist/cjs/Chat/ChatStore.js +539 -0
  7. package/dist/cjs/Chat/Stores/ChatAttachmentStore.d.ts +98 -0
  8. package/dist/cjs/Chat/Stores/ChatAttachmentStore.d.ts.map +1 -0
  9. package/dist/cjs/Chat/Stores/ChatAttachmentStore.js +314 -0
  10. package/dist/cjs/Chat/Stores/ChatCompareStore.d.ts +16 -0
  11. package/dist/cjs/Chat/Stores/ChatCompareStore.d.ts.map +1 -0
  12. package/dist/cjs/Chat/Stores/ChatCompareStore.js +65 -0
  13. package/dist/cjs/Chat/Stores/ChatSessionStore.d.ts +107 -0
  14. package/dist/cjs/Chat/Stores/ChatSessionStore.d.ts.map +1 -0
  15. package/dist/cjs/Chat/Stores/ChatSessionStore.js +635 -0
  16. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.js +1 -1
  17. package/dist/cjs/Search/Stores/SearchFacetStore.d.ts.map +1 -1
  18. package/dist/cjs/Search/Stores/SearchFacetStore.js +13 -10
  19. package/dist/cjs/Search/Stores/index.d.ts +1 -1
  20. package/dist/cjs/Search/Stores/index.d.ts.map +1 -1
  21. package/dist/cjs/Search/Stores/index.js +2 -1
  22. package/dist/cjs/index.d.ts +4 -0
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js +5 -1
  25. package/dist/cjs/types.d.ts +21 -2
  26. package/dist/cjs/types.d.ts.map +1 -1
  27. package/dist/esm/Autocomplete/AutocompleteStore.d.ts.map +1 -1
  28. package/dist/esm/Autocomplete/AutocompleteStore.js +3 -1
  29. package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.js +1 -1
  30. package/dist/esm/Chat/ChatStore.d.ts +86 -0
  31. package/dist/esm/Chat/ChatStore.d.ts.map +1 -0
  32. package/dist/esm/Chat/ChatStore.js +478 -0
  33. package/dist/esm/Chat/Stores/ChatAttachmentStore.d.ts +98 -0
  34. package/dist/esm/Chat/Stores/ChatAttachmentStore.d.ts.map +1 -0
  35. package/dist/esm/Chat/Stores/ChatAttachmentStore.js +222 -0
  36. package/dist/esm/Chat/Stores/ChatCompareStore.d.ts +16 -0
  37. package/dist/esm/Chat/Stores/ChatCompareStore.d.ts.map +1 -0
  38. package/dist/esm/Chat/Stores/ChatCompareStore.js +51 -0
  39. package/dist/esm/Chat/Stores/ChatSessionStore.d.ts +107 -0
  40. package/dist/esm/Chat/Stores/ChatSessionStore.d.ts.map +1 -0
  41. package/dist/esm/Chat/Stores/ChatSessionStore.js +601 -0
  42. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.js +1 -1
  43. package/dist/esm/Search/Stores/SearchFacetStore.d.ts.map +1 -1
  44. package/dist/esm/Search/Stores/SearchFacetStore.js +13 -10
  45. package/dist/esm/Search/Stores/index.d.ts +1 -1
  46. package/dist/esm/Search/Stores/index.d.ts.map +1 -1
  47. package/dist/esm/Search/Stores/index.js +1 -1
  48. package/dist/esm/index.d.ts +4 -0
  49. package/dist/esm/index.d.ts.map +1 -1
  50. package/dist/esm/index.js +2 -0
  51. package/dist/esm/types.d.ts +21 -2
  52. package/dist/esm/types.d.ts.map +1 -1
  53. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteStore.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;IACrE,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,aAAa,EAAG,wBAAwB,CAAC;IACzC,MAAM,EAAG,sBAAsB,CAAC;IAChC,KAAK,EAAG,qBAAqB,CAAC;IAC9B,MAAM,EAAG,sBAAsB,CAAC;IAChC,OAAO,EAAG,iBAAiB,CAAC;IAC5B,OAAO,EAAG,iBAAiB,CAAC;IAC5B,UAAU,EAAG,qBAAqB,CAAC;IACnC,OAAO,EAAG,kBAAkB,CAAC;IAC7B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,OAAO,EAAE,wBAAwB,CAAC;gBAE7B,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,aAAa;IAoCpE,IAAI,QAAQ,YAEX;IAEM,KAAK,IAAI,IAAI;IAMb,WAAW,IAAI,IAAI;IA8BnB,UAAU,IAAI,IAAI;IAMlB,gBAAgB,IAAI,IAAI;IAIxB,aAAa,IAAI,IAAI;IAIrB,YAAY,IAAI,IAAI;IAIpB,UAAU,CAAC,IAAI,EAAE,MAAM,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAUhE,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAiB1D,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,MAAM,CAAC,EAAE,yBAAyB,CAAA;KAAE,GAAG,IAAI;CA8G5F"}
1
+ {"version":3,"file":"AutocompleteStore.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;IACrE,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,aAAa,EAAG,wBAAwB,CAAC;IACzC,MAAM,EAAG,sBAAsB,CAAC;IAChC,KAAK,EAAG,qBAAqB,CAAC;IAC9B,MAAM,EAAG,sBAAsB,CAAC;IAChC,OAAO,EAAG,iBAAiB,CAAC;IAC5B,OAAO,EAAG,iBAAiB,CAAC;IAC5B,UAAU,EAAG,qBAAqB,CAAC;IACnC,OAAO,EAAG,kBAAkB,CAAC;IAC7B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,OAAO,EAAE,wBAAwB,CAAC;gBAE7B,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,aAAa;IAoCpE,IAAI,QAAQ,YAEX;IAEM,KAAK,IAAI,IAAI;IAMb,WAAW,IAAI,IAAI;IA8BnB,UAAU,IAAI,IAAI;IAMlB,gBAAgB,IAAI,IAAI;IAIxB,aAAa,IAAI,IAAI;IAIrB,YAAY,IAAI,IAAI;IAIpB,UAAU,CAAC,IAAI,EAAE,MAAM,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAYhE,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAiB1D,MAAM,CAAC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,MAAM,CAAC,EAAE,yBAAyB,CAAA;KAAE,GAAG,IAAI;CA8G5F"}
@@ -116,11 +116,14 @@ var AutocompleteStore = /** @class */ (function (_super) {
116
116
  (_a = this.history) === null || _a === void 0 ? void 0 : _a.forEach(function (term) { return (term.active = false); });
117
117
  };
118
118
  AutocompleteStore.prototype.setService = function (name, service) {
119
+ var _a;
119
120
  if (this.services[name] && service) {
120
121
  this.services[name] = service;
121
122
  if (name === 'urlManager') {
122
123
  this.state.url = service;
123
- this.initHistory();
124
+ (_a = this.history) === null || _a === void 0 ? void 0 : _a.forEach(function (term) {
125
+ term.url = service.set({ query: term.value });
126
+ });
124
127
  }
125
128
  }
126
129
  };
@@ -39,6 +39,7 @@ var AutocompleteFacetStore = /** @class */ (function (_super) {
39
39
  var _a;
40
40
  (_a = facet.values) === null || _a === void 0 ? void 0 : _a.forEach(function (value) {
41
41
  value.preview = function () {
42
+ var _a;
42
43
  facets.map(function (facet) {
43
44
  var _a;
44
45
  facet.filtered = false;
@@ -49,7 +50,7 @@ var AutocompleteFacetStore = /** @class */ (function (_super) {
49
50
  facet.filtered = true;
50
51
  value.filtered = true;
51
52
  state === null || state === void 0 ? void 0 : state.autocomplete.locks.facets.lock();
52
- value.url.go();
53
+ (_a = value.url) === null || _a === void 0 ? void 0 : _a.go();
53
54
  };
54
55
  });
55
56
  });
@@ -0,0 +1,86 @@
1
+ import { ChatStoreConfig, StoreServices } from '../types';
2
+ import { MetaStore } from '../Meta/MetaStore';
3
+ import type { MetaResponseModel, SearchResponseModelFacet } from '@athoscommerce/snapi-types';
4
+ import { AbstractStore } from '../Abstract/AbstractStore';
5
+ import type { ChatResponseModel, ChatRequestModel, ProductsResponseModel } from '@athoscommerce/snap-client';
6
+ import type { UrlManager } from '@athoscommerce/snap-url-manager';
7
+ import { StorageStore } from '@athoscommerce/snap-toolbox';
8
+ import { ChatSessionStore } from './Stores/ChatSessionStore';
9
+ import { ChatStatusResponse } from '@athoscommerce/snap-client';
10
+ import { Product } from '../Search/Stores/SearchResultStore';
11
+ import { SearchFacetStore } from '../Search/Stores/SearchFacetStore';
12
+ export declare class ChatStore extends AbstractStore<ChatStoreConfig> {
13
+ meta?: MetaStore;
14
+ inputValue: string;
15
+ open: boolean;
16
+ storage: StorageStore;
17
+ services: StoreServices;
18
+ /** Detached UrlManager — holds the in-progress facet selection for the active facets display.
19
+ * Detached so .go() updates state without navigating the page. */
20
+ urlManager: UrlManager;
21
+ /** The single facet store rendered in chat — backed by the active message's facets. */
22
+ facets: SearchFacetStore;
23
+ chats: ChatSessionStore[];
24
+ currentChatId: string;
25
+ chatEnabled: boolean | null;
26
+ initChatLoading: boolean;
27
+ suggestedQuestions: string[];
28
+ welcomeMessage: string;
29
+ features: ChatStatusResponse['features'];
30
+ productQuickview: Product | null;
31
+ productQuickviewError: string | null;
32
+ /** Raw meta kept for lazy hydration of inactive chat sessions. */
33
+ private storedMetaData;
34
+ /** Tracks which message currently owns the displayed facets — guards against redundant rebuilds. */
35
+ private activeFacetsMessageId;
36
+ /** Bumps on every detached-urlManager change so observers re-evaluate isFacetSelected. */
37
+ urlVersion: number;
38
+ /** Snapshot of the applied filter state captured the last time the active message was seeded.
39
+ * Compared against the live urlManager state to decide whether there are pending changes. */
40
+ private appliedFilterSnapshot;
41
+ constructor(config: ChatStoreConfig, services: StoreServices);
42
+ /** Build a SearchFacetStore from raw facet data using the current detached urlManager.
43
+ * Synthesizes meta entries for each facet so SearchFacetStore's display/meta filter
44
+ * doesn't drop chat facets (the chat backend already decided what to send). */
45
+ private buildFacetStore;
46
+ /** Reset the detached urlManager and seed it with this message's filtered facet values,
47
+ * then rebuild the root SearchFacetStore so the UI shows the matching display. */
48
+ setActiveFacets(facets: SearchResponseModelFacet[], messageId: string | null): void;
49
+ /** True when the in-progress facet selection differs from the filters that were applied
50
+ * by the active productSearchResult — i.e. the user has selected/removed something that
51
+ * hasn't been sent yet. Used to decide whether to show the Apply button. */
52
+ get hasPendingFacetChanges(): boolean;
53
+ get currentChat(): ChatSessionStore | undefined;
54
+ get chatsIds(): string[];
55
+ get blocked(): boolean;
56
+ private applyChatStatusResponse;
57
+ handleChatStatusResponse(response: ChatStatusResponse): boolean;
58
+ reset(): void;
59
+ setProductQuickview(product: Product): void;
60
+ updateProductQuickview(response: ProductsResponseModel): void;
61
+ setProductQuickviewError(message: string): void;
62
+ clearProductQuickview(): void;
63
+ clearHistory(): void;
64
+ createChat(data?: {
65
+ sessionId: string;
66
+ sessionEndTime?: Date;
67
+ }): ChatSessionStore;
68
+ switchChat(id: string): void;
69
+ sendProductQuery(result: any, options: {
70
+ requestType: 'productQuery' | 'productSimilar' | 'productComparison';
71
+ }): void;
72
+ compareProduct(result: any): void;
73
+ addFacet(facet: {
74
+ key: string;
75
+ value: string;
76
+ }): void;
77
+ removeFacet(key: string, value: string): void;
78
+ clearPendingFacets(): void;
79
+ isFacetSelected(key: string, value: string): boolean;
80
+ request(request: ChatRequestModel): void;
81
+ update(data: {
82
+ chat: ChatResponseModel;
83
+ meta: MetaResponseModel;
84
+ }): void;
85
+ }
86
+ //# sourceMappingURL=ChatStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatStore.d.ts","sourceRoot":"","sources":["../../../src/Chat/ChatStore.ts"],"names":[],"mappings":"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"}