favesalon-embed 1.0.14 → 1.0.16

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 (51) hide show
  1. package/dist/custom-elements/index.d.ts +36 -0
  2. package/dist/favesalon-embed/{_commonjsHelpers-a4f66ccd.js → _commonjsHelpers-9bc404fc.js} +1 -1
  3. package/dist/favesalon-embed/activate-form.entry.js +10 -3
  4. package/dist/favesalon-embed/buy-giftcard-form.entry.js +998 -0
  5. package/dist/favesalon-embed/buy-giftcard-verification.entry.js +153 -0
  6. package/dist/favesalon-embed/change-password-form.entry.js +10 -3
  7. package/dist/favesalon-embed/chat-box.entry.js +2 -2
  8. package/dist/favesalon-embed/chat-button.entry.js +2 -2
  9. package/dist/favesalon-embed/chat-form.entry.js +2 -2
  10. package/dist/favesalon-embed/chat-messages.entry.js +4 -4
  11. package/dist/favesalon-embed/chat-rooms.entry.js +3 -3
  12. package/dist/favesalon-embed/credit-card-types.entry.js +16 -0
  13. package/dist/favesalon-embed/favesalon-embed.esm.js +1 -1
  14. package/dist/favesalon-embed/{index-00b83e1c.js → index-ac52896a.js} +1 -1
  15. package/dist/favesalon-embed/{lodash-d5526b38.js → lodash-b4fe554a.js} +1 -1
  16. package/dist/favesalon-embed/login-form.entry.js +2 -2
  17. package/dist/favesalon-embed/powered-by-favesalon.entry.js +16 -0
  18. package/dist/favesalon-embed/register-form.entry.js +10 -4
  19. package/dist/favesalon-embed/{relativeTime-268e64b0.js → relativeTime-15477f02.js} +1 -1
  20. package/dist/favesalon-embed/reset-password-form.entry.js +10 -3
  21. package/dist/favesalon-embed/salon-booking.entry.js +2 -2
  22. package/dist/favesalon-embed/salon-gift-card.entry.js +2 -2
  23. package/dist/favesalon-embed/salon-info.entry.js +2 -2
  24. package/dist/favesalon-embed/salon-latest-reviews.entry.js +2 -2
  25. package/dist/favesalon-embed/salon-latest-styles.entry.js +2 -2
  26. package/dist/favesalon-embed/salon-locations.entry.js +2 -2
  27. package/dist/favesalon-embed/salon-lookbook.entry.js +2 -2
  28. package/dist/favesalon-embed/salon-reviews.entry.js +2 -2
  29. package/dist/favesalon-embed/salon-schedules.entry.js +2 -2
  30. package/dist/favesalon-embed/salon-services.entry.js +2 -2
  31. package/dist/favesalon-embed/salon-stylists.entry.js +2 -2
  32. package/dist/favesalon-embed/services-3dd9f820.js +24104 -0
  33. package/dist/favesalon-embed/services-45c0e274.js +24122 -0
  34. package/dist/favesalon-embed/{services-ece4767f.js → services-65861516.js} +333 -167
  35. package/dist/favesalon-embed/services-935ba09f.js +24118 -0
  36. package/dist/favesalon-embed/services-9a686ade.js +24122 -0
  37. package/dist/favesalon-embed/services-baa3f112.js +24123 -0
  38. package/dist/favesalon-embed/style-detail.entry.js +3 -3
  39. package/dist/favesalon-embed/wizard-existing-user.entry.js +146 -0
  40. package/dist/favesalon-embed/wizard-new-user.entry.js +178 -0
  41. package/dist/types/components/buy-giftcard-form/buy-giftcard-form.d.ts +56 -0
  42. package/dist/types/components/buy-giftcard-verification/buy-giftcard-verification.d.ts +21 -0
  43. package/dist/types/components/credit-card-types/credit-card-types.d.ts +4 -0
  44. package/dist/types/components/powered-by-favesalon/powered-by-favesalon.d.ts +4 -0
  45. package/dist/types/components/wizard-existing-user/wizard-existing-user.d.ts +19 -0
  46. package/dist/types/components/wizard-new-user/wizard-new-user.d.ts +23 -0
  47. package/dist/types/components.d.ts +108 -0
  48. package/dist/types/services/services.d.ts +55 -0
  49. package/dist/types/types/giftcard.d.ts +13 -0
  50. package/dist/types/types/salon.d.ts +1 -0
  51. package/package.json +3 -1
@@ -1,32 +1,41 @@
1
- import { c as commonjsGlobal, a as createCommonjsModule } from './_commonjsHelpers-a4f66ccd.js';
1
+ import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers-9bc404fc.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
3
 
