@nethesis/phone-island 0.7.67 → 0.7.69

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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/tslib/tslib.es6.js"),t=require("react"),n=require("../Button.js");require("../../node_modules/react-redux/es/index.js");var r=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),i=require("../../lib/island/island.js"),a=require("./ListAvatar.js"),l=require("../../node_modules/@nethesis/nethesis-light-svg-icons/index.mjs.js"),s=require("../../lib/phone/call.js"),u=require("../../utils/genericFunctions/timestamp.js"),o=require("../Hangup.js"),c=require("../../node_modules/react-redux/es/hooks/useSelector.js"),f=require("../../node_modules/react-redux/es/hooks/useDispatch.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=d(t);exports.TransferListView=function(){var d=c.useSelector((function(e){return e.island})).isOpen,m=c.useSelector((function(e){return e.users})).endpoints,v=c.useSelector((function(e){return e.currentUser})).username,x=t.useState(!1),w=x[0],h=x[1],E=t.useState([]),b=E[0],g=E[1],N=t.useRef(""),j=t.useState(),_=j[0],C=j[1],y=t.useRef(null),T=t.useState(!1),L=T[0],q=T[1],S=t.useState(10),k=S[0],A=S[1],F=t.useState(""),I=F[0],z=F[1],B=f.useDispatch(),W=c.useSelector((function(e){return e.currentCall})),P=W.displayName,V=W.number,D=W.startTime;function H(e){return v&&delete e[v],Object.values(e).filter((function(e){return e.endpoints.extension.find((function(e){return e.id.toLowerCase().startsWith(N.current.toLowerCase())}))||e.username.toLowerCase().startsWith(N.current.toLowerCase())||e.name.toLowerCase().startsWith(N.current.toLowerCase())}))}return t.useEffect((function(){m&&v&&(g(H(m)),h(!0))}),[m,v]),t.useEffect((function(){var e,t,n=function(){var e,t,n;q(!!(y.current&&y.current.scrollTop>3)),y.current&&(null===(e=y.current)||void 0===e?void 0:e.offsetHeight)+(null===(t=y.current)||void 0===t?void 0:t.scrollTop)>=(null===(n=y.current)||void 0===n?void 0:n.scrollHeight)-10&&A((function(e){return e+10}))};return d?null===(e=y.current)||void 0===e||e.addEventListener("scroll",n):null===(t=y.current)||void 0===t||t.removeEventListener("scroll",n),function(){var e;return null===(e=y.current)||void 0===e?void 0:e.removeEventListener("scroll",n)}}),[d]),t.useEffect((function(){z("")}),[N.current]),p.default.createElement(p.default.Fragment,null,d?p.default.createElement("div",{className:"pi-relative pi-flex pi-flex-col pi-gap-7"},p.default.createElement("div",{className:"pi-flex pi-gap-4"},p.default.createElement(n.Button,{variant:"transparent",onClick:i.backToCallView},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faArrowLeft})),p.default.createElement("input",{"data-stop-propagation":!0,type:"text",onChange:function(e){N.current=e.currentTarget.value,m&&g(H(m)),/^[0-9*#+]+$/.test(N.current)?C(!0):C(!1)},value:N.current,autoFocus:!0,className:"pi-w-full pi-rounded-full pi-bg-black pi-border-2 pi-border-emerald-500 active:pi-border-emerald-500 focus:pi-border-emerald-500 pi-text-white pi-font-sans pi-font-light pi-text-xl pi-text-center pi-px-2 focus:pi-outline-0 focus:pi-ring-0"})),p.default.createElement("div",{style:{height:"272px"},ref:y,className:"pi-relative pi-w-full pi-flex pi-flex-col pi-gap-2 pi-overflow-y-auto pi-overflow-x-hidden pi-custom-scrollbar"},L&&p.default.createElement("div",{style:{right:"35px",left:"35px"},className:"pi-fixed pi-z-10 pi-h-6 pi-bg-gradient-to-b pi-from-black pi-to-transparent pi-pointer-events-none"}),_&&0===b.length&&p.default.createElement("div",{className:"pi-flex pi-items-center pi-w-full pi-justify-between pi-px-3 pi-py-1"},p.default.createElement("div",{className:"pi-flex pi-items-center pi-gap-4"},p.default.createElement(a.default,null),p.default.createElement("div",{style:{maxWidth:"146px"},className:"pi-h-fit pi-max-w-40 pi-font-sans pi-truncate pi-text-sm pi-font-bold"},N.current)),p.default.createElement("div",{className:"pi-flex pi-gap-3.5"},p.default.createElement(n.Button,{variant:"default"},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faArrowUpToLine})),p.default.createElement(n.Button,{onClick:function(){return s.blindTransfer(N.current)},variant:"default"},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faPhone})))),b&&b.slice(0,k).map((function(t,i){return p.default.createElement("div",{key:i,className:"pi-flex pi-items-center pi-w-full pi-justify-between pi-px-3 pi-py-1"},p.default.createElement("div",{className:"pi-flex pi-items-center pi-gap-4"},p.default.createElement(a.default,{username:t.username,status:t.mainPresence}),p.default.createElement("div",{style:{maxWidth:"146px"},className:"pi-h-fit pi-max-w-40 pi-font-sans pi-truncate pi-text-sm pi-font-bold"},t.name)),p.default.createElement("div",{className:"pi-flex pi-gap-3.5"},p.default.createElement(n.Button,{active:t.username===I,onClick:function(){return z(t.username)},variant:"default"},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faArrowUpToLine})),p.default.createElement(n.Button,{onClick:function(){return function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,s.attendedTransfer(t.endpoints.mainextension[0].id)];case 1:return e.sent()&&(B.island.setIslandView("call"),B.currentCall.updateCurrentCall({username:t.username,displayName:t.name,number:t.endpoints.mainextension[0].id,startTime:"".concat(u.getTimestampInSeconds()),transferring:!0,transferringName:P,transferringNumber:V,transferringStartTime:D})),[2]}}))}))}(t)},variant:"default"},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faPhone}))))})),w&&0===b.length&&!_&&p.default.createElement("p",{className:"pi-font-sans pi-font-bold pi-w-full pi-flex pi-justify-center pi-text-sm"},"No users found.")),p.default.createElement(o.default,{isDestination:""!==I,clickCallback:function(){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return I?[4,s.blindTransfer(m&&m[I].endpoints.mainextension[0].id||"")]:[3,2];case 1:!0===e.sent()&&(B.alerts.setAlert("call_transfered"),B.island.setIslandView("call"),setTimeout((function(){B.alerts.removeAlert("call_transfered")}),4e3)),e.label=2;case 2:return[2]}}))}))}})):p.default.createElement("div",{className:"pi-font-medium pi-text-base pi-font-sans"},"Transfer"))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/tslib/tslib.es6.js"),t=require("react"),n=require("../Button.js");require("../../node_modules/react-redux/es/index.js");var r=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),i=require("../../lib/island/island.js"),a=require("./ListAvatar.js"),l=require("../../node_modules/@nethesis/nethesis-light-svg-icons/index.mjs.js"),s=require("../../lib/phone/call.js"),u=require("../../utils/genericFunctions/timestamp.js"),o=require("../Hangup.js"),c=require("../../node_modules/react-redux/es/hooks/useSelector.js"),f=require("../../node_modules/react-redux/es/hooks/useDispatch.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=d(t);exports.TransferListView=function(){var d=c.useSelector((function(e){return e.island})).isOpen,m=c.useSelector((function(e){return e.users})).endpoints,v=c.useSelector((function(e){return e.currentUser})).username,x=t.useState(!1),b=x[0],h=x[1],w=t.useState([]),g=w[0],E=w[1],N=t.useRef(""),j=t.useState(),y=j[0],_=j[1],C=t.useRef(null),T=t.useState(!1),k=T[0],L=T[1],q=t.useState(10),S=q[0],A=q[1],F=t.useState(""),I=F[0],z=F[1],B=f.useDispatch(),W=c.useSelector((function(e){return e.currentCall})),P=W.displayName,V=W.number,D=W.startTime;function H(e){return v&&delete e[v],Object.values(e).filter((function(e){return e.endpoints.extension.find((function(e){return e.id.toLowerCase().startsWith(N.current.toLowerCase())}))||e.username.toLowerCase().startsWith(N.current.toLowerCase())||e.name.toLowerCase().startsWith(N.current.toLowerCase())}))}return t.useEffect((function(){m&&v&&(E(H(m)),h(!0))}),[m,v]),t.useEffect((function(){var e,t,n=function(){var e,t,n;L(!!(C.current&&C.current.scrollTop>3)),C.current&&(null===(e=C.current)||void 0===e?void 0:e.offsetHeight)+(null===(t=C.current)||void 0===t?void 0:t.scrollTop)>=(null===(n=C.current)||void 0===n?void 0:n.scrollHeight)-10&&A((function(e){return e+10}))};return d?null===(e=C.current)||void 0===e||e.addEventListener("scroll",n):null===(t=C.current)||void 0===t||t.removeEventListener("scroll",n),function(){var e;return null===(e=C.current)||void 0===e?void 0:e.removeEventListener("scroll",n)}}),[d]),t.useEffect((function(){z("")}),[N.current]),p.default.createElement(p.default.Fragment,null,d?p.default.createElement("div",{className:"pi-relative pi-flex pi-flex-col pi-gap-7"},p.default.createElement("div",{className:"pi-flex pi-gap-4"},p.default.createElement(n.Button,{variant:"transparent",onClick:i.backToCallView},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faArrowLeft})),p.default.createElement("input",{"data-stop-propagation":!0,type:"text",onChange:function(e){N.current=e.currentTarget.value,m&&E(H(m)),/^[0-9*#+]+$/.test(N.current)?_(!0):_(!1)},value:N.current,autoFocus:!0,className:"pi-w-full pi-rounded-full pi-bg-black pi-border-2 pi-border-emerald-500 active:pi-border-emerald-500 focus:pi-border-emerald-500 pi-text-white pi-font-sans pi-font-light pi-text-xl pi-text-center pi-px-2 focus:pi-outline-0 focus:pi-ring-0"})),p.default.createElement("div",{style:{height:"272px"},ref:C,className:"pi-relative pi-w-full pi-flex pi-flex-col pi-gap-2 pi-overflow-y-auto pi-overflow-x-hidden pi-scrollbar-thin pi-scrollbar-thumb-gray-500 pi-scrollbar-track-black pi-scrollbar-thumb-rounded-full pi-scrollbar-track-rounded-full hover:pi-scrollbar-thumb-gray-400"},k&&p.default.createElement("div",{style:{right:"35px",left:"35px"},className:"pi-fixed pi-z-10 pi-h-6 pi-bg-gradient-to-b pi-from-black pi-to-transparent pi-pointer-events-none"}),y&&0===g.length&&p.default.createElement("div",{className:"pi-flex pi-items-center pi-w-full pi-justify-between pi-px-3 pi-py-1"},p.default.createElement("div",{className:"pi-flex pi-items-center pi-gap-4"},p.default.createElement(a.default,null),p.default.createElement("div",{style:{maxWidth:"146px"},className:"pi-h-fit pi-max-w-40 pi-font-sans pi-truncate pi-text-sm pi-font-bold"},N.current)),p.default.createElement("div",{className:"pi-flex pi-gap-3.5"},p.default.createElement(n.Button,{variant:"default"},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faArrowUpToLine})),p.default.createElement(n.Button,{onClick:function(){return s.blindTransfer(N.current)},variant:"default"},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faPhone})))),g&&g.slice(0,S).map((function(t,i){return p.default.createElement("div",{key:i,className:"pi-flex pi-items-center pi-w-full pi-justify-between pi-px-3 pi-py-1"},p.default.createElement("div",{className:"pi-flex pi-items-center pi-gap-4"},p.default.createElement(a.default,{username:t.username,status:t.mainPresence}),p.default.createElement("div",{style:{maxWidth:"146px"},className:"pi-h-fit pi-max-w-40 pi-font-sans pi-truncate pi-text-sm pi-font-bold"},t.name)),p.default.createElement("div",{className:"pi-flex pi-gap-3.5"},p.default.createElement(n.Button,{active:t.username===I,onClick:function(){return z(t.username)},variant:"default"},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faArrowUpToLine})),p.default.createElement(n.Button,{onClick:function(){return function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,s.attendedTransfer(t.endpoints.mainextension[0].id)];case 1:return e.sent()&&(B.island.setIslandView("call"),B.currentCall.updateCurrentCall({username:t.username,displayName:t.name,number:t.endpoints.mainextension[0].id,startTime:"".concat(u.getTimestampInSeconds()),transferring:!0,transferringName:P,transferringNumber:V,transferringStartTime:D})),[2]}}))}))}(t)},variant:"default"},p.default.createElement(r.FontAwesomeIcon,{size:"xl",icon:l.faPhone}))))})),b&&0===g.length&&!y&&p.default.createElement("p",{className:"pi-font-sans pi-font-bold pi-w-full pi-flex pi-justify-center pi-text-sm"},"No users found.")),p.default.createElement(o.default,{isDestination:""!==I,clickCallback:function(){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return I?[4,s.blindTransfer(m&&m[I].endpoints.mainextension[0].id||"")]:[3,2];case 1:!0===e.sent()&&(B.alerts.setAlert("call_transfered"),B.island.setIslandView("call"),setTimeout((function(){B.alerts.removeAlert("call_transfered")}),4e3)),e.label=2;case 2:return[2]}}))}))}})):p.default.createElement("div",{className:"pi-font-medium pi-text-base pi-font-sans"},"Transfer"))};
2
2
  //# sourceMappingURL=TransferList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransferList.js","sources":["../../../src/components/TransferView/TransferList.tsx"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useEffect, useState, FormEvent, useRef } from 'react'\nimport { Button } from '../Button'\nimport { RootState } from '../../store'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { backToCallView } from '../../lib/island/island'\nimport ListAvatar from './ListAvatar'\nimport {\n faArrowUpToLine,\n faPhone as faPhoneLight,\n faArrowLeft,\n} from '@nethesis/nethesis-light-svg-icons'\nimport { UserEndpointsTypes, UsersEndpointsTypes } from '../../types'\nimport { blindTransfer, attendedTransfer } from '../../lib/phone/call'\nimport { Dispatch } from '../../store'\nimport { getTimestampInSeconds } from '../../utils/genericFunctions/timestamp'\nimport Hangup from '../Hangup'\n\nconst USERS_NUMBER_PER_PAGE = 10\nconst SHOW_LIST_GRADIENT_DISTANCE = 3\n\nexport const TransferListView: FC<TransferListViewProps> = () => {\n const { isOpen } = useSelector((state: RootState) => state.island)\n const { endpoints } = useSelector((state: RootState) => state.users)\n const { username } = useSelector((state: RootState) => state.currentUser)\n const [loaded, setLoaded] = useState<boolean>(false)\n const [listUsers, setListUsers] = useState<UserEndpointsTypes[]>([])\n const searchValue = useRef<string>('')\n const [showCustomUser, setShowCustomUser] = useState<boolean>()\n const relativeRef = useRef<HTMLDivElement>(null)\n const [showGradient, setShowGradient] = useState<boolean>(false)\n const [showingUsers, setShowingUsers] = useState<number>(USERS_NUMBER_PER_PAGE)\n const [transferDestination, setTransferDestination] = useState<string>('')\n const dispatch = useDispatch<Dispatch>()\n const { displayName, number, startTime } = useSelector((state: RootState) => state.currentCall)\n\n function handleChange(event: FormEvent<HTMLInputElement>) {\n // Update search value\n searchValue.current = event.currentTarget.value\n // Filter the users list\n endpoints && setListUsers(filterUsers(endpoints))\n // Check if custom user to call must be visible\n if (/^[0-9*#+]+$/.test(searchValue.current)) {\n setShowCustomUser(true)\n } else {\n setShowCustomUser(false)\n }\n }\n\n function filterUsers(endpoints: UsersEndpointsTypes) {\n // Remove the currentUser from the list\n username && delete endpoints[username]\n // Filter the users\n return Object.values(endpoints).filter(\n (userEndpoints: UserEndpointsTypes) =>\n userEndpoints.endpoints.extension.find((extension) =>\n extension.id.toLowerCase().startsWith(searchValue.current.toLowerCase()),\n ) ||\n userEndpoints.username.toLowerCase().startsWith(searchValue.current.toLowerCase()) ||\n userEndpoints.name.toLowerCase().startsWith(searchValue.current.toLowerCase()),\n )\n }\n\n async function handleHangupAndTransfer() {\n // Manage blind transfer and hangup\n if (transferDestination) {\n const transfered = await blindTransfer(\n (endpoints && endpoints[transferDestination].endpoints.mainextension[0].id) || '',\n )\n if (transfered === true) {\n dispatch.alerts.setAlert('call_transfered')\n dispatch.island.setIslandView('call')\n setTimeout(() => {\n dispatch.alerts.removeAlert('call_transfered')\n }, 4000)\n }\n }\n }\n\n async function handleAttendedTransfer(userEndpoints: UserEndpointsTypes) {\n const transferring = await attendedTransfer(userEndpoints.endpoints.mainextension[0].id)\n if (transferring) {\n dispatch.island.setIslandView('call')\n // Force current call to achieve the expected behavior\n dispatch.currentCall.updateCurrentCall({\n username: userEndpoints.username,\n displayName: userEndpoints.name,\n number: userEndpoints.endpoints.mainextension[0].id,\n startTime: `${getTimestampInSeconds()}`,\n transferring: true,\n transferringName: displayName,\n transferringNumber: number,\n transferringStartTime: startTime,\n })\n }\n }\n\n // Initialize users list\n useEffect(() => {\n if (endpoints && username) {\n setListUsers(filterUsers(endpoints))\n setLoaded(true)\n }\n }, [endpoints, username])\n\n useEffect(() => {\n // Handle users list scrolling\n const handleScroll = () => {\n setShowGradient(\n relativeRef.current && relativeRef.current.scrollTop > SHOW_LIST_GRADIENT_DISTANCE\n ? true\n : false,\n )\n // Manage scroll to bottom\n if (\n relativeRef.current &&\n relativeRef.current?.offsetHeight + relativeRef.current?.scrollTop >=\n relativeRef.current?.scrollHeight - 10\n ) {\n // Improve showing users\n setShowingUsers((state) => state + USERS_NUMBER_PER_PAGE)\n }\n }\n // Manage expansion and collapsing\n if (isOpen) {\n relativeRef.current?.addEventListener('scroll', handleScroll)\n } else {\n relativeRef.current?.removeEventListener('scroll', handleScroll)\n }\n return () => relativeRef.current?.removeEventListener('scroll', handleScroll)\n }, [isOpen])\n\n // Reset transfer destination value when search value changes\n useEffect(() => {\n setTransferDestination('')\n }, [searchValue.current])\n\n return (\n <>\n {isOpen ? (\n <div className='pi-relative pi-flex pi-flex-col pi-gap-7'>\n <div className='pi-flex pi-gap-4'>\n <Button variant='transparent' onClick={backToCallView}>\n <FontAwesomeIcon size='xl' icon={faArrowLeft} />\n </Button>\n <input\n data-stop-propagation={true}\n type='text'\n onChange={handleChange}\n value={searchValue.current}\n autoFocus\n className='pi-w-full pi-rounded-full pi-bg-black pi-border-2 pi-border-emerald-500 active:pi-border-emerald-500 focus:pi-border-emerald-500 pi-text-white pi-font-sans pi-font-light pi-text-xl pi-text-center pi-px-2 focus:pi-outline-0 focus:pi-ring-0'\n />\n </div>\n <div\n style={{ height: '272px' }}\n ref={relativeRef}\n className='pi-relative pi-w-full pi-flex pi-flex-col pi-gap-2 pi-overflow-y-auto pi-overflow-x-hidden pi-custom-scrollbar'\n >\n {showGradient && (\n <div\n style={{ right: '35px', left: '35px' }}\n className='pi-fixed pi-z-10 pi-h-6 pi-bg-gradient-to-b pi-from-black pi-to-transparent pi-pointer-events-none'\n ></div>\n )}\n {/* The custom user */}\n {showCustomUser && listUsers.length === 0 && (\n <div className='pi-flex pi-items-center pi-w-full pi-justify-between pi-px-3 pi-py-1'>\n <div className='pi-flex pi-items-center pi-gap-4'>\n <ListAvatar />\n <div\n style={{ maxWidth: '146px' }}\n className='pi-h-fit pi-max-w-40 pi-font-sans pi-truncate pi-text-sm pi-font-bold'\n >\n {searchValue.current}\n </div>\n </div>\n <div className='pi-flex pi-gap-3.5'>\n <Button variant='default'>\n <FontAwesomeIcon size='xl' icon={faArrowUpToLine} />\n </Button>\n <Button onClick={() => blindTransfer(searchValue.current)} variant='default'>\n <FontAwesomeIcon size='xl' icon={faPhoneLight} />\n </Button>\n </div>\n </div>\n )}\n {/* The users list */}\n {listUsers &&\n listUsers.slice(0, showingUsers).map((userEndpoints, i) => (\n <div\n key={i}\n className='pi-flex pi-items-center pi-w-full pi-justify-between pi-px-3 pi-py-1'\n >\n <div className='pi-flex pi-items-center pi-gap-4'>\n <ListAvatar\n username={userEndpoints.username}\n status={userEndpoints.mainPresence}\n />\n <div\n style={{ maxWidth: '146px' }}\n className='pi-h-fit pi-max-w-40 pi-font-sans pi-truncate pi-text-sm pi-font-bold'\n >\n {userEndpoints.name}\n </div>\n </div>\n <div className='pi-flex pi-gap-3.5'>\n <Button\n active={userEndpoints.username === transferDestination}\n onClick={() => setTransferDestination(userEndpoints.username)}\n variant='default'\n >\n <FontAwesomeIcon size='xl' icon={faArrowUpToLine} />\n </Button>\n <Button onClick={() => handleAttendedTransfer(userEndpoints)} variant='default'>\n <FontAwesomeIcon size='xl' icon={faPhoneLight} />\n </Button>\n </div>\n </div>\n ))}\n {loaded && listUsers.length === 0 && !showCustomUser && (\n <p className='pi-font-sans pi-font-bold pi-w-full pi-flex pi-justify-center pi-text-sm'>\n No users found.\n </p>\n )}\n </div>\n <Hangup\n isDestination={transferDestination !== ''}\n clickCallback={handleHangupAndTransfer}\n />\n </div>\n ) : (\n <div className='pi-font-medium pi-text-base pi-font-sans'>Transfer</div>\n )}\n </>\n )\n}\n\ninterface TransferListViewProps {}\n"],"names":["isOpen","useSelector","state","island","endpoints","users","username","currentUser","_a","useState","loaded","setLoaded","_b","listUsers","setListUsers","searchValue","useRef","_c","showCustomUser","setShowCustomUser","relativeRef","_d","showGradient","setShowGradient","_e","showingUsers","setShowingUsers","_f","transferDestination","setTransferDestination","dispatch","useDispatch","_g","currentCall","displayName","number","startTime","filterUsers","Object","values","filter","userEndpoints","extension","find","id","toLowerCase","startsWith","current","name","useEffect","handleScroll","scrollTop","offsetHeight","scrollHeight","addEventListener","removeEventListener","React","createElement","Fragment","className","Button","variant","onClick","backToCallView","FontAwesomeIcon","size","icon","faArrowLeft","type","onChange","event","currentTarget","value","test","autoFocus","style","height","ref","right","left","length","ListAvatar","maxWidth","faArrowUpToLine","blindTransfer","faPhoneLight","faPhone","slice","map","i","key","status","mainPresence","active","attendedTransfer","mainextension","sent","setIslandView","updateCurrentCall","concat","getTimestampInSeconds","transferring","transferringName","transferringNumber","transferringStartTime","handleAttendedTransfer","Hangup","isDestination","clickCallback","alerts","setAlert","setTimeout","removeAlert"],"mappings":"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"}
1
+ {"version":3,"file":"TransferList.js","sources":["../../../src/components/TransferView/TransferList.tsx"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useEffect, useState, FormEvent, useRef } from 'react'\nimport { Button } from '../Button'\nimport { RootState } from '../../store'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { backToCallView } from '../../lib/island/island'\nimport ListAvatar from './ListAvatar'\nimport {\n faArrowUpToLine,\n faPhone as faPhoneLight,\n faArrowLeft,\n} from '@nethesis/nethesis-light-svg-icons'\nimport { UserEndpointsTypes, UsersEndpointsTypes } from '../../types'\nimport { blindTransfer, attendedTransfer } from '../../lib/phone/call'\nimport { Dispatch } from '../../store'\nimport { getTimestampInSeconds } from '../../utils/genericFunctions/timestamp'\nimport Hangup from '../Hangup'\n\nconst USERS_NUMBER_PER_PAGE = 10\nconst SHOW_LIST_GRADIENT_DISTANCE = 3\n\nexport const TransferListView: FC<TransferListViewProps> = () => {\n const { isOpen } = useSelector((state: RootState) => state.island)\n const { endpoints } = useSelector((state: RootState) => state.users)\n const { username } = useSelector((state: RootState) => state.currentUser)\n const [loaded, setLoaded] = useState<boolean>(false)\n const [listUsers, setListUsers] = useState<UserEndpointsTypes[]>([])\n const searchValue = useRef<string>('')\n const [showCustomUser, setShowCustomUser] = useState<boolean>()\n const relativeRef = useRef<HTMLDivElement>(null)\n const [showGradient, setShowGradient] = useState<boolean>(false)\n const [showingUsers, setShowingUsers] = useState<number>(USERS_NUMBER_PER_PAGE)\n const [transferDestination, setTransferDestination] = useState<string>('')\n const dispatch = useDispatch<Dispatch>()\n const { displayName, number, startTime } = useSelector((state: RootState) => state.currentCall)\n\n function handleChange(event: FormEvent<HTMLInputElement>) {\n // Update search value\n searchValue.current = event.currentTarget.value\n // Filter the users list\n endpoints && setListUsers(filterUsers(endpoints))\n // Check if custom user to call must be visible\n if (/^[0-9*#+]+$/.test(searchValue.current)) {\n setShowCustomUser(true)\n } else {\n setShowCustomUser(false)\n }\n }\n\n function filterUsers(endpoints: UsersEndpointsTypes) {\n // Remove the currentUser from the list\n username && delete endpoints[username]\n // Filter the users\n return Object.values(endpoints).filter(\n (userEndpoints: UserEndpointsTypes) =>\n userEndpoints.endpoints.extension.find((extension) =>\n extension.id.toLowerCase().startsWith(searchValue.current.toLowerCase()),\n ) ||\n userEndpoints.username.toLowerCase().startsWith(searchValue.current.toLowerCase()) ||\n userEndpoints.name.toLowerCase().startsWith(searchValue.current.toLowerCase()),\n )\n }\n\n async function handleHangupAndTransfer() {\n // Manage blind transfer and hangup\n if (transferDestination) {\n const transfered = await blindTransfer(\n (endpoints && endpoints[transferDestination].endpoints.mainextension[0].id) || '',\n )\n if (transfered === true) {\n dispatch.alerts.setAlert('call_transfered')\n dispatch.island.setIslandView('call')\n setTimeout(() => {\n dispatch.alerts.removeAlert('call_transfered')\n }, 4000)\n }\n }\n }\n\n async function handleAttendedTransfer(userEndpoints: UserEndpointsTypes) {\n const transferring = await attendedTransfer(userEndpoints.endpoints.mainextension[0].id)\n if (transferring) {\n dispatch.island.setIslandView('call')\n // Force current call to achieve the expected behavior\n dispatch.currentCall.updateCurrentCall({\n username: userEndpoints.username,\n displayName: userEndpoints.name,\n number: userEndpoints.endpoints.mainextension[0].id,\n startTime: `${getTimestampInSeconds()}`,\n transferring: true,\n transferringName: displayName,\n transferringNumber: number,\n transferringStartTime: startTime,\n })\n }\n }\n\n // Initialize users list\n useEffect(() => {\n if (endpoints && username) {\n setListUsers(filterUsers(endpoints))\n setLoaded(true)\n }\n }, [endpoints, username])\n\n useEffect(() => {\n // Handle users list scrolling\n const handleScroll = () => {\n setShowGradient(\n relativeRef.current && relativeRef.current.scrollTop > SHOW_LIST_GRADIENT_DISTANCE\n ? true\n : false,\n )\n // Manage scroll to bottom\n if (\n relativeRef.current &&\n relativeRef.current?.offsetHeight + relativeRef.current?.scrollTop >=\n relativeRef.current?.scrollHeight - 10\n ) {\n // Improve showing users\n setShowingUsers((state) => state + USERS_NUMBER_PER_PAGE)\n }\n }\n // Manage expansion and collapsing\n if (isOpen) {\n relativeRef.current?.addEventListener('scroll', handleScroll)\n } else {\n relativeRef.current?.removeEventListener('scroll', handleScroll)\n }\n return () => relativeRef.current?.removeEventListener('scroll', handleScroll)\n }, [isOpen])\n\n // Reset transfer destination value when search value changes\n useEffect(() => {\n setTransferDestination('')\n }, [searchValue.current])\n\n return (\n <>\n {isOpen ? (\n <div className='pi-relative pi-flex pi-flex-col pi-gap-7'>\n <div className='pi-flex pi-gap-4'>\n <Button variant='transparent' onClick={backToCallView}>\n <FontAwesomeIcon size='xl' icon={faArrowLeft} />\n </Button>\n <input\n data-stop-propagation={true}\n type='text'\n onChange={handleChange}\n value={searchValue.current}\n autoFocus\n className='pi-w-full pi-rounded-full pi-bg-black pi-border-2 pi-border-emerald-500 active:pi-border-emerald-500 focus:pi-border-emerald-500 pi-text-white pi-font-sans pi-font-light pi-text-xl pi-text-center pi-px-2 focus:pi-outline-0 focus:pi-ring-0'\n />\n </div>\n <div\n style={{ height: '272px' }}\n ref={relativeRef}\n className='pi-relative pi-w-full pi-flex pi-flex-col pi-gap-2 pi-overflow-y-auto pi-overflow-x-hidden pi-scrollbar-thin pi-scrollbar-thumb-gray-500 pi-scrollbar-track-black pi-scrollbar-thumb-rounded-full pi-scrollbar-track-rounded-full hover:pi-scrollbar-thumb-gray-400'\n >\n {showGradient && (\n <div\n style={{ right: '35px', left: '35px' }}\n className='pi-fixed pi-z-10 pi-h-6 pi-bg-gradient-to-b pi-from-black pi-to-transparent pi-pointer-events-none'\n ></div>\n )}\n {/* The custom user */}\n {showCustomUser && listUsers.length === 0 && (\n <div className='pi-flex pi-items-center pi-w-full pi-justify-between pi-px-3 pi-py-1'>\n <div className='pi-flex pi-items-center pi-gap-4'>\n <ListAvatar />\n <div\n style={{ maxWidth: '146px' }}\n className='pi-h-fit pi-max-w-40 pi-font-sans pi-truncate pi-text-sm pi-font-bold'\n >\n {searchValue.current}\n </div>\n </div>\n <div className='pi-flex pi-gap-3.5'>\n <Button variant='default'>\n <FontAwesomeIcon size='xl' icon={faArrowUpToLine} />\n </Button>\n <Button onClick={() => blindTransfer(searchValue.current)} variant='default'>\n <FontAwesomeIcon size='xl' icon={faPhoneLight} />\n </Button>\n </div>\n </div>\n )}\n {/* The users list */}\n {listUsers &&\n listUsers.slice(0, showingUsers).map((userEndpoints, i) => (\n <div\n key={i}\n className='pi-flex pi-items-center pi-w-full pi-justify-between pi-px-3 pi-py-1'\n >\n <div className='pi-flex pi-items-center pi-gap-4'>\n <ListAvatar\n username={userEndpoints.username}\n status={userEndpoints.mainPresence}\n />\n <div\n style={{ maxWidth: '146px' }}\n className='pi-h-fit pi-max-w-40 pi-font-sans pi-truncate pi-text-sm pi-font-bold'\n >\n {userEndpoints.name}\n </div>\n </div>\n <div className='pi-flex pi-gap-3.5'>\n <Button\n active={userEndpoints.username === transferDestination}\n onClick={() => setTransferDestination(userEndpoints.username)}\n variant='default'\n >\n <FontAwesomeIcon size='xl' icon={faArrowUpToLine} />\n </Button>\n <Button onClick={() => handleAttendedTransfer(userEndpoints)} variant='default'>\n <FontAwesomeIcon size='xl' icon={faPhoneLight} />\n </Button>\n </div>\n </div>\n ))}\n {loaded && listUsers.length === 0 && !showCustomUser && (\n <p className='pi-font-sans pi-font-bold pi-w-full pi-flex pi-justify-center pi-text-sm'>\n No users found.\n </p>\n )}\n </div>\n <Hangup\n isDestination={transferDestination !== ''}\n clickCallback={handleHangupAndTransfer}\n />\n </div>\n ) : (\n <div className='pi-font-medium pi-text-base pi-font-sans'>Transfer</div>\n )}\n </>\n )\n}\n\ninterface TransferListViewProps {}\n"],"names":["isOpen","useSelector","state","island","endpoints","users","username","currentUser","_a","useState","loaded","setLoaded","_b","listUsers","setListUsers","searchValue","useRef","_c","showCustomUser","setShowCustomUser","relativeRef","_d","showGradient","setShowGradient","_e","showingUsers","setShowingUsers","_f","transferDestination","setTransferDestination","dispatch","useDispatch","_g","currentCall","displayName","number","startTime","filterUsers","Object","values","filter","userEndpoints","extension","find","id","toLowerCase","startsWith","current","name","useEffect","handleScroll","scrollTop","offsetHeight","scrollHeight","addEventListener","removeEventListener","React","createElement","Fragment","className","Button","variant","onClick","backToCallView","FontAwesomeIcon","size","icon","faArrowLeft","type","onChange","event","currentTarget","value","test","autoFocus","style","height","ref","right","left","length","ListAvatar","maxWidth","faArrowUpToLine","blindTransfer","faPhoneLight","faPhone","slice","map","i","key","status","mainPresence","active","attendedTransfer","mainextension","sent","setIslandView","updateCurrentCall","concat","getTimestampInSeconds","transferring","transferringName","transferringNumber","transferringStartTime","handleAttendedTransfer","Hangup","isDestination","clickCallback","alerts","setAlert","setTimeout","removeAlert"],"mappings":"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"}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pi-pointer-events-none{pointer-events:none}.pi-pointer-events-auto{pointer-events:auto}.pi-fixed{position:fixed}.pi-absolute{position:absolute}.pi-relative{position:relative}.pi-left-0{left:0}.pi-top-0{top:0}.pi-bottom-0{bottom:0}.pi-right-0{right:0}.pi-z-1000{z-index:1000}.-pi-z-10{z-index:-10}.pi-z-10{z-index:10}.pi-col-start-auto{grid-column-start:auto}.pi-mb-6{margin-bottom:1.5rem}.-pi-mt-10{margin-top:-2.5rem}.pi-inline-block{display:inline-block}.pi-flex{display:flex}.pi-grid{display:grid}.pi-hidden{display:none}.pi-h-6{height:1.5rem}.pi-h-12{height:3rem}.pi-h-8{height:2rem}.pi-h-3{height:.75rem}.pi-h-fit{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.pi-min-h-full{min-height:100%}.pi-w-6{width:1.5rem}.pi-w-12{width:3rem}.pi-w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pi-w-0\.5{width:.125rem}.pi-w-0{width:0}.pi-w-full{width:100%}.pi-w-3{width:.75rem}.pi-min-w-full{min-width:100%}.pi-flex-shrink-0,.pi-shrink-0{flex-shrink:0}.pi-rotate-135{--tw-rotate:135deg}.pi-rotate-135,.pi-transform{-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes pi-ping{75%,to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes pi-ping{75%,to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.pi-animate-ping{-webkit-animation:pi-ping 1s cubic-bezier(0,0,.2,1) infinite;animation:pi-ping 1s cubic-bezier(0,0,.2,1) infinite}.pi-cursor-pointer{cursor:pointer}.pi-auto-cols-max{grid-auto-columns:-webkit-max-content;grid-auto-columns:max-content}.pi-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pi-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.pi-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pi-flex-col{flex-direction:column}.pi-place-items-center{place-items:center}.pi-content-center{align-content:center}.pi-items-center{align-items:center}.pi-justify-center{justify-content:center}.pi-justify-between{justify-content:space-between}.pi-justify-items-end{justify-items:end}.pi-justify-items-center{justify-items:center}.pi-gap-1{gap:.25rem}.pi-gap-4{gap:1rem}.pi-gap-5{gap:1.25rem}.pi-gap-3\.5{gap:.875rem}.pi-gap-3{gap:.75rem}.pi-gap-7{gap:1.75rem}.pi-gap-2{gap:.5rem}.pi-gap-y-5{row-gap:1.25rem}.pi-gap-y-6{row-gap:1.5rem}.pi-overflow-hidden{overflow:hidden}.pi-overflow-y-auto{overflow-y:auto}.pi-overflow-x-hidden{overflow-x:hidden}.pi-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-whitespace-nowrap{white-space:nowrap}.pi-rounded-sm{border-radius:.125rem}.pi-rounded-full{border-radius:9999px}.pi-rounded-md{border-radius:.375rem}.pi-rounded-2xl{border-radius:1rem}.pi-rounded-xl{border-radius:.75rem}.pi-border{border-width:1px}.pi-border-4{border-width:4px}.pi-border-2{border-width:2px}.pi-border-transparent{border-color:transparent}.pi-border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.pi-border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.pi-border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity))}.pi-border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.pi-border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.pi-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.pi-bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}.pi-bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.pi-bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.pi-bg-transparent{background-color:initial}.pi-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.pi-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.pi-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.pi-bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.pi-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.pi-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.pi-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.pi-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.pi-from-black{--tw-gradient-from:#000;--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.pi-to-transparent{--tw-gradient-to:transparent}.pi-p-6{padding:1.5rem}.pi-px-3{padding-left:.75rem;padding-right:.75rem}.pi-py-2{padding-bottom:.5rem;padding-top:.5rem}.pi-px-6{padding-left:1.5rem;padding-right:1.5rem}.pi-px-2{padding-left:.5rem;padding-right:.5rem}.pi-py-1{padding-bottom:.25rem;padding-top:.25rem}.pi-pt-3{padding-top:.75rem}.pi-text-center{text-align:center}.pi-font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.pi-text-sm{font-size:.875rem;line-height:1.25rem}.pi-text-base{font-size:1rem;line-height:1.5rem}.pi-text-xs{font-size:.75rem;line-height:1rem}.pi-text-2xl{font-size:1.5rem;line-height:2rem}.pi-text-xl{font-size:1.25rem;line-height:1.75rem}.pi-font-light{font-weight:300}.pi-font-medium{font-weight:500}.pi-font-bold{font-weight:700}.pi-leading-4{line-height:1rem}.pi-tracking-wide{letter-spacing:.025em}.pi-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.pi-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.pi-opacity-60{opacity:.6}.pi-outline-none{outline:2px solid transparent;outline-offset:2px}.pi-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,-webkit-transform,-webkit-filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-transform,-webkit-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.pi-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.pi-duration-200{transition-duration:.2s}.hover\:pi-border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.hover\:pi-bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:pi-bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.hover\:pi-bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.hover\:pi-bg-sky-700:hover{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity))}.focus\:pi-z-20:focus{z-index:20}.focus\:pi-border-emerald-500:focus{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.focus\:pi-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:pi-outline-0:focus{outline-width:0}.focus\:pi-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:pi-ring-0:focus,.focus\:pi-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:pi-ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:pi-ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus\:pi-ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity))}.focus\:pi-ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity))}.focus\:pi-ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.focus\:pi-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:pi-ring-offset-black:focus{--tw-ring-offset-color:#000}.focus\:pi-ring-offset-white:focus{--tw-ring-offset-color:#fff}.active\:pi-border-emerald-500:active{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.disabled\:pi-opacity-75:disabled{opacity:.75}
1
+ *{scrollbar-color:auto;scrollbar-width:auto}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pi-pointer-events-none{pointer-events:none}.pi-pointer-events-auto{pointer-events:auto}.pi-fixed{position:fixed}.pi-absolute{position:absolute}.pi-relative{position:relative}.pi-left-0{left:0}.pi-top-0{top:0}.pi-bottom-0{bottom:0}.pi-right-0{right:0}.pi-z-1000{z-index:1000}.-pi-z-10{z-index:-10}.pi-z-10{z-index:10}.pi-col-start-auto{grid-column-start:auto}.pi-mb-6{margin-bottom:1.5rem}.-pi-mt-10{margin-top:-2.5rem}.pi-inline-block{display:inline-block}.pi-flex{display:flex}.pi-grid{display:grid}.pi-hidden{display:none}.pi-h-6{height:1.5rem}.pi-h-12{height:3rem}.pi-h-8{height:2rem}.pi-h-3{height:.75rem}.pi-h-fit{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.pi-min-h-full{min-height:100%}.pi-w-6{width:1.5rem}.pi-w-12{width:3rem}.pi-w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pi-w-0\.5{width:.125rem}.pi-w-0{width:0}.pi-w-full{width:100%}.pi-w-3{width:.75rem}.pi-min-w-full{min-width:100%}.pi-flex-shrink-0,.pi-shrink-0{flex-shrink:0}.pi-rotate-135{--tw-rotate:135deg}.pi-rotate-135,.pi-transform{-webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes pi-ping{75%,to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes pi-ping{75%,to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.pi-animate-ping{-webkit-animation:pi-ping 1s cubic-bezier(0,0,.2,1) infinite;animation:pi-ping 1s cubic-bezier(0,0,.2,1) infinite}.pi-cursor-pointer{cursor:pointer}.pi-auto-cols-max{grid-auto-columns:-webkit-max-content;grid-auto-columns:max-content}.pi-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pi-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.pi-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pi-flex-col{flex-direction:column}.pi-place-items-center{place-items:center}.pi-content-center{align-content:center}.pi-items-center{align-items:center}.pi-justify-center{justify-content:center}.pi-justify-between{justify-content:space-between}.pi-justify-items-end{justify-items:end}.pi-justify-items-center{justify-items:center}.pi-gap-1{gap:.25rem}.pi-gap-4{gap:1rem}.pi-gap-5{gap:1.25rem}.pi-gap-3\.5{gap:.875rem}.pi-gap-3{gap:.75rem}.pi-gap-7{gap:1.75rem}.pi-gap-2{gap:.5rem}.pi-gap-y-5{row-gap:1.25rem}.pi-gap-y-6{row-gap:1.5rem}.pi-overflow-hidden{overflow:hidden}.pi-overflow-y-auto{overflow-y:auto}.pi-overflow-x-hidden{overflow-x:hidden}.pi-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-whitespace-nowrap{white-space:nowrap}.pi-rounded-sm{border-radius:.125rem}.pi-rounded-full{border-radius:9999px}.pi-rounded-md{border-radius:.375rem}.pi-rounded-2xl{border-radius:1rem}.pi-rounded-xl{border-radius:.75rem}.pi-border{border-width:1px}.pi-border-4{border-width:4px}.pi-border-2{border-width:2px}.pi-border-transparent{border-color:transparent}.pi-border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.pi-border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.pi-border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity))}.pi-border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.pi-border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.pi-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.pi-bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}.pi-bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.pi-bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.pi-bg-transparent{background-color:initial}.pi-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.pi-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.pi-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.pi-bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.pi-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.pi-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.pi-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.pi-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.pi-from-black{--tw-gradient-from:#000;--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.pi-to-transparent{--tw-gradient-to:transparent}.pi-p-6{padding:1.5rem}.pi-px-3{padding-left:.75rem;padding-right:.75rem}.pi-py-2{padding-bottom:.5rem;padding-top:.5rem}.pi-px-6{padding-left:1.5rem;padding-right:1.5rem}.pi-px-2{padding-left:.5rem;padding-right:.5rem}.pi-py-1{padding-bottom:.25rem;padding-top:.25rem}.pi-pt-3{padding-top:.75rem}.pi-text-center{text-align:center}.pi-font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.pi-text-sm{font-size:.875rem;line-height:1.25rem}.pi-text-base{font-size:1rem;line-height:1.5rem}.pi-text-xs{font-size:.75rem;line-height:1rem}.pi-text-2xl{font-size:1.5rem;line-height:2rem}.pi-text-xl{font-size:1.25rem;line-height:1.75rem}.pi-font-light{font-weight:300}.pi-font-medium{font-weight:500}.pi-font-bold{font-weight:700}.pi-leading-4{line-height:1rem}.pi-tracking-wide{letter-spacing:.025em}.pi-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.pi-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.pi-opacity-60{opacity:.6}.pi-outline-none{outline:2px solid transparent;outline-offset:2px}.pi-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,-webkit-transform,-webkit-filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-transform,-webkit-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.pi-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.pi-duration-200{transition-duration:.2s}.pi-scrollbar-thin{scrollbar-color:var(--scrollbar-thumb,initial) var(--scrollbar-track,initial)}.pi-scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.pi-scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover,var(--scrollbar-track))}.pi-scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active,var(--scrollbar-track-hover,var(--scrollbar-track)))}.pi-scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.pi-scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,var(--scrollbar-thumb))}.pi-scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active,var(--scrollbar-thumb-hover,var(--scrollbar-thumb)))}.pi-scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.pi-scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover,var(--scrollbar-corner))}.pi-scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active,var(--scrollbar-corner-hover,var(--scrollbar-corner)))}.pi-scrollbar-thin{scrollbar-width:thin}.pi-scrollbar-thin::-webkit-scrollbar{height:8px;width:8px}.pi-scrollbar-track-black{--scrollbar-track:#000!important}.pi-scrollbar-thumb-gray-500{--scrollbar-thumb:#6b7280!important}.pi-scrollbar-track-rounded-full{--scrollbar-track-radius:9999px}.pi-scrollbar-thumb-rounded-full{--scrollbar-thumb-radius:9999px}.focus\:pi-z-20:focus{z-index:20}.focus\:pi-border-emerald-500:focus{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.focus\:pi-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:pi-outline-0:focus{outline-width:0}.focus\:pi-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:pi-ring-0:focus,.focus\:pi-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:pi-ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:pi-ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus\:pi-ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity))}.focus\:pi-ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity))}.focus\:pi-ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.focus\:pi-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:pi-ring-offset-black:focus{--tw-ring-offset-color:#000}.focus\:pi-ring-offset-white:focus{--tw-ring-offset-color:#fff}.disabled\:pi-opacity-75:disabled{opacity:.75}.hover\:pi-border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.hover\:pi-bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:pi-bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.hover\:pi-bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.hover\:pi-bg-sky-700:hover{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity))}.hover\:pi-scrollbar-thumb-gray-400{--scrollbar-thumb-hover:#9ca3af!important}.active\:pi-border-emerald-500:active{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nethesis/phone-island",
3
3
  "author": "Nethesis",
4
- "version": "0.7.67",
4
+ "version": "0.7.69",
5
5
  "description": "NethVoice CTI Phone Island",
6
6
  "keywords": [
7
7
  "nethserver",
@@ -123,6 +123,7 @@
123
123
  "rollup-plugin-postcss": "^4.0.2",
124
124
  "rollup-plugin-terser": "^7.0.2",
125
125
  "tailwindcss": "^3.2.2",
126
+ "tailwind-scrollbar": "^3.0.0",
126
127
  "typescript": "^4.8.4",
127
128
  "webpack": "^5.74.0"
128
129
  },