@sc-360-v2/storefront-cms-library 0.1.94 → 0.1.96

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 (49) hide show
  1. package/dist/amount-estimator.scss +444 -4
  2. package/dist/builder.js +1 -1
  3. package/dist/bulk-variant-picker.scss +629 -19
  4. package/dist/container.scss +9 -0
  5. package/dist/editor-core.scss +97 -8
  6. package/dist/functions.js +1 -1
  7. package/dist/gallery-slider-temp.scss +463 -348
  8. package/dist/grid.scss +20 -2
  9. package/dist/image-temp.scss +1 -1
  10. package/dist/menu.scss +89 -0
  11. package/dist/payment-methods.scss +175 -11
  12. package/dist/pickup-locations.scss +443 -11
  13. package/dist/product-actions.scss +905 -77
  14. package/dist/product-basic-elements.scss +37 -6
  15. package/dist/product-highlights.scss +114 -4
  16. package/dist/product-image.scss +472 -339
  17. package/dist/product-inventory.scss +559 -14
  18. package/dist/product-options.scss +156 -0
  19. package/dist/product-price.scss +695 -289
  20. package/dist/product-promotions.scss +1118 -17
  21. package/dist/product.scss +32 -172
  22. package/dist/productDetails.scss +28 -0
  23. package/dist/quantity-selector.scss +58 -4
  24. package/dist/repeater-item.scss +22 -0
  25. package/dist/repeater.scss +113 -0
  26. package/dist/section.scss +16 -0
  27. package/dist/shipping-estimator.scss +13 -5
  28. package/dist/stack.scss +7 -1
  29. package/dist/store-locations.scss +442 -14
  30. package/dist/tooltip.scss +276 -0
  31. package/dist/types/builder/enums/index.d.ts +9 -2
  32. package/dist/types/builder/tools/element-edit/amountEstimator.d.ts +2 -1
  33. package/dist/types/builder/tools/element-edit/index.d.ts +3 -1
  34. package/dist/types/builder/tools/element-edit/productActions.d.ts +1 -0
  35. package/dist/types/builder/tools/element-edit/productDetails.d.ts +6 -31
  36. package/dist/types/builder/tools/element-edit/productDetailsOLd.d.ts +42 -0
  37. package/dist/types/builder/tools/element-edit/productOptions.d.ts +59 -0
  38. package/dist/types/builder/tools/element-edit/repeater.d.ts +2 -1
  39. package/dist/types/helper/helper-functions.d.ts +1 -0
  40. package/dist/uom-selector.scss +501 -4
  41. package/dist/variable.scss +9 -1
  42. package/dist/variant-picker.scss +672 -19
  43. package/dist/volume-pricing.scss +473 -19
  44. package/dist/widget.scss +25 -3
  45. package/package.json +1 -1
  46. package/dist/App.scss +0 -31
  47. package/dist/mixin.scss +0 -9
  48. package/dist/modal.module.scss +0 -121
  49. package/dist/range-slider.module.scss +0 -85
