@zango-core/crm-framework 1.0.13 → 1.0.14

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.
@@ -1,5 +1,5 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}.mx-auto{margin-inline:auto}.mb-\\[18px\\]{margin-bottom:18px}.\\!line-clamp-2{-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;display:-webkit-box!important;overflow:hidden!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-\\[42px\\]{height:42px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-\\[8rem\\]{min-height:8rem}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[300px\\]{min-height:300px}.min-h-\\[400px\\]{min-height:400px}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\\[150px\\]{max-width:150px}.flex-1{flex:1}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.\\!rounded-\\[8px\\]{border-radius:8px!important}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-none{--tw-border-style:none;border-style:none}.object-cover{object-fit:cover}.\\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-\\[12px\\]{font-size:12px}.text-\\[40px\\]{font-size:40px}.leading-none{--tw-leading:1;line-height:1}.break-all{word-break:break-all}.text-\\[var\\(--color-brand-500\\,\\#5048ED\\)\\]{color:var(--color-brand-500,#5048ed)}.text-\\[var\\(--color-gray-700\\,\\#414651\\)\\]{color:var(--color-gray-700,#414651)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-300{--tw-duration:.3s;transition-duration:.3s}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus\\:shadow-\\[0_0_0_2px_rgba\\(106\\,138\\,18\\,0\\.2\\)\\]:focus{--tw-shadow:0 0 0 2px var(--tw-shadow-color,#6a8a1233);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.brand-500{background-color:var(--color-brand-500)!important}.border-brand-500{border-color:var(--color-brand-500)!important}.login-tabs .ant-tabs-tab-active{border-bottom-width:2px!important;border-bottom-color:var(--color-brand-500)!important}.login-tabs .ant-tabs-ink-bar{background-color:var(--color-brand-500)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.wide-sidebar{width:244px;display:flex;height:100dvh;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-style:normal;font-weight:500;border-right:1px solid #D5D7DA;flex-direction:column;position:relative;background-color:#fff;z-index:10}.frame-logo-container{height:64px;display:flex;align-items:center;gap:8px;padding:20px}.frame-logo-container a{display:flex;align-items:center;text-decoration:none}.frame-logo-container img{height:28px;width:auto}.frame-menu-container{display:flex;flex-direction:column;gap:16px;flex-grow:1;overflow-y:scroll;padding:8px 12px}#wideSidebarMenu{color:#414651;padding:0;flex-grow:1;display:flex;flex-direction:column;gap:4px;list-style:none;margin:0}#wideSidebarMenu li{list-style:none;padding:12px;border-radius:6px;overflow:hidden;color:#414651;transition:all .3s ease-in-out;cursor:pointer}#wideSidebarMenu .menu-item{display:flex;align-items:center;gap:8px}#wideSidebarMenu li a{display:flex;align-items:center;color:var(--color-gray-700, #414651);text-decoration:none;padding:12px;margin:-12px;width:calc(100% + 24px);gap:8px;font-size:14px;font-weight:500;transition:all .3s ease-in-out}#wideSidebarMenu li:hover,#wideSidebarMenu li.active{background-color:var(--color-brand-50, #EAE8FF);color:var(--color-brand-500, #5048ED)}#wideSidebarMenu li:hover a,#wideSidebarMenu li:hover .menu-title{color:var(--color-brand-500, #5048ED)!important}#wideSidebarMenu li.active{background-color:var(--color-brand-50, #EAE8FF);color:var(--color-brand-500, #5048ED);font-weight:600}#wideSidebarMenu li.active .menu-title,#wideSidebarMenu li.active a{color:var(--color-brand-500, #5048ED)}.navbar-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.navbar-icon svg{width:16px;height:16px}.navbar-icon img{width:16px;height:16px;object-fit:contain}.navbar-icon-emoji{font-size:16px;line-height:1;width:auto;min-width:16px}#wideSidebarMenu .menu-title{flex-grow:1;color:var(--color-gray-700, #414651)}#wideSidebarMenu .menu-list-item{cursor:pointer}#wideSidebarMenu .downIcon{display:flex;justify-content:center;align-items:center;height:100%;transition:transform .3s ease}#wideSidebarMenu li.active .downIcon{transform:rotate(180deg)}#wideSidebarMenu .submenu-accordion-item{color:#414651}#wideSidebarMenu .submenu-list{padding:0;max-height:0;overflow:hidden;opacity:0;list-style:none;margin:0;border-radius:8px;transition:all .3s cubic-bezier(.16,1,.3,1);transform:translateY(-4px)}#wideSidebarMenu .submenu-list.active{padding:9px 0;max-height:500px;opacity:1;transform:translateY(0)}#wideSidebarMenu .submenu-list-item{padding:10px 36px;position:relative;color:var(--color-gray-700, #414651)}#wideSidebarMenu .submenu-list-item a{display:flex;align-items:center;color:inherit;text-decoration:none;padding:10px 36px;margin:-10px -36px;width:calc(100% + 72px);gap:8px;transition:all .3s ease-in-out}#wideSidebarMenu .submenu-list-item a .each-submenu-label{color:var(--color-gray-700, #414651);font-size:12px}#wideSidebarMenu .submenu-list-item a .each-submenu-label.active{color:var(--color-brand-500, #5048ED)}#wideSidebarMenu .submenu-item-icon{display:none}#wideSidebarMenu .submenu-item-icon-container{width:16px}#wideSidebarMenu .submenu-item-icon.active{display:block}.submenu-item-icon-container{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.submenu-dot{display:none}.submenu-dot.active{display:inline-block;width:14px;height:10px}.navbar-menu-container::-webkit-scrollbar{width:4px}.navbar-menu-container::-webkit-scrollbar-track{background:transparent}.navbar-menu-container::-webkit-scrollbar-thumb{background:var(--color-gray-300, #dde2e5);border-radius:2px}.navbar-menu-container::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400, #d5d7da)}@media(max-width:768px){.navbar,.wide-sidebar{position:fixed;left:-244px;z-index:1000}.navbar.open,.wide-sidebar.open{left:0}}.user-profile-drawer{position:fixed;top:0;right:-100%;width:100%;height:100vh;background-color:var(--zango-gray-50, #F9FAFB);transition:right .3s ease-in-out;z-index:1300;overflow:hidden;display:flex;flex-direction:column}.user-profile-drawer *{box-sizing:border-box}.user-profile-drawer.open{right:0}.profile-header-gradient{height:100px;background:linear-gradient(135deg,var(--color-brand-500, #5048ED) 0%,#7C3AED 50%,#EC4899 100%);position:relative}.profile-close-btn{position:absolute;top:16px;right:16px;background:#fff3;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff}.profile-close-btn:hover{background:#ffffff4d}.profile-info-section{background:#fff;padding:0 40px 20px;text-align:center;position:relative;border-bottom:1px solid var(--zango-gray-300, #E5E7EB);width:100%;box-sizing:border-box}.profile-avatar-container{margin-top:-40px;margin-bottom:12px}.profile-avatar-circle{width:80px;height:80px;background:var(--zango-gray-100, #F3F4F6);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:4px solid #FFFFFF;box-shadow:0 4px 6px #0000001a;position:relative}.profile-avatar-circle svg{width:40px;height:40px}.profile-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-avatar-edit{position:absolute;bottom:-4px;right:-4px;background:var(--color-brand-500, #5048ED);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border:2px solid white;box-shadow:0 2px 4px #0000001a}.profile-avatar-edit:hover{background:var(--color-brand-600, #433BD9);transform:scale(1.1)}.profile-avatar-edit svg{width:14px;height:14px}.profile-initials{font-size:32px;font-weight:600;color:var(--zango-gray-700, #4B5563)}.profile-name-section{margin-bottom:0}.profile-user-name{font-size:20px;font-weight:600;color:var(--zango-gray-900, #111827);margin:0 0 2px}.profile-user-role{font-size:14px;color:var(--zango-gray-600, #6B7280);margin:0}.profile-user-role-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#5048ed1a,#7c3aed1a,#ec48991a);color:var(--color-brand-500, #5048ED);padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid rgba(80,72,237,.2);margin-top:6px;transition:all .2s ease}.profile-user-role-badge:hover{background:linear-gradient(135deg,#5048ed26,#7c3aed26,#ec489926);border-color:#5048ed4d;transform:translateY(-1px);box-shadow:0 2px 8px #5048ed33}.profile-user-role-badge svg{width:14px;height:14px;stroke:var(--color-brand-500, #5048ED);flex-shrink:0}.profile-user-role-badge span{letter-spacing:.3px;text-transform:capitalize}.profile-main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;display:flex;justify-content:center;width:100%;box-sizing:border-box}.profile-content-wrapper{background:#fff;border-radius:12px;padding:20px;width:100%;max-width:700px;margin:0 auto;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;height:fit-content}.profile-tabs{display:flex;border-bottom:1px solid var(--zango-gray-300, #E5E7EB);margin-bottom:20px;width:100%;box-sizing:border-box}.profile-tab{padding:10px 20px;background:none;border:none;font-size:14px;font-weight:500;color:var(--zango-gray-600, #6B7280);cursor:pointer;position:relative;transition:all .2s ease}.profile-tab:hover{color:var(--zango-gray-700, #4B5563)}.profile-tab.active{color:var(--color-brand-500, #5048ED)}.profile-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-brand-500, #5048ED)}.profile-tab-content{padding:0;width:100%;box-sizing:border-box}.account-section{display:flex;flex-direction:column;gap:24px}.profile-photo-edit:hover{background:var(--color-brand-600, #433BD9)}.profile-field-section{border-bottom:1px solid var(--zango-gray-300, #E5E7EB);padding-bottom:16px}.profile-field-section:last-child{border-bottom:none}.profile-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.profile-field-label{font-size:14px;font-weight:500;color:var(--zango-gray-600, #6B7280)}.profile-field-value{font-size:16px;color:var(--zango-gray-900, #111827);margin:0;display:flex;align-items:center;gap:8px}.profile-field-value.readonly{color:var(--zango-gray-600, #6B7280)}.profile-field-value .empty-value{color:#9ca3af;font-style:italic}.profile-field-value .field-icon{flex-shrink:0}.profile-field-edit-btn{background:none;border:none;color:var(--color-brand-500, #5048ED);font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.profile-field-edit-btn:hover{background:#5048ed1a}.profile-inline-form{width:100%}.profile-inline-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.profile-save-btn{padding:8px 16px;font-size:14px;font-weight:500;color:#fff;background:var(--color-brand-500, #5048ED);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.profile-save-btn:hover{background:var(--color-brand-600, #433BD9)}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.roles-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.role-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-radius:8px;border:1px solid #E5E7EB;transition:all .2s ease}.role-item:hover{background:var(--zango-gray-100, #F3F4F6);border-color:#d1d5db}.role-item.active{background:#5048ed0d;border-color:var(--color-brand-500, #5048ED)}.role-info{display:flex;align-items:center;gap:10px}.role-info svg{width:16px;height:16px;stroke:#6b7280;flex-shrink:0}.role-item.active .role-info svg{stroke:var(--color-brand-500, #5048ED)}.role-name{font-size:14px;color:#374151;font-weight:500}.role-badge{font-size:12px;font-weight:500;color:var(--color-brand-500, #5048ED);background:#5048ed1a;padding:4px 12px;border-radius:12px}.role-switch-btn{font-size:12px;font-weight:500;color:var(--zango-gray-600, #6B7280);background:#fff;padding:4px 12px;border-radius:6px;border:1px solid #E5E7EB;cursor:pointer;transition:all .2s ease}.role-switch-btn:hover{color:var(--color-brand-500, #5048ED);border-color:var(--color-brand-500, #5048ED);background:#5048ed0d}.security-section{display:flex;flex-direction:column;gap:24px}.security-block{border:1px solid #E5E7EB;border-radius:8px;padding:20px}.security-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.security-title{font-size:16px;font-weight:600;color:var(--zango-gray-900, #111827);margin:0 0 4px}.security-subtitle{font-size:14px;color:var(--zango-gray-600, #6B7280);margin:0}.toggle-btn{padding:8px 16px;font-size:14px;font-weight:500;border:1px solid #E5E7EB;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:all .2s ease}.toggle-btn:hover{background:#f9fafb}.toggle-btn.enabled{background:var(--color-brand-500, #5048ED);color:#fff;border-color:var(--color-brand-500, #5048ED)}.toggle-btn.enabled:hover{background:var(--color-brand-600, #433BD9)}.password-form{margin-top:16px}.sessions-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.session-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #E5E7EB}.session-info{display:flex;align-items:center;gap:16px;flex:1}.session-device{display:flex;align-items:center;gap:12px}.session-device svg{color:var(--zango-gray-600, #6B7280)}.session-device-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.session-device-name{font-size:14px;font-weight:500;color:var(--zango-gray-900, #111827);margin:0}.session-status-tag{font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.session-status-tag.current{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.session-status-tag.inactive{background:transparent;padding:0;border:none}.logout-tag-btn{font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2);cursor:pointer;transition:all .2s ease}.logout-tag-btn:hover{background:#ef444426;border-color:#ef44444d}.logout-tag-btn-ghost{background:#9ca3af1a;color:#6b7280;border:1px solid rgba(156,163,175,.2)}.logout-tag-btn-ghost:hover{background:#9ca3af26;border-color:#9ca3af4d;color:#4b5563}.session-details{font-size:12px;color:var(--zango-gray-600, #6B7280);margin:0}.session-time{text-align:right}.session-time-info{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.session-start-time{font-size:12px;color:var(--zango-gray-500, #9CA3AF);margin:0;font-weight:500}.session-last-active{font-size:12px;color:var(--zango-gray-600, #6B7280);margin:0}.session-logout-btn{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid #E5E7EB;border-radius:4px;background:#fff;color:#dc2626;cursor:pointer;transition:all .2s ease}.session-logout-btn:hover{background:#fef2f2;border-color:#dc2626}.session-current{font-size:12px;color:var(--zango-gray-600, #6B7280);font-style:italic}.no-sessions{text-align:center;color:var(--zango-gray-600, #6B7280);font-size:14px;padding:20px}.logout-all-btn{width:100%;padding:12px 20px;font-size:14px;font-weight:500;color:#dc2626;background:#fff;border:1px solid #DC2626;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-top:16px}.logout-all-btn:hover{background:#fef2f2}.tokens-list{margin-top:16px}.token-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f9fafb;border-radius:8px;margin-bottom:12px;transition:all .2s ease}.token-item:hover{background:var(--zango-gray-100, #F3F4F6)}.token-info{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}.token-details{display:flex;align-items:center;gap:12px}.token-details svg{color:var(--zango-gray-600, #6B7280)}.token-name{font-size:14px;font-weight:500;color:var(--zango-gray-900, #111827);margin:0 0 4px}.token-created{font-size:12px;color:var(--zango-gray-600, #6B7280);margin:0}.token-revoke-btn{padding:6px 16px;font-size:13px;font-weight:500;color:#dc2626;background:#fff;border:1px solid #FEE2E2;border-radius:6px;cursor:pointer;transition:all .2s ease}.token-revoke-btn:hover{background:#fef2f2;border-color:#fecaca}.no-tokens{text-align:center;padding:32px 16px;color:var(--zango-gray-600, #6B7280)}.no-tokens p{margin:0 0 8px;font-size:14px}.no-tokens-hint{font-size:12px;color:#9ca3af}.profile-form-group{margin-bottom:16px;width:100%;box-sizing:border-box}.profile-form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.profile-form-input{width:100%;padding:10px 14px;font-size:14px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;transition:all .2s ease;box-sizing:border-box}.profile-form-input:focus{outline:none;border-color:var(--color-brand-500, #5048ED);background:#fff;box-shadow:0 0 0 3px #5048ed1a}.profile-form-input::placeholder{color:#9ca3af}.profile-form-error{color:#ef4444;font-size:12px;margin-top:4px}.profile-form-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.profile-cancel-btn{padding:10px 20px;font-size:14px;font-weight:500;color:var(--zango-gray-600, #6B7280);background:#fff;border:1px solid #E5E7EB;border-radius:8px;cursor:pointer;transition:all .2s ease}.profile-cancel-btn:hover{background:#f9fafb;color:var(--zango-gray-700, #4B5563)}.profile-submit-btn{padding:10px 20px;font-size:14px;font-weight:600;color:#fff;background:var(--color-brand-500, #5048ED);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.profile-submit-btn:hover{background:var(--color-brand-600, #433BD9)}.profile-submit-btn:disabled{opacity:.6;cursor:not-allowed}.profile-alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:8px}.profile-alert.error{background:#fee2e2;color:#dc2626;border:1px solid #FECACA}.profile-alert.success{background:#5048ed1a;color:var(--color-brand-500, #5048ED);border:1px solid rgba(80,72,237,.2)}.password-requirements{background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;padding:16px;margin:16px 0;width:100%;box-sizing:border-box}.password-requirement{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--zango-gray-600, #6B7280);margin-bottom:8px;transition:color .2s ease}.password-requirement:last-child{margin-bottom:0}.password-requirement svg{flex-shrink:0}.password-requirement svg path{fill:#9ca3af;transition:fill .2s ease}.password-requirement.met{color:var(--color-brand-500, #5048ED)}.password-requirement.met svg path{fill:var(--color-brand-500, #5048ED)}.welcome-banner{background:linear-gradient(135deg,#5048ed0d,#7c3aed0d,#ec48990d);border:1px solid rgba(80,72,237,.2);border-radius:12px;padding:24px;text-align:center;margin-bottom:24px}.welcome-banner svg{margin-bottom:16px}.welcome-banner h3{font-size:18px;font-weight:600;color:var(--zango-gray-900, #111827);margin:0 0 8px}.welcome-banner p{font-size:14px;color:var(--zango-gray-600, #6B7280);max-width:400px;margin:0 auto}.empty-value{color:#9ca3af;font-style:italic;font-weight:400}.field-icon{width:16px;height:16px;flex-shrink:0}.profile-field-section{transition:background .2s ease;padding:0 0 16px}.profile-field-section:hover{background:#00000003}.logout-section{margin-top:20px;padding-top:20px;border-top:1px solid #E5E7EB}.logout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;color:#dc2626;background:#fff;border:1px solid #DC2626;border-radius:8px;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#fef2f2;color:#b91c1c;border-color:#b91c1c}.logout-button svg{width:16px;height:16px;stroke:currentColor}@media(max-width:768px){.profile-main-content{padding:16px}.profile-content-wrapper{padding:16px;max-width:100%}.profile-tabs{margin:0 -16px 20px;padding:0 16px}.profile-tab{flex:1;text-align:center}.session-info{flex-direction:column;align-items:flex-start;gap:8px}.session-item{flex-direction:column;align-items:flex-start;gap:12px}}.password-history-list{margin-top:16px}.password-history-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--zango-gray-50, #F9FAFB);border-radius:8px;margin-bottom:12px;transition:all .2s ease}.password-history-item:last-child{margin-bottom:0}.password-history-item:hover{background:var(--zango-gray-100, #F3F4F6)}.history-icon{width:40px;height:40px;background:var(--zango-brand-100, rgba(80, 72, 237, .1));border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.history-icon svg{color:var(--zango-brand-600, #5048ED)}.history-details{flex:1}.history-text{font-size:14px;font-weight:500;color:var(--zango-gray-900, #111827);margin:0 0 2px}.history-time{font-size:12px;color:var(--zango-gray-600, #6B7280);margin:0}.no-password-history{text-align:center;padding:24px 16px;color:var(--zango-gray-600, #6B7280)}.no-password-history p{margin:0;font-size:14px}.password-disabled-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;color:var(--zango-error-600, #DC2626);background:var(--zango-error-100, #FEE2E2);border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.password-expired{color:var(--zango-error-600, #DC2626);font-weight:600}.token-type{font-size:12px;color:var(--color-brand-500, #5048ED);margin:2px 0 4px;font-weight:500}.token-expiry{font-size:12px;color:var(--zango-gray-600, #6B7280);margin:4px 0 0}.header-container{height:56px;width:100%;background:#fff;justify-content:flex-end;border-bottom:1px solid #E9EAEB;align-items:center;padding:0 20px;display:flex;position:relative}.topbar-content{width:100%;display:flex;justify-content:space-between;align-items:center}.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}.dropdown{position:relative}.profile-dropdown-menu-button{display:flex;gap:20px;align-items:center;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background-color .2s ease}.profile-dropdown-menu-button:hover{background-color:var(--color-gray-100, #f5f5f5)}.profile-info-wrapper{display:flex;align-items:center;gap:8px}.profile-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden}.profile-name{font-size:14px;font-weight:500;color:var(--color-Gray-900, #252b37)}.dropdown-arrow{transition:transform .2s cubic-bezier(.16,1,.3,1)}.dropdown-arrow.open{transform:rotate(180deg)}.profile-dropdown-menu{border-radius:8px;border:1px solid var(--color-gray-200, #E9EAEB);background:var(--color-background, #FFFFFF);box-shadow:0 12px 12px -4px #0a0d1214,0 -4px 6px -2px #0a0d120f,0 -2px 2px -2px #0a0d120d;min-width:158px;position:absolute;right:0;top:calc(100% + 10px);z-index:1000;list-style:none;margin:0;padding:0;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.95);transition:all .2s cubic-bezier(.16,1,.3,1);overflow:hidden}.profile-dropdown-menu *{cursor:pointer!important}.profile-dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.profile-dropdown-menu li{margin:0}.dropdown-item{display:flex;align-items:center;padding:8px 12px;color:#717680;text-decoration:none;font-size:14px;transition:all .2s ease;cursor:pointer!important;background:none;border:none;width:100%;text-align:left;gap:8px}.dropdown-item:hover{background-color:#f5f5f5;color:#252b37}.profile-dropdown-menu li:first-child .dropdown-item:hover{border-top-left-radius:8px;border-top-right-radius:8px}.profile-dropdown-menu li:last-child .dropdown-item:hover{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.dropdown-item.profile-info{padding:8px 12px;cursor:pointer}.dropdown-item.profile-info:hover{background-color:transparent;cursor:pointer}.dropdown-item.profile-info.clickable:hover{background-color:var(--color-Gray-100, #f5f5f5);cursor:pointer;border-radius:4px}.user-info-content{display:flex;align-items:center;gap:8px;cursor:pointer}.profile-role{font-weight:500;color:var(--color-Gray-900, #252b37)}.role-arrow{display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.16,1,.3,1)}.role-arrow.expanded{transform:rotate(180deg)}.profile-roles{max-height:200px;overflow-y:auto;margin:0 -16px;padding:0 16px}.profile-each-role{display:flex;align-items:center;padding:8px 12px;gap:8px;cursor:pointer;transition:all .2s ease}.profile-each-role:hover{background-color:var(--color-Gray-100, #f5f5f5)}.profile-dropdown-menu .profile-each-role:hover{border-radius:4px}.profile-each-role .label{font-size:14px;color:var(--color-Gray-700, #717680)}.profile-dropdown-divider{border:none}.profile-menu-option{display:flex;align-items:center;gap:8px;cursor:pointer}.profile-menu-name,.profile-name{font-size:12px;font-weight:500;cursor:pointer}.flex-row{flex-direction:row!important}.justify-content-between{justify-content:space-between!important}@media(max-width:768px){.topbar{padding:0 16px}.profile-dropdown-menu{right:-16px}}.layout{width:100vw;height:100vh;overflow:hidden}.layout-wrapper{display:flex;height:100vh;background-color:var(--color-background, #ffffff)}.layout-main{display:flex;flex-direction:column;overflow:hidden;transition:width .3s ease;flex:1;position:relative}.layout-content{flex:1;overflow-y:auto;background-color:var(--color-background, #ffffff);position:relative}.layout-content:has(.content-spinner-container.active)>:not(.content-spinner-container){opacity:0;transition:opacity .2s ease-in}.layout-content>:not(.content-spinner-container){opacity:1;transition:opacity .3s ease-in}.layout-loading,.layout-error{display:flex;align-items:center;justify-content:center;height:100vh;font-size:18px;color:var(--color-Gray-700, #717680)}.layout-error{color:var(--color-error-500, #f04438)}@media(max-width:768px){.layout-content{padding:16px}.layout-main{width:100vw!important}}.content-spinner-container{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:18px;z-index:99;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease-out}.content-spinner-container.active{opacity:1;visibility:visible;pointer-events:all;transition:none}.spinner{width:64px;height:64px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.d-flex{display:flex!important}.flex-column{flex-direction:column!important}.flex-grow-1{flex-grow:1!important}.p-0{padding:0!important}.dvh-100{height:100dvh!important}.complete-hidden-scroll-style::-webkit-scrollbar{display:none}.complete-hidden-scroll-style{-ms-overflow-style:none;scrollbar-width:none}.zango-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:16px;color:#6d7280}.zango-no-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:2rem;text-align:center;color:#374151}.zango-no-menu h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:#1f2937}.zango-no-menu p{font-size:1rem;color:#6b7280;margin:0;max-width:400px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
- import { b as e, p as o, m as t, f as i, C as r, g, a as l, D as n, c as p, ap as u, L as A, h as c, d as P, N as d, an as C, am as f, ao as h, R as S, al as m, S as L, e as v, U as w, A as U, ar as k, ax as b, B as x, V as D, P as F, K as R, Q as T, M as y, O as N, $ as q, af as I, as as O, E as V, a8 as j, a9 as B, aa as E, s as G, r as H, W as Q, l as Z, z, x as J, X as K, w as M, v as W, F as X, y as Y, Y as _, a2 as $, H as aa, t as sa, I as ea, a5 as oa, a4 as ta, a3 as ia, au as ra, at as ga, av as la, ai as na, aj as pa, a6 as ua, ak as Aa, a7 as ca, ah as Pa, ag as da, aw as Ca, ab as fa, G as ha, ae as Sa, a1 as ma, a0 as La, ad as va, J as wa, Z as Ua, ac as ka, _ as ba, j as xa, u as Da, o as Fa, q as Ra, n as Ta, aq as ya, k as Na, i as qa } from "./index.framework-Bu5-4Nwj.js";
2
+ import { b as e, p as o, m as t, f as i, C as r, g, a as l, D as p, c as n, at as u, L as A, h as c, d, N as P, ar as C, aq as h, as as f, R as S, ap as m, S as L, e as v, U as w, A as U, av as R, aB as k, E as x, Z as b, X as D, Q as F, Y as y, V as N, W as T, a3 as V, aj as q, aw as B, F as I, ac as O, ad as j, ae as z, s as E, r as G, _ as H, l as M, B as Q, y as Z, $ as J, x as K, v as W, G as X, z as Y, O as _, a0 as $, a6 as aa, P as sa, I as ea, t as oa, J as ta, a9 as ia, a8 as ra, a7 as ga, ay as la, ax as pa, az as na, am as ua, an as Aa, aa as ca, ao as da, ab as Pa, al as Ca, ak as ha, aA as fa, af as Sa, H as ma, ai as La, a5 as va, a4 as wa, ah as Ua, K as Ra, a1 as ka, ag as xa, a2 as ba, j as Da, u as Fa, o as ya, q as Na, n as Ta, au as Va, k as qa, i as Ba, M as Ia, w as Oa } from "./index.framework-C8rWvyqw.js";
3
3
  export {
4
4
  e as AppProvider,
5
5
  o as AuthConfigProvider,
@@ -8,85 +8,89 @@ export {
8
8
  r as CrudPage,
9
9
  g as CustomPageFallback,
10
10
  l as CustomPageLoader,
11
- n as DocumentHead,
12
- p as Layout,
11
+ p as DocumentHead,
12
+ n as Layout,
13
13
  u as LoginContext,
14
14
  A as LoginPage,
15
15
  c as LogoutPage,
16
- P as Navbar,
17
- d as NotFoundPage,
16
+ d as Navbar,
17
+ P as NotFoundPage,
18
18
  C as OTPLoginForm,
19
- f as PasswordLoginForm,
20
- h as PasswordResetRequired,
19
+ h as PasswordLoginForm,
20
+ f as PasswordResetRequired,
21
21
  S as RoleSelection,
22
22
  m as SSOButtons,
23
23
  L as SmartLink,
24
24
  v as Topbar,
25
25
  w as UserProfileDrawer,
26
26
  U as ZangoApp,
27
- k as authApi,
28
- b as authService,
27
+ R as authApi,
28
+ k as authService,
29
29
  x as buildApiUrl,
30
- D as callApi,
31
- F as callDeleteApi,
32
- R as callGetApi,
33
- T as callPatchApi,
34
- y as callPostApi,
35
- N as callPutApi,
36
- q as changePassword,
37
- I as changeRole,
38
- O as configApi,
39
- V as deleteCookie,
40
- j as fetchAppInitData,
41
- B as fetchUserProfile,
42
- E as fetchUserSessions,
43
- G as generateCSSVariables,
44
- H as generatePalette,
45
- Q as generateQueryString,
46
- Z as getApiConfig,
47
- z as getApiTimeout,
48
- J as getApiUrl,
49
- K as getAppInitData,
50
- M as getColor,
30
+ b as callApi,
31
+ D as callDeleteApi,
32
+ F as callGetApi,
33
+ y as callPatchApi,
34
+ N as callPostApi,
35
+ T as callPutApi,
36
+ V as changePassword,
37
+ q as changeRole,
38
+ B as configApi,
39
+ I as deleteCookie,
40
+ O as fetchAppInitData,
41
+ j as fetchUserProfile,
42
+ z as fetchUserSessions,
43
+ E as generateCSSVariables,
44
+ G as generatePalette,
45
+ H as generateQueryString,
46
+ M as getApiConfig,
47
+ Q as getApiTimeout,
48
+ Z as getApiUrl,
49
+ J as getAppInitData,
50
+ K as getColor,
51
51
  W as getContrastColor,
52
52
  X as getCookie,
53
53
  Y as getEndpoint,
54
- _ as getUserProfile,
55
- $ as getUserSessions,
56
- aa as isAuthenticatedViaCookie,
57
- sa as isLightColor,
58
- ea as logoCache,
59
- oa as logout,
60
- ta as logoutAllSessions,
61
- ia as logoutSession,
62
- ra as mfaApi,
63
- ga as otpApi,
64
- la as passwordApi,
65
- na as performAppLogout,
66
- pa as performDirectLogout,
67
- ua as performLogout,
68
- Aa as pingSession,
69
- ca as pingSessionSecurity,
70
- Pa as removeAllSessions,
71
- da as removeSession,
72
- Ca as roleApi,
73
- fa as saveUserProfile,
74
- ha as setCookie,
75
- Sa as setTwoFactor,
76
- ma as switchRole,
77
- La as toggleTwoFactor,
78
- va as updatePassword,
79
- wa as updateSvgColors,
80
- Ua as updateUserProfile,
81
- ka as uploadPhoto,
54
+ _ as getNextParam,
55
+ $ as getUserProfile,
56
+ aa as getUserSessions,
57
+ sa as getValidRedirectUrl,
58
+ ea as isAuthenticatedViaCookie,
59
+ oa as isLightColor,
60
+ ta as logoCache,
61
+ ia as logout,
62
+ ra as logoutAllSessions,
63
+ ga as logoutSession,
64
+ la as mfaApi,
65
+ pa as otpApi,
66
+ na as passwordApi,
67
+ ua as performAppLogout,
68
+ Aa as performDirectLogout,
69
+ ca as performLogout,
70
+ da as pingSession,
71
+ Pa as pingSessionSecurity,
72
+ Ca as removeAllSessions,
73
+ ha as removeSession,
74
+ fa as roleApi,
75
+ Sa as saveUserProfile,
76
+ ma as setCookie,
77
+ La as setTwoFactor,
78
+ va as switchRole,
79
+ wa as toggleTwoFactor,
80
+ Ua as updatePassword,
81
+ Ra as updateSvgColors,
82
+ ka as updateUserProfile,
83
+ xa as uploadPhoto,
82
84
  ba as uploadProfilePhoto,
83
- xa as useApiConfig,
84
- Da as useAppContext,
85
- Fa as useAuth,
86
- Ra as useAuthConfig,
85
+ Da as useApiConfig,
86
+ Fa as useAppContext,
87
+ ya as useAuth,
88
+ Na as useAuthConfig,
87
89
  Ta as useAuthContext,
88
- ya as useLoginContext,
89
- Na as useRouteConfig,
90
- qa as useSmartNavigation
90
+ Va as useLoginContext,
91
+ qa as useRouteConfig,
92
+ Ba as useSmartNavigation,
93
+ Ia as validateRedirectUrl,
94
+ Oa as withMultiStepAuth
91
95
  };
92
96
  //# sourceMappingURL=zango-crm-framework.js.map