4
+ var dayjs_min = createCommonjsModule(function (module, exports) {
5
+ !function(t,e){"object"=='object'&&"undefined"!='object'?module.exports=e():"function"==typeof undefined&&undefined.amd?undefined(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs=e();}(commonjsGlobal,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},D="en",v={};v[D]=M;var p=function(t){return t instanceof _},S=function(t,e,n){var r;if(!t)return D;if("string"==typeof t)v[t]&&(r=t),e&&(v[t]=e,r=t);else {var i=t.name;v[i]=t,r=i;}return !n&&r&&(D=r),r||!n&&D},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var D=this.$locale().weekStart||0,v=(y<D?y+7:y)-D;return $(r?m-v:m+(6-v),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].substr(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,D=O.m(this,M);return D=(l={},l[c]=D/12,l[f]=D,l[h]=D/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?D:O.a(D)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return v[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),b=_.prototype;return w.prototype=b,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=v[D],w.Ls=v,w.p={},w}));
6
+ });
7
+
4
8
  /**
5
- * Checks if `value` is classified as an `Array` object.
9
+ * Checks if `value` is the
10
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
11
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
6
12
  *
7
13
  * @static
8
14
  * @memberOf _
9
15
  * @since 0.1.0
10
16
  * @category Lang
11
17
  * @param {*} value The value to check.
12
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
18
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
13
19
  * @example
14
20
  *
15
- * _.isArray([1, 2, 3]);
21
+ * _.isObject({});
16
22
  * // => true
17
23
  *
18
- * _.isArray(document.body.children);
19
- * // => false
24
+ * _.isObject([1, 2, 3]);
25
+ * // => true
20
26
  *
21
- * _.isArray('abc');
22
- * // => false
27
+ * _.isObject(_.noop);
28
+ * // => true
23
29
  *
24
- * _.isArray(_.noop);
30
+ * _.isObject(null);
25
31
  * // => false
26
32
  */
27
- var isArray$1 = Array.isArray;
33
+ function isObject$2(value) {
34
+ var type = typeof value;
35
+ return value != null && (type == 'object' || type == 'function');
36
+ }
28
37
 
29
- var isArray_1 = isArray$1;
38
+ var isObject_1 = isObject$2;
30
39
 
31
40
  /** Detect free variable `global` from Node.js. */
32
41
  var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
@@ -47,17 +56,17 @@ var Symbol = _root.Symbol;
47
56
  var _Symbol = Symbol;
48
57
 
49
58
  /** Used for built-in method references. */
50
- var objectProto$b = Object.prototype;
59
+ var objectProto$c = Object.prototype;
51
60
 
52
61
  /** Used to check objects for own properties. */
53
- var hasOwnProperty$8 = objectProto$b.hasOwnProperty;
62
+ var hasOwnProperty$9 = objectProto$c.hasOwnProperty;
54
63
 
55
64
  /**
56
65
  * Used to resolve the
57
66
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
58
67
  * of values.
59
68
  */
60
- var nativeObjectToString$1 = objectProto$b.toString;
69
+ var nativeObjectToString$1 = objectProto$c.toString;
61
70
 
62
71
  /** Built-in value references. */
63
72
  var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined;
@@ -70,7 +79,7 @@ var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined;
70
79
  * @returns {string} Returns the raw `toStringTag`.
71
80
  */
