@nethesis/phone-island 0.7.127 → 0.7.129

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("react");require("../../node_modules/react-redux/es/index.js");var t=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),i=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),a=require("../../node_modules/@headlessui/react/dist/components/menu/menu.js"),r=require("../../node_modules/@headlessui/react/dist/components/transitions/transition.js"),n=require("../../node_modules/i18next/dist/esm/i18next.js"),o=require("../../lib/user/default_device.js"),l=require("../../utils/customHooks/useEventListener.js"),c=require("../../utils/genericFunctions/eventDispatch.js"),d=require("../../utils/genericFunctions/localStorage.js"),p=require("../../node_modules/react-tooltip/dist/react-tooltip.min.cjs.js"),s=require("../../node_modules/react-redux/es/hooks/useSelector.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=u(e);exports.default=function(u){u.username,u.status;var f=s.useSelector((function(e){return e.webrtc})).sipcall,g=s.useSelector((function(e){return e.player.remoteAudio})),v=e.useState(d.getJSONItem("phone-island-audio-input-device").deviceId||null),y=v[0],h=v[1],x=e.useState(d.getJSONItem("phone-island-audio-output-device").deviceId||null),k=x[0],b=x[1],E=function(e){h(e),f.webrtcStuff.myStream?null==f||f.replaceTracks({tracks:[{type:"audio",mid:"0",capture:{deviceId:{exact:e}}}],success:function(){console.info("Audio input device switch success!"),d.setJSONItem("phone-island-audio-input-device",{deviceId:e}),c.eventDispatch("phone-island-call-audio-input-switched",{})},error:function(e){console.error("Audio input device switch error:",e)}}):(d.setJSONItem("phone-island-audio-input-device",{deviceId:e}),c.eventDispatch("phone-island-call-audio-input-switched",{}))};l.useEventListener("phone-island-call-audio-input-switch",(function(e){E(e.deviceId)}));var I=function(e){b(e),null==g||g.current.setSinkId(e).then((function(){console.info("Audio output device switch success!"),d.setJSONItem("phone-island-audio-output-device",{deviceId:e}),c.eventDispatch("phone-island-call-audio-output-switched",{})})).catch((function(e){console.error("Audio output device switch error:",e)}))};l.useEventListener("phone-island-call-audio-output-switch",(function(e){I(e.deviceId)}));var w=e.useState([]),N=w[0],S=w[1];e.useEffect((function(){var e=function(){navigator.mediaDevices.enumerateDevices().then((function(e){S(e)})).catch((function(e){console.error("error",e)}))};return e(),navigator.mediaDevices.addEventListener("devicechange",e),function(){navigator.mediaDevices.removeEventListener("devicechange",e)}}),[k,y]);var j=s.useSelector((function(e){return e.darkTheme})).theme,F=function(e){c.eventDispatch("phone-island-theme-change",{selectedTheme:e})};return m.default.createElement(m.default.Fragment,null,o.isWebRTC()?m.default.createElement(a.Menu,{as:"div",className:"relative inline-block text-left","data-stop-propagation":!0,"data-tooltip-id":"tooltip-left","data-tooltip-content":n.t("Tooltip.Settings")},m.default.createElement(a.Menu.Button,{className:"pi-bg-transparent dark:enabled:hover:pi-bg-gray-500 enabled:hover:pi-bg-gray-400 dark:focus:pi-ring-gray-500 focus:pi-ring-gray-400 pi-flex pi-font-sans pi-font-light pi-content-center pi-items-center pi-justify-center pi-tracking-wide pi-duration-200 pi-transform pi-outline-none focus:pi-ring-2 focus:pi-z-20 focus:pi-ring-offset-2 disabled:pi-opacity-75 dark:pi-text-white pi-text-gray-600 pi-border pi-border-transparent focus:pi-ring-offset-gray-200 dark:focus:pi-ring-offset-black pi-rounded-full pi-text-sm pi-leading-4 pi-h-12 pi-w-12 pi-col-start-auto pi-transition-color pi-shrink-0","data-stop-propagation":!0},m.default.createElement(t.FontAwesomeIcon,{size:"xl",icon:i.faEllipsis,className:"dark:pi-text-gray-100 pi-text-gray-700","data-stop-propagation":!0})),m.default.createElement(r.Transition,{as:e.Fragment,enter:"transition ease-out duration-100",enterFrom:"transform opacity-0 scale-95",enterTo:"transform opacity-100 scale-100",leave:"transition ease-in duration-75",leaveFrom:"transform opacity-100 scale-100",leaveTo:"transform opacity-0 scale-95"},m.default.createElement(a.Menu.Items,{className:"pi-max-h-[13.125rem] pi-z-50 pi-absolute pi-top-0 pi-right-[4.5rem] pi-mt-[-9.5rem] pi-w-56 pi-origin-top-right pi-rounded-md pi-shadow-lg pi-ring-1 dark:pi-bg-gray-950 pi-bg-gray-50 pi-bg-opacity-[0.99] pi-ring-black pi-ring-opacity-5 pi-focus:outline-none pi-cursor-auto pi-border-gray-300 dark:pi-border-gray-600 pi-border pi-py-2 pi-overflow-y-auto pi-scrollbar-thin pi-scrollbar-thumb-gray-400 pi-dark:scrollbar-thumb-gray-400 pi-scrollbar-thumb-rounded-full pi-scrollbar-thumb-opacity-50 dark:pi-scrollbar-track-gray-900 pi-scrollbar-track-gray-200 pi-dark:scrollbar-track-gray-900 pi-scrollbar-track-rounded-full pi-scrollbar-track-opacity-25","data-stop-propagation":!0},m.default.createElement("div",{className:"","data-stop-propagation":!0},m.default.createElement("div",{className:"pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4"},n.t("DropdownContent.Microphones")),N.filter((function(e){return"audioinput"===(null==e?void 0:e.kind)})).map((function(e,r){return m.default.createElement(a.Menu.Item,{key:r},(function(a){var n=a.active;return m.default.createElement("div",{className:"pi-flex pi-py-2 pi-px-2 ".concat(n?"pi-bg-gray-200 dark:pi-bg-gray-700":""),onClick:function(){return E(e.deviceId)},"data-stop-propagation":!0},y===(null==e?void 0:e.deviceId)&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-2"}),!y&&"default"===(null==e?void 0:e.deviceId)&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-2"}),m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faMicrophone,className:"".concat(null!==y&&""!==y&&y!==(null==e?void 0:e.deviceId)?"pi-ml-6":""!==y&&null!==y&&y===(null==e?void 0:e.deviceId)?"":null===y&&"default"!==(null==e?void 0:e.deviceId)?"pi-ml-6":""," dark:pi-text-gray-100 pi-text-gray-600 pi-mr-1")}),m.default.createElement("div",{className:"".concat(n?"dark:pi-text-gray-50 pi-text-gray-900":"dark:pi-text-gray-50 pi-text-gray-700")},(null==e?void 0:e.label)||"Input device ".concat(r+1)))}))})),m.default.createElement("div",{className:"pi-relative pi-py-2"},m.default.createElement("div",{className:"pi-absolute pi-inset-0 pi-flex pi-items-center","aria-hidden":"true"},m.default.createElement("div",{className:"pi-w-full pi-border-t pi-border-gray-400 dark:pi-border-gray-600"}))),m.default.createElement("div",{className:"pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4","data-stop-propagation":!0},n.t("DropdownContent.Speakers")),N.filter((function(e){return"audiooutput"===(null==e?void 0:e.kind)})).map((function(e,r){return m.default.createElement(a.Menu.Item,{key:r},(function(a){var n=a.active;return m.default.createElement("div",{className:"pi-flex pi-py-2 pi-px-2 ".concat(n?"pi-bg-gray-200 dark:pi-bg-gray-700":""),onClick:function(){return I(null==e?void 0:e.deviceId)},"data-stop-propagation":!0},k===(null==e?void 0:e.deviceId)&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-2"}),!k&&"default"===(null==e?void 0:e.deviceId)&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-2"}),m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faVolumeHigh,className:"".concat(null!==k&&""!==k&&k!==(null==e?void 0:e.deviceId)?"pi-ml-6":""!==k&&null!==k&&k===(null==e?void 0:e.deviceId)?"":null===k&&"default"!==(null==e?void 0:e.deviceId)?"pi-ml-6":""," dark:pi-text-gray-100 pi-text-gray-600 pi-mr-1")}),m.default.createElement("div",{className:"".concat(n?"dark:pi-text-gray-50 pi-text-gray-900":"dark:pi-text-gray-50 pi-text-gray-700")},(null==e?void 0:e.label)||"Output device ".concat(r+1)))}))})),m.default.createElement("div",{className:"pi-relative pi-py-2"},m.default.createElement("div",{className:"pi-absolute pi-inset-0 pi-flex pi-items-center","aria-hidden":"true"},m.default.createElement("div",{className:"pi-w-full pi-border-t pi-border-gray-400 dark:pi-border-gray-600"}))),m.default.createElement("div",{className:"pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4","data-stop-propagation":!0},n.t("DropdownContent.Theme")),m.default.createElement("div",{className:"pi-flex pi-py-2 pi-px-2 dark:hover:pi-text-gray-50 hover:pi-text-gray-900 dark:pi-text-gray-50 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700",onClick:function(){return F("dark")},"data-stop-propagation":!0},"dark"===j&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-[0.57rem]"}),m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faMoon,className:"".concat("dark"!==j?"pi-ml-[1.49rem] pi-mr-[0.42rem]":"pi-mr-[0.4rem]"," dark:pi-text-gray-100 pi-text-gray-600 ")}),m.default.createElement("div",null,n.t("DropdownContent.Dark"))),m.default.createElement("div",{className:"pi-flex pi-py-2 pi-px-2 dark:hover:pi-text-gray-50 hover:pi-text-gray-900 dark:pi-text-gray-50 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700",onClick:function(){return F("light")},"data-stop-propagation":!0},"light"===j&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-[0.4rem]"}),m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faSun,className:"".concat("light"!==j?"pi-ml-[1.4rem] pi-mr-[0.27rem]":"pi-mr-[0.28rem]"," dark:pi-text-gray-100 pi-text-gray-600 ")}),m.default.createElement("div",null,n.t("DropdownContent.Light"))))))):m.default.createElement("div",null),m.default.createElement(p.Tooltip,{className:"pi-z-20",id:"tooltip-left",place:"left"}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../../node_modules/react-redux/es/index.js");var t=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),i=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),a=require("../../node_modules/@headlessui/react/dist/components/menu/menu.js"),r=require("../../node_modules/@headlessui/react/dist/components/transitions/transition.js"),n=require("../../node_modules/i18next/dist/esm/i18next.js"),o=require("../../lib/user/default_device.js"),l=require("../../utils/customHooks/useEventListener.js"),c=require("../../utils/genericFunctions/eventDispatch.js"),p=require("../../utils/genericFunctions/localStorage.js"),d=require("../../node_modules/react-tooltip/dist/react-tooltip.min.cjs.js"),s=require("../../node_modules/react-redux/es/hooks/useSelector.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=u(e);exports.default=function(u){u.username,u.status;var f=s.useSelector((function(e){return e.webrtc})).sipcall,g=s.useSelector((function(e){return e.player.remoteAudio})),v=e.useState(p.getJSONItem("phone-island-audio-input-device").deviceId||null),y=v[0],h=v[1],x=e.useState(p.getJSONItem("phone-island-audio-output-device").deviceId||null),k=x[0],b=x[1],E=function(e){h(e),f.webrtcStuff.myStream?null==f||f.replaceTracks({tracks:[{type:"audio",mid:"0",capture:{deviceId:{exact:e}}}],success:function(){console.info("Audio input device switch success!"),p.setJSONItem("phone-island-audio-input-device",{deviceId:e}),c.eventDispatch("phone-island-call-audio-input-switched",{})},error:function(e){console.error("Audio input device switch error:",e)}}):(p.setJSONItem("phone-island-audio-input-device",{deviceId:e}),c.eventDispatch("phone-island-call-audio-input-switched",{}))};l.useEventListener("phone-island-call-audio-input-switch",(function(e){E(e.deviceId)}));var I=function(e){b(e),null==g||g.current.setSinkId(e).then((function(){console.info("Audio output device switch success!"),p.setJSONItem("phone-island-audio-output-device",{deviceId:e}),c.eventDispatch("phone-island-call-audio-output-switched",{})})).catch((function(e){console.error("Audio output device switch error:",e)}))};l.useEventListener("phone-island-call-audio-output-switch",(function(e){I(e.deviceId)}));var w=e.useState([]),N=w[0],S=w[1];e.useEffect((function(){var e=function(){navigator.mediaDevices.enumerateDevices().then((function(e){S(e)})).catch((function(e){console.error("error",e)}))};return e(),navigator.mediaDevices.addEventListener("devicechange",e),function(){navigator.mediaDevices.removeEventListener("devicechange",e)}}),[k,y]);var j=s.useSelector((function(e){return e.darkTheme})).theme,F=function(e){c.eventDispatch("phone-island-theme-change",{selectedTheme:e})};return m.default.createElement(m.default.Fragment,null,o.isWebRTC()?m.default.createElement(a.Menu,{as:"div",className:"relative inline-block text-left","data-stop-propagation":!0,"data-tooltip-id":"tooltip-left","data-tooltip-content":n.t("Tooltip.Settings")},m.default.createElement(a.Menu.Button,{className:"pi-bg-transparent dark:enabled:hover:pi-bg-gray-500 enabled:hover:pi-bg-gray-400 dark:focus:pi-ring-gray-500 focus:pi-ring-gray-400 pi-flex pi-font-sans pi-font-light pi-content-center pi-items-center pi-justify-center pi-tracking-wide pi-duration-200 pi-transform pi-outline-none focus:pi-ring-2 focus:pi-z-20 focus:pi-ring-offset-2 disabled:pi-opacity-75 dark:pi-text-white pi-text-gray-600 pi-border pi-border-transparent focus:pi-ring-offset-gray-200 dark:focus:pi-ring-offset-black pi-rounded-full pi-text-sm pi-leading-4 pi-h-12 pi-w-12 pi-col-start-auto pi-transition-color pi-shrink-0","data-stop-propagation":!0},m.default.createElement(t.FontAwesomeIcon,{size:"xl",icon:i.faEllipsis,className:"dark:pi-text-gray-100 pi-text-gray-700","data-stop-propagation":!0})),m.default.createElement(r.Transition,{as:e.Fragment,enter:"transition ease-out duration-100",enterFrom:"transform opacity-0 scale-95",enterTo:"transform opacity-100 scale-100",leave:"transition ease-in duration-75",leaveFrom:"transform opacity-100 scale-100",leaveTo:"transform opacity-0 scale-95"},m.default.createElement(a.Menu.Items,{className:"pi-max-h-[13.125rem] pi-z-50 pi-absolute pi-top-0 pi-right-[4.5rem] pi-mt-[-9.5rem] pi-w-56 pi-origin-top-right pi-rounded-md pi-shadow-lg pi-ring-1 dark:pi-bg-gray-950 pi-bg-gray-50 pi-bg-opacity-[0.99] dark:pi-bg-opacity-[0.99] pi-ring-black pi-ring-opacity-5 pi-focus:outline-none pi-cursor-auto pi-border-gray-300 dark:pi-border-gray-600 pi-border pi-py-2 pi-overflow-y-auto pi-scrollbar-thin pi-scrollbar-thumb-gray-400 pi-dark:scrollbar-thumb-gray-400 pi-scrollbar-thumb-rounded-full pi-scrollbar-thumb-opacity-50 dark:pi-scrollbar-track-gray-900 pi-scrollbar-track-gray-200 pi-dark:scrollbar-track-gray-900 pi-scrollbar-track-rounded-full pi-scrollbar-track-opacity-25","data-stop-propagation":!0},m.default.createElement("div",{className:"","data-stop-propagation":!0},m.default.createElement("div",{className:"pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4"},n.t("DropdownContent.Microphones")),N.filter((function(e){return"audioinput"===(null==e?void 0:e.kind)})).map((function(e,r){return m.default.createElement(a.Menu.Item,{key:r},(function(a){var n=a.active;return m.default.createElement("div",{className:"pi-flex pi-py-2 pi-px-2 ".concat(n?"pi-bg-gray-200 dark:pi-bg-gray-700":""),onClick:function(){return E(e.deviceId)},"data-stop-propagation":!0},y===(null==e?void 0:e.deviceId)&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-2"}),!y&&"default"===(null==e?void 0:e.deviceId)&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-2"}),m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faMicrophone,className:"".concat(null!==y&&""!==y&&y!==(null==e?void 0:e.deviceId)?"pi-ml-6":""!==y&&null!==y&&y===(null==e?void 0:e.deviceId)?"":null===y&&"default"!==(null==e?void 0:e.deviceId)?"pi-ml-6":""," dark:pi-text-gray-100 pi-text-gray-600 pi-mr-1")}),m.default.createElement("div",{className:"".concat(n?"dark:pi-text-gray-50 pi-text-gray-900":"dark:pi-text-gray-50 pi-text-gray-700")},(null==e?void 0:e.label)||"Input device ".concat(r+1)))}))})),m.default.createElement("div",{className:"pi-relative pi-py-2"},m.default.createElement("div",{className:"pi-absolute pi-inset-0 pi-flex pi-items-center","aria-hidden":"true"},m.default.createElement("div",{className:"pi-w-full pi-border-t pi-border-gray-400 dark:pi-border-gray-600"}))),m.default.createElement("div",{className:"pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4","data-stop-propagation":!0},n.t("DropdownContent.Speakers")),N.filter((function(e){return"audiooutput"===(null==e?void 0:e.kind)})).map((function(e,r){return m.default.createElement(a.Menu.Item,{key:r},(function(a){var n=a.active;return m.default.createElement("div",{className:"pi-flex pi-py-2 pi-px-2 ".concat(n?"pi-bg-gray-200 dark:pi-bg-gray-700":""),onClick:function(){return I(null==e?void 0:e.deviceId)},"data-stop-propagation":!0},k===(null==e?void 0:e.deviceId)&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-2"}),!k&&"default"===(null==e?void 0:e.deviceId)&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-2"}),m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faVolumeHigh,className:"".concat(null!==k&&""!==k&&k!==(null==e?void 0:e.deviceId)?"pi-ml-6":""!==k&&null!==k&&k===(null==e?void 0:e.deviceId)?"":null===k&&"default"!==(null==e?void 0:e.deviceId)?"pi-ml-6":""," dark:pi-text-gray-100 pi-text-gray-600 pi-mr-1")}),m.default.createElement("div",{className:"".concat(n?"dark:pi-text-gray-50 pi-text-gray-900":"dark:pi-text-gray-50 pi-text-gray-700")},(null==e?void 0:e.label)||"Output device ".concat(r+1)))}))})),m.default.createElement("div",{className:"pi-relative pi-py-2"},m.default.createElement("div",{className:"pi-absolute pi-inset-0 pi-flex pi-items-center","aria-hidden":"true"},m.default.createElement("div",{className:"pi-w-full pi-border-t pi-border-gray-400 dark:pi-border-gray-600"}))),m.default.createElement("div",{className:"pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4","data-stop-propagation":!0},n.t("DropdownContent.Theme")),m.default.createElement("div",{className:"pi-flex pi-py-2 pi-px-2 dark:hover:pi-text-gray-50 hover:pi-text-gray-900 dark:pi-text-gray-50 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700",onClick:function(){return F("dark")},"data-stop-propagation":!0},"dark"===j&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-[0.57rem]"}),m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faMoon,className:"".concat("dark"!==j?"pi-ml-[1.49rem] pi-mr-[0.42rem]":"pi-mr-[0.4rem]"," dark:pi-text-gray-100 pi-text-gray-600 ")}),m.default.createElement("div",null,n.t("DropdownContent.Dark"))),m.default.createElement("div",{className:"pi-flex pi-py-2 pi-px-2 dark:hover:pi-text-gray-50 hover:pi-text-gray-900 dark:pi-text-gray-50 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700",onClick:function(){return F("light")},"data-stop-propagation":!0},"light"===j&&m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faCheck,className:"pi-text-green-600 dark:pi-text-green-400 pi-mr-[0.4rem]"}),m.default.createElement(t.FontAwesomeIcon,{size:"lg",icon:i.faSun,className:"".concat("light"!==j?"pi-ml-[1.4rem] pi-mr-[0.27rem]":"pi-mr-[0.28rem]"," dark:pi-text-gray-100 pi-text-gray-600 ")}),m.default.createElement("div",null,n.t("DropdownContent.Light"))))))):m.default.createElement("div",null),m.default.createElement(d.Tooltip,{className:"pi-z-20",id:"tooltip-left",place:"left"}))};
2
2
  //# sourceMappingURL=DropdownContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownContent.js","sources":["../../../src/components/SwitchInputView/DropdownContent.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, ComponentProps, Fragment, useState, useEffect } from 'react'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../store'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faCheck,\n faEllipsis,\n faMicrophone,\n faMoon,\n faSun,\n faVolumeHigh,\n} from '@fortawesome/free-solid-svg-icons'\nimport { Menu, Transition } from '@headlessui/react'\nimport { t } from 'i18next'\nimport { isWebRTC } from '../../lib/user/default_device'\nimport { eventDispatch, getJSONItem, setJSONItem, useEventListener } from '../../utils'\nimport { Tooltip } from 'react-tooltip/dist/react-tooltip.min.cjs'\n\nconst DropdownContent: FC<DropdownContentProps> = ({ username, status }) => {\n const { sipcall }: any = useSelector((state: RootState) => state.webrtc)\n const remoteAudioElement: any = useSelector((state: RootState) => state.player.remoteAudio)\n\n const [selectedAudioInput, setSelectedAudioInput] = useState<string | null>(\n getJSONItem('phone-island-audio-input-device').deviceId || null,\n )\n const [selectedAudioOutput, setSelectedAudioOutput] = useState<string | null>(\n getJSONItem('phone-island-audio-output-device').deviceId || null,\n )\n\n const handleClickAudioInput = (audioInputDevice: string) => {\n setSelectedAudioInput(audioInputDevice)\n\n if (sipcall.webrtcStuff.myStream) {\n sipcall?.replaceTracks({\n tracks: [\n {\n type: 'audio',\n mid: '0', // We assume mid 0 is audio\n capture: { deviceId: { exact: audioInputDevice } },\n },\n ],\n success: function () {\n console.info('Audio input device switch success!')\n // set device to localstorage\n setJSONItem('phone-island-audio-input-device', { deviceId: audioInputDevice })\n\n // dispatch event\n eventDispatch('phone-island-call-audio-input-switched', {})\n },\n error: function (err) {\n console.error('Audio input device switch error:', err)\n },\n })\n } else {\n // set device to localstorage\n setJSONItem('phone-island-audio-input-device', { deviceId: audioInputDevice })\n\n // dispatch event\n eventDispatch('phone-island-call-audio-input-switched', {})\n }\n }\n useEventListener('phone-island-call-audio-input-switch', (data: DeviceInputOutputTypes) => {\n handleClickAudioInput(data.deviceId)\n })\n\n const handleClickAudioOutput = (audioOutputDevice: string) => {\n setSelectedAudioOutput(audioOutputDevice)\n\n remoteAudioElement?.current\n .setSinkId(audioOutputDevice)\n .then(function () {\n console.info('Audio output device switch success!')\n // set device to localstorage\n setJSONItem('phone-island-audio-output-device', { deviceId: audioOutputDevice })\n\n // dispatch event\n eventDispatch('phone-island-call-audio-output-switched', {})\n })\n .catch(function (err) {\n console.error('Audio output device switch error:', err)\n })\n }\n useEventListener('phone-island-call-audio-output-switch', (data: DeviceInputOutputTypes) => {\n handleClickAudioOutput(data.deviceId)\n })\n\n const [actualDevice, setActualDevice]: any = useState([])\n\n useEffect(() => {\n const checkInputOutputDevices = () => {\n navigator.mediaDevices\n .enumerateDevices()\n .then((deviceInfos) => {\n setActualDevice(deviceInfos)\n })\n .catch((error) => {\n console.error('error', error)\n })\n }\n\n checkInputOutputDevices()\n\n navigator.mediaDevices.addEventListener('devicechange', checkInputOutputDevices)\n\n return () => {\n navigator.mediaDevices.removeEventListener('devicechange', checkInputOutputDevices)\n }\n }, [selectedAudioOutput, selectedAudioInput])\n\n const { theme } = useSelector((state: RootState) => state.darkTheme)\n\n const handleSelectTheme = (clickedTheme: string) => {\n eventDispatch('phone-island-theme-change', { selectedTheme: clickedTheme })\n }\n\n return (\n <>\n {isWebRTC() ? (\n <Menu\n as='div'\n className='relative inline-block text-left'\n data-stop-propagation={true}\n data-tooltip-id='tooltip-left'\n data-tooltip-content={t('Tooltip.Settings')}\n >\n <Menu.Button\n className='pi-bg-transparent dark:enabled:hover:pi-bg-gray-500 enabled:hover:pi-bg-gray-400 dark:focus:pi-ring-gray-500 focus:pi-ring-gray-400 pi-flex pi-font-sans pi-font-light pi-content-center pi-items-center pi-justify-center pi-tracking-wide pi-duration-200 pi-transform pi-outline-none focus:pi-ring-2 focus:pi-z-20 focus:pi-ring-offset-2 disabled:pi-opacity-75 dark:pi-text-white pi-text-gray-600 pi-border pi-border-transparent focus:pi-ring-offset-gray-200 dark:focus:pi-ring-offset-black pi-rounded-full pi-text-sm pi-leading-4 pi-h-12 pi-w-12 pi-col-start-auto pi-transition-color pi-shrink-0'\n data-stop-propagation={true}\n >\n <FontAwesomeIcon\n size='xl'\n icon={faEllipsis}\n className='dark:pi-text-gray-100 pi-text-gray-700'\n data-stop-propagation={true}\n />\n </Menu.Button>\n\n <Transition\n as={Fragment}\n enter='transition ease-out duration-100'\n enterFrom='transform opacity-0 scale-95'\n enterTo='transform opacity-100 scale-100'\n leave='transition ease-in duration-75'\n leaveFrom='transform opacity-100 scale-100'\n leaveTo='transform opacity-0 scale-95'\n >\n <Menu.Items\n className='pi-max-h-[13.125rem] pi-z-50 pi-absolute pi-top-0 pi-right-[4.5rem] pi-mt-[-9.5rem] pi-w-56 pi-origin-top-right pi-rounded-md pi-shadow-lg pi-ring-1 dark:pi-bg-gray-950 pi-bg-gray-50 pi-bg-opacity-[0.99] pi-ring-black pi-ring-opacity-5 pi-focus:outline-none pi-cursor-auto pi-border-gray-300 dark:pi-border-gray-600 pi-border pi-py-2 pi-overflow-y-auto pi-scrollbar-thin pi-scrollbar-thumb-gray-400 pi-dark:scrollbar-thumb-gray-400 pi-scrollbar-thumb-rounded-full pi-scrollbar-thumb-opacity-50 dark:pi-scrollbar-track-gray-900 pi-scrollbar-track-gray-200 pi-dark:scrollbar-track-gray-900 pi-scrollbar-track-rounded-full pi-scrollbar-track-opacity-25'\n data-stop-propagation={true}\n >\n <div className='' data-stop-propagation={true}>\n {/* Microphones */}\n <div className='pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4'>\n {t('DropdownContent.Microphones')}\n </div>\n {actualDevice\n .filter((device) => device?.kind === 'audioinput')\n .map((audioDevice, index) => (\n <Menu.Item key={index}>\n {({ active }) => (\n <div\n className={`pi-flex pi-py-2 pi-px-2 ${\n active ? 'pi-bg-gray-200 dark:pi-bg-gray-700' : ''\n }`}\n onClick={() => handleClickAudioInput(audioDevice.deviceId)}\n data-stop-propagation={true}\n >\n {/* faCheck on selectedAudioInput */}\n {selectedAudioInput === audioDevice?.deviceId && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-2'\n />\n )}\n\n {/* faCheck if user has no selectedAudioInput and audioDevice is default */}\n {!selectedAudioInput && audioDevice?.deviceId === 'default' && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-2'\n />\n )}\n\n <FontAwesomeIcon\n size='lg'\n icon={faMicrophone}\n className={`${\n selectedAudioInput !== null &&\n selectedAudioInput !== '' &&\n selectedAudioInput !== audioDevice?.deviceId\n ? 'pi-ml-6'\n : selectedAudioInput !== '' &&\n selectedAudioInput !== null &&\n selectedAudioInput === audioDevice?.deviceId\n ? ''\n : selectedAudioInput === null && audioDevice?.deviceId !== 'default'\n ? 'pi-ml-6'\n : ''\n } dark:pi-text-gray-100 pi-text-gray-600 pi-mr-1`}\n />\n <div\n className={`${\n active\n ? 'dark:pi-text-gray-50 pi-text-gray-900'\n : 'dark:pi-text-gray-50 pi-text-gray-700'\n }`}\n >\n {audioDevice?.label || `Input device ${index + 1}`}\n </div>\n </div>\n )}\n </Menu.Item>\n ))}\n {/* Divider */}\n <div className='pi-relative pi-py-2'>\n <div\n className='pi-absolute pi-inset-0 pi-flex pi-items-center'\n aria-hidden='true'\n >\n <div className='pi-w-full pi-border-t pi-border-gray-400 dark:pi-border-gray-600' />\n </div>\n </div>\n {/* Speaker */}\n <div\n className='pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4'\n data-stop-propagation={true}\n >\n {t('DropdownContent.Speakers')}\n </div>\n {actualDevice\n .filter((device) => device?.kind === 'audiooutput')\n .map((audioDevice, index) => (\n <Menu.Item key={index}>\n {({ active }) => (\n <div\n className={`pi-flex pi-py-2 pi-px-2 ${\n active ? 'pi-bg-gray-200 dark:pi-bg-gray-700' : ''\n }`}\n onClick={() => handleClickAudioOutput(audioDevice?.deviceId)}\n data-stop-propagation={true}\n >\n {/* faCheck on selectedAudioOutput */}\n {selectedAudioOutput === audioDevice?.deviceId && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-2'\n />\n )}\n\n {/* faCheck if user has no selectedAudioInput and audioDevice is default */}\n {!selectedAudioOutput && audioDevice?.deviceId === 'default' && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-2'\n />\n )}\n\n <FontAwesomeIcon\n size='lg'\n icon={faVolumeHigh}\n className={`${\n selectedAudioOutput !== null &&\n selectedAudioOutput !== '' &&\n selectedAudioOutput !== audioDevice?.deviceId\n ? 'pi-ml-6'\n : selectedAudioOutput !== '' &&\n selectedAudioOutput !== null &&\n selectedAudioOutput === audioDevice?.deviceId\n ? ''\n : selectedAudioOutput === null &&\n audioDevice?.deviceId !== 'default'\n ? 'pi-ml-6'\n : ''\n } dark:pi-text-gray-100 pi-text-gray-600 pi-mr-1`}\n />\n\n <div\n className={`${\n active\n ? 'dark:pi-text-gray-50 pi-text-gray-900'\n : 'dark:pi-text-gray-50 pi-text-gray-700'\n }`}\n >\n {audioDevice?.label || `Output device ${index + 1}`}\n </div>\n </div>\n )}\n </Menu.Item>\n ))}\n {/* Divider */}\n <div className='pi-relative pi-py-2'>\n <div\n className='pi-absolute pi-inset-0 pi-flex pi-items-center'\n aria-hidden='true'\n >\n <div className='pi-w-full pi-border-t pi-border-gray-400 dark:pi-border-gray-600' />\n </div>\n </div>\n {/* theme selection */}\n <div\n className='pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4'\n data-stop-propagation={true}\n >\n {t('DropdownContent.Theme')}\n </div>\n\n {/* dark theme */}\n <div\n className={`pi-flex pi-py-2 pi-px-2 dark:hover:pi-text-gray-50 hover:pi-text-gray-900 dark:pi-text-gray-50 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700`}\n onClick={() => handleSelectTheme('dark')}\n data-stop-propagation={true}\n >\n {theme === 'dark' && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-[0.57rem]'\n />\n )}\n <FontAwesomeIcon\n size='lg'\n icon={faMoon}\n className={`${\n theme !== 'dark' ? 'pi-ml-[1.49rem] pi-mr-[0.42rem]' : 'pi-mr-[0.4rem]'\n } dark:pi-text-gray-100 pi-text-gray-600 `}\n />\n\n <div>{t('DropdownContent.Dark')}</div>\n </div>\n\n {/* light theme */}\n <div\n className={`pi-flex pi-py-2 pi-px-2 dark:hover:pi-text-gray-50 hover:pi-text-gray-900 dark:pi-text-gray-50 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700`}\n onClick={() => handleSelectTheme('light')}\n data-stop-propagation={true}\n >\n {theme === 'light' && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-[0.4rem]'\n />\n )}\n\n <FontAwesomeIcon\n size='lg'\n icon={faSun}\n className={`${\n theme !== 'light' ? 'pi-ml-[1.4rem] pi-mr-[0.27rem]' : 'pi-mr-[0.28rem]'\n } dark:pi-text-gray-100 pi-text-gray-600 `}\n />\n <div>{t('DropdownContent.Light')}</div>\n </div>\n\n {/* Video\n <div className='pi-font-semibold pi-text-gray-700 pi-py-1 pi-px-4'>\n Video\n </div>\n {actualDevice\n .filter((device) => device.kind === 'videoinput')\n .map((videoDevice, index) => (\n <Menu.Item key={index}>\n {({ active }) => (\n <div className='pi-text-gray-700'>\n Webcam: {videoDevice.label || `Device ${index + 1}`}\n </div>\n )}\n </Menu.Item>\n ))}*/}\n </div>\n </Menu.Items>\n </Transition>\n </Menu>\n ) : (\n <div></div>\n )}\n <Tooltip className='pi-z-20' id='tooltip-left' place='left' />\n </>\n )\n}\n\ninterface DropdownContentProps extends ComponentProps<'div'> {\n username?: string\n status?: string\n}\n\ninterface DeviceInputOutputTypes {\n deviceId: string\n}\n\nexport default DropdownContent\n"],"names":["_a","username","status","sipcall","useSelector","state","webrtc","remoteAudioElement","player","remoteAudio","_b","useState","getJSONItem","deviceId","selectedAudioInput","setSelectedAudioInput","_c","selectedAudioOutput","setSelectedAudioOutput","handleClickAudioInput","audioInputDevice","webrtcStuff","myStream","replaceTracks","tracks","type","mid","capture","exact","success","console","info","setJSONItem","eventDispatch","error","err","useEventListener","data","handleClickAudioOutput","audioOutputDevice","current","setSinkId","then","catch","_d","actualDevice","setActualDevice","useEffect","checkInputOutputDevices","navigator","mediaDevices","enumerateDevices","deviceInfos","addEventListener","removeEventListener","theme","darkTheme","handleSelectTheme","clickedTheme","selectedTheme","React","createElement","Fragment","isWebRTC","Menu","as","className","t","Button","FontAwesomeIcon","size","icon","faEllipsis","Transition","enter","enterFrom","enterTo","leave","leaveFrom","leaveTo","Items","filter","device","kind","map","audioDevice","index","Item","key","active","concat","onClick","faCheck","faMicrophone","label","faVolumeHigh","faMoon","faSun","Tooltip","id","place"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownContent.js","sources":["../../../src/components/SwitchInputView/DropdownContent.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, ComponentProps, Fragment, useState, useEffect } from 'react'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../store'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faCheck,\n faEllipsis,\n faMicrophone,\n faMoon,\n faSun,\n faVolumeHigh,\n} from '@fortawesome/free-solid-svg-icons'\nimport { Menu, Transition } from '@headlessui/react'\nimport { t } from 'i18next'\nimport { isWebRTC } from '../../lib/user/default_device'\nimport { eventDispatch, getJSONItem, setJSONItem, useEventListener } from '../../utils'\nimport { Tooltip } from 'react-tooltip/dist/react-tooltip.min.cjs'\n\nconst DropdownContent: FC<DropdownContentProps> = ({ username, status }) => {\n const { sipcall }: any = useSelector((state: RootState) => state.webrtc)\n const remoteAudioElement: any = useSelector((state: RootState) => state.player.remoteAudio)\n\n const [selectedAudioInput, setSelectedAudioInput] = useState<string | null>(\n getJSONItem('phone-island-audio-input-device').deviceId || null,\n )\n const [selectedAudioOutput, setSelectedAudioOutput] = useState<string | null>(\n getJSONItem('phone-island-audio-output-device').deviceId || null,\n )\n\n const handleClickAudioInput = (audioInputDevice: string) => {\n setSelectedAudioInput(audioInputDevice)\n\n if (sipcall.webrtcStuff.myStream) {\n sipcall?.replaceTracks({\n tracks: [\n {\n type: 'audio',\n mid: '0', // We assume mid 0 is audio\n capture: { deviceId: { exact: audioInputDevice } },\n },\n ],\n success: function () {\n console.info('Audio input device switch success!')\n // set device to localstorage\n setJSONItem('phone-island-audio-input-device', { deviceId: audioInputDevice })\n\n // dispatch event\n eventDispatch('phone-island-call-audio-input-switched', {})\n },\n error: function (err) {\n console.error('Audio input device switch error:', err)\n },\n })\n } else {\n // set device to localstorage\n setJSONItem('phone-island-audio-input-device', { deviceId: audioInputDevice })\n\n // dispatch event\n eventDispatch('phone-island-call-audio-input-switched', {})\n }\n }\n useEventListener('phone-island-call-audio-input-switch', (data: DeviceInputOutputTypes) => {\n handleClickAudioInput(data.deviceId)\n })\n\n const handleClickAudioOutput = (audioOutputDevice: string) => {\n setSelectedAudioOutput(audioOutputDevice)\n\n remoteAudioElement?.current\n .setSinkId(audioOutputDevice)\n .then(function () {\n console.info('Audio output device switch success!')\n // set device to localstorage\n setJSONItem('phone-island-audio-output-device', { deviceId: audioOutputDevice })\n\n // dispatch event\n eventDispatch('phone-island-call-audio-output-switched', {})\n })\n .catch(function (err) {\n console.error('Audio output device switch error:', err)\n })\n }\n useEventListener('phone-island-call-audio-output-switch', (data: DeviceInputOutputTypes) => {\n handleClickAudioOutput(data.deviceId)\n })\n\n const [actualDevice, setActualDevice]: any = useState([])\n\n useEffect(() => {\n const checkInputOutputDevices = () => {\n navigator.mediaDevices\n .enumerateDevices()\n .then((deviceInfos) => {\n setActualDevice(deviceInfos)\n })\n .catch((error) => {\n console.error('error', error)\n })\n }\n\n checkInputOutputDevices()\n\n navigator.mediaDevices.addEventListener('devicechange', checkInputOutputDevices)\n\n return () => {\n navigator.mediaDevices.removeEventListener('devicechange', checkInputOutputDevices)\n }\n }, [selectedAudioOutput, selectedAudioInput])\n\n const { theme } = useSelector((state: RootState) => state.darkTheme)\n\n const handleSelectTheme = (clickedTheme: string) => {\n eventDispatch('phone-island-theme-change', { selectedTheme: clickedTheme })\n }\n\n return (\n <>\n {isWebRTC() ? (\n <Menu\n as='div'\n className='relative inline-block text-left'\n data-stop-propagation={true}\n data-tooltip-id='tooltip-left'\n data-tooltip-content={t('Tooltip.Settings')}\n >\n <Menu.Button\n className='pi-bg-transparent dark:enabled:hover:pi-bg-gray-500 enabled:hover:pi-bg-gray-400 dark:focus:pi-ring-gray-500 focus:pi-ring-gray-400 pi-flex pi-font-sans pi-font-light pi-content-center pi-items-center pi-justify-center pi-tracking-wide pi-duration-200 pi-transform pi-outline-none focus:pi-ring-2 focus:pi-z-20 focus:pi-ring-offset-2 disabled:pi-opacity-75 dark:pi-text-white pi-text-gray-600 pi-border pi-border-transparent focus:pi-ring-offset-gray-200 dark:focus:pi-ring-offset-black pi-rounded-full pi-text-sm pi-leading-4 pi-h-12 pi-w-12 pi-col-start-auto pi-transition-color pi-shrink-0'\n data-stop-propagation={true}\n >\n <FontAwesomeIcon\n size='xl'\n icon={faEllipsis}\n className='dark:pi-text-gray-100 pi-text-gray-700'\n data-stop-propagation={true}\n />\n </Menu.Button>\n\n <Transition\n as={Fragment}\n enter='transition ease-out duration-100'\n enterFrom='transform opacity-0 scale-95'\n enterTo='transform opacity-100 scale-100'\n leave='transition ease-in duration-75'\n leaveFrom='transform opacity-100 scale-100'\n leaveTo='transform opacity-0 scale-95'\n >\n <Menu.Items\n className='pi-max-h-[13.125rem] pi-z-50 pi-absolute pi-top-0 pi-right-[4.5rem] pi-mt-[-9.5rem] pi-w-56 pi-origin-top-right pi-rounded-md pi-shadow-lg pi-ring-1 dark:pi-bg-gray-950 pi-bg-gray-50 pi-bg-opacity-[0.99] dark:pi-bg-opacity-[0.99] pi-ring-black pi-ring-opacity-5 pi-focus:outline-none pi-cursor-auto pi-border-gray-300 dark:pi-border-gray-600 pi-border pi-py-2 pi-overflow-y-auto pi-scrollbar-thin pi-scrollbar-thumb-gray-400 pi-dark:scrollbar-thumb-gray-400 pi-scrollbar-thumb-rounded-full pi-scrollbar-thumb-opacity-50 dark:pi-scrollbar-track-gray-900 pi-scrollbar-track-gray-200 pi-dark:scrollbar-track-gray-900 pi-scrollbar-track-rounded-full pi-scrollbar-track-opacity-25'\n data-stop-propagation={true}\n >\n <div className='' data-stop-propagation={true}>\n {/* Microphones */}\n <div className='pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4'>\n {t('DropdownContent.Microphones')}\n </div>\n {actualDevice\n .filter((device) => device?.kind === 'audioinput')\n .map((audioDevice, index) => (\n <Menu.Item key={index}>\n {({ active }) => (\n <div\n className={`pi-flex pi-py-2 pi-px-2 ${\n active ? 'pi-bg-gray-200 dark:pi-bg-gray-700' : ''\n }`}\n onClick={() => handleClickAudioInput(audioDevice.deviceId)}\n data-stop-propagation={true}\n >\n {/* faCheck on selectedAudioInput */}\n {selectedAudioInput === audioDevice?.deviceId && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-2'\n />\n )}\n\n {/* faCheck if user has no selectedAudioInput and audioDevice is default */}\n {!selectedAudioInput && audioDevice?.deviceId === 'default' && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-2'\n />\n )}\n\n <FontAwesomeIcon\n size='lg'\n icon={faMicrophone}\n className={`${\n selectedAudioInput !== null &&\n selectedAudioInput !== '' &&\n selectedAudioInput !== audioDevice?.deviceId\n ? 'pi-ml-6'\n : selectedAudioInput !== '' &&\n selectedAudioInput !== null &&\n selectedAudioInput === audioDevice?.deviceId\n ? ''\n : selectedAudioInput === null && audioDevice?.deviceId !== 'default'\n ? 'pi-ml-6'\n : ''\n } dark:pi-text-gray-100 pi-text-gray-600 pi-mr-1`}\n />\n <div\n className={`${\n active\n ? 'dark:pi-text-gray-50 pi-text-gray-900'\n : 'dark:pi-text-gray-50 pi-text-gray-700'\n }`}\n >\n {audioDevice?.label || `Input device ${index + 1}`}\n </div>\n </div>\n )}\n </Menu.Item>\n ))}\n {/* Divider */}\n <div className='pi-relative pi-py-2'>\n <div\n className='pi-absolute pi-inset-0 pi-flex pi-items-center'\n aria-hidden='true'\n >\n <div className='pi-w-full pi-border-t pi-border-gray-400 dark:pi-border-gray-600' />\n </div>\n </div>\n {/* Speaker */}\n <div\n className='pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4'\n data-stop-propagation={true}\n >\n {t('DropdownContent.Speakers')}\n </div>\n {actualDevice\n .filter((device) => device?.kind === 'audiooutput')\n .map((audioDevice, index) => (\n <Menu.Item key={index}>\n {({ active }) => (\n <div\n className={`pi-flex pi-py-2 pi-px-2 ${\n active ? 'pi-bg-gray-200 dark:pi-bg-gray-700' : ''\n }`}\n onClick={() => handleClickAudioOutput(audioDevice?.deviceId)}\n data-stop-propagation={true}\n >\n {/* faCheck on selectedAudioOutput */}\n {selectedAudioOutput === audioDevice?.deviceId && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-2'\n />\n )}\n\n {/* faCheck if user has no selectedAudioInput and audioDevice is default */}\n {!selectedAudioOutput && audioDevice?.deviceId === 'default' && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-2'\n />\n )}\n\n <FontAwesomeIcon\n size='lg'\n icon={faVolumeHigh}\n className={`${\n selectedAudioOutput !== null &&\n selectedAudioOutput !== '' &&\n selectedAudioOutput !== audioDevice?.deviceId\n ? 'pi-ml-6'\n : selectedAudioOutput !== '' &&\n selectedAudioOutput !== null &&\n selectedAudioOutput === audioDevice?.deviceId\n ? ''\n : selectedAudioOutput === null &&\n audioDevice?.deviceId !== 'default'\n ? 'pi-ml-6'\n : ''\n } dark:pi-text-gray-100 pi-text-gray-600 pi-mr-1`}\n />\n\n <div\n className={`${\n active\n ? 'dark:pi-text-gray-50 pi-text-gray-900'\n : 'dark:pi-text-gray-50 pi-text-gray-700'\n }`}\n >\n {audioDevice?.label || `Output device ${index + 1}`}\n </div>\n </div>\n )}\n </Menu.Item>\n ))}\n {/* Divider */}\n <div className='pi-relative pi-py-2'>\n <div\n className='pi-absolute pi-inset-0 pi-flex pi-items-center'\n aria-hidden='true'\n >\n <div className='pi-w-full pi-border-t pi-border-gray-400 dark:pi-border-gray-600' />\n </div>\n </div>\n {/* theme selection */}\n <div\n className='pi-font-semibold dark:pi-text-gray-50 pi-text-gray-600 pi-py-1 pi-px-4'\n data-stop-propagation={true}\n >\n {t('DropdownContent.Theme')}\n </div>\n\n {/* dark theme */}\n <div\n className={`pi-flex pi-py-2 pi-px-2 dark:hover:pi-text-gray-50 hover:pi-text-gray-900 dark:pi-text-gray-50 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700`}\n onClick={() => handleSelectTheme('dark')}\n data-stop-propagation={true}\n >\n {theme === 'dark' && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-[0.57rem]'\n />\n )}\n <FontAwesomeIcon\n size='lg'\n icon={faMoon}\n className={`${\n theme !== 'dark' ? 'pi-ml-[1.49rem] pi-mr-[0.42rem]' : 'pi-mr-[0.4rem]'\n } dark:pi-text-gray-100 pi-text-gray-600 `}\n />\n\n <div>{t('DropdownContent.Dark')}</div>\n </div>\n\n {/* light theme */}\n <div\n className={`pi-flex pi-py-2 pi-px-2 dark:hover:pi-text-gray-50 hover:pi-text-gray-900 dark:pi-text-gray-50 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700`}\n onClick={() => handleSelectTheme('light')}\n data-stop-propagation={true}\n >\n {theme === 'light' && (\n <FontAwesomeIcon\n size='lg'\n icon={faCheck}\n className='pi-text-green-600 dark:pi-text-green-400 pi-mr-[0.4rem]'\n />\n )}\n\n <FontAwesomeIcon\n size='lg'\n icon={faSun}\n className={`${\n theme !== 'light' ? 'pi-ml-[1.4rem] pi-mr-[0.27rem]' : 'pi-mr-[0.28rem]'\n } dark:pi-text-gray-100 pi-text-gray-600 `}\n />\n <div>{t('DropdownContent.Light')}</div>\n </div>\n\n {/* Video\n <div className='pi-font-semibold pi-text-gray-700 pi-py-1 pi-px-4'>\n Video\n </div>\n {actualDevice\n .filter((device) => device.kind === 'videoinput')\n .map((videoDevice, index) => (\n <Menu.Item key={index}>\n {({ active }) => (\n <div className='pi-text-gray-700'>\n Webcam: {videoDevice.label || `Device ${index + 1}`}\n </div>\n )}\n </Menu.Item>\n ))}*/}\n </div>\n </Menu.Items>\n </Transition>\n </Menu>\n ) : (\n <div></div>\n )}\n <Tooltip className='pi-z-20' id='tooltip-left' place='left' />\n </>\n )\n}\n\ninterface DropdownContentProps extends ComponentProps<'div'> {\n username?: string\n status?: string\n}\n\ninterface DeviceInputOutputTypes {\n deviceId: string\n}\n\nexport default DropdownContent\n"],"names":["_a","username","status","sipcall","useSelector","state","webrtc","remoteAudioElement","player","remoteAudio","_b","useState","getJSONItem","deviceId","selectedAudioInput","setSelectedAudioInput","_c","selectedAudioOutput","setSelectedAudioOutput","handleClickAudioInput","audioInputDevice","webrtcStuff","myStream","replaceTracks","tracks","type","mid","capture","exact","success","console","info","setJSONItem","eventDispatch","error","err","useEventListener","data","handleClickAudioOutput","audioOutputDevice","current","setSinkId","then","catch","_d","actualDevice","setActualDevice","useEffect","checkInputOutputDevices","navigator","mediaDevices","enumerateDevices","deviceInfos","addEventListener","removeEventListener","theme","darkTheme","handleSelectTheme","clickedTheme","selectedTheme","React","createElement","Fragment","isWebRTC","Menu","as","className","t","Button","FontAwesomeIcon","size","icon","faEllipsis","Transition","enter","enterFrom","enterTo","leave","leaveFrom","leaveTo","Items","filter","device","kind","map","audioDevice","index","Item","key","active","concat","onClick","faCheck","faMicrophone","label","faVolumeHigh","faMoon","faSun","Tooltip","id","place"],"mappings":"q+BAqBkD,SAACA,GAAUA,EAAAC,SAAQD,EAAAE,OAC3D,IAAAC,EAAiBC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,kBAC3DC,EAA0BH,eAAY,SAACC,GAAqB,OAAAA,EAAMG,OAAOC,WAAb,IAE5DC,EAA8CC,EAAAA,SAClDC,EAAAA,YAAY,mCAAmCC,UAAY,MADtDC,OAAoBC,OAGrBC,EAAgDL,EAAAA,SACpDC,EAAAA,YAAY,oCAAoCC,UAAY,MADvDI,OAAqBC,OAItBC,EAAwB,SAACC,GAC7BL,EAAsBK,GAElBjB,EAAQkB,YAAYC,SACtBnB,SAAAA,EAASoB,cAAc,CACrBC,OAAQ,CACN,CACEC,KAAM,QACNC,IAAK,IACLC,QAAS,CAAEd,SAAU,CAAEe,MAAOR,MAGlCS,QAAS,WACPC,QAAQC,KAAK,sCAEbC,EAAAA,YAAY,kCAAmC,CAAEnB,SAAUO,IAG3Da,gBAAc,yCAA0C,CAAA,EACzD,EACDC,MAAO,SAAUC,GACfL,QAAQI,MAAM,mCAAoCC,EACnD,KAIHH,EAAAA,YAAY,kCAAmC,CAAEnB,SAAUO,IAG3Da,gBAAc,yCAA0C,CAAA,GAE5D,EACAG,mBAAiB,wCAAwC,SAACC,GACxDlB,EAAsBkB,EAAKxB,SAC7B,IAEA,IAAMyB,EAAyB,SAACC,GAC9BrB,EAAuBqB,GAEvBhC,SAAAA,EAAoBiC,QACjBC,UAAUF,GACVG,MAAK,WACJZ,QAAQC,KAAK,uCAEbC,EAAAA,YAAY,mCAAoC,CAAEnB,SAAU0B,IAG5DN,gBAAc,0CAA2C,CAAA,EAC3D,IACCU,OAAM,SAAUR,GACfL,QAAQI,MAAM,oCAAqCC,EACrD,GACJ,EACAC,mBAAiB,yCAAyC,SAACC,GACzDC,EAAuBD,EAAKxB,SAC9B,IAEM,IAAA+B,EAAuCjC,EAAAA,SAAS,IAA/CkC,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAEpCG,EAAAA,WAAU,WACR,IAAMC,EAA0B,WAC9BC,UAAUC,aACPC,mBACAT,MAAK,SAACU,GACLN,EAAgBM,EAClB,IACCT,OAAM,SAACT,GACNJ,QAAQI,MAAM,QAASA,EACzB,GACJ,EAMA,OAJAc,IAEAC,UAAUC,aAAaG,iBAAiB,eAAgBL,GAEjD,WACLC,UAAUC,aAAaI,oBAAoB,eAAgBN,EAC7D,CACF,GAAG,CAAC/B,EAAqBH,IAEjB,IAAAyC,EAAUnD,eAAY,SAACC,GAAqB,OAAAA,EAAMmD,mBAEpDC,EAAoB,SAACC,GACzBzB,EAAAA,cAAc,4BAA6B,CAAE0B,cAAeD,GAC9D,EAEA,OACEE,UAAAC,cAAAD,EAAA,QAAAE,SAAA,KACGC,EAAQA,WACPH,EAAAA,QAACC,cAAAG,EAAIA,KACH,CAAAC,GAAG,MACHC,UAAU,kCAAiC,yBACpB,EAAI,kBACX,eACM,uBAAAC,EAAAA,EAAE,qBAExBP,UAACC,cAAAG,EAAAA,KAAKI,OAAM,CACVF,UAAU,4mBACa,GAEvBN,EAAAA,QAAAC,cAACQ,EAAAA,gBACC,CAAAC,KAAK,KACLC,KAAMC,EAAUA,WAChBN,UAAU,yCACa,yBAAA,KAI3BN,EAAA,QAAAC,cAACY,aAAU,CACTR,GAAIH,WACJY,MAAM,mCACNC,UAAU,+BACVC,QAAQ,kCACRC,MAAM,iCACNC,UAAU,kCACVC,QAAQ,gCAERnB,UAACC,cAAAG,EAAAA,KAAKgB,MAAK,CACTd,UAAU,+rBACa,GAEvBN,EAAA,QAAAC,cAAA,MAAA,CAAKK,UAAU,GAAE,yBAAwB,GAEvCN,UAAKC,cAAA,MAAA,CAAAK,UAAU,0EACZC,EAAAA,EAAE,gCAEJtB,EACEoC,QAAO,SAACC,GAAW,MAAiB,gBAAjBA,aAAM,EAANA,EAAQC,KAAqB,IAChDC,KAAI,SAACC,EAAaC,GAAU,OAC3B1B,EAAAA,QAAAC,cAACG,EAAIA,KAACuB,KAAK,CAAAC,IAAKF,IACb,SAACtF,GAAE,IAAAyF,EAAMzF,EAAAyF,OAAO,OACf7B,EAAA,QAAAC,cAAA,MAAA,CACEK,UAAW,2BACTwB,OAAAD,EAAS,qCAAuC,IAElDE,QAAS,WAAM,OAAAxE,EAAsBkE,EAAYxE,SAAlC,2BACQ,GAGtBC,KAAuBuE,aAAW,EAAXA,EAAaxE,WACnC+C,EAAC,QAAAC,cAAAQ,EAAAA,iBACCC,KAAK,KACLC,KAAMqB,UACN1B,UAAU,sDAKZpD,GAAgD,aAA1BuE,aAAA,EAAAA,EAAaxE,WACnC+C,EAAAA,QAACC,cAAAQ,kBACC,CAAAC,KAAK,KACLC,KAAMqB,UACN1B,UAAU,qDAIdN,EAAAA,QAAAC,cAACQ,kBAAe,CACdC,KAAK,KACLC,KAAMsB,EAAAA,aACN3B,UAAW,GACTwB,OAAuB,OAAvB5E,GACuB,KAAvBA,GACAA,KAAuBuE,eAAAA,EAAaxE,UAChC,UACuB,KAAvBC,GACuB,OAAvBA,GACAA,KAAuBuE,eAAAA,EAAaxE,UACpC,GACuB,OAAvBC,GAAyD,aAA1BuE,aAAA,EAAAA,EAAaxE,UAC5C,UACA,GAAE,qDAGV+C,EACE,QAAAC,cAAA,MAAA,CAAAK,UAAW,GAAAwB,OACTD,EACI,wCACA,2CAGLJ,aAAA,EAAAA,EAAaS,QAAS,uBAAgBR,EAAQ,IAGpD,GAvDwB,IA2D/B1B,EAAAA,QAAKC,cAAA,MAAA,CAAAK,UAAU,uBACbN,EAAA,QAAAC,cAAA,MAAA,CACEK,UAAU,iDAAgD,cAC9C,QAEZN,EAAA,QAAAC,cAAA,MAAA,CAAKK,UAAU,uEAInBN,EAAAA,QACEC,cAAA,MAAA,CAAAK,UAAU,yEACa,yBAAA,GAEtBC,IAAE,6BAEJtB,EACEoC,QAAO,SAACC,GAAW,MAAiB,iBAAjBA,aAAM,EAANA,EAAQC,KAAsB,IACjDC,KAAI,SAACC,EAAaC,GAAU,OAC3B1B,EAAAA,QAAAC,cAACG,EAAIA,KAACuB,KAAK,CAAAC,IAAKF,IACb,SAACtF,GAAE,IAAAyF,EAAMzF,EAAAyF,OAAO,OACf7B,UAAAC,cAAA,MAAA,CACEK,UAAW,kCACTuB,EAAS,qCAAuC,IAElDE,QAAS,WAAM,OAAArD,EAAuB+C,aAAA,EAAAA,EAAaxE,oCAC5B,GAGtBI,KAAwBoE,aAAW,EAAXA,EAAaxE,WACpC+C,EAAC,QAAAC,cAAAQ,EAAAA,iBACCC,KAAK,KACLC,KAAMqB,UACN1B,UAAU,sDAKZjD,GAAiD,aAA1BoE,aAAA,EAAAA,EAAaxE,WACpC+C,EAAAA,QAACC,cAAAQ,kBACC,CAAAC,KAAK,KACLC,KAAMqB,UACN1B,UAAU,qDAIdN,EAAAA,QAAAC,cAACQ,kBAAe,CACdC,KAAK,KACLC,KAAMwB,EAAAA,aACN7B,UAAW,GACTwB,OAAwB,OAAxBzE,GACwB,KAAxBA,GACAA,KAAwBoE,eAAAA,EAAaxE,UACjC,UACwB,KAAxBI,GACwB,OAAxBA,GACAA,KAAwBoE,eAAAA,EAAaxE,UACrC,GACwB,OAAxBI,GAC0B,aAA1BoE,aAAW,EAAXA,EAAaxE,UACb,UACA,GAAE,qDAIV+C,EACE,QAAAC,cAAA,MAAA,CAAAK,UAAW,GAAAwB,OACTD,EACI,wCACA,2CAGLJ,aAAA,EAAAA,EAAaS,QAAS,wBAAiBR,EAAQ,IAGrD,GAzDwB,IA6D/B1B,EAAAA,QAAKC,cAAA,MAAA,CAAAK,UAAU,uBACbN,EAAA,QAAAC,cAAA,MAAA,CACEK,UAAU,iDAAgD,cAC9C,QAEZN,EAAA,QAAAC,cAAA,MAAA,CAAKK,UAAU,uEAInBN,EAAAA,QACEC,cAAA,MAAA,CAAAK,UAAU,yEACa,yBAAA,GAEtBC,IAAE,0BAILP,EAAAA,QAAAC,cAAA,MAAA,CACEK,UAAW,iKACXyB,QAAS,WAAM,OAAAlC,EAAkB,OAAlB,2BACQ,GAEZ,SAAVF,GACCK,EAAAA,QAACC,cAAAQ,EAAeA,iBACdC,KAAK,KACLC,KAAMqB,EAAOA,QACb1B,UAAU,6DAGdN,EAAC,QAAAC,cAAAQ,kBACC,CAAAC,KAAK,KACLC,KAAMyB,SACN9B,UAAW,UACC,SAAVX,EAAmB,kCAAoC,iBAAgB,8CAI3EK,EAAA,QAAAC,cAAA,MAAA,KAAMM,EAACA,EAAC,0BAIVP,EAAAA,QAAAC,cAAA,MAAA,CACEK,UAAW,iKACXyB,QAAS,WAAM,OAAAlC,EAAkB,QAAlB,2BACQ,GAEZ,UAAVF,GACCK,EAAAA,QAACC,cAAAQ,EAAeA,iBACdC,KAAK,KACLC,KAAMqB,EAAOA,QACb1B,UAAU,4DAIdN,EAAC,QAAAC,cAAAQ,kBACC,CAAAC,KAAK,KACLC,KAAM0B,QACN/B,UAAW,UACC,UAAVX,EAAoB,iCAAmC,kBAAiB,8CAG5EK,EAAAA,QAAAC,cAAA,MAAA,KAAMM,EAAAA,EAAE,+BAuBlBP,oCAEFA,EAAAA,QAAAC,cAACqC,UAAQ,CAAAhC,UAAU,UAAUiC,GAAG,eAAeC,MAAM,SAG3D"}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- @supports (-moz-appearance:none){*{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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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-absolute{position:absolute}.pi-relative{position:relative}.pi-inset-0{inset:0}.pi-left-0{left:0}.pi-right-0{right:0}.pi-right-\[4\.5rem\]{right:4.5rem}.pi-top-0{top:0}.-pi-z-10{z-index:-10}.pi-z-1000{z-index:1000}.pi-z-20{z-index:20}.pi-z-30{z-index:30}.pi-z-50{z-index:50}.pi-col-start-auto{grid-column-start:auto}.-pi-mt-10{margin-top:-2.5rem}.pi-mb-6{margin-bottom:1.5rem}.pi-ml-11{margin-left:2.75rem}.pi-ml-16{margin-left:4rem}.pi-ml-4{margin-left:1rem}.pi-ml-6{margin-left:1.5rem}.pi-ml-8{margin-left:2rem}.pi-ml-\[1\.49rem\]{margin-left:1.49rem}.pi-ml-\[1\.4rem\]{margin-left:1.4rem}.pi-ml-\[4\.7rem\]{margin-left:4.7rem}.pi-mr-1{margin-right:.25rem}.pi-mr-2{margin-right:.5rem}.pi-mr-\[0\.27rem\]{margin-right:.27rem}.pi-mr-\[0\.28rem\]{margin-right:.28rem}.pi-mr-\[0\.42rem\]{margin-right:.42rem}.pi-mr-\[0\.4rem\]{margin-right:.4rem}.pi-mr-\[0\.57rem\]{margin-right:.57rem}.pi-mt-1{margin-top:.25rem}.pi-mt-4{margin-top:1rem}.pi-mt-7{margin-top:1.75rem}.pi-mt-\[-9\.5rem\]{margin-top:-9.5rem}.pi-inline-block{display:inline-block}.pi-flex{display:flex}.pi-grid{display:grid}.pi-hidden{display:none}.pi-h-1{height:.25rem}.pi-h-12{height:3rem}.pi-h-3{height:.75rem}.pi-h-6{height:1.5rem}.pi-h-8{height:2rem}.pi-h-9{height:2.25rem}.pi-h-fit{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.pi-h-full{height:100%}.pi-max-h-\[13\.125rem\]{max-height:13.125rem}.pi-min-h-full{min-height:100%}.pi-w-0{width:0}.pi-w-0\.5{width:.125rem}.pi-w-12{width:3rem}.pi-w-16{width:4rem}.pi-w-2{width:.5rem}.pi-w-3{width:.75rem}.pi-w-44{width:11rem}.pi-w-56{width:14rem}.pi-w-6{width:1.5rem}.pi-w-9{width:2.25rem}.pi-w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pi-w-full{width:100%}.pi-min-w-12{min-width:3rem}.pi-min-w-full{min-width:100%}.pi-max-w-40{max-width:10rem}.pi-flex-none{flex:none}.pi-flex-shrink-0,.pi-shrink-0{flex-shrink:0}.pi-flex-grow-0{flex-grow:0}.pi-origin-top-right{-webkit-transform-origin:top right;transform-origin:top right}.pi--rotate-45{--tw-rotate:-45deg}.pi--rotate-45,.pi-rotate-135{-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))}.pi-rotate-135{--tw-rotate:135deg}.pi-rotate-90{--tw-rotate:90deg}.pi-rotate-90,.pi-rotate-\[135deg\]{-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))}.pi-rotate-\[135deg\]{--tw-rotate:135deg}.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-auto{cursor:auto}.pi-cursor-pointer{cursor:pointer}.pi-auto-cols-max{grid-auto-columns:-webkit-max-content;grid-auto-columns:max-content}.pi-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.pi-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pi-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pi-grid-cols-\[12rem\,1rem\]{grid-template-columns:12rem 1rem}.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-start{justify-content:flex-start}.pi-justify-end{justify-content:flex-end}.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-2{gap:.5rem}.pi-gap-3{gap:.75rem}.pi-gap-3\.5{gap:.875rem}.pi-gap-4{gap:1rem}.pi-gap-5{gap:1.25rem}.pi-gap-6{gap:1.5rem}.pi-gap-7{gap:1.75rem}.pi-gap-y-5{row-gap:1.25rem}.pi-gap-y-6{row-gap:1.5rem}.pi-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.pi-overflow-hidden{overflow:hidden}.pi-overflow-y-auto{overflow-y:auto}.pi-overflow-x-hidden{overflow-x:hidden}.pi-truncate{overflow:hidden;white-space:nowrap}.pi-text-ellipsis,.pi-truncate{text-overflow:ellipsis}.pi-whitespace-nowrap{white-space:nowrap}.pi-rounded-2xl{border-radius:1rem}.pi-rounded-3xl{border-radius:1.5rem}.pi-rounded-full{border-radius:9999px}.pi-rounded-md{border-radius:.375rem}.pi-rounded-sm{border-radius:.125rem}.pi-rounded-xl{border-radius:.75rem}.pi-border{border-width:1px}.pi-border-2{border-width:2px}.pi-border-4{border-width:4px}.pi-border-t{border-top-width:1px}.pi-border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.pi-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.pi-border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.pi-border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.pi-border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.pi-border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity))}.pi-border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.pi-border-transparent{border-color:transparent}.pi-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.pi-bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.pi-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.pi-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.pi-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.pi-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.pi-bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.pi-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.pi-bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.pi-bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.pi-bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.pi-bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.pi-bg-transparent{background-color:initial}.pi-bg-opacity-\[0\.99\]{--tw-bg-opacity:0.99}.pi-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.pi-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.pi-from-gray-100{--tw-gradient-from:#f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,244,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.pi-from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.pi-to-gray-50{--tw-gradient-to:#f9fafb var(--tw-gradient-to-position)}.pi-to-gray-500{--tw-gradient-to:#6b7280 var(--tw-gradient-to-position)}.pi-to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.pi-bg-cover{background-size:cover}.pi-p-4{padding:1rem}.pi-px-0{padding-left:0;padding-right:0}.pi-px-0\.5{padding-left:.125rem;padding-right:.125rem}.pi-px-2{padding-left:.5rem;padding-right:.5rem}.pi-px-3{padding-left:.75rem;padding-right:.75rem}.pi-px-4{padding-left:1rem;padding-right:1rem}.pi-px-6{padding-left:1.5rem;padding-right:1.5rem}.pi-py-1{padding-bottom:.25rem;padding-top:.25rem}.pi-py-2{padding-bottom:.5rem;padding-top:.5rem}.pi-pb-9{padding-bottom:2.25rem}.pi-pr-2{padding-right:.5rem}.pi-pr-4{padding-right:1rem}.pi-pt-3{padding-top:.75rem}.pi-pt-4{padding-top:1rem}.pi-pt-7{padding-top:1.75rem}.pi-pt-9{padding-top:2.25rem}.pi-text-center{text-align:center}.pi-font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.pi-text-2xl{font-size:1.5rem;line-height:2rem}.pi-text-4xl{font-size:2.25rem;line-height:2.5rem}.pi-text-base{font-size:1rem;line-height:1.5rem}.pi-text-sm{font-size:.875rem;line-height:1.25rem}.pi-text-xl{font-size:1.25rem;line-height:1.75rem}.pi-text-xs{font-size:.75rem;line-height:1rem}.pi-font-bold{font-weight:700}.pi-font-light{font-weight:300}.pi-font-medium{font-weight:500}.pi-font-semibold{font-weight:600}.pi-leading-4{line-height:1rem}.pi-tracking-wide{letter-spacing:.025em}.pi-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.pi-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.pi-text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.pi-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.pi-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.pi-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.pi-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.pi-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.pi-opacity-60{opacity:.6}.pi-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.pi-outline-none{outline:2px solid transparent;outline-offset:2px}.pi-ring-1{--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.pi-ring-black{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))}.pi-ring-opacity-5{--tw-ring-opacity:0.05}.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-transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.pi-duration-200{transition-duration:.2s}.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)))}@supports (-moz-appearance:none){.pi-scrollbar-thin{scrollbar-color:var(--scrollbar-thumb,initial) var(--scrollbar-track,initial);scrollbar-width:thin}}.pi-scrollbar-thin::-webkit-scrollbar{display:block;height:8px;width:8px}.pi-scrollbar-track-gray-200{--scrollbar-track:#e5e7eb!important}.pi-scrollbar-thumb-gray-400{--scrollbar-thumb:#9ca3af!important}.pi-scrollbar-track-rounded-full{--scrollbar-track-radius:9999px}.pi-scrollbar-thumb-rounded-full{--scrollbar-thumb-radius:9999px}.hover\:pi-scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;-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))}.hover\:pi-bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/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-text-gray-50:hover{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.hover\:pi-text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:pi-shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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-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-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-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-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/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-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity))}.focus\:pi-ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/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-gray-200:focus{--tw-ring-offset-color:#e5e7eb}.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))}.enabled\:hover\:pi-border-gray-500:hover:enabled{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.enabled\:hover\:pi-bg-gray-400:hover:enabled{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.enabled\:hover\:pi-bg-gray-500:hover:enabled{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.enabled\:hover\:pi-bg-green-700:hover:enabled{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.enabled\:hover\:pi-bg-red-700:hover:enabled{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.disabled\:pi-opacity-75:disabled{opacity:.75}.dark\:pi-border-gray-600:where(.pi-dark,.pi-dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.dark\:pi-bg-emerald-500:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.dark\:pi-bg-emerald-600:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}.dark\:pi-bg-gray-700:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:pi-bg-gray-950:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.dark\:pi-bg-red-600:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.dark\:pi-from-black:where(.pi-dark,.pi-dark *){--tw-gradient-from:#000 var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:pi-to-gray-950:where(.pi-dark,.pi-dark *){--tw-gradient-to:#030712 var(--tw-gradient-to-position)}.dark\:pi-text-gray-100:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.dark\:pi-text-gray-200:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark\:pi-text-gray-50:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.dark\:pi-text-green-400:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.dark\:pi-text-white:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:pi-scrollbar-track-gray-900:where(.pi-dark,.pi-dark *){--scrollbar-track:#111827!important}.dark\:hover\:pi-bg-gray-700:hover:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:hover\:pi-text-gray-50:hover:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.dark\:focus\:pi-ring-gray-500:focus:where(.pi-dark,.pi-dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity))}.dark\:focus\:pi-ring-offset-black:focus:where(.pi-dark,.pi-dark *){--tw-ring-offset-color:#000}.dark\:enabled\:hover\:pi-bg-gray-500:hover:enabled:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}
