@useinsider/guido 2.1.0-beta.ab9a598 → 2.1.0-beta.abc38f2
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/dist/@types/config/schemas.js +1 -1
- package/dist/components/organisms/base/Toaster.vue.js +4 -4
- package/dist/components/organisms/base/Toaster.vue2.js +12 -9
- package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +5 -5
- package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue2.js +2 -2
- package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +11 -13
- package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +54 -23
- package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +7 -5
- package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +34 -21
- package/dist/components/organisms/extensions/recommendation/Filters.vue.js +11 -11
- package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +48 -36
- package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +11 -9
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +58 -39
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +116 -70
- package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +8 -8
- package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +29 -0
- package/dist/guido.css +1 -1
- package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +1 -0
- package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +17 -1
- package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +18 -2
- package/dist/src/extensions/Blocks/Recommendation/validation/filterSchema.d.ts +15 -0
- package/package.json +2 -2
|
@@ -31,6 +31,8 @@ interface PerBlockState {
|
|
|
31
31
|
filterGroup: number;
|
|
32
32
|
/** Whether initial API data (filters, algorithms, products) has been fetched for this block */
|
|
33
33
|
isInitialized: boolean;
|
|
34
|
+
/** Snapshot of filters taken when the drawer opens, used to revert on cancel */
|
|
35
|
+
filterSnapshot: Filter[] | null;
|
|
34
36
|
}
|
|
35
37
|
interface StoreState {
|
|
36
38
|
recommendationCampaignUrls: Record<string, string>;
|
|
@@ -125,7 +127,9 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
|
|
|
125
127
|
configVersion: number;
|
|
126
128
|
} & import("pinia").PiniaCustomStateProperties<StoreState>): number;
|
|
127
129
|
hasFilters(): boolean;
|
|
130
|
+
hasValidFilters(): boolean;
|
|
128
131
|
getFilterGroupCount(): number;
|
|
132
|
+
getUniqueFilterGroups(): number[];
|
|
129
133
|
getActivePredictiveAlgorithms: (state: {
|
|
130
134
|
recommendationCampaignUrls: Record<string, string>;
|
|
131
135
|
activePredictiveAlgorithms: number[];
|
|
@@ -203,19 +207,31 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
|
|
|
203
207
|
patchCurrentBlockConfig(updates: Partial<PerBlockConfigs>, options?: {
|
|
204
208
|
triggerRefetch?: boolean;
|
|
205
209
|
}): void;
|
|
210
|
+
/**
|
|
211
|
+
* Creates a filter with the first available attribute and operator pre-selected.
|
|
212
|
+
*/
|
|
213
|
+
createDefaultFilter(filterGroup: number, filterNumber: number): Filter;
|
|
206
214
|
/**
|
|
207
215
|
* Opens the filter selection drawer for the current block.
|
|
208
|
-
*
|
|
216
|
+
* Saves a snapshot of current filters for cancel/revert.
|
|
217
|
+
* If no filters exist, initializes with a default filter
|
|
209
218
|
* so the user has a starting point for input.
|
|
210
219
|
*/
|
|
211
220
|
openFilterDrawer(): void;
|
|
212
221
|
/**
|
|
213
|
-
* Closes the filter selection drawer for the current block
|
|
222
|
+
* Closes the filter selection drawer for the current block.
|
|
223
|
+
* Called after successful apply — discards the snapshot.
|
|
214
224
|
*/
|
|
215
225
|
closeFilterDrawer(): void;
|
|
226
|
+
/**
|
|
227
|
+
* Cancels the filter selection drawer and reverts filters
|
|
228
|
+
* to the snapshot taken when the drawer was opened.
|
|
229
|
+
*/
|
|
230
|
+
cancelFilterDrawer(): void;
|
|
216
231
|
fetchRecommendationCreateData(): Promise<void>;
|
|
217
232
|
fetchRecommendationFilters(): Promise<void>;
|
|
218
233
|
addFilterGroup(filterGroup: number): void;
|
|
234
|
+
deleteFilterGroup(groupId: number): void;
|
|
219
235
|
updateFilter(updatedFilter: Filter): void;
|
|
220
236
|
deleteFilter(filter: Filter): void;
|
|
221
237
|
addFilter(filter: Filter): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Filter } from '@@/Types/recommendation';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
export declare const FilterSchema: v.ObjectSchema<{
|
|
4
|
+
readonly type: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
5
|
+
readonly attribute: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
6
|
+
readonly operator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
7
|
+
readonly innerGroupOperator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
8
|
+
readonly outerGroupOperator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
9
|
+
readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
10
|
+
readonly filterGroup: v.NumberSchema<undefined>;
|
|
11
|
+
readonly filterNumber: v.NumberSchema<undefined>;
|
|
12
|
+
readonly isValid: v.BooleanSchema<undefined>;
|
|
13
|
+
}, undefined>;
|
|
14
|
+
export declare function isFilterValid(filter: Filter): boolean;
|
|
15
|
+
export declare function getInvalidFilterFields(filter: Filter): Set<string>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "2.1.0-beta.
|
|
3
|
+
"version": "2.1.0-beta.abc38f2",
|
|
4
4
|
"description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
|
|
5
5
|
"main": "./dist/guido.umd.cjs",
|
|
6
6
|
"module": "./dist/library.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"license": "ISC",
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@stripoinc/ui-editor-extensions": "3.5.0",
|
|
35
|
-
"@useinsider/design-system-vue": "0.14.
|
|
35
|
+
"@useinsider/design-system-vue": "0.14.28",
|
|
36
36
|
"@vueuse/core": "11.3.0",
|
|
37
37
|
"lodash-es": "4.17.21",
|
|
38
38
|
"pinia": "2.3.1",
|