72
81
  function getRawTag(value) {
73
- var isOwn = hasOwnProperty$8.call(value, symToStringTag$1),
82
+ var isOwn = hasOwnProperty$9.call(value, symToStringTag$1),
74
83
  tag = value[symToStringTag$1];
75
84
 
76
85
  try {
@@ -92,14 +101,14 @@ function getRawTag(value) {
92
101
  var _getRawTag = getRawTag;
93
102
 
94
103
  /** Used for built-in method references. */
95
- var objectProto$a = Object.prototype;
104
+ var objectProto$b = Object.prototype;
96
105
 
97
106
  /**
98
107
  * Used to resolve the
99
108
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
100
109
  * of values.
101
110
  */
102
- var nativeObjectToString = objectProto$a.toString;
111
+ var nativeObjectToString = objectProto$b.toString;
103
112
 
104
113
  /**
105
114
  * Converts `value` to a string using `Object.prototype.toString`.
@@ -196,6 +205,113 @@ function isSymbol(value) {
196
205
 
197
206
  var isSymbol_1 = isSymbol;
198
207
 
208
+ const timeFormat = 'HH:mm:ss';
209
+ const timeFormatAmPm = 'hh:mm A';
210
+ const dateName = 'dddd';
211
+ const dateFormat = 'YYYY-MM-DD';
212
+ const dateTimeFormat = 'YYYY-MM-DD HH:mm:ss';
213
+ const dateTimeFormatAmPm = 'YYYY-MM-DD hh:mm A';
214
+ const shortDateFormat = 'ddd, MMM DD';
215
+ const shortDateYearFormat = 'ddd, MMM DD YYYY';
216
+ const apiV1Prefix = 'api';
217
+ const apiV2Prefix$1 = 'api-ver2';
218
+ const defaultImage = 'https://res.cloudinary.com/reckon-mini-sites/image/upload/v1636477599/FaveSalon%20Social%20Website/default/default--picture_w3jvfh.png';
219
+
220
+ var BusinessHourStatus;
221
+ (function (BusinessHourStatus) {
222
+ BusinessHourStatus[BusinessHourStatus["Open"] = 0] = "Open";
223
+ BusinessHourStatus[BusinessHourStatus["Close"] = 1] = "Close";
224
+ BusinessHourStatus[BusinessHourStatus["ByAppointment"] = 2] = "ByAppointment";
225
+ })(BusinessHourStatus || (BusinessHourStatus = {}));
226
+ function createSalon(blob) {
227
+ const geoLocations = blob.salon_geolocation || [];
228
+ let salonImages = [];
229
+ if (blob.salon_miniwebsite) {
230
+ const activeSite = Array.isArray(blob.salon_miniwebsite) ? blob.salon_miniwebsite[0] : (blob.salon_miniwebsite || {});
231
+ salonImages = [
232
+ activeSite.full_small_slider_img1,
233
+ activeSite.full_small_slider_img2,
234
+ activeSite.full_small_slider_img3,
235
+ ].filter(image => !!image);
236
+ }
237
+ return {
238
+ id: blob.id,
239
+ about: blob.about,
240
+ email: blob.email,
241
+ ownerName: blob.owner_name,
242
+ fullProfileImage: blob.full_profile_image,
243
+ fullCoverImage: blob.full_cover_image,
244
+ subdomain: blob.subdomain,
245
+ website: blob.website,
246
+ businessName: blob.business_name,
247
+ businessPhone: blob.business_phone,
248
+ businessAddress: blob.business_address,
249
+ businessLocationLat: geoLocations.length > 0 ? geoLocations[0].location_lat : null,
250
+ businessLocationLng: geoLocations.length > 0 ? geoLocations[0].location_lng : null,
251
+ city: blob.city,
252
+ state: blob.state,
253
+ zipcode: blob.zipcode ? Number(blob.zipcode) : null,
254
+ businessHours: (blob.business_hours || blob.salon_working_time || []).map(bh => {
255
+ return {
256
+ dayName: bh.day_name,
257
+ openTime: bh.open_time,
258
+ closeTime: bh.close_time,
259
+ status: bh.status,
260
+ };
261
+ }),
262
+ rating: Number(blob.rating_point),
263
+ primaryColor: blob.primary_color || Colors.Primary,
264
+ salonImages,
265
+ };
266
+ }
267
+ function getSalonImage({ salonImages, fullProfileImage }) {
268
+ if (salonImages && salonImages.length > 0) {
269
+ return salonImages[0];
270
+ }
271
+ if (fullProfileImage) {
272
+ return fullProfileImage;
273
+ }
274
+ return defaultImage;
275
+ }
276
+ function getSalonAddress(salon) {
277
+ const { businessAddress, businessCity, businessState, zipcode, } = salon || {};
278
+ const stateFields = [businessState, zipcode].filter(field => !!field);
279
+ if (businessAddress) {
280
+ return [businessAddress, businessCity]
281
+ .filter(field => !!field)
282
+ .concat(stateFields.length > 0 ? [stateFields.join(' ')] : [])
283
+ .join(', ');
284
+ }
285
+ return null;
286
+ }
287
+
288
+ /**
289
+ * Checks if `value` is classified as an `Array` object.
290
+ *
291
+ * @static
292
+ * @memberOf _
293
+ * @since 0.1.0
294
+ * @category Lang
295
+ * @param {*} value The value to check.
296
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
297
+ * @example
298
+ *
299
+ * _.isArray([1, 2, 3]);
300
+ * // => true
301
+ *
302
+ * _.isArray(document.body.children);
303
+ * // => false
304
+ *
305
+ * _.isArray('abc');
306
+ * // => false
307
+ *
308
+ * _.isArray(_.noop);
309
+ * // => false
310
+ */
311
+ var isArray$1 = Array.isArray;
312
+
313
+ var isArray_1 = isArray$1;
314
+
199
315
  /** Used to match property names within property paths. */
200
316
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
201
317
  reIsPlainProp = /^\w*$/;
@@ -223,38 +339,6 @@ function isKey(value, object) {
223
339
 
224
340
  var _isKey = isKey;
225
341
 
226
- /**
227
- * Checks if `value` is the
228
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
229
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
230
- *
231
- * @static
232
- * @memberOf _
233
- * @since 0.1.0
234
- * @category Lang
235
- * @param {*} value The value to check.
236
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
237
- * @example
238
- *
239
- * _.isObject({});
240
- * // => true
241
- *
242
- * _.isObject([1, 2, 3]);
243
- * // => true
244
- *
245
- * _.isObject(_.noop);
246
- * // => true
247
- *
248
- * _.isObject(null);
249
- * // => false
250
- */
251
- function isObject$2(value) {
252
- var type = typeof value;
253
- return value != null && (type == 'object' || type == 'function');
254
- }
255
-
256
- var isObject_1 = isObject$2;
257
-
258
342
  /** `Object#toString` result references. */
259
343
  var asyncTag = '[object AsyncFunction]',
260
344
  funcTag$1 = '[object Function]',
@@ -352,17 +436,17 @@ var reIsHostCtor = /^\[object .+?Constructor\]$/;
352
436
 
353
437
  /** Used for built-in method references. */
354
438
  var funcProto = Function.prototype,
355
- objectProto$9 = Object.prototype;
439
+ objectProto$a = Object.prototype;
356
440
 
357
441
  /** Used to resolve the decompiled source of functions. */
358
442
  var funcToString = funcProto.toString;
359
443
 
360
444
  /** Used to check objects for own properties. */
361
- var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
445
+ var hasOwnProperty$8 = objectProto$a.hasOwnProperty;
362
446
 
363
447
  /** Used to detect if a method is native. */
364
448
  var reIsNative = RegExp('^' +
365
- funcToString.call(hasOwnProperty$7).replace(reRegExpChar, '\\$&')
449
+ funcToString.call(hasOwnProperty$8).replace(reRegExpChar, '\\$&')
366
450
  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
367
451
  );
368
452
 
@@ -454,10 +538,10 @@ var _hashDelete = hashDelete;
454
538
  var HASH_UNDEFINED$2 = '__lodash_hash_undefined__';
455
539
 
456
540
  /** Used for built-in method references. */
457
- var objectProto$8 = Object.prototype;
541
+ var objectProto$9 = Object.prototype;
458
542
 
459
543
  /** Used to check objects for own properties. */
460
- var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
544
+ var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
461
545
 
462
546
  /**
463
547
  * Gets the hash value for `key`.
@@ -474,16 +558,16 @@ function hashGet(key) {
474
558
  var result = data[key];
475
559
  return result === HASH_UNDEFINED$2 ? undefined : result;
476
560
  }
477
- return hasOwnProperty$6.call(data, key) ? data[key] : undefined;
561
+ return hasOwnProperty$7.call(data, key) ? data[key] : undefined;
478
562
  }
479
563
 
480
564
  var _hashGet = hashGet;
481
565
 
482
566
  /** Used for built-in method references. */
483
- var objectProto$7 = Object.prototype;
567
+ var objectProto$8 = Object.prototype;
484
568
 
485
569
  /** Used to check objects for own properties. */
486
- var hasOwnProperty$5 = objectProto$7.hasOwnProperty;
570
+ var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
487
571
 
488
572
  /**
489
573
  * Checks if a hash value for `key` exists.
@@ -496,7 +580,7 @@ var hasOwnProperty$5 = objectProto$7.hasOwnProperty;
496
580
  */
497
581
  function hashHas(key) {
498
582
  var data = this.__data__;
499
- return _nativeCreate ? (data[key] !== undefined) : hasOwnProperty$5.call(data, key);
583
+ return _nativeCreate ? (data[key] !== undefined) : hasOwnProperty$6.call(data, key);
500
584
  }
501
585
 
502
586
  var _hashHas = hashHas;
@@ -1290,13 +1374,13 @@ function baseIsArguments(value) {
1290
1374
  var _baseIsArguments = baseIsArguments;
1291
1375
 
1292
1376
  /** Used for built-in method references. */
1293
- var objectProto$6 = Object.prototype;
1377
+ var objectProto$7 = Object.prototype;
1294
1378
 
1295
1379
  /** Used to check objects for own properties. */
1296
- var hasOwnProperty$4 = objectProto$6.hasOwnProperty;
1380
+ var hasOwnProperty$5 = objectProto$7.hasOwnProperty;
1297
1381
 
1298
1382
  /** Built-in value references. */
1299
- var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
1383
+ var propertyIsEnumerable$1 = objectProto$7.propertyIsEnumerable;
1300
1384
 
1301
1385
  /**
1302
1386
  * Checks if `value` is likely an `arguments` object.
@@ -1317,7 +1401,7 @@ var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
1317
1401
  * // => false
1318
1402
  */
1319
1403
  var isArguments = _baseIsArguments(function() { return arguments; }()) ? _baseIsArguments : function(value) {
1320
- return isObjectLike_1(value) && hasOwnProperty$4.call(value, 'callee') &&
1404
+ return isObjectLike_1(value) && hasOwnProperty$5.call(value, 'callee') &&
1321
1405
  !propertyIsEnumerable$1.call(value, 'callee');
1322
1406
  };
1323
1407
 
@@ -1449,11 +1533,11 @@ var argsTag$1 = '[object Arguments]',
1449
1533
  dateTag$1 = '[object Date]',
1450
1534
  errorTag$1 = '[object Error]',
1451
1535
  funcTag = '[object Function]',
1452
- mapTag$2 = '[object Map]',
1536
+ mapTag$3 = '[object Map]',
1453
1537
  numberTag$1 = '[object Number]',
1454
1538
  objectTag$2 = '[object Object]',
1455
1539
  regexpTag$1 = '[object RegExp]',
1456
- setTag$2 = '[object Set]',
1540
+ setTag$3 = '[object Set]',
1457
1541
  stringTag$1 = '[object String]',
1458
1542
  weakMapTag$1 = '[object WeakMap]';
1459
1543
 
@@ -1480,9 +1564,9 @@ typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] =
1480
1564
  typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] =
1481
1565
  typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] =
1482
1566
  typedArrayTags[errorTag$1] = typedArrayTags[funcTag] =
1483
- typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] =
1567
+ typedArrayTags[mapTag$3] = typedArrayTags[numberTag$1] =
1484
1568
  typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$1] =