1
+ @supports (-moz-appearance:none){*{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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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-absolute{position:absolute}.pi-relative{position:relative}.pi-inset-0{inset:0}.pi-left-0{left:0}.pi-right-0{right:0}.pi-right-\[4\.5rem\]{right:4.5rem}.pi-top-0{top:0}.-pi-z-10{z-index:-10}.pi-z-1000{z-index:1000}.pi-z-20{z-index:20}.pi-z-30{z-index:30}.pi-z-50{z-index:50}.pi-col-start-auto{grid-column-start:auto}.-pi-mt-10{margin-top:-2.5rem}.pi-mb-6{margin-bottom:1.5rem}.pi-ml-11{margin-left:2.75rem}.pi-ml-16{margin-left:4rem}.pi-ml-4{margin-left:1rem}.pi-ml-6{margin-left:1.5rem}.pi-ml-8{margin-left:2rem}.pi-ml-\[1\.49rem\]{margin-left:1.49rem}.pi-ml-\[1\.4rem\]{margin-left:1.4rem}.pi-ml-\[4\.7rem\]{margin-left:4.7rem}.pi-mr-1{margin-right:.25rem}.pi-mr-2{margin-right:.5rem}.pi-mr-\[0\.27rem\]{margin-right:.27rem}.pi-mr-\[0\.28rem\]{margin-right:.28rem}.pi-mr-\[0\.42rem\]{margin-right:.42rem}.pi-mr-\[0\.4rem\]{margin-right:.4rem}.pi-mr-\[0\.57rem\]{margin-right:.57rem}.pi-mt-1{margin-top:.25rem}.pi-mt-4{margin-top:1rem}.pi-mt-7{margin-top:1.75rem}.pi-mt-\[-9\.5rem\]{margin-top:-9.5rem}.pi-inline-block{display:inline-block}.pi-flex{display:flex}.pi-grid{display:grid}.pi-hidden{display:none}.pi-h-1{height:.25rem}.pi-h-12{height:3rem}.pi-h-3{height:.75rem}.pi-h-6{height:1.5rem}.pi-h-8{height:2rem}.pi-h-9{height:2.25rem}.pi-h-fit{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.pi-h-full{height:100%}.pi-max-h-\[13\.125rem\]{max-height:13.125rem}.pi-min-h-full{min-height:100%}.pi-w-0{width:0}.pi-w-0\.5{width:.125rem}.pi-w-12{width:3rem}.pi-w-16{width:4rem}.pi-w-2{width:.5rem}.pi-w-3{width:.75rem}.pi-w-44{width:11rem}.pi-w-56{width:14rem}.pi-w-6{width:1.5rem}.pi-w-9{width:2.25rem}.pi-w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.pi-w-full{width:100%}.pi-min-w-12{min-width:3rem}.pi-min-w-full{min-width:100%}.pi-max-w-40{max-width:10rem}.pi-flex-none{flex:none}.pi-flex-shrink-0,.pi-shrink-0{flex-shrink:0}.pi-flex-grow-0{flex-grow:0}.pi-origin-top-right{-webkit-transform-origin:top right;transform-origin:top right}.pi--rotate-45{--tw-rotate:-45deg}.pi--rotate-45,.pi-rotate-135{-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))}.pi-rotate-135{--tw-rotate:135deg}.pi-rotate-90{--tw-rotate:90deg}.pi-rotate-90,.pi-rotate-\[135deg\]{-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))}.pi-rotate-\[135deg\]{--tw-rotate:135deg}.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-auto{cursor:auto}.pi-cursor-pointer{cursor:pointer}.pi-auto-cols-max{grid-auto-columns:-webkit-max-content;grid-auto-columns:max-content}.pi-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.pi-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pi-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pi-grid-cols-\[12rem\,1rem\]{grid-template-columns:12rem 1rem}.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-start{justify-content:flex-start}.pi-justify-end{justify-content:flex-end}.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-2{gap:.5rem}.pi-gap-3{gap:.75rem}.pi-gap-3\.5{gap:.875rem}.pi-gap-4{gap:1rem}.pi-gap-5{gap:1.25rem}.pi-gap-6{gap:1.5rem}.pi-gap-7{gap:1.75rem}.pi-gap-y-5{row-gap:1.25rem}.pi-gap-y-6{row-gap:1.5rem}.pi-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.pi-overflow-hidden{overflow:hidden}.pi-overflow-y-auto{overflow-y:auto}.pi-overflow-x-hidden{overflow-x:hidden}.pi-truncate{overflow:hidden;white-space:nowrap}.pi-text-ellipsis,.pi-truncate{text-overflow:ellipsis}.pi-whitespace-nowrap{white-space:nowrap}.pi-rounded-2xl{border-radius:1rem}.pi-rounded-3xl{border-radius:1.5rem}.pi-rounded-full{border-radius:9999px}.pi-rounded-md{border-radius:.375rem}.pi-rounded-sm{border-radius:.125rem}.pi-rounded-xl{border-radius:.75rem}.pi-border{border-width:1px}.pi-border-2{border-width:2px}.pi-border-4{border-width:4px}.pi-border-t{border-top-width:1px}.pi-border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.pi-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.pi-border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.pi-border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.pi-border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.pi-border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity))}.pi-border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.pi-border-transparent{border-color:transparent}.pi-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.pi-bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.pi-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.pi-bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.pi-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.pi-bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.pi-bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.pi-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.pi-bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.pi-bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.pi-bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.pi-bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.pi-bg-transparent{background-color:initial}.pi-bg-opacity-\[0\.99\]{--tw-bg-opacity:0.99}.pi-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.pi-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.pi-from-gray-100{--tw-gradient-from:#f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,244,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.pi-from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.pi-to-gray-50{--tw-gradient-to:#f9fafb var(--tw-gradient-to-position)}.pi-to-gray-500{--tw-gradient-to:#6b7280 var(--tw-gradient-to-position)}.pi-to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.pi-bg-cover{background-size:cover}.pi-p-4{padding:1rem}.pi-px-0{padding-left:0;padding-right:0}.pi-px-0\.5{padding-left:.125rem;padding-right:.125rem}.pi-px-2{padding-left:.5rem;padding-right:.5rem}.pi-px-3{padding-left:.75rem;padding-right:.75rem}.pi-px-4{padding-left:1rem;padding-right:1rem}.pi-px-6{padding-left:1.5rem;padding-right:1.5rem}.pi-py-1{padding-bottom:.25rem;padding-top:.25rem}.pi-py-2{padding-bottom:.5rem;padding-top:.5rem}.pi-pb-9{padding-bottom:2.25rem}.pi-pr-2{padding-right:.5rem}.pi-pr-4{padding-right:1rem}.pi-pt-3{padding-top:.75rem}.pi-pt-4{padding-top:1rem}.pi-pt-7{padding-top:1.75rem}.pi-pt-9{padding-top:2.25rem}.pi-text-center{text-align:center}.pi-font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.pi-text-2xl{font-size:1.5rem;line-height:2rem}.pi-text-4xl{font-size:2.25rem;line-height:2.5rem}.pi-text-base{font-size:1rem;line-height:1.5rem}.pi-text-sm{font-size:.875rem;line-height:1.25rem}.pi-text-xl{font-size:1.25rem;line-height:1.75rem}.pi-text-xs{font-size:.75rem;line-height:1rem}.pi-font-bold{font-weight:700}.pi-font-light{font-weight:300}.pi-font-medium{font-weight:500}.pi-font-semibold{font-weight:600}.pi-leading-4{line-height:1rem}.pi-tracking-wide{letter-spacing:.025em}.pi-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.pi-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.pi-text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.pi-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.pi-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.pi-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.pi-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.pi-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.pi-opacity-60{opacity:.6}.pi-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.pi-outline-none{outline:2px solid transparent;outline-offset:2px}.pi-ring-1{--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.pi-ring-black{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))}.pi-ring-opacity-5{--tw-ring-opacity:0.05}.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-transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.pi-duration-200{transition-duration:.2s}.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)))}@supports (-moz-appearance:none){.pi-scrollbar-thin{scrollbar-color:var(--scrollbar-thumb,initial) var(--scrollbar-track,initial);scrollbar-width:thin}}.pi-scrollbar-thin::-webkit-scrollbar{display:block;height:8px;width:8px}.pi-scrollbar-track-gray-200{--scrollbar-track:#e5e7eb!important}.pi-scrollbar-thumb-gray-400{--scrollbar-thumb:#9ca3af!important}.pi-scrollbar-track-rounded-full{--scrollbar-track-radius:9999px}.pi-scrollbar-thumb-rounded-full{--scrollbar-thumb-radius:9999px}.hover\:pi-scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;-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))}.hover\:pi-bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/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-text-gray-50:hover{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.hover\:pi-text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:pi-shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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-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-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-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-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/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-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity))}.focus\:pi-ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/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-gray-200:focus{--tw-ring-offset-color:#e5e7eb}.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))}.enabled\:hover\:pi-border-gray-500:hover:enabled{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.enabled\:hover\:pi-bg-gray-400:hover:enabled{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.enabled\:hover\:pi-bg-gray-500:hover:enabled{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.enabled\:hover\:pi-bg-green-700:hover:enabled{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.enabled\:hover\:pi-bg-red-700:hover:enabled{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.disabled\:pi-opacity-75:disabled{opacity:.75}.dark\:pi-border-gray-600:where(.pi-dark,.pi-dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.dark\:pi-bg-emerald-500:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.dark\:pi-bg-emerald-600:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}.dark\:pi-bg-gray-700:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:pi-bg-gray-950:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.dark\:pi-bg-red-600:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.dark\:pi-bg-opacity-\[0\.99\]:where(.pi-dark,.pi-dark *){--tw-bg-opacity:0.99}.dark\:pi-from-black:where(.pi-dark,.pi-dark *){--tw-gradient-from:#000 var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:pi-to-gray-950:where(.pi-dark,.pi-dark *){--tw-gradient-to:#030712 var(--tw-gradient-to-position)}.dark\:pi-text-gray-100:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.dark\:pi-text-gray-200:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark\:pi-text-gray-50:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.dark\:pi-text-green-400:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.dark\:pi-text-white:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:pi-scrollbar-track-gray-900:where(.pi-dark,.pi-dark *){--scrollbar-track:#111827!important}.dark\:hover\:pi-bg-gray-700:hover:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:hover\:pi-text-gray-50:hover:where(.pi-dark,.pi-dark *){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.dark\:focus\:pi-ring-gray-500:focus:where(.pi-dark,.pi-dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity))}.dark\:focus\:pi-ring-offset-black:focus:where(.pi-dark,.pi-dark *){--tw-ring-offset-color:#000}.dark\:enabled\:hover\:pi-bg-gray-500:hover:enabled:where(.pi-dark,.pi-dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-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.127",
4
+ "version": "0.7.129",
5
5
  "description": "NethVoice CTI Phone Island",
6
6
  "keywords": [
7
7
  "nethserver",