@designcrowd/library.brand-page 5.16.45 → 5.16.46

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 (22) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-C7sXkIBb.js → CreatedOnBrandCrowd-de-de-uiIr5kLt.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DhtnVceC.js → CreatedOnBrandCrowd-en-us-ZxmDyB2L.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-BptLAnJw.js → CreatedOnBrandCrowd-es-es-Dy0prqYb.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-Dhd8PVKw.js → CreatedOnBrandCrowd-fr-ca-ptYivmhP.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-Dhd8PVKw.js → CreatedOnBrandCrowd-fr-fr-ptYivmhP.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-X5oQu67A.js → CreatedOnBrandCrowd-pt-br-CJ2KmyN9.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-X5oQu67A.js → CreatedOnBrandCrowd-pt-pt-CJ2KmyN9.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-D_2wZOXC.js → CreatedOnDcom-de-de-BOKzyd7W.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-DYWjuLNy.js → CreatedOnDcom-en-us-DUn1EGFC.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-DNcNR11_.js → CreatedOnDcom-es-es-CWmC3YRV.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-DqK95jxt.js → CreatedOnDcom-fr-ca-_UTCwQgn.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-CAaFVidi.js → CreatedOnDcom-fr-fr-DYUvSYKz.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-80W59bFj.js → CreatedOnDcom-pt-br-o2kCzJWH.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-BTELqfP0.js → CreatedOnDcom-pt-pt-JLuH_BY3.js} +1 -1
  15. package/lib/src/index.mjs +1 -1
  16. package/lib/src/{lib-xn7dUNvb.js → lib-CBpRmget.js} +1916 -1915
  17. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +64 -0
  18. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.js +11 -0
  19. package/package.json +1 -1
  20. package/src/shared/logo-settings/components/EditLogoSettings.mixin.ts +14 -0
  21. package/src/shared/logo-settings/components/EditLogoSettings.vue +1 -0
  22. package/src/shared/logo-settings/components/LogoTemplateSearch.vue +9 -13
@@ -183,6 +183,64 @@ declare const _default: import("vue").DefineComponent<{}, {
183
183
  isPersonalisationEnabled: boolean;
184
184
  }): void;
185
185
  }>;
186
+ templateSettingsStore: import("pinia").Store<"uiTemplateSettings", import("../../template-settings/store").TemplatesSettingState, {
187
+ renderAsImage(): boolean;
188
+ }, {
189
+ _addTemplates({ templates }: {
190
+ templates: import("../../template-settings/models").TemplateSettingsTemplate[];
191
+ }): void;
192
+ _setTemplates({ templates }: {
193
+ templates: import("../../template-settings/models").TemplateSettingsTemplate[];
194
+ }): void;
195
+ _setIsBusy({ isBusy }: {
196
+ isBusy: boolean;
197
+ }): void;
198
+ _setPageCount({ pageCount }: {
199
+ pageCount: number;
200
+ }): void;
201
+ _setPageNo({ pageNo }: {
202
+ pageNo: number;
203
+ }): void;
204
+ _setPageNoLoaded({ pageNoLoaded }: {
205
+ pageNoLoaded: number;
206
+ }): void;
207
+ _setSearchTerm({ searchTerm }: {
208
+ searchTerm: string | undefined;
209
+ }): void;
210
+ _setSelectedTab({ tabName }: {
211
+ tabName: "all" | "AI" | "categories";
212
+ }): void;
213
+ _setSelectedCategory({ categoryName, }: {
214
+ categoryName: string | undefined;
215
+ }): void;
216
+ _setTemplateCategories({ categories }: {
217
+ categories: import("../../template-settings/models").TemplateCategory[];
218
+ }): void;
219
+ gotoNextPage(): Promise<void>;
220
+ gotoPreviousPage(): Promise<void>;
221
+ safeMapToTemplateSettingsTemplate(template: import("../../../clients/models").DesignTemplate | null): Promise<import("../../template-settings/models").TemplateSettingsTemplate | null>;
222
+ loadPageNo({ pageNo }: {
223
+ pageNo: number;
224
+ }): Promise<void>;
225
+ getCachedTemplateByTokenAsync(token: string): Promise<import("../../template-settings/models").TemplateSettingsTemplate | undefined>;
226
+ onTemplateSelected(payload: import("../../template-settings/models").OnTemplateSelectedPayload): Promise<void>;
227
+ onCategorySelected(payload: import("../../template-settings/models").OnCategorySelectedPayload): Promise<void>;
228
+ onSearch(payload: import("../../template-settings/models").OnSearchPayload): Promise<void>;
229
+ onTabSelected(payload: import("../../template-settings/models").OnTabSelectedPayload): Promise<void>;
230
+ setTemplateType({ templateType }: {
231
+ templateType: import("../../template-settings/models").DesignTemplateType;
232
+ }): void;
233
+ setTemplateCategories(payload: import("../../template-settings/models").SetTemplateCategoriesPayload): Promise<void>;
234
+ selectInitialTemplateCategory(payload: {
235
+ selectedCategory: string;
236
+ }): void;
237
+ setInitialSearchTerm(payload: {
238
+ initialSearchTerm: string;
239
+ }): void;
240
+ clearTemplates(): void;
241
+ getTemplateByTemplateId(id: string): import("../../template-settings/models").TemplateSettingsTemplate | undefined;
242
+ setupLogoChangeWatcher(): void;
243
+ }>;
186
244
  eventTracker: {
187
245
  sendGettyVideoAddEvent: () => void;
188
246
  sendGettyVideoReplaceEvent: () => void;
@@ -324,6 +382,12 @@ declare const _default: import("vue").DefineComponent<{}, {
324
382
  }[];
325
383
  })[]>;
