favesalon-embed 1.0.11 → 1.0.13

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 (29) hide show
  1. package/dist/favesalon-embed/activate-form.entry.js +1 -1
  2. package/dist/favesalon-embed/change-password-form.entry.js +1 -1
  3. package/dist/favesalon-embed/chat-box.entry.js +2 -3
  4. package/dist/favesalon-embed/chat-button.entry.js +4 -5
  5. package/dist/favesalon-embed/chat-form.entry.js +19 -4
  6. package/dist/favesalon-embed/chat-messages.entry.js +34 -6
  7. package/dist/favesalon-embed/chat-rooms.entry.js +1 -1
  8. package/dist/favesalon-embed/favesalon-embed.esm.js +1 -1
  9. package/dist/favesalon-embed/login-form.entry.js +1 -1
  10. package/dist/favesalon-embed/notify-sounds.entry.js +1 -1
  11. package/dist/favesalon-embed/register-form.entry.js +1 -1
  12. package/dist/favesalon-embed/reset-password-form.entry.js +1 -1
  13. package/dist/favesalon-embed/salon-info.entry.js +1 -1
  14. package/dist/favesalon-embed/salon-latest-reviews.entry.js +1 -1
  15. package/dist/favesalon-embed/salon-latest-styles.entry.js +1 -1
  16. package/dist/favesalon-embed/salon-locations.entry.js +1 -1
  17. package/dist/favesalon-embed/salon-lookbook.entry.js +1 -1
  18. package/dist/favesalon-embed/salon-reviews.entry.js +1 -1
  19. package/dist/favesalon-embed/salon-schedules.entry.js +1 -1
  20. package/dist/favesalon-embed/salon-services.entry.js +1 -1
  21. package/dist/favesalon-embed/salon-stylists.entry.js +1 -1
  22. package/dist/favesalon-embed/{services-d71be591.js → services-ece4767f.js} +10 -0
  23. package/dist/favesalon-embed/style-detail.entry.js +1 -1
  24. package/dist/types/components/chat-form/index.d.ts +1 -0
  25. package/dist/types/components/chat-messages/index.d.ts +3 -0
  26. package/dist/types/services/services.d.ts +1 -0
  27. package/package.json +1 -1
  28. package/dist/favesalon-embed/app-globals-0acc05ce.js +0 -7
  29. package/dist/favesalon-embed/index-08aeafb8.js +0 -3371
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const activateFormCss = ".form--user-activate-account .form--login-label{cursor:pointer;display:block;margin-bottom:6px}.form--user-activate-account input,.form--user-activate-account button{border:1px solid #cecece;box-sizing:border-box;display:inline-block;width:100%;padding:4px 11px;min-height:40px;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px}.form--user-activate-account button{background-color:#001529;border:1px solid #001529;color:#fff;cursor:pointer}.form--user-activate-account button.btn--default{background-color:#fff;border:1px solid #F5F5F5;color:#141414}.form--user-activate-account button:disabled{background-color:#cecece;border:1px solid #cecece;color:#212121}";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const changePasswordFormCss = ".form--user-change-password .form--login-label{cursor:pointer;display:block;margin-bottom:6px}.form--user-change-password input,.form--user-change-password button{border:1px solid #cecece;box-sizing:border-box;display:inline-block;width:100%;padding:4px 11px;min-height:40px;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px}.form--user-change-password button{background-color:#001529;border:1px solid #001529;color:#fff;cursor:pointer}.form--user-change-password button.btn--default{background-color:#fff;border:1px solid #F5F5F5;color:#141414}.form--user-change-password button:disabled{background-color:#cecece;border:1px solid #cecece;color:#212121}";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const indexCss = ".chat-widget,.chat-widget--sidebar,.chat-widget--content{display:flex;height:100%;width:100%}.chat-widget{font-size:16px;position:relative;font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chat-widget--sidebar,.chat-widget--content{background-color:#fff;border:1px solid #EFEFEF;position:absolute;inset:0;flex-direction:column}.chat-widget .chat-widget--sidebar{z-index:10}.chat-widget .chat-widget--content{z-index:5}.chat-widget.has-chat-room .chat-widget--content{z-index:10}.chat-widget--content-header{background-color:#001529;border-bottom:1px solid #EFEFEF;display:flex;align-items:center;justify-content:space-between;padding:16px}.chat-widget--content-title{font-size:20px;font-weight:600;line-height:1;margin:0}.chat-widget--content-close{border:1px solid #fff;cursor:pointer;display:block;position:absolute;z-index:1000;top:50%;right:0;width:30px;height:30px;transform:translate(0, -50%);-moz-border-radius:30px;-webkit-border-radius:30px;border-radius:30px;background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}@media (min-width: 992px){.chat-widget--sidebar,.chat-widget--content{position:static;width:auto;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.chat-widget--sidebar{min-width:320px;max-width:320px;margin-right:24px}.chat-widget--content{flex-grow:1;flex-shrink:1}.chat-rooms--search,.chat-widget--content-header{-moz-border-radius:8px 8px 0 0;-webkit-border-radius:8px 8px 0 0;border-radius:8px 8px 0 0}}";
@@ -45,8 +45,7 @@ const ChatBox = class {
45
45
  return (h("div", { class: `chat-widget ${this.activeRoom ? 'has-chat-room' : ''}` }, h("div", { class: "chat-widget--sidebar" }, h("chat-rooms", { "access-token": this.accessToken, "salon-id": Number(this.salonId), "sender-id": Number(this.senderId), activeRoom: this.activeRoom, chatRooms: this.chatRooms, onClickRoom: this.onClickRoom })), h("div", { class: "chat-widget--content" }, receiverInfo && (h("div", { class: "chat-widget--content-header" }, h("user-avatar", { size: 40, avatar: receiverInfo.avatar, name: h("div", { class: "chat-room--user-name", style: { color: '#fff' } }, receiverInfo.fullName), shortName: String(receiverInfo.fullName || '').charAt(0) }), h("div", { style: { position: 'relative' } }, h("div", { class: "chat-widget--content-close", onClick: () => this.onClickRoom(null) })))), h("div", { style: {
46
46
  flexShrink: '1',
47
47
  flexGrow: '1',
48
- overflowY: 'auto',
49
- padding: '16px',
48
+ position: 'relative',
50
49
  } }, this.activeRoom && (h("chat-messages", { sender: senderInfo, receiver: receiverInfo, messages: this.activeRoom.messages || [], "chat-room-id": this.activeRoom.uid })), !this.activeRoom && (h("div", { style: { paddingTop: '72px', textAlign: 'center' } }, h("div", { class: "chat-widget--content-title" }, "Welcome back!"), h("div", { style: { marginTop: "12px" } }, "Select any user in left hand side to get started.")))), this.activeRoom && (h("div", { style: { borderTop: `1px solid ${Colors.Gray02}` } }, h("chat-form", { "sender-id": Number(senderInfo.id), "chat-room-id": this.activeRoom.uid }))))));
51
50
  }
52
51
  };