1485
- typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] =
1569
+ typedArrayTags[setTag$3] = typedArrayTags[stringTag$1] =
1486
1570
  typedArrayTags[weakMapTag$1] = false;
1487
1571
 
1488
1572
  /**
@@ -1570,10 +1654,10 @@ var isTypedArray = nodeIsTypedArray ? _baseUnary(nodeIsTypedArray) : _baseIsType
1570
1654
  var isTypedArray_1 = isTypedArray;
1571
1655
 
1572
1656
  /** Used for built-in method references. */
1573
- var objectProto$5 = Object.prototype;
1657
+ var objectProto$6 = Object.prototype;
1574
1658
 
1575
1659
  /** Used to check objects for own properties. */
1576
- var hasOwnProperty$3 = objectProto$5.hasOwnProperty;
1660
+ var hasOwnProperty$4 = objectProto$6.hasOwnProperty;
1577
1661
 
1578
1662
  /**
1579
1663
  * Creates an array of the enumerable property names of the array-like `value`.
@@ -1593,7 +1677,7 @@ function arrayLikeKeys(value, inherited) {
1593
1677
  length = result.length;
1594
1678
 
1595
1679
  for (var key in value) {
1596
- if ((inherited || hasOwnProperty$3.call(value, key)) &&
1680
+ if ((inherited || hasOwnProperty$4.call(value, key)) &&
1597
1681
  !(skipIndexes && (
1598
1682
  // Safari 9 has enumerable `arguments.length` in strict mode.
1599
1683
  key == 'length' ||
@@ -1613,7 +1697,7 @@ function arrayLikeKeys(value, inherited) {
1613
1697
  var _arrayLikeKeys = arrayLikeKeys;
1614
1698
 
1615
1699
  /** Used for built-in method references. */