@@ -0,0 +1,276 @@
1
+ .tooltipWrapper {
2
+ position: relative;
3
+ display: inline-block;
4
+ &:hover {
5
+ .tooltipBox {
6
+ opacity: 1;
7
+ }
8
+ }
9
+ }
10
+
11
+ .tooltipBox {
12
+ position: absolute;
13
+ z-index: 1000;
14
+ background-color: #333;
15
+ color: #fff;
16
+ padding: 8px 12px;
17
+ border-radius: 4px;
18
+ font-size: 12px;
19
+ white-space: nowrap;
20
+ visibility: visible;
21
+ opacity: 0;
22
+ transition: opacity 0.2s ease;
23
+
24
+ max-width: 250px;
25
+ width: max-content;
26
+ max-height: 100px;
27
+ word-wrap: break-word;
28
+ white-space: normal;
29
+
30
+ &.top {
31
+ bottom: 100%;
32
+ left: 50%;
33
+ transform: translateX(-50%);
34
+ margin-bottom: 8px;
35
+ }
36
+
37
+ &.top-left {
38
+ bottom: 100%;
39
+ left: 0;
40
+ transform: translateX(0);
41
+ margin-bottom: 8px;
42
+ }
43
+
44
+ &.top-right {
45
+ bottom: 100%;
46
+ right: 0;
47
+ transform: translateX(0);
48
+ margin-bottom: 8px;
49
+ }
50
+
51
+ &.top-center {
52
+ bottom: 100%;
53
+ left: 50%;
54
+ transform: translateX(-50%);
55
+ margin-bottom: 8px;
56
+ }
57
+
58
+ &.bottom {
59
+ top: 100%;
60
+ left: 50%;
61
+ transform: translateX(-50%);
62
+ margin-top: 8px;
63
+ }
64
+
65
+ &.bottom-left {
66
+ top: 100%;
67
+ left: 0;
68
+ transform: translateX(0);
69
+ margin-top: 8px;
70
+ }
71
+
72
+ &.bottom-right {
73
+ top: 100%;
74
+ right: 0;
75
+ transform: translateX(0);
76
+ margin-top: 8px;
77
+ }
78
+
79
+ &.bottom-center {
80
+ top: 100%;
81
+ left: 50%;
82
+ transform: translateX(-50%);
83
+ margin-top: 8px;
84
+ }
85
+
86
+ &.left {
87
+ right: 100%;
88
+ top: 50%;
89
+ transform: translateY(-50%);
90
+ margin-right: 8px;
91
+ }
92
+
93
+ &.left-top {
94
+ right: 100%;
95
+ top: 0;
96
+ transform: translateY(0);
97
+ margin-right: 8px;
98
+ }
99
+
100
+ &.left-center {
101
+ right: 100%;
102
+ top: 50%;
103
+ transform: translateY(-50%);
104
+ margin-right: 8px;
105
+ }
106
+
107
+ &.left-bottom {
108
+ right: 100%;
109
+ bottom: 0;
110
+ transform: translateY(0);
111
+ margin-right: 8px;
112
+ }
113
+
114
+ &.right {
115
+ left: 100%;
116
+ top: 50%;
117
+ transform: translateY(-50%);
118
+ margin-left: 8px;
119
+ }
120
+
121
+ &.right-top {
122
+ left: 100%;
123
+ top: 0;
124
+ transform: translateY(0);
125
+ margin-left: 8px;
126
+ }
127
+
128
+ &.right-center {
129
+ left: 100%;
130
+ top: 50%;
131
+ transform: translateY(-50%);
132
+ margin-left: 8px;
133
+ }
134
+
135
+ &.right-bottom {
136
+ left: 100%;
137
+ bottom: 0;
138
+ transform: translateY(0);
139
+ margin-left: 8px;
140
+ }
141
+ }
142
+
143
+ .tooltipArrow {
144
+ position: absolute;
145
+ width: 0;
146
+ height: 0;
147
+ border-style: solid;
148
+
149
+ &.top {
150
+ bottom: -4px;
151
+ left: 50%;
152
+ transform: translateX(-50%);
153
+ border-width: 4px 4px 0 4px;
154
+ border-color: #333 transparent transparent transparent;
155
+ }
156
+
157
+ &.top-left {
158
+ bottom: -4px;
159
+ left: 10px;
160
+ transform: translateX(0);
161
+ border-width: 4px 4px 0 4px;
162
+ border-color: #333 transparent transparent transparent;
163
+ }
164
+
165
+ &.top-right {
166
+ bottom: -4px;
167
+ right: 10px;
168
+ transform: translateX(0);
169
+ border-width: 4px 4px 0 4px;
170
+ border-color: #333 transparent transparent transparent;
171
+ }
172
+
173
+ &.top-center {
174
+ bottom: -4px;
175
+ left: 50%;
176
+ transform: translateX(-50%);
177
+ border-width: 4px 4px 0 4px;
178
+ border-color: #333 transparent transparent transparent;
179
+ }
180
+
181
+ &.bottom {
182
+ top: -4px;
183
+ left: 50%;
184
+ transform: translateX(-50%);
185
+ border-width: 0 4px 4px 4px;
186
+ border-color: transparent transparent #333 transparent;
187
+ }
188
+
189
+ &.bottom-left {
190
+ top: -4px;
191
+ left: 10px;
192
+ transform: translateX(0);
193
+ border-width: 0 4px 4px 4px;
194
+ border-color: transparent transparent #333 transparent;
195
+ }
196
+
197
+ &.bottom-right {
198
+ top: -4px;
199
+ right: 10px;
200
+ transform: translateX(0);
201
+ border-width: 0 4px 4px 4px;
202
+ border-color: transparent transparent #333 transparent;
203
+ }
204
+
205
+ &.bottom-center {
206
+ top: -4px;
207
+ left: 50%;
208
+ transform: translateX(-50%);
209
+ border-width: 0 4px 4px 4px;
210
+ border-color: transparent transparent #333 transparent;
211
+ }
212
+
213
+ &.left {
214
+ right: -4px;
215
+ top: 50%;
216
+ transform: translateY(-50%);
217
+ border-width: 4px 0 4px 4px;
218
+ border-color: transparent transparent transparent #333;
219
+ }
220
+
221
+ &.left-top {
222
+ right: -4px;
223
+ top: 10px;
224
+ transform: translateY(0);
225
+ border-width: 4px 0 4px 4px;
226
+ border-color: transparent transparent transparent #333;
227
+ }
228
+
229
+ &.left-center {
230
+ right: -4px;
231
+ top: 50%;
232
+ transform: translateY(-50%);
233
+ border-width: 4px 0 4px 4px;
234
+ border-color: transparent transparent transparent #333;
235
+ }
236
+
237
+ &.left-bottom {
238
+ right: -4px;
239
+ bottom: 10px;
240
+ transform: translateY(0);
241
+ border-width: 4px 0 4px 4px;
242
+ border-color: transparent transparent transparent #333;
243
+ }
244
+
245
+ &.right {
246
+ left: -4px;
247
+ top: 50%;
248
+ transform: translateY(-50%);
249
+ border-width: 4px 4px 4px 0;
250
+ border-color: transparent #333 transparent transparent;
251
+ }
252
+
253
+ &.right-top {
254
+ left: -4px;
255
+ top: 10px;
256
+ transform: translateY(0);
257
+ border-width: 4px 4px 4px 0;
258
+ border-color: transparent #333 transparent transparent;
259
+ }
260
+
261
+ &.right-center {
262
+ left: -4px;
263
+ top: 50%;
264
+ transform: translateY(-50%);
265
+ border-width: 4px 4px 4px 0;
266
+ border-color: transparent #333 transparent transparent;
267
+ }
268
+
269
+ &.right-bottom {
270
+ left: -4px;
271
+ bottom: 10px;
272
+ transform: translateY(0);
273
+ border-width: 4px 4px 4px 0;
274
+ border-color: transparent #333 transparent transparent;
275
+ }
276
+ }
@@ -42,7 +42,10 @@ export declare enum CMSToolIdTypes {
42
42
  addGlobalSectionsPopup = "cms-add-global-sections-popup",
43
43
  containerElement = "div[data-element-type='container']",
44
44
  repeaterWrapper = "cms-repeater-wrapper",
45
- repeaterItemWrapper = "cms-repeater-item-wrapper"
45
+ repeaterItemWrapper = "cms-repeater-item-wrapper",
46
+ cmsElementFullView = "cms-element-full-view",
47
+ productWrapper = "cms-product-wrapper",
48
+ productDetailsWrapper = "cms-product-details-wrapper"
46
49
  }