@@ -1,9 +1,9 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
- const indexCss = "@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap'); chat-button{display:block;position:relative}.chat-button--indicator{cursor:pointer;position:absolute;inset:0}.chat-button--counter{background-color:rgb(240, 90, 97);border:1px solid rgb(255, 255, 255);position:absolute;right:6px;top:0px;height:8px;width:8px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.chat-box{font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px;-moz-box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;-webkit-box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;background-color:#fff;display:flex;flex-direction:column;position:fixed;right:1px;bottom:0px;z-index:20000;font-size:16px;text-align:left;color:#141414;width:80vw;height:480px;max-height:80vh}.chat-box--header{display:flex;justify-content:space-between;padding:16px;position:relative;-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px}.chat-box--title{color:#fff;font-size:24px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:space-between;margin:0}.chat-box--close:hover{opacity:0.85}.chat-box--close{cursor:pointer;display:block;position:absolute;z-index:1000;top:50%;right:0;width:40px;height:40px;transform:translate(0, -50%);background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.chat-box--help{font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:fixed;right:16px;bottom:16px;z-index:20000}.chat-box--help-icon{background-color:rgba(0, 21, 41, 1);cursor:pointer;color:#fff;height:50px;width:50px;display:flex;align-items:center;justify-content:center;-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px}.chat-box--help-icon:hover{background-color:rgba(0, 21, 41, 0.85)}.chat-box--help-icon svg{height:30px;width:30px}.chat-box--help-close:hover{opacity:0.85}.chat-box--help-close{cursor:pointer;display:block;position:absolute;z-index:1000;top:6px;right:6px;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.chat-box--help-content-wrapper{background-color:#fff;border:1px solid #f5f5f5;width:290px;padding:24px;position:absolute;bottom:100%;right:-8px;margin-bottom:16px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-moz-box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px;-webkit-box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px;box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px}.chat-box--help-content{cursor:pointer;display:flex;align-items:center}.chat-box--help-content:hover{opacity:0.85}.chat-box--help-content:before{content:' ';position:absolute;top:100%;right:22px;border-style:solid;border-width:10px;border-color:#f5f5f5 transparent transparent transparent}.chat-box--help-content:after{content:' ';position:absolute;margin-top:-1px;top:100%;right:22px;border-style:solid;border-width:10px;border-color:#fff transparent transparent transparent}.chat-box--help-avatar{margin-right:16px;height:48px;min-width:48px;max-width:48px;overflow:hidden;-moz-border-radius:48px;-webkit-border-radius:48px;border-radius:48px}.chat-box--help-avatar img{height:100%;width:100%;object-fit:cover}.chat-box--help-text{color:#141414;font-size:16px;line-height:1.3;text-align:left}@media (min-width: 768px){.chat-box{border:1px solid #fff;height:480px;max-height:90vh;width:560px}.chat-box--header{-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px}}";
6
+ const indexCss = "@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap'); chat-button{display:block;position:relative}.chat-button--indicator{cursor:pointer;position:absolute;inset:0}.chat-button--counter{background-color:rgb(240, 90, 97);border:1px solid rgb(255, 255, 255);position:absolute;right:6px;top:0px;height:8px;width:8px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.chat-box{font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px;-moz-box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;-webkit-box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;background-color:#fff;display:flex;flex-direction:column;position:fixed;right:1px;bottom:0px;z-index:20000;font-size:16px;text-align:left;color:#141414;width:80vw;height:480px;max-height:80vh}.chat-box--header{display:flex;justify-content:space-between;padding:16px;position:relative;-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px}.chat-box--title{color:#fff;font-size:24px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:space-between;margin:0}.chat-box--close:hover{opacity:0.85}.chat-box--close{cursor:pointer;display:block;position:absolute;z-index:1000;top:50%;right:0;width:40px;height:40px;transform:translate(0, -50%);background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.chat-box--help{font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:fixed;right:16px;bottom:80px;z-index:20000}.chat-box--help-icon{background-color:rgba(0, 21, 41, 1);cursor:pointer;color:#fff;height:50px;width:50px;display:flex;align-items:center;justify-content:center;-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px}.chat-box--help-icon:hover{background-color:rgba(0, 21, 41, 0.85)}.chat-box--help-icon svg{height:30px;width:30px}.chat-box--help-close:hover{opacity:0.85}.chat-box--help-close{cursor:pointer;display:block;position:absolute;z-index:1000;top:6px;right:6px;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.chat-box--help-content-wrapper{background-color:#fff;border:1px solid #f5f5f5;width:200px;padding:20px;position:absolute;bottom:100%;right:-8px;margin-bottom:16px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-moz-box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px;-webkit-box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px;box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px}.chat-box--help-content{cursor:pointer;display:flex;align-items:center}.chat-box--help-content:hover{opacity:0.85}.chat-box--help-content:before{content:' ';position:absolute;top:100%;right:22px;border-style:solid;border-width:10px;border-color:#f5f5f5 transparent transparent transparent}.chat-box--help-content:after{content:' ';position:absolute;margin-top:-1px;top:100%;right:22px;border-style:solid;border-width:10px;border-color:#fff transparent transparent transparent}.chat-box--help-avatar{margin-right:16px;height:48px;min-width:48px;max-width:48px;overflow:hidden;-moz-border-radius:48px;-webkit-border-radius:48px;border-radius:48px}.chat-box--help-avatar img{height:100%;width:100%;object-fit:cover}.chat-box--help-text{color:#141414;font-size:16px;line-height:1.3;text-align:left}@media (min-width: 768px){.chat-box{border:1px solid #fff;height:480px;max-height:90vh;width:560px}.chat-box--header{-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px}.chat-box--help{bottom:96px}}@media (min-width: 1024px){.chat-box--help{bottom:24px}}";
7
7
 
8
8
  const ChatButton = class {
9
9
  constructor(hostRef) {
@@ -79,8 +79,7 @@ const ChatButton = class {
79
79
  } }, h("h3", { class: "chat-box--title" }, "Chat"), h("div", { style: { position: 'relative' } }, h("div", { class: "chat-box--close", onClick: () => this.isChatExpanded = false }))), h("div", { style: {
80
80
  flexShrink: '1',
81
81
  flexGrow: '1',
82
- overflowY: 'auto',
83
- padding: '16px',
82
+ position: 'relative',
84
83
  } }, h("chat-messages", { sender: this.senderInfo, receiver: this.receiverInfo, messages: this.chatMessages || [], "chat-room-id": this.chatRoom.uid })), h("div", { style: { borderTop: `1px solid ${Colors.Gray02}` } }, h("chat-form", { "sender-id": this.senderInfo.id ? Number(this.senderInfo.id) : null, "chat-room-id": this.chatRoom.uid })))));
85
84
  }
86
85
  if (this.isChatVerificationExpanded) {
@@ -93,7 +92,7 @@ const ChatButton = class {
93
92
  padding: '16px',
94
93
  } }, h("user-form", { onSuccess: user => this.onVerificationSuccess(user) })))));
95
94
  }