1616
- var objectProto$4 = Object.prototype;
1700
+ var objectProto$5 = Object.prototype;
1617
1701
 
1618
1702
  /**
1619
1703
  * Checks if `value` is likely a prototype object.
@@ -1624,7 +1708,7 @@ var objectProto$4 = Object.prototype;
1624
1708
  */
1625
1709
  function isPrototype(value) {
1626
1710
  var Ctor = value && value.constructor,
1627
- proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$4;
1711
+ proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$5;
1628
1712
 
1629
1713
  return value === proto;
1630
1714
  }
@@ -1653,10 +1737,10 @@ var nativeKeys = _overArg(Object.keys, Object);
1653
1737
  var _nativeKeys = nativeKeys;
1654
1738
 
1655
1739
  /** Used for built-in method references. */
1656
- var objectProto$3 = Object.prototype;
1740
+ var objectProto$4 = Object.prototype;
1657
1741
 
1658
1742
  /** Used to check objects for own properties. */
1659
- var hasOwnProperty$2 = objectProto$3.hasOwnProperty;
1743
+ var hasOwnProperty$3 = objectProto$4.hasOwnProperty;
1660
1744
 
1661
1745
  /**
1662
1746
  * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
@@ -1671,7 +1755,7 @@ function baseKeys(object) {
1671
1755
  }
1672
1756
  var result = [];
1673
1757
  for (var key in Object(object)) {
1674
- if (hasOwnProperty$2.call(object, key) && key != 'constructor') {
1758
+ if (hasOwnProperty$3.call(object, key) && key != 'constructor') {
1675
1759
  result.push(key);
1676
1760
  }
1677
1761
  }
@@ -2294,10 +2378,10 @@ var COMPARE_PARTIAL_FLAG$4 = 1,
2294
2378
  var boolTag = '[object Boolean]',
2295
2379
  dateTag = '[object Date]',
2296
2380
  errorTag = '[object Error]',
2297
- mapTag$1 = '[object Map]',
2381
+ mapTag$2 = '[object Map]',
2298
2382
  numberTag = '[object Number]',
2299
2383
  regexpTag = '[object RegExp]',
2300
- setTag$1 = '[object Set]',
2384
+ setTag$2 = '[object Set]',
2301
2385
  stringTag = '[object String]',
2302
2386
  symbolTag = '[object Symbol]';
2303
2387
 
@@ -2359,10 +2443,10 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
2359
2443
  // for more details.
2360
2444
  return object == (other + '');
2361
2445
 
2362
- case mapTag$1:
2446
+ case mapTag$2:
2363
2447
  var convert = _mapToArray;
2364
2448
 
2365
- case setTag$1:
2449
+ case setTag$2:
2366
2450
  var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;
2367
2451
  convert || (convert = _setToArray);
2368
2452
 
@@ -2461,10 +2545,10 @@ function stubArray() {
2461
2545
  var stubArray_1 = stubArray;
2462
2546
 
2463
2547
  /** Used for built-in method references. */
2464
- var objectProto$2 = Object.prototype;
2548
+ var objectProto$3 = Object.prototype;
2465
2549
 
2466
2550
  /** Built-in value references. */
2467
- var propertyIsEnumerable = objectProto$2.propertyIsEnumerable;
2551
+ var propertyIsEnumerable = objectProto$3.propertyIsEnumerable;
2468
2552
 
2469
2553
  /* Built-in method references for those with the same name as other `lodash` methods. */
2470
2554
  var nativeGetSymbols = Object.getOwnPropertySymbols;
@@ -2505,10 +2589,10 @@ var _getAllKeys = getAllKeys;
2505
2589
  var COMPARE_PARTIAL_FLAG$3 = 1;
2506
2590
 
2507
2591
  /** Used for built-in method references. */
2508
- var objectProto$1 = Object.prototype;
2592
+ var objectProto$2 = Object.prototype;
2509
2593
 
2510
2594
  /** Used to check objects for own properties. */
2511
- var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
2595
+ var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
2512
2596
 
2513
2597
  /**
2514
2598
  * A specialized version of `baseIsEqualDeep` for objects with support for
@@ -2536,7 +2620,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
2536
2620
  var index = objLength;
2537
2621
  while (index--) {
2538
2622
  var key = objProps[index];
2539
- if (!(isPartial ? key in other : hasOwnProperty$1.call(other, key))) {
2623
+ if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) {
2540
2624
  return false;
2541
2625
  }
2542
2626
  }
@@ -2611,10 +2695,10 @@ var WeakMap$1 = _getNative(_root, 'WeakMap');
2611
2695
  var _WeakMap = WeakMap$1;
2612
2696
 
2613
2697
  /** `Object#toString` result references. */