326
384
  editableBaseLogoBase64Url: import("vue").ComputedRef<string>;
385
+ /**
386
+ * Logo keywords for search, prioritized as follows:
387
+ * 1. templateSettingsStore.searchTerm - Updated when user searches in template tab
388
+ * 2. templateSettingsStore.initialSearchTerm - Set during initialization from backend
389
+ */
390
+ logoKeywords: import("vue").ComputedRef<string>;
327
391
  }, {
328
392
  selectedTab: {
329
393
  key: string;
@@ -4,6 +4,7 @@ import debounce from 'lodash.debounce';
4
4
  import { GRADIENT_COLOR_TYPE } from '../../../brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin';
5
5
  import { useUiLogoSettingsStore } from '../store/logo-settings-store';
6
6
  import { useUiStore } from '../../../brand-page-maker/stores';
7
+ import { useUiTemplateSettingsStore } from '../../template-settings/store';
7
8
  import { editLogoSettingsTr } from '../../../composables/useTranslate';
8
9
  import { EVENTS, SELECT_LOCATIONS, useEventTracker, } from '../../../brand-page-maker/composables/useEventTracker';
9
10
  export default defineComponent({
@@ -11,11 +12,13 @@ export default defineComponent({
11
12
  const editableLogoStore = useUiEditableLogoStore();
12
13
  const logoStore = useUiLogoSettingsStore();
13
14
  const uiStore = useUiStore();
15
+ const templateSettingsStore = useUiTemplateSettingsStore();
14
16
  const eventTracker = useEventTracker();
15
17
  return {
16
18
  editableLogoStore,
17
19
  logoStore,
18
20
  uiStore,
21
+ templateSettingsStore,
19
22
  eventTracker,
20
23
  makerFonts: computed(() => editableLogoStore.makerFonts),
21
24
  logoEdits: computed(() => editableLogoStore.logoEdits),
@@ -24,6 +27,14 @@ export default defineComponent({
24
27
  isTextOnlyLogo: computed(() => editableLogoStore.isTextOnlyLogo),
25
28
  logoColors: computed(() => editableLogoStore.logoEdits.logoObject.logoColors),
26
29
  editableBaseLogoBase64Url: computed(() => editableLogoStore.editableLogoVariations[0].base64),
30
+ /**
31
+ * Logo keywords for search, prioritized as follows:
32
+ * 1. templateSettingsStore.searchTerm - Updated when user searches in template tab
33
+ * 2. templateSettingsStore.initialSearchTerm - Set during initialization from backend
34
+ */
35
+ logoKeywords: computed(() => templateSettingsStore.searchTerm ||
36
+ templateSettingsStore.initialSearchTerm ||
37
+ ''),
27
38
  };
28
39
  },
29
40
  data() {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@designcrowd/library.brand-page",
3
3
  "description": "A collection of Maker/Designer applications",
4
- "version": "5.16.45",
4
+ "version": "5.16.46",
5
5
  "author": "Design.com Eng",
6
6
  "license": "UNLICENSED",
7
7
  "type": "module",
@@ -8,6 +8,7 @@ import type { BpColorPickerGradient } from '../../../brand-page-maker/components
8
8
  import { GRADIENT_COLOR_TYPE } from '../../../brand-page-maker/components/color-picker/components/GradientTypeSelector.mixin';
9
9
  import { useUiLogoSettingsStore } from '../store/logo-settings-store';
10
10
  import { useUiStore } from '../../../brand-page-maker/stores';
11
+ import { useUiTemplateSettingsStore } from '../../template-settings/store';
11
12
  import { editLogoSettingsTr } from '../../../composables/useTranslate';
12
13
  import {
13
14
  EVENTS,
@@ -20,12 +21,14 @@ export default defineComponent({
20
21
  const editableLogoStore = useUiEditableLogoStore();
21
22
  const logoStore = useUiLogoSettingsStore();
22
23
  const uiStore = useUiStore();
24
+ const templateSettingsStore = useUiTemplateSettingsStore();
23
25
  const eventTracker = useEventTracker();
24
26
 
25
27
  return {
26
28
  editableLogoStore,
27
29
  logoStore,
28
30
  uiStore,
31
+ templateSettingsStore,
29
32
  eventTracker,
30
33
  makerFonts: computed(() => editableLogoStore.makerFonts),
31
34
  logoEdits: computed(() => editableLogoStore.logoEdits),
@@ -38,6 +41,17 @@ export default defineComponent({
38
41
  editableBaseLogoBase64Url: computed(
39
42
  () => editableLogoStore.editableLogoVariations[0].base64,
40
43
  ),
44
+ /**
45
+ * Logo keywords for search, prioritized as follows:
46
+ * 1. templateSettingsStore.searchTerm - Updated when user searches in template tab
47
+ * 2. templateSettingsStore.initialSearchTerm - Set during initialization from backend
48
+ */
49
+ logoKeywords: computed(
50
+ () =>
51
+ templateSettingsStore.searchTerm ||
52
+ templateSettingsStore.initialSearchTerm ||
53
+ '',
54
+ ),
41
55
  };
42
56
  },
43
57
  data() {
@@ -2,6 +2,7 @@
2
2
  <LogoTemplateSearch
3
3
  v-if="showLogoTemplates"
4
4
  :business-name="editableLogoStore.getLogoPrimaryText()"
5
+ :keywords="logoKeywords"
5
6
  @on-back="onLogoTemplateSearchBackClicked"
6
7
  />
7
8
  <div v-else>
@@ -11,16 +11,6 @@
11
11
  </div>
12
12
  <div class="tw-flex tw-flex-col tw-border-grayscale-500">
13
13
  <div class="tw-flex tw-flex-col tw-gap-4">
14
- <!-- Business Name Input -->
15
- <div class="tw-flex">
16
- <TextInput
17
- v-model="data.primaryText"
18
- class="tw-w-full"
19
- size="md"
20
- :placeholder="logoTemplateSearchModalTr('businessName')"
21
- @input="onSearchTextOrPrimaryTextChange"
22
- />
23
- </div>
24
14
  <div class="tw-flex">
25
15
  <TextInput
26
16
  v-model="data.searchText"
@@ -82,7 +72,7 @@
82
72
  </template>
83
73
 
84
74
  <script setup lang="ts">
85
- import { onMounted, defineProps, reactive } from 'vue';
75
+ import { onMounted, reactive } from 'vue';
86
76
  import debounce from 'lodash.debounce';
87
77
  import { TextInput, Loader, Button } from '@designcrowd/fe-shared-lib';
88
78
  import LogoSwitchConfirmationModal from './logo-switch-confirmation-modal/LogoSwitchConfirmationModal.vue';
@@ -109,6 +99,7 @@ const emit = defineEmits(['on-back']);
109
99
 
110
100
  interface Props {
111
101
  businessName: string;
102
+ keywords?: string;
112
103
  }
113
104
 
114
105
  interface Data {
@@ -249,16 +240,21 @@ const loadMoreLogos = () => {
249
240
 
250
241
  onMounted(async () => {
251
242
  const reload = props.businessName !== logoStore.logoSearchState.primaryText;
243
+ const hasStoredSearch = logoStore.logoSearchState.logoTemplates.length > 0;
252
244
 
253
245
  data.primaryText = props.businessName;
254
- data.searchText = logoStore.logoSearchState.searchText;
246
+
247
+ // Use stored search if user has searched before, otherwise use keywords
248
+ data.searchText = hasStoredSearch
249
+ ? logoStore.logoSearchState.searchText
250
+ : props.keywords || '';
251
+
255
252
  data.currentPage = reload ? 1 : logoStore.logoSearchState.currentPage;
256
253
 
257
254
  if (reload) {
258
255
  await fetchLogoTemplates(true);
259
256
  }
260
257
 
261
- // preload current template behind the scene
262
258
  templateSettingStore.getCachedTemplateByTokenAsync(
263
259
  containerStore.designTemplateToken,
264
260
  );