96
- return (h("div", null, h("div", { class: "chat-button--indicator", onClick: () => this.onClickChat() }), h("div", { class: "chat-box--help" }, h("div", { class: "chat-box--help-icon", onClick: () => this.onClickChat() }, h("svg", { width: "64", height: "64", viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M5.33325 23.9833C5.33325 15.156 12.4707 8 21.335 8H42.6647C51.5023 8 58.6666 15.1861 58.6666 23.9833V56H21.335C12.4975 56 5.33325 48.8139 5.33325 40.0168V23.9833ZM53.3333 50.6667V23.9833C53.3333 18.121 48.5463 13.3333 42.6647 13.3333H21.335C15.4255 13.3333 10.6666 18.0922 10.6666 23.9833V40.0168C10.6666 45.8789 15.4536 50.6667 21.335 50.6667H53.3333ZM37.3333 29.3333H42.6666V34.6667H37.3333V29.3333ZM21.3333 29.3333H26.6666V34.6667H21.3333V29.3333Z", fill: "currentColor" }))), this.isChatHelpVisible && (h("div", { class: "chat-box--help-content-wrapper" }, h("div", { class: "chat-box--help-close", onClick: () => this.isChatHelpVisible = false }), h("div", { class: "chat-box--help-content", onClick: () => this.onClickChat() }, this.receiverAvatar && (h("div", { class: "chat-box--help-avatar" }, h("img", { src: this.receiverAvatar }))), h("div", { class: "chat-box--help-text" }, "Hi there, have a question? Text us here.")))))));
95
+ return (h("div", null, h("div", { class: "chat-button--indicator", onClick: () => this.onClickChat() }), h("div", { class: "chat-box--help" }, h("div", { class: "chat-box--help-icon", onClick: () => this.onClickChat() }, h("svg", { width: "64", height: "64", viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M5.33325 23.9833C5.33325 15.156 12.4707 8 21.335 8H42.6647C51.5023 8 58.6666 15.1861 58.6666 23.9833V56H21.335C12.4975 56 5.33325 48.8139 5.33325 40.0168V23.9833ZM53.3333 50.6667V23.9833C53.3333 18.121 48.5463 13.3333 42.6647 13.3333H21.335C15.4255 13.3333 10.6666 18.0922 10.6666 23.9833V40.0168C10.6666 45.8789 15.4536 50.6667 21.335 50.6667H53.3333ZM37.3333 29.3333H42.6666V34.6667H37.3333V29.3333ZM21.3333 29.3333H26.6666V34.6667H21.3333V29.3333Z", fill: "currentColor" }))), this.isChatHelpVisible && (h("div", { class: "chat-box--help-content-wrapper" }, h("div", { class: "chat-box--help-close", onClick: () => this.isChatHelpVisible = false }), h("div", { class: "chat-box--help-content", onClick: () => this.onClickChat() }, this.receiverAvatar && (h("div", { class: "chat-box--help-avatar" }, h("img", { src: this.receiverAvatar }))), h("div", { class: "chat-box--help-text" }, "Chat with us")))))));
97
96
  }
98
97
  return null;
99
98
  }
@@ -1,13 +1,27 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
- import { H as HttpService } from './services-d71be591.js';
3
- import './_commonjsHelpers-a4f66ccd.js';
2
+ import { d as dayjs_min, H as HttpService } from './services-ece4767f.js';
3
+ import { a as createCommonjsModule, c as commonjsGlobal } from './_commonjsHelpers-a4f66ccd.js';
4
4
  import './colors-ea36347a.js';
5
5
 
6
- const indexCss = ".chat-form{display:flex;height:56px;width:100%}.chat-form #chat-form--input{border:none;outline:none;flex-shrink:1;flex-grow:1;height:100%;font-size:16px;padding-left:16px;padding-right:16px;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px}.chat-form>button{background-color:#001529;border:none;color:#fff;cursor:pointer;font-size:16px;min-width:80px;height:42px;margin:7px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.chat-form>button:hover,.chat-form>button:focus,.chat-form>button:active{background-color:#001529}";
6
+ var utc = createCommonjsModule(function (module, exports) {
7
+ !function(t,i){"object"=='object'&&"undefined"!='object'?module.exports=i():"function"==typeof undefined&&undefined.amd?undefined(i):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i();}(commonjsGlobal,(function(){"use strict";var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&null===(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s)))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
8
+ });
7
9
 
10
+ const indexCss = ".chat-form{display:flex;width:100%}.chat-form #chat-form--input{background:none;border:none;outline:none;flex-shrink:1;flex-grow:1;height:100%;font-size:16px;padding:8px 16px;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;resize:none}.chat-form>button{background-color:#001529;border:none;color:#fff;cursor:pointer;font-size:16px;min-width:80px;height:42px;margin:7px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.chat-form>button:hover,.chat-form>button:focus,.chat-form>button:active{background-color:#001529}";
11
+
12
+ dayjs_min.extend(utc);
8
13
  const ChatForm = class {
9
14
  constructor(hostRef) {
10
15
  registerInstance(this, hostRef);
16
+ this.updateChatroomInfo = async () => {
17
+ try {
18
+ const options = {
19
+ last_update: dayjs_min().utc().format('YYYY-MM-DD hh:mm:ssZZ'),
20
+ };
21
+ await HttpService().updateChatroomInfo(this.chatRoomId, options);
22
+ }
23
+ catch (e) { }
24
+ };
11
25
  this.onSubmitMessage = async () => {
12
26
  try {
13
27
  const elNewMessage = document.getElementById('chat-form--input');
@@ -17,6 +31,7 @@ const ChatForm = class {
17
31
  senderId: this.senderId,
18
32
  chatRoomId: this.chatRoomId,
19
33
  });
34
+ await this.updateChatroomInfo();
20
35
  elNewMessage.value = '';
21
36
  }
22
37
  }
@@ -26,7 +41,7 @@ const ChatForm = class {
26
41
  this.chatRoomId = undefined;
27
42
  }
28
43
  render() {
29
- return (h("div", { class: "chat-form" }, h("input", { id: "chat-form--input", type: "text", placeholder: "Enter a message...", onKeyPress: (evt) => {
44
+ return (h("div", { class: "chat-form" }, h("textarea", { id: "chat-form--input", placeholder: "Enter a message...", onKeyPress: (evt) => {
30
45
  if (evt.key === 'Enter') {
31
46
  evt.preventDefault();
32
47
  this.onSubmitMessage();
@@ -1,11 +1,11 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
- import { d as dayjs_min, H as HttpService, t as timeFormatAmPm } from './services-d71be591.js';
2
+ import { d as dayjs_min, H as HttpService, t as timeFormatAmPm } from './services-ece4767f.js';
3
3
  import { l as lodash } from './lodash-d5526b38.js';
4
4
  import { C as Colors } from './colors-ea36347a.js';
5
5
  import { r as relativeTime } from './relativeTime-268e64b0.js';
6
6
  import './_commonjsHelpers-a4f66ccd.js';
7
7
 
8
- const indexCss = ".chat-message{overflow:hidden;clear:both;min-width:240px}.chat-message+.chat-message{margin-top:6px}.chat-message--meta{display:flex}.chat-message--title{background-color:#F1F1F1;padding:8px 12px;position:relative;float:left;margin-top:6px;-moz-border-radius:0 10px 10px 10px;-webkit-border-radius:0 10px 10px 10px;border-radius:0 10px 10px 10px}.chat-message--time{clear:both;color:#999;font-size:75%;padding-top:2px}.chat-message.is-owner .chat-message--content{margin-left:12px}.chat-message.is-guest .chat-message--meta{flex-direction:row-reverse}.chat-message.is-guest .chat-message--title{background-color:#EFF7FF;float:right;margin-right:12px;text-align:right;-moz-border-radius:10px 0 10px 10px;-webkit-border-radius:10px 0 10px 10px;border-radius:10px 0 10px 10px}";
8
+ const indexCss = ".chat--last-message--scroll-btn{background-color:rgba(0, 21, 41, 0.25);cursor:pointer;position:fixed;right:16px;bottom:72px;height:40px;width:40px;display:flex;align-items:center;justify-content:center;-moz-border-radius:40px;-webkit-border-radius:40px;border-radius:40px}.chat--last-message--scroll-btn:hover{background-color:rgba(0, 21, 41, 0.35)}.chat-message{overflow:hidden;clear:both;min-width:240px}.chat-message+.chat-message{margin-top:6px}.chat-message--meta{display:flex}.chat-message--title{background-color:#F1F1F1;padding:8px 12px;position:relative;float:left;margin-top:6px;-moz-border-radius:0 10px 10px 10px;-webkit-border-radius:0 10px 10px 10px;border-radius:0 10px 10px 10px}.chat-message--time{clear:both;color:#999;font-size:75%;padding-top:2px}.chat-message.is-owner user-avatar{margin-right:12px}.chat-message.is-guest user-avatar{margin-left:12px}.chat-message.is-guest .chat-message--meta{flex-direction:row-reverse}.chat-message.is-guest .chat-message--title{background-color:#EFF7FF;float:right;text-align:right;-moz-border-radius:10px 0 10px 10px;-webkit-border-radius:10px 0 10px 10px;border-radius:10px 0 10px 10px}";
9
9
 
10
10
  dayjs_min.extend(relativeTime);
11
11
  const ChatMessages = class {
@@ -29,23 +29,48 @@ const ChatMessages = class {
29
29
  this.renderMessage = (chatMessage) => {
30
30
  const { message, senderId, timestamp } = chatMessage;
31
31
  const isOwner = this.sender.id === senderId;
32
- return (h("div", { class: `chat-message ${isOwner ? 'is-guest' : 'is-owner'}` }, h("div", { class: "chat-message--meta" }, h("user-avatar", { size: 40, shortName: String(((isOwner ? this.sender : this.receiver) || {}).fullName || '').charAt(0), avatar: ((isOwner ? this.sender : this.receiver) || {}).avatar }), h("div", { class: "chat-message--content" }, h("div", { class: "chat-message--title" }, message), timestamp && (h("div", { class: "chat-message--time" }, dayjs_min(timestamp).format(timeFormatAmPm)))))));
32
+ return (h("div", { class: `chat-message ${isOwner ? 'is-guest' : 'is-owner'}` }, h("div", { class: "chat-message--meta" }, !isOwner && (h("user-avatar", { size: 40, shortName: String((this.receiver || {}).fullName || '').charAt(0), avatar: (this.receiver || {}).avatar })), h("div", { class: "chat-message--content" }, h("div", { class: "chat-message--title" }, message), timestamp && (h("div", { class: "chat-message--time" }, dayjs_min(timestamp).format(timeFormatAmPm)))))));
33
33
  };
34
34
  this.sender = {};
35
35
  this.receiver = {};
36
36
  this.messages = [];
37
37
  this.chatRoomId = undefined;
38
+ this.messagesLength = undefined;
39
+ this.isScrollIconVisible = undefined;
38
40
  }
39
41
  componentDidLoad() {
42
+ this.messagesLength = (this.messages || []).length;
40
43
  this.markMessagesAsRead();
44
+ this.scrollToLastMessage();
41
45
  }
42
46
  componentDidUpdate() {
43
- this.scrollToLastMessage();
47
+ const newMessagesLength = (this.messages || []).length;
48
+ if (newMessagesLength !== this.messagesLength) {
49
+ this.messagesLength = newMessagesLength;
50
+ this.scrollToLastMessage();
51
+ }
52
+ }
53
+ onScroll(evt) {
54
+ const { scrollHeight, clientHeight, scrollTop } = evt.target || {};
55
+ const scrollSpace = (scrollHeight || 0) - (clientHeight || 0) - (scrollTop || 0);
56
+ if (scrollSpace > (clientHeight || 0)) {
57
+ if (!this.isScrollIconVisible) {
58
+ this.isScrollIconVisible = true;
59
+ }
60
+ }
61
+ else {
62
+ this.isScrollIconVisible = false;
63
+ }
44
64
  }
45
65
  render() {
46
66
  const isEmpty = (this.messages || []).length === 0;
47
67
  const chatMessagesMapping = lodash.groupBy((this.messages || []), m => m.dateName);
48
- return (h("div", { class: "chat-messages" }, !isEmpty && (h("div", null, lodash.keys(chatMessagesMapping).map(dateName => {
68
+ return (h("div", { onScroll: evt => this.onScroll(evt), class: "chat-messages", style: {
69
+ overflowY: 'auto',
70
+ padding: '16px',
71
+ position: 'absolute',
72
+ inset: '0',
73
+ } }, !isEmpty && (h("div", null, lodash.keys(chatMessagesMapping).map(dateName => {
49
74
  return (h("div", null, h("div", { style: {
50
75
  backgroundColor: Colors.Gray01,
51
76
  position: 'relative',
@@ -63,7 +88,10 @@ const ChatMessages = class {
63
88
  paddingRight: '4px',
64
89
  marginTop: '-2px',
65
90
  } }, dateName)), h("div", null, (chatMessagesMapping[dateName] || []).map(this.renderMessage))));
66
- }))), isEmpty && (h("div", { style: { padding: '48px', textAlign: 'center' } }, h("div", { style: { color: Colors.Green04 } }, "No messages yet"))), h("div", { id: "chat--last-message" })));
91
+ }))), isEmpty && (h("div", { style: { padding: '48px', textAlign: 'center' } }, h("div", { style: { color: Colors.Green04 } }, "No messages yet"))), h("div", { id: "chat--last-message" }), this.isScrollIconVisible && (h("div", { class: "chat--last-message--scroll-btn", onClick: () => this.scrollToLastMessage() }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: {
92
+ height: '24px',
93
+ width: '24px',
94
+ } }, h("path", { d: "M13.0001 16.1716L18.3641 10.8076L19.7783 12.2218L12.0001 20L4.22192 12.2218L5.63614 10.8076L11.0001 16.1716V4H13.0001V16.1716Z" }))))));
67
95
  }
68
96
  };
69
97
  ChatMessages.style = indexCss;
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { l as lodash } from './lodash-d5526b38.js';
3
3
  import { C as Colors } from './colors-ea36347a.js';
4
- import { H as HttpService } from './services-d71be591.js';
4
+ import { H as HttpService } from './services-ece4767f.js';
5
5
  import { f as formatPhoneNumber } from './utils-fd30fb29.js';
6
6
  import './_commonjsHelpers-a4f66ccd.js';
7
7
 
@@ -144,5 +144,5 @@ const patchCloneNodeFix = (HTMLElementPrototype) => {
144
144
 
145
145
  patchBrowser().then(options => {
146
146
  globalScripts();
147
- return bootstrapLazy([["chat-button",[[0,"chat-button",{"primaryColor":[1,"primary-color"],"receiverId":[1,"receiver-id"],"receiverAvatar":[1,"receiver-avatar"],"accessToken":[1,"access-token"],"senderId":[1,"sender-id"],"senderIdState":[32],"accessTokenState":[32],"senderInfo":[32],"receiverInfo":[32],"chatRoom":[32],"chatMessages":[32],"isChatIconVisible":[32],"isChatHelpVisible":[32],"isChatExpanded":[32],"isChatVerificationExpanded":[32],"isChatExpandedOnScroll":[32],"onSetupChat":[64],"onClickChat":[64],"fetchData":[64],"onVerificationSuccess":[64]}]]],["chat-box",[[0,"chat-box",{"primaryColor":[1,"primary-color"],"accessToken":[1,"access-token"],"senderId":[1,"sender-id"],"salonId":[1,"salon-id"],"chatRooms":[32],"activeRoom":[32],"fetchData":[64]}]]],["salon-info",[[0,"salon-info",{"salonId":[2,"salon-id"],"salonInfo":[32],"fetchData":[64]}]]],["salon-latest-reviews",[[0,"salon-latest-reviews",{"salonId":[2,"salon-id"],"primaryColor":[1,"primary-color"],"salonReviews":[32],"isLoading":[32],"fetchData":[64]}]]],["salon-lookbook",[[0,"salon-lookbook",{"salonId":[2,"salon-id"],"isLoading":[32],"isLoadingMore":[32],"hideLoadMore":[32],"currentPage":[32],"totalLookbooks":[32],"salonCategories":[32],"salonLookbooks":[32],"sortBy":[32],"filterBy":[32],"isLayoutSetup":[32],"fetchData":[64],"fetchLookbooks":[64],"onChangeFiltering":[64],"onChangeSorting":[64],"onLoadMore":[64],"fetchCategories":[64]}]]],["salon-reviews",[[0,"salon-reviews",{"salonId":[2,"salon-id"],"primaryColor":[1,"primary-color"],"salonInfo":[32],"stats":[32],"totalReviews":[32],"allReviews":[32],"isLoading":[32],"isSorting":[32],"isFiltering":[32],"isLoadingMore":[32],"canLoadMore":[32],"page":[32],"filterBy":[32],"sortBy":[32]}]]],["style-detail",[[0,"style-detail",{"salonId":[2,"salon-id"],"salonLookbook":[1,"salon-lookbook"],"lookbookInfo":[32],"isModalOpen":[32],"currentMediaIdx":[32],"currentMedia":[32],"albumMedias":[32],"similarStyles":[32],"totalComments":[32],"lookbookComments":[32],"isLayoutSetup":[32],"fetchData":[64]}]]],["salon-booking",[[0,"salon-booking",{"salonId":[2,"salon-id"],"buttonClass":[1,"button-class"],"buttonText":[1,"button-text"],"primaryColor":[1,"primary-color"]}]]],["salon-booking-modal",[[0,"salon-booking-modal",{"salonId":[2,"salon-id"],"primaryColor":[1,"primary-color"],"redirectUrl":[1,"redirect-url"],"isModalOpen":[32]}]]],["salon-gift-card",[[0,"salon-gift-card",{"salonId":[2,"salon-id"],"buttonClass":[1,"button-class"],"buttonText":[1,"button-text"],"primaryColor":[1,"primary-color"]}]]],["salon-gift-card-modal",[[0,"salon-gift-card-modal",{"salonId":[2,"salon-id"],"primaryColor":[1,"primary-color"],"isModalOpen":[32]}]]],["salon-ranking",[[0,"salon-ranking",{"ranking":[2],"height":[2],"width":[2]}]]],["salon-services",[[0,"salon-services",{"salonId":[2,"salon-id"],"buttonClass":[1,"button-class"],"salonServices":[32],"isLoading":[32],"fetchData":[64]}]]],["salon-stylists",[[0,"salon-stylists",{"salonId":[2,"salon-id"],"salonStylists":[32],"totalStylists":[32],"page":[32],"isLoading":[32],"isLoadingMore":[32],"canLoadMore":[32],"fetchData":[64],"onLoadMore":[64]}]]],["user-form",[[0,"user-form",{"onSuccess":[16],"type":[32],"currentUser":[32]}]]],["chat-rooms",[[0,"chat-rooms",{"senderId":[2,"sender-id"],"salonId":[2,"salon-id"],"chatRooms":[16],"clients":[16],"activeRoom":[16],"accessToken":[1,"access-token"],"onClickRoom":[16],"keyword":[32]}]]],["salon-locations",[[0,"salon-locations",{"salonId":[2,"salon-id"],"salonInfo":[1,"salon-info"],"isLoading":[4,"is-loading"],"withBorder":[4,"with-border"],"salonInfoState":[32]}]]],["notify-sounds",[[0,"notify-sounds"]]],["salon-latest-styles",[[0,"salon-latest-styles",{"salonId":[2,"salon-id"],"isLoading":[4,"is-loading"],"withBorder":[4,"with-border"],"isLoadingState":[32],"latestStyles":[32],"fetchData":[64]}]]],["salon-schedules",[[0,"salon-schedules",{"salonId":[2,"salon-id"],"salonInfo":[1,"salon-info"],"isLoading":[4,"is-loading"],"withBorder":[4,"with-border"],"salonInfoState":[32]}]]],["chat-messages",[[0,"chat-messages",{"sender":[16],"receiver":[16],"messages":[16],"chatRoomId":[1,"chat-room-id"]}]]],["activate-form",[[0,"activate-form",{"username":[1],"password":[1],"onSuccess":[16],"isSubmitting":[32],"error":[32],"confirmCode":[32],"onSubmit":[64],"resendCode":[64]}]]],["change-password-form",[[0,"change-password-form",{"username":[1],"onSuccess":[16],"isSubmitting":[32],"error":[32],"confirmCode":[32],"password":[32],"onSubmit":[64],"resendCode":[64]}]]],["chat-form",[[0,"chat-form",{"senderId":[2,"sender-id"],"chatRoomId":[1,"chat-room-id"]}]]],["google-map",[[0,"google-map",{"locationName":[1,"location-name"],"locationAddress":[1,"location-address"]}]]],["login-form",[[0,"login-form",{"onSuccess":[16],"isSubmitting":[32],"error":[32],"username":[32],"password":[32],"onSubmit":[64]}]]],["register-form",[[0,"register-form",{"onSuccess":[16],"isSubmitting":[32],"error":[32],"firstName":[32],"lastName":[32],"email":[32],"phone":[32],"password":[32],"onSubmit":[64]}]]],["reset-password-form",[[0,"reset-password-form",{"onSuccess":[16],"isSubmitting":[32],"error":[32],"username":[32],"onSubmit":[64]}]]],["user-avatar",[[0,"user-avatar",{"size":[2],"name":[1],"description":[1],"nameStyle":[16],"shortName":[1,"short-name"],"avatar":[1]}]]]], options);
147
+ return bootstrapLazy([["chat-button",[[0,"chat-button",{"primaryColor":[1,"primary-color"],"receiverId":[1,"receiver-id"],"receiverAvatar":[1,"receiver-avatar"],"accessToken":[1,"access-token"],"senderId":[1,"sender-id"],"senderIdState":[32],"accessTokenState":[32],"senderInfo":[32],"receiverInfo":[32],"chatRoom":[32],"chatMessages":[32],"isChatIconVisible":[32],"isChatHelpVisible":[32],"isChatExpanded":[32],"isChatVerificationExpanded":[32],"isChatExpandedOnScroll":[32],"onSetupChat":[64],"onClickChat":[64],"fetchData":[64],"onVerificationSuccess":[64]}]]],["chat-box",[[0,"chat-box",{"primaryColor":[1,"primary-color"],"accessToken":[1,"access-token"],"senderId":[1,"sender-id"],"salonId":[1,"salon-id"],"chatRooms":[32],"activeRoom":[32],"fetchData":[64]}]]],["salon-info",[[0,"salon-info",{"salonId":[2,"salon-id"],"salonInfo":[32],"fetchData":[64]}]]],["salon-latest-reviews",[[0,"salon-latest-reviews",{"salonId":[2,"salon-id"],"primaryColor":[1,"primary-color"],"salonReviews":[32],"isLoading":[32],"fetchData":[64]}]]],["salon-lookbook",[[0,"salon-lookbook",{"salonId":[2,"salon-id"],"isLoading":[32],"isLoadingMore":[32],"hideLoadMore":[32],"currentPage":[32],"totalLookbooks":[32],"salonCategories":[32],"salonLookbooks":[32],"sortBy":[32],"filterBy":[32],"isLayoutSetup":[32],"fetchData":[64],"fetchLookbooks":[64],"onChangeFiltering":[64],"onChangeSorting":[64],"onLoadMore":[64],"fetchCategories":[64]}]]],["salon-reviews",[[0,"salon-reviews",{"salonId":[2,"salon-id"],"primaryColor":[1,"primary-color"],"salonInfo":[32],"stats":[32],"totalReviews":[32],"allReviews":[32],"isLoading":[32],"isSorting":[32],"isFiltering":[32],"isLoadingMore":[32],"canLoadMore":[32],"page":[32],"filterBy":[32],"sortBy":[32]}]]],["style-detail",[[0,"style-detail",{"salonId":[2,"salon-id"],"salonLookbook":[1,"salon-lookbook"],"lookbookInfo":[32],"isModalOpen":[32],"currentMediaIdx":[32],"currentMedia":[32],"albumMedias":[32],"similarStyles":[32],"totalComments":[32],"lookbookComments":[32],"isLayoutSetup":[32],"fetchData":[64]}]]],["salon-booking",[[0,"salon-booking",{"salonId":[2,"salon-id"],"buttonClass":[1,"button-class"],"buttonText":[1,"button-text"],"primaryColor":[1,"primary-color"]}]]],["salon-booking-modal",[[0,"salon-booking-modal",{"salonId":[2,"salon-id"],"primaryColor":[1,"primary-color"],"redirectUrl":[1,"redirect-url"],"isModalOpen":[32]}]]],["salon-gift-card",[[0,"salon-gift-card",{"salonId":[2,"salon-id"],"buttonClass":[1,"button-class"],"buttonText":[1,"button-text"],"primaryColor":[1,"primary-color"]}]]],["salon-gift-card-modal",[[0,"salon-gift-card-modal",{"salonId":[2,"salon-id"],"primaryColor":[1,"primary-color"],"isModalOpen":[32]}]]],["salon-ranking",[[0,"salon-ranking",{"ranking":[2],"height":[2],"width":[2]}]]],["salon-services",[[0,"salon-services",{"salonId":[2,"salon-id"],"buttonClass":[1,"button-class"],"salonServices":[32],"isLoading":[32],"fetchData":[64]}]]],["salon-stylists",[[0,"salon-stylists",{"salonId":[2,"salon-id"],"salonStylists":[32],"totalStylists":[32],"page":[32],"isLoading":[32],"isLoadingMore":[32],"canLoadMore":[32],"fetchData":[64],"onLoadMore":[64]}]]],["user-form",[[0,"user-form",{"onSuccess":[16],"type":[32],"currentUser":[32]}]]],["chat-rooms",[[0,"chat-rooms",{"senderId":[2,"sender-id"],"salonId":[2,"salon-id"],"chatRooms":[16],"clients":[16],"activeRoom":[16],"accessToken":[1,"access-token"],"onClickRoom":[16],"keyword":[32]}]]],["salon-locations",[[0,"salon-locations",{"salonId":[2,"salon-id"],"salonInfo":[1,"salon-info"],"isLoading":[4,"is-loading"],"withBorder":[4,"with-border"],"salonInfoState":[32]}]]],["notify-sounds",[[0,"notify-sounds"]]],["salon-latest-styles",[[0,"salon-latest-styles",{"salonId":[2,"salon-id"],"isLoading":[4,"is-loading"],"withBorder":[4,"with-border"],"isLoadingState":[32],"latestStyles":[32],"fetchData":[64]}]]],["salon-schedules",[[0,"salon-schedules",{"salonId":[2,"salon-id"],"salonInfo":[1,"salon-info"],"isLoading":[4,"is-loading"],"withBorder":[4,"with-border"],"salonInfoState":[32]}]]],["chat-messages",[[0,"chat-messages",{"sender":[16],"receiver":[16],"messages":[16],"chatRoomId":[1,"chat-room-id"],"messagesLength":[32],"isScrollIconVisible":[32]}]]],["activate-form",[[0,"activate-form",{"username":[1],"password":[1],"onSuccess":[16],"isSubmitting":[32],"error":[32],"confirmCode":[32],"onSubmit":[64],"resendCode":[64]}]]],["change-password-form",[[0,"change-password-form",{"username":[1],"onSuccess":[16],"isSubmitting":[32],"error":[32],"confirmCode":[32],"password":[32],"onSubmit":[64],"resendCode":[64]}]]],["chat-form",[[0,"chat-form",{"senderId":[2,"sender-id"],"chatRoomId":[1,"chat-room-id"]}]]],["google-map",[[0,"google-map",{"locationName":[1,"location-name"],"locationAddress":[1,"location-address"]}]]],["login-form",[[0,"login-form",{"onSuccess":[16],"isSubmitting":[32],"error":[32],"username":[32],"password":[32],"onSubmit":[64]}]]],["register-form",[[0,"register-form",{"onSuccess":[16],"isSubmitting":[32],"error":[32],"firstName":[32],"lastName":[32],"email":[32],"phone":[32],"password":[32],"onSubmit":[64]}]]],["reset-password-form",[[0,"reset-password-form",{"onSuccess":[16],"isSubmitting":[32],"error":[32],"username":[32],"onSubmit":[64]}]]],["user-avatar",[[0,"user-avatar",{"size":[2],"name":[1],"description":[1],"nameStyle":[16],"shortName":[1,"short-name"],"avatar":[1]}]]]], options);
148
148
  });
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const loginFormCss = ".form--user-login .form--login-label{cursor:pointer;display:block;margin-top:0;margin-bottom:6px}.form--user-login input,.form--user-login button{border:1px solid #cecece;box-sizing:border-box;display:inline-block;width:100%;padding:4px 11px;height:44px;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px}.form--user-login button{background-color:#001529;border:1px solid #001529;color:#fff;cursor:pointer;height:44px}.form--user-login button:disabled{background-color:#cecece;border:1px solid #cecece;color:#212121}";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
 
3
- const indexCss = "@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap'); chat-button{display:block;position:relative}.chat-button--indicator{cursor:pointer;position:absolute;inset:0}.chat-button--counter{background-color:rgb(240, 90, 97);border:1px solid rgb(255, 255, 255);position:absolute;right:6px;top:0px;height:8px;width:8px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.chat-box{font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px;-moz-box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;-webkit-box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;background-color:#fff;display:flex;flex-direction:column;position:fixed;right:1px;bottom:0px;z-index:20000;font-size:16px;text-align:left;color:#141414;width:80vw;height:480px;max-height:80vh}.chat-box--header{display:flex;justify-content:space-between;padding:16px;position:relative;-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px}.chat-box--title{color:#fff;font-size:24px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:space-between;margin:0}.chat-box--close:hover{opacity:0.85}.chat-box--close{cursor:pointer;display:block;position:absolute;z-index:1000;top:50%;right:0;width:40px;height:40px;transform:translate(0, -50%);background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.chat-box--help{font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:fixed;right:16px;bottom:16px;z-index:20000}.chat-box--help-icon{background-color:rgba(0, 21, 41, 1);cursor:pointer;color:#fff;height:50px;width:50px;display:flex;align-items:center;justify-content:center;-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px}.chat-box--help-icon:hover{background-color:rgba(0, 21, 41, 0.85)}.chat-box--help-icon svg{height:30px;width:30px}.chat-box--help-close:hover{opacity:0.85}.chat-box--help-close{cursor:pointer;display:block;position:absolute;z-index:1000;top:6px;right:6px;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.chat-box--help-content-wrapper{background-color:#fff;border:1px solid #f5f5f5;width:290px;padding:24px;position:absolute;bottom:100%;right:-8px;margin-bottom:16px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-moz-box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px;-webkit-box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px;box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px}.chat-box--help-content{cursor:pointer;display:flex;align-items:center}.chat-box--help-content:hover{opacity:0.85}.chat-box--help-content:before{content:' ';position:absolute;top:100%;right:22px;border-style:solid;border-width:10px;border-color:#f5f5f5 transparent transparent transparent}.chat-box--help-content:after{content:' ';position:absolute;margin-top:-1px;top:100%;right:22px;border-style:solid;border-width:10px;border-color:#fff transparent transparent transparent}.chat-box--help-avatar{margin-right:16px;height:48px;min-width:48px;max-width:48px;overflow:hidden;-moz-border-radius:48px;-webkit-border-radius:48px;border-radius:48px}.chat-box--help-avatar img{height:100%;width:100%;object-fit:cover}.chat-box--help-text{color:#141414;font-size:16px;line-height:1.3;text-align:left}@media (min-width: 768px){.chat-box{border:1px solid #fff;height:480px;max-height:90vh;width:560px}.chat-box--header{-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px}}";
3
+ const indexCss = "@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap'); chat-button{display:block;position:relative}.chat-button--indicator{cursor:pointer;position:absolute;inset:0}.chat-button--counter{background-color:rgb(240, 90, 97);border:1px solid rgb(255, 255, 255);position:absolute;right:6px;top:0px;height:8px;width:8px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.chat-box{font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px;-moz-box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;-webkit-box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;box-shadow:rgba(0, 0, 0, 0.25) 0px 0px 24px;background-color:#fff;display:flex;flex-direction:column;position:fixed;right:1px;bottom:0px;z-index:20000;font-size:16px;text-align:left;color:#141414;width:80vw;height:480px;max-height:80vh}.chat-box--header{display:flex;justify-content:space-between;padding:16px;position:relative;-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px}.chat-box--title{color:#fff;font-size:24px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:space-between;margin:0}.chat-box--close:hover{opacity:0.85}.chat-box--close{cursor:pointer;display:block;position:absolute;z-index:1000;top:50%;right:0;width:40px;height:40px;transform:translate(0, -50%);background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.chat-box--help{font-family:'Roboto', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:fixed;right:16px;bottom:80px;z-index:20000}.chat-box--help-icon{background-color:rgba(0, 21, 41, 1);cursor:pointer;color:#fff;height:50px;width:50px;display:flex;align-items:center;justify-content:center;-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px}.chat-box--help-icon:hover{background-color:rgba(0, 21, 41, 0.85)}.chat-box--help-icon svg{height:30px;width:30px}.chat-box--help-close:hover{opacity:0.85}.chat-box--help-close{cursor:pointer;display:block;position:absolute;z-index:1000;top:6px;right:6px;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.chat-box--help-content-wrapper{background-color:#fff;border:1px solid #f5f5f5;width:200px;padding:20px;position:absolute;bottom:100%;right:-8px;margin-bottom:16px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-moz-box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px;-webkit-box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px;box-shadow:rgba(0, 0, 0, 0.15) 0px 0px 24px}.chat-box--help-content{cursor:pointer;display:flex;align-items:center}.chat-box--help-content:hover{opacity:0.85}.chat-box--help-content:before{content:' ';position:absolute;top:100%;right:22px;border-style:solid;border-width:10px;border-color:#f5f5f5 transparent transparent transparent}.chat-box--help-content:after{content:' ';position:absolute;margin-top:-1px;top:100%;right:22px;border-style:solid;border-width:10px;border-color:#fff transparent transparent transparent}.chat-box--help-avatar{margin-right:16px;height:48px;min-width:48px;max-width:48px;overflow:hidden;-moz-border-radius:48px;-webkit-border-radius:48px;border-radius:48px}.chat-box--help-avatar img{height:100%;width:100%;object-fit:cover}.chat-box--help-text{color:#141414;font-size:16px;line-height:1.3;text-align:left}@media (min-width: 768px){.chat-box{border:1px solid #fff;height:480px;max-height:90vh;width:560px}.chat-box--header{-moz-border-radius:8px 8px 0px 0px;-webkit-border-radius:8px 8px 0px 0px;border-radius:8px 8px 0px 0px}.chat-box--help{bottom:96px}}@media (min-width: 1024px){.chat-box--help{bottom:24px}}";
4
4
 
5
5
  const NotifySounds = class {
6
6
  constructor(hostRef) {
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const registerFormCss = ".form--user-register .form--login-label{cursor:pointer;display:block;margin-top:0;margin-bottom:6px}.form--user-register input,.form--user-register button{border:1px solid #cecece;box-sizing:border-box;display:inline-block;width:100%;padding:4px 11px;height:44px;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px}.form--user-register button{background-color:#001529;border:1px solid #001529;color:#fff;cursor:pointer;height:44px}.form--user-register button:disabled{background-color:#cecece;border:1px solid #cecece;color:#212121}";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const resetPasswordFormCss = ".form--user-reset-password .form--login-label{cursor:pointer;display:block;margin-top:0;margin-bottom:6px}.form--user-reset-password input,.form--user-reset-password button{border:1px solid #cecece;box-sizing:border-box;display:inline-block;width:100%;padding:4px 11px;height:44px;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px}.form--user-reset-password button{background-color:#001529;border:1px solid #001529;color:#fff;cursor:pointer;height:44px}.form--user-reset-password button:disabled{background-color:#cecece;border:1px solid #cecece;color:#212121}";
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
- import { H as HttpService } from './services-d71be591.js';
2
+ import { H as HttpService } from './services-ece4767f.js';
3
3
  import './_commonjsHelpers-a4f66ccd.js';
4
4
  import './colors-ea36347a.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
- import { H as HttpService, d as dayjs_min, s as shortDateYearFormat } from './services-d71be591.js';
2
+ import { H as HttpService, d as dayjs_min, s as shortDateYearFormat } from './services-ece4767f.js';
3
3
  import { C as Colors } from './colors-ea36347a.js';
4
4
  import { g as getRatingText } from './utils-fd30fb29.js';
5
5
  import './_commonjsHelpers-a4f66ccd.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService, i as isVideoMedia } from './services-d71be591.js';
3
+ import { H as HttpService, i as isVideoMedia } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const indexCss = "salon-latest-styles .view--salon-styles--item{width:120px;height:120px}@media (min-width: 1024px){salon-latest-styles .view--salon-styles--item{width:200px;height:200px}}";
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { a as formatWebsiteUrl, b as formatFullAddress } from './utils-fd30fb29.js';
3
3
  import { C as Colors } from './colors-ea36347a.js';
4
- import { H as HttpService } from './services-d71be591.js';
4
+ import { H as HttpService } from './services-ece4767f.js';
5
5
  import './_commonjsHelpers-a4f66ccd.js';
6
6
 
7
7
  const indexCss = "@media (min-width: 768px){salon-locations .salon-contact--links{overflow:hidden;margin-left:-32px}salon-locations .salon-contact--links-item{float:left;display:flex;flex-direction:row;align-items:center;font-size:16px;min-width:300px;padding-left:32px}salon-locations .salon-contact--links-item:nth-child(2n+1){clear:left}salon-locations .salon-contact--links-item+.salon-contact--links-item{margin-top:8px}}";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const indexCss = "@media (max-width: 768px){salon-lookbook .view-header{display:block !important}salon-lookbook .salon-loobook--serch-result{margin-bottom:16px}salon-lookbook .salon-loobook--filter-wrapper>label,salon-lookbook .salon-loobook--sort-wrapper>label{display:none !important}}";
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
- import { H as HttpService, d as dayjs_min, s as shortDateYearFormat } from './services-d71be591.js';
2
+ import { H as HttpService, d as dayjs_min, s as shortDateYearFormat } from './services-ece4767f.js';
3
3
  import { C as Colors } from './colors-ea36347a.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
- import { H as HttpService, B as BusinessHourStatus } from './services-d71be591.js';
2
+ import { H as HttpService, B as BusinessHourStatus } from './services-ece4767f.js';
3
3
  import { C as Colors } from './colors-ea36347a.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
- import { H as HttpService, a as sortBy_1 } from './services-d71be591.js';
2
+ import { H as HttpService, a as sortBy_1 } from './services-ece4767f.js';
3
3
  import { C as Colors } from './colors-ea36347a.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
2
  import { C as Colors } from './colors-ea36347a.js';
3
- import { H as HttpService } from './services-d71be591.js';
3
+ import { H as HttpService } from './services-ece4767f.js';
4
4
  import './_commonjsHelpers-a4f66ccd.js';
5
5
 
6
6
  const indexCss = ".view--salon-stylists{overflow:hidden;margin-left:-12px;margin-top:-12px}.view--salon-stylists .salon-stylist{float:left;padding-left:12px;padding-top:12px;width:50%}.view--salon-stylists .salon-stylist--avatar{height:180px}@media (min-width: 576px){.view--salon-stylists .salon-stylist{width:33.33%;max-width:240px}}@media (min-width: 768px){.view--salon-stylists{margin-left:-24px;margin-top:-24px}.view--salon-stylists .salon-stylist{padding-left:24px;padding-top:24px;width:264px;max-width:none}.view--salon-stylists .salon-stylist--avatar{height:240px}}";
@@ -23849,6 +23849,16 @@ class HttpService {
23849
23849
  return this.fetchRooms(accessToken, 1)
23850
23850
  .catch(() => ([]));
23851
23851
  }
23852
+ updateChatroomInfo(roomId, options) {
23853
+ if (this.firebaseDatabase) {
23854
+ try {
23855
+ const roomMessagesRef = ref(this.firebaseDatabase, `chats/${roomId}`);
23856
+ return update(roomMessagesRef, options);
23857
+ }
23858
+ catch (error) { }
23859
+ }
23860
+ return Promise.reject();
23861
+ }
23852
23862
  fetchChatMessages(roomId, onDone) {
23853
23863
  if (this.firebaseDatabase) {
23854
23864
  try {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-888e99e3.js';
2
- import { d as dayjs_min, H as HttpService, i as isVideoMedia, g as getSalonImage, s as shortDateYearFormat } from './services-d71be591.js';
2
+ import { d as dayjs_min, H as HttpService, i as isVideoMedia, g as getSalonImage, s as shortDateYearFormat } from './services-ece4767f.js';
3
3
  import { r as relativeTime } from './relativeTime-268e64b0.js';
4
4
  import { C as Colors } from './colors-ea36347a.js';
5
5
  import './_commonjsHelpers-a4f66ccd.js';
@@ -1,6 +1,7 @@
1
1
  export declare class ChatForm {
2
2
  senderId: number;
3
3
  chatRoomId: string;
4
+ private updateChatroomInfo;
4
5
  private onSubmitMessage;
5
6
  render(): any;
6
7
  }
@@ -5,8 +5,11 @@ export declare class ChatMessages {
5
5
  receiver: User;
6
6
  messages: ChatMessage[];
7
7
  chatRoomId: string;
8
+ messagesLength: number;
9
+ isScrollIconVisible: boolean;
8
10
  componentDidLoad(): void;
9
11
  componentDidUpdate(): void;
12
+ onScroll(evt: any): void;
10
13
  private markMessagesAsRead;
11
14
  private scrollToLastMessage;
12
15
  private renderMessage;
@@ -78,6 +78,7 @@ declare class HttpService {
78
78
  createChatRoom(receiverId: any, accessToken: any): Promise<any>;
79
79
  private fetchRooms;
80
80
  fetchChatRooms(accessToken: string): any;
81
+ updateChatroomInfo(roomId: any, options: any): Promise<void>;
81
82
  fetchChatMessages(roomId: any, onDone: any): Promise<{}>;
82
83
  markMessagesAsRead(roomId: any, roomMessages: ChatMessage[]): Promise<void>;
83
84
  sendChatMessage(options: any): Promise<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "favesalon-embed",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "description": "Favesalon Embed",
5
5
  "author": "Trung Luu <trung@favesalon.com> (https://favesalon.com)",
6
6
  "main": "dist/index.cjs.js",
@@ -1,7 +0,0 @@
1
- import './index-08aeafb8.js';
2
-
3
- const globalFn = () => { };
4
-
5
- const globalScripts = globalFn;
6
-
7
- export { globalScripts as g };