47
50
  export declare enum CMSElementSelectors {
48
51
  iframeSelector = "iframe[data-title='iframe__playground']",
@@ -85,7 +88,10 @@ export declare enum CMSElementSelectors {
85
88
  stackWrapper = "div[data-div-type='cms-stack-wrapper']",
86
89
  containerElement = "div[data-element-type='container']",
87
90
  repeaterElement = "div[data-element-type='repeater']",
88
- repeaterItemElement = "div[data-element-type='repeater-item']"
91
+ repeaterItemElement = "div[data-element-type='repeater-item']",
92
+ cmsElementFullView = "div[data-cms-tool='cms-element-full-view']",
93
+ productElement = "div[data-element-type='product']",
94
+ productDetailsElement = "div[data-element-type='productDetails']"
89
95
  }
90
96
  export declare enum CMSToolAttributes {
91
97
  id = "data-cms-tool",
@@ -191,4 +197,5 @@ export declare const CMSElementsListEnum: {
191
197
  PRODUCT_OPTIONS: string;
192
198
  REPEATER: string;
193
199
  REPEATER_ITEM: string;
200
+ PRODUCT_DETAILS: string;
194
201
  };
@@ -137,7 +137,8 @@ export declare enum AmountEstimatorsSelectorKeysEnum {
137
137
  SHOW_MORE_ITEMS_BUTTON = "showMoreItemsButton",
138
138
  HOVER_STATE = "hover",
139
139
  DEFAULT_STATE = "default",
140
- SELECTED_STATE = "selectedState"
140
+ SELECTED_STATE = "selectedState",
141
+ DATA_CONNECTOR = "dataConnector"
141
142
  }
142
143
  export declare const getDefaultData: () => CMSElementEditPopupInterface<selfLayoutInterface & CMSElementEditPopupLayoutInterface, selfDesignInterface & CMSElementEditPopupDesignInterface>;
143
144
  export {};
@@ -11,6 +11,7 @@ import * as gallerySlider from "./gallery-slider";
11
11
  import * as grid from "./grid";
12
12
  import * as image from "./image";
13
13
  import * as product from "./product";
14
+ import * as productDetails from "./productDetails";
14
15
  import * as imageHotspot from "./imageHotspot";
15
16
  import * as map from "./map";
16
17
  import * as paymentMethods from "./paymentMethods";
@@ -42,4 +43,5 @@ import * as profile from "./profile";
42
43
  import * as repeater from "./repeater";
43
44
  import * as repeaterItem from "./repeaterItem";
44
45
  import * as menu from "./menu";
45
- export { amountEstimator, bulkVariantPicker, button, code, common, container, countdown, embed, faq, gallerySlider, grid, image, imageHotspot, map, paymentMethods, pickupLocations, price, productActions, productHighlights, productImage, productInventory, productPromotions, quantitySelector, scroll, section, shippingEstimator, slideShowLayouter, social, stack, storeLocations, table, tabs, text, uomSelector, variantPicker, video, volumePricing, lightbox, cart, profile, repeater, repeaterItem, product, menu, };
46
+ import * as productOptions from "./productOptions";
47
+ export { amountEstimator, bulkVariantPicker, button, code, common, container, countdown, embed, faq, gallerySlider, grid, image, imageHotspot, map, paymentMethods, pickupLocations, price, productActions, productHighlights, productImage, productInventory, productPromotions, quantitySelector, scroll, section, shippingEstimator, slideShowLayouter, social, stack, storeLocations, table, tabs, text, uomSelector, variantPicker, video, volumePricing, lightbox, cart, profile, repeater, repeaterItem, product, menu, productOptions, productDetails, };
@@ -44,6 +44,7 @@ export interface selfDesignInterface {
44
44
  export declare enum ButtonSelectorKeysEnum {
45
45
  HOVER_STATE = "hover",
46
46
  DEFAULT_STATE = "default",
47
+ SELECTED_STATE = "selected",
47
48
  LAYOUT = "layout",
48
49
  DESIGN = "design",
49
50
  ADD_TO_CART = "addToCart",
@@ -1,42 +1,17 @@
1
1
  import { CMSElementEditPopupDesignInterface, CMSElementEditPopupInterface, CMSElementEditPopupLayoutInterface } from "./common";
2
- interface controlInterface {
3
- value: string | boolean;
4
- propertyType: string;
2
+ export interface SectionEditPopupInterface extends CMSElementEditPopupInterface {
5
3
  }
6
- export interface selfLayoutInterface {
4
+ interface selfLayoutInterface {
7
5
  selectorKey: string;
8
- imageAndDetailsSpacing: controlInterface;
9
- itemSpacing: controlInterface;
10
- imagePosition: controlInterface;
11
6
  }
12
7
  export interface selfDesignInterface {
13
8
  selectorKey: string;
14
9
  }
15
- export interface selfContentInterface {
16
- selectorKey: string;
17
- productName: controlInterface;
18
- productCodes: controlInterface;
19
- variantCodes: controlInterface;
20
- productImages: controlInterface;
21
- prices: controlInterface;
22
- productDescription: controlInterface;
23
- showOptions: controlInterface;
24
- allowBulkOrdering: controlInterface;
25
- actions: controlInterface;
26
- quickView: controlInterface;
27
- addToCart: controlInterface;
28
- wishlist: controlInterface;
29
- buyNow: controlInterface;
30
- addToQuote: controlInterface;
31
- showUOMs: controlInterface;
32
- showVolumePricing: controlInterface;
33
- showInventory: controlInterface;
34
- storeAvailability: controlInterface;
35
- }
36
- export declare enum sectionSelectorKeysEnum {
10
+ export declare enum SelectorKeysEnum {
37
11
  LAYOUT = "layout",
38
12
  DESIGN = "design",
39
- CONTENT = "content"
13
+ CONTENT = "content",
14
+ DATA_CONNECTOR = "dataConnector"
40
15
  }
41
- export declare const getDefaultData: (contentWidth: any) => CMSElementEditPopupInterface<selfLayoutInterface & CMSElementEditPopupLayoutInterface, selfDesignInterface & CMSElementEditPopupDesignInterface>;
16
+ export declare const getDefaultData: () => CMSElementEditPopupInterface<selfLayoutInterface & CMSElementEditPopupLayoutInterface, selfDesignInterface & CMSElementEditPopupDesignInterface>;
42
17
  export {};
@@ -0,0 +1,42 @@
1
+ import { CMSElementEditPopupDesignInterface, CMSElementEditPopupInterface, CMSElementEditPopupLayoutInterface } from "./common";
2
+ interface controlInterface {
3
+ value: string | boolean;
4
+ propertyType: string;
5
+ }
6
+ export interface selfLayoutInterface {
7
+ selectorKey: string;
8
+ imageAndDetailsSpacing: controlInterface;
9
+ itemSpacing: controlInterface;
10
+ imagePosition: controlInterface;
11
+ }
12
+ export interface selfDesignInterface {
13
+ selectorKey: string;
14
+ }
15
+ export interface selfContentInterface {
16
+ selectorKey: string;
17
+ productName: controlInterface;
18
+ productCodes: controlInterface;
19
+ variantCodes: controlInterface;
20
+ productImages: controlInterface;
21
+ prices: controlInterface;
22
+ productDescription: controlInterface;
23
+ showOptions: controlInterface;
24
+ allowBulkOrdering: controlInterface;
25
+ actions: controlInterface;
26
+ quickView: controlInterface;
27
+ addToCart: controlInterface;
28
+ wishlist: controlInterface;
29
+ buyNow: controlInterface;
30
+ addToQuote: controlInterface;
31
+ showUOMs: controlInterface;
32
+ showVolumePricing: controlInterface;
33
+ showInventory: controlInterface;
34
+ storeAvailability: controlInterface;
35
+ }
36
+ export declare enum sectionSelectorKeysEnum {
37
+ LAYOUT = "layout",
38
+ DESIGN = "design",
39
+ CONTENT = "content"
40
+ }
41
+ export declare const getDefaultData: (contentWidth: any) => CMSElementEditPopupInterface<selfLayoutInterface & CMSElementEditPopupLayoutInterface, selfDesignInterface & CMSElementEditPopupDesignInterface>;
42
+ export {};
@@ -0,0 +1,59 @@
1
+ import { CMSIBCommonInterface } from "../../interfaces/global";
2
+ import { CMSElementEditPopupDesignInterface, CMSElementEditPopupInterface, CMSElementEditPopupLayoutInterface } from "./common";
3
+ interface selfLayoutInterface {
4
+ itemSpacing: CMSIBCommonInterface;
5
+ showOptionsToSelect: CMSIBCommonInterface;
6
+ showNoOfOptions: CMSIBCommonInterface;
7
+ noOfOptionsToShowUpfront: CMSIBCommonInterface;
8
+ showRemainingOptionsAs: CMSIBCommonInterface;
9
+ whenClicked: CMSIBCommonInterface;
10
+ buttonText: CMSIBCommonInterface;
11
+ dividerBetweenOptions: CMSIBCommonInterface;
12
+ optionTitleValueSpacing: CMSIBCommonInterface;
13
+ displayValues: CMSIBCommonInterface;
14
+ swatchItemSpacing: CMSIBCommonInterface;
15
+ swatchItemPadding: CMSIBCommonInterface;
16
+ optionItemSpacing: CMSIBCommonInterface;
17
+ optionItemPadding: CMSIBCommonInterface;
18
+ swatchMaxItemsToDisplay: CMSIBCommonInterface;
19
+ swatchOverFlowItems: CMSIBCommonInterface;
20
+ singleSelectDisplayValues: CMSIBCommonInterface;
21
+ singleSelectItemSpacing: CMSIBCommonInterface;
22
+ singleSelectItemPadding: CMSIBCommonInterface;
23
+ singleSelectMaxItemsToDisplay: CMSIBCommonInterface;
24
+ singleSelectOverFlowItems: CMSIBCommonInterface;
25
+ swatchDropdownOptionsSpacing: CMSIBCommonInterface;
26
+ swatchDropdownOptionsPadding: CMSIBCommonInterface;
27
+ swatchDropdownStyle: CMSIBCommonInterface;
28
+ swatchOptionAndListSpacing: CMSIBCommonInterface;
29
+ swatchDropdownListItemSpacing: CMSIBCommonInterface;
30
+ swatchDropdownListItemPadding: CMSIBCommonInterface;
31
+ swatchDividerBetweenLIstItems: CMSIBCommonInterface;
32
+ }
33
+ export interface selfDesignInterface {
34
+ selectorKey: string;
35
+ backgroundColor?: CMSIBCommonInterface;
36
+ borderColor?: CMSIBCommonInterface;
37
+ borderStyle?: CMSIBCommonInterface;
38
+ borderPerSlide?: CMSIBCommonInterface;
39
+ showBorder?: CMSIBCommonInterface;
40
+ showShadow?: CMSIBCommonInterface;
41
+ shadowColor?: CMSIBCommonInterface;
42
+ blur?: CMSIBCommonInterface;
43
+ spread?: CMSIBCommonInterface;
44
+ angle?: CMSIBCommonInterface;
45
+ borderRadius?: CMSIBCommonInterface;
46
+ iconSize: CMSIBCommonInterface;
47
+ iconColor: CMSIBCommonInterface;
48
+ [key: string]: any;
49
+ }
50
+ export declare enum ButtonSelectorKeysEnum {
51
+ LAYOUT = "layout",
52
+ DESIGN = "design",
53
+ FAQ_WIDGET = "faqWidget",
54
+ COLLAPSED_ACCRORDION_ITEM = "collapsedAccordionItem",
55
+ EXPANDED_ACCRORDION_ITEM = "expandedAccordionItem",
56
+ DIVIDER = "divider"
57
+ }
58
+ export declare const getDefaultData: () => CMSElementEditPopupInterface<selfLayoutInterface & CMSElementEditPopupLayoutInterface, selfDesignInterface & CMSElementEditPopupDesignInterface>;
59
+ export {};
@@ -32,7 +32,8 @@ export interface selfDesignInterface {
32
32
  }
33
33
  export declare enum selfSelectorKeysEnum {
34
34
  LAYOUT = "layout",
35
- DESIGN = "design"
35
+ DESIGN = "design",
36
+ DATA_CONNECTOR = "dataConnector"
36
37
  }
37
38
  export declare const getDefaultData: () => CMSElementEditPopupInterface<selfLayoutInterface & CMSElementEditPopupLayoutInterface, selfDesignInterface & CMSElementEditPopupDesignInterface>;
38
39
  export {};
@@ -1 +1,2 @@
1
1
  export declare const dateTimeFormat: (dateString: string | number, isTime?: boolean, formatStr?: string, timeZone?: string, locale?: string) => string | null;
2
+ export declare function createQueryStringForCollection(queryObject: any): string;