@nethesis/phone-island 0.8.18 → 0.8.20
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.
- package/dist/App.js +1 -1
- package/dist/App.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.js +1 -1
- package/dist/_virtual/index.js +1 -1
- package/dist/_virtual/index2.js +1 -1
- package/dist/_virtual/index4.js +1 -1
- package/dist/_virtual/index5.js +1 -1
- package/dist/_virtual/index8.js +1 -1
- package/dist/_virtual/index9.js +1 -1
- package/dist/components/AlertGuard.js.map +1 -1
- package/dist/components/AlertView/Alert.js.map +1 -1
- package/dist/components/AlertView/index.js +1 -1
- package/dist/components/AlertView/index.js.map +1 -1
- package/dist/components/AudioBars.js.map +1 -1
- package/dist/components/AudioPlayerView/Avatar.js +1 -1
- package/dist/components/AudioPlayerView/Avatar.js.map +1 -1
- package/dist/components/AudioPlayerView/index.js +1 -1
- package/dist/components/AudioPlayerView/index.js.map +1 -1
- package/dist/components/Button.js +1 -1
- package/dist/components/Button.js.map +1 -1
- package/dist/components/CallView/Actions.js +1 -1
- package/dist/components/CallView/Actions.js.map +1 -1
- package/dist/components/CallView/Avatar.js +1 -1
- package/dist/components/CallView/Avatar.js.map +1 -1
- package/dist/components/CallView/BackCall.js +1 -1
- package/dist/components/CallView/BackCall.js.map +1 -1
- package/dist/components/CallView/DisplayName.js +1 -1
- package/dist/components/CallView/DisplayName.js.map +1 -1
- package/dist/components/CallView/Number.js.map +1 -1
- package/dist/components/CallView/Timer.js.map +1 -1
- package/dist/components/CallView/index.js +1 -1
- package/dist/components/CallView/index.js.map +1 -1
- package/dist/components/Hangup.js +1 -1
- package/dist/components/Hangup.js.map +1 -1
- package/dist/components/Island.js +1 -1
- package/dist/components/Island.js.map +1 -1
- package/dist/components/IslandDrag.js +1 -1
- package/dist/components/IslandDrag.js.map +1 -1
- package/dist/components/IslandMotion.js +1 -1
- package/dist/components/IslandMotion.js.map +1 -1
- package/dist/components/KeypadView/Actions.js +1 -1
- package/dist/components/KeypadView/Actions.js.map +1 -1
- package/dist/components/KeypadView/index.js +1 -1
- package/dist/components/KeypadView/index.js.map +1 -1
- package/dist/components/PhysicalRecorderView/index.js +1 -1
- package/dist/components/PhysicalRecorderView/index.js.map +1 -1
- package/dist/components/RecorderView/Actions.js +1 -1
- package/dist/components/RecorderView/Actions.js.map +1 -1
- package/dist/components/RecorderView/Bar.js.map +1 -1
- package/dist/components/RecorderView/BarsGroup.js.map +1 -1
- package/dist/components/RecorderView/index.js +1 -1
- package/dist/components/RecorderView/index.js.map +1 -1
- package/dist/components/RestAPI.js.map +1 -1
- package/dist/components/Socket.js +1 -1
- package/dist/components/Socket.js.map +1 -1
- package/dist/components/SwitchInputView/DropdownContent.js +1 -1
- package/dist/components/SwitchInputView/DropdownContent.js.map +1 -1
- package/dist/components/SwitchInputView/Index.js +1 -1
- package/dist/components/TransferView/ListAvatar.js.map +1 -1
- package/dist/components/TransferView/TransferActions.js +1 -1
- package/dist/components/TransferView/TransferActions.js.map +1 -1
- package/dist/components/TransferView/TransferList.js +1 -1
- package/dist/components/TransferView/TransferList.js.map +1 -1
- package/dist/components/ViewsTransition.js +1 -1
- package/dist/components/ViewsTransition.js.map +1 -1
- package/dist/events/CallEvents.js.map +1 -1
- package/dist/events/PlayerEvents.js.map +1 -1
- package/dist/events/SocketEvents.d.ts +6 -0
- package/dist/events/SocketEvents.js +1 -1
- package/dist/events/SocketEvents.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/lib/avatars/avatars.js.map +1 -1
- package/dist/lib/devices/devices.js +1 -1
- package/dist/lib/devices/devices.js.map +1 -1
- package/dist/lib/i18n.js +1 -1
- package/dist/lib/i18n.js.map +1 -1
- package/dist/lib/island/island.js.map +1 -1
- package/dist/lib/phone/audio.js.map +1 -1
- package/dist/lib/phone/call.js.map +1 -1
- package/dist/lib/phone/conversation.js.map +1 -1
- package/dist/lib/player/audio.js.map +1 -1
- package/dist/lib/storage/local_storage.js.map +1 -1
- package/dist/lib/user/extensions.js.map +1 -1
- package/dist/lib/webrtc/connection.js.map +1 -1
- package/dist/lib/webrtc/extension.js.map +1 -1
- package/dist/lib/webrtc/messages.js.map +1 -1
- package/dist/models/alerts.js.map +1 -1
- package/dist/models/audioBars.js.map +1 -1
- package/dist/models/avatars.js.map +1 -1
- package/dist/models/currentCall.js.map +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/island.js.map +1 -1
- package/dist/models/listen.js.map +1 -1
- package/dist/models/motions.js.map +1 -1
- package/dist/models/player.js.map +1 -1
- package/dist/models/recorder.js.map +1 -1
- package/dist/models/users.js.map +1 -1
- package/dist/models/webrtc.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/arrayWithHoles.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/arrayWithHoles.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/createClass.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/createClass.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/defineProperty.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/defineProperty.js.map +1 -0
- package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/arrayLikeToArray.js +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/classCallCheck.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/createClass.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/inherits.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/objectSpread2.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/toArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
- package/dist/node_modules/{i18next-browser-languagedetector/node_modules/@babel → @babel}/runtime/helpers/esm/toPropertyKey.js +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/nonIterableRest.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/nonIterableRest.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/objectWithoutProperties.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/slicedToArray.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/slicedToArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/typeof.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/typeof.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +1 -0
- package/dist/node_modules/@floating-ui/dom/dist/{floating-ui.dom.esm.js → floating-ui.dom.mjs.js} +2 -2
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/menu/menu.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/components/menu/menu.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/components/transitions/transition.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/components/transitions/transition.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/components/transitions/utils/transition.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/components/transitions/utils/transition.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/class-names.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/class-names.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/disposables.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/disposables.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/match.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/match.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/once.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/once.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/render.js +1 -1
- package/dist/node_modules/@headlessui/react/dist/utils/render.js.map +1 -1
- package/dist/node_modules/classnames/index.js +2 -2
- package/dist/node_modules/engine.io-client/build/esm/socket.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/socket.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transport.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transport.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/polling.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/polling.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/webtransport.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/webtransport.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/util.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/util.js.map +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/encodePacket.browser.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/animate.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/animate.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/create-instant-animation.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/create-instant-animation.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/decay.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/decay.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/find-spring.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/find-spring.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/inertia.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/inertia.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/keyframes.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/keyframes.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/spring.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/legacy-popmotion/spring.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/easing.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/easing.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/is-animatable.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/keyframes.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/keyframes.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/transitions.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/utils/transitions.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/create-accelerated-animation.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/create-accelerated-animation.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/easing.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/easing.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/supports.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/supports.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/utils/get-final-keyframe.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/animation/waapi/utils/get-final-keyframe.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/LazyContext.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/context/LazyContext.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/easing/anticipate.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/easing/anticipate.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/easing/back.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/easing/back.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/easing/circ.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/easing/circ.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/easing/cubic-bezier.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/easing/ease.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/easing/ease.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/easing/modifiers/mirror.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/easing/modifiers/reverse.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/events/event-info.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/events/event-info.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/events/use-dom-event.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/events/use-dom-event.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/events/use-pointer-event.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/events/use-pointer-event.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/events/utils/is-primary-pointer.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/frameloop/create-render-step.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/frameloop/create-render-step.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/frameloop/data.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/frameloop/data.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/frameloop/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/frameloop/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/frameloop/on-next-frame.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/frameloop/on-next-frame.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/PanSession.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/PanSession.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/use-drag.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/use-drag.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/lock.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/use-focus-gesture.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/use-focus-gesture.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/use-hover-gesture.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/use-hover-gesture.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/use-pan-gesture.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/use-pan-gesture.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/use-tap-gesture.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/use-tap-gesture.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/animations.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/animations.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/drag.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/drag.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/use-viewport.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/use-viewport.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/VisualElementHandler.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/VisualElementHandler.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/models.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/models.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/id.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/id.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/state.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/node/state.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/shared/stack.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/shared/stack.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/styles/transform.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/styles/transform.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/projection/utils/measure.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/projection/utils/measure.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/VisualElement.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/VisualElement.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/motion.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/motion.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/defaults.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/find.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/test.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/config-motion.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/config-motion.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/use-props.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/use-props.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/render.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/render.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/transform.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/transform.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/config-motion.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/config-motion.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/animation.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/animation.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/setters.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/setters.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/types.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/render/utils/types.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/array.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/array.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/clamp.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/clamp.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/delay.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/delay.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/distance.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/distance.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/interpolate.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/interpolate.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-browser.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-browser.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-numerical-string.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-zero-value-string.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/mix-color.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/mix-color.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/mix-complex.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/mix-complex.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/mix.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/mix.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/noop.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/noop.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/pipe.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/pipe.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/progress.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/progress.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/resolve-value.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/resolve-value.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/shallow-compare.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/shallow-compare.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/subscription-manager.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/subscription-manager.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/time-conversion.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/time-conversion.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-constant.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-constant.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-force-update.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-force-update.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-instant-transition-state.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/warn-once.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/utils/warn-once.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/hex.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/hex.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/hsla.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/hsla.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/rgba.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/utils.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/color/utils.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/complex/filter.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/complex/filter.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/complex/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/complex/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/numbers/index.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/numbers/index.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/numbers/units.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/numbers/units.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/utils.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/types/utils.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs.js +2 -0
- package/dist/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs.js.map +1 -0
- package/dist/node_modules/hey-listen/dist/hey-listen.es.js +2 -0
- package/dist/node_modules/hey-listen/dist/hey-listen.es.js.map +1 -0
- package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +1 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/i18next/dist/esm/i18next.js +1 -1
- package/dist/node_modules/i18next/dist/esm/i18next.js.map +1 -1
- package/dist/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js +1 -1
- package/dist/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js.map +1 -1
- package/dist/node_modules/js-base64/base64.mjs.js +1 -1
- package/dist/node_modules/js-base64/base64.mjs.js.map +1 -1
- package/dist/node_modules/mic-check/lib/index.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/context.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/context.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/defaults.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/defaults.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/useTranslation.js +1 -1
- package/dist/node_modules/react-i18next/dist/es/useTranslation.js.map +1 -1
- package/dist/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/react-is/index.js.map +1 -1
- package/dist/node_modules/react-moment/dist/index.js +1 -1
- package/dist/node_modules/react-redux/es/components/Provider.js +1 -1
- package/dist/node_modules/react-redux/es/components/Provider.js.map +1 -1
- package/dist/node_modules/react-redux/es/hooks/useDispatch.js +1 -1
- package/dist/node_modules/react-redux/es/hooks/useDispatch.js.map +1 -1
- package/dist/node_modules/react-redux/es/hooks/useSelector.js +1 -1
- package/dist/node_modules/react-redux/es/hooks/useSelector.js.map +1 -1
- package/dist/node_modules/react-redux/es/hooks/useStore.js +1 -1
- package/dist/node_modules/react-redux/es/hooks/useStore.js.map +1 -1
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.mjs.js +8 -0
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.mjs.js.map +1 -0
- package/dist/node_modules/redux/es/redux.js +1 -1
- package/dist/node_modules/redux/es/redux.js.map +1 -1
- package/dist/node_modules/sdp/sdp.js +1 -1
- package/dist/node_modules/sdp/sdp.js.map +1 -1
- package/dist/node_modules/socket.io-client/build/esm/socket.js +1 -1
- package/dist/node_modules/socket.io-client/build/esm/socket.js.map +1 -1
- package/dist/node_modules/socket.io-client/build/esm/url.js +1 -1
- package/dist/node_modules/socket.io-client/build/esm/url.js.map +1 -1
- package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js +1 -1
- package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js.map +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +1 -1
- package/dist/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/adapter_factory.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/adapter_factory.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/getusermedia.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/common_shim.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/common_shim.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/firefox/getusermedia.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/safari/safari_shim.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/safari/safari_shim.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/utils.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/utils.js.map +1 -1
- package/dist/services/history_call.js.map +1 -1
- package/dist/services/offhour.js.map +1 -1
- package/dist/services/user.d.ts +1 -0
- package/dist/services/user.js +1 -1
- package/dist/services/user.js.map +1 -1
- package/dist/static/dtmf/dtmf_0.js.map +1 -1
- package/dist/static/dtmf/dtmf_1.js.map +1 -1
- package/dist/static/dtmf/dtmf_3.js.map +1 -1
- package/dist/static/dtmf/dtmf_4.js.map +1 -1
- package/dist/static/dtmf/dtmf_5.js.map +1 -1
- package/dist/static/dtmf/dtmf_6.js.map +1 -1
- package/dist/static/dtmf/dtmf_7.js.map +1 -1
- package/dist/static/dtmf/dtmf_8.js.map +1 -1
- package/dist/static/dtmf/dtmf_9.js.map +1 -1
- package/dist/static/dtmf/dtmf_busy.js.map +1 -1
- package/dist/static/dtmf/dtmf_dialtone.js.map +1 -1
- package/dist/static/dtmf/dtmf_pound.js.map +1 -1
- package/dist/static/dtmf/dtmf_rbt-US.js.map +1 -1
- package/dist/static/dtmf/dtmf_star.js.map +1 -1
- package/dist/static/dtmf/index.js.map +1 -1
- package/dist/static/incoming_ringtone.js.map +1 -1
- package/dist/static/outgoing_ringtone.js.map +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/styles/CustomRange.styles.js.map +1 -1
- package/dist/styles/Island.styles.js.map +1 -1
- package/dist/types/index.d.ts +10 -10
- package/dist/utils/customHooks/useCommittedRef.js.map +1 -1
- package/dist/utils/customHooks/useEventCallback.js.map +1 -1
- package/dist/utils/customHooks/useEventListener.js.map +1 -1
- package/dist/utils/customHooks/useIntersectionObserver.js.map +1 -1
- package/dist/utils/customHooks/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/utils/customHooks/useLocalStorage.js.map +1 -1
- package/dist/utils/genericFunctions/classNames.js.map +1 -1
- package/dist/utils/genericFunctions/eventDispatch.js.map +1 -1
- package/dist/utils/genericFunctions/exposeWorker.js.map +1 -1
- package/dist/utils/genericFunctions/isEmpty.d.ts +1 -0
- package/dist/utils/genericFunctions/isEmpty.js +2 -0
- package/dist/utils/genericFunctions/isEmpty.js.map +1 -0
- package/dist/utils/genericFunctions/localStorage.js.map +1 -1
- package/dist/utils/genericFunctions/player.js.map +1 -1
- package/dist/utils/genericFunctions/styleTransformValues.js.map +1 -1
- package/dist/utils/genericFunctions/timestamp.js.map +1 -1
- package/dist/utils/genericFunctions/withTimeout.js.map +1 -1
- package/dist/workers/wake_up.js.map +1 -1
- package/package.json +20 -16
- package/dist/_virtual/floating-ui.dom.esm.js +0 -2
- package/dist/_virtual/floating-ui.dom.esm.js.map +0 -1
- package/dist/_virtual/framer-motion.js +0 -2
- package/dist/_virtual/framer-motion.js.map +0 -1
- package/dist/_virtual/is-prop-valid.browser.esm.js +0 -2
- package/dist/_virtual/is-prop-valid.browser.esm.js.map +0 -1
- package/dist/_virtual/react-tooltip.min.cjs.js +0 -2
- package/dist/_virtual/react-tooltip.min.cjs.js.map +0 -1
- package/dist/node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js +0 -2
- package/dist/node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js.map +0 -1
- package/dist/node_modules/@emotion/memoize/dist/memoize.browser.esm.js +0 -2
- package/dist/node_modules/@emotion/memoize/dist/memoize.browser.esm.js.map +0 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/framer-motion.js +0 -2
- package/dist/node_modules/framer-motion/dist/framer-motion.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -2
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -2
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/createClass.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/inherits.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -2
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/toArray.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -2
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -2
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -2
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/typeof.js.map +0 -1
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -2
- package/dist/node_modules/i18next/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +0 -1
- package/dist/node_modules/i18next-browser-languagedetector/node_modules/@babel/runtime/helpers/esm/classCallCheck.js.map +0 -1
- package/dist/node_modules/i18next-browser-languagedetector/node_modules/@babel/runtime/helpers/esm/createClass.js.map +0 -1
- package/dist/node_modules/i18next-browser-languagedetector/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -2
- package/dist/node_modules/i18next-browser-languagedetector/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +0 -1
- package/dist/node_modules/i18next-browser-languagedetector/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +0 -1
- package/dist/node_modules/i18next-browser-languagedetector/node_modules/@babel/runtime/helpers/esm/typeof.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/arrayWithHoles.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/classCallCheck.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/createClass.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/createClass.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/defineProperty.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/defineProperty.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/nonIterableRest.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/objectWithoutProperties.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/slicedToArray.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/toPrimitive.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/typeof.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/typeof.js.map +0 -1
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -2
- package/dist/node_modules/react-i18next/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +0 -1
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.cjs.js +0 -8
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.cjs.js.map +0 -1
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -2
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +0 -1
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/objectSpread2.js.map +0 -1
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -2
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +0 -1
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -2
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +0 -1
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -2
- package/dist/node_modules/redux/node_modules/@babel/runtime/helpers/esm/typeof.js.map +0 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/getdisplaymedia.js +0 -2
- package/dist/node_modules/webrtc-adapter/src/js/chrome/getdisplaymedia.js.map +0 -1
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/arrayWithHoles.js +0 -0
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/assertThisInitialized.js +0 -0
- /package/dist/node_modules/{i18next-browser-languagedetector/node_modules/@babel → @babel}/runtime/helpers/esm/classCallCheck.js +0 -0
- /package/dist/node_modules/{i18next-browser-languagedetector/node_modules/@babel → @babel}/runtime/helpers/esm/createClass.js +0 -0
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/defineProperty.js +0 -0
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/getPrototypeOf.js +0 -0
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/inherits.js +0 -0
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/iterableToArray.js +0 -0
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/nonIterableRest.js +0 -0
- /package/dist/node_modules/{redux/node_modules/@babel → @babel}/runtime/helpers/esm/objectSpread2.js +0 -0
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/setPrototypeOf.js +0 -0
- /package/dist/node_modules/{i18next/node_modules/@babel → @babel}/runtime/helpers/esm/toArray.js +0 -0
- /package/dist/node_modules/{i18next-browser-languagedetector/node_modules/@babel → @babel}/runtime/helpers/esm/typeof.js +0 -0
package/dist/App.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("./components/Events.js"),t=require("./components/Socket.js"),s=require("./components/WebRTC.js"),a=require("./components/Island.js"),o=require("./components/RestAPI.js"),i=require("./utils/customHooks/useEventListener.js"),r=require("./utils/genericFunctions/eventDispatch.js"),u=require("./utils/genericFunctions/localStorage.js");require("./node_modules/react-redux/es/index.js");var d=require("./store/index.js");require("./node_modules/@fortawesome/react-fontawesome/index.es.js");var c=require("./node_modules/js-base64/base64.mjs.js"),l=require("./workers/wake_up.js"),p=require("./lib/i18n.js");require("./node_modules/react-tooltip/dist/react-tooltip.min.css.js");var h=require("./lib/webrtc/messages.js"),f=require("./lib/darkTheme.js"),v=require("./services/user.js"),m=require("./node_modules/react-redux/es/components/Provider.js");function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"),require("./node_modules/react-redux/node_modules/react-is/index.js"),require("./node_modules/react-redux/es/components/Context.js");var E=g(e),j=function(g){var j=g.dataConfig,I=g.i18nLoadPath,q=void 0===I?void 0:I,D=g.showAlways,y=void 0!==D&&D,k=g.uaType,L=c.Base64.atob(j||"").split(":"),w=L[0],S=L[1],b=L[2],x=L[3],T=L[4],_=L[5],C=L[6],O=e.useState(!1),P=O[0],N=O[1],A=e.useState(!1),R=A[0],V=A[1],F=e.useState(!1),H=F[0],J=F[1];e.useEffect((function(){var e=new Worker(l.default,{type:"module"});return e.onmessage=function(e){"wakeup"===e.data&&N(!0)},function(){e.terminate()}}),[]),e.useEffect((function(){H&&R&&(N(!1),V(!1),J(!1))}),[H,R]),i.useEventListener("phone-island-expand",(function(){d.store.dispatch.island.toggleIsOpen(!0),r.eventDispatch("phone-island-expanded",{})})),i.useEventListener("phone-island-compress",(function(){d.store.dispatch.island.toggleIsOpen(!1),r.eventDispatch("phone-island-compressed",{})})),i.useEventListener("phone-island-call-keypad-close",(function(){d.store.dispatch.island.setIslandView("call"),r.eventDispatch("phone-island-call-keypad-closed",{})})),i.useEventListener("phone-island-call-transfer-close",(function(){d.store.dispatch.island.setIslandView("call"),r.eventDispatch("phone-island-call-transfer-closed",{})})),i.useEventListener("phone-island-recording-close",(function(){d.store.dispatch.island.setIslandView(null),r.eventDispatch("phone-island-recording-closed",{})})),i.useEventListener("phone-island-audio-player-close",(function(){d.store.dispatch.island.setIslandView(null),r.eventDispatch("phone-island-audio-player-closed",{})})),i.useEventListener("phone-island-detach",(function(e){h.detach(),d.store.dispatch.currentUser.updateCurrentDefaultDevice(null==e?void 0:e.deviceInformationObject),r.eventDispatch("phone-island-detached",{})})),i.useEventListener("phone-island-audio-input-change",(function(e){u.setJSONItem("phone-island-audio-input-device",{deviceId:e.deviceId}),r.eventDispatch("phone-island-audio-input-changed",{})})),i.useEventListener("phone-island-audio-output-change",(function(e){var n=d.store.getState().player.remoteAudio;null==n||n.current.setSinkId(e.deviceId).then((function(){console.info("Default audio output device change with success!"),u.setJSONItem("phone-island-audio-output-device",{deviceId:e.deviceId}),r.eventDispatch("phone-island-audio-output-changed",{})})).catch((function(e){console.error("Default audio output device change error:",e)}))})),i.useEventListener("phone-island-presence-change",(function(e){v.changeOperatorStatus(e),r.eventDispatch("phone-island-presence-changed",{})}));var W=e.useState(!0),U=W[0],B=W[1],M=e.useState(!0),z=M[0],G=M[1];e.useEffect((function(){U&&(p.loadI18n(q),B(!1))}),[U]);var K=d.store.getState().player.remoteAudio;return e.useEffect((function(){var e;if(z&&K){var n=null===(e=u.getJSONItem("phone-island-audio-output-device"))||void 0===e?void 0:e.deviceId;r.eventDispatch("phone-island-audio-output-change",{deviceId:n}),G(!1)}}),[z,K]),e.useEffect((function(){f.checkDarkTheme()}),[]),i.useEventListener("phone-island-theme-change",(function(e){f.setTheme(null==e?void 0:e.selectedTheme)})),i.useEventListener("phone-island-default-device-change",(function(e){d.store.dispatch.currentUser.updateCurrentDefaultDevice(null==e?void 0:e.deviceInformationObject),r.eventDispatch("phone-island-default-device-changed",{})})),i.useEventListener("phone-island-call-transfer-successfully-popup-open",(function(){console.log("Call transferred successfully and popup opened")})),i.useEventListener("phone-island-call-transfer-successfully-popup-close",(function(){console.log("Call transferred successfully and popup closed")})),i.useEventListener("phone-island-call-transfer-failed",(function(){console.log("Transfer failed")})),E.default.createElement(E.default.Fragment,null,E.default.createElement(m.default,{store:d.store},E.default.createElement(s.WebRTC,{hostName:w,sipExten:x,sipSecret:T,sipHost:_,sipPort:C,reload:P,reloadedCallback:function(){return V(!0)},uaType:k},E.default.createElement(o.RestAPI,{hostName:w,username:S,authToken:b},E.default.createElement(t.Socket,{hostName:w,username:S,authToken:b,reload:P,reloadedCallback:function(){return J(!0)},uaType:k},E.default.createElement(n.Events,{sipHost:_},E.default.createElement(a.Island,{showAlways:y})))))))};j.displayName="PhoneIsland",exports.PhoneIsland=j;
|
|
2
2
|
//# sourceMappingURL=App.js.map
|
package/dist/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sources":["../src/App.tsx"],"sourcesContent":["import React, { type FC, useState, useEffect } from 'react'\nimport { Events, Socket, WebRTC, Island, RestAPI } from './components'\nimport { Provider } from 'react-redux'\nimport { store } from './store'\nimport { Base64 } from 'js-base64'\nimport wakeUpWorker from './workers/wake_up'\nimport loadI18n from './lib/i18n'\nimport i18next, { i18n } from 'i18next'\n\nimport 'react-tooltip/dist/react-tooltip.css'\nimport { useEventListener, eventDispatch, setJSONItem, getJSONItem } from './utils'\nimport { detach } from './lib/webrtc/messages'\nimport { checkDarkTheme, setTheme } from './lib/darkTheme'\n\ninterface PhoneIslandProps {\n dataConfig: string\n i18nLoadPath?: string\n showAlways?: boolean\n uaType: string\n}\n\ninterface DeviceInputOutputTypes {\n deviceId: string\n}\n\nexport const PhoneIsland: FC<PhoneIslandProps> = ({\n dataConfig,\n i18nLoadPath = undefined,\n showAlways = false,\n uaType,\n}: PhoneIslandProps) => {\n const CONFIG: string[] = Base64.atob(dataConfig || '').split(':')\n const HOST_NAME: string = CONFIG[0]\n const USERNAME: string = CONFIG[1]\n const AUTH_TOKEN: string = CONFIG[2]\n const SIP_EXTEN: string = CONFIG[3]\n const SIP_SECRET: string = CONFIG[4]\n const SIP_HOST: string = CONFIG[5]\n const SIP_PORT: string = CONFIG[6]\n\n // Initialize the state to manage the reload events\n const [reload, setReload] = useState<boolean>(false)\n const [reloadedWebRTC, setReloadedWebRTC] = useState<boolean>(false)\n const [reloadedSocket, setReloadedSocket] = useState<boolean>(false)\n\n useEffect(() => {\n const worker = new Worker(wakeUpWorker, { type: 'module' })\n worker.onmessage = (event: MessageEvent<string>) => {\n // Handle wakeup message\n if (event.data === 'wakeup') {\n setReload(true)\n }\n }\n\n return () => {\n worker.terminate()\n }\n }, [])\n\n useEffect(() => {\n if (reloadedSocket && reloadedWebRTC) {\n setReload(false)\n setReloadedWebRTC(false)\n setReloadedSocket(false)\n }\n }, [reloadedSocket, reloadedWebRTC])\n\n useEventListener('phone-island-expand', () => {\n store.dispatch.island.toggleIsOpen(true)\n eventDispatch('phone-island-expanded', {})\n })\n useEventListener('phone-island-compress', () => {\n store.dispatch.island.toggleIsOpen(false)\n eventDispatch('phone-island-compressed', {})\n })\n\n useEventListener('phone-island-call-keypad-close', () => {\n store.dispatch.island.setIslandView('call')\n eventDispatch('phone-island-call-keypad-closed', {})\n })\n useEventListener('phone-island-call-transfer-close', () => {\n store.dispatch.island.setIslandView('call')\n eventDispatch('phone-island-call-transfer-closed', {})\n })\n useEventListener('phone-island-recording-close', () => {\n store.dispatch.island.setIslandView(null)\n eventDispatch('phone-island-recording-closed', {})\n })\n useEventListener('phone-island-audio-player-close', () => {\n store.dispatch.island.setIslandView(null)\n eventDispatch('phone-island-audio-player-closed', {})\n })\n\n useEventListener('phone-island-detach', (data) => {\n detach()\n store.dispatch.currentUser.updateCurrentDefaultDevice(data?.deviceInformationObject)\n eventDispatch('phone-island-detached', {})\n })\n\n useEventListener('phone-island-audio-input-change', (data: DeviceInputOutputTypes) => {\n setJSONItem('phone-island-audio-input-device', { deviceId: data.deviceId })\n eventDispatch('phone-island-audio-input-changed', {})\n })\n useEventListener('phone-island-audio-output-change', (data: DeviceInputOutputTypes) => {\n const remoteAudioElement: any = store.getState().player.remoteAudio\n // set audio output\n remoteAudioElement?.current\n .setSinkId(data.deviceId)\n .then(function () {\n console.info('Default audio output device change with success!')\n // set device to localstorage\n setJSONItem('phone-island-audio-output-device', { deviceId: data.deviceId })\n\n // dispatch event\n eventDispatch('phone-island-audio-output-changed', {})\n })\n .catch(function (err) {\n console.error('Default audio output device change error:', err)\n })\n })\n\n const [firstRenderI18n, setFirstRenderI18n] = useState(true)\n const [firstAudioOutputInit, setFirstAudioOutputInit] = useState(true)\n\n //initialize i18n\n useEffect(() => {\n if (firstRenderI18n) {\n loadI18n(i18nLoadPath)\n setFirstRenderI18n(false)\n }\n }, [firstRenderI18n])\n\n const remoteAudioElement: any = store.getState().player.remoteAudio\n\n //get output device from localstorage\n useEffect(() => {\n if (firstAudioOutputInit && remoteAudioElement) {\n const defaultAudioOutputDevice: any = getJSONItem(\n `phone-island-audio-output-device`,\n )?.deviceId\n eventDispatch('phone-island-audio-output-change', { deviceId: defaultAudioOutputDevice })\n setFirstAudioOutputInit(false)\n }\n }, [firstAudioOutputInit, remoteAudioElement])\n\n useEffect(() => {\n checkDarkTheme()\n }, [])\n\n useEventListener('phone-island-theme-change', (theme: any) => {\n setTheme(theme?.selectedTheme)\n })\n\n useEventListener('phone-island-default-device-change', (data) => {\n store.dispatch.currentUser.updateCurrentDefaultDevice(data?.deviceInformationObject)\n eventDispatch('phone-island-default-device-changed', {})\n })\n\n useEventListener('phone-island-call-transfer-successfully-popup-open', () => {\n console.log('Call transferred successfully and popup opened')\n })\n\n useEventListener('phone-island-call-transfer-successfully-popup-close', () => {\n console.log('Call transferred successfully and popup closed')\n })\n\n useEventListener('phone-island-call-transfer-failed', () => {\n console.log('Transfer failed')\n })\n\n return (\n <>\n <Provider store={store}>\n <WebRTC\n hostName={HOST_NAME}\n sipExten={SIP_EXTEN}\n sipSecret={SIP_SECRET}\n sipHost={SIP_HOST}\n sipPort={SIP_PORT}\n reload={reload}\n reloadedCallback={() => setReloadedWebRTC(true)}\n uaType={uaType}\n >\n <RestAPI hostName={HOST_NAME} username={USERNAME} authToken={AUTH_TOKEN}>\n <Socket\n hostName={HOST_NAME}\n username={USERNAME}\n authToken={AUTH_TOKEN}\n reload={reload}\n reloadedCallback={() => setReloadedSocket(true)}\n uaType={uaType}\n >\n <Events sipHost={SIP_HOST}>\n <Island showAlways={showAlways} />\n </Events>\n </Socket>\n </RestAPI>\n </WebRTC>\n </Provider>\n </>\n )\n}\n\nPhoneIsland.displayName = 'PhoneIsland'\n"],"names":["PhoneIsland","_a","dataConfig","_b","i18nLoadPath","undefined","_c","showAlways","uaType","CONFIG","Base64","atob","split","HOST_NAME","USERNAME","AUTH_TOKEN","SIP_EXTEN","SIP_SECRET","SIP_HOST","SIP_PORT","_d","useState","reload","setReload","_e","reloadedWebRTC","setReloadedWebRTC","_f","reloadedSocket","setReloadedSocket","useEffect","worker","Worker","wakeUpWorker","type","onmessage","event","data","terminate","useEventListener","store","dispatch","island","toggleIsOpen","eventDispatch","setIslandView","detach","currentUser","updateCurrentDefaultDevice","deviceInformationObject","setJSONItem","deviceId","remoteAudioElement","getState","player","remoteAudio","current","setSinkId","then","console","info","catch","err","error","_g","firstRenderI18n","setFirstRenderI18n","_h","firstAudioOutputInit","setFirstAudioOutputInit","loadI18n","defaultAudioOutputDevice","getJSONItem","checkDarkTheme","theme","setTheme","selectedTheme","log","React","createElement","Fragment","Provider","WebRTC","hostName","sipExten","sipSecret","sipHost","sipPort","reloadedCallback","RestAPI","username","authToken","Socket","Events","Island","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"App.js","sources":["../src/App.tsx"],"sourcesContent":["import React, { type FC, useState, useEffect } from 'react'\nimport { Events, Socket, WebRTC, Island, RestAPI } from './components'\nimport { Provider } from 'react-redux'\nimport { store } from './store'\nimport { Base64 } from 'js-base64'\nimport wakeUpWorker from './workers/wake_up'\nimport loadI18n from './lib/i18n'\nimport i18next, { i18n } from 'i18next'\n\nimport 'react-tooltip/dist/react-tooltip.css'\nimport { useEventListener, eventDispatch, setJSONItem, getJSONItem } from './utils'\nimport { detach } from './lib/webrtc/messages'\nimport { checkDarkTheme, setTheme } from './lib/darkTheme'\nimport { changeOperatorStatus } from './services/user'\n\ninterface PhoneIslandProps {\n dataConfig: string\n i18nLoadPath?: string\n showAlways?: boolean\n uaType: string\n}\n\ninterface DeviceInputOutputTypes {\n deviceId: string\n}\n\nexport const PhoneIsland: FC<PhoneIslandProps> = ({\n dataConfig,\n i18nLoadPath = undefined,\n showAlways = false,\n uaType,\n}: PhoneIslandProps) => {\n const CONFIG: string[] = Base64.atob(dataConfig || '').split(':')\n const HOST_NAME: string = CONFIG[0]\n const USERNAME: string = CONFIG[1]\n const AUTH_TOKEN: string = CONFIG[2]\n const SIP_EXTEN: string = CONFIG[3]\n const SIP_SECRET: string = CONFIG[4]\n const SIP_HOST: string = CONFIG[5]\n const SIP_PORT: string = CONFIG[6]\n\n // Initialize the state to manage the reload events\n const [reload, setReload] = useState<boolean>(false)\n const [reloadedWebRTC, setReloadedWebRTC] = useState<boolean>(false)\n const [reloadedSocket, setReloadedSocket] = useState<boolean>(false)\n\n useEffect(() => {\n const worker = new Worker(wakeUpWorker, { type: 'module' })\n worker.onmessage = (event: MessageEvent<string>) => {\n // Handle wakeup message\n if (event.data === 'wakeup') {\n setReload(true)\n }\n }\n\n return () => {\n worker.terminate()\n }\n }, [])\n\n useEffect(() => {\n if (reloadedSocket && reloadedWebRTC) {\n setReload(false)\n setReloadedWebRTC(false)\n setReloadedSocket(false)\n }\n }, [reloadedSocket, reloadedWebRTC])\n\n useEventListener('phone-island-expand', () => {\n store.dispatch.island.toggleIsOpen(true)\n eventDispatch('phone-island-expanded', {})\n })\n useEventListener('phone-island-compress', () => {\n store.dispatch.island.toggleIsOpen(false)\n eventDispatch('phone-island-compressed', {})\n })\n\n useEventListener('phone-island-call-keypad-close', () => {\n store.dispatch.island.setIslandView('call')\n eventDispatch('phone-island-call-keypad-closed', {})\n })\n useEventListener('phone-island-call-transfer-close', () => {\n store.dispatch.island.setIslandView('call')\n eventDispatch('phone-island-call-transfer-closed', {})\n })\n useEventListener('phone-island-recording-close', () => {\n store.dispatch.island.setIslandView(null)\n eventDispatch('phone-island-recording-closed', {})\n })\n useEventListener('phone-island-audio-player-close', () => {\n store.dispatch.island.setIslandView(null)\n eventDispatch('phone-island-audio-player-closed', {})\n })\n\n useEventListener('phone-island-detach', (data) => {\n detach()\n store.dispatch.currentUser.updateCurrentDefaultDevice(data?.deviceInformationObject)\n eventDispatch('phone-island-detached', {})\n })\n\n useEventListener('phone-island-audio-input-change', (data: DeviceInputOutputTypes) => {\n setJSONItem('phone-island-audio-input-device', { deviceId: data.deviceId })\n eventDispatch('phone-island-audio-input-changed', {})\n })\n\n useEventListener('phone-island-audio-output-change', (data: DeviceInputOutputTypes) => {\n const remoteAudioElement: any = store.getState().player.remoteAudio\n // set audio output\n remoteAudioElement?.current\n .setSinkId(data.deviceId)\n .then(function () {\n console.info('Default audio output device change with success!')\n // set device to localstorage\n setJSONItem('phone-island-audio-output-device', { deviceId: data.deviceId })\n\n // dispatch event\n eventDispatch('phone-island-audio-output-changed', {})\n })\n .catch(function (err) {\n console.error('Default audio output device change error:', err)\n })\n })\n\n // Listen for the operator status change\n useEventListener('phone-island-presence-change', (data: any) => {\n changeOperatorStatus(data)\n eventDispatch('phone-island-presence-changed', {})\n })\n\n const [firstRenderI18n, setFirstRenderI18n] = useState(true)\n const [firstAudioOutputInit, setFirstAudioOutputInit] = useState(true)\n\n //initialize i18n\n useEffect(() => {\n if (firstRenderI18n) {\n loadI18n(i18nLoadPath)\n setFirstRenderI18n(false)\n }\n }, [firstRenderI18n])\n\n const remoteAudioElement: any = store.getState().player.remoteAudio\n\n //get output device from localstorage\n useEffect(() => {\n if (firstAudioOutputInit && remoteAudioElement) {\n const defaultAudioOutputDevice: any = getJSONItem(\n `phone-island-audio-output-device`,\n )?.deviceId\n eventDispatch('phone-island-audio-output-change', { deviceId: defaultAudioOutputDevice })\n setFirstAudioOutputInit(false)\n }\n }, [firstAudioOutputInit, remoteAudioElement])\n\n useEffect(() => {\n checkDarkTheme()\n }, [])\n\n useEventListener('phone-island-theme-change', (theme: any) => {\n setTheme(theme?.selectedTheme)\n })\n\n useEventListener('phone-island-default-device-change', (data) => {\n store.dispatch.currentUser.updateCurrentDefaultDevice(data?.deviceInformationObject)\n eventDispatch('phone-island-default-device-changed', {})\n })\n\n useEventListener('phone-island-call-transfer-successfully-popup-open', () => {\n console.log('Call transferred successfully and popup opened')\n })\n\n useEventListener('phone-island-call-transfer-successfully-popup-close', () => {\n console.log('Call transferred successfully and popup closed')\n })\n\n useEventListener('phone-island-call-transfer-failed', () => {\n console.log('Transfer failed')\n })\n\n return (\n <>\n <Provider store={store}>\n <WebRTC\n hostName={HOST_NAME}\n sipExten={SIP_EXTEN}\n sipSecret={SIP_SECRET}\n sipHost={SIP_HOST}\n sipPort={SIP_PORT}\n reload={reload}\n reloadedCallback={() => setReloadedWebRTC(true)}\n uaType={uaType}\n >\n <RestAPI hostName={HOST_NAME} username={USERNAME} authToken={AUTH_TOKEN}>\n <Socket\n hostName={HOST_NAME}\n username={USERNAME}\n authToken={AUTH_TOKEN}\n reload={reload}\n reloadedCallback={() => setReloadedSocket(true)}\n uaType={uaType}\n >\n <Events sipHost={SIP_HOST}>\n <Island showAlways={showAlways} />\n </Events>\n </Socket>\n </RestAPI>\n </WebRTC>\n </Provider>\n </>\n )\n}\n\nPhoneIsland.displayName = 'PhoneIsland'\n"],"names":["PhoneIsland","_a","dataConfig","_b","i18nLoadPath","undefined","_c","showAlways","uaType","CONFIG","Base64","atob","split","HOST_NAME","USERNAME","AUTH_TOKEN","SIP_EXTEN","SIP_SECRET","SIP_HOST","SIP_PORT","_d","useState","reload","setReload","_e","reloadedWebRTC","setReloadedWebRTC","_f","reloadedSocket","setReloadedSocket","useEffect","worker","Worker","wakeUpWorker","type","onmessage","event","data","terminate","useEventListener","store","dispatch","island","toggleIsOpen","eventDispatch","setIslandView","detach","currentUser","updateCurrentDefaultDevice","deviceInformationObject","setJSONItem","deviceId","remoteAudioElement","getState","player","remoteAudio","current","setSinkId","then","console","info","catch","err","error","changeOperatorStatus","_g","firstRenderI18n","setFirstRenderI18n","_h","firstAudioOutputInit","setFirstAudioOutputInit","loadI18n","defaultAudioOutputDevice","getJSONItem","checkDarkTheme","theme","setTheme","selectedTheme","log","React","createElement","Fragment","Provider","WebRTC","hostName","sipExten","sipSecret","sipHost","sipPort","reloadedCallback","RestAPI","username","authToken","Socket","Events","Island","displayName"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};exports.commonjsGlobal=e,exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};exports.commonjsGlobal=e,exports.getDefaultExportFromCjs=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e};
|
|
2
2
|
//# sourceMappingURL=_commonjsHelpers.js.map
|
package/dist/_virtual/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.reactIs={exports:{}};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/_virtual/index2.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.classnames={exports:{}};
|
|
2
2
|
//# sourceMappingURL=index2.js.map
|
package/dist/_virtual/index4.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.shim={exports:{}};
|
|
2
2
|
//# sourceMappingURL=index4.js.map
|
package/dist/_virtual/index5.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.dist={exports:{}};
|
|
2
2
|
//# sourceMappingURL=index5.js.map
|
package/dist/_virtual/index8.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.reactIs={exports:{}};
|
|
2
2
|
//# sourceMappingURL=index8.js.map
|
package/dist/_virtual/index9.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.__exports={};
|
|
2
2
|
//# sourceMappingURL=index9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertGuard.js","sources":["../../src/components/AlertGuard.tsx"],"sourcesContent":["// Copyright (C)
|
|
1
|
+
{"version":3,"file":"AlertGuard.js","sources":["../../src/components/AlertGuard.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { useEffect, type FC, type ReactNode } from 'react'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../store'\nimport AlertView from './AlertView'\n\n/**\n * Manages the logic of alerts as connection errors or permissions\n *\n * @param children\n * @returns\n */\n\nexport const AlertGuard: FC<AlertGuard> = ({ children }) => {\n // Get alert status from alerts store\n const { activeAlertsCount, breakActiveAlertsCount } = useSelector(\n (state: RootState) => state.alerts.status,\n )\n // Get alerts status from alerts store\n const { call_transfered } = useSelector((state: RootState) => state.alerts.data)\n const { isOpen } = useSelector((state: RootState) => state.island)\n\n return (\n <>\n {activeAlertsCount > 0 && isOpen && <AlertView />}\n {breakActiveAlertsCount === 0 && !call_transfered.active && children}\n </>\n )\n}\n\ninterface AlertGuard {\n children: ReactNode\n}\n"],"names":["_a","children","_b","useSelector","state","alerts","status","activeAlertsCount","breakActiveAlertsCount","call_transfered","data","isOpen","island","React","createElement","Fragment","AlertView","active"],"mappings":"2VAe0C,SAACA,GAAE,IAAAC,EAAQD,EAAAC,SAE7CC,EAAgDC,EAAAA,aACpD,SAACC,GAAqB,OAAAA,EAAMC,OAAOC,MAAM,IADnCC,EAAiBL,EAAAK,kBAAEC,EAAsBN,EAAAM,uBAIzCC,EAAoBN,EAAAA,aAAY,SAACC,GAAqB,OAAAA,EAAMC,OAAOK,wBACnEC,EAAWR,eAAY,SAACC,GAAqB,OAAAA,EAAMQ,iBAE3D,OACEC,UAAAC,cAAAD,EAAA,QAAAE,SAAA,KACGR,EAAoB,GAAKI,GAAUE,EAAA,QAAAC,cAACE,EAAS,QAAG,MACrB,IAA3BR,IAAiCC,EAAgBQ,QAAUhB,EAGlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sources":["../../../src/components/AlertView/Alert.tsx"],"sourcesContent":["// Copyright (C)
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../../../src/components/AlertView/Alert.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport { classNames } from '../../utils/'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faTriangleExclamation,\n faCircleCheck,\n faCircleXmark,\n} from '@fortawesome/free-solid-svg-icons'\n\nconst classes = {\n base: 'pi-border-4 pi-rounded-2xl pi-p-4 pi-flex pi-gap-5 pi-items-center',\n red: 'pi-border-red-600',\n orange: 'pi-border-orange-600',\n green: 'pi-border-green-600',\n}\n\nconst Alert: FC<AlertProps> = ({ color, message }) => {\n return (\n <div className={classNames(classes.base, classes[color])}>\n <div className='pi-w-12 pi-h-12 pi-rounded-xl pi-bg-gray-300 pi-shrink-0 pi-flex pi-justify-center pi-items-center'>\n {color === 'green' ? (\n <FontAwesomeIcon icon={faCircleCheck} size='xl' className='pi-text-black' />\n ) : color === 'orange' ? (\n <FontAwesomeIcon icon={faTriangleExclamation} size='xl' className='pi-text-black' />\n ) : (\n <FontAwesomeIcon icon={faCircleXmark} size='xl' className='pi-text-black' />\n )}\n </div>\n <div className='pi-text-sm'>{message}</div>\n </div>\n )\n}\n\nexport default Alert\n\ninterface AlertProps {\n type: 'alert' | 'feedback'\n color: 'red' | 'orange' | 'green'\n message: string\n}\n"],"names":["classes","base","red","orange","green","_a","color","message","React","createElement","className","classNames","FontAwesomeIcon","icon","faCircleCheck","size","faTriangleExclamation","faCircleXmark"],"mappings":"gYAYMA,EAAU,CACdC,KAAM,qEACNC,IAAK,oBACLC,OAAQ,uBACRC,MAAO,uCAGqB,SAACC,OAAEC,EAAKD,EAAAC,MAAEC,EAAOF,EAAAE,QAC7C,OACEC,UAAAC,cAAA,MAAA,CAAKC,UAAWC,aAAWX,EAAQC,KAAMD,EAAQM,KAC/CE,UAAAC,cAAA,MAAA,CAAKC,UAAU,sGACF,UAAVJ,EACCE,UAAAC,cAACG,EAAAA,gBAAe,CAACC,KAAMC,EAAaA,cAAEC,KAAK,KAAKL,UAAU,kBAC9C,WAAVJ,EACFE,EAAA,QAAAC,cAACG,EAAAA,gBAAe,CAACC,KAAMG,EAAqBA,sBAAED,KAAK,KAAKL,UAAU,kBAElEF,EAAAA,sBAACI,EAAeA,gBAAA,CAACC,KAAMI,gBAAeF,KAAK,KAAKL,UAAU,mBAG9DF,EAAK,QAAAC,cAAA,MAAA,CAAAC,UAAU,cAAcH,GAGnC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./Alert.js");require("../../node_modules/react-redux/es/index.js");var r=require("../../node_modules/framer-motion/dist/es/render/dom/motion.mjs.js"),o=require("../../node_modules/react-redux/es/hooks/useSelector.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=a(e);exports.default=function(){var e=o.useSelector((function(e){return e.alerts})),a=e.data,i=e.status;return u.default.createElement(r.motion.div,{className:"pi-flex pi-flex-col pi-gap-4 pi-mb-6 pi-overflow-y-auto pi-custom-scrollbar ".concat(i.activeAlertsCount>1&&"pi-pr-2"),initial:{opacity:0},animate:{opacity:1},style:{maxHeight:"5.5rem"}},Object.values(a).map((function(e,r){return e.active&&u.default.createElement(t.default,{key:r,type:"alert",color:(null==e?void 0:e.success)?"green":(null==e?void 0:e.break)?"red":"orange",message:null==e?void 0:e.message})})))};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/AlertView/index.tsx"],"sourcesContent":["// Copyright (C)
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/AlertView/index.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport Alert from './Alert'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../store'\nimport { motion } from 'framer-motion'\n\n/**\n * Shows user alerts\n */\nconst AlertView: FC = () => {\n const { data, status } = useSelector((state: RootState) => state.alerts)\n\n return (\n <motion.div\n className={`pi-flex pi-flex-col pi-gap-4 pi-mb-6 pi-overflow-y-auto pi-custom-scrollbar ${\n status.activeAlertsCount > 1 && 'pi-pr-2'\n }`}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n style={{\n maxHeight: '5.5rem',\n }}\n >\n {/* Show alerts */}\n {Object.values(data).map(\n (alert:any, index) =>\n alert.active && (\n <Alert\n key={index}\n type='alert'\n color={alert?.success ? 'green' : alert?.break ? 'red' : 'orange'}\n message={alert?.message}\n />\n ),\n )}\n </motion.div>\n )\n}\n\nexport default AlertView\n"],"names":["_a","useSelector","state","alerts","data","status","React","createElement","motion","div","className","concat","activeAlertsCount","initial","opacity","animate","style","maxHeight","Object","values","map","alert","index","active","Alert","key","type","color","success","break","message"],"mappings":"maAYsB,WACd,IAAAA,EAAmBC,EAAAA,aAAY,SAACC,GAAqB,OAAAA,EAAMC,MAAM,IAA/DC,SAAMC,WAEd,OACEC,EAAA,QAAAC,cAACC,EAAAA,OAAOC,IACN,CAAAC,UAAW,+EAAAC,OACTN,EAAOO,kBAAoB,GAAK,WAElCC,QAAS,CAAEC,QAAS,GACpBC,QAAS,CAAED,QAAS,GACpBE,MAAO,CACLC,UAAW,WAIZC,OAAOC,OAAOf,GAAMgB,KACnB,SAACC,EAAWC,GACV,OAAAD,EAAME,QACJjB,UAAAC,cAACiB,EAAAA,QAAK,CACJC,IAAKH,EACLI,KAAK,QACLC,OAAON,aAAA,EAAAA,EAAOO,SAAU,SAAUP,aAAK,EAALA,EAAOQ,OAAQ,MAAQ,SACzDC,QAAST,aAAK,EAALA,EAAOS,SAEnB,IAIX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioBars.js","sources":["../../src/components/AudioBars.tsx"],"sourcesContent":["// Copyright (C)
|
|
1
|
+
{"version":3,"file":"AudioBars.js","sources":["../../src/components/AudioBars.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useEffect, useRef } from 'react'\nimport { ContextSourceType } from '../models/audioBars'\nimport { useDispatch } from 'react-redux'\nimport { store } from '../store'\nimport { Dispatch } from '../store'\n\n// The map for the large versione of the audio bars\nconst LARGE = {\n 0: 4,\n 1: 3,\n 2: 2,\n 3: 1,\n 4: 1,\n 5: 2,\n 6: 3,\n 7: 4,\n}\n\n// The map for the small versione of the audio bars\nconst SMALL = {\n 0: 2,\n 1: 1,\n 2: 1,\n 3: 2,\n}\n\n/**\n * This component shows a dynamic audio spectrum given an audio stream\n *\n * @param audioStream An audio stream to analyse\n * @param audioElement An audio element to analyse\n */\nexport const AudioBars: FC<AudioBarsProps> = ({\n audioStream = null,\n audioElement = null,\n paused,\n size,\n}) => {\n // Initialize the main elements\n const containerElement = useRef<HTMLDivElement | null>(null)\n const animationRequest = useRef<number | null>(null)\n const barsMap: BarsMapType = size === 'large' ? LARGE : SMALL\n const context = useRef<AudioContext | null>(null)\n const analyser = useRef<AnalyserNode | null>(null)\n const source = useRef<ContextSourceType>(null)\n const dispatch = useDispatch<Dispatch>()\n\n function saveAnimationRequest(requestId: number) {\n if (requestId) {\n animationRequest.current = requestId\n }\n }\n\n // The function that renders the frames of animation\n function animation() {\n if (analyser && analyser.current) {\n const frequencyData = new Uint8Array(analyser.current.frequencyBinCount)\n analyser.current.getByteFrequencyData(frequencyData)\n const values = Object.values(frequencyData)\n\n const bars = containerElement.current?.children\n if (bars && bars?.length > 0) {\n // Change styles to every bar\n for (let i = 0; i < Object.keys(barsMap).length; ++i) {\n const value = values[barsMap[i]] / 255\n // @ts-ignore\n const barStyles = bars && bars[i] && bars[i].style\n if (barStyles && value > 0) {\n barStyles.height = `${100 * value}%`\n }\n }\n startAnimation()\n }\n }\n }\n\n function startAnimation() {\n const animationRequestId: number = requestAnimationFrame(animation)\n saveAnimationRequest(animationRequestId)\n }\n\n useEffect(() => {\n const { audioElementContext, audioElementAnalyser, audioElementSource, isReady } =\n store.getState().audioBars\n // Initialize audio context and analyser once\n if (audioElement && isReady) {\n // The source is an audio element\n context.current = audioElementContext\n analyser.current = audioElementAnalyser\n source.current = audioElementSource\n } else {\n // The source is an audio stream or isn't ready\n context.current = new AudioContext()\n analyser.current = context.current.createAnalyser()\n analyser.current.smoothingTimeConstant = 0.8\n analyser.current.fftSize = 32\n // Create the media source stream\n if (audioStream) {\n source.current = context.current.createMediaStreamSource(audioStream)\n } else if (audioElement) {\n source.current = context.current.createMediaElementSource(audioElement)\n // Save the audio elements to stores\n dispatch.audioBars.setAudioElementContext(context.current)\n dispatch.audioBars.setAudioElementAnalyser(analyser.current)\n dispatch.audioBars.setAudioElementSource(source.current)\n dispatch.audioBars.setIsReady(true)\n }\n }\n\n // Connect the audio source to the analyser\n analyser.current && source.current && source.current.connect(analyser.current)\n if (audioElement) {\n // Connect the analyser to the destination of the context\n context.current && analyser.current && analyser.current.connect(context.current.destination)\n }\n startAnimation()\n\n // Cleanup bars animation\n return () => {\n animationRequest.current && cancelAnimationFrame(animationRequest.current)\n source.current?.disconnect()\n }\n }, [])\n\n useEffect(() => {\n if (animationRequest.current) {\n if (!paused) {\n cancelAnimationFrame(animationRequest.current)\n startAnimation()\n } else {\n cancelAnimationFrame(animationRequest.current)\n }\n }\n }, [size, paused])\n\n return (\n <div\n className={`${\n size === 'small' ? 'pi-h-6 pi-w-6' : 'pi-h-12 pi-w-12'\n } pi-flex pi-justify-center pi-items-center`}\n >\n {/* The bars container */}\n <div\n className={`${\n size === 'small' ? 'pi-h-6' : 'pi-h-8'\n } pi-w-fit pi-flex pi-justify-center pi-items-center pi-gap-1 pi-overflow-hidden`}\n ref={containerElement}\n >\n {/* Every single bar */}\n {(audioStream || audioElement) &&\n Object.keys(barsMap).map((key) => (\n <span key={key} className='pi-bg-emerald-700 dark:pi-bg-emerald-600 pi-w-0.5 pi-rounded-sm'></span>\n ))}\n </div>\n </div>\n )\n}\n\ninterface AudioBarsProps {\n audioStream?: MediaStream | null\n audioElement?: HTMLAudioElement | null\n size?: 'large' | 'small'\n paused?: boolean\n}\n\ninterface BarsMapType {\n [key: number]: number\n}\n"],"names":["LARGE","SMALL","_a","_b","audioStream","_c","audioElement","paused","size","containerElement","useRef","animationRequest","barsMap","context","analyser","source","dispatch","useDispatch","animation","current","frequencyData","Uint8Array","frequencyBinCount","getByteFrequencyData","values","Object","bars","children","length","i","keys","value","barStyles","style","height","concat","startAnimation","requestId","animationRequestId","requestAnimationFrame","useEffect","store","getState","audioBars","audioElementContext","audioElementAnalyser","audioElementSource","isReady","AudioContext","createAnalyser","smoothingTimeConstant","fftSize","createMediaStreamSource","createMediaElementSource","setAudioElementContext","setAudioElementAnalyser","setAudioElementSource","setIsReady","connect","destination","cancelAnimationFrame","disconnect","React","createElement","className","ref","map","key"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),t=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js");require("../../node_modules/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),t=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js");require("../../node_modules/react-redux/es/index.js");var i=require("../../node_modules/framer-motion/dist/es/render/dom/motion.mjs.js"),o=require("../../node_modules/react-redux/es/hooks/useSelector.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=a(e);exports.Avatar=function(e){var a=e.type,n=o.useSelector((function(e){return e.island})).isOpen;return s.default.createElement(i.motion.div,{animate:n?{width:"48px",height:"48px",borderRadius:"12px"}:{width:"24px",height:"24px",borderRadius:"6px"},className:"pi-w-12 pi-h-12 pi-bg-gray-500 pi-rounded-xl pi-flex pi-items-center pi-justify-center pi-flex-shrink-0 pi-flex-grow-0"},"announcement"===a?s.default.createElement(r.FontAwesomeIcon,{size:n?"2xl":"lg",icon:t.faBullhorn,className:"pi-text-gray-50 dark:pi-text-gray-50"}):"call_recording"===a?s.default.createElement(r.FontAwesomeIcon,{size:n?"2xl":"lg",icon:t.faVoicemail,className:"pi-text-gray-50 dark:pi-text-gray-50"}):s.default.createElement(r.FontAwesomeIcon,{size:n?"2xl":"lg",icon:t.faMusic,className:"pi-text-gray-50 dark:pi-text-gray-50"}))};
|
|
2
2
|
//# sourceMappingURL=Avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sources":["../../../src/components/AudioPlayerView/Avatar.tsx"],"sourcesContent":["// Copyright (C)
|
|
1
|
+
{"version":3,"file":"Avatar.js","sources":["../../../src/components/AudioPlayerView/Avatar.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport { type TypeTypes } from '../../types'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faBullhorn, faVoicemail, faMusic } from '@fortawesome/free-solid-svg-icons'\nimport { motion } from 'framer-motion'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../store'\n\nexport const Avatar: FC<AvatarProps> = ({ type }) => {\n const { isOpen } = useSelector((state: RootState) => state.island)\n\n return (\n <motion.div\n animate={\n isOpen\n ? { width: '48px', height: '48px', borderRadius: '12px' }\n : { width: '24px', height: '24px', borderRadius: '6px' }\n }\n className='pi-w-12 pi-h-12 pi-bg-gray-500 pi-rounded-xl pi-flex pi-items-center pi-justify-center pi-flex-shrink-0 pi-flex-grow-0'\n >\n {type === 'announcement' ? (\n <FontAwesomeIcon\n size={isOpen ? '2xl' : 'lg'}\n icon={faBullhorn}\n className='pi-text-gray-50 dark:pi-text-gray-50'\n />\n ) : type === 'call_recording' ? (\n <FontAwesomeIcon\n size={isOpen ? '2xl' : 'lg'}\n icon={faVoicemail}\n className='pi-text-gray-50 dark:pi-text-gray-50'\n />\n ) : (\n <FontAwesomeIcon\n size={isOpen ? '2xl' : 'lg'}\n icon={faMusic}\n className='pi-text-gray-50 dark:pi-text-gray-50'\n />\n )}\n </motion.div>\n )\n}\n\nexport interface AvatarProps {\n type?: TypeTypes | null\n}\n"],"names":["_a","type","isOpen","useSelector","state","island","React","motion","div","animate","width","height","borderRadius","className","createElement","FontAwesomeIcon","size","icon","faBullhorn","faVoicemail","faMusic"],"mappings":"oiBAWuC,SAACA,GAAE,IAAAC,EAAID,EAAAC,KACpCC,EAAWC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,iBAE3D,OACEC,EAAAA,sBAACC,EAAAA,OAAOC,IACN,CAAAC,QACEP,EACI,CAAEQ,MAAO,OAAQC,OAAQ,OAAQC,aAAc,QAC/C,CAAEF,MAAO,OAAQC,OAAQ,OAAQC,aAAc,OAErDC,UAAU,0HAEA,iBAATZ,EACCK,EAAAA,QAAAQ,cAACC,kBACC,CAAAC,KAAMd,EAAS,MAAQ,KACvBe,KAAMC,EAAUA,WAChBL,UAAU,yCAED,mBAATZ,EACFK,EAAC,QAAAQ,cAAAC,EAAAA,gBACC,CAAAC,KAAMd,EAAS,MAAQ,KACvBe,KAAME,EAAWA,YACjBN,UAAU,yCAGZP,EAAAA,QAAAQ,cAACC,kBAAe,CACdC,KAAMd,EAAS,MAAQ,KACvBe,KAAMG,EAAOA,QACbP,UAAU,yCAKpB"}
|
|
@@ -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("./Avatar.js"),r=require("../AudioBars.js"),a=require("./Progress.js"),i=require("../Button.js"),s=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),l=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),o=require("../../node_modules/react-tooltip/dist/react-tooltip.min.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../../node_modules/react-redux/es/index.js");var t=require("./Avatar.js"),r=require("../AudioBars.js"),a=require("./Progress.js"),i=require("../Button.js"),s=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),l=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),o=require("../../node_modules/react-tooltip/dist/react-tooltip.min.mjs.js");require("../../node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var n=require("../../node_modules/react-i18next/dist/es/useTranslation.js");require("../../node_modules/@babel/runtime/helpers/slicedToArray.js");var u=require("../../utils/customHooks/useEventListener.js"),d=require("../../utils/genericFunctions/eventDispatch.js"),p=require("../../node_modules/react-redux/es/hooks/useSelector.js"),c=require("../../node_modules/react-redux/es/hooks/useDispatch.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=m(e),y=function(){var e=p.useSelector((function(e){return e.player})),m=e.audioPlayerTrackType,y=e.audioPlayerTrackName,j=e.audioPlayer,v=e.audioPlayerPlaying,x=p.useSelector((function(e){return e.island})).isOpen,h=c.useDispatch();function q(){h.player.startAudioPlayer((function(){})),d.eventDispatch("phone-island-audio-player-played",{})}function E(){h.player.pauseAudioPlayer(),d.eventDispatch("phone-island-audio-player-paused",{})}u.useEventListener("phone-island-audio-player-play",(function(e){q()})),u.useEventListener("phone-island-audio-player-pause",(function(e){E()}));var P=n.useTranslation().t;return f.default.createElement("div",{className:"pi-flex pi-gap-7 pi-flex-col"},f.default.createElement("div",{className:"pi-flex pi-gap-4"},f.default.createElement(t.Avatar,{type:m}),f.default.createElement("div",{className:"pi-flex pi-items-center pi-w-full"},f.default.createElement("div",{style:{width:x?"202px":"60px"},className:"pi-text-base pi-overflow-hidden pi-text-ellipsis pi-whitespace-nowrap pi-inline-block"},y)),f.default.createElement(r.AudioBars,{audioElement:j&&j.current,size:x?"large":"small"})),x&&f.default.createElement("div",null,f.default.createElement(a.Progress,null),f.default.createElement("div",{className:"pi-w-full pi-flex pi-justify-center pi-items-center pi-pt-7"},f.default.createElement(i.Button,{onClick:v?E:q,variant:"default",style:{transform:"scale(1.15)"},"data-tooltip-id":"tooltip-pause-audio-player","data-tooltip-content":"".concat(P(v?"Tooltip.Pause":"Tooltip.Play"))},v?f.default.createElement(s.FontAwesomeIcon,{icon:l.faPause,size:"xl"}):f.default.createElement(s.FontAwesomeIcon,{icon:l.faPlay,size:"xl"})))),f.default.createElement(o.Tooltip,{className:"pi-z-20",id:"tooltip-pause-audio-player",place:"bottom"}))};exports.KeypadView=y,exports.default=y;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/AudioPlayerView/index.tsx"],"sourcesContent":["// Copyright (C)
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/AudioPlayerView/index.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState } from '../../store'\nimport { Avatar } from './Avatar'\nimport { AudioBars } from '../AudioBars'\nimport Progress from './Progress'\nimport { Button } from '../Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPause, faPlay } from '@fortawesome/free-solid-svg-icons'\nimport { Tooltip } from 'react-tooltip'\nimport { useTranslation } from 'react-i18next'\nimport { useEventListener, eventDispatch } from '../../utils'\n\nexport const KeypadView: FC<KeypadViewTypes> = () => {\n const { audioPlayerTrackType, audioPlayerTrackName, audioPlayer, audioPlayerPlaying } =\n useSelector((state: RootState) => state.player)\n const { isOpen } = useSelector((state: RootState) => state.island)\n const dispatch = useDispatch<Dispatch>()\n\n function startPlaying() {\n dispatch.player.startAudioPlayer(() => {})\n eventDispatch('phone-island-audio-player-played', {})\n }\n useEventListener('phone-island-audio-player-play', (data: {}) => {\n startPlaying()\n })\n\n function pausePlaying() {\n dispatch.player.pauseAudioPlayer()\n eventDispatch('phone-island-audio-player-paused', {})\n }\n useEventListener('phone-island-audio-player-pause', (data: {}) => {\n pausePlaying()\n })\n\n const { t } = useTranslation()\n\n return (\n <div className='pi-flex pi-gap-7 pi-flex-col'>\n <div className='pi-flex pi-gap-4'>\n <Avatar type={audioPlayerTrackType} />\n <div className='pi-flex pi-items-center pi-w-full'>\n <div\n style={{\n width: isOpen ? '202px' : '60px',\n }}\n className={`pi-text-base pi-overflow-hidden pi-text-ellipsis pi-whitespace-nowrap pi-inline-block`}\n >\n {audioPlayerTrackName}\n </div>\n </div>\n <AudioBars\n audioElement={audioPlayer && audioPlayer.current}\n size={isOpen ? 'large' : 'small'}\n />\n </div>\n {isOpen && (\n <div>\n <Progress />\n <div className='pi-w-full pi-flex pi-justify-center pi-items-center pi-pt-7'>\n <Button\n onClick={audioPlayerPlaying ? pausePlaying : startPlaying}\n variant='default'\n style={{ transform: 'scale(1.15)' }}\n data-tooltip-id='tooltip-pause-audio-player'\n data-tooltip-content={audioPlayerPlaying ? `${t('Tooltip.Pause')}` : `${t('Tooltip.Play')}`}\n >\n {audioPlayerPlaying ? (\n <FontAwesomeIcon icon={faPause} size='xl' />\n ) : (\n <FontAwesomeIcon icon={faPlay} size='xl' />\n )}\n </Button>\n </div>\n </div>\n )}\n {/* Buttons tooltips */}\n <Tooltip className='pi-z-20' id='tooltip-pause-audio-player' place='bottom' />\n </div>\n )\n}\n\nexport default KeypadView\n\nexport interface KeypadViewTypes {}\n"],"names":["KeypadView","_a","useSelector","state","player","audioPlayerTrackType","audioPlayerTrackName","audioPlayer","audioPlayerPlaying","isOpen","island","dispatch","useDispatch","startPlaying","startAudioPlayer","eventDispatch","pausePlaying","pauseAudioPlayer","useEventListener","data","t","useTranslation","React","createElement","className","Avatar","type","style","width","AudioBars","audioElement","current","size","Progress","Button","onClick","variant","transform","concat","FontAwesomeIcon","icon","faPause","faPlay","Tooltip","id","place"],"mappings":"gzCAgBaA,EAAkC,WACvC,IAAAC,EACJC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,UADlCC,EAAoBJ,EAAAI,qBAAEC,EAAoBL,EAAAK,qBAAEC,EAAWN,EAAAM,YAAEC,EAAkBP,EAAAO,mBAE3EC,EAAWP,eAAY,SAACC,GAAqB,OAAAA,EAAMO,iBACrDC,EAAWC,EAAAA,cAEjB,SAASC,IACPF,EAASP,OAAOU,kBAAiB,WAAQ,IACzCC,gBAAc,mCAAoC,CAAA,EACnD,CAKD,SAASC,IACPL,EAASP,OAAOa,mBAChBF,gBAAc,mCAAoC,CAAA,EACnD,CAPDG,mBAAiB,kCAAkC,SAACC,GAClDN,GACF,IAMAK,mBAAiB,mCAAmC,SAACC,GACnDH,GACF,IAEQ,IAAAI,EAAMC,qBAEd,OACEC,EAAA,QAAAC,cAAA,MAAA,CAAKC,UAAU,gCACbF,EAAAA,QAAKC,cAAA,MAAA,CAAAC,UAAU,oBACbF,EAAAA,QAAAC,cAACE,EAAAA,OAAM,CAACC,KAAMrB,IACdiB,EAAAA,QAAKC,cAAA,MAAA,CAAAC,UAAU,qCACbF,EAAAA,QAAAC,cAAA,MAAA,CACEI,MAAO,CACLC,MAAOnB,EAAS,QAAU,QAE5Be,UAAW,yFAEVlB,IAGLgB,EAAAA,QAACC,cAAAM,EAAAA,WACCC,aAAcvB,GAAeA,EAAYwB,QACzCC,KAAMvB,EAAS,QAAU,WAG5BA,GACCa,EAAA,QAAAC,cAAA,MAAA,KACED,UAAAC,cAACU,EAAQA,SAAG,MACZX,EAAAA,QAAKC,cAAA,MAAA,CAAAC,UAAU,+DACbF,EAAAA,QAAAC,cAACW,SACC,CAAAC,QAAS3B,EAAqBQ,EAAeH,EAC7CuB,QAAQ,UACRT,MAAO,CAAEU,UAAW,iCACJ,6BAA4B,uBACD,GAAAC,OAAGlB,EAAxBZ,EAA0B,gBAA0B,kBAEzEA,EACCc,EAAAA,QAACC,cAAAgB,mBAAgBC,KAAMC,EAAAA,QAAST,KAAK,OAErCV,wBAACiB,EAAeA,gBAAA,CAACC,KAAME,SAAQV,KAAK,UAO9CV,EAAAA,QAAAC,cAACoB,UAAQ,CAAAnB,UAAU,UAAUoB,GAAG,6BAA6BC,MAAM,WAGzE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../node_modules/tslib/tslib.es6.js"),r=require("react"),i=require("../utils/genericFunctions/classNames.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=a(r);exports.Button=function(r){var a=r.children,n=r.variant,p=r.active,o=void 0!==p&&p,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../node_modules/tslib/tslib.es6.js"),r=require("react"),i=require("../utils/genericFunctions/classNames.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=a(r);exports.Button=function(r){var a=r.children,n=r.variant,p=r.active,o=void 0!==p&&p,g=r.className,s=void 0===g?"":g,d=e.__rest(r,["children","variant","active","className"]),c={base:"pi-flex 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 pi-border pi-border-transparent focus:pi-ring-offset-white 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",variant:{red:"dark:pi-bg-red-500 pi-bg-red-700 hover:pi-bg-red-700 dark:hover:pi-bg-red-300 focus:pi-ring-emerald-500 dark:focus:ring-emerald-300 pi-text-white dark:pi-text-gray-950",green:"pi-bg-green-700 dark:pi-bg-green-500 hover:pi-bg-green-600 dark:hover:pi-bg-green-300 focus:pi-ring-green-500 focus:dark:pi-ring-200 pi-text-white dark:pi-text-gray-950",default:"hover:pi-bg-gray-500 dark:hover:pi-bg-gray-50 focus:pi-ring-emerald-500 dark:focus:pi-ring-emerald-300 pi-text-white dark:pi-text-gray-950",neutral:"pi-bg-transparent enabled:hover:pi-bg-gray-500 enabled:hover:pi-border-gray-500 pi-border pi-border-gray-700 focus:pi-ring-0",transparent:"pi-bg-transparent dark:enabled:hover:pi-bg-gray-500 enabled:hover:pi-bg-gray-400 focus:pi-ring-offset-gray-200 dark:focus:pi-ring-gray-500 dark:focus:pi-ring-gray-500 focus:pi-ring-gray-400 dark:pi-text-white"},background:{base:{default:"pi-bg-gray-700 dark:pi-bg-gray-300"},active:{default:"pi-bg-gray-500 dark:pi-bg-gray-50"}}};return t.default.createElement(t.default.Fragment,null,t.default.createElement("button",e.__assign({"data-stop-propagation":!0,className:i.classNames(o&&c.background.active[n]?c.background.active[n]:c.background.base[n]&&c.background.base[n],c.base,n&&c.variant[n],s&&s)},d),a))};
|
|
2
2
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../src/components/Button.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { FC, ReactNode, ComponentPropsWithRef } from 'react'\nimport { classNames } from '../utils'\n\ninterface ButtonProps extends ComponentPropsWithRef<'button'> {\n children: ReactNode\n variant: 'red' | 'green' | 'default' | 'neutral' | 'transparent'\n active?: boolean\n}\n\nexport const Button: FC<ButtonProps> = ({\n children,\n variant,\n active = false,\n className = '',\n ...props\n}) => {\n const classes = {\n base: 'pi-flex pi-font-
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../src/components/Button.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { FC, ReactNode, ComponentPropsWithRef } from 'react'\nimport { classNames } from '../utils'\n\ninterface ButtonProps extends ComponentPropsWithRef<'button'> {\n children: ReactNode\n variant: 'red' | 'green' | 'default' | 'neutral' | 'transparent'\n active?: boolean\n}\n\nexport const Button: FC<ButtonProps> = ({\n children,\n variant,\n active = false,\n className = '',\n ...props\n}) => {\n const classes = {\n base: 'pi-flex 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 pi-border pi-border-transparent focus:pi-ring-offset-white 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 variant: {\n red: 'dark:pi-bg-red-500 pi-bg-red-700 hover:pi-bg-red-700 dark:hover:pi-bg-red-300 focus:pi-ring-emerald-500 dark:focus:ring-emerald-300 pi-text-white dark:pi-text-gray-950',\n green: 'pi-bg-green-700 dark:pi-bg-green-500 hover:pi-bg-green-600 dark:hover:pi-bg-green-300 focus:pi-ring-green-500 focus:dark:pi-ring-200 pi-text-white dark:pi-text-gray-950',\n default:\n 'hover:pi-bg-gray-500 dark:hover:pi-bg-gray-50 focus:pi-ring-emerald-500 dark:focus:pi-ring-emerald-300 pi-text-white dark:pi-text-gray-950',\n neutral:\n 'pi-bg-transparent enabled:hover:pi-bg-gray-500 enabled:hover:pi-border-gray-500 pi-border pi-border-gray-700 focus:pi-ring-0',\n transparent:\n 'pi-bg-transparent dark:enabled:hover:pi-bg-gray-500 enabled:hover:pi-bg-gray-400 focus:pi-ring-offset-gray-200 dark:focus:pi-ring-gray-500 dark:focus:pi-ring-gray-500 focus:pi-ring-gray-400 dark:pi-text-white',\n },\n background: {\n base: {\n default: 'pi-bg-gray-700 dark:pi-bg-gray-300',\n },\n active: {\n default: 'pi-bg-gray-500 dark:pi-bg-gray-50',\n },\n },\n }\n\n return (\n <>\n <button\n data-stop-propagation={true}\n className={classNames(\n active && classes.background.active[variant]\n ? classes.background.active[variant]\n : classes.background.base[variant] && classes.background.base[variant],\n classes.base,\n variant && classes.variant[variant],\n className && className,\n )}\n {...props}\n >\n {children}\n </button>\n </>\n )\n}\n"],"names":["_a","children","variant","_b","active","_c","className","props","__rest","classes","base","red","green","default","neutral","transparent","background","React","createElement","Fragment","__assign","classNames"],"mappings":"kSAYuC,SAACA,GACtC,IAAAC,aACAC,YACAC,EAAAH,EAAAI,OAAAA,OAAS,IAAAD,KACTE,EAAAL,EAAAM,UAAAA,OAAY,IAAAD,EAAA,KACTE,EALmCC,EAAAA,OAAAR,EAAA,CAAA,WAAA,UAAA,SAAA,cAOhCS,EAAU,CACdC,KAAM,2ZACNR,QAAS,CACPS,IAAK,0KACLC,MAAO,2KACPC,QACE,6IACFC,QACE,+HACFC,YACE,oNAEJC,WAAY,CACVN,KAAM,CACJG,QAAS,sCAEXT,OAAQ,CACNS,QAAS,uCAKf,OACEI,UAAAC,cAAAD,EAAA,QAAAE,SAAA,KACEF,EAAAA,QAAAC,cAAA,SAAAE,EAAAA,SAAA,CAAA,yBACyB,EACvBd,UAAWe,EAAAA,WACTjB,GAAUK,EAAQO,WAAWZ,OAAOF,GAChCO,EAAQO,WAAWZ,OAAOF,GAC1BO,EAAQO,WAAWN,KAAKR,IAAYO,EAAQO,WAAWN,KAAKR,GAChEO,EAAQC,KACRR,GAAWO,EAAQP,QAAQA,GAC3BI,GAAaA,IAEXC,GAEHN,GAIT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("../../lib/phone/call.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("../../lib/phone/call.js"),a=require("../../utils/customHooks/useEventListener.js"),o=require("../../utils/genericFunctions/eventDispatch.js");require("../../node_modules/react-redux/es/index.js");var n=require("../../store/index.js");require("../../node_modules/socket.io-client/build/esm/index.js"),require("../../node_modules/webrtc-adapter/src/js/adapter_core.js"),require("../../lib/webrtc/janus.js");var i=require("../../lib/webrtc/messages.js");require("../../node_modules/mic-check/lib/index.js");var l=require("../../static/outgoing_ringtone.js");require("../Island.js");var r=require("../../services/astproxy.js"),s=require("../Button.js"),c=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),d=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),u=require("../../node_modules/@nethesis/nethesis-solid-svg-icons/index.mjs.js"),p=require("../TransferView/TransferActions.js"),m=require("../../node_modules/react-tooltip/dist/react-tooltip.min.mjs.js");require("../../node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var f=require("../../node_modules/react-i18next/dist/es/useTranslation.js");require("../../node_modules/@babel/runtime/helpers/slicedToArray.js");var v=require("../../lib/user/default_device.js"),h=require("../../node_modules/react-redux/es/hooks/useSelector.js"),x=require("../../node_modules/react-redux/es/hooks/useDispatch.js");function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var g=E(e);exports.default=function(){var e=h.useSelector((function(e){return e.currentCall})),E=e.paused,j=e.muted,y=e.isRecording,T=h.useSelector((function(e){return e.currentCall.parked})),b=h.useSelector((function(e){return e.island})),q=b.view,w=b.actionsExpanded,C=h.useSelector((function(e){return e.currentCall.transferring})),k=h.useSelector((function(e){return e.listen})),A=x.useDispatch();function _(){A.island.setIslandView("keypad"!==q?"keypad":"call"),o.eventDispatch("phone-island-call-keypad-opened",{})}function F(){A.island.setIslandView("transfer"!==q?"transfer":"call"),o.eventDispatch("phone-island-call-transfer-opened",{})}function I(){v.isWebRTC()?i.sendDTMF("*"):r.sendPhysicalDTMF("*"),n.store.getState().player.audioPlayerPlaying||A.player.updateStartAudioPlayer({src:l.default,loop:!0}),setTimeout((function(){v.isWebRTC()?i.sendDTMF("1"):r.sendPhysicalDTMF("1"),A.player.stopAudioPlayer(),C&&setTimeout((function(){A.currentCall.updateTransferring(!1)}),500),o.eventDispatch("phone-island-call-transfer-canceled",{})}),500)}a.useEventListener("phone-island-call-keypad-open",(function(){_()})),a.useEventListener("phone-island-call-transfer-open",(function(){F()})),a.useEventListener("phone-island-call-transfer-cancel",(function(){I()})),a.useEventListener("phone-island-call-actions-open",(function(){A.island.toggleActionsExpanded(!0),o.eventDispatch("phone-island-call-actions-opened",{})})),a.useEventListener("phone-island-call-actions-close",(function(){A.island.toggleActionsExpanded(!1),o.eventDispatch("phone-island-call-actions-closed",{})}));var z=f.useTranslation().t;return g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:"".concat(k.isListen||k.isIntrude?k.isIntrude?"pi-mb-6 pi-grid pi-grid-cols-1 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center":"pi-hidden":"pi-grid pi-grid-cols-4 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center"," ")},!(k.isIntrude||k.isListen)&&g.default.createElement(s.Button,{variant:"default",active:!!E,onClick:function(){return E?t.unpauseCurrentCall():t.pauseCurrentCall()},"data-tooltip-id":"tooltip-pause","data-tooltip-content":"".concat(z(E?"Tooltip.Play":"Tooltip.Pause"))},E?g.default.createElement(c.FontAwesomeIcon,{size:"xl",icon:d.faPlay}):g.default.createElement(c.FontAwesomeIcon,{size:"xl",icon:d.faPause})),!k.isListen&&g.default.createElement(s.Button,{variant:"default",active:!!j,onClick:function(){return j?t.unmuteCurrentCall():t.muteCurrentCall()},"data-tooltip-id":"tooltip-mute","data-tooltip-content":"".concat(z(j?"Tooltip.Unmute":"Tooltip.Mute"))},j?g.default.createElement(c.FontAwesomeIcon,{size:"xl",icon:d.faMicrophoneSlash}):g.default.createElement(c.FontAwesomeIcon,{size:"xl",icon:d.faMicrophone})),!(k.isIntrude||k.isListen)&&g.default.createElement(s.Button,{active:C,onClick:C?I:F,variant:"default","data-tooltip-id":"tooltip-transfer","data-tooltip-content":"".concat(z(C?"Tooltip.Cancel transfer":"Tooltip.Transfer"))},C?g.default.createElement(c.FontAwesomeIcon,{className:"",size:"xl",icon:d.faArrowDownUpAcrossLine}):g.default.createElement(c.FontAwesomeIcon,{size:"xl",className:"pi-rotate-90",icon:d.faArrowRightArrowLeft})),!(k.isIntrude||k.isListen)&&g.default.createElement(s.Button,{active:w,variant:"transparent",onClick:function(){w?(A.island.toggleActionsExpanded(!1),o.eventDispatch("phone-island-call-actions-closed",{})):(A.island.toggleActionsExpanded(!0),o.eventDispatch("phone-island-call-actions-opened",{}))},"data-tooltip-id":"tooltip-expand","data-tooltip-content":"".concat(z(w?"Tooltip.Collapse":"Tooltip.Expand"))},w?g.default.createElement(c.FontAwesomeIcon,{className:"pi-text-gray-700 dark:pi-text-gray-300",size:"xl",icon:d.faChevronUp}):g.default.createElement(c.FontAwesomeIcon,{size:"xl",className:"pi-text-gray-700 dark:pi-text-gray-300",icon:d.faChevronDown}))),w?g.default.createElement(g.default.Fragment,null," ",g.default.createElement("div",{className:"pi-grid pi-grid-cols-4 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center"},g.default.createElement(s.Button,{active:"keypad"===q,variant:"default",onClick:_,"data-tooltip-id":"tooltip-keyboard","data-tooltip-content":z("Tooltip.Keyboard")||""},g.default.createElement(c.FontAwesomeIcon,{size:"xl",icon:u.faGridRound})),g.default.createElement(s.Button,{active:y,"data-stop-propagation":!0,variant:"default",onClick:function(){return t.recordCurrentCall(y)},"data-tooltip-id":"tooltip-record","data-tooltip-content":y?z("Tooltip.Stop recording")||"":z("Tooltip.Record")||""},y?g.default.createElement(c.FontAwesomeIcon,{icon:d.faStop,size:"xl"}):g.default.createElement("div",{className:"custom-circle-dot-wrapper","data-stop-propagation":!0},g.default.createElement(c.FontAwesomeIcon,{icon:d.faCircleDot,className:"fa-circle-dot pi-text-white dark:pi-text-red-700"}),g.default.createElement(c.FontAwesomeIcon,{icon:d.faCircle,className:"inner-dot pi-text-red-700 dark:pi-text-white"}))),g.default.createElement(s.Button,{active:T,variant:"default",onClick:t.parkCurrentCall,"data-tooltip-id":"tooltip-park","data-tooltip-content":z("Tooltip.Park")||""},g.default.createElement(c.FontAwesomeIcon,{size:"xl",icon:d.faSquareParking})),C&&g.default.createElement(p.TransferActions,null))):g.default.createElement(g.default.Fragment,null),g.default.createElement(m.Tooltip,{className:"pi-z-20",id:"tooltip-transfer",place:"bottom"}),g.default.createElement(m.Tooltip,{className:"pi-z-20",id:"tooltip-pause",place:"bottom"}),g.default.createElement(m.Tooltip,{className:"pi-z-20",id:"tooltip-mute",place:"bottom"}),g.default.createElement(m.Tooltip,{className:"pi-z-20",id:"tooltip-expand",place:"bottom"}),g.default.createElement(m.Tooltip,{className:"pi-z-20",id:"tooltip-keyboard",place:"bottom"}),g.default.createElement(m.Tooltip,{className:"pi-z-20",id:"tooltip-record",place:"bottom"}),g.default.createElement(m.Tooltip,{className:"pi-z-20",id:"tooltip-park",place:"bottom"}))};
|
|
2
2
|
//# sourceMappingURL=Actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../src/components/CallView/Actions.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport {\n muteCurrentCall,\n unmuteCurrentCall,\n pauseCurrentCall,\n unpauseCurrentCall,\n parkCurrentCall,\n recordCurrentCall,\n} from '../../lib/phone/call'\nimport { Button } from '../'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faPause,\n faPlay,\n faMicrophone,\n faMicrophoneSlash,\n faArrowDownUpAcrossLine,\n faSquareParking,\n faChevronDown,\n faChevronUp,\n faArrowRightArrowLeft,\n faCircleDot,\n faCircle,\n faStop,\n} from '@fortawesome/free-solid-svg-icons'\nimport { faGridRound } from '@nethesis/nethesis-solid-svg-icons'\nimport { RootState, Dispatch } from '../../store'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { sendDTMF } from '../../lib/webrtc/messages'\nimport { store } from '../../store'\nimport outgoingRingtone from '../../static/outgoing_ringtone'\nimport { TransferActions } from '../TransferView'\nimport { Tooltip } from 'react-tooltip/dist/react-tooltip.min.cjs'\nimport { useTranslation } from 'react-i18next'\nimport { isWebRTC } from '../../lib/user/default_device'\nimport { sendPhysicalDTMF } from '../../services/astproxy'\nimport { useEventListener, eventDispatch } from '../../utils'\n\nconst Actions: FC = () => {\n // Get multiple values from currentCall store\n const { paused, muted, isRecording } = useSelector((state: RootState) => state.currentCall)\n const parked = useSelector((state: RootState) => state.currentCall.parked)\n\n // Get isOpen and view from island store\n const { view, actionsExpanded } = useSelector((state: RootState) => state.island)\n const transferring = useSelector((state: RootState) => state.currentCall.transferring)\n const intrudeListenStatus = useSelector((state: RootState) => state.listen)\n\n const dispatch = useDispatch<Dispatch>()\n\n function openKeypad() {\n dispatch.island.setIslandView(view !== 'keypad' ? 'keypad' : 'call')\n eventDispatch('phone-island-call-keypad-opened', {})\n }\n useEventListener('phone-island-call-keypad-open', () => {\n openKeypad()\n })\n\n function transfer() {\n // Open the transfer view\n dispatch.island.setIslandView(view !== 'transfer' ? 'transfer' : 'call')\n eventDispatch('phone-island-call-transfer-opened', {})\n }\n useEventListener('phone-island-call-transfer-open', () => {\n transfer()\n })\n useEventListener('phone-island-call-transfer-cancel', () => {\n cancelTransfer()\n })\n\n // Cancels the current transfer through dtmfs\n function cancelTransfer() {\n if (isWebRTC()) {\n sendDTMF('*')\n } else {\n sendPhysicalDTMF('*')\n }\n\n const { audioPlayerPlaying } = store.getState().player\n // Check if the local audio is already playing and start playing\n if (!audioPlayerPlaying) {\n dispatch.player.updateStartAudioPlayer({\n src: outgoingRingtone,\n loop: true,\n })\n }\n setTimeout(() => {\n if (isWebRTC()) {\n sendDTMF('1')\n } else {\n sendPhysicalDTMF('1')\n }\n\n dispatch.player.stopAudioPlayer()\n // The workarround to disable transfer because of the wrong conv.connection value from ws\n if (transferring) {\n setTimeout(() => {\n dispatch.currentCall.updateTransferring(false)\n }, 500)\n }\n\n eventDispatch('phone-island-call-transfer-canceled', {})\n }, 500)\n }\n\n useEventListener('phone-island-call-actions-open', () => {\n dispatch.island.toggleActionsExpanded(true)\n eventDispatch('phone-island-call-actions-opened', {})\n })\n useEventListener('phone-island-call-actions-close', () => {\n dispatch.island.toggleActionsExpanded(false)\n eventDispatch('phone-island-call-actions-closed', {})\n })\n function toggleActionsExpanded() {\n if (actionsExpanded) {\n dispatch.island.toggleActionsExpanded(false)\n eventDispatch('phone-island-call-actions-closed', {})\n } else {\n dispatch.island.toggleActionsExpanded(true)\n eventDispatch('phone-island-call-actions-opened', {})\n }\n }\n\n const { t } = useTranslation()\n // Phone island header section\n return (\n <>\n <div\n className={`${\n !intrudeListenStatus.isListen && !intrudeListenStatus.isIntrude\n ? 'pi-grid pi-grid-cols-4 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center'\n : intrudeListenStatus.isIntrude\n ? 'pi-mb-6 pi-grid pi-grid-cols-1 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center'\n : 'pi-hidden'\n } `}\n >\n {!(intrudeListenStatus.isIntrude || intrudeListenStatus.isListen) && (\n <Button\n variant='default'\n active={paused ? true : false}\n onClick={() => (paused ? unpauseCurrentCall() : pauseCurrentCall())}\n data-tooltip-id='tooltip-pause'\n data-tooltip-content={paused ? `${t('Tooltip.Play')}` : `${t('Tooltip.Pause')}`}\n >\n {paused ? (\n <FontAwesomeIcon size='xl' icon={faPlay} />\n ) : (\n <FontAwesomeIcon size='xl' icon={faPause} />\n )}\n </Button>\n )}\n {!intrudeListenStatus.isListen && (\n <Button\n variant='default'\n active={muted ? true : false}\n onClick={() => (muted ? unmuteCurrentCall() : muteCurrentCall())}\n data-tooltip-id='tooltip-mute'\n data-tooltip-content={muted ? `${t('Tooltip.Unmute')}` : `${t('Tooltip.Mute')}`}\n >\n {muted ? (\n <FontAwesomeIcon size='xl' icon={faMicrophoneSlash} />\n ) : (\n <FontAwesomeIcon size='xl' icon={faMicrophone} />\n )}\n </Button>\n )}\n\n {!(intrudeListenStatus.isIntrude || intrudeListenStatus.isListen) && (\n <Button\n active={transferring}\n onClick={transferring ? cancelTransfer : transfer}\n variant='default'\n data-tooltip-id='tooltip-transfer'\n data-tooltip-content={\n transferring ? `${t('Tooltip.Cancel transfer')}` : `${t('Tooltip.Transfer')}`\n }\n >\n {transferring ? (\n <FontAwesomeIcon className='' size='xl' icon={faArrowDownUpAcrossLine} />\n ) : (\n <FontAwesomeIcon size='xl' className='pi-rotate-90' icon={faArrowRightArrowLeft} />\n )}\n </Button>\n )}\n\n {!(intrudeListenStatus.isIntrude || intrudeListenStatus.isListen) && (\n <Button\n active={actionsExpanded}\n variant='transparent'\n onClick={() => toggleActionsExpanded()}\n data-tooltip-id='tooltip-expand'\n data-tooltip-content={\n actionsExpanded ? `${t('Tooltip.Collapse')}` : `${t('Tooltip.Expand')}`\n }\n >\n {actionsExpanded ? (\n <FontAwesomeIcon\n className='pi-text-gray-700 dark:pi-text-gray-100'\n size='xl'\n icon={faChevronUp}\n />\n ) : (\n <FontAwesomeIcon\n size='xl'\n className='pi-text-gray-700 dark:pi-text-gray-100'\n icon={faChevronDown}\n />\n )}\n </Button>\n )}\n </div>\n {/* Actions expanded section */}\n {actionsExpanded ? (\n <>\n {' '}\n <div className='pi-grid pi-grid-cols-4 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center'>\n <Button\n active={view === 'keypad'}\n variant='default'\n onClick={openKeypad}\n data-tooltip-id='tooltip-keyboard'\n data-tooltip-content={t('Tooltip.Keyboard') || ''}\n >\n <FontAwesomeIcon size='xl' icon={faGridRound} />\n </Button>\n <Button\n active={isRecording}\n data-stop-propagation={true}\n variant='default'\n onClick={() => recordCurrentCall(isRecording)}\n data-tooltip-id='tooltip-record'\n data-tooltip-content={\n isRecording ? t('Tooltip.Stop recording') || '' : t('Tooltip.Record') || ''\n }\n >\n {isRecording ? (\n <FontAwesomeIcon icon={faStop} size='xl' />\n ) : (\n <div className='custom-circle-dot-wrapper' data-stop-propagation={true}>\n <FontAwesomeIcon icon={faCircleDot} />\n <FontAwesomeIcon icon={faCircle} className='inner-dot' />\n </div>\n )}\n </Button>\n <Button\n active={parked}\n variant='default'\n onClick={parkCurrentCall}\n data-tooltip-id='tooltip-park'\n data-tooltip-content={t('Tooltip.Park') || ''}\n >\n <FontAwesomeIcon size='xl' icon={faSquareParking} />\n </Button>\n {transferring && <TransferActions />}\n </div>\n </>\n ) : (\n <></>\n )}\n {/* Buttons tooltips */}\n <Tooltip className='pi-z-20' id='tooltip-transfer' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-pause' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-mute' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-expand' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-keyboard' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-record' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-park' place='bottom' />\n </>\n )\n}\n\nexport default Actions\n"],"names":["_a","useSelector","state","currentCall","paused","muted","isRecording","parked","_b","island","view","actionsExpanded","transferring","intrudeListenStatus","listen","dispatch","useDispatch","openKeypad","setIslandView","eventDispatch","transfer","cancelTransfer","isWebRTC","sendDTMF","sendPhysicalDTMF","store","getState","player","audioPlayerPlaying","updateStartAudioPlayer","src","outgoingRingtone","loop","setTimeout","stopAudioPlayer","updateTransferring","useEventListener","toggleActionsExpanded","t","useTranslation","React","createElement","Fragment","className","concat","isListen","isIntrude","Button","variant","active","onClick","unpauseCurrentCall","pauseCurrentCall","FontAwesomeIcon","size","icon","faPlay","faPause","unmuteCurrentCall","muteCurrentCall","faMicrophoneSlash","faMicrophone","faArrowDownUpAcrossLine","faArrowRightArrowLeft","faChevronUp","faChevronDown","faGridRound","recordCurrentCall","faStop","faCircleDot","faCircle","parkCurrentCall","faSquareParking","TransferActions","Tooltip","id","place"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../src/components/CallView/Actions.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport {\n muteCurrentCall,\n unmuteCurrentCall,\n pauseCurrentCall,\n unpauseCurrentCall,\n parkCurrentCall,\n recordCurrentCall,\n} from '../../lib/phone/call'\nimport { Button } from '../'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faPause,\n faPlay,\n faMicrophone,\n faMicrophoneSlash,\n faArrowDownUpAcrossLine,\n faSquareParking,\n faChevronDown,\n faChevronUp,\n faArrowRightArrowLeft,\n faCircleDot,\n faCircle,\n faStop,\n} from '@fortawesome/free-solid-svg-icons'\nimport { faGridRound } from '@nethesis/nethesis-solid-svg-icons'\nimport { RootState, Dispatch } from '../../store'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { sendDTMF } from '../../lib/webrtc/messages'\nimport { store } from '../../store'\nimport outgoingRingtone from '../../static/outgoing_ringtone'\nimport { TransferActions } from '../TransferView'\nimport { Tooltip } from 'react-tooltip'\nimport { useTranslation } from 'react-i18next'\nimport { isWebRTC } from '../../lib/user/default_device'\nimport { sendPhysicalDTMF } from '../../services/astproxy'\nimport { useEventListener, eventDispatch } from '../../utils'\n\nconst Actions: FC = () => {\n // Get multiple values from currentCall store\n const { paused, muted, isRecording } = useSelector((state: RootState) => state.currentCall)\n const parked = useSelector((state: RootState) => state.currentCall.parked)\n\n // Get isOpen and view from island store\n const { view, actionsExpanded } = useSelector((state: RootState) => state.island)\n const transferring = useSelector((state: RootState) => state.currentCall.transferring)\n const intrudeListenStatus = useSelector((state: RootState) => state.listen)\n\n const dispatch = useDispatch<Dispatch>()\n\n function openKeypad() {\n dispatch.island.setIslandView(view !== 'keypad' ? 'keypad' : 'call')\n eventDispatch('phone-island-call-keypad-opened', {})\n }\n useEventListener('phone-island-call-keypad-open', () => {\n openKeypad()\n })\n\n function transfer() {\n // Open the transfer view\n dispatch.island.setIslandView(view !== 'transfer' ? 'transfer' : 'call')\n eventDispatch('phone-island-call-transfer-opened', {})\n }\n useEventListener('phone-island-call-transfer-open', () => {\n transfer()\n })\n useEventListener('phone-island-call-transfer-cancel', () => {\n cancelTransfer()\n })\n\n // Cancels the current transfer through dtmfs\n function cancelTransfer() {\n if (isWebRTC()) {\n sendDTMF('*')\n } else {\n sendPhysicalDTMF('*')\n }\n\n const { audioPlayerPlaying } = store.getState().player\n // Check if the local audio is already playing and start playing\n if (!audioPlayerPlaying) {\n dispatch.player.updateStartAudioPlayer({\n src: outgoingRingtone,\n loop: true,\n })\n }\n setTimeout(() => {\n if (isWebRTC()) {\n sendDTMF('1')\n } else {\n sendPhysicalDTMF('1')\n }\n\n dispatch.player.stopAudioPlayer()\n // The workarround to disable transfer because of the wrong conv.connection value from ws\n if (transferring) {\n setTimeout(() => {\n dispatch.currentCall.updateTransferring(false)\n }, 500)\n }\n\n eventDispatch('phone-island-call-transfer-canceled', {})\n }, 500)\n }\n\n useEventListener('phone-island-call-actions-open', () => {\n dispatch.island.toggleActionsExpanded(true)\n eventDispatch('phone-island-call-actions-opened', {})\n })\n useEventListener('phone-island-call-actions-close', () => {\n dispatch.island.toggleActionsExpanded(false)\n eventDispatch('phone-island-call-actions-closed', {})\n })\n function toggleActionsExpanded() {\n if (actionsExpanded) {\n dispatch.island.toggleActionsExpanded(false)\n eventDispatch('phone-island-call-actions-closed', {})\n } else {\n dispatch.island.toggleActionsExpanded(true)\n eventDispatch('phone-island-call-actions-opened', {})\n }\n }\n\n const { t } = useTranslation()\n // Phone island header section\n return (\n <>\n <div\n className={`${\n !intrudeListenStatus.isListen && !intrudeListenStatus.isIntrude\n ? 'pi-grid pi-grid-cols-4 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center'\n : intrudeListenStatus.isIntrude\n ? 'pi-mb-6 pi-grid pi-grid-cols-1 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center'\n : 'pi-hidden'\n } `}\n >\n {!(intrudeListenStatus.isIntrude || intrudeListenStatus.isListen) && (\n <Button\n variant='default'\n active={paused ? true : false}\n onClick={() => (paused ? unpauseCurrentCall() : pauseCurrentCall())}\n data-tooltip-id='tooltip-pause'\n data-tooltip-content={paused ? `${t('Tooltip.Play')}` : `${t('Tooltip.Pause')}`}\n >\n {paused ? (\n <FontAwesomeIcon size='xl' icon={faPlay} />\n ) : (\n <FontAwesomeIcon size='xl' icon={faPause} />\n )}\n </Button>\n )}\n {!intrudeListenStatus.isListen && (\n <Button\n variant='default'\n active={muted ? true : false}\n onClick={() => (muted ? unmuteCurrentCall() : muteCurrentCall())}\n data-tooltip-id='tooltip-mute'\n data-tooltip-content={muted ? `${t('Tooltip.Unmute')}` : `${t('Tooltip.Mute')}`}\n >\n {muted ? (\n <FontAwesomeIcon size='xl' icon={faMicrophoneSlash} />\n ) : (\n <FontAwesomeIcon size='xl' icon={faMicrophone} />\n )}\n </Button>\n )}\n\n {!(intrudeListenStatus.isIntrude || intrudeListenStatus.isListen) && (\n <Button\n active={transferring}\n onClick={transferring ? cancelTransfer : transfer}\n variant='default'\n data-tooltip-id='tooltip-transfer'\n data-tooltip-content={\n transferring ? `${t('Tooltip.Cancel transfer')}` : `${t('Tooltip.Transfer')}`\n }\n >\n {transferring ? (\n <FontAwesomeIcon className='' size='xl' icon={faArrowDownUpAcrossLine} />\n ) : (\n <FontAwesomeIcon size='xl' className='pi-rotate-90' icon={faArrowRightArrowLeft} />\n )}\n </Button>\n )}\n\n {!(intrudeListenStatus.isIntrude || intrudeListenStatus.isListen) && (\n <Button\n active={actionsExpanded}\n variant='transparent'\n onClick={() => toggleActionsExpanded()}\n data-tooltip-id='tooltip-expand'\n data-tooltip-content={\n actionsExpanded ? `${t('Tooltip.Collapse')}` : `${t('Tooltip.Expand')}`\n }\n >\n {actionsExpanded ? (\n <FontAwesomeIcon\n className='pi-text-gray-700 dark:pi-text-gray-300'\n size='xl'\n icon={faChevronUp}\n />\n ) : (\n <FontAwesomeIcon\n size='xl'\n className='pi-text-gray-700 dark:pi-text-gray-300'\n icon={faChevronDown}\n />\n )}\n </Button>\n )}\n </div>\n {/* Actions expanded section */}\n {actionsExpanded ? (\n <>\n {' '}\n <div className='pi-grid pi-grid-cols-4 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center'>\n <Button\n active={view === 'keypad'}\n variant='default'\n onClick={openKeypad}\n data-tooltip-id='tooltip-keyboard'\n data-tooltip-content={t('Tooltip.Keyboard') || ''}\n >\n <FontAwesomeIcon size='xl' icon={faGridRound} />\n </Button>\n <Button\n active={isRecording}\n data-stop-propagation={true}\n variant='default'\n onClick={() => recordCurrentCall(isRecording)}\n data-tooltip-id='tooltip-record'\n data-tooltip-content={\n isRecording ? t('Tooltip.Stop recording') || '' : t('Tooltip.Record') || ''\n }\n >\n {isRecording ? (\n <FontAwesomeIcon icon={faStop} size='xl' />\n ) : (\n <div className='custom-circle-dot-wrapper' data-stop-propagation={true}>\n <FontAwesomeIcon icon={faCircleDot} className='fa-circle-dot pi-text-white dark:pi-text-red-700' />\n <FontAwesomeIcon icon={faCircle} className='inner-dot pi-text-red-700 dark:pi-text-white' />\n </div>\n )}\n </Button>\n <Button\n active={parked}\n variant='default'\n onClick={parkCurrentCall}\n data-tooltip-id='tooltip-park'\n data-tooltip-content={t('Tooltip.Park') || ''}\n >\n <FontAwesomeIcon size='xl' icon={faSquareParking} />\n </Button>\n {transferring && <TransferActions />}\n </div>\n </>\n ) : (\n <></>\n )}\n {/* Buttons tooltips */}\n <Tooltip className='pi-z-20' id='tooltip-transfer' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-pause' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-mute' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-expand' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-keyboard' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-record' place='bottom' />\n <Tooltip className='pi-z-20' id='tooltip-park' place='bottom' />\n </>\n )\n}\n\nexport default Actions\n"],"names":["_a","useSelector","state","currentCall","paused","muted","isRecording","parked","_b","island","view","actionsExpanded","transferring","intrudeListenStatus","listen","dispatch","useDispatch","openKeypad","setIslandView","eventDispatch","transfer","cancelTransfer","isWebRTC","sendDTMF","sendPhysicalDTMF","store","getState","player","audioPlayerPlaying","updateStartAudioPlayer","src","outgoingRingtone","loop","setTimeout","stopAudioPlayer","updateTransferring","useEventListener","toggleActionsExpanded","t","useTranslation","React","createElement","Fragment","className","concat","isListen","isIntrude","Button","variant","active","onClick","unpauseCurrentCall","pauseCurrentCall","FontAwesomeIcon","size","icon","faPlay","faPause","unmuteCurrentCall","muteCurrentCall","faMicrophoneSlash","faMicrophone","faArrowDownUpAcrossLine","faArrowRightArrowLeft","faChevronUp","faChevronDown","faGridRound","recordCurrentCall","faStop","faCircleDot","faCircle","parkCurrentCall","faSquareParking","TransferActions","Tooltip","id","place"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../../node_modules/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../../node_modules/react-redux/es/index.js");var n=require("../../node_modules/framer-motion/dist/es/render/dom/motion.mjs.js"),t=require("../../node_modules/react-redux/es/hooks/useSelector.js");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=r(e),a={open:{width:"48px",height:"48px",borderRadius:"12px"},closed:{width:"24px",height:"24px",borderRadius:"6px"}};exports.default=function(){var e,r,o=t.useSelector((function(e){return e.currentCall})).username,u=t.useSelector((function(e){return e.avatars})).avatars,l=t.useSelector((function(e){return e.island})).isOpen,s=t.useSelector((function(e){return e.currentCall})),d=s.incoming,c=s.outgoing,p=s.accepted,m=s.transferring,v=t.useSelector((function(e){return e.currentCall})),g=t.useSelector((function(e){return e.users}));return i.default.createElement(i.default.Fragment,null,i.default.createElement(n.motion.div,{className:"pi-relative",animate:l?"open":"closed",variants:a},(d||c&&!p)&&i.default.createElement(n.motion.div,{style:{animationDuration:"2s"},animate:l?"open":"closed",variants:a,className:"pi-rounded-xl pi-bg-gray-600 pi-absolute pi-opacity-60 pi-top-0 pi-left-0 pi-animate-ping pi-h-12 pi-w-12"}),m?i.default.createElement(n.motion.div,{className:"pi-relative pi-z-30 pi-h-12 pi-w-12 pi-bg-gray-300 pi-rounded-sm pi-bg-cover",style:{backgroundImage:"url(".concat(u&&g&&(null==g?void 0:g.extensions)&&u[null===(e=null==g?void 0:g.extensions[null==v?void 0:v.number])||void 0===e?void 0:e.username]&&u[null===(r=null==g?void 0:g.extensions[null==v?void 0:v.number])||void 0===r?void 0:r.username],")"),backgroundRepeat:"no-repeat",backgroundSize:"contain"},animate:l?"open":"closed",variants:a}):i.default.createElement(n.motion.div,{className:"pi-relative pi-z-30 pi-h-12 pi-w-12 pi-bg-gray-300 pi-rounded-sm pi-bg-cover",style:{backgroundImage:"url(".concat(u&&u[o]&&u[o],")"),backgroundRepeat:"no-repeat",backgroundSize:"contain"},animate:l?"open":"closed",variants:a})))};
|
|
2
2
|
//# sourceMappingURL=Avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sources":["../../../src/components/CallView/Avatar.tsx"],"sourcesContent":["// Copyright (C)
|
|
1
|
+
{"version":3,"file":"Avatar.js","sources":["../../../src/components/CallView/Avatar.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport { motion } from 'framer-motion'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../store'\n\nconst iconVariants = {\n open: {\n width: '48px',\n height: '48px',\n borderRadius: '12px',\n },\n closed: {\n width: '24px',\n height: '24px',\n borderRadius: '6px',\n },\n}\n\nconst Avatar: FC = () => {\n // Get multiple values from currentCall store\n const { username } = useSelector((state: RootState) => state.currentCall)\n\n // Get avatars from avatars store\n const { avatars } = useSelector((state: RootState) => state.avatars)\n\n // Get isOpen from island store\n const { isOpen } = useSelector((state: RootState) => state.island)\n\n // Get multiple values from currentCall store\n const { incoming, outgoing, accepted, transferring } = useSelector(\n (state: RootState) => state.currentCall,\n )\n const currentCallDetails: any = useSelector((state: RootState) => state.currentCall)\n const user = useSelector((state: RootState) => state.users)\n\n return (\n <>\n <motion.div\n className='pi-relative'\n animate={isOpen ? 'open' : 'closed'}\n variants={iconVariants}\n >\n {(incoming || (outgoing && !accepted)) && (\n // The background pulse effect\n <motion.div\n style={{\n animationDuration: '2s',\n }}\n animate={isOpen ? 'open' : 'closed'}\n variants={iconVariants}\n className={`pi-rounded-xl pi-bg-gray-600 pi-absolute pi-opacity-60 pi-top-0 pi-left-0 pi-animate-ping pi-h-12 pi-w-12`}\n ></motion.div>\n )}\n {!transferring ? (\n <motion.div\n className='pi-relative pi-z-30 pi-h-12 pi-w-12 pi-bg-gray-300 pi-rounded-sm pi-bg-cover'\n style={{\n backgroundImage: `url(${avatars && avatars[username] && avatars[username]})`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'contain',\n }}\n animate={isOpen ? 'open' : 'closed'}\n variants={iconVariants}\n />\n ) : (\n <motion.div\n className='pi-relative pi-z-30 pi-h-12 pi-w-12 pi-bg-gray-300 pi-rounded-sm pi-bg-cover'\n style={{\n backgroundImage: `url(${\n avatars &&\n user &&\n user?.extensions &&\n avatars[user?.extensions[currentCallDetails?.number]?.username] &&\n avatars[user?.extensions[currentCallDetails?.number]?.username]\n })`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'contain',\n }}\n animate={isOpen ? 'open' : 'closed'}\n variants={iconVariants}\n />\n )}\n </motion.div>\n </>\n )\n}\n\nexport default Avatar\n"],"names":["iconVariants","open","width","height","borderRadius","closed","username","useSelector","state","currentCall","avatars","isOpen","island","_c","incoming","outgoing","accepted","transferring","currentCallDetails","user","users","React","createElement","Fragment","motion","div","className","animate","variants","style","animationDuration","backgroundImage","extensions","number","_a","_b","backgroundRepeat","backgroundSize","concat"],"mappings":"2XAQMA,EAAe,CACnBC,KAAM,CACJC,MAAO,OACPC,OAAQ,OACRC,aAAc,QAEhBC,OAAQ,CACNH,MAAO,OACPC,OAAQ,OACRC,aAAc,wBAIC,mBAETE,EAAaC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,wBAGrDC,EAAYH,eAAY,SAACC,GAAqB,OAAAA,EAAME,mBAGpDC,EAAWJ,eAAY,SAACC,GAAqB,OAAAA,EAAMI,iBAGrDC,EAAiDN,eACrD,SAACC,GAAqB,OAAAA,EAAMC,eADtBK,EAAQD,EAAAC,SAAEC,EAAQF,EAAAE,SAAEC,EAAQH,EAAAG,SAAEC,EAAYJ,EAAAI,aAG5CC,EAA0BX,EAAWA,aAAC,SAACC,GAAqB,OAAAA,EAAMC,WAAN,IAC5DU,EAAOZ,EAAWA,aAAC,SAACC,GAAqB,OAAAA,EAAMY,KAAN,IAE/C,OACEC,UAAAC,cAAAD,EAAA,QAAAE,SAAA,KACEF,EAAAA,QAACC,cAAAE,EAAAA,OAAOC,IAAG,CACTC,UAAU,cACVC,QAAShB,EAAS,OAAS,SAC3BiB,SAAU5B,IAERc,GAAaC,IAAaC,IAE1BK,EAAAA,QAAAC,cAACE,EAAAA,OAAOC,IAAG,CACTI,MAAO,CACLC,kBAAmB,MAErBH,QAAShB,EAAS,OAAS,SAC3BiB,SAAU5B,EACV0B,UAAW,8GAGbT,EAYAI,EAAAA,sBAACG,EAAAA,OAAOC,IAAG,CACTC,UAAU,+EACVG,MAAO,CACLE,gBAAiB,cACfrB,GACAS,IACAA,aAAI,EAAJA,EAAMa,aACNtB,EAAoD,UAA5CS,aAAA,EAAAA,EAAMa,WAAWd,eAAAA,EAAoBe,eAAO,IAAAC,OAAA,EAAAA,EAAE5B,WACtDI,EAAoD,UAA5CS,aAAA,EAAAA,EAAMa,WAAWd,eAAAA,EAAoBe,eAAO,IAAAE,OAAA,EAAAA,EAAE7B,UACrD,KACH8B,iBAAkB,YAClBC,eAAgB,WAElBV,QAAShB,EAAS,OAAS,SAC3BiB,SAAU5B,IAzBZqB,EAAC,QAAAC,cAAAE,EAAAA,OAAOC,KACNC,UAAU,+EACVG,MAAO,CACLE,gBAAiB,OAAAO,OAAO5B,GAAWA,EAAQJ,IAAaI,EAAQJ,GAAY,KAC5E8B,iBAAkB,YAClBC,eAAgB,WAElBV,QAAShB,EAAS,OAAS,SAC3BiB,SAAU5B,KAuBtB"}
|