2614
- var mapTag = '[object Map]',
2698
+ var mapTag$1 = '[object Map]',
2615
2699
  objectTag$1 = '[object Object]',
2616
2700
  promiseTag = '[object Promise]',
2617
- setTag = '[object Set]',
2701
+ setTag$1 = '[object Set]',
2618
2702
  weakMapTag = '[object WeakMap]';
2619
2703
 
2620
2704
  var dataViewTag = '[object DataView]';
@@ -2637,9 +2721,9 @@ var getTag = _baseGetTag;
2637
2721
 
2638
2722
  // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
2639
2723
  if ((_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag) ||
2640
- (_Map && getTag(new _Map) != mapTag) ||
2724
+ (_Map && getTag(new _Map) != mapTag$1) ||
2641
2725
  (_Promise && getTag(_Promise.resolve()) != promiseTag) ||
2642
- (_Set && getTag(new _Set) != setTag) ||
2726
+ (_Set && getTag(new _Set) != setTag$1) ||
2643
2727
  (_WeakMap && getTag(new _WeakMap) != weakMapTag)) {
2644
2728
  getTag = function(value) {
2645
2729
  var result = _baseGetTag(value),
@@ -2649,9 +2733,9 @@ if ((_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag) ||
2649
2733
  if (ctorString) {
2650
2734
  switch (ctorString) {
2651
2735
  case dataViewCtorString: return dataViewTag;
2652
- case mapCtorString: return mapTag;
2736
+ case mapCtorString: return mapTag$1;
2653
2737
  case promiseCtorString: return promiseTag;
2654
- case setCtorString: return setTag;
2738
+ case setCtorString: return setTag$1;
2655
2739
  case weakMapCtorString: return weakMapTag;
2656
2740
  }
2657
2741
  }
@@ -2670,10 +2754,10 @@ var argsTag = '[object Arguments]',
2670
2754
  objectTag = '[object Object]';
2671
2755
 
2672
2756
  /** Used for built-in method references. */
2673
- var objectProto = Object.prototype;
2757
+ var objectProto$1 = Object.prototype;
2674
2758
 
2675
2759
  /** Used to check objects for own properties. */
2676
- var hasOwnProperty = objectProto.hasOwnProperty;
2760
+ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
2677
2761
 
2678
2762
  /**
2679
2763
  * A specialized version of `baseIsEqual` for arrays and objects which performs
@@ -2716,8 +2800,8 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
2716
2800
  : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
2717
2801
  }
2718
2802
  if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
2719
- var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
2720
- othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
2803
+ var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, '__wrapped__'),
2804
+ othIsWrapped = othIsObj && hasOwnProperty$1.call(other, '__wrapped__');
2721
2805
 
2722
2806
  if (objIsWrapped || othIsWrapped) {
2723
2807
  var objUnwrapped = objIsWrapped ? object.value() : object,
@@ -3499,6 +3583,75 @@ var sortBy = _baseRest(function(collection, iteratees) {
3499
3583
 
3500
3584
  var sortBy_1 = sortBy;
3501
3585
 
3586
+ /** `Object#toString` result references. */
3587
+ var mapTag = '[object Map]',
3588
+ setTag = '[object Set]';
3589
+
3590
+ /** Used for built-in method references. */
3591
+ var objectProto = Object.prototype;
3592
+
3593
+ /** Used to check objects for own properties. */
3594
+ var hasOwnProperty = objectProto.hasOwnProperty;
3595
+
3596
+ /**
3597
+ * Checks if `value` is an empty object, collection, map, or set.
3598
+ *
3599
+ * Objects are considered empty if they have no own enumerable string keyed
3600
+ * properties.
3601
+ *
3602
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
3603
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
3604
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
3605
+ *
3606
+ * @static
3607
+ * @memberOf _
3608
+ * @since 0.1.0
3609
+ * @category Lang
3610
+ * @param {*} value The value to check.
3611
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
3612
+ * @example
3613
+ *
3614
+ * _.isEmpty(null);
3615
+ * // => true
3616
+ *
3617
+ * _.isEmpty(true);
3618
+ * // => true
3619
+ *
3620
+ * _.isEmpty(1);
3621
+ * // => true
3622
+ *
3623
+ * _.isEmpty([1, 2, 3]);
3624
+ * // => false
3625
+ *
3626
+ * _.isEmpty({ 'a': 1 });
3627
+ * // => false
3628
+ */
3629
+ function isEmpty$1(value) {
3630
+ if (value == null) {
3631
+ return true;
3632
+ }
3633
+ if (isArrayLike_1(value) &&
3634
+ (isArray_1(value) || typeof value == 'string' || typeof value.splice == 'function' ||
3635
+ isBuffer_1(value) || isTypedArray_1(value) || isArguments_1(value))) {
3636
+ return !value.length;
3637
+ }
3638
+ var tag = _getTag(value);
3639
+ if (tag == mapTag || tag == setTag) {
3640
+ return !value.size;
3641
+ }
3642
+ if (_isPrototype(value)) {
3643
+ return !_baseKeys(value).length;
3644
+ }
3645
+ for (var key in value) {
3646
+ if (hasOwnProperty.call(value, key)) {
3647
+ return false;
3648
+ }
3649
+ }
3650
+ return true;
3651
+ }
3652
+
3653
+ var isEmpty_1 = isEmpty$1;
3654
+
3502
3655
  'use strict';
3503
3656
 
3504
3657
  var bind = function bind(fn, thisArg) {
@@ -5359,75 +5512,6 @@ axios_1.default = _default;
5359
5512
 
5360
5513
  var axios = axios_1;
5361
5514
 
5362
- const timeFormat = 'HH:mm:ss';
5363
- const timeFormatAmPm = 'hh:mm A';
5364
- const dateName = 'dddd';
5365
- const dateFormat = 'YYYY-MM-DD';
5366
- const dateTimeFormat = 'YYYY-MM-DD HH:mm:ss';
5367
- const dateTimeFormatAmPm = 'YYYY-MM-DD hh:mm A';
5368
- const shortDateFormat = 'ddd, MMM DD';
5369
- const shortDateYearFormat = 'ddd, MMM DD YYYY';
5370
- const apiV1Prefix = 'api';
5371
- const apiV2Prefix$1 = 'api-ver2';
5372
- const defaultImage = 'https://res.cloudinary.com/reckon-mini-sites/image/upload/v1636477599/FaveSalon%20Social%20Website/default/default--picture_w3jvfh.png';
5373
-
5374
- var BusinessHourStatus;
5375
- (function (BusinessHourStatus) {
5376
- BusinessHourStatus[BusinessHourStatus["Open"] = 0] = "Open";
5377
- BusinessHourStatus[BusinessHourStatus["Close"] = 1] = "Close";
5378
- BusinessHourStatus[BusinessHourStatus["ByAppointment"] = 2] = "ByAppointment";
5379
- })(BusinessHourStatus || (BusinessHourStatus = {}));
5380
- function createSalon(blob) {
5381
- const geoLocations = blob.salon_geolocation || [];
5382
- let salonImages = [];
5383
- if (blob.salon_miniwebsite) {
5384
- const activeSite = Array.isArray(blob.salon_miniwebsite) ? blob.salon_miniwebsite[0] : (blob.salon_miniwebsite || {});
5385
- salonImages = [
5386
- activeSite.full_small_slider_img1,
5387
- activeSite.full_small_slider_img2,
5388
- activeSite.full_small_slider_img3,
5389
- ].filter(image => !!image);
5390
- }
5391
- return {
5392
- id: blob.id,
5393
- about: blob.about,
5394
- email: blob.email,
5395
- ownerName: blob.owner_name,
5396
- fullProfileImage: blob.full_profile_image,
5397
- fullCoverImage: blob.full_cover_image,
5398
- subdomain: blob.subdomain,
5399
- website: blob.website,
5400
- businessName: blob.business_name,
5401
- businessPhone: blob.business_phone,
5402
- businessAddress: blob.business_address,
5403
- businessLocationLat: geoLocations.length > 0 ? geoLocations[0].location_lat : null,
5404
- businessLocationLng: geoLocations.length > 0 ? geoLocations[0].location_lng : null,
5405
- city: blob.city,
5406
- state: blob.state,
5407
- zipcode: blob.zipcode ? Number(blob.zipcode) : null,
5408
- businessHours: (blob.business_hours || blob.salon_working_time || []).map(bh => {
5409
- return {
5410
- dayName: bh.day_name,
5411
- openTime: bh.open_time,
5412
- closeTime: bh.close_time,
5413
- status: bh.status,
5414
- };
5415
- }),
5416
- rating: Number(blob.rating_point),
5417
- primaryColor: blob.primary_color || Colors.Primary,
5418
- salonImages,
5419
- };
5420
- }
5421
- function getSalonImage({ salonImages, fullProfileImage }) {
5422
- if (salonImages && salonImages.length > 0) {
5423
- return salonImages[0];
5424
- }
5425
- if (fullProfileImage) {
5426
- return fullProfileImage;
5427
- }
5428
- return defaultImage;
5429
- }
5430
-
5431
5515
  /**
5432
5516
  * @license
5433
5517
  * Copyright 2017 Google LLC
@@ -23318,10 +23402,6 @@ const forceRestClient = function (forceRestClient) {
23318
23402
  */
23319
23403
  registerDatabase();
23320
23404
 
23321
- var dayjs_min = createCommonjsModule(function (module, exports) {
23322
- !function(t,e){"object"=='object'&&"undefined"!='object'?module.exports=e():"function"==typeof undefined&&undefined.amd?undefined(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs=e();}(commonjsGlobal,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},D="en",v={};v[D]=M;var p=function(t){return t instanceof _},S=function(t,e,n){var r;if(!t)return D;if("string"==typeof t)v[t]&&(r=t),e&&(v[t]=e,r=t);else {var i=t.name;v[i]=t,r=i;}return !n&&r&&(D=r),r||!n&&D},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var D=this.$locale().weekStart||0,v=(y<D?y+7:y)-D;return $(r?m-v:m+(6-v),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].substr(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,D=O.m(this,M);return D=(l={},l[c]=D/12,l[f]=D,l[h]=D/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?D:O.a(D)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return v[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),b=_.prototype;return w.prototype=b,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=v[D],w.Ls=v,w.p={},w}));
23323
- });
23324
-
23325
23405
  function createService(blob) {
23326
23406
  const photos = (blob.photo_link || []).map(photo => {
23327
23407
  return {
@@ -23588,6 +23668,28 @@ function createChatRoom(blob) {
23588
23668
  });
23589
23669
  }
23590
23670
 
23671
+ class GiftCardStyle {
23672
+ }
23673
+ class GiftCardSettings {
23674
+ }
23675
+ function createGiftCardSettings(blob) {
23676
+ return {
23677
+ isMagensaPayment: false,
23678
+ acceptCustomAmount: Boolean(blob.accept_custom_amount),
23679
+ acceptPaymentOnline: Boolean(blob.accept_payment_online),
23680
+ giftCardTerms: blob.gift_card_terms,
23681
+ giftCardStyles: blob.gift_card_styles.map((style, idx) => {
23682
+ return { id: `${style.id}-${idx + 1}`, imageUrl: style.image_url };
23683
+ }),
23684
+ recommendAmounts: [
23685
+ blob.recommend_amount1,
23686
+ blob.recommend_amount2,
23687
+ blob.recommend_amount3,
23688
+ blob.recommend_amount4,
23689
+ ],
23690
+ };
23691
+ }
23692
+
23591
23693
  const apiV2Prefix = 'api-ver2';
23592
23694
  const firebaseMessagesNode = 'favesalon--messages';
23593
23695
  class HttpService {
@@ -23923,7 +24025,71 @@ class HttpService {
23923
24025
  }
23924
24026
  return Promise.reject();
23925
24027
  }
24028
+ loginByPhoneCode(options) {
24029
+ const url = `${apiV2Prefix}/user/login-by-sms`;
24030
+ return this.http.post(url, options)
24031
+ .then(response => {
24032
+ const status = get_1(response, 'data.status', false);
24033
+ const userBlob = get_1(response, 'data.data', null);
24034
+ if (status && userBlob) {
24035
+ const userEntity = createUser(userBlob);
24036
+ return Promise.resolve(userEntity);
24037
+ }
24038
+ return Promise.reject(response);
24039
+ });
24040
+ }
24041
+ createAccount(options) {
24042
+ const url = `${apiV2Prefix}/user/create`;
24043
+ return this.http.post(url, options)
24044
+ .then(response => {
24045
+ const status = get_1(response, 'data.status', false);
24046
+ const userBlob = get_1(response, 'data.data', {});
24047
+ if (status && !userBlob.errors) {
24048
+ return Promise.resolve(createUser(userBlob));
24049
+ }
24050
+ return Promise.reject(response);
24051
+ });
24052
+ }
24053
+ activateUserAccount({ email, code }) {
24054
+ const url = `${apiV2Prefix}/user/active?email=${email}&code=${code}`;
24055
+ return this.http.get(url)
24056
+ .then(response => {
24057
+ const status = get_1(response, 'data.status', false);
24058
+ const userBlob = get_1(response, 'data.data', {});
24059
+ if (status && userBlob) {
24060
+ const userEntity = createUser(userBlob);
24061
+ return Promise.resolve(userEntity);
24062
+ }
24063
+ return Promise.reject(response);
24064
+ });
24065
+ }
24066
+ sendLoginCode(phone, salonId) {
24067
+ const url = `${apiV2Prefix}/login-verify?phone_number=${phone}&type=login-by-sms${salonId ? `&salon_id=${salonId}` : ''}`;
24068
+ return this.http.get(url);
24069
+ }
24070
+ fetchGiftCardSettings(salonId) {
24071
+ const url = `${apiV1Prefix}/salon/giftcard/setting/${salonId}`;
24072
+ return this.http.get(url)
24073
+ .then(response => {
24074
+ const blob = get_1(response, 'data.data', {});
24075
+ return {
24076
+ ...createGiftCardSettings(blob),
24077
+ isMagensaPayment: salonId === 49989,
24078
+ };
24079
+ })
24080
+ .catch(() => (null));
24081
+ }
24082
+ fetchSalonClientInfo(salonId, mobilePhone) {
24083
+ const url = `${apiV2Prefix}/salon/${salonId}/client-info?phone_number=${mobilePhone}`;
24084
+ return this.http.get(url)
24085
+ .then(response => {
24086
+ const status = get_1(response, 'data.status', false);
24087
+ const blob = get_1(response, 'data.data', []);
24088
+ return Promise.resolve(status && !blob.errors && !isEmpty_1(blob) ? createUser(blob) : {});
24089
+ })
24090
+ .catch(() => ({}));
24091
+ }
23926
24092
  }
23927
24093
  const HttpService$1 = () => new HttpService();
23928
24094
 
23929
- export { BusinessHourStatus as B, HttpService$1 as H, sortBy_1 as a, dayjs_min as d, getSalonImage as g, isVideoMedia as i, shortDateYearFormat as s, timeFormatAmPm as t };
24095
+ export { BusinessHourStatus as B, HttpService$1 as H, _root as _, isObject_1 as a, getSalonAddress as b, shortDateYearFormat as c, dayjs_min as d, sortBy_1 as e, isVideoMedia as f, getSalonImage as g, get_1 as h, isSymbol_1 as i, shortDateFormat as s, timeFormatAmPm as t };