@thryveai/theme-interfaces 1.4.11 → 1.5.0

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.
@@ -0,0 +1,649 @@
1
+ import { IconNames } from "./icons.interfaces";
2
+ export interface ITheme extends IInitializedEmptyTheme {
3
+ theme?: IThemeInterface;
4
+ images?: IThemeImages;
5
+ }
6
+ export declare type IThemeMetadata = IThemeMetadataItem[];
7
+ export declare type IThemeFavicons = IThemeFavicon[];
8
+ export declare type IThemeLogoPosition = "header" | "modal" | "content";
9
+ export declare type IIconPosition = "left" | "right";
10
+ export interface IThemeLogoHeightsProps {
11
+ desktop?: string;
12
+ tablet?: string;
13
+ mobile?: string;
14
+ }
15
+ export declare type IThemeLogoHeights = {
16
+ [key in IThemeLogoPosition]?: IThemeLogoHeightsProps;
17
+ };
18
+ export interface ISTSThemeInterface {
19
+ headerHeight?: string;
20
+ }
21
+ export interface IThemeFavicon {
22
+ rel?: string;
23
+ sizes?: string;
24
+ href?: string;
25
+ }
26
+ export interface IThemeMetadataItem {
27
+ name?: string;
28
+ content?: string;
29
+ }
30
+ export interface IThemeImages {
31
+ favicon?: string;
32
+ logos?: {
33
+ primary?: string;
34
+ primaryMobile?: string;
35
+ secondary?: string;
36
+ loyaltyCard?: string;
37
+ sts?: string;
38
+ stsMobile?: string;
39
+ };
40
+ stsCheckBox?: {
41
+ empty?: string;
42
+ primary?: string;
43
+ success?: string;
44
+ };
45
+ confirmationPageImage?: string;
46
+ rewards?: string;
47
+ missingImg?: {
48
+ recipes?: string;
49
+ x2?: string;
50
+ x3?: string;
51
+ square?: string;
52
+ };
53
+ verifySiteImage?: string;
54
+ favicons?: IThemeFavicons;
55
+ }
56
+ export interface IThemeInterface {
57
+ colors?: {
58
+ brandColors?: IBrandColors;
59
+ uiColors?: IUiColors;
60
+ };
61
+ header?: {
62
+ topMenu?: INavStyles;
63
+ mainMenu?: INavStyles;
64
+ bottomMenu?: INavBottom;
65
+ mobileMenu?: INavStyles;
66
+ accountPopover?: {
67
+ backgroundColor?: string;
68
+ borderColor?: string;
69
+ borderRadius?: string;
70
+ color?: string;
71
+ links?: {
72
+ color?: {
73
+ static?: string;
74
+ hover?: string;
75
+ visited?: string;
76
+ };
77
+ };
78
+ };
79
+ storePopover?: {
80
+ backgroundColor?: string;
81
+ activeBackgroundColor?: string;
82
+ color?: string;
83
+ activeColor?: string;
84
+ borderColor?: string;
85
+ borderRadius?: string;
86
+ reserveTimeIconPosition?: ITextPosition;
87
+ };
88
+ search?: {
89
+ borderColor?: string;
90
+ borderRadius?: string;
91
+ clearBtnColor?: string;
92
+ searchButton?: {
93
+ desktop?: {
94
+ static?: {
95
+ color?: string;
96
+ backgroundColor?: string;
97
+ };
98
+ hover?: {
99
+ color?: string;
100
+ backgroundColor?: string;
101
+ };
102
+ clicked?: {
103
+ color?: string;
104
+ backgroundColor?: string;
105
+ };
106
+ };
107
+ tablet?: {
108
+ static?: {
109
+ color?: string;
110
+ };
111
+ clicked?: {
112
+ color?: string;
113
+ };
114
+ };
115
+ mobile?: {
116
+ static?: {
117
+ color?: string;
118
+ };
119
+ };
120
+ };
121
+ suggestions?: {
122
+ links?: {
123
+ color?: {
124
+ static?: string;
125
+ hover?: string;
126
+ visited?: string;
127
+ };
128
+ };
129
+ };
130
+ multisearchBtn?: {
131
+ static?: {
132
+ color?: string;
133
+ backgroundColor?: string;
134
+ };
135
+ hover?: {
136
+ color?: string;
137
+ backgroundColor?: string;
138
+ };
139
+ };
140
+ };
141
+ headerActionLinks?: IHeaderActionLinksProps;
142
+ headerLinks?: IHeaderLinksProps;
143
+ departments?: {
144
+ backgroundColor?: {
145
+ active?: string;
146
+ static?: string;
147
+ };
148
+ color?: {
149
+ static?: string;
150
+ hover?: string;
151
+ };
152
+ iconColor?: {
153
+ static?: string;
154
+ hover?: string;
155
+ };
156
+ };
157
+ badge?: {
158
+ cart?: {
159
+ color?: string;
160
+ bgColor?: string;
161
+ };
162
+ };
163
+ notifications?: {
164
+ counter: {
165
+ backgroundColor?: string;
166
+ };
167
+ text?: {
168
+ color?: string;
169
+ hoverColor?: string;
170
+ };
171
+ };
172
+ };
173
+ body?: {
174
+ fontSize?: string;
175
+ color?: string;
176
+ backgroundColor?: string;
177
+ };
178
+ footer?: {
179
+ mainFooter?: INavStyles;
180
+ bottomFooter?: INavStyles;
181
+ bottomFooterNavHeaderLink?: INavStyles;
182
+ mediaIcons?: {
183
+ color?: string;
184
+ };
185
+ };
186
+ minimalHeader?: {
187
+ desktop?: IMinimalHeaderProps;
188
+ mobile?: IMinimalHeaderProps;
189
+ };
190
+ subHeaderBoxes?: {
191
+ backgroundColor?: string;
192
+ color?: string;
193
+ contentBorder?: string;
194
+ };
195
+ breadcrumb?: {
196
+ textTransform?: ITextTransform;
197
+ backgroundColor?: string;
198
+ color?: string;
199
+ activeColor?: string;
200
+ backIconColor?: string;
201
+ };
202
+ payment?: {
203
+ selectedCardBackground?: string;
204
+ selectedCardColor?: string;
205
+ summary?: {
206
+ listItemBackground?: string;
207
+ };
208
+ checkoutCards?: ICheckoutCards;
209
+ };
210
+ productPage?: {
211
+ detailsBackgroundColor?: string;
212
+ badges?: IProductBadges;
213
+ priceReductionColor?: string;
214
+ previouslyPurchased?: {
215
+ color?: string;
216
+ bgColor?: string;
217
+ };
218
+ };
219
+ accountPage?: {
220
+ passwordRequirements?: {
221
+ backgroundColor?: string;
222
+ };
223
+ };
224
+ orderConfirmation?: {
225
+ iconColor?: string;
226
+ backgroundColor?: string;
227
+ };
228
+ favorites?: {
229
+ headerIconStyle?: IconNames;
230
+ productColors?: {
231
+ static?: ICommonColors;
232
+ active?: ICommonColors;
233
+ };
234
+ };
235
+ loyaltyCard?: {
236
+ backgroundColor?: string;
237
+ borderColor?: string;
238
+ borderRadius?: string;
239
+ cardTextColor?: string;
240
+ dimensions?: ILoyaltyCardDimensions;
241
+ input?: ILoyaltyCardInput;
242
+ infoList?: ILoyaltyCardInfoList;
243
+ };
244
+ promoBadges?: {
245
+ backgroundColor?: {
246
+ promotion?: string;
247
+ pointsBasedPromo?: string;
248
+ };
249
+ fontWeight?: IFontWeights;
250
+ color?: {
251
+ promotion?: string;
252
+ pointsBasedPromo?: string;
253
+ };
254
+ };
255
+ typography?: {
256
+ webFonts?: string[];
257
+ embeddedFonts?: IEmbeddedFont[];
258
+ weights?: {
259
+ normal?: IFontWeights;
260
+ bold?: IFontWeights;
261
+ };
262
+ text?: {
263
+ body?: ITextType;
264
+ fontXS?: ITextType;
265
+ fontSM?: ITextType;
266
+ fontMD?: ITextType;
267
+ fontLG?: ITextType;
268
+ fontXL?: ITextType;
269
+ };
270
+ links?: {
271
+ static?: ILinkType;
272
+ hover?: ILinkType;
273
+ clicked?: ILinkType;
274
+ visited?: ILinkType;
275
+ };
276
+ };
277
+ buttons?: {
278
+ globalThemeBorderRadius?: string;
279
+ globalThemeFontWeight?: IFontWeights;
280
+ globalThemeFontFamily?: string;
281
+ primary?: IButtonType;
282
+ primaryLight?: IButtonType;
283
+ secondary?: IButtonType;
284
+ secondaryLight?: IButtonType;
285
+ tertiary?: IButtonType;
286
+ iconPosition?: IIconPosition;
287
+ checkout?: {
288
+ borderRadius?: string;
289
+ fontWeight?: IFontWeights;
290
+ iconColor?: string;
291
+ textTransform?: ITextTransform;
292
+ static?: ICheckoutButtonColorType;
293
+ hover?: ICheckoutButtonColorType;
294
+ clicked?: ICheckoutButtonColorType;
295
+ disabled?: ICheckoutButtonColorType;
296
+ };
297
+ filterSort?: IFilterSort;
298
+ quantityStepper?: {
299
+ borderColor?: string;
300
+ borderRadius?: string;
301
+ textTransform?: ITextTransform;
302
+ numericInput?: {
303
+ fontWeight?: IFontWeights;
304
+ fontSize?: string;
305
+ lineHeight?: string;
306
+ letterSpacing?: string;
307
+ static?: {
308
+ bgColor?: string;
309
+ color?: string;
310
+ };
311
+ focused?: {
312
+ bgColor?: string;
313
+ color?: string;
314
+ };
315
+ };
316
+ plusMinusButtons?: {
317
+ plusMinusIconBgColor?: string;
318
+ plusMinusIconColor?: string;
319
+ };
320
+ };
321
+ coupon?: {
322
+ borderRadius?: string;
323
+ borderStyle?: "dashed" | "solid";
324
+ fontWeight?: IFontWeights;
325
+ static?: IQSButtonColorType;
326
+ hover?: IQSButtonColorType;
327
+ clicked?: IQSButtonColorType;
328
+ clipped?: ICouponClippedBtnColorType;
329
+ };
330
+ miniCart?: {
331
+ textTransform?: ITextTransform;
332
+ backgroundColor?: string;
333
+ borderRadius?: string;
334
+ activeBackgroundColor?: string;
335
+ hoverBackgroundColor?: string;
336
+ color?: string;
337
+ activeColor?: string;
338
+ mobileColor?: string;
339
+ iconColor?: string;
340
+ activeIconColor?: string;
341
+ mobileIconColor?: string;
342
+ tabletIconColor?: string;
343
+ desktopIconSize?: string;
344
+ mobileIconSize?: string;
345
+ };
346
+ addToCart?: {
347
+ borderRadius?: string;
348
+ fontWeight?: IFontWeights;
349
+ textTransform?: ITextTransform;
350
+ static?: IAddToCartButton;
351
+ hover?: IAddToCartButton;
352
+ clicked?: IAddToCartButton;
353
+ disabled?: IAddToCartButton;
354
+ };
355
+ pills?: {
356
+ borderRadius?: string;
357
+ textTransform?: ITextTransform;
358
+ active?: IPillButtons;
359
+ small?: IPillButtons;
360
+ regular?: IPillButtons;
361
+ };
362
+ facets?: {
363
+ borderRadius?: string;
364
+ textTransform?: ITextTransform;
365
+ fontWeight?: IFontWeights;
366
+ active?: IFacets;
367
+ small?: IFacets;
368
+ regular?: IFacets;
369
+ };
370
+ sliderArrows?: {
371
+ backgroundColor?: string;
372
+ sideBorderColor?: string;
373
+ iconColor?: string;
374
+ };
375
+ activeAddress?: {
376
+ backgroundColor?: string;
377
+ borderColor?: string;
378
+ };
379
+ timeSlotPaginationDay?: {
380
+ selected?: {
381
+ backgroundColor?: string;
382
+ };
383
+ };
384
+ };
385
+ carousel?: {
386
+ bannerBackgroundColor?: string;
387
+ carouselPagination?: {
388
+ dotBackground?: string;
389
+ activeDotBackground?: string;
390
+ wrapperBackground?: string;
391
+ wrapperHeight?: string;
392
+ };
393
+ carouselArrows?: {
394
+ borderRadius?: string;
395
+ backgroundColor?: string;
396
+ activeBackgroundColor?: string;
397
+ iconColor?: string;
398
+ buttonDimension?: number;
399
+ };
400
+ };
401
+ modal?: {
402
+ header?: {
403
+ mobileBackgroundColor?: string;
404
+ };
405
+ storeIcon?: {
406
+ bgColor?: string;
407
+ borderColor?: string;
408
+ color?: string;
409
+ hoverBGColor?: string;
410
+ hoverBorderColor?: string;
411
+ iconColor?: string;
412
+ };
413
+ };
414
+ selectedOption?: {
415
+ bgColor?: string;
416
+ };
417
+ input?: {
418
+ borderRadius?: string;
419
+ static?: IInputFields;
420
+ hover?: IInputFields;
421
+ focus?: IInputFields;
422
+ disabled?: IInputFields;
423
+ };
424
+ productGrid?: {
425
+ borderColor?: string;
426
+ };
427
+ checkoutStepColors?: {
428
+ active?: string;
429
+ default?: string;
430
+ disabled?: string;
431
+ };
432
+ logoHeight?: IThemeLogoHeights;
433
+ stsThemeStyles?: ISTSThemeInterface;
434
+ stsLogoWidth?: string;
435
+ globalAnimations?: IThemeGlobalAnimations;
436
+ metadata?: IThemeMetadata;
437
+ scripts?: IThemeScripts;
438
+ }
439
+ export interface IThemeScripts {
440
+ [key: string]: string;
441
+ }
442
+ interface IInputFields {
443
+ bgColor?: string;
444
+ borderColor?: string;
445
+ color?: string;
446
+ placeholderColor?: string;
447
+ }
448
+ interface ICouponClippedBtnColorType extends IQSButtonColorType {
449
+ clippedIconColor?: string;
450
+ }
451
+ interface IButtonType {
452
+ borderRadius?: string;
453
+ clicked?: IButtonColorType;
454
+ disabled?: IButtonColorType;
455
+ fontWeight?: IFontWeights;
456
+ hover?: IButtonColorType;
457
+ static?: IButtonColorType;
458
+ textTransform?: ITextTransform;
459
+ }
460
+ declare type ITextTransform = "none" | "capitalize" | "uppercase" | "lowercase" | "initial" | "inherit";
461
+ declare type ITextPosition = "left" | "center" | "right";
462
+ interface IFilterSort extends ICommonColors {
463
+ borderRadius?: string;
464
+ }
465
+ interface ICommonColors {
466
+ color?: string;
467
+ hoverColor?: string;
468
+ }
469
+ interface IQSButtonColorType {
470
+ bgColor?: string;
471
+ borderColor?: string;
472
+ color?: string;
473
+ couponIconColor?: string;
474
+ }
475
+ interface ICheckoutButtonColorType {
476
+ bgColor?: string;
477
+ borderColor?: string;
478
+ color?: string;
479
+ }
480
+ interface IButtonColorType {
481
+ bgColor?: string;
482
+ borderColor?: string;
483
+ color?: string;
484
+ iconColor?: string;
485
+ }
486
+ interface ITextType {
487
+ color?: string;
488
+ fontFamily?: string;
489
+ fontSize?: string;
490
+ fontWeight?: IFontWeights;
491
+ capitalization?: ITextTransform;
492
+ lineHeight?: string;
493
+ letterSpacing?: string;
494
+ }
495
+ interface ILinkType {
496
+ color?: string;
497
+ textDecoration?: "none" | "underline";
498
+ }
499
+ export interface IGlobalTheme {
500
+ BorderRadius?: string;
501
+ FontFamily?: string;
502
+ FontWeight?: IFontWeights;
503
+ FontWeightBold?: IFontWeights;
504
+ HeadlineFontFamily?: string;
505
+ HeadlineFontWeight?: IFontWeights;
506
+ baseFontSize?: string;
507
+ bodyFontColor?: string;
508
+ bodyBackgroundColor?: string;
509
+ }
510
+ export declare type IColors = IBrandColors & IUiColors;
511
+ interface IBrandColors {
512
+ primary1?: string;
513
+ primary2?: string;
514
+ primary3?: string;
515
+ primary4?: string;
516
+ primary5?: string;
517
+ secondary1?: string;
518
+ secondary2?: string;
519
+ secondary3?: string;
520
+ secondary4?: string;
521
+ secondary5?: string;
522
+ tertiary1?: string;
523
+ tertiary2?: string;
524
+ tertiary3?: string;
525
+ tertiary4?: string;
526
+ tertiary5?: string;
527
+ }
528
+ interface IUiColors {
529
+ success?: string;
530
+ successDark?: string;
531
+ successLight?: string;
532
+ warn?: string;
533
+ warnDark?: string;
534
+ warnLight?: string;
535
+ alert?: string;
536
+ alertDark?: string;
537
+ alertLight?: string;
538
+ promotion1?: string;
539
+ promotion2?: string;
540
+ greyscale1?: string;
541
+ greyscale2?: string;
542
+ greyscale3?: string;
543
+ greyscale4?: string;
544
+ greyscale5?: string;
545
+ greyscale6?: string;
546
+ greyscale7?: string;
547
+ }
548
+ export interface IInitializedEmptyTheme {
549
+ exports?: any;
550
+ }
551
+ declare type IFontWeights = "normal" | "bold" | "bolder" | "lighter" | number | "initial" | "inherit";
552
+ interface INavBottom extends INavStyles {
553
+ hoverColor?: string;
554
+ textTransform?: ITextTransform;
555
+ fontWeight?: IFontWeights;
556
+ }
557
+ interface INavStyles {
558
+ color?: string;
559
+ backgroundColor?: string;
560
+ links?: {
561
+ static?: ILinkType;
562
+ hover?: ILinkType;
563
+ clicked?: ILinkType;
564
+ visited?: ILinkType;
565
+ };
566
+ }
567
+ interface INavActiveColors {
568
+ activeColor?: string;
569
+ activeBackgroundColor?: string;
570
+ }
571
+ interface IHeaderLinksProps extends INavStyles, INavActiveColors {
572
+ fontWeight?: IFontWeights;
573
+ borderRadius?: string;
574
+ }
575
+ interface IHeaderActionLinksProps extends IHeaderLinksProps {
576
+ fontFamily?: string;
577
+ }
578
+ interface IMinimalHeaderProps extends INavStyles {
579
+ iconColor?: string;
580
+ }
581
+ interface IAddToCartButton {
582
+ bgColor?: string;
583
+ borderColor?: string;
584
+ color?: string;
585
+ iconColor?: string;
586
+ }
587
+ interface IFacets extends IPillButtons {
588
+ iconColor?: string;
589
+ }
590
+ interface IPillButtons {
591
+ fontWeight?: IFontWeights;
592
+ fontWeightHover?: IFontWeights;
593
+ color?: string;
594
+ colorHover?: string;
595
+ colorVisited?: string;
596
+ backgroundColor?: string;
597
+ borderColor?: string;
598
+ borderColorSelected?: string;
599
+ textDecoration?: "none" | "underline";
600
+ textDecorationHover?: "none" | "underline";
601
+ padding?: string;
602
+ }
603
+ interface IProductBadges {
604
+ borderRadius?: string;
605
+ }
606
+ interface ICheckoutCards {
607
+ borderRadius?: string;
608
+ }
609
+ interface ILoyaltyCardDimensions {
610
+ width?: number;
611
+ height?: number;
612
+ }
613
+ interface ILoyaltyCardIdFields {
614
+ staticBorder?: string;
615
+ hoverBorder?: string;
616
+ activeBorder?: string;
617
+ errorBorder?: string;
618
+ }
619
+ interface ILoyaltyCardInput {
620
+ borderRadius?: string;
621
+ backgroundColor?: string;
622
+ borderColor?: string;
623
+ idFields?: ILoyaltyCardIdFields;
624
+ }
625
+ interface ILoyaltyCardInfoList {
626
+ color?: string;
627
+ borderColor?: string;
628
+ }
629
+ export declare type IThemeAnimationsConfettiPlacesTypes = "successModals";
630
+ export interface IThemeGlobalAnimations {
631
+ confettiAnimation?: IThemeAnimationConfettiPlaces;
632
+ }
633
+ export declare type IThemeAnimationConfettiPlaces = {
634
+ [key in IThemeAnimationsConfettiPlacesTypes]?: IThemeAnimationsConfettiProps;
635
+ };
636
+ export interface IThemeAnimationsConfettiProps {
637
+ colors?: string[];
638
+ }
639
+ export interface IEmbeddedFont {
640
+ fontFamily?: string;
641
+ sourceSet?: IEmbeddedFontSource[];
642
+ fontWeight?: number;
643
+ fontStyle?: string;
644
+ }
645
+ export interface IEmbeddedFontSource {
646
+ url?: string;
647
+ format?: string;
648
+ }
649
+ export {};
package/.eslintignore DELETED
@@ -1,46 +0,0 @@
1
- # dependencies
2
- /node_modules
3
-
4
- # testing
5
- /coverage
6
-
7
- # production
8
- /build
9
- /build_server
10
- /build_ts
11
- /oidc-storage
12
- /dist
13
- /lib
14
-
15
- # output files
16
- /default-theme.interface.d.ts
17
- /theme.interfaces.d.ts
18
- /index.d.ts
19
- /icons.interfaces.d.ts
20
- /retailer-settings.interfaces.d.ts
21
-
22
- # misc
23
- .DS_Store
24
- .env.local
25
- .env.development.local
26
- .env.test.local
27
- .env.production.local
28
-
29
- npm-debug.log*
30
- yarn-debug.log*
31
- yarn-error.log*
32
- yarn-lock
33
-
34
- # editor configs
35
- .vscode
36
- .idea
37
-
38
-
39
- package-lock.json
40
- /yarn.lock
41
- .gitignore
42
- /src
43
-
44
- *.tgz
45
- *.lock
46
- *.orig
package/.eslintrc.js DELETED
@@ -1,35 +0,0 @@
1
- module.exports = {
2
- env: {
3
- browser: true,
4
- es2021: true
5
- },
6
- extends: ['prettier'],
7
- parser: '@typescript-eslint/parser',
8
- parserOptions: {
9
- ecmaFeatures: {
10
- jsx: true
11
- },
12
- ecmaVersion: 13,
13
- sourceType: 'module'
14
- },
15
- plugins: ['eslint-plugin-prettier', 'prettier'],
16
- rules: {
17
- 'prettier/prettier': ['error'],
18
- 'sort-imports': [
19
- 'error',
20
- {
21
- allowSeparatedGroups: false,
22
- ignoreCase: false,
23
- ignoreDeclarationSort: false,
24
- ignoreMemberSort: false,
25
- memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single']
26
- }
27
- ],
28
- 'sort-keys': [
29
- 'error',
30
- 'asc',
31
- { caseSensitive: true, minKeys: 2, natural: false }
32
- ],
33
- 'sort-vars': ['error', { ignoreCase: true }]
34
- }
35
- };