@sinequa/atomic-angular 0.0.140 → 0.1.3
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/README.md +145 -0
- package/components/no-result/i18n/en.json +5 -0
- package/components/no-result/i18n/fr.json +5 -0
- package/components/sort-selector/i18n/en.json +3 -0
- package/components/sort-selector/i18n/fr.json +3 -0
- package/components/source/i18n/en.json +3 -0
- package/components/source/i18n/fr.json +3 -0
- package/features/alerts/i18n/en.json +33 -0
- package/features/alerts/i18n/fr.json +33 -0
- package/features/bookmarks/i18n/en.json +11 -0
- package/features/bookmarks/i18n/fr.json +11 -0
- package/features/collections/i18n/en.json +17 -0
- package/features/collections/i18n/fr.json +16 -0
- package/features/dialogs/i18n/en.json +15 -0
- package/features/dialogs/i18n/fr.json +15 -0
- package/features/did-you-mean/i18n/en.json +5 -0
- package/features/did-you-mean/i18n/fr.json +5 -0
- package/features/drawer/i18n/en.json +22 -0
- package/features/drawer/i18n/fr.json +22 -0
- package/features/export/i18n/en.json +7 -0
- package/features/export/i18n/fr.json +7 -0
- package/features/feedback/i18n/en.json +26 -0
- package/features/feedback/i18n/fr.json +26 -0
- package/features/filters/i18n/en.json +14 -0
- package/features/filters/i18n/fr.json +14 -0
- package/features/labels/i18n/en.json +8 -0
- package/features/labels/i18n/fr.json +8 -0
- package/features/recent-searches/i18n/en.json +6 -0
- package/features/recent-searches/i18n/fr.json +6 -0
- package/features/saved-searches/i18n/en.json +8 -0
- package/features/saved-searches/i18n/fr.json +8 -0
- package/features/sign-in/i18n/en.json +12 -0
- package/features/sign-in/i18n/fr.json +14 -0
- package/fesm2022/sinequa-atomic-angular.mjs +7948 -2383
- package/fesm2022/sinequa-atomic-angular.mjs.map +1 -1
- package/index.d.ts +6036 -3
- package/package.json +68 -10
- package/assets/tailwind.css +0 -248
- package/esm2022/lib/assistant/index.mjs +0 -2
- package/esm2022/lib/assistant/signalR.web.service.mjs +0 -81
- package/esm2022/lib/components/dropdown.mjs +0 -127
- package/esm2022/lib/components/index.mjs +0 -5
- package/esm2022/lib/components/menu/index.mjs +0 -3
- package/esm2022/lib/components/menu/menu-item.mjs +0 -22
- package/esm2022/lib/components/menu/menu.mjs +0 -99
- package/esm2022/lib/components/metadata/index.mjs +0 -2
- package/esm2022/lib/components/metadata/metadata.component.mjs +0 -65
- package/esm2022/lib/components/theme/index.mjs +0 -3
- package/esm2022/lib/components/theme/theme-selector.component.mjs +0 -67
- package/esm2022/lib/components/theme/theme-toggle.component.mjs +0 -67
- package/esm2022/lib/directives/index.mjs +0 -5
- package/esm2022/lib/directives/infinite-scroll.directive.mjs +0 -47
- package/esm2022/lib/directives/select-article-on-click.directive.mjs +0 -39
- package/esm2022/lib/directives/show-bookmark.directive.mjs +0 -55
- package/esm2022/lib/directives/theme-provider.directive.mjs +0 -31
- package/esm2022/lib/guards/auth.guard.mjs +0 -27
- package/esm2022/lib/guards/index.mjs +0 -3
- package/esm2022/lib/guards/initialization.guard.mjs +0 -41
- package/esm2022/lib/interceptors/audit.interceptor.mjs +0 -23
- package/esm2022/lib/interceptors/auth.interceptor.mjs +0 -49
- package/esm2022/lib/interceptors/body.interceptor.mjs +0 -24
- package/esm2022/lib/interceptors/error.interceptor.mjs +0 -35
- package/esm2022/lib/interceptors/index.mjs +0 -7
- package/esm2022/lib/interceptors/toast.interceptor.mjs +0 -27
- package/esm2022/lib/models/aggregation.mjs +0 -2
- package/esm2022/lib/models/article-metadata.mjs +0 -2
- package/esm2022/lib/models/autocomplete.mjs +0 -2
- package/esm2022/lib/models/custom-json.mjs +0 -2
- package/esm2022/lib/models/filter-dropdown.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -7
- package/esm2022/lib/models/user-settings.mjs +0 -2
- package/esm2022/lib/pipes/highlight-word.pipe.mjs +0 -33
- package/esm2022/lib/pipes/index.mjs +0 -3
- package/esm2022/lib/pipes/source-icon.pipe.mjs +0 -43
- package/esm2022/lib/providers/eager-provider.mjs +0 -24
- package/esm2022/lib/providers/index.mjs +0 -2
- package/esm2022/lib/public-api.mjs +0 -19
- package/esm2022/lib/resolvers/index.mjs +0 -2
- package/esm2022/lib/resolvers/query-name-resolver.mjs +0 -14
- package/esm2022/lib/resources/index.mjs +0 -2
- package/esm2022/lib/resources/themes.mjs +0 -53
- package/esm2022/lib/services/application.service.mjs +0 -245
- package/esm2022/lib/services/autocomplete.service.mjs +0 -85
- package/esm2022/lib/services/drawer/backdrop.service.mjs +0 -23
- package/esm2022/lib/services/drawer/drawer-stack.service.mjs +0 -152
- package/esm2022/lib/services/drawer/drawer.service.mjs +0 -38
- package/esm2022/lib/services/index.mjs +0 -12
- package/esm2022/lib/services/label.service.mjs +0 -161
- package/esm2022/lib/services/navigation.service.mjs +0 -59
- package/esm2022/lib/services/saved-searches.service.mjs +0 -75
- package/esm2022/lib/services/search.service.mjs +0 -89
- package/esm2022/lib/services/selection-history.service.mjs +0 -92
- package/esm2022/lib/services/selection.service.mjs +0 -87
- package/esm2022/lib/stores/aggregations.store.mjs +0 -62
- package/esm2022/lib/stores/app.store.mjs +0 -265
- package/esm2022/lib/stores/application.store.mjs +0 -93
- package/esm2022/lib/stores/index.mjs +0 -9
- package/esm2022/lib/stores/principal.store.mjs +0 -47
- package/esm2022/lib/stores/query-params.store.mjs +0 -208
- package/esm2022/lib/stores/selection.store.mjs +0 -46
- package/esm2022/lib/stores/theme.store.mjs +0 -116
- package/esm2022/lib/stores/user-settings.store.mjs +0 -272
- package/esm2022/lib/tokens/highlights.mjs +0 -32
- package/esm2022/lib/tokens/index.mjs +0 -2
- package/esm2022/lib/utils/debounced-signal.mjs +0 -38
- package/esm2022/lib/utils/index.mjs +0 -8
- package/esm2022/lib/utils/inline-worker.mjs +0 -40
- package/esm2022/lib/utils/query.mjs +0 -58
- package/esm2022/lib/utils/routes.mjs +0 -28
- package/esm2022/lib/utils/tailwind-utils.mjs +0 -6
- package/esm2022/lib/utils/theme-body-hook.mjs +0 -18
- package/esm2022/lib/utils/theme-registry.mjs +0 -6
- package/esm2022/lib/web-services/aggregations.service.mjs +0 -104
- package/esm2022/lib/web-services/app.service.mjs +0 -48
- package/esm2022/lib/web-services/audit.service.mjs +0 -122
- package/esm2022/lib/web-services/index.mjs +0 -10
- package/esm2022/lib/web-services/json-method-plugin.service.mjs +0 -54
- package/esm2022/lib/web-services/preview.service.mjs +0 -327
- package/esm2022/lib/web-services/principal.service.mjs +0 -46
- package/esm2022/lib/web-services/query.service.mjs +0 -123
- package/esm2022/lib/web-services/text-chunck.service.mjs +0 -46
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/sinequa-atomic-angular.mjs +0 -5
- package/lib/assistant/index.d.ts +0 -1
- package/lib/assistant/signalR.web.service.d.ts +0 -46
- package/lib/components/dropdown.d.ts +0 -50
- package/lib/components/index.d.ts +0 -4
- package/lib/components/menu/index.d.ts +0 -2
- package/lib/components/menu/menu-item.d.ts +0 -8
- package/lib/components/menu/menu.d.ts +0 -24
- package/lib/components/metadata/index.d.ts +0 -1
- package/lib/components/metadata/metadata.component.d.ts +0 -24
- package/lib/components/theme/index.d.ts +0 -2
- package/lib/components/theme/theme-selector.component.d.ts +0 -70
- package/lib/components/theme/theme-toggle.component.d.ts +0 -10
- package/lib/directives/index.d.ts +0 -4
- package/lib/directives/infinite-scroll.directive.d.ts +0 -30
- package/lib/directives/select-article-on-click.directive.d.ts +0 -14
- package/lib/directives/show-bookmark.directive.d.ts +0 -52
- package/lib/directives/theme-provider.directive.d.ts +0 -20
- package/lib/guards/auth.guard.d.ts +0 -7
- package/lib/guards/index.d.ts +0 -2
- package/lib/guards/initialization.guard.d.ts +0 -20
- package/lib/interceptors/audit.interceptor.d.ts +0 -13
- package/lib/interceptors/auth.interceptor.d.ts +0 -14
- package/lib/interceptors/body.interceptor.d.ts +0 -11
- package/lib/interceptors/error.interceptor.d.ts +0 -9
- package/lib/interceptors/index.d.ts +0 -5
- package/lib/interceptors/toast.interceptor.d.ts +0 -13
- package/lib/models/aggregation.d.ts +0 -12
- package/lib/models/article-metadata.d.ts +0 -5
- package/lib/models/autocomplete.d.ts +0 -5
- package/lib/models/custom-json.d.ts +0 -58
- package/lib/models/filter-dropdown.d.ts +0 -10
- package/lib/models/index.d.ts +0 -6
- package/lib/models/user-settings.d.ts +0 -32
- package/lib/pipes/highlight-word.pipe.d.ts +0 -22
- package/lib/pipes/index.d.ts +0 -2
- package/lib/pipes/source-icon.pipe.d.ts +0 -54
- package/lib/providers/eager-provider.d.ts +0 -11
- package/lib/providers/index.d.ts +0 -1
- package/lib/public-api.d.ts +0 -15
- package/lib/resolvers/index.d.ts +0 -1
- package/lib/resolvers/query-name-resolver.d.ts +0 -9
- package/lib/resources/index.d.ts +0 -1
- package/lib/resources/themes.d.ts +0 -51
- package/lib/services/application.service.d.ts +0 -178
- package/lib/services/autocomplete.service.d.ts +0 -91
- package/lib/services/drawer/backdrop.service.d.ts +0 -9
- package/lib/services/drawer/drawer-stack.service.d.ts +0 -70
- package/lib/services/drawer/drawer.service.d.ts +0 -15
- package/lib/services/index.d.ts +0 -11
- package/lib/services/label.service.d.ts +0 -117
- package/lib/services/navigation.service.d.ts +0 -33
- package/lib/services/saved-searches.service.d.ts +0 -145
- package/lib/services/search.service.d.ts +0 -155
- package/lib/services/selection-history.service.d.ts +0 -50
- package/lib/services/selection.service.d.ts +0 -127
- package/lib/stores/aggregations.store.d.ts +0 -50
- package/lib/stores/app.store.d.ts +0 -208
- package/lib/stores/application.store.d.ts +0 -106
- package/lib/stores/index.d.ts +0 -8
- package/lib/stores/principal.store.d.ts +0 -53
- package/lib/stores/query-params.store.d.ts +0 -187
- package/lib/stores/selection.store.d.ts +0 -62
- package/lib/stores/theme.store.d.ts +0 -55
- package/lib/stores/user-settings.store.d.ts +0 -161
- package/lib/tokens/highlights.d.ts +0 -8
- package/lib/tokens/index.d.ts +0 -1
- package/lib/utils/debounced-signal.d.ts +0 -25
- package/lib/utils/index.d.ts +0 -7
- package/lib/utils/inline-worker.d.ts +0 -11
- package/lib/utils/query.d.ts +0 -26
- package/lib/utils/routes.d.ts +0 -16
- package/lib/utils/tailwind-utils.d.ts +0 -2
- package/lib/utils/theme-body-hook.d.ts +0 -6
- package/lib/utils/theme-registry.d.ts +0 -3
- package/lib/web-services/aggregations.service.d.ts +0 -60
- package/lib/web-services/app.service.d.ts +0 -30
- package/lib/web-services/audit.service.d.ts +0 -75
- package/lib/web-services/index.d.ts +0 -9
- package/lib/web-services/json-method-plugin.service.d.ts +0 -41
- package/lib/web-services/preview.service.d.ts +0 -295
- package/lib/web-services/principal.service.d.ts +0 -28
- package/lib/web-services/query.service.d.ts +0 -29
- package/lib/web-services/text-chunck.service.d.ts +0 -22
- package/public-api.d.ts +0 -1
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { withDevtools } from '@angular-architects/ngrx-toolkit';
|
|
2
|
-
import { patchState, signalStore, signalStoreFeature, withMethods, withState } from '@ngrx/signals';
|
|
3
|
-
import { deleteUserSettings, fetchUserSettings, patchUserSettings } from '@sinequa/atomic';
|
|
4
|
-
const initialState = {
|
|
5
|
-
bookmarks: [],
|
|
6
|
-
recentSearches: [],
|
|
7
|
-
savedSearches: [],
|
|
8
|
-
assistants: {},
|
|
9
|
-
language: undefined,
|
|
10
|
-
};
|
|
11
|
-
export const UserSettingsStore = signalStore({ providedIn: 'root' }, withDevtools('UserSettings'), withState(initialState), withUserSettingsFeatures(), withBookmarkFeatures(), withRecentSearchFeatures(), withSavedSearchFeatures(), withAssistantFeatures());
|
|
12
|
-
export function withUserSettingsFeatures() {
|
|
13
|
-
return signalStoreFeature(withState(initialState), withMethods((store) => ({
|
|
14
|
-
/**
|
|
15
|
-
* Initializes the user settings store by fetching the user settings from the backend API
|
|
16
|
-
* and patching the store with the retrieved settings.
|
|
17
|
-
*
|
|
18
|
-
* @returns {Promise<void>} A promise that resolves when the initialization is complete.
|
|
19
|
-
*/
|
|
20
|
-
async initialize() {
|
|
21
|
-
// Fetch the user settings from the backend API and patch the store with the result
|
|
22
|
-
const settings = await fetchUserSettings();
|
|
23
|
-
patchState(store, settings);
|
|
24
|
-
},
|
|
25
|
-
/**
|
|
26
|
-
* Resets the user settings to the initial state.
|
|
27
|
-
*
|
|
28
|
-
* This method performs the following actions:
|
|
29
|
-
* 1. Deletes the current user settings.
|
|
30
|
-
* 2. Patches the state with the initial state.
|
|
31
|
-
*
|
|
32
|
-
* @returns {Promise<void>} A promise that resolves when the reset operation is complete.
|
|
33
|
-
*/
|
|
34
|
-
async reset() {
|
|
35
|
-
// Reset the user settings to the initial state
|
|
36
|
-
await deleteUserSettings();
|
|
37
|
-
patchState(store, initialState);
|
|
38
|
-
},
|
|
39
|
-
})));
|
|
40
|
-
}
|
|
41
|
-
export function withBookmarkFeatures() {
|
|
42
|
-
return signalStoreFeature(withState(initialState), withMethods((store) => ({
|
|
43
|
-
/**
|
|
44
|
-
* Updates the user's bookmarks in the store and optionally logs audit events.
|
|
45
|
-
*
|
|
46
|
-
* @param bookmarks - An array of bookmarks to update in the user settings.
|
|
47
|
-
* @param auditEvents - Optional audit events to log during the update.
|
|
48
|
-
* @returns A promise that resolves when the update is complete.
|
|
49
|
-
*/
|
|
50
|
-
async updateBookmarks(bookmarks, auditEvents) {
|
|
51
|
-
await patchUserSettings({ bookmarks }, auditEvents);
|
|
52
|
-
patchState(store, (state) => {
|
|
53
|
-
return { ...state, bookmarks: [...bookmarks] };
|
|
54
|
-
});
|
|
55
|
-
},
|
|
56
|
-
/**
|
|
57
|
-
* Adds an article to the bookmarks if it is not already bookmarked.
|
|
58
|
-
*
|
|
59
|
-
* @param article - The article to be bookmarked.
|
|
60
|
-
* @param queryName - Optional name of the query associated with the bookmark.
|
|
61
|
-
* @returns A promise that resolves when the bookmark has been added.
|
|
62
|
-
*/
|
|
63
|
-
async bookmark(article, queryName) {
|
|
64
|
-
if (!article.id)
|
|
65
|
-
return;
|
|
66
|
-
if (this.isBookmarked(article))
|
|
67
|
-
return;
|
|
68
|
-
const bookmark = {
|
|
69
|
-
id: article.id,
|
|
70
|
-
label: article.title,
|
|
71
|
-
source: article.collection[0],
|
|
72
|
-
author: article.authors?.[0],
|
|
73
|
-
queryName,
|
|
74
|
-
};
|
|
75
|
-
await this.updateBookmarks([...store.bookmarks(), bookmark], {
|
|
76
|
-
type: "Basket_AddDoc",
|
|
77
|
-
detail: {
|
|
78
|
-
docid: article.id
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
},
|
|
82
|
-
/**
|
|
83
|
-
* Removes a bookmark by its ID.
|
|
84
|
-
*
|
|
85
|
-
* @param id - The ID of the bookmark to remove.
|
|
86
|
-
* @returns A promise that resolves when the bookmark has been removed and the bookmarks have been updated.
|
|
87
|
-
*
|
|
88
|
-
* @remarks
|
|
89
|
-
* - If the provided ID is falsy, the function will return immediately.
|
|
90
|
-
* - If the bookmark with the given ID is not found, the function will return immediately.
|
|
91
|
-
* - The function updates the bookmarks and logs the removal action with a type of "Basket_RemoveDoc".
|
|
92
|
-
*/
|
|
93
|
-
async unbookmark(id) {
|
|
94
|
-
if (!id)
|
|
95
|
-
return;
|
|
96
|
-
const bookmarks = store.bookmarks();
|
|
97
|
-
const index = bookmarks?.findIndex((bookmark) => bookmark.id === id);
|
|
98
|
-
if (index === -1)
|
|
99
|
-
return;
|
|
100
|
-
bookmarks.splice(index, 1);
|
|
101
|
-
await this.updateBookmarks([...bookmarks], {
|
|
102
|
-
type: "Basket_RemoveDoc",
|
|
103
|
-
detail: {
|
|
104
|
-
docid: id
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
},
|
|
108
|
-
/**
|
|
109
|
-
* Checks if the given article is bookmarked.
|
|
110
|
-
*
|
|
111
|
-
* @param article - An optional partial article object to check.
|
|
112
|
-
* @returns `true` if the article is bookmarked, `false` otherwise.
|
|
113
|
-
*/
|
|
114
|
-
isBookmarked(article) {
|
|
115
|
-
if (!article || !article.id)
|
|
116
|
-
return false;
|
|
117
|
-
const bookmarks = store.bookmarks();
|
|
118
|
-
return !!bookmarks?.find((bookmark) => bookmark.id === article.id);
|
|
119
|
-
},
|
|
120
|
-
/**
|
|
121
|
-
* Toggles the bookmark status of a given article.
|
|
122
|
-
*
|
|
123
|
-
* This method checks if the article is currently bookmarked. If it is,
|
|
124
|
-
* it removes the bookmark. If it is not, it adds a bookmark.
|
|
125
|
-
*
|
|
126
|
-
* @param article - The article to toggle the bookmark status for.
|
|
127
|
-
* @returns A promise that resolves when the bookmark status has been toggled.
|
|
128
|
-
*/
|
|
129
|
-
async toggleBookmark(article) {
|
|
130
|
-
const isBookmarked = await this.isBookmarked(article);
|
|
131
|
-
if (isBookmarked)
|
|
132
|
-
this.unbookmark(article.id);
|
|
133
|
-
else
|
|
134
|
-
this.bookmark(article);
|
|
135
|
-
},
|
|
136
|
-
})));
|
|
137
|
-
}
|
|
138
|
-
export function withRecentSearchFeatures() {
|
|
139
|
-
return signalStoreFeature(withState(initialState), withMethods((store) => ({
|
|
140
|
-
/**
|
|
141
|
-
* Deletes a recent search entry from the user's recent searches list.
|
|
142
|
-
*
|
|
143
|
-
* @param {number} index - The index of the recent search to delete.
|
|
144
|
-
* @returns {Promise<void>} A promise that resolves when the recent search has been deleted and the state has been updated.
|
|
145
|
-
*/
|
|
146
|
-
async deleteRecentSearch(index) {
|
|
147
|
-
const recentSearches = store.recentSearches();
|
|
148
|
-
if (recentSearches) {
|
|
149
|
-
const recentSearchToDelete = recentSearches.splice(index, 1)[0];
|
|
150
|
-
await patchUserSettings({ recentSearches }, {
|
|
151
|
-
type: "RecentQuery_Delete",
|
|
152
|
-
detail: {
|
|
153
|
-
recentQuery: recentSearchToDelete.queryParams?.text
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
patchState(store, (state) => {
|
|
157
|
-
return { ...state, recentSearches: [...recentSearches] };
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
/**
|
|
162
|
-
* Updates the recent searches in the user settings.
|
|
163
|
-
*
|
|
164
|
-
* @param recentSearches - An array of recent searches to be updated in the user settings.
|
|
165
|
-
* @param auditEvents - Optional audit events to be logged during the update.
|
|
166
|
-
* @returns A promise that resolves when the recent searches have been updated.
|
|
167
|
-
*/
|
|
168
|
-
async updateRecentSearches(recentSearches, auditEvents) {
|
|
169
|
-
await patchUserSettings({ recentSearches }, auditEvents);
|
|
170
|
-
patchState(store, (state) => {
|
|
171
|
-
return { ...state, recentSearches: [...recentSearches] };
|
|
172
|
-
});
|
|
173
|
-
},
|
|
174
|
-
/**
|
|
175
|
-
* Adds the current search to the recent searches list.
|
|
176
|
-
*
|
|
177
|
-
* This method checks if a search with the same label already exists in the recent searches.
|
|
178
|
-
* If it does, it updates the existing search with the new query parameters and date.
|
|
179
|
-
* If it does not, it adds a new search to the recent searches list.
|
|
180
|
-
*
|
|
181
|
-
* @param queryParams - The parameters of the current search.
|
|
182
|
-
* @returns A promise that resolves when the recent searches have been updated.
|
|
183
|
-
*/
|
|
184
|
-
async addCurrentSearch(queryParams) {
|
|
185
|
-
// fist search if the search is already in the recent searches with the same label
|
|
186
|
-
const recentSearches = store.recentSearches();
|
|
187
|
-
const existingSearch = recentSearches.find((search) => search.label === queryParams.text);
|
|
188
|
-
const url = window.location.hash.substring(1);
|
|
189
|
-
const path = url.split('?')[0];
|
|
190
|
-
if (existingSearch) {
|
|
191
|
-
await this.updateRecentSearches([
|
|
192
|
-
{ ...existingSearch,
|
|
193
|
-
date: new Date().toISOString(),
|
|
194
|
-
url,
|
|
195
|
-
path,
|
|
196
|
-
queryParams,
|
|
197
|
-
filterCount: queryParams.filters?.length
|
|
198
|
-
},
|
|
199
|
-
...recentSearches.filter((search) => search.label !== queryParams.text),
|
|
200
|
-
], {
|
|
201
|
-
type: "RecentQuery_Update",
|
|
202
|
-
detail: {
|
|
203
|
-
recentQuery: queryParams.text
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
const recentSearch = {
|
|
209
|
-
url,
|
|
210
|
-
path,
|
|
211
|
-
display: queryParams.text,
|
|
212
|
-
label: queryParams.text,
|
|
213
|
-
filterCount: queryParams.filters?.length,
|
|
214
|
-
date: new Date().toISOString(),
|
|
215
|
-
queryParams
|
|
216
|
-
};
|
|
217
|
-
await this.updateRecentSearches([recentSearch, ...store.recentSearches()], {
|
|
218
|
-
type: "RecentQuery_Add",
|
|
219
|
-
detail: {
|
|
220
|
-
recentQuery: queryParams.text
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
},
|
|
225
|
-
})));
|
|
226
|
-
}
|
|
227
|
-
export function withSavedSearchFeatures() {
|
|
228
|
-
return signalStoreFeature(withState(initialState), withMethods((store) => ({
|
|
229
|
-
async deleteSavedSearch(index) {
|
|
230
|
-
const savedSearches = store.savedSearches();
|
|
231
|
-
if (savedSearches) {
|
|
232
|
-
const savedSearchToDelete = savedSearches.splice(index, 1)[0];
|
|
233
|
-
await patchUserSettings({ savedSearches }, {
|
|
234
|
-
type: "SavedQuery_Delete",
|
|
235
|
-
detail: {
|
|
236
|
-
savedQuery: savedSearchToDelete.display
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
patchState(store, (state) => {
|
|
240
|
-
return { ...state, savedSearches: [...savedSearches] };
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
async updateSavedSearches(savedSearches) {
|
|
245
|
-
await patchUserSettings({ savedSearches }, {
|
|
246
|
-
type: "SavedQuery_Add",
|
|
247
|
-
detail: {
|
|
248
|
-
savedQuery: savedSearches[0].display
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
patchState(store, (state) => {
|
|
252
|
-
return { ...state, savedSearches: [...savedSearches] };
|
|
253
|
-
});
|
|
254
|
-
},
|
|
255
|
-
})));
|
|
256
|
-
}
|
|
257
|
-
export function withAssistantFeatures() {
|
|
258
|
-
return signalStoreFeature(withState(initialState), withMethods((store) => ({
|
|
259
|
-
async updateAssistantSettings(assistantSettings) {
|
|
260
|
-
patchState(store, (state) => {
|
|
261
|
-
return { ...state, assistants: assistantSettings };
|
|
262
|
-
});
|
|
263
|
-
},
|
|
264
|
-
async updateLanguage(language, auditEvents) {
|
|
265
|
-
await patchUserSettings({ language }, auditEvents);
|
|
266
|
-
patchState(store, (state) => {
|
|
267
|
-
return { ...state, language };
|
|
268
|
-
});
|
|
269
|
-
},
|
|
270
|
-
})));
|
|
271
|
-
}
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXR0aW5ncy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F0b21pYy1hbmd1bGFyL3NyYy9saWIvc3RvcmVzL3VzZXItc2V0dGluZ3Muc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEcsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBTTlILE1BQU0sWUFBWSxHQUFpQjtJQUNqQyxTQUFTLEVBQUUsRUFBRTtJQUNiLGNBQWMsRUFBRSxFQUFFO0lBQ2xCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLFVBQVUsRUFBRSxFQUFFO0lBQ2QsUUFBUSxFQUFFLFNBQVM7Q0FDcEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FDMUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQ3RCLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFDNUIsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUN2Qix3QkFBd0IsRUFBRSxFQUMxQixvQkFBb0IsRUFBRSxFQUN0Qix3QkFBd0IsRUFBRSxFQUMxQix1QkFBdUIsRUFBRSxFQUN6QixxQkFBcUIsRUFBRSxDQUN4QixDQUFBO0FBRUQsTUFBTSxVQUFVLHdCQUF3QjtJQUN0QyxPQUFPLGtCQUFrQixDQUN2QixTQUFTLENBQUMsWUFBWSxDQUFDLEVBQ3ZCLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0Qjs7Ozs7V0FLRztRQUNILEtBQUssQ0FBQyxVQUFVO1lBQ2QsbUZBQW1GO1lBQ25GLE1BQU0sUUFB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S0FBSyxDQUFDLHVCQUF1QixDQUFDLGlCQUE2QztZQUN6RSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzFCLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUNyRCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQWtDLEVBQUUsV0FBeUI7WUFDaEYsTUFBTSxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ25ELFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDMUIsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztLQUNGLENBQUMsQ0FBQyxDQUNKLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd2l0aERldnRvb2xzIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9uZ3J4LXRvb2xraXQnO1xuaW1wb3J0IHsgcGF0Y2hTdGF0ZSwgc2lnbmFsU3RvcmUsIHNpZ25hbFN0b3JlRmVhdHVyZSwgd2l0aE1ldGhvZHMsIHdpdGhTdGF0ZSB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMnO1xuXG5pbXBvcnQgeyBBcnRpY2xlLCBBdWRpdEV2ZW50cywgZGVsZXRlVXNlclNldHRpbmdzLCBmZXRjaFVzZXJTZXR0aW5ncywgcGF0Y2hVc2VyU2V0dGluZ3MsIFF1ZXJ5UGFyYW1zIH0gZnJvbSAnQHNpbmVxdWEvYXRvbWljJztcblxuaW1wb3J0IHsgUmVjZW50U2VhcmNoLCBVc2VyU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMvdXNlci1zZXR0aW5ncyc7XG5cblxuXG5jb25zdCBpbml0aWFsU3RhdGU6IFVzZXJTZXR0aW5ncyA9IHtcbiAgYm9va21hcmtzOiBbXSxcbiAgcmVjZW50U2VhcmNoZXM6IFtdLFxuICBzYXZlZFNlYXJjaGVzOiBbXSxcbiAgYXNzaXN0YW50czoge30sXG4gIGxhbmd1YWdlOiB1bmRlZmluZWQsXG59O1xuXG5leHBvcnQgY29uc3QgVXNlclNldHRpbmdzU3RvcmUgPSBzaWduYWxTdG9yZShcbiAgeyBwcm92aWRlZEluOiAncm9vdCcgfSxcbiAgd2l0aERldnRvb2xzKCdVc2VyU2V0dGluZ3MnKSxcbiAgd2l0aFN0YXRlKGluaXRpYWxTdGF0ZSksXG4gIHdpdGhVc2VyU2V0dGluZ3NGZWF0dXJlcygpLFxuICB3aXRoQm9va21hcmtGZWF0dXJlcygpLFxuICB3aXRoUmVjZW50U2VhcmNoRmVhdHVyZXMoKSxcbiAgd2l0aFNhdmVkU2VhcmNoRmVhdHVyZXMoKSxcbiAgd2l0aEFzc2lzdGFudEZlYXR1cmVzKClcbilcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhVc2VyU2V0dGluZ3NGZWF0dXJlcygpIHtcbiAgcmV0dXJuIHNpZ25hbFN0b3JlRmVhdHVyZShcbiAgICB3aXRoU3RhdGUoaW5pdGlhbFN0YXRlKSxcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICAvKipcbiAgICAgICAqIEluaXRpYWxpemVzIHRoZSB1c2VyIHNldHRpbmdzIHN0b3JlIGJ5IGZldGNoaW5nIHRoZSB1c2VyIHNldHRpbmdzIGZyb20gdGhlIGJhY2tlbmQgQVBJXG4gICAgICAgKiBhbmQgcGF0Y2hpbmcgdGhlIHN0b3JlIHdpdGggdGhlIHJldHJpZXZlZCBzZXR0aW5ncy5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuXG4gICAgICAgKi9cbiAgICAgIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIEZldGNoIHRoZSB1c2VyIHNldHRpbmdzIGZyb20gdGhlIGJhY2tlbmQgQVBJIGFuZCBwYXRjaCB0aGUgc3RvcmUgd2l0aCB0aGUgcmVzdWx0XG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0gYXdhaXQgZmV0Y2hVc2VyU2V0dGluZ3M8VXNlclNldHRpbmdzPigpO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCBzZXR0aW5ncyk7XG4gICAgICB9LFxuICAgICAgLyoqXG4gICAgICAgKiBSZXNldHMgdGhlIHVzZXIgc2V0dGluZ3MgdG8gdGhlIGluaXRpYWwgc3RhdGUuXG4gICAgICAgKlxuICAgICAgICogVGhpcyBtZXRob2QgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBhY3Rpb25zOlxuICAgICAgICogMS4gRGVsZXRlcyB0aGUgY3VycmVudCB1c2VyIHNldHRpbmdzLlxuICAgICAgICogMi4gUGF0Y2hlcyB0aGUgc3RhdGUgd2l0aCB0aGUgaW5pdGlhbCBzdGF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVzZXQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlLlxuICAgICAgICovXG4gICAgICBhc3luYyByZXNldCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gUmVzZXQgdGhlIHVzZXIgc2V0dGluZ3MgdG8gdGhlIGluaXRpYWwgc3RhdGVcbiAgICAgICAgYXdhaXQgZGVsZXRlVXNlclNldHRpbmdzKCk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIGluaXRpYWxTdGF0ZSk7XG4gICAgICB9LFxuICAgIH0pKSxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEJvb2ttYXJrRmVhdHVyZXMoKSB7XG4gIHJldHVybiBzaWduYWxTdG9yZUZlYXR1cmUoXG4gICAgd2l0aFN0YXRlKGluaXRpYWxTdGF0ZSksXG4gICAgd2l0aE1ldGhvZHMoKHN0b3JlKSA9PiAoe1xuICAgICAgLyoqXG4gICAgICAgKiBVcGRhdGVzIHRoZSB1c2VyJ3MgYm9va21hcmtzIGluIHRoZSBzdG9yZSBhbmQgb3B0aW9uYWxseSBsb2dzIGF1ZGl0IGV2ZW50cy5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0gYm9va21hcmtzIC0gQW4gYXJyYXkgb2YgYm9va21hcmtzIHRvIHVwZGF0ZSBpbiB0aGUgdXNlciBzZXR0aW5ncy5cbiAgICAgICAqIEBwYXJhbSBhdWRpdEV2ZW50cyAtIE9wdGlvbmFsIGF1ZGl0IGV2ZW50cyB0byBsb2cgZHVyaW5nIHRoZSB1cGRhdGUuXG4gICAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB1cGRhdGUgaXMgY29tcGxldGUuXG4gICAgICAgKi9cbiAgICAgIGFzeW5jIHVwZGF0ZUJvb2ttYXJrcyhib29rbWFya3M6IFVzZXJTZXR0aW5nc1snYm9va21hcmtzJ10sIGF1ZGl0RXZlbnRzPzogQXVkaXRFdmVudHMpIHtcbiAgICAgICAgYXdhaXQgcGF0Y2hVc2VyU2V0dGluZ3MoeyBib29rbWFya3MgfSwgYXVkaXRFdmVudHMpO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCAoc3RhdGUpID0+IHtcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSwgYm9va21hcmtzOiBbLi4uYm9va21hcmtzXSB9O1xuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogQWRkcyBhbiBhcnRpY2xlIHRvIHRoZSBib29rbWFya3MgaWYgaXQgaXMgbm90IGFscmVhZHkgYm9va21hcmtlZC5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0gYXJ0aWNsZSAtIFRoZSBhcnRpY2xlIHRvIGJlIGJvb2ttYXJrZWQuXG4gICAgICAgKiBAcGFyYW0gcXVlcnlOYW1lIC0gT3B0aW9uYWwgbmFtZSBvZiB0aGUgcXVlcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBib29rbWFyay5cbiAgICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGJvb2ttYXJrIGhhcyBiZWVuIGFkZGVkLlxuICAgICAgICovXG4gICAgICBhc3luYyBib29rbWFyayhhcnRpY2xlOiBBcnRpY2xlLCBxdWVyeU5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFhcnRpY2xlLmlkKSByZXR1cm47XG5cbiAgICAgICAgaWYgKHRoaXMuaXNCb29rbWFya2VkKGFydGljbGUpKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgYm9va21hcmsgPSB7XG4gICAgICAgICAgaWQ6IGFydGljbGUuaWQsXG4gICAgICAgICAgbGFiZWw6IGFydGljbGUudGl0bGUsXG4gICAgICAgICAgc291cmNlOiBhcnRpY2xlLmNvbGxlY3Rpb25bMF0sXG4gICAgICAgICAgYXV0aG9yOiBhcnRpY2xlLmF1dGhvcnM/LlswXSxcbiAgICAgICAgICBxdWVyeU5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlQm9va21hcmtzKFsuLi5zdG9yZS5ib29rbWFya3MoKSwgYm9va21hcmtdLCB7XG4gICAgICAgICAgdHlwZTogXCJCYXNrZXRfQWRkRG9jXCIsXG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICBkb2NpZDogYXJ0aWNsZS5pZFxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmVzIGEgYm9va21hcmsgYnkgaXRzIElELlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSBpZCAtIFRoZSBJRCBvZiB0aGUgYm9va21hcmsgdG8gcmVtb3ZlLlxuICAgICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYm9va21hcmsgaGFzIGJlZW4gcmVtb3ZlZCBhbmQgdGhlIGJvb2ttYXJrcyBoYXZlIGJlZW4gdXBkYXRlZC5cbiAgICAgICAqXG4gICAgICAgKiBAcmVtYXJrc1xuICAgICAgICogLSBJZiB0aGUgcHJvdmlkZWQgSUQgaXMgZmFsc3ksIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBpbW1lZGlhdGVseS5cbiAgICAgICAqIC0gSWYgdGhlIGJvb2ttYXJrIHdpdGggdGhlIGdpdmVuIElEIGlzIG5vdCBmb3VuZCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGltbWVkaWF0ZWx5LlxuICAgICAgICogLSBUaGUgZnVuY3Rpb24gdXBkYXRlcyB0aGUgYm9va21hcmtzIGFuZCBsb2dzIHRoZSByZW1vdmFsIGFjdGlvbiB3aXRoIGEgdHlwZSBvZiBcIkJhc2tldF9SZW1vdmVEb2NcIi5cbiAgICAgICAqL1xuICAgICAgYXN5bmMgdW5ib29rbWFyayhpZDogc3RyaW5nKSB7XG4gICAgICAgIGlmICghaWQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBib29rbWFya3MgPSBzdG9yZS5ib29rbWFya3MoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBib29rbWFya3M/LmZpbmRJbmRleCgoYm9va21hcmspID0+IGJvb2ttYXJrLmlkID09PSBpZCk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuO1xuXG4gICAgICAgIGJvb2ttYXJrcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZUJvb2ttYXJrcyhbLi4uYm9va21hcmtzXSwge1xuICAgICAgICAgIHR5cGU6IFwiQmFza2V0X1JlbW92ZURvY1wiLFxuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgZG9jaWQ6IGlkXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAvKipcbiAgICAgICAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gYXJ0aWNsZSBpcyBib29rbWFya2VkLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSBhcnRpY2xlIC0gQW4gb3B0aW9uYWwgcGFydGlhbCBhcnRpY2xlIG9iamVjdCB0byBjaGVjay5cbiAgICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgYXJ0aWNsZSBpcyBib29rbWFya2VkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICAgICAqL1xuICAgICAgaXNCb29rbWFya2VkKGFydGljbGU6IFBhcnRpYWw8QXJ0aWNsZT4pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFhcnRpY2xlIHx8ICFhcnRpY2xlLmlkKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGNvbnN0IGJvb2ttYXJrcyA9IHN0b3JlLmJvb2ttYXJrcygpO1xuXG4gICAgICAgIHJldHVybiAhIWJvb2ttYXJrcz8uZmluZCgoYm9va21hcmspID0+IGJvb2ttYXJrLmlkID09PSBhcnRpY2xlLmlkKTtcbiAgICAgIH0sXG4gICAgICAvKipcbiAgICAgICAqIFRvZ2dsZXMgdGhlIGJvb2ttYXJrIHN0YXR1cyBvZiBhIGdpdmVuIGFydGljbGUuXG4gICAgICAgKlxuICAgICAgICogVGhpcyBtZXRob2QgY2hlY2tzIGlmIHRoZSBhcnRpY2xlIGlzIGN1cnJlbnRseSBib29rbWFya2VkLiBJZiBpdCBpcyxcbiAgICAgICAqIGl0IHJlbW92ZXMgdGhlIGJvb2ttYXJrLiBJZiBpdCBpcyBub3QsIGl0IGFkZHMgYSBib29rbWFyay5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0gYXJ0aWNsZSAtIFRoZSBhcnRpY2xlIHRvIHRvZ2dsZSB0aGUgYm9va21hcmsgc3RhdHVzIGZvci5cbiAgICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGJvb2ttYXJrIHN0YXR1cyBoYXMgYmVlbiB0b2dnbGVkLlxuICAgICAgICovXG4gICAgICBhc3luYyB0b2dnbGVCb29rbWFyayhhcnRpY2xlOiBBcnRpY2xlKSB7XG4gICAgICAgIGNvbnN0IGlzQm9va21hcmtlZCA9IGF3YWl0IHRoaXMuaXNCb29rbWFya2VkKGFydGljbGUpO1xuXG4gICAgICAgIGlmIChpc0Jvb2ttYXJrZWQpXG4gICAgICAgICAgdGhpcy51bmJvb2ttYXJrKGFydGljbGUuaWQpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgdGhpcy5ib29rbWFyayhhcnRpY2xlKTtcbiAgICAgIH0sXG4gICAgfSkpXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhSZWNlbnRTZWFyY2hGZWF0dXJlcygpIHtcbiAgcmV0dXJuIHNpZ25hbFN0b3JlRmVhdHVyZShcbiAgICB3aXRoU3RhdGUoaW5pdGlhbFN0YXRlKSxcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICAvKipcbiAgICAgICAqIERlbGV0ZXMgYSByZWNlbnQgc2VhcmNoIGVudHJ5IGZyb20gdGhlIHVzZXIncyByZWNlbnQgc2VhcmNoZXMgbGlzdC5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHJlY2VudCBzZWFyY2ggdG8gZGVsZXRlLlxuICAgICAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHJlY2VudCBzZWFyY2ggaGFzIGJlZW4gZGVsZXRlZCBhbmQgdGhlIHN0YXRlIGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAgICAgKi9cbiAgICAgIGFzeW5jIGRlbGV0ZVJlY2VudFNlYXJjaChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHJlY2VudFNlYXJjaGVzID0gc3RvcmUucmVjZW50U2VhcmNoZXMoKTtcbiAgICAgICAgaWYgKHJlY2VudFNlYXJjaGVzKSB7XG4gICAgICAgICAgY29uc3QgcmVjZW50U2VhcmNoVG9EZWxldGUgPSByZWNlbnRTZWFyY2hlcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xuICAgICAgICAgIGF3YWl0IHBhdGNoVXNlclNldHRpbmdzKHsgcmVjZW50U2VhcmNoZXMgfSwge1xuICAgICAgICAgICAgdHlwZTogXCJSZWNlbnRRdWVyeV9EZWxldGVcIixcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICByZWNlbnRRdWVyeTogcmVjZW50U2VhcmNoVG9EZWxldGUucXVlcnlQYXJhbXM/LnRleHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHJlY2VudFNlYXJjaGVzOiBbLi4ucmVjZW50U2VhcmNoZXNdIH07XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogVXBkYXRlcyB0aGUgcmVjZW50IHNlYXJjaGVzIGluIHRoZSB1c2VyIHNldHRpbmdzLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSByZWNlbnRTZWFyY2hlcyAtIEFuIGFycmF5IG9mIHJlY2VudCBzZWFyY2hlcyB0byBiZSB1cGRhdGVkIGluIHRoZSB1c2VyIHNldHRpbmdzLlxuICAgICAgICogQHBhcmFtIGF1ZGl0RXZlbnRzIC0gT3B0aW9uYWwgYXVkaXQgZXZlbnRzIHRvIGJlIGxvZ2dlZCBkdXJpbmcgdGhlIHVwZGF0ZS5cbiAgICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHJlY2VudCBzZWFyY2hlcyBoYXZlIGJlZW4gdXBkYXRlZC5cbiAgICAgICAqL1xuICAgICAgYXN5bmMgdXBkYXRlUmVjZW50U2VhcmNoZXMocmVjZW50U2VhcmNoZXM6IFVzZXJTZXR0aW5nc1sncmVjZW50U2VhcmNoZXMnXSwgYXVkaXRFdmVudHM/OiBBdWRpdEV2ZW50cykge1xuICAgICAgICBhd2FpdCBwYXRjaFVzZXJTZXR0aW5ncyh7IHJlY2VudFNlYXJjaGVzIH0sIGF1ZGl0RXZlbnRzKTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgKHN0YXRlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHJlY2VudFNlYXJjaGVzOiBbLi4ucmVjZW50U2VhcmNoZXNdIH07XG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgLyoqXG4gICAgICAgKiBBZGRzIHRoZSBjdXJyZW50IHNlYXJjaCB0byB0aGUgcmVjZW50IHNlYXJjaGVzIGxpc3QuXG4gICAgICAgKlxuICAgICAgICogVGhpcyBtZXRob2QgY2hlY2tzIGlmIGEgc2VhcmNoIHdpdGggdGhlIHNhbWUgbGFiZWwgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlY2VudCBzZWFyY2hlcy5cbiAgICAgICAqIElmIGl0IGRvZXMsIGl0IHVwZGF0ZXMgdGhlIGV4aXN0aW5nIHNlYXJjaCB3aXRoIHRoZSBuZXcgcXVlcnkgcGFyYW1ldGVycyBhbmQgZGF0ZS5cbiAgICAgICAqIElmIGl0IGRvZXMgbm90LCBpdCBhZGRzIGEgbmV3IHNlYXJjaCB0byB0aGUgcmVjZW50IHNlYXJjaGVzIGxpc3QuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgb2YgdGhlIGN1cnJlbnQgc2VhcmNoLlxuICAgICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVjZW50IHNlYXJjaGVzIGhhdmUgYmVlbiB1cGRhdGVkLlxuICAgICAgICovXG4gICAgICBhc3luYyBhZGRDdXJyZW50U2VhcmNoKHF1ZXJ5UGFyYW1zOiBRdWVyeVBhcmFtcykge1xuICAgICAgICAvLyBmaXN0IHNlYXJjaCBpZiB0aGUgc2VhcmNoIGlzIGFscmVhZHkgaW4gdGhlIHJlY2VudCBzZWFyY2hlcyB3aXRoIHRoZSBzYW1lIGxhYmVsXG4gICAgICAgIGNvbnN0IHJlY2VudFNlYXJjaGVzID0gc3RvcmUucmVjZW50U2VhcmNoZXMoKTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdTZWFyY2ggPSByZWNlbnRTZWFyY2hlcy5maW5kKChzZWFyY2gpID0+IHNlYXJjaC5sYWJlbCA9PT0gcXVlcnlQYXJhbXMudGV4dCk7XG5cbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpO1xuICAgICAgICBjb25zdCBwYXRoID0gdXJsLnNwbGl0KCc/JylbMF07XG4gICAgICAgIGlmIChleGlzdGluZ1NlYXJjaCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlUmVjZW50U2VhcmNoZXMoW1xuICAgICAgICAgICAgeyAuLi5leGlzdGluZ1NlYXJjaCxcbiAgICAgICAgICAgICAgZGF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgICBmaWx0ZXJDb3VudDogcXVlcnlQYXJhbXMuZmlsdGVycz8ubGVuZ3RoXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4ucmVjZW50U2VhcmNoZXMuZmlsdGVyKChzZWFyY2gpID0+IHNlYXJjaC5sYWJlbCAhPT0gcXVlcnlQYXJhbXMudGV4dCksXG4gICAgICAgICAgXSwge1xuICAgICAgICAgICAgdHlwZTogXCJSZWNlbnRRdWVyeV9VcGRhdGVcIixcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICByZWNlbnRRdWVyeTogcXVlcnlQYXJhbXMudGV4dFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHJlY2VudFNlYXJjaCA9IHtcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBkaXNwbGF5OiBxdWVyeVBhcmFtcy50ZXh0LFxuICAgICAgICAgICAgbGFiZWw6IHF1ZXJ5UGFyYW1zLnRleHQsXG4gICAgICAgICAgICBmaWx0ZXJDb3VudDogcXVlcnlQYXJhbXMuZmlsdGVycz8ubGVuZ3RoLFxuICAgICAgICAgICAgZGF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXNcbiAgICAgICAgICB9IGFzIFJlY2VudFNlYXJjaDtcblxuICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlUmVjZW50U2VhcmNoZXMoW3JlY2VudFNlYXJjaCwgLi4uc3RvcmUucmVjZW50U2VhcmNoZXMoKV0sIHtcbiAgICAgICAgICAgIHR5cGU6IFwiUmVjZW50UXVlcnlfQWRkXCIsXG4gICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgcmVjZW50UXVlcnk6IHF1ZXJ5UGFyYW1zLnRleHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFNhdmVkU2VhcmNoRmVhdHVyZXMoKSB7XG4gIHJldHVybiBzaWduYWxTdG9yZUZlYXR1cmUoXG4gICAgd2l0aFN0YXRlKGluaXRpYWxTdGF0ZSksXG4gICAgd2l0aE1ldGhvZHMoKHN0b3JlKSA9PiAoe1xuICAgICAgYXN5bmMgZGVsZXRlU2F2ZWRTZWFyY2goaW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBzYXZlZFNlYXJjaGVzID0gc3RvcmUuc2F2ZWRTZWFyY2hlcygpO1xuICAgICAgICBpZiAoc2F2ZWRTZWFyY2hlcykge1xuICAgICAgICAgIGNvbnN0IHNhdmVkU2VhcmNoVG9EZWxldGUgPSBzYXZlZFNlYXJjaGVzLnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgICAgICAgYXdhaXQgcGF0Y2hVc2VyU2V0dGluZ3MoeyBzYXZlZFNlYXJjaGVzIH0sIHtcbiAgICAgICAgICAgIHR5cGU6IFwiU2F2ZWRRdWVyeV9EZWxldGVcIixcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICBzYXZlZFF1ZXJ5OiBzYXZlZFNlYXJjaFRvRGVsZXRlLmRpc3BsYXlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHNhdmVkU2VhcmNoZXM6IFsuLi5zYXZlZFNlYXJjaGVzXSB9O1xuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBhc3luYyB1cGRhdGVTYXZlZFNlYXJjaGVzKHNhdmVkU2VhcmNoZXM6IFVzZXJTZXR0aW5nc1snc2F2ZWRTZWFyY2hlcyddKSB7XG4gICAgICAgIGF3YWl0IHBhdGNoVXNlclNldHRpbmdzKHsgc2F2ZWRTZWFyY2hlcyB9LCB7XG4gICAgICAgICAgdHlwZTogXCJTYXZlZFF1ZXJ5X0FkZFwiLFxuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgc2F2ZWRRdWVyeTogc2F2ZWRTZWFyY2hlc1swXS5kaXNwbGF5XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgKHN0YXRlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHNhdmVkU2VhcmNoZXM6IFsuLi5zYXZlZFNlYXJjaGVzXSB9O1xuICAgICAgICB9KVxuICAgICAgfSxcbiAgICB9KSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEFzc2lzdGFudEZlYXR1cmVzKCkge1xuICByZXR1cm4gc2lnbmFsU3RvcmVGZWF0dXJlKFxuICAgIHdpdGhTdGF0ZShpbml0aWFsU3RhdGUpLFxuICAgIHdpdGhNZXRob2RzKChzdG9yZSkgPT4gKHtcbiAgICAgIGFzeW5jIHVwZGF0ZUFzc2lzdGFudFNldHRpbmdzKGFzc2lzdGFudFNldHRpbmdzOiBVc2VyU2V0dGluZ3NbJ2Fzc2lzdGFudHMnXSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCAoc3RhdGUpID0+IHtcbiAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSwgYXNzaXN0YW50czogYXNzaXN0YW50U2V0dGluZ3MgfTtcbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIGFzeW5jIHVwZGF0ZUxhbmd1YWdlKGxhbmd1YWdlOiBVc2VyU2V0dGluZ3NbJ2xhbmd1YWdlJ10sIGF1ZGl0RXZlbnRzPzogQXVkaXRFdmVudHMpIHtcbiAgICAgICAgYXdhaXQgcGF0Y2hVc2VyU2V0dGluZ3MoeyBsYW5ndWFnZSB9LCBhdWRpdEV2ZW50cyk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIChzdGF0ZSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBsYW5ndWFnZSB9O1xuICAgICAgICB9KVxuICAgICAgfSxcbiAgICB9KSlcbiAgKVxufSJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from "@angular/core";
|
|
2
|
-
// pre-configured highlights's colors
|
|
3
|
-
export const HIGHLIGHTS = new InjectionToken('highlights', {
|
|
4
|
-
factory: () => [
|
|
5
|
-
{
|
|
6
|
-
name: 'company',
|
|
7
|
-
color: 'white',
|
|
8
|
-
bgColor: '#FF7675'
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
name: 'geo',
|
|
12
|
-
color: 'white',
|
|
13
|
-
bgColor: '#74B9FF'
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: 'person',
|
|
17
|
-
color: 'white',
|
|
18
|
-
bgColor: '#00ABB5'
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: 'extractslocations',
|
|
22
|
-
color: 'black',
|
|
23
|
-
bgColor: '#fffacd'
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: 'matchlocations',
|
|
27
|
-
color: 'black',
|
|
28
|
-
bgColor: '#ff0'
|
|
29
|
-
}
|
|
30
|
-
],
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F0b21pYy1hbmd1bGFyL3NyYy9saWIvdG9rZW5zL2hpZ2hsaWdodHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQyxxQ0FBcUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFxQixZQUFZLEVBQUU7SUFDN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2I7WUFDRSxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxPQUFPO1lBQ2QsT0FBTyxFQUFFLFNBQVM7U0FDbkI7UUFDRDtZQUNFLElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLE9BQU87WUFDZCxPQUFPLEVBQUUsU0FBUztTQUNuQjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFFBQVE7WUFDZCxLQUFLLEVBQUUsT0FBTztZQUNkLE9BQU8sRUFBRSxTQUFTO1NBQ25CO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLEtBQUssRUFBRSxPQUFPO1lBQ2QsT0FBTyxFQUFFLFNBQVM7U0FDbkI7UUFDRDtZQUNFLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsS0FBSyxFQUFFLE9BQU87WUFDZCxPQUFPLEVBQUUsTUFBTTtTQUNoQjtLQUNGO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgdHlwZSBQcmV2aWV3SGlnaGxpZ2h0TmFtZSA9ICdjb21wYW55JyB8ICdnZW8nIHwgJ3BlcnNvbicgfCAnZXh0cmFjdHNsb2NhdGlvbnMnIHwgJ21hdGNobG9jYXRpb25zJztcbmV4cG9ydCB0eXBlIFByZXZpZXdIaWdobGlnaHQgPSB7XG4gIG5hbWU6IFByZXZpZXdIaWdobGlnaHROYW1lLFxuICBjb2xvcjogc3RyaW5nLFxuICBiZ0NvbG9yOiBzdHJpbmdcbn07XG5cbi8vIHByZS1jb25maWd1cmVkIGhpZ2hsaWdodHMncyBjb2xvcnNcbmV4cG9ydCBjb25zdCBISUdITElHSFRTID0gbmV3IEluamVjdGlvblRva2VuPFByZXZpZXdIaWdobGlnaHRbXT4oJ2hpZ2hsaWdodHMnLCB7XG4gIGZhY3Rvcnk6ICgpID0+IFtcbiAgICB7XG4gICAgICBuYW1lOiAnY29tcGFueScsXG4gICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgIGJnQ29sb3I6ICcjRkY3Njc1J1xuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2dlbycsXG4gICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgIGJnQ29sb3I6ICcjNzRCOUZGJ1xuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ3BlcnNvbicsXG4gICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgIGJnQ29sb3I6ICcjMDBBQkI1J1xuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2V4dHJhY3RzbG9jYXRpb25zJyxcbiAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgICAgYmdDb2xvcjogJyNmZmZhY2QnXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnbWF0Y2hsb2NhdGlvbnMnLFxuICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgICBiZ0NvbG9yOiAnI2ZmMCdcbiAgICB9XG4gIF0sXG59KTtcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from "./highlights";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG9taWMtYW5ndWxhci9zcmMvbGliL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2hpZ2hsaWdodHNcIjtcclxuIl19
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { effect, signal } from "@angular/core";
|
|
2
|
-
/**
|
|
3
|
-
* Creates a debounced signal that updates its value after a specified timeout.
|
|
4
|
-
*
|
|
5
|
-
* @template T - The type of the signal value.
|
|
6
|
-
* @param Signal<T> input - The input signal whose value will be debounced.
|
|
7
|
-
* @param number [timeOutMs=0] - The debounce timeout in milliseconds. Defaults to 0.
|
|
8
|
-
* @returns Signal<T> - A new signal that updates its value after the specified debounce timeout.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* const input = signal('');
|
|
13
|
-
* const debounced = debouncedSignal(input, 1000);
|
|
14
|
-
*
|
|
15
|
-
* contructor() {
|
|
16
|
-
* effect(() => {
|
|
17
|
-
* console.log(debounced());
|
|
18
|
-
* // will log the input value after 1 second of inactivity.
|
|
19
|
-
* });
|
|
20
|
-
* }
|
|
21
|
-
* ...
|
|
22
|
-
* <input [ngModel]="input()" (ngModelChange)="input.set($event)">
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export function debouncedSignal(input, timeOutMs = 0) {
|
|
26
|
-
const debounceSignal = signal(input());
|
|
27
|
-
let timeout;
|
|
28
|
-
effect((onCleanUp) => {
|
|
29
|
-
const value = input();
|
|
30
|
-
clearTimeout(timeout);
|
|
31
|
-
timeout = setTimeout(() => {
|
|
32
|
-
debounceSignal.set(value);
|
|
33
|
-
}, timeOutMs);
|
|
34
|
-
onCleanUp(() => clearTimeout(timeout));
|
|
35
|
-
});
|
|
36
|
-
return debounceSignal;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2VkLXNpZ25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F0b21pYy1hbmd1bGFyL3NyYy9saWIvdXRpbHMvZGVib3VuY2VkLXNpZ25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUksS0FBZ0IsRUFBRSxTQUFTLEdBQUcsQ0FBQztJQUNoRSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2QyxJQUFJLE9BQVksQ0FBQztJQUNqQixNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNuQixNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUN0QixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEIsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDZCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZWZmZWN0LCBzaWduYWwsIFNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIGRlYm91bmNlZCBzaWduYWwgdGhhdCB1cGRhdGVzIGl0cyB2YWx1ZSBhZnRlciBhIHNwZWNpZmllZCB0aW1lb3V0LlxyXG4gKlxyXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSBzaWduYWwgdmFsdWUuXHJcbiAqIEBwYXJhbSBTaWduYWw8VD4gaW5wdXQgLSBUaGUgaW5wdXQgc2lnbmFsIHdob3NlIHZhbHVlIHdpbGwgYmUgZGVib3VuY2VkLlxyXG4gKiBAcGFyYW0gbnVtYmVyIFt0aW1lT3V0TXM9MF0gLSBUaGUgZGVib3VuY2UgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHRzIHRvIDAuXHJcbiAqIEByZXR1cm5zIFNpZ25hbDxUPiAtIEEgbmV3IHNpZ25hbCB0aGF0IHVwZGF0ZXMgaXRzIHZhbHVlIGFmdGVyIHRoZSBzcGVjaWZpZWQgZGVib3VuY2UgdGltZW91dC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHNcclxuICogY29uc3QgaW5wdXQgPSBzaWduYWwoJycpO1xyXG4gKiBjb25zdCBkZWJvdW5jZWQgPSBkZWJvdW5jZWRTaWduYWwoaW5wdXQsIDEwMDApO1xyXG4gKlxyXG4gKiBjb250cnVjdG9yKCkge1xyXG4gKiAgZWZmZWN0KCgpID0+IHtcclxuICogICBjb25zb2xlLmxvZyhkZWJvdW5jZWQoKSk7XHJcbiAqICAgLy8gd2lsbCBsb2cgdGhlIGlucHV0IHZhbHVlIGFmdGVyIDEgc2Vjb25kIG9mIGluYWN0aXZpdHkuXHJcbiAqICB9KTtcclxuICogfVxyXG4gKiAuLi5cclxuICogPGlucHV0IFtuZ01vZGVsXT1cImlucHV0KClcIiAobmdNb2RlbENoYW5nZSk9XCJpbnB1dC5zZXQoJGV2ZW50KVwiPlxyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWJvdW5jZWRTaWduYWw8VD4oaW5wdXQ6IFNpZ25hbDxUPiwgdGltZU91dE1zID0gMCk6IFNpZ25hbDxUPiB7XHJcbiAgY29uc3QgZGVib3VuY2VTaWduYWwgPSBzaWduYWwoaW5wdXQoKSk7XHJcbiAgbGV0IHRpbWVvdXQ6IGFueTtcclxuICBlZmZlY3QoKG9uQ2xlYW5VcCkgPT4ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBpbnB1dCgpO1xyXG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xyXG4gICAgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBkZWJvdW5jZVNpZ25hbC5zZXQodmFsdWUpO1xyXG4gICAgfSwgdGltZU91dE1zKTtcclxuICAgIG9uQ2xlYW5VcCgoKSA9PiBjbGVhclRpbWVvdXQodGltZW91dCkpXHJcbiAgfSk7XHJcbiAgcmV0dXJuIGRlYm91bmNlU2lnbmFsO1xyXG59Il19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './inline-worker';
|
|
2
|
-
export * from './query';
|
|
3
|
-
export * from './routes';
|
|
4
|
-
export * from './tailwind-utils';
|
|
5
|
-
export * from './theme-body-hook';
|
|
6
|
-
export * from './theme-registry';
|
|
7
|
-
export * from './debounced-signal';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG9taWMtYW5ndWxhci9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5saW5lLXdvcmtlcic7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFpbHdpbmQtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS1ib2R5LWhvb2snO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS1yZWdpc3RyeSc7XG5leHBvcnQgKiBmcm9tICcuL2RlYm91bmNlZC1zaWduYWwnOyJdfQ==
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
export class InlineWorker {
|
|
3
|
-
constructor(func) {
|
|
4
|
-
this.onMessage = new Subject();
|
|
5
|
-
this.onError = new Subject();
|
|
6
|
-
const WORKER_ENABLED = !!(Worker);
|
|
7
|
-
if (WORKER_ENABLED) {
|
|
8
|
-
const functionBody = func.toString().replace(/^[^{]*{\s*/, '').replace(/\s*}[^}]*$/, '');
|
|
9
|
-
try {
|
|
10
|
-
this.worker = new Worker(URL.createObjectURL(new Blob([functionBody], { type: 'text/javascript' })));
|
|
11
|
-
this.worker.onmessage = (data) => {
|
|
12
|
-
this.onMessage.next(data);
|
|
13
|
-
};
|
|
14
|
-
this.worker.onerror = (data) => {
|
|
15
|
-
this.onError.next(data);
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
catch (e) {
|
|
19
|
-
throw new Error('WebWorker is not enabled');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
throw new Error('WebWorker is not enabled');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
postMessage(data) {
|
|
27
|
-
this.worker.postMessage(data);
|
|
28
|
-
}
|
|
29
|
-
onmessage() {
|
|
30
|
-
return this.onMessage.asObservable();
|
|
31
|
-
}
|
|
32
|
-
onerror() {
|
|
33
|
-
return this.onError.asObservable();
|
|
34
|
-
}
|
|
35
|
-
terminate() {
|
|
36
|
-
if (this.worker)
|
|
37
|
-
this.worker.terminate();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXdvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F0b21pYy1hbmd1bGFyL3NyYy9saWIvdXRpbHMvaW5saW5lLXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxZQUFZO0lBTXZCLFlBQVksSUFBZ0I7UUFIcEIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ3hDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRzFDLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWxDLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUV6RixJQUFJLENBQUM7Z0JBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUMxQyxJQUFJLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FDdEQsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUM7Z0JBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFCLENBQUMsQ0FBQztZQUNKLENBQUM7WUFBQyxPQUFNLENBQUMsRUFBQyxDQUFDO2dCQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBRUgsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsSUFBYTtRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIElubGluZVdvcmtlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2VyOiBXb3JrZXI7XG5cbiAgcHJpdmF0ZSBvbk1lc3NhZ2UgPSBuZXcgU3ViamVjdDxNZXNzYWdlRXZlbnQ+KCk7XG4gIHByaXZhdGUgb25FcnJvciA9IG5ldyBTdWJqZWN0PEVycm9yRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoZnVuYzogKCkgPT4gdm9pZCkge1xuICAgIGNvbnN0IFdPUktFUl9FTkFCTEVEID0gISEoV29ya2VyKTtcblxuICAgIGlmIChXT1JLRVJfRU5BQkxFRCkge1xuICAgICAgY29uc3QgZnVuY3Rpb25Cb2R5ID0gZnVuYy50b1N0cmluZygpLnJlcGxhY2UoL15bXntdKntcXHMqLywgJycpLnJlcGxhY2UoL1xccyp9W159XSokLywgJycpO1xuXG4gICAgICB0cnkge1xuXG4gICAgICAgIHRoaXMud29ya2VyID0gbmV3IFdvcmtlcihVUkwuY3JlYXRlT2JqZWN0VVJMKFxuICAgICAgICAgIG5ldyBCbG9iKFtmdW5jdGlvbkJvZHldLCB7IHR5cGU6ICd0ZXh0L2phdmFzY3JpcHQnIH0pXG4gICAgICAgICkpO1xuXG4gICAgICAgIHRoaXMud29ya2VyLm9ubWVzc2FnZSA9IChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5vbk1lc3NhZ2UubmV4dChkYXRhKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLndvcmtlci5vbmVycm9yID0gKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLm9uRXJyb3IubmV4dChkYXRhKTtcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2ViV29ya2VyIGlzIG5vdCBlbmFibGVkJyk7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdXZWJXb3JrZXIgaXMgbm90IGVuYWJsZWQnKTtcbiAgICB9XG4gIH1cblxuICBwb3N0TWVzc2FnZShkYXRhOiB1bmtub3duKSB7XG4gICAgdGhpcy53b3JrZXIucG9zdE1lc3NhZ2UoZGF0YSk7XG4gIH1cblxuICBvbm1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxNZXNzYWdlRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5vbk1lc3NhZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBvbmVycm9yKCk6IE9ic2VydmFibGU8RXJyb3JFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLm9uRXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICB0ZXJtaW5hdGUoKSB7XG4gICAgaWYgKHRoaXMud29ya2VyKSB0aGlzLndvcmtlci50ZXJtaW5hdGUoKTtcbiAgfVxufSJdfQ==
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { assertInInjectionContext, inject } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
|
-
import { getQueryParamsFromUrl } from '@sinequa/atomic';
|
|
4
|
-
/**
|
|
5
|
-
* Retrieves the query name from the current route.
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* This function must be used within an injection context.
|
|
9
|
-
*
|
|
10
|
-
* This function traverses the route tree recursively to find the query name.
|
|
11
|
-
* It first checks for a query parameter `t` in the route's snapshot. If the query name is not found
|
|
12
|
-
* in the route data, it attempts to find it in the child routes of the "search" route.
|
|
13
|
-
* If the query name is still not found, it falls back to the `queryName` defined in the route's data.
|
|
14
|
-
*
|
|
15
|
-
* @returns {string | undefined} The query name if found, otherwise `undefined`.
|
|
16
|
-
*/
|
|
17
|
-
export function getQueryNameFromRoute() {
|
|
18
|
-
assertInInjectionContext(getQueryNameFromRoute);
|
|
19
|
-
const route = inject(ActivatedRoute);
|
|
20
|
-
const routes = inject(Router);
|
|
21
|
-
const recursive = (route) => {
|
|
22
|
-
if (route?.firstChild)
|
|
23
|
-
return recursive(route.firstChild);
|
|
24
|
-
// Get query name from route data
|
|
25
|
-
const { t } = route.snapshot.queryParams;
|
|
26
|
-
// ! This is a workaround for the case where the queryName is not defined in the route data
|
|
27
|
-
// "search" is the parent route of the search results, and "t" is the query parameter for the tab
|
|
28
|
-
const { queryName } = routes.config.filter(p => p.path === "search")[0].children?.find(route => route.path === t)?.data || {};
|
|
29
|
-
if (queryName)
|
|
30
|
-
return queryName;
|
|
31
|
-
// fallback to queryName from route data
|
|
32
|
-
if (route?.snapshot.data['queryName'])
|
|
33
|
-
return route.snapshot.data['queryName'];
|
|
34
|
-
return undefined;
|
|
35
|
-
};
|
|
36
|
-
return recursive(route);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Builds a query object based on the provided partial query.
|
|
40
|
-
* If any properties are missing in the partial query, default values are used.
|
|
41
|
-
*
|
|
42
|
-
* @remarks
|
|
43
|
-
* This function must be used within an injection context.
|
|
44
|
-
*
|
|
45
|
-
* @param query - The partial query object.
|
|
46
|
-
* @returns The complete query object.
|
|
47
|
-
*/
|
|
48
|
-
export function buildQuery(query) {
|
|
49
|
-
assertInInjectionContext(buildQuery);
|
|
50
|
-
const name = query?.name || getQueryNameFromRoute();
|
|
51
|
-
const params = getQueryParamsFromUrl(window.location.toString());
|
|
52
|
-
return {
|
|
53
|
-
...params, // default values retrieved from the URL
|
|
54
|
-
...query, // override with query
|
|
55
|
-
name, // override with query name
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG9taWMtYW5ndWxhci9zcmMvbGliL3V0aWxzL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUscUJBQXFCLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUsvRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFaEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUU3QixNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQXFCLEVBQXNCLEVBQUU7UUFDOUQsSUFBSSxLQUFLLEVBQUUsVUFBVTtZQUFFLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxRCxpQ0FBaUM7UUFDakMsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ3pDLDJGQUEyRjtRQUMzRixpR0FBaUc7UUFDakcsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzlILElBQUksU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBRWhDLHdDQUF3QztRQUN4QyxJQUFJLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0UsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFBO0lBRUQsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBc0I7SUFDL0Msd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFckMsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNqRSxPQUFRO1FBQ04sR0FBRyxNQUFNLEVBQUcsd0NBQXdDO1FBQ3BELEdBQUcsS0FBSyxFQUFJLHNCQUFzQjtRQUNsQyxJQUFJLEVBQVEsMkJBQTJCO0tBQzlCLENBQUE7QUFFYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBnZXRRdWVyeVBhcmFtc0Zyb21VcmwsIFF1ZXJ5IH0gZnJvbSAnQHNpbmVxdWEvYXRvbWljJztcblxuaW1wb3J0IHsgUXVlcnlQYXJhbXNTdG9yZSB9IGZyb20gJy4uL3N0b3Jlcyc7XG5cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHF1ZXJ5IG5hbWUgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBAcmVtYXJrc1xuICogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIHVzZWQgd2l0aGluIGFuIGluamVjdGlvbiBjb250ZXh0LlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gdHJhdmVyc2VzIHRoZSByb3V0ZSB0cmVlIHJlY3Vyc2l2ZWx5IHRvIGZpbmQgdGhlIHF1ZXJ5IG5hbWUuXG4gKiBJdCBmaXJzdCBjaGVja3MgZm9yIGEgcXVlcnkgcGFyYW1ldGVyIGB0YCBpbiB0aGUgcm91dGUncyBzbmFwc2hvdC4gSWYgdGhlIHF1ZXJ5IG5hbWUgaXMgbm90IGZvdW5kXG4gKiBpbiB0aGUgcm91dGUgZGF0YSwgaXQgYXR0ZW1wdHMgdG8gZmluZCBpdCBpbiB0aGUgY2hpbGQgcm91dGVzIG9mIHRoZSBcInNlYXJjaFwiIHJvdXRlLlxuICogSWYgdGhlIHF1ZXJ5IG5hbWUgaXMgc3RpbGwgbm90IGZvdW5kLCBpdCBmYWxscyBiYWNrIHRvIHRoZSBgcXVlcnlOYW1lYCBkZWZpbmVkIGluIHRoZSByb3V0ZSdzIGRhdGEuXG4gKlxuICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gVGhlIHF1ZXJ5IG5hbWUgaWYgZm91bmQsIG90aGVyd2lzZSBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXJ5TmFtZUZyb21Sb3V0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoZ2V0UXVlcnlOYW1lRnJvbVJvdXRlKTtcblxuICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIGNvbnN0IHJvdXRlcyA9IGluamVjdChSb3V0ZXIpXG5cbiAgY29uc3QgcmVjdXJzaXZlID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKHJvdXRlPy5maXJzdENoaWxkKSByZXR1cm4gcmVjdXJzaXZlKHJvdXRlLmZpcnN0Q2hpbGQpO1xuXG4gICAgLy8gR2V0IHF1ZXJ5IG5hbWUgZnJvbSByb3V0ZSBkYXRhXG4gICAgY29uc3QgeyB0IH0gPSByb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcbiAgICAvLyAhIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciB0aGUgY2FzZSB3aGVyZSB0aGUgcXVlcnlOYW1lIGlzIG5vdCBkZWZpbmVkIGluIHRoZSByb3V0ZSBkYXRhXG4gICAgLy8gXCJzZWFyY2hcIiBpcyB0aGUgcGFyZW50IHJvdXRlIG9mIHRoZSBzZWFyY2ggcmVzdWx0cywgYW5kIFwidFwiIGlzIHRoZSBxdWVyeSBwYXJhbWV0ZXIgZm9yIHRoZSB0YWJcbiAgICBjb25zdCB7IHF1ZXJ5TmFtZSB9ID0gcm91dGVzLmNvbmZpZy5maWx0ZXIocCA9PiBwLnBhdGggPT09IFwic2VhcmNoXCIpWzBdLmNoaWxkcmVuPy5maW5kKHJvdXRlID0+IHJvdXRlLnBhdGggPT09IHQpPy5kYXRhIHx8IHt9O1xuICAgIGlmIChxdWVyeU5hbWUpIHJldHVybiBxdWVyeU5hbWU7XG5cbiAgICAvLyBmYWxsYmFjayB0byBxdWVyeU5hbWUgZnJvbSByb3V0ZSBkYXRhXG4gICAgaWYgKHJvdXRlPy5zbmFwc2hvdC5kYXRhWydxdWVyeU5hbWUnXSkgcmV0dXJuIHJvdXRlLnNuYXBzaG90LmRhdGFbJ3F1ZXJ5TmFtZSddO1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiByZWN1cnNpdmUocm91dGUpO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIHF1ZXJ5IG9iamVjdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFydGlhbCBxdWVyeS5cbiAqIElmIGFueSBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nIGluIHRoZSBwYXJ0aWFsIHF1ZXJ5LCBkZWZhdWx0IHZhbHVlcyBhcmUgdXNlZC5cbiAqXG4gKiBAcmVtYXJrc1xuICogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIHVzZWQgd2l0aGluIGFuIGluamVjdGlvbiBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBxdWVyeSAtIFRoZSBwYXJ0aWFsIHF1ZXJ5IG9iamVjdC5cbiAqIEByZXR1cm5zIFRoZSBjb21wbGV0ZSBxdWVyeSBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFF1ZXJ5KHF1ZXJ5PzogUGFydGlhbDxRdWVyeT4pOiBRdWVyeSB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChidWlsZFF1ZXJ5KTtcblxuICBjb25zdCBuYW1lID0gcXVlcnk/Lm5hbWUgfHwgZ2V0UXVlcnlOYW1lRnJvbVJvdXRlKCk7XG4gIGNvbnN0IHBhcmFtcyA9IGdldFF1ZXJ5UGFyYW1zRnJvbVVybCh3aW5kb3cubG9jYXRpb24udG9TdHJpbmcoKSk7XG4gIHJldHVybiAoe1xuICAgIC4uLnBhcmFtcywgIC8vIGRlZmF1bHQgdmFsdWVzIHJldHJpZXZlZCBmcm9tIHRoZSBVUkxcbiAgICAuLi5xdWVyeSwgICAvLyBvdmVycmlkZSB3aXRoIHF1ZXJ5XG4gICAgbmFtZSwgICAgICAgLy8gb3ZlcnJpZGUgd2l0aCBxdWVyeSBuYW1lXG4gIH0gYXMgUXVlcnkpXG5cbn1cbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { assertInInjectionContext, inject } from "@angular/core";
|
|
2
|
-
import { ActivatedRoute, Router } from "@angular/router";
|
|
3
|
-
/**
|
|
4
|
-
* Retrieves the current path from the Angular `ActivatedRoute` service.
|
|
5
|
-
*
|
|
6
|
-
* @returns {string | undefined} The current path as a string, or `undefined` if the path cannot be determined.
|
|
7
|
-
*/
|
|
8
|
-
export function getCurrentPath() {
|
|
9
|
-
assertInInjectionContext(getCurrentPath);
|
|
10
|
-
const route = inject(ActivatedRoute);
|
|
11
|
-
return route?.snapshot.url.toString();
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Retrieves the current query name based on the current path and router configuration.
|
|
15
|
-
*
|
|
16
|
-
* This function asserts that it is being called within an injection context and then
|
|
17
|
-
* uses Angular's dependency injection to get the router configuration. It matches the
|
|
18
|
-
* current path against the router's configuration to find the corresponding query name.
|
|
19
|
-
*
|
|
20
|
-
* @returns {string | undefined} The name of the current query if found, otherwise undefined.
|
|
21
|
-
*/
|
|
22
|
-
export function getCurrentQueryName() {
|
|
23
|
-
assertInInjectionContext(getCurrentQueryName);
|
|
24
|
-
const routes = inject(Router).config;
|
|
25
|
-
const path = getCurrentPath();
|
|
26
|
-
return routes.find(r => r.path === 'search')?.children?.find(r => r.path === path)?.data?.['queryName'];
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvbWljLWFuZ3VsYXIvc3JjL2xpYi91dGlscy9yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsY0FBYztJQUM1Qix3QkFBd0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV6QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFckMsT0FBTyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN4QyxDQUFDO0FBSUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUVyQyxNQUFNLElBQUksR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUU5QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlcyB0aGUgY3VycmVudCBwYXRoIGZyb20gdGhlIEFuZ3VsYXIgYEFjdGl2YXRlZFJvdXRlYCBzZXJ2aWNlLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSBUaGUgY3VycmVudCBwYXRoIGFzIGEgc3RyaW5nLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcGF0aCBjYW5ub3QgYmUgZGV0ZXJtaW5lZC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXJyZW50UGF0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChnZXRDdXJyZW50UGF0aCk7XHJcblxyXG4gIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcclxuXHJcbiAgcmV0dXJuIHJvdXRlPy5zbmFwc2hvdC51cmwudG9TdHJpbmcoKTtcclxufVxyXG5cclxuXHJcblxyXG4vKipcclxuICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHF1ZXJ5IG5hbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgcGF0aCBhbmQgcm91dGVyIGNvbmZpZ3VyYXRpb24uXHJcbiAqXHJcbiAqIFRoaXMgZnVuY3Rpb24gYXNzZXJ0cyB0aGF0IGl0IGlzIGJlaW5nIGNhbGxlZCB3aXRoaW4gYW4gaW5qZWN0aW9uIGNvbnRleHQgYW5kIHRoZW5cclxuICogdXNlcyBBbmd1bGFyJ3MgZGVwZW5kZW5jeSBpbmplY3Rpb24gdG8gZ2V0IHRoZSByb3V0ZXIgY29uZmlndXJhdGlvbi4gSXQgbWF0Y2hlcyB0aGVcclxuICogY3VycmVudCBwYXRoIGFnYWluc3QgdGhlIHJvdXRlcidzIGNvbmZpZ3VyYXRpb24gdG8gZmluZCB0aGUgY29ycmVzcG9uZGluZyBxdWVyeSBuYW1lLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBxdWVyeSBpZiBmb3VuZCwgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXJyZW50UXVlcnlOYW1lKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGdldEN1cnJlbnRRdWVyeU5hbWUpO1xyXG5cclxuICBjb25zdCByb3V0ZXMgPSBpbmplY3QoUm91dGVyKS5jb25maWc7XHJcblxyXG4gIGNvbnN0IHBhdGggPSBnZXRDdXJyZW50UGF0aCgpO1xyXG5cclxuICByZXR1cm4gcm91dGVzLmZpbmQociA9PiByLnBhdGggPT09ICdzZWFyY2gnKT8uY2hpbGRyZW4/LmZpbmQociA9PiByLnBhdGggPT09IHBhdGgpPy5kYXRhPy5bJ3F1ZXJ5TmFtZSddO1xyXG59Il19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { clsx } from 'clsx';
|
|
2
|
-
import { twMerge } from 'tailwind-merge';
|
|
3
|
-
export function cn(...inputs) {
|
|
4
|
-
return twMerge(clsx(inputs));
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpbHdpbmQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG9taWMtYW5ndWxhci9zcmMvbGliL3V0aWxzL3RhaWx3aW5kLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxNQUFNLFVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBb0I7SUFDeEMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ2xhc3NWYWx1ZSwgY2xzeCB9IGZyb20gJ2Nsc3gnO1xyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSAndGFpbHdpbmQtbWVyZ2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNuKC4uLmlucHV0czogQ2xhc3NWYWx1ZVtdKSB7XHJcbiAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKTtcclxufVxyXG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { effect, inject, runInInjectionContext } from "@angular/core";
|
|
2
|
-
import { applyThemeToNativeElement, ThemeStore } from "../stores";
|
|
3
|
-
export function withThemeBodyHook(app, params) {
|
|
4
|
-
runInInjectionContext(app.injector, () => {
|
|
5
|
-
const themeStore = inject(ThemeStore);
|
|
6
|
-
const { scope, theme } = params || { scope: 'application', theme: 'Default' };
|
|
7
|
-
themeStore.setCurrentTheme(scope, theme);
|
|
8
|
-
applyThemeToNativeElement(window.document.body, themeStore.scopes()?.[scope]?.cssVars?.light);
|
|
9
|
-
effect(() => {
|
|
10
|
-
const bodyScope = themeStore.scopes()?.[scope];
|
|
11
|
-
const vars = bodyScope.darkMode ? bodyScope.cssVars.dark : bodyScope.cssVars.light;
|
|
12
|
-
if (vars)
|
|
13
|
-
applyThemeToNativeElement(window.document.body, vars);
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
return app;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYm9keS1ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvbWljLWFuZ3VsYXIvc3JjL2xpYi91dGlscy90aGVtZS1ib2R5LWhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixNQUFNLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFPbEUsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFtQixFQUNuQixNQUEyQztJQUUzQyxxQkFBcUIsQ0FDbkIsR0FBRyxDQUFDLFFBQVEsRUFDWixHQUFHLEVBQUU7UUFDSCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUU5RSxVQUFVLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6Qyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFOUYsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUVuRixJQUFJLElBQUk7Z0JBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQ0YsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBlZmZlY3QsIGluamVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgYXBwbHlUaGVtZVRvTmF0aXZlRWxlbWVudCwgVGhlbWVTdG9yZSB9IGZyb20gXCIuLi9zdG9yZXNcIjtcblxuZXhwb3J0IHR5cGUgVGhlbWVCb2R5SG9va1BhcmFtZXRlcnMgPSB7XG4gIHNjb3BlOiBzdHJpbmc7XG4gIHRoZW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFRoZW1lQm9keUhvb2soXG4gIGFwcDogQXBwbGljYXRpb25SZWYsXG4gIHBhcmFtczogVGhlbWVCb2R5SG9va1BhcmFtZXRlcnMgfCB1bmRlZmluZWRcbik6IEFwcGxpY2F0aW9uUmVmIHtcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0KFxuICAgIGFwcC5pbmplY3RvcixcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCB0aGVtZVN0b3JlID0gaW5qZWN0KFRoZW1lU3RvcmUpO1xuICAgICAgY29uc3QgeyBzY29wZSwgdGhlbWUgfSA9IHBhcmFtcyB8fCB7IHNjb3BlOiAnYXBwbGljYXRpb24nLCB0aGVtZTogJ0RlZmF1bHQnIH07XG5cbiAgICAgIHRoZW1lU3RvcmUuc2V0Q3VycmVudFRoZW1lKHNjb3BlLCB0aGVtZSk7XG5cbiAgICAgIGFwcGx5VGhlbWVUb05hdGl2ZUVsZW1lbnQod2luZG93LmRvY3VtZW50LmJvZHksIHRoZW1lU3RvcmUuc2NvcGVzKCk/LltzY29wZV0/LmNzc1ZhcnM/LmxpZ2h0KTtcblxuICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgYm9keVNjb3BlID0gdGhlbWVTdG9yZS5zY29wZXMoKT8uW3Njb3BlXTtcbiAgICAgICAgY29uc3QgdmFycyA9IGJvZHlTY29wZS5kYXJrTW9kZSA/IGJvZHlTY29wZS5jc3NWYXJzLmRhcmsgOiBib2R5U2NvcGUuY3NzVmFycy5saWdodDtcblxuICAgICAgICBpZiAodmFycykgYXBwbHlUaGVtZVRvTmF0aXZlRWxlbWVudCh3aW5kb3cuZG9jdW1lbnQuYm9keSwgdmFycyk7XG4gICAgICB9KVxuICAgIH1cbiAgKTtcblxuICByZXR1cm4gYXBwO1xufVxuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { THEMES } from "../resources";
|
|
2
|
-
export function withThemes(app, themes) {
|
|
3
|
-
themes.forEach(theme => THEMES.push(theme));
|
|
4
|
-
return app;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtcmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG9taWMtYW5ndWxhci9zcmMvbGliL3V0aWxzL3RoZW1lLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBUyxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFtQixFQUFFLE1BQWU7SUFDN0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU1QyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRoZW1lLCBUSEVNRVMgfSBmcm9tIFwiLi4vcmVzb3VyY2VzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoVGhlbWVzKGFwcDogQXBwbGljYXRpb25SZWYsIHRoZW1lczogVGhlbWVbXSk6IEFwcGxpY2F0aW9uUmVmIHtcbiAgdGhlbWVzLmZvckVhY2godGhlbWUgPT4gVEhFTUVTLnB1c2godGhlbWUpKTtcblxuICByZXR1cm4gYXBwO1xufVxuIl19
|