@bonlineza/luxity-lib 2.35.0 → 2.35.2

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,434 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('styled-components')) :
3
+ typeof define === 'function' && define.amd ? define(['react', 'styled-components'], factory) :
4
+ (global = global || self, global.LuxityProductInterestItem = factory(global.React, global.styled));
5
+ }(this, (function (React, styled) { 'use strict';
6
+
7
+ var React__default = 'default' in React ? React['default'] : React;
8
+ var styled__default = 'default' in styled ? styled['default'] : styled;
9
+
10
+ function ownKeys(object, enumerableOnly) {
11
+ var keys = Object.keys(object);
12
+
13
+ if (Object.getOwnPropertySymbols) {
14
+ var symbols = Object.getOwnPropertySymbols(object);
15
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
16
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
17
+ })), keys.push.apply(keys, symbols);
18
+ }
19
+
20
+ return keys;
21
+ }
22
+
23
+ function _objectSpread2(target) {
24
+ for (var i = 1; i < arguments.length; i++) {
25
+ var source = null != arguments[i] ? arguments[i] : {};
26
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
27
+ _defineProperty(target, key, source[key]);
28
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
29
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
30
+ });
31
+ }
32
+
33
+ return target;
34
+ }
35
+
36
+ function _classCallCheck(instance, Constructor) {
37
+ if (!(instance instanceof Constructor)) {
38
+ throw new TypeError("Cannot call a class as a function");
39
+ }
40
+ }
41
+
42
+ function _defineProperties(target, props) {
43
+ for (var i = 0; i < props.length; i++) {
44
+ var descriptor = props[i];
45
+ descriptor.enumerable = descriptor.enumerable || false;
46
+ descriptor.configurable = true;
47
+ if ("value" in descriptor) descriptor.writable = true;
48
+ Object.defineProperty(target, descriptor.key, descriptor);
49
+ }
50
+ }
51
+
52
+ function _createClass(Constructor, protoProps, staticProps) {
53
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
54
+ if (staticProps) _defineProperties(Constructor, staticProps);
55
+ Object.defineProperty(Constructor, "prototype", {
56
+ writable: false
57
+ });
58
+ return Constructor;
59
+ }
60
+
61
+ function _defineProperty(obj, key, value) {
62
+ if (key in obj) {
63
+ Object.defineProperty(obj, key, {
64
+ value: value,
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true
68
+ });
69
+ } else {
70
+ obj[key] = value;
71
+ }
72
+
73
+ return obj;
74
+ }
75
+
76
+ function _extends() {
77
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
78
+ for (var i = 1; i < arguments.length; i++) {
79
+ var source = arguments[i];
80
+
81
+ for (var key in source) {
82
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
83
+ target[key] = source[key];
84
+ }
85
+ }
86
+ }
87
+
88
+ return target;
89
+ };
90
+ return _extends.apply(this, arguments);
91
+ }
92
+
93
+ function _inherits(subClass, superClass) {
94
+ if (typeof superClass !== "function" && superClass !== null) {
95
+ throw new TypeError("Super expression must either be null or a function");
96
+ }
97
+
98
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
99
+ constructor: {
100
+ value: subClass,
101
+ writable: true,
102
+ configurable: true
103
+ }
104
+ });
105
+ Object.defineProperty(subClass, "prototype", {
106
+ writable: false
107
+ });
108
+ if (superClass) _setPrototypeOf(subClass, superClass);
109
+ }
110
+
111
+ function _getPrototypeOf(o) {
112
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
113
+ return o.__proto__ || Object.getPrototypeOf(o);
114
+ };
115
+ return _getPrototypeOf(o);
116
+ }
117
+
118
+ function _setPrototypeOf(o, p) {
119
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
120
+ o.__proto__ = p;
121
+ return o;
122
+ };
123
+ return _setPrototypeOf(o, p);
124
+ }
125
+
126
+ function _isNativeReflectConstruct() {
127
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
128
+ if (Reflect.construct.sham) return false;
129
+ if (typeof Proxy === "function") return true;
130
+
131
+ try {
132
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
133
+ return true;
134
+ } catch (e) {
135
+ return false;
136
+ }
137
+ }
138
+
139
+ function _assertThisInitialized(self) {
140
+ if (self === void 0) {
141
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
142
+ }
143
+
144
+ return self;
145
+ }
146
+
147
+ function _possibleConstructorReturn(self, call) {
148
+ if (call && (typeof call === "object" || typeof call === "function")) {
149
+ return call;
150
+ } else if (call !== void 0) {
151
+ throw new TypeError("Derived constructors may only return object or undefined");
152
+ }
153
+
154
+ return _assertThisInitialized(self);
155
+ }
156
+
157
+ function _createSuper(Derived) {
158
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
159
+
160
+ return function _createSuperInternal() {
161
+ var Super = _getPrototypeOf(Derived),
162
+ result;
163
+
164
+ if (hasNativeReflectConstruct) {
165
+ var NewTarget = _getPrototypeOf(this).constructor;
166
+
167
+ result = Reflect.construct(Super, arguments, NewTarget);
168
+ } else {
169
+ result = Super.apply(this, arguments);
170
+ }
171
+
172
+ return _possibleConstructorReturn(this, result);
173
+ };
174
+ }
175
+
176
+ function _taggedTemplateLiteral(strings, raw) {
177
+ if (!raw) {
178
+ raw = strings.slice(0);
179
+ }
180
+
181
+ return Object.freeze(Object.defineProperties(strings, {
182
+ raw: {
183
+ value: Object.freeze(raw)
184
+ }
185
+ }));
186
+ }
187
+
188
+ /** @format */
189
+ var request = {
190
+ fetching: false,
191
+ failed: false,
192
+ success: false,
193
+ payload: null
194
+ };
195
+ var method = {
196
+ DELETE: 'DELETE',
197
+ POST: 'POST',
198
+ GET: 'GET'
199
+ };
200
+
201
+ var simpleRequest = (function (axiosInstance, url) {
202
+ var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'get';
203
+ var payload = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
204
+ var onSuccess = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {
205
+ return null;
206
+ };
207
+ var onFailed = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : function () {
208
+ return null;
209
+ };
210
+ var requestConfigParams = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
211
+ return axiosInstance[method.toLowerCase()](url, payload, requestConfigParams).then(function (res) {
212
+ onSuccess(res);
213
+ return res;
214
+ }).catch(function (err) {
215
+ onFailed(err);
216
+ return err;
217
+ });
218
+ });
219
+
220
+ var Trash = (function (props) {
221
+ return /*#__PURE__*/React__default.createElement("svg", _extends({
222
+ version: "1.1",
223
+ id: "svg-trash",
224
+ xmlns: "http://www.w3.org/2000/svg",
225
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
226
+ x: "0px",
227
+ y: "0px",
228
+ viewBox: "0 0 15.1 17.5",
229
+ xmlSpace: "preserve"
230
+ }, props), /*#__PURE__*/React__default.createElement("g", null, /*#__PURE__*/React__default.createElement("path", {
231
+ d: "M2.4,17.5c-0.4-0.1-0.5-0.4-0.5-0.8c0-4,0-7.9,0-11.9c0-0.1,0-0.1,0-0.2c-0.1,0-0.1,0-0.2,0c-0.3,0-0.7,0-1,0 C0.3,4.6,0,4.3,0,4C0,3.3,0,2.7,0,2c0.1-0.8,0.8-1.5,1.7-1.6c1.3,0,2.6,0,3.9,0c0.1,0,0.2,0,0.3-0.1C6,0.1,6.2,0,6.5,0 c0.7,0,1.4,0,2.1,0c0.3,0,0.5,0.1,0.6,0.3c0.1,0.1,0.1,0.1,0.2,0.1c1.3,0,2.5,0,3.8,0c0.8,0,1.4,0.4,1.7,1.1C15,1.7,15,2,15,2.3 c0,0.5,0,1,0,1.6c0,0.5-0.3,0.7-0.7,0.7c-0.4,0-0.7,0-1.1,0c0,0,0,0-0.1,0c0,0.1,0,0.1,0,0.2c0,4,0,7.9,0,11.9 c0,0.4-0.1,0.7-0.5,0.8C9.2,17.5,5.8,17.5,2.4,17.5z M11.8,16.2c0-3.9,0-7.7,0-11.6c-2.9,0-5.7,0-8.6,0c0,3.9,0,7.7,0,11.6 C6.1,16.2,9,16.2,11.8,16.2z M1.3,3.2c4.1,0,8.3,0,12.4,0c0-0.3,0-0.6,0-0.9c0-0.5-0.2-0.6-0.6-0.6c-3.7,0-7.4,0-11.1,0 c-0.1,0-0.2,0-0.3,0C1.5,1.8,1.3,2,1.3,2.2C1.3,2.5,1.3,2.9,1.3,3.2z"
232
+ }), /*#__PURE__*/React__default.createElement("path", {
233
+ d: "M5.1,9.8c0-1.1,0-2.3,0-3.4c0-0.4,0.2-0.7,0.5-0.7C6,5.6,6.3,5.8,6.4,6.1c0,0.1,0,0.2,0,0.3c0,2.2,0,4.5,0,6.7 c0,0.1,0,0.3-0.1,0.4C6.2,13.8,6,14,5.7,13.9c-0.3,0-0.5-0.2-0.6-0.5c0-0.1,0-0.2,0-0.3C5.1,12,5.1,10.9,5.1,9.8z"
234
+ }), /*#__PURE__*/React__default.createElement("path", {
235
+ d: "M9.9,9.8c0,1.1,0,2.3,0,3.4c0,0.3-0.2,0.6-0.5,0.7c-0.4,0.1-0.8-0.1-0.9-0.5c0-0.1,0-0.2,0-0.2c0-2.3,0-4.5,0-6.8 c0-0.4,0.2-0.7,0.5-0.7c0.3-0.1,0.7,0.1,0.7,0.5c0,0.1,0,0.2,0,0.3C9.9,7.6,9.9,8.7,9.9,9.8z"
236
+ })));
237
+ });
238
+
239
+ var _templateObject;
240
+ var SvgWrapper = styled__default.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 1rem;\n display: flex;\n svg {\n width: 23px;\n height: auto;\n }\n"])));
241
+
242
+ var theme = {
243
+ breakpoints: ['40em', '52em', '64em'],
244
+ space: ['0px', '4px', '8px', '16px', '32px', '64px', '128px', '256px', '512px'],
245
+ fontSizes: ['12px', '14px', '16px', '20px', '24px', '32px', '48px', '64px', '72px'],
246
+ marginPaddings: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem', '4rem', '4.5rem', '5rem', '5.5rem', '6rem'],
247
+ letterSpacings: ['-0.5px', '0px', '+0.5px'],
248
+ radii: ['0px', '2px', '4px', '8px'],
249
+ borderRadius: '6px',
250
+ colors: {
251
+ primary: '#000',
252
+ base: '#4e4949',
253
+ baseLt: '#817c7c',
254
+ borderColor: '#d8d8d8',
255
+ ntrlMin: '#fff',
256
+ ntrlMinTen: '#e6e6e6',
257
+ gray: '#efefef',
258
+ darkerGray: '#454141'
259
+ },
260
+ rareStepColors: {
261
+ primary: '#202b58',
262
+ secondary: '#ef5c2d',
263
+ ntrlMin: '#ffffff',
264
+ ntrl40: '#f4f4f4',
265
+ ntrl50: '#808080',
266
+ ntrl60: '#e8e8e8',
267
+ ntrl70: '#252525',
268
+ ntrlMax: '#000000'
269
+ },
270
+ rareStepFontWeights: {
271
+ normal: 400,
272
+ medium: 500,
273
+ semiBold: 600,
274
+ bold: 700
275
+ },
276
+ rareStepFontSize: {
277
+ h1: '36px',
278
+ h2: '30px',
279
+ h3: '24px',
280
+ h4: '20px',
281
+ h5: '16px',
282
+ h6: '14px',
283
+ footerTitle: '16px'
284
+ },
285
+ rareStepPageSizes: {
286
+ mobile: '500px',
287
+ tablet: '768px',
288
+ desktop: '992px',
289
+ screenl: '1280px',
290
+ screenxl: '1680px',
291
+ screenxxl: '1920px',
292
+ container: '1600px'
293
+ }
294
+ };
295
+
296
+ var themed = (function (Component) {
297
+ return /*#__PURE__*/React.forwardRef(function (props, ref) {
298
+ return /*#__PURE__*/React__default.createElement(styled.ThemeProvider, {
299
+ theme: theme
300
+ }, /*#__PURE__*/React__default.createElement(Component, _extends({}, props, {
301
+ ref: ref
302
+ })));
303
+ });
304
+ });
305
+
306
+ var _templateObject$1;
307
+ var IconWrapper = styled__default.div(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n border: 1px solid ", ";\n height: auto;\n margin-bottom: 1rem;\n margin-left: 1rem;\n display: flex;\n align-items: center;\n height: auto;\n\n :hover {\n background-color: ", ";\n cursor: pointer;\n }\n\n #svg-trash {\n width: 15px;\n height: 100%;\n }\n"])), function (props) {
308
+ return props.theme.colors.borderColor;
309
+ }, function (props) {
310
+ return props.theme.colors.borderColor;
311
+ });
312
+
313
+ var media = {
314
+ xs: '576px',
315
+ sm: '768px',
316
+ md: '992px',
317
+ lg: '1200px'
318
+ };
319
+
320
+ var _templateObject$2, _templateObject2, _templateObject3;
321
+
322
+ var TrashIcon = function TrashIcon(_ref) {
323
+ var onClick = _ref.onClick,
324
+ id = _ref.id;
325
+ return /*#__PURE__*/React__default.createElement(IconWrapper, {
326
+ onClick: onClick,
327
+ id: id
328
+ }, /*#__PURE__*/React__default.createElement(SvgWrapper, null, /*#__PURE__*/React__default.createElement(Trash, null)));
329
+ };
330
+
331
+ var LuxityProductInterestItem = /*#__PURE__*/function (_React$Component) {
332
+ _inherits(LuxityProductInterestItem, _React$Component);
333
+
334
+ var _super = _createSuper(LuxityProductInterestItem);
335
+
336
+ function LuxityProductInterestItem(props) {
337
+ var _this;
338
+
339
+ _classCallCheck(this, LuxityProductInterestItem);
340
+
341
+ _this = _super.call(this, props);
342
+
343
+ _defineProperty(_assertThisInitialized(_this), "deleteInterestItem", function () {
344
+ var id = _this.props.data.id;
345
+
346
+ _this.setState({
347
+ delete: _objectSpread2(_objectSpread2({}, request), {}, {
348
+ fetching: true
349
+ })
350
+ });
351
+
352
+ var url = _this.props.deleteInterestApi(id);
353
+
354
+ simpleRequest(_this.props.requestInstance, url, method.DELETE, null, function () {
355
+ _this.setState({
356
+ delete: _objectSpread2(_objectSpread2({}, request), {}, {
357
+ success: true
358
+ })
359
+ });
360
+
361
+ _this.props.onDeleted(_this.props.data);
362
+ }, function () {
363
+ return _this.setState({
364
+ delete: _objectSpread2({}, request)
365
+ });
366
+ });
367
+ });
368
+
369
+ _defineProperty(_assertThisInitialized(_this), "render", function () {
370
+ var _data$luxity_model, _data$luxity_material;
371
+
372
+ var data = _this.props.data;
373
+ var success = _this.state.delete.success;
374
+ return /*#__PURE__*/React__default.createElement(InterestItemContainer, {
375
+ id: "interests__item--".concat(data.id),
376
+ className: "".concat(success && 'interests__item--hiding')
377
+ }, /*#__PURE__*/React__default.createElement(InterestItemContent, {
378
+ className: "interest-item__container ".concat(_this.props.className || '')
379
+ }, /*#__PURE__*/React__default.createElement("div", {
380
+ className: "interest-item__container_heading"
381
+ }, /*#__PURE__*/React__default.createElement(InterestItemTitle, null, "Brand:"), /*#__PURE__*/React__default.createElement("div", {
382
+ id: "interest-item-".concat(data.id, "__category"),
383
+ className: "list-items"
384
+ }, data.luxity_brand.name)), /*#__PURE__*/React__default.createElement("div", {
385
+ className: "interest-item__container_heading"
386
+ }, /*#__PURE__*/React__default.createElement(InterestItemTitle, null, "Model:"), /*#__PURE__*/React__default.createElement("div", {
387
+ className: "list-items"
388
+ }, data === null || data === void 0 ? void 0 : (_data$luxity_model = data.luxity_model) === null || _data$luxity_model === void 0 ? void 0 : _data$luxity_model.name)), /*#__PURE__*/React__default.createElement("div", {
389
+ className: "interest-item__container_heading"
390
+ }, /*#__PURE__*/React__default.createElement(InterestItemTitle, null, "Material:"), /*#__PURE__*/React__default.createElement("div", {
391
+ className: "list-items"
392
+ }, data === null || data === void 0 ? void 0 : (_data$luxity_material = data.luxity_material) === null || _data$luxity_material === void 0 ? void 0 : _data$luxity_material.name))), /*#__PURE__*/React__default.createElement(TrashIcon, {
393
+ id: "interest-".concat(data.id, "-delete-button"),
394
+ onClick: function onClick() {
395
+ if (!_this.state.delete.fetching) {
396
+ _this.deleteInterestItem();
397
+ }
398
+ }
399
+ }));
400
+ });
401
+
402
+ _this.state = {
403
+ delete: _objectSpread2({}, request)
404
+ };
405
+ return _this;
406
+ }
407
+
408
+ return _createClass(LuxityProductInterestItem);
409
+ }(React__default.Component);
410
+
411
+ var InterestItemTitle = styled__default.div(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n font-weight: bold;\n display: none;\n\n @media (max-width: ", ") {\n display: inline;\n }\n"])), media.xs);
412
+ var InterestItemContainer = styled__default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n\n .no-shoe-size-section {\n @media (max-width: ", ") {\n display: none;\n }\n }\n"])), media.xs);
413
+ var InterestItemContent = styled__default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n width: 95%;\n height: 100%;\n border: 1px solid ", ";\n padding: 1rem;\n margin-bottom: ", ";\n\n .interest-item__container_heading {\n color: ", ";\n flex-basis: calc(100% / 6);\n margin-top: 0.3rem;\n\n @media (max-width: ", ") {\n display: inline;\n }\n }\n\n .list-items {\n display: inline-flex;\n flex-direction: column;\n\n @media (max-width: ", ") {\n margin-left: ", ";\n }\n }\n\n @media (max-width: ", ") {\n flex-direction: column;\n }\n"])), function (props) {
414
+ return props.theme.colors.borderColor;
415
+ }, function (props) {
416
+ return props.theme.marginPaddings[1];
417
+ }, function (props) {
418
+ return props.theme.colors.darkerGray;
419
+ }, media.xs, media.xs, function (props) {
420
+ return props.theme.marginPaddings[0];
421
+ }, media.xs);
422
+ var ThemedInterestItem = themed(LuxityProductInterestItem);
423
+ /**
424
+ * The Interest Item view shows the selected interest configuration,
425
+ * and gives user control to delete it.
426
+ */
427
+
428
+ var index = (function (props) {
429
+ return /*#__PURE__*/React__default.createElement(ThemedInterestItem, props);
430
+ });
431
+
432
+ return index;
433
+
434
+ })));