diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/acorn b/MEDICONNECTv3 - cópia/node_modules/.bin/acorn index cf7676038..679bd163c 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/acorn +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/acorn @@ -1 +1,16 @@ -../acorn/bin/acorn \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../acorn/bin/acorn" "$@" +else + exec node "$basedir/../acorn/bin/acorn" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/acorn.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/acorn.cmd new file mode 100644 index 000000000..a9324df95 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/acorn.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\acorn\bin\acorn" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/acorn.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/acorn.ps1 new file mode 100644 index 000000000..6f6dcddf3 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/acorn.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args + } else { + & "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../acorn/bin/acorn" $args + } else { + & "node$exe" "$basedir/../acorn/bin/acorn" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer b/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer index e876d81c3..2d2ee7011 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer @@ -1 +1,16 @@ -../autoprefixer/bin/autoprefixer \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../autoprefixer/bin/autoprefixer" "$@" +else + exec node "$basedir/../autoprefixer/bin/autoprefixer" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer.cmd new file mode 100644 index 000000000..7ed417d4e --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\autoprefixer\bin\autoprefixer" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer.ps1 new file mode 100644 index 000000000..b0f0b6f7c --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/autoprefixer.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args + } else { + & "$basedir/node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args + } else { + & "node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist b/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist index 3cd991b25..60e71ad87 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist @@ -1 +1,16 @@ -../browserslist/cli.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../browserslist/cli.js" "$@" +else + exec node "$basedir/../browserslist/cli.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist.cmd new file mode 100644 index 000000000..f93c251ea --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\browserslist\cli.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist.ps1 new file mode 100644 index 000000000..01e10a08b --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/browserslist.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../browserslist/cli.js" $args + } else { + & "node$exe" "$basedir/../browserslist/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc b/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc index 487b68908..5dd9699c8 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc @@ -1 +1,16 @@ -../cssesc/bin/cssesc \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../cssesc/bin/cssesc" "$@" +else + exec node "$basedir/../cssesc/bin/cssesc" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc.cmd new file mode 100644 index 000000000..b560b42b4 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\cssesc\bin\cssesc" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc.ps1 new file mode 100644 index 000000000..480aa17f8 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/cssesc.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../cssesc/bin/cssesc" $args + } else { + & "$basedir/node$exe" "$basedir/../cssesc/bin/cssesc" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../cssesc/bin/cssesc" $args + } else { + & "node$exe" "$basedir/../cssesc/bin/cssesc" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild b/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild index c83ac0707..63bb6d40f 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild @@ -1 +1,16 @@ -../esbuild/bin/esbuild \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@" +else + exec node "$basedir/../esbuild/bin/esbuild" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild.cmd new file mode 100644 index 000000000..cc920c59f --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esbuild\bin\esbuild" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild.ps1 new file mode 100644 index 000000000..81ffbf9c3 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/esbuild.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args + } else { + & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../esbuild/bin/esbuild" $args + } else { + & "node$exe" "$basedir/../esbuild/bin/esbuild" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/eslint b/MEDICONNECTv3 - cópia/node_modules/.bin/eslint index 810e4bcb3..d450ee1f9 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/eslint +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/eslint @@ -1 +1,16 @@ -../eslint/bin/eslint.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../eslint/bin/eslint.js" "$@" +else + exec node "$basedir/../eslint/bin/eslint.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/eslint.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/eslint.cmd new file mode 100644 index 000000000..032901a59 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/eslint.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\eslint\bin\eslint.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/eslint.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/eslint.ps1 new file mode 100644 index 000000000..155bec495 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/eslint.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../eslint/bin/eslint.js" $args + } else { + & "$basedir/node$exe" "$basedir/../eslint/bin/eslint.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../eslint/bin/eslint.js" $args + } else { + & "node$exe" "$basedir/../eslint/bin/eslint.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/glob b/MEDICONNECTv3 - cópia/node_modules/.bin/glob index 85c9c1db3..6fbc4bb8c 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/glob +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/glob @@ -1 +1,16 @@ -../glob/dist/esm/bin.mjs \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../glob/dist/esm/bin.mjs" "$@" +else + exec node "$basedir/../glob/dist/esm/bin.mjs" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/glob.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/glob.cmd new file mode 100644 index 000000000..3c1d48a5d --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/glob.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\glob\dist\esm\bin.mjs" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/glob.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/glob.ps1 new file mode 100644 index 000000000..71ac2b20e --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/glob.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../glob/dist/esm/bin.mjs" $args + } else { + & "$basedir/node$exe" "$basedir/../glob/dist/esm/bin.mjs" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../glob/dist/esm/bin.mjs" $args + } else { + & "node$exe" "$basedir/../glob/dist/esm/bin.mjs" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/jiti b/MEDICONNECTv3 - cópia/node_modules/.bin/jiti index 031ee3fde..4b9f4a770 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/jiti +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/jiti @@ -1 +1,16 @@ -../jiti/bin/jiti.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../jiti/bin/jiti.js" "$@" +else + exec node "$basedir/../jiti/bin/jiti.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/jiti.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/jiti.cmd new file mode 100644 index 000000000..e54ba7dee --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/jiti.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\jiti\bin\jiti.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/jiti.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/jiti.ps1 new file mode 100644 index 000000000..44b2f0ca3 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/jiti.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../jiti/bin/jiti.js" $args + } else { + & "$basedir/node$exe" "$basedir/../jiti/bin/jiti.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../jiti/bin/jiti.js" $args + } else { + & "node$exe" "$basedir/../jiti/bin/jiti.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml b/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml index 9dbd010d4..82416ef1f 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml @@ -1 +1,16 @@ -../js-yaml/bin/js-yaml.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../js-yaml/bin/js-yaml.js" "$@" +else + exec node "$basedir/../js-yaml/bin/js-yaml.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml.cmd new file mode 100644 index 000000000..453312b6d --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\js-yaml\bin\js-yaml.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml.ps1 new file mode 100644 index 000000000..2acfc61c3 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/js-yaml.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args + } else { + & "$basedir/node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args + } else { + & "node$exe" "$basedir/../js-yaml/bin/js-yaml.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc b/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc index 7237604c3..879c41331 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc @@ -1 +1,16 @@ -../jsesc/bin/jsesc \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@" +else + exec node "$basedir/../jsesc/bin/jsesc" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc.cmd new file mode 100644 index 000000000..eb41110f6 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\jsesc\bin\jsesc" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc.ps1 new file mode 100644 index 000000000..6007e022f --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/jsesc.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../jsesc/bin/jsesc" $args + } else { + & "$basedir/node$exe" "$basedir/../jsesc/bin/jsesc" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../jsesc/bin/jsesc" $args + } else { + & "node$exe" "$basedir/../jsesc/bin/jsesc" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/json5 b/MEDICONNECTv3 - cópia/node_modules/.bin/json5 index 217f37981..abf72a4ec 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/json5 +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/json5 @@ -1 +1,16 @@ -../json5/lib/cli.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@" +else + exec node "$basedir/../json5/lib/cli.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/json5.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/json5.cmd new file mode 100644 index 000000000..95c137fe0 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/json5.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\json5\lib\cli.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/json5.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/json5.ps1 new file mode 100644 index 000000000..8700ddbef --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/json5.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../json5/lib/cli.js" $args + } else { + & "node$exe" "$basedir/../json5/lib/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify b/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify index ed9009c5a..076f91b17 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify @@ -1 +1,16 @@ -../loose-envify/cli.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../loose-envify/cli.js" "$@" +else + exec node "$basedir/../loose-envify/cli.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify.cmd new file mode 100644 index 000000000..599576f93 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\loose-envify\cli.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify.ps1 new file mode 100644 index 000000000..eb866fcaf --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/loose-envify.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../loose-envify/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../loose-envify/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../loose-envify/cli.js" $args + } else { + & "node$exe" "$basedir/../loose-envify/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid b/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid index e2be547bc..46220bdb5 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid @@ -1 +1,16 @@ -../nanoid/bin/nanoid.cjs \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@" +else + exec node "$basedir/../nanoid/bin/nanoid.cjs" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid.cmd new file mode 100644 index 000000000..9c40107c0 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nanoid\bin\nanoid.cjs" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid.ps1 new file mode 100644 index 000000000..d8a4d7ad2 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/nanoid.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args + } else { + & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args + } else { + & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/node-which b/MEDICONNECTv3 - cópia/node_modules/.bin/node-which index 6f8415ec5..b49b03f7d 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/node-which +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/node-which @@ -1 +1,16 @@ -../which/bin/node-which \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../which/bin/node-which" "$@" +else + exec node "$basedir/../which/bin/node-which" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/node-which.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/node-which.cmd new file mode 100644 index 000000000..8738aed88 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/node-which.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\which\bin\node-which" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/node-which.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/node-which.ps1 new file mode 100644 index 000000000..cfb09e844 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/node-which.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../which/bin/node-which" $args + } else { + & "$basedir/node$exe" "$basedir/../which/bin/node-which" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../which/bin/node-which" $args + } else { + & "node$exe" "$basedir/../which/bin/node-which" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/parser b/MEDICONNECTv3 - cópia/node_modules/.bin/parser index ce7bf97ef..7696ad41d 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/parser +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/parser @@ -1 +1,16 @@ -../@babel/parser/bin/babel-parser.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@" +else + exec node "$basedir/../@babel/parser/bin/babel-parser.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/parser.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/parser.cmd new file mode 100644 index 000000000..1ad5c81c2 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/parser.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@babel\parser\bin\babel-parser.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/parser.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/parser.ps1 new file mode 100644 index 000000000..8926517b4 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/parser.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args + } else { + & "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args + } else { + & "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/resolve b/MEDICONNECTv3 - cópia/node_modules/.bin/resolve index b6afda6c7..c043cba00 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/resolve +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/resolve @@ -1 +1,16 @@ -../resolve/bin/resolve \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../resolve/bin/resolve" "$@" +else + exec node "$basedir/../resolve/bin/resolve" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/resolve.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/resolve.cmd new file mode 100644 index 000000000..1a017c403 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/resolve.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\resolve\bin\resolve" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/resolve.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/resolve.ps1 new file mode 100644 index 000000000..f22b2d317 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/resolve.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../resolve/bin/resolve" $args + } else { + & "$basedir/node$exe" "$basedir/../resolve/bin/resolve" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../resolve/bin/resolve" $args + } else { + & "node$exe" "$basedir/../resolve/bin/resolve" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/rollup b/MEDICONNECTv3 - cópia/node_modules/.bin/rollup index 5939621ca..998fc164c 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/rollup +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/rollup @@ -1 +1,16 @@ -../rollup/dist/bin/rollup \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../rollup/dist/bin/rollup" "$@" +else + exec node "$basedir/../rollup/dist/bin/rollup" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/rollup.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/rollup.cmd new file mode 100644 index 000000000..b3f110b3e --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/rollup.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rollup\dist\bin\rollup" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/rollup.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/rollup.ps1 new file mode 100644 index 000000000..10f657d72 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/rollup.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../rollup/dist/bin/rollup" $args + } else { + & "$basedir/node$exe" "$basedir/../rollup/dist/bin/rollup" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../rollup/dist/bin/rollup" $args + } else { + & "node$exe" "$basedir/../rollup/dist/bin/rollup" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/semver b/MEDICONNECTv3 - cópia/node_modules/.bin/semver index 5aaadf42c..97c53279f 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/semver +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/semver @@ -1 +1,16 @@ -../semver/bin/semver.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@" +else + exec node "$basedir/../semver/bin/semver.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/semver.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/semver.cmd new file mode 100644 index 000000000..9913fa9d0 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/semver.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\semver\bin\semver.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/semver.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/semver.ps1 new file mode 100644 index 000000000..314717ad4 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/semver.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args + } else { + & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../semver/bin/semver.js" $args + } else { + & "node$exe" "$basedir/../semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase index 0ac7e775b..6c58a2e44 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase @@ -1 +1,16 @@ -../sucrase/bin/sucrase \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../sucrase/bin/sucrase" "$@" +else + exec node "$basedir/../sucrase/bin/sucrase" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node index 8b96fae25..fb3bb6c25 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node @@ -1 +1,16 @@ -../sucrase/bin/sucrase-node \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../sucrase/bin/sucrase-node" "$@" +else + exec node "$basedir/../sucrase/bin/sucrase-node" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node.cmd new file mode 100644 index 000000000..7319f3ab0 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\sucrase\bin\sucrase-node" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node.ps1 new file mode 100644 index 000000000..9ec0672bb --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase-node.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../sucrase/bin/sucrase-node" $args + } else { + & "$basedir/node$exe" "$basedir/../sucrase/bin/sucrase-node" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../sucrase/bin/sucrase-node" $args + } else { + & "node$exe" "$basedir/../sucrase/bin/sucrase-node" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase.cmd new file mode 100644 index 000000000..3cd8928be --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\sucrase\bin\sucrase" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase.ps1 new file mode 100644 index 000000000..667bb8408 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/sucrase.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../sucrase/bin/sucrase" $args + } else { + & "$basedir/node$exe" "$basedir/../sucrase/bin/sucrase" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../sucrase/bin/sucrase" $args + } else { + & "node$exe" "$basedir/../sucrase/bin/sucrase" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind index d49779753..e475d32ea 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind @@ -1 +1,16 @@ -../tailwindcss/lib/cli.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../tailwindcss/lib/cli.js" "$@" +else + exec node "$basedir/../tailwindcss/lib/cli.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind.cmd new file mode 100644 index 000000000..338176a8c --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\tailwindcss\lib\cli.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind.ps1 new file mode 100644 index 000000000..5d60befa4 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwind.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../tailwindcss/lib/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../tailwindcss/lib/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../tailwindcss/lib/cli.js" $args + } else { + & "node$exe" "$basedir/../tailwindcss/lib/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss index d49779753..e475d32ea 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss @@ -1 +1,16 @@ -../tailwindcss/lib/cli.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../tailwindcss/lib/cli.js" "$@" +else + exec node "$basedir/../tailwindcss/lib/cli.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss.cmd new file mode 100644 index 000000000..338176a8c --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\tailwindcss\lib\cli.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss.ps1 new file mode 100644 index 000000000..5d60befa4 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tailwindcss.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../tailwindcss/lib/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../tailwindcss/lib/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../tailwindcss/lib/cli.js" $args + } else { + & "node$exe" "$basedir/../tailwindcss/lib/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tsc b/MEDICONNECTv3 - cópia/node_modules/.bin/tsc index 0863208a6..c4864b9a0 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/tsc +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tsc @@ -1 +1,16 @@ -../typescript/bin/tsc \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@" +else + exec node "$basedir/../typescript/bin/tsc" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tsc.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/tsc.cmd new file mode 100644 index 000000000..40bf12845 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tsc.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\typescript\bin\tsc" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tsc.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/tsc.ps1 new file mode 100644 index 000000000..112413b58 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tsc.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args + } else { + & "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../typescript/bin/tsc" $args + } else { + & "node$exe" "$basedir/../typescript/bin/tsc" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver b/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver index f8f8f1a0c..6c19ce3d4 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver @@ -1 +1,16 @@ -../typescript/bin/tsserver \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@" +else + exec node "$basedir/../typescript/bin/tsserver" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver.cmd new file mode 100644 index 000000000..57f851fd7 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\typescript\bin\tsserver" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver.ps1 new file mode 100644 index 000000000..249f417d2 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/tsserver.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsserver" $args + } else { + & "$basedir/node$exe" "$basedir/../typescript/bin/tsserver" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../typescript/bin/tsserver" $args + } else { + & "node$exe" "$basedir/../typescript/bin/tsserver" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db b/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db index b11e16f3d..cced63c46 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db @@ -1 +1,16 @@ -../update-browserslist-db/cli.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../update-browserslist-db/cli.js" "$@" +else + exec node "$basedir/../update-browserslist-db/cli.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db.cmd new file mode 100644 index 000000000..2e14905fb --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\update-browserslist-db\cli.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db.ps1 new file mode 100644 index 000000000..7abdf26da --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/update-browserslist-db.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../update-browserslist-db/cli.js" $args + } else { + & "node$exe" "$basedir/../update-browserslist-db/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/uuid b/MEDICONNECTv3 - cópia/node_modules/.bin/uuid index 24f4a5f64..25cbae664 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/uuid +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/uuid @@ -1 +1,16 @@ -../uuid/dist/esm/bin/uuid \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../uuid/dist/esm/bin/uuid" "$@" +else + exec node "$basedir/../uuid/dist/esm/bin/uuid" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/uuid.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/uuid.cmd new file mode 100644 index 000000000..3debc70db --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/uuid.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\uuid\dist\esm\bin\uuid" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/uuid.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/uuid.ps1 new file mode 100644 index 000000000..14f6846c3 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/uuid.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args + } else { + & "$basedir/node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args + } else { + & "node$exe" "$basedir/../uuid/dist/esm/bin/uuid" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/vite b/MEDICONNECTv3 - cópia/node_modules/.bin/vite index 6d1e3beaf..014463f96 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/vite +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/vite @@ -1 +1,16 @@ -../vite/bin/vite.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@" +else + exec node "$basedir/../vite/bin/vite.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/vite.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/vite.cmd new file mode 100644 index 000000000..f62e966dc --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/vite.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\vite\bin\vite.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/vite.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/vite.ps1 new file mode 100644 index 000000000..a7759bcf2 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/vite.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args + } else { + & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../vite/bin/vite.js" $args + } else { + & "node$exe" "$basedir/../vite/bin/vite.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/yaml b/MEDICONNECTv3 - cópia/node_modules/.bin/yaml index 036832479..c68b081f7 120000 --- a/MEDICONNECTv3 - cópia/node_modules/.bin/yaml +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/yaml @@ -1 +1,16 @@ -../yaml/bin.mjs \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../yaml/bin.mjs" "$@" +else + exec node "$basedir/../yaml/bin.mjs" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/yaml.cmd b/MEDICONNECTv3 - cópia/node_modules/.bin/yaml.cmd new file mode 100644 index 000000000..f76090fc6 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/yaml.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\yaml\bin.mjs" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/.bin/yaml.ps1 b/MEDICONNECTv3 - cópia/node_modules/.bin/yaml.ps1 new file mode 100644 index 000000000..682058284 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/.bin/yaml.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../yaml/bin.mjs" $args + } else { + & "$basedir/node$exe" "$basedir/../yaml/bin.mjs" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../yaml/bin.mjs" $args + } else { + & "node$exe" "$basedir/../yaml/bin.mjs" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/.package-lock.json b/MEDICONNECTv3 - cópia/node_modules/.package-lock.json index 5f1695c14..8beb6898f 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.package-lock.json +++ b/MEDICONNECTv3 - cópia/node_modules/.package-lock.json @@ -324,6 +324,22 @@ "node": ">=12" } }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.9.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", @@ -686,6 +702,19 @@ "darwin" ] }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.50.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.1.tgz", + "integrity": "sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@swc/core": { "version": "1.13.5", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.5.tgz", @@ -740,6 +769,22 @@ "node": ">=10" } }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.13.5.tgz", + "integrity": "sha512-YrKdMVxbYmlfybCSbRtrilc6UA8GF5aPmGKBdPvjrarvsmf4i7ZHGCEnLtfOMd3Lwbs2WUZq3WdMbozYeLU93Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, "node_modules/@swc/counter": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", @@ -1470,6 +1515,15 @@ "node": ">= 6" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3058,6 +3112,19 @@ "react-dom": ">=16.8" } }, + "node_modules/react-toastify": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", + "integrity": "sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA==", + "license": "MIT", + "dependencies": { + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": "^18 || ^19", + "react-dom": "^18 || ^19" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", diff --git a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/_metadata.json b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/_metadata.json index 26286f752..903bd96ce 100644 --- a/MEDICONNECTv3 - cópia/node_modules/.vite/deps/_metadata.json +++ b/MEDICONNECTv3 - cópia/node_modules/.vite/deps/_metadata.json @@ -1,61 +1,61 @@ { - "hash": "0c0f2036", - "configHash": "1f6d6fd4", + "hash": "01152b3f", + "configHash": "09061cad", "lockfileHash": "0e37ce26", - "browserHash": "58809c20", + "browserHash": "053fe339", "optimized": { "react/jsx-dev-runtime": { "src": "../../react/jsx-dev-runtime.js", "file": "react_jsx-dev-runtime.js", - "fileHash": "d6da5053", + "fileHash": "e7c259f8", "needsInterop": true }, "@lumi.new/sdk": { "src": "../../@lumi.new/sdk/dist/index.mjs", "file": "@lumi__new_sdk.js", - "fileHash": "ca5d3c71", + "fileHash": "c8468c3a", "needsInterop": false }, "date-fns": { "src": "../../date-fns/esm/index.js", "file": "date-fns.js", - "fileHash": "17b9c8bc", + "fileHash": "4e145f3e", "needsInterop": false }, "date-fns/locale": { "src": "../../date-fns/esm/locale/index.js", "file": "date-fns_locale.js", - "fileHash": "ed8c460a", + "fileHash": "2c94c4aa", "needsInterop": false }, "react": { "src": "../../react/index.js", "file": "react.js", - "fileHash": "949d80a2", + "fileHash": "91991167", "needsInterop": true }, "react-dom/client": { "src": "../../react-dom/client.js", "file": "react-dom_client.js", - "fileHash": "054a8dbb", + "fileHash": "e3b37a76", "needsInterop": true }, "react-hot-toast": { "src": "../../react-hot-toast/dist/index.mjs", "file": "react-hot-toast.js", - "fileHash": "56677f82", + "fileHash": "f4057697", "needsInterop": false }, "react-router-dom": { "src": "../../react-router-dom/dist/index.js", "file": "react-router-dom.js", - "fileHash": "562311cc", + "fileHash": "ce9ffef2", "needsInterop": false }, "react/jsx-runtime": { "src": "../../react/jsx-runtime.js", "file": "react_jsx-runtime.js", - "fileHash": "5c0c0f94", + "fileHash": "ea94a660", "needsInterop": true } }, diff --git a/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/README.md b/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/README.md new file mode 100644 index 000000000..a99ee7cf8 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/README.md @@ -0,0 +1,3 @@ +# esbuild + +This is the Windows 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details. diff --git a/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/esbuild.exe b/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/esbuild.exe new file mode 100644 index 000000000..000370fe4 Binary files /dev/null and b/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/esbuild.exe differ diff --git a/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/package.json b/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/package.json new file mode 100644 index 000000000..94abf8c99 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/@esbuild/win32-x64/package.json @@ -0,0 +1,20 @@ +{ + "name": "@esbuild/win32-x64", + "version": "0.21.5", + "description": "The Windows 64-bit binary for esbuild, a JavaScript bundler.", + "repository": { + "type": "git", + "url": "git+https://github.com/evanw/esbuild.git" + }, + "license": "MIT", + "preferUnplugged": true, + "engines": { + "node": ">=12" + }, + "os": [ + "win32" + ], + "cpu": [ + "x64" + ] +} diff --git a/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/README.md b/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/README.md new file mode 100644 index 000000000..7382dbc4f --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/README.md @@ -0,0 +1,3 @@ +# `@rollup/rollup-win32-x64-msvc` + +This is the **x86_64-pc-windows-msvc** binary for `rollup` diff --git a/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/package.json b/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/package.json new file mode 100644 index 000000000..c7aa663e1 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/package.json @@ -0,0 +1,19 @@ +{ + "name": "@rollup/rollup-win32-x64-msvc", + "version": "4.50.1", + "os": [ + "win32" + ], + "cpu": [ + "x64" + ], + "files": [ + "rollup.win32-x64-msvc.node" + ], + "description": "Native bindings for Rollup", + "author": "Lukas Taegert-Atkinson", + "homepage": "https://rollupjs.org/", + "license": "MIT", + "repository": "rollup/rollup", + "main": "./rollup.win32-x64-msvc.node" +} \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node b/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node new file mode 100644 index 000000000..e54f31bae Binary files /dev/null and b/MEDICONNECTv3 - cópia/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node differ diff --git a/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/README.md b/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/README.md new file mode 100644 index 000000000..e1f65857d --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/README.md @@ -0,0 +1,3 @@ +# `@swc/core-win32-x64-msvc` + +This is the **x86_64-pc-windows-msvc** binary for `@swc/core` diff --git a/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/package.json b/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/package.json new file mode 100644 index 000000000..e05180c12 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/package.json @@ -0,0 +1,42 @@ +{ + "name": "@swc/core-win32-x64-msvc", + "version": "1.13.5", + "os": [ + "win32" + ], + "cpu": [ + "x64" + ], + "main": "swc.win32-x64-msvc.node", + "files": [ + "swc.win32-x64-msvc.node", + "swc.exe" + ], + "description": "Super-fast alternative for babel", + "keywords": [ + "swc", + "swcpack", + "babel", + "typescript", + "rust", + "webpack", + "tsc" + ], + "author": "강동윤 ", + "homepage": "https://swc.rs", + "license": "Apache-2.0 AND MIT", + "engines": { + "node": ">=10" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/swc-project/swc.git" + }, + "bugs": { + "url": "https://github.com/swc-project/swc/issues" + } +} \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/swc.win32-x64-msvc.node b/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/swc.win32-x64-msvc.node new file mode 100644 index 000000000..edd1e7b1d Binary files /dev/null and b/MEDICONNECTv3 - cópia/node_modules/@swc/core-win32-x64-msvc/swc.win32-x64-msvc.node differ diff --git a/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver b/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver index 5aaadf42c..97c53279f 120000 --- a/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver +++ b/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver @@ -1 +1,16 @@ -../semver/bin/semver.js \ No newline at end of file +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@" +else + exec node "$basedir/../semver/bin/semver.js" "$@" +fi diff --git a/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver.cmd b/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver.cmd new file mode 100644 index 000000000..9913fa9d0 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\semver\bin\semver.js" %* diff --git a/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver.ps1 b/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver.ps1 new file mode 100644 index 000000000..314717ad4 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args + } else { + & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../semver/bin/semver.js" $args + } else { + & "node$exe" "$basedir/../semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/MEDICONNECTv3 - cópia/node_modules/clsx/clsx.d.mts b/MEDICONNECTv3 - cópia/node_modules/clsx/clsx.d.mts new file mode 100644 index 000000000..025bb7fbe --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/clsx/clsx.d.mts @@ -0,0 +1,6 @@ +export type ClassValue = ClassArray | ClassDictionary | string | number | bigint | null | boolean | undefined; +export type ClassDictionary = Record; +export type ClassArray = ClassValue[]; + +export function clsx(...inputs: ClassValue[]): string; +export default clsx; diff --git a/MEDICONNECTv3 - cópia/node_modules/clsx/clsx.d.ts b/MEDICONNECTv3 - cópia/node_modules/clsx/clsx.d.ts new file mode 100644 index 000000000..a4233f5ef --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/clsx/clsx.d.ts @@ -0,0 +1,10 @@ +declare namespace clsx { + type ClassValue = ClassArray | ClassDictionary | string | number | bigint | null | boolean | undefined; + type ClassDictionary = Record; + type ClassArray = ClassValue[]; + function clsx(...inputs: ClassValue[]): string; +} + +declare function clsx(...inputs: clsx.ClassValue[]): string; + +export = clsx; diff --git a/MEDICONNECTv3 - cópia/node_modules/clsx/dist/clsx.js b/MEDICONNECTv3 - cópia/node_modules/clsx/dist/clsx.js new file mode 100644 index 000000000..3dbb4b2ad --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/clsx/dist/clsx.js @@ -0,0 +1 @@ +function r(e){var o,t,f="";if("string"==typeof e||"number"==typeof e)f+=e;else if("object"==typeof e)if(Array.isArray(e)){var n=e.length;for(o=0;o (lukeed.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/MEDICONNECTv3 - cópia/node_modules/clsx/package.json b/MEDICONNECTv3 - cópia/node_modules/clsx/package.json new file mode 100644 index 000000000..69954cbf4 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/clsx/package.json @@ -0,0 +1,60 @@ +{ + "name": "clsx", + "version": "2.1.1", + "repository": "lukeed/clsx", + "description": "A tiny (239B) utility for constructing className strings conditionally.", + "module": "dist/clsx.mjs", + "unpkg": "dist/clsx.min.js", + "main": "dist/clsx.js", + "types": "clsx.d.ts", + "license": "MIT", + "exports": { + ".": { + "import": { + "types": "./clsx.d.mts", + "default": "./dist/clsx.mjs" + }, + "default": { + "types": "./clsx.d.ts", + "default": "./dist/clsx.js" + } + }, + "./lite": { + "import": { + "types": "./clsx.d.mts", + "default": "./dist/lite.mjs" + }, + "default": { + "types": "./clsx.d.ts", + "default": "./dist/lite.js" + } + } + }, + "author": { + "name": "Luke Edwards", + "email": "luke.edwards05@gmail.com", + "url": "https://lukeed.com" + }, + "engines": { + "node": ">=6" + }, + "scripts": { + "build": "node bin", + "test": "uvu -r esm test" + }, + "files": [ + "*.d.mts", + "*.d.ts", + "dist" + ], + "keywords": [ + "classes", + "classname", + "classnames" + ], + "devDependencies": { + "esm": "3.2.25", + "terser": "4.8.0", + "uvu": "0.5.4" + } +} diff --git a/MEDICONNECTv3 - cópia/node_modules/clsx/readme.md b/MEDICONNECTv3 - cópia/node_modules/clsx/readme.md new file mode 100644 index 000000000..b1af2b3ae --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/clsx/readme.md @@ -0,0 +1,154 @@ +# clsx [![CI](https://github.com/lukeed/clsx/workflows/CI/badge.svg)](https://github.com/lukeed/clsx/actions?query=workflow%3ACI) [![codecov](https://badgen.net/codecov/c/github/lukeed/clsx)](https://codecov.io/gh/lukeed/clsx) [![licenses](https://licenses.dev/b/npm/clsx)](https://licenses.dev/npm/clsx) + +> A tiny (239B) utility for constructing `className` strings conditionally.
Also serves as a [faster](bench) & smaller drop-in replacement for the `classnames` module. + +This module is available in three formats: + +* **ES Module**: `dist/clsx.mjs` +* **CommonJS**: `dist/clsx.js` +* **UMD**: `dist/clsx.min.js` + + +## Install + +``` +$ npm install --save clsx +``` + + +## Usage + +```js +import clsx from 'clsx'; +// or +import { clsx } from 'clsx'; + +// Strings (variadic) +clsx('foo', true && 'bar', 'baz'); +//=> 'foo bar baz' + +// Objects +clsx({ foo:true, bar:false, baz:isTrue() }); +//=> 'foo baz' + +// Objects (variadic) +clsx({ foo:true }, { bar:false }, null, { '--foobar':'hello' }); +//=> 'foo --foobar' + +// Arrays +clsx(['foo', 0, false, 'bar']); +//=> 'foo bar' + +// Arrays (variadic) +clsx(['foo'], ['', 0, false, 'bar'], [['baz', [['hello'], 'there']]]); +//=> 'foo bar baz hello there' + +// Kitchen sink (with nesting) +clsx('foo', [1 && 'bar', { baz:false, bat:null }, ['hello', ['world']]], 'cya'); +//=> 'foo bar hello world cya' +``` + + +## API + +### clsx(...input) +Returns: `String` + +#### input +Type: `Mixed` + +The `clsx` function can take ***any*** number of arguments, each of which can be an Object, Array, Boolean, or String. + +> **Important:** _Any_ falsey values are discarded!
Standalone Boolean values are discarded as well. + +```js +clsx(true, false, '', null, undefined, 0, NaN); +//=> '' +``` + +## Modes + +There are multiple "versions" of `clsx` available, which allows you to bring only the functionality you need! + +#### `clsx` +> **Size (gzip):** 239 bytes
+> **Availability:** CommonJS, ES Module, UMD + +The default `clsx` module; see [API](#API) for info. + +```js +import { clsx } from 'clsx'; +// or +import clsx from 'clsx'; +``` + +#### `clsx/lite` +> **Size (gzip):** 140 bytes
+> **Availability:** CommonJS, ES Module
+> **CAUTION:** Accepts **ONLY** string arguments! + +Ideal for applications that ***only*** use the string-builder pattern. + +Any non-string arguments are ignored! + +```js +import { clsx } from 'clsx/lite'; +// or +import clsx from 'clsx/lite'; + +// string +clsx('hello', true && 'foo', false && 'bar'); +// => "hello foo" + +// NOTE: Any non-string input(s) ignored +clsx({ foo: true }); +//=> "" +``` + +## Benchmarks + +For snapshots of cross-browser results, check out the [`bench`](bench) directory~! + +## Support + +All versions of Node.js are supported. + +All browsers that support [`Array.isArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray#Browser_compatibility) are supported (IE9+). + +>**Note:** For IE8 support and older, please install `clsx@1.0.x` and beware of [#17](https://github.com/lukeed/clsx/issues/17). + +## Tailwind Support + +Here some additional (optional) steps to enable classes autocompletion using `clsx` with Tailwind CSS. + +
+ + Visual Studio Code + + +1. [Install the "Tailwind CSS IntelliSense" Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss) + +2. Add the following to your [`settings.json`](https://code.visualstudio.com/docs/getstarted/settings): + + ```json + { + "tailwindCSS.experimental.classRegex": [ + ["clsx\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"] + ] + } + ``` +
+ +You may find the [`clsx/lite`](#clsxlite) module useful within Tailwind contexts. This is especially true if/when your application **only** composes classes in this pattern: + +```js +clsx('text-base', props.active && 'text-primary', props.className); +``` + +## Related + +- [obj-str](https://github.com/lukeed/obj-str) - A smaller (96B) and similiar utility that only works with Objects. + +## License + +MIT © [Luke Edwards](https://lukeed.com) diff --git a/MEDICONNECTv3 - cópia/node_modules/esbuild/bin/esbuild b/MEDICONNECTv3 - cópia/node_modules/esbuild/bin/esbuild index e81b7dab8..971ac096b 100755 Binary files a/MEDICONNECTv3 - cópia/node_modules/esbuild/bin/esbuild and b/MEDICONNECTv3 - cópia/node_modules/esbuild/bin/esbuild differ diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/LICENSE b/MEDICONNECTv3 - cópia/node_modules/react-toastify/LICENSE new file mode 100644 index 000000000..7d9c436a9 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Fadi Khadra + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/README.md b/MEDICONNECTv3 - cópia/node_modules/react-toastify/README.md new file mode 100644 index 000000000..e082f7dff --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/README.md @@ -0,0 +1,117 @@ +# React-Toastify + +[![Financial Contributors on Open Collective](https://opencollective.com/react-toastify/all/badge.svg?label=financial+contributors)](https://opencollective.com/react-toastify) ![React-toastify CI](https://github.com/fkhadra/react-toastify/workflows/React-toastify%20CI/badge.svg) +![npm](https://img.shields.io/npm/dm/react-toastify.svg?label=%E2%8F%ACdownloads&style=for-the-badge) +![npm](https://img.shields.io/npm/v/react-toastify.svg?style=for-the-badge) +![NPM](https://img.shields.io/npm/l/react-toastify.svg?label=%F0%9F%93%9Clicense&style=for-the-badge) +![Coveralls github](https://img.shields.io/coveralls/github/fkhadra/react-toastify.svg?label=%E2%9B%B1coverage&style=for-the-badge) + + +![React toastify](https://user-images.githubusercontent.com/5574267/130804494-a9d2d69c-f170-4576-b2e1-0bb7f13dd92d.gif "React toastify") + +![stacked](https://github.com/fkhadra/react-toastify/assets/5574267/975c7c01-b95e-43cf-9100-256fa8ef2760) + +![custom-style](https://github.com/user-attachments/assets/311672f7-f98a-46f3-a2ab-a9d1a05186a7) + +🎉 React-Toastify allows you to add notifications to your app with ease. + +## Installation + +``` +$ npm install --save react-toastify +$ yarn add react-toastify +``` + +```jsx + import React from 'react'; + + import { ToastContainer, toast } from 'react-toastify'; + + function App(){ + const notify = () => toast("Wow so easy!"); + + return ( +
+ + +
+ ); + } +``` + +## Documentation + +Check the [documentation](https://fkhadra.github.io/react-toastify/introduction) to get you started! + +## Features + +- Easy to set up for real, you can make it work in less than 10sec! +- Super easy to customize +- RTL support +- Swipe to close 👌 +- Can choose swipe direction +- Super easy to use an animation of your choice. Works well with animate.css for example +- Can display a react component inside the toast! +- Has ```onOpen``` and ```onClose``` hooks. Both can access the props passed to the react component rendered inside the toast +- Can remove a toast programmatically +- Define behavior per toast +- Pause toast when the window loses focus 👁 +- Fancy progress bar to display the remaining time +- Possibility to update a toast +- You can control the progress bar a la `nprogress` 😲 +- You can limit the number of toast displayed at the same time +- Dark mode 🌒 +- Pause timer programmaticaly +- Stacked notifications! +- And much more ! + +## Demo + +[A demo is worth a thousand words](https://fkhadra.github.io/react-toastify/introduction) + + +## Contribute + +Show your ❤️ and support by giving a ⭐. Any suggestions are welcome! Take a look at the contributing guide. + +You can also find me on [reactiflux](https://www.reactiflux.com/). My pseudo is Fadi. + +## Contributors + +### Code Contributors + +This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. + + +### Financial Contributors + +Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/react-toastify/contribute)] + +#### Individuals + + + +#### Organizations + +Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/react-toastify/contribute)] + + + + + + + + + + + + +## Release Notes + +You can find the release note for the latest release [here](https://github.com/fkhadra/react-toastify/releases/latest) + +You can browse them all [here](https://github.com/fkhadra/react-toastify/releases) + +## License + +Licensed under MIT diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.d.mts b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.d.mts new file mode 100644 index 000000000..131b8aa56 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.d.mts @@ -0,0 +1,161 @@ +import { ToastItem, Id } from 'react-toastify'; + +type Optional = Pick, K> & Omit; +interface NotificationCenterItem extends Optional, 'content' | 'data' | 'status'> { + read: boolean; + createdAt: number; +} +type SortFn = (l: NotificationCenterItem, r: NotificationCenterItem) => number; +type FilterFn = (item: NotificationCenterItem) => boolean; +interface UseNotificationCenterParams { + /** + * initial data to rehydrate the notification center + */ + data?: NotificationCenterItem[]; + /** + * By default, the notifications are sorted from the newest to the oldest using + * the `createdAt` field. Use this to provide your own sort function + * + * Usage: + * ``` + * // old notifications first + * useNotificationCenter({ + * sort: ((l, r) => l.createdAt - r.createdAt) + * }) + * ``` + */ + sort?: SortFn; + /** + * Keep the toast that meets the condition specified in the callback function. + * + * Usage: + * ``` + * // keep only the toasts when hidden is set to false + * useNotificationCenter({ + * filter: item => item.data.hidden === false + * }) + * ``` + */ + filter?: FilterFn; +} +interface UseNotificationCenter { + /** + * Contains all the notifications + */ + notifications: NotificationCenterItem[]; + /** + * Clear all notifications + */ + clear(): void; + /** + * Mark all notification as read + */ + markAllAsRead(): void; + /** + * Mark all notification as read or not. + * + * Usage: + * ``` + * markAllAsRead(false) // mark all notification as not read + * + * markAllAsRead(true) // same as calling markAllAsRead() + * ``` + */ + markAllAsRead(read?: boolean): void; + /** + * Mark one or more notifications as read. + * + * Usage: + * ``` + * markAsRead("anId") + * markAsRead(["a","list", "of", "id"]) + * ``` + */ + markAsRead(id: Id | Id[]): void; + /** + * Mark one or more notifications as read.The second parameter let you mark the notification as read or not. + * + * Usage: + * ``` + * markAsRead("anId", false) + * markAsRead(["a","list", "of", "id"], false) + * + * markAsRead("anId", true) // same as markAsRead("anId") + * ``` + */ + markAsRead(id: Id | Id[], read?: boolean): void; + /** + * Remove one or more notifications + * + * Usage: + * ``` + * remove("anId") + * remove(["a","list", "of", "id"]) + * ``` + */ + remove(id: Id | Id[]): void; + /** + * Push a notification to the notification center. + * Returns null when an item with the given id already exists + * + * Usage: + * ``` + * const id = add({id: "id", content: "test", data: { foo: "hello" } }) + * + * // Return the id of the notification, generate one if none provided + * const id = add({ data: {title: "a title", text: "some text"} }) + * ``` + */ + add(item: Partial>): Id | null; + /** + * Update the notification that match the id + * Returns null when no matching notification found + * + * Usage: + * ``` + * const id = update("anId", {content: "test", data: { foo: "hello" } }) + * + * // It's also possible to update the id + * const id = update("anId"m { id:"anotherOne", data: {title: "a title", text: "some text"} }) + * ``` + */ + update(id: Id, item: Partial>): Id | null; + /** + * Retrieve one or more notifications + * + * Usage: + * ``` + * find("anId") + * find(["a","list", "of", "id"]) + * ``` + */ + find(id: Id): NotificationCenterItem | undefined; + /** + * Retrieve one or more notifications + * + * Usage: + * ``` + * find("anId") + * find(["a","list", "of", "id"]) + * ``` + */ + find(id: Id[]): NotificationCenterItem[] | undefined; + /** + * Retrieve the count for unread notifications + */ + unreadCount: number; + /** + * Sort notifications using the newly provided function + * + * Usage: + * ``` + * // old notifications first + * sort((l, r) => l.createdAt - r.createdAt) + * ``` + */ + sort(sort: SortFn): void; +} +declare function useNotificationCenter(params?: UseNotificationCenterParams): UseNotificationCenter; +declare function decorate(item: NotificationCenterItem | Partial>): NotificationCenterItem; + +export { type FilterFn, type NotificationCenterItem, type SortFn, type UseNotificationCenter, type UseNotificationCenterParams, decorate, useNotificationCenter }; diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.d.ts b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.d.ts new file mode 100644 index 000000000..131b8aa56 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.d.ts @@ -0,0 +1,161 @@ +import { ToastItem, Id } from 'react-toastify'; + +type Optional = Pick, K> & Omit; +interface NotificationCenterItem extends Optional, 'content' | 'data' | 'status'> { + read: boolean; + createdAt: number; +} +type SortFn = (l: NotificationCenterItem, r: NotificationCenterItem) => number; +type FilterFn = (item: NotificationCenterItem) => boolean; +interface UseNotificationCenterParams { + /** + * initial data to rehydrate the notification center + */ + data?: NotificationCenterItem[]; + /** + * By default, the notifications are sorted from the newest to the oldest using + * the `createdAt` field. Use this to provide your own sort function + * + * Usage: + * ``` + * // old notifications first + * useNotificationCenter({ + * sort: ((l, r) => l.createdAt - r.createdAt) + * }) + * ``` + */ + sort?: SortFn; + /** + * Keep the toast that meets the condition specified in the callback function. + * + * Usage: + * ``` + * // keep only the toasts when hidden is set to false + * useNotificationCenter({ + * filter: item => item.data.hidden === false + * }) + * ``` + */ + filter?: FilterFn; +} +interface UseNotificationCenter { + /** + * Contains all the notifications + */ + notifications: NotificationCenterItem[]; + /** + * Clear all notifications + */ + clear(): void; + /** + * Mark all notification as read + */ + markAllAsRead(): void; + /** + * Mark all notification as read or not. + * + * Usage: + * ``` + * markAllAsRead(false) // mark all notification as not read + * + * markAllAsRead(true) // same as calling markAllAsRead() + * ``` + */ + markAllAsRead(read?: boolean): void; + /** + * Mark one or more notifications as read. + * + * Usage: + * ``` + * markAsRead("anId") + * markAsRead(["a","list", "of", "id"]) + * ``` + */ + markAsRead(id: Id | Id[]): void; + /** + * Mark one or more notifications as read.The second parameter let you mark the notification as read or not. + * + * Usage: + * ``` + * markAsRead("anId", false) + * markAsRead(["a","list", "of", "id"], false) + * + * markAsRead("anId", true) // same as markAsRead("anId") + * ``` + */ + markAsRead(id: Id | Id[], read?: boolean): void; + /** + * Remove one or more notifications + * + * Usage: + * ``` + * remove("anId") + * remove(["a","list", "of", "id"]) + * ``` + */ + remove(id: Id | Id[]): void; + /** + * Push a notification to the notification center. + * Returns null when an item with the given id already exists + * + * Usage: + * ``` + * const id = add({id: "id", content: "test", data: { foo: "hello" } }) + * + * // Return the id of the notification, generate one if none provided + * const id = add({ data: {title: "a title", text: "some text"} }) + * ``` + */ + add(item: Partial>): Id | null; + /** + * Update the notification that match the id + * Returns null when no matching notification found + * + * Usage: + * ``` + * const id = update("anId", {content: "test", data: { foo: "hello" } }) + * + * // It's also possible to update the id + * const id = update("anId"m { id:"anotherOne", data: {title: "a title", text: "some text"} }) + * ``` + */ + update(id: Id, item: Partial>): Id | null; + /** + * Retrieve one or more notifications + * + * Usage: + * ``` + * find("anId") + * find(["a","list", "of", "id"]) + * ``` + */ + find(id: Id): NotificationCenterItem | undefined; + /** + * Retrieve one or more notifications + * + * Usage: + * ``` + * find("anId") + * find(["a","list", "of", "id"]) + * ``` + */ + find(id: Id[]): NotificationCenterItem[] | undefined; + /** + * Retrieve the count for unread notifications + */ + unreadCount: number; + /** + * Sort notifications using the newly provided function + * + * Usage: + * ``` + * // old notifications first + * sort((l, r) => l.createdAt - r.createdAt) + * ``` + */ + sort(sort: SortFn): void; +} +declare function useNotificationCenter(params?: UseNotificationCenterParams): UseNotificationCenter; +declare function decorate(item: NotificationCenterItem | Partial>): NotificationCenterItem; + +export { type FilterFn, type NotificationCenterItem, type SortFn, type UseNotificationCenter, type UseNotificationCenterParams, decorate, useNotificationCenter }; diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.js b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.js new file mode 100644 index 000000000..6a3bcc7ee --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.js @@ -0,0 +1,3 @@ +"use client"; +var u=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var A=(a,i)=>{for(var d in i)u(a,d,{get:i[d],enumerable:!0})},x=(a,i,d,c)=>{if(i&&typeof i=="object"||typeof i=="function")for(let o of C(i))!N.call(a,o)&&o!==d&&u(a,o,{get:()=>i[o],enumerable:!(c=m(i,o))||c.enumerable});return a};var p=a=>x(u({},"__esModule",{value:!0}),a);var y={};A(y,{decorate:()=>l,useNotificationCenter:()=>b});module.exports=p(y);var s=require("react"),I=require("react-toastify");function b(a={}){let i=(0,s.useRef)(a.sort||k),d=(0,s.useRef)(a.filter||null),[c,o]=(0,s.useState)(()=>a.data?d.current?a.data.filter(d.current).sort(i.current):[...a.data].sort(i.current):[]);return(0,s.useEffect)(()=>I.toast.onChange(t=>{if(t.status==="added"||t.status==="updated"){let e=l(t);if(d.current&&!d.current(e))return;o(r=>{let n=[],f=r.findIndex(D=>D.id===e.id);return f!==-1?(n=r.slice(),Object.assign(n[f],e,{createdAt:Date.now()})):r.length===0?n=[e]:n=[e,...r],n.sort(i.current)})}}),[]),{notifications:c,clear:()=>{o([])},markAllAsRead:(t=!0)=>{o(e=>e.map(r=>(r.read=t,r)))},markAsRead:(t,e=!0)=>{let r=n=>(n.id===t&&(n.read=e),n);Array.isArray(t)&&(r=n=>(t.includes(n.id)&&(n.read=e),n)),o(n=>n.map(r))},add:t=>{if(c.find(r=>r.id===t.id))return null;let e=l(t);return o(r=>[...r,e].sort(i.current)),e.id},update:(t,e)=>{let r=c.findIndex(n=>n.id===t);return r!==-1?(o(n=>{let f=[...n];return Object.assign(f[r],e,{createdAt:e.createdAt||Date.now()}),f.sort(i.current)}),e.id):null},remove:t=>{o(e=>e.filter(Array.isArray(t)?r=>!t.includes(r.id):r=>r.id!==t))},find:t=>Array.isArray(t)?c.filter(e=>t.includes(e.id)):c.find(e=>e.id===t),sort:t=>{i.current=t,o(e=>e.slice().sort(t))},get unreadCount(){return c.reduce((t,e)=>e.read?t:t+1,0)}}}function l(a){return a.id==null&&(a.id=Date.now().toString(36).substring(2,9)),a.createdAt||(a.createdAt=Date.now()),a.read==null&&(a.read=!1),a}function k(a,i){return i.createdAt-a.createdAt}0&&(module.exports={decorate,useNotificationCenter}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.js.map b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.js.map new file mode 100644 index 000000000..6a6536831 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../src/addons/use-notification-center/index.ts","../../src/addons/use-notification-center/useNotificationCenter.ts"],"sourcesContent":["export * from './useNotificationCenter';\n","import { useState, useEffect, useRef } from 'react';\nimport { toast, ToastItem, Id } from 'react-toastify';\n\ntype Optional = Pick, K> & Omit;\n\nexport interface NotificationCenterItem extends Optional, 'content' | 'data' | 'status'> {\n read: boolean;\n createdAt: number;\n}\n\nexport type SortFn = (l: NotificationCenterItem, r: NotificationCenterItem) => number;\n\nexport type FilterFn = (item: NotificationCenterItem) => boolean;\n\nexport interface UseNotificationCenterParams {\n /**\n * initial data to rehydrate the notification center\n */\n data?: NotificationCenterItem[];\n\n /**\n * By default, the notifications are sorted from the newest to the oldest using\n * the `createdAt` field. Use this to provide your own sort function\n *\n * Usage:\n * ```\n * // old notifications first\n * useNotificationCenter({\n * sort: ((l, r) => l.createdAt - r.createdAt)\n * })\n * ```\n */\n sort?: SortFn;\n\n /**\n * Keep the toast that meets the condition specified in the callback function.\n *\n * Usage:\n * ```\n * // keep only the toasts when hidden is set to false\n * useNotificationCenter({\n * filter: item => item.data.hidden === false\n * })\n * ```\n */\n filter?: FilterFn;\n}\n\nexport interface UseNotificationCenter {\n /**\n * Contains all the notifications\n */\n notifications: NotificationCenterItem[];\n\n /**\n * Clear all notifications\n */\n clear(): void;\n\n /**\n * Mark all notification as read\n */\n markAllAsRead(): void;\n\n /**\n * Mark all notification as read or not.\n *\n * Usage:\n * ```\n * markAllAsRead(false) // mark all notification as not read\n *\n * markAllAsRead(true) // same as calling markAllAsRead()\n * ```\n */\n markAllAsRead(read?: boolean): void;\n\n /**\n * Mark one or more notifications as read.\n *\n * Usage:\n * ```\n * markAsRead(\"anId\")\n * markAsRead([\"a\",\"list\", \"of\", \"id\"])\n * ```\n */\n markAsRead(id: Id | Id[]): void;\n\n /**\n * Mark one or more notifications as read.The second parameter let you mark the notification as read or not.\n *\n * Usage:\n * ```\n * markAsRead(\"anId\", false)\n * markAsRead([\"a\",\"list\", \"of\", \"id\"], false)\n *\n * markAsRead(\"anId\", true) // same as markAsRead(\"anId\")\n * ```\n */\n markAsRead(id: Id | Id[], read?: boolean): void;\n\n /**\n * Remove one or more notifications\n *\n * Usage:\n * ```\n * remove(\"anId\")\n * remove([\"a\",\"list\", \"of\", \"id\"])\n * ```\n */\n remove(id: Id | Id[]): void;\n\n /**\n * Push a notification to the notification center.\n * Returns null when an item with the given id already exists\n *\n * Usage:\n * ```\n * const id = add({id: \"id\", content: \"test\", data: { foo: \"hello\" } })\n *\n * // Return the id of the notification, generate one if none provided\n * const id = add({ data: {title: \"a title\", text: \"some text\"} })\n * ```\n */\n add(item: Partial>): Id | null;\n\n /**\n * Update the notification that match the id\n * Returns null when no matching notification found\n *\n * Usage:\n * ```\n * const id = update(\"anId\", {content: \"test\", data: { foo: \"hello\" } })\n *\n * // It's also possible to update the id\n * const id = update(\"anId\"m { id:\"anotherOne\", data: {title: \"a title\", text: \"some text\"} })\n * ```\n */\n update(id: Id, item: Partial>): Id | null;\n\n /**\n * Retrieve one or more notifications\n *\n * Usage:\n * ```\n * find(\"anId\")\n * find([\"a\",\"list\", \"of\", \"id\"])\n * ```\n */\n find(id: Id): NotificationCenterItem | undefined;\n\n /**\n * Retrieve one or more notifications\n *\n * Usage:\n * ```\n * find(\"anId\")\n * find([\"a\",\"list\", \"of\", \"id\"])\n * ```\n */\n find(id: Id[]): NotificationCenterItem[] | undefined;\n\n /**\n * Retrieve the count for unread notifications\n */\n unreadCount: number;\n\n /**\n * Sort notifications using the newly provided function\n *\n * Usage:\n * ```\n * // old notifications first\n * sort((l, r) => l.createdAt - r.createdAt)\n * ```\n */\n sort(sort: SortFn): void;\n}\n\nexport function useNotificationCenter(\n params: UseNotificationCenterParams = {}\n): UseNotificationCenter {\n const sortFn = useRef(params.sort || defaultSort);\n const filterFn = useRef(params.filter || null);\n const [notifications, setNotifications] = useState[]>(() => {\n if (params.data) {\n return filterFn.current\n ? params.data.filter(filterFn.current).sort(sortFn.current)\n : [...params.data].sort(sortFn.current);\n }\n return [];\n });\n\n useEffect(() => {\n return toast.onChange(item => {\n if (item.status === 'added' || item.status === 'updated') {\n const newItem = decorate(item as NotificationCenterItem);\n if (filterFn.current && !filterFn.current(newItem)) return;\n\n setNotifications(prev => {\n let nextState: NotificationCenterItem[] = [];\n const updateIdx = prev.findIndex(v => v.id === newItem.id);\n\n if (updateIdx !== -1) {\n nextState = prev.slice();\n Object.assign(nextState[updateIdx], newItem, {\n createdAt: Date.now()\n });\n } else if (prev.length === 0) {\n nextState = [newItem];\n } else {\n nextState = [newItem, ...prev];\n }\n return nextState.sort(sortFn.current);\n });\n }\n });\n }, []);\n\n const remove = (id: Id | Id[]) => {\n setNotifications(prev => prev.filter(Array.isArray(id) ? v => !id.includes(v.id) : v => v.id !== id));\n };\n\n const clear = () => {\n setNotifications([]);\n };\n\n const markAllAsRead = (read = true) => {\n setNotifications(prev =>\n prev.map(v => {\n v.read = read;\n return v;\n })\n );\n };\n\n const markAsRead = (id: Id | Id[], read = true) => {\n let map = (v: NotificationCenterItem) => {\n if (v.id === id) v.read = read;\n return v;\n };\n\n if (Array.isArray(id)) {\n map = v => {\n if (id.includes(v.id)) v.read = read;\n return v;\n };\n }\n\n setNotifications(prev => prev.map(map));\n };\n\n const find = (id: Id | Id[]) => {\n return Array.isArray(id) ? notifications.filter(v => id.includes(v.id)) : notifications.find(v => v.id === id);\n };\n\n const add = (item: Partial>) => {\n if (notifications.find(v => v.id === item.id)) return null;\n\n const newItem = decorate(item);\n\n setNotifications(prev => [...prev, newItem].sort(sortFn.current));\n\n return newItem.id;\n };\n\n const update = (id: Id, item: Partial>) => {\n const index = notifications.findIndex(v => v.id === id);\n\n if (index !== -1) {\n setNotifications(prev => {\n const nextState = [...prev];\n Object.assign(nextState[index], item, {\n createdAt: item.createdAt || Date.now()\n });\n\n return nextState.sort(sortFn.current);\n });\n\n return item.id as Id;\n }\n\n return null;\n };\n\n const sort = (compareFn: SortFn) => {\n sortFn.current = compareFn;\n setNotifications(prev => prev.slice().sort(compareFn));\n };\n\n return {\n notifications,\n clear,\n markAllAsRead,\n markAsRead,\n add,\n update,\n remove,\n // @ts-ignore fixme: overloading issue\n find,\n sort,\n get unreadCount() {\n return notifications.reduce((prev, cur) => (!cur.read ? prev + 1 : prev), 0);\n }\n };\n}\n\nexport function decorate(item: NotificationCenterItem | Partial>) {\n if (item.id == null) item.id = Date.now().toString(36).substring(2, 9);\n if (!item.createdAt) item.createdAt = Date.now();\n if (item.read == null) item.read = false;\n return item as NotificationCenterItem;\n}\n\n// newest to oldest\nfunction defaultSort(l: NotificationCenterItem, r: NotificationCenterItem) {\n return r.createdAt - l.createdAt;\n}\n"],"mappings":"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","names":["use_notification_center_exports","__export","decorate","useNotificationCenter","__toCommonJS","import_react","import_react_toastify","useNotificationCenter","params","sortFn","defaultSort","filterFn","notifications","setNotifications","item","newItem","decorate","prev","nextState","updateIdx","v","read","id","map","index","compareFn","cur","l","r"]} \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.mjs b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.mjs new file mode 100644 index 000000000..0ca38eed6 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.mjs @@ -0,0 +1,3 @@ +"use client"; +import{useState as I,useEffect as D,useRef as f}from"react";import{toast as m}from"react-toastify";function w(n={}){let i=f(n.sort||C),s=f(n.filter||null),[d,o]=I(()=>n.data?s.current?n.data.filter(s.current).sort(i.current):[...n.data].sort(i.current):[]);return D(()=>m.onChange(t=>{if(t.status==="added"||t.status==="updated"){let e=u(t);if(s.current&&!s.current(e))return;o(a=>{let r=[],c=a.findIndex(l=>l.id===e.id);return c!==-1?(r=a.slice(),Object.assign(r[c],e,{createdAt:Date.now()})):a.length===0?r=[e]:r=[e,...a],r.sort(i.current)})}}),[]),{notifications:d,clear:()=>{o([])},markAllAsRead:(t=!0)=>{o(e=>e.map(a=>(a.read=t,a)))},markAsRead:(t,e=!0)=>{let a=r=>(r.id===t&&(r.read=e),r);Array.isArray(t)&&(a=r=>(t.includes(r.id)&&(r.read=e),r)),o(r=>r.map(a))},add:t=>{if(d.find(a=>a.id===t.id))return null;let e=u(t);return o(a=>[...a,e].sort(i.current)),e.id},update:(t,e)=>{let a=d.findIndex(r=>r.id===t);return a!==-1?(o(r=>{let c=[...r];return Object.assign(c[a],e,{createdAt:e.createdAt||Date.now()}),c.sort(i.current)}),e.id):null},remove:t=>{o(e=>e.filter(Array.isArray(t)?a=>!t.includes(a.id):a=>a.id!==t))},find:t=>Array.isArray(t)?d.filter(e=>t.includes(e.id)):d.find(e=>e.id===t),sort:t=>{i.current=t,o(e=>e.slice().sort(t))},get unreadCount(){return d.reduce((t,e)=>e.read?t:t+1,0)}}}function u(n){return n.id==null&&(n.id=Date.now().toString(36).substring(2,9)),n.createdAt||(n.createdAt=Date.now()),n.read==null&&(n.read=!1),n}function C(n,i){return i.createdAt-n.createdAt}export{u as decorate,w as useNotificationCenter}; +//# sourceMappingURL=index.mjs.map \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.mjs.map b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.mjs.map new file mode 100644 index 000000000..4b3b7f86c --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/addons/use-notification-center/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../src/addons/use-notification-center/useNotificationCenter.ts"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { toast, ToastItem, Id } from 'react-toastify';\n\ntype Optional = Pick, K> & Omit;\n\nexport interface NotificationCenterItem extends Optional, 'content' | 'data' | 'status'> {\n read: boolean;\n createdAt: number;\n}\n\nexport type SortFn = (l: NotificationCenterItem, r: NotificationCenterItem) => number;\n\nexport type FilterFn = (item: NotificationCenterItem) => boolean;\n\nexport interface UseNotificationCenterParams {\n /**\n * initial data to rehydrate the notification center\n */\n data?: NotificationCenterItem[];\n\n /**\n * By default, the notifications are sorted from the newest to the oldest using\n * the `createdAt` field. Use this to provide your own sort function\n *\n * Usage:\n * ```\n * // old notifications first\n * useNotificationCenter({\n * sort: ((l, r) => l.createdAt - r.createdAt)\n * })\n * ```\n */\n sort?: SortFn;\n\n /**\n * Keep the toast that meets the condition specified in the callback function.\n *\n * Usage:\n * ```\n * // keep only the toasts when hidden is set to false\n * useNotificationCenter({\n * filter: item => item.data.hidden === false\n * })\n * ```\n */\n filter?: FilterFn;\n}\n\nexport interface UseNotificationCenter {\n /**\n * Contains all the notifications\n */\n notifications: NotificationCenterItem[];\n\n /**\n * Clear all notifications\n */\n clear(): void;\n\n /**\n * Mark all notification as read\n */\n markAllAsRead(): void;\n\n /**\n * Mark all notification as read or not.\n *\n * Usage:\n * ```\n * markAllAsRead(false) // mark all notification as not read\n *\n * markAllAsRead(true) // same as calling markAllAsRead()\n * ```\n */\n markAllAsRead(read?: boolean): void;\n\n /**\n * Mark one or more notifications as read.\n *\n * Usage:\n * ```\n * markAsRead(\"anId\")\n * markAsRead([\"a\",\"list\", \"of\", \"id\"])\n * ```\n */\n markAsRead(id: Id | Id[]): void;\n\n /**\n * Mark one or more notifications as read.The second parameter let you mark the notification as read or not.\n *\n * Usage:\n * ```\n * markAsRead(\"anId\", false)\n * markAsRead([\"a\",\"list\", \"of\", \"id\"], false)\n *\n * markAsRead(\"anId\", true) // same as markAsRead(\"anId\")\n * ```\n */\n markAsRead(id: Id | Id[], read?: boolean): void;\n\n /**\n * Remove one or more notifications\n *\n * Usage:\n * ```\n * remove(\"anId\")\n * remove([\"a\",\"list\", \"of\", \"id\"])\n * ```\n */\n remove(id: Id | Id[]): void;\n\n /**\n * Push a notification to the notification center.\n * Returns null when an item with the given id already exists\n *\n * Usage:\n * ```\n * const id = add({id: \"id\", content: \"test\", data: { foo: \"hello\" } })\n *\n * // Return the id of the notification, generate one if none provided\n * const id = add({ data: {title: \"a title\", text: \"some text\"} })\n * ```\n */\n add(item: Partial>): Id | null;\n\n /**\n * Update the notification that match the id\n * Returns null when no matching notification found\n *\n * Usage:\n * ```\n * const id = update(\"anId\", {content: \"test\", data: { foo: \"hello\" } })\n *\n * // It's also possible to update the id\n * const id = update(\"anId\"m { id:\"anotherOne\", data: {title: \"a title\", text: \"some text\"} })\n * ```\n */\n update(id: Id, item: Partial>): Id | null;\n\n /**\n * Retrieve one or more notifications\n *\n * Usage:\n * ```\n * find(\"anId\")\n * find([\"a\",\"list\", \"of\", \"id\"])\n * ```\n */\n find(id: Id): NotificationCenterItem | undefined;\n\n /**\n * Retrieve one or more notifications\n *\n * Usage:\n * ```\n * find(\"anId\")\n * find([\"a\",\"list\", \"of\", \"id\"])\n * ```\n */\n find(id: Id[]): NotificationCenterItem[] | undefined;\n\n /**\n * Retrieve the count for unread notifications\n */\n unreadCount: number;\n\n /**\n * Sort notifications using the newly provided function\n *\n * Usage:\n * ```\n * // old notifications first\n * sort((l, r) => l.createdAt - r.createdAt)\n * ```\n */\n sort(sort: SortFn): void;\n}\n\nexport function useNotificationCenter(\n params: UseNotificationCenterParams = {}\n): UseNotificationCenter {\n const sortFn = useRef(params.sort || defaultSort);\n const filterFn = useRef(params.filter || null);\n const [notifications, setNotifications] = useState[]>(() => {\n if (params.data) {\n return filterFn.current\n ? params.data.filter(filterFn.current).sort(sortFn.current)\n : [...params.data].sort(sortFn.current);\n }\n return [];\n });\n\n useEffect(() => {\n return toast.onChange(item => {\n if (item.status === 'added' || item.status === 'updated') {\n const newItem = decorate(item as NotificationCenterItem);\n if (filterFn.current && !filterFn.current(newItem)) return;\n\n setNotifications(prev => {\n let nextState: NotificationCenterItem[] = [];\n const updateIdx = prev.findIndex(v => v.id === newItem.id);\n\n if (updateIdx !== -1) {\n nextState = prev.slice();\n Object.assign(nextState[updateIdx], newItem, {\n createdAt: Date.now()\n });\n } else if (prev.length === 0) {\n nextState = [newItem];\n } else {\n nextState = [newItem, ...prev];\n }\n return nextState.sort(sortFn.current);\n });\n }\n });\n }, []);\n\n const remove = (id: Id | Id[]) => {\n setNotifications(prev => prev.filter(Array.isArray(id) ? v => !id.includes(v.id) : v => v.id !== id));\n };\n\n const clear = () => {\n setNotifications([]);\n };\n\n const markAllAsRead = (read = true) => {\n setNotifications(prev =>\n prev.map(v => {\n v.read = read;\n return v;\n })\n );\n };\n\n const markAsRead = (id: Id | Id[], read = true) => {\n let map = (v: NotificationCenterItem) => {\n if (v.id === id) v.read = read;\n return v;\n };\n\n if (Array.isArray(id)) {\n map = v => {\n if (id.includes(v.id)) v.read = read;\n return v;\n };\n }\n\n setNotifications(prev => prev.map(map));\n };\n\n const find = (id: Id | Id[]) => {\n return Array.isArray(id) ? notifications.filter(v => id.includes(v.id)) : notifications.find(v => v.id === id);\n };\n\n const add = (item: Partial>) => {\n if (notifications.find(v => v.id === item.id)) return null;\n\n const newItem = decorate(item);\n\n setNotifications(prev => [...prev, newItem].sort(sortFn.current));\n\n return newItem.id;\n };\n\n const update = (id: Id, item: Partial>) => {\n const index = notifications.findIndex(v => v.id === id);\n\n if (index !== -1) {\n setNotifications(prev => {\n const nextState = [...prev];\n Object.assign(nextState[index], item, {\n createdAt: item.createdAt || Date.now()\n });\n\n return nextState.sort(sortFn.current);\n });\n\n return item.id as Id;\n }\n\n return null;\n };\n\n const sort = (compareFn: SortFn) => {\n sortFn.current = compareFn;\n setNotifications(prev => prev.slice().sort(compareFn));\n };\n\n return {\n notifications,\n clear,\n markAllAsRead,\n markAsRead,\n add,\n update,\n remove,\n // @ts-ignore fixme: overloading issue\n find,\n sort,\n get unreadCount() {\n return notifications.reduce((prev, cur) => (!cur.read ? prev + 1 : prev), 0);\n }\n };\n}\n\nexport function decorate(item: NotificationCenterItem | Partial>) {\n if (item.id == null) item.id = Date.now().toString(36).substring(2, 9);\n if (!item.createdAt) item.createdAt = Date.now();\n if (item.read == null) item.read = false;\n return item as NotificationCenterItem;\n}\n\n// newest to oldest\nfunction defaultSort(l: NotificationCenterItem, r: NotificationCenterItem) {\n return r.createdAt - l.createdAt;\n}\n"],"mappings":"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","names":["useState","useEffect","useRef","toast","useNotificationCenter","params","sortFn","defaultSort","filterFn","notifications","setNotifications","item","newItem","decorate","prev","nextState","updateIdx","v","read","id","map","index","compareFn","cur","l","r"]} \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/ReactToastify.css b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/ReactToastify.css new file mode 100644 index 000000000..82f0ac53c --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/ReactToastify.css @@ -0,0 +1,800 @@ +:root { + --toastify-color-light: #fff; + --toastify-color-dark: #121212; + --toastify-color-info: #3498db; + --toastify-color-success: #07bc0c; + --toastify-color-warning: #f1c40f; + --toastify-color-error: hsl(6, 78%, 57%); + --toastify-color-transparent: rgba(255, 255, 255, 0.7); + + --toastify-icon-color-info: var(--toastify-color-info); + --toastify-icon-color-success: var(--toastify-color-success); + --toastify-icon-color-warning: var(--toastify-color-warning); + --toastify-icon-color-error: var(--toastify-color-error); + + --toastify-container-width: fit-content; + --toastify-toast-width: 320px; + --toastify-toast-offset: 16px; + --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top)); + --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right)); + --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left)); + --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom)); + --toastify-toast-background: #fff; + --toastify-toast-padding: 14px; + --toastify-toast-min-height: 64px; + --toastify-toast-max-height: 800px; + --toastify-toast-bd-radius: 6px; + --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); + --toastify-font-family: sans-serif; + --toastify-z-index: 9999; + --toastify-text-color-light: #757575; + --toastify-text-color-dark: #fff; + + /* Used only for colored theme */ + --toastify-text-color-info: #fff; + --toastify-text-color-success: #fff; + --toastify-text-color-warning: #fff; + --toastify-text-color-error: #fff; + + --toastify-spinner-color: #616161; + --toastify-spinner-color-empty-area: #e0e0e0; + --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55); + --toastify-color-progress-dark: #bb86fc; + --toastify-color-progress-info: var(--toastify-color-info); + --toastify-color-progress-success: var(--toastify-color-success); + --toastify-color-progress-warning: var(--toastify-color-warning); + --toastify-color-progress-error: var(--toastify-color-error); + /* used to control the opacity of the progress trail */ + --toastify-color-progress-bgo: 0.2; +} + +.Toastify__toast-container { + z-index: var(--toastify-z-index); + -webkit-transform: translate3d(0, 0, var(--toastify-z-index)); + position: fixed; + width: var(--toastify-container-width); + box-sizing: border-box; + color: #fff; + display: flex; + flex-direction: column; +} + +.Toastify__toast-container--top-left { + top: var(--toastify-toast-top); + left: var(--toastify-toast-left); +} +.Toastify__toast-container--top-center { + top: var(--toastify-toast-top); + left: 50%; + transform: translateX(-50%); + align-items: center; +} +.Toastify__toast-container--top-right { + top: var(--toastify-toast-top); + right: var(--toastify-toast-right); + align-items: end; +} +.Toastify__toast-container--bottom-left { + bottom: var(--toastify-toast-bottom); + left: var(--toastify-toast-left); +} +.Toastify__toast-container--bottom-center { + bottom: var(--toastify-toast-bottom); + left: 50%; + transform: translateX(-50%); + align-items: center; +} +.Toastify__toast-container--bottom-right { + bottom: var(--toastify-toast-bottom); + right: var(--toastify-toast-right); + align-items: end; +} + +.Toastify__toast { + --y: 0; + position: relative; + touch-action: none; + width: var(--toastify-toast-width); + min-height: var(--toastify-toast-min-height); + box-sizing: border-box; + margin-bottom: 1rem; + padding: var(--toastify-toast-padding); + border-radius: var(--toastify-toast-bd-radius); + box-shadow: var(--toastify-toast-shadow); + max-height: var(--toastify-toast-max-height); + font-family: var(--toastify-font-family); + /* webkit only issue #791 */ + z-index: 0; + /* inner swag */ + display: flex; + flex: 1 auto; + align-items: center; + word-break: break-word; +} + +@media only screen and (max-width: 480px) { + .Toastify__toast-container { + width: 100vw; + left: env(safe-area-inset-left); + margin: 0; + } + .Toastify__toast-container--top-left, + .Toastify__toast-container--top-center, + .Toastify__toast-container--top-right { + top: env(safe-area-inset-top); + transform: translateX(0); + } + .Toastify__toast-container--bottom-left, + .Toastify__toast-container--bottom-center, + .Toastify__toast-container--bottom-right { + bottom: env(safe-area-inset-bottom); + transform: translateX(0); + } + .Toastify__toast-container--rtl { + right: env(safe-area-inset-right); + left: initial; + } + .Toastify__toast { + --toastify-toast-width: 100%; + margin-bottom: 0; + border-radius: 0; + } +} + +.Toastify__toast-container[data-stacked='true'] { + width: var(--toastify-toast-width); +} + +.Toastify__toast--stacked { + position: absolute; + width: 100%; + transform: translate3d(0, var(--y), 0) scale(var(--s)); + transition: transform 0.3s; +} + +.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body, +.Toastify__toast--stacked[data-collapsed] .Toastify__close-button { + transition: opacity 0.1s; +} + +.Toastify__toast--stacked[data-collapsed='false'] { + overflow: visible; +} + +.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * { + opacity: 0; +} + +.Toastify__toast--stacked:after { + content: ''; + position: absolute; + left: 0; + right: 0; + height: calc(var(--g) * 1px); + bottom: 100%; +} + +.Toastify__toast--stacked[data-pos='top'] { + top: 0; +} + +.Toastify__toast--stacked[data-pos='bot'] { + bottom: 0; +} + +.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before { + transform-origin: top; +} + +.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before { + transform-origin: bottom; +} + +.Toastify__toast--stacked:before { + content: ''; + position: absolute; + left: 0; + right: 0; + bottom: 0; + height: 100%; + transform: scaleY(3); + z-index: -1; +} + +.Toastify__toast--rtl { + direction: rtl; +} + +.Toastify__toast--close-on-click { + cursor: pointer; +} + +.Toastify__toast-icon { + margin-inline-end: 10px; + width: 22px; + flex-shrink: 0; + display: flex; +} + +.Toastify--animate { + animation-fill-mode: both; + animation-duration: 0.5s; +} + +.Toastify--animate-icon { + animation-fill-mode: both; + animation-duration: 0.3s; +} + +.Toastify__toast-theme--dark { + background: var(--toastify-color-dark); + color: var(--toastify-text-color-dark); +} + +.Toastify__toast-theme--light { + background: var(--toastify-color-light); + color: var(--toastify-text-color-light); +} + +.Toastify__toast-theme--colored.Toastify__toast--default { + background: var(--toastify-color-light); + color: var(--toastify-text-color-light); +} + +.Toastify__toast-theme--colored.Toastify__toast--info { + color: var(--toastify-text-color-info); + background: var(--toastify-color-info); +} + +.Toastify__toast-theme--colored.Toastify__toast--success { + color: var(--toastify-text-color-success); + background: var(--toastify-color-success); +} + +.Toastify__toast-theme--colored.Toastify__toast--warning { + color: var(--toastify-text-color-warning); + background: var(--toastify-color-warning); +} + +.Toastify__toast-theme--colored.Toastify__toast--error { + color: var(--toastify-text-color-error); + background: var(--toastify-color-error); +} + +.Toastify__progress-bar-theme--light { + background: var(--toastify-color-progress-light); +} + +.Toastify__progress-bar-theme--dark { + background: var(--toastify-color-progress-dark); +} + +.Toastify__progress-bar--info { + background: var(--toastify-color-progress-info); +} + +.Toastify__progress-bar--success { + background: var(--toastify-color-progress-success); +} + +.Toastify__progress-bar--warning { + background: var(--toastify-color-progress-warning); +} + +.Toastify__progress-bar--error { + background: var(--toastify-color-progress-error); +} + +.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info, +.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success, +.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning, +.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error { + background: var(--toastify-color-transparent); +} + +.Toastify__close-button { + color: #fff; + position: absolute; + top: 6px; + right: 6px; + background: transparent; + outline: none; + border: none; + padding: 0; + cursor: pointer; + opacity: 0.7; + transition: 0.3s ease; + z-index: 1; +} + +.Toastify__toast--rtl .Toastify__close-button { + left: 6px; + right: unset; +} + +.Toastify__close-button--light { + color: #000; + opacity: 0.3; +} + +.Toastify__close-button > svg { + fill: currentColor; + height: 16px; + width: 14px; +} + +.Toastify__close-button:hover, +.Toastify__close-button:focus { + opacity: 1; +} + +@keyframes Toastify__trackProgress { + 0% { + transform: scaleX(1); + } + 100% { + transform: scaleX(0); + } +} + +.Toastify__progress-bar { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1; + opacity: 0.7; + transform-origin: left; +} + +.Toastify__progress-bar--animated { + animation: Toastify__trackProgress linear 1 forwards; +} + +.Toastify__progress-bar--controlled { + transition: transform 0.2s; +} + +.Toastify__progress-bar--rtl { + right: 0; + left: initial; + transform-origin: right; + border-bottom-left-radius: initial; +} + +.Toastify__progress-bar--wrp { + position: absolute; + overflow: hidden; + bottom: 0; + left: 0; + width: 100%; + height: 5px; + border-bottom-left-radius: var(--toastify-toast-bd-radius); + border-bottom-right-radius: var(--toastify-toast-bd-radius); +} + +.Toastify__progress-bar--wrp[data-hidden='true'] { + opacity: 0; +} + +.Toastify__progress-bar--bg { + opacity: var(--toastify-color-progress-bgo); + width: 100%; + height: 100%; +} + +.Toastify__spinner { + width: 20px; + height: 20px; + box-sizing: border-box; + border: 2px solid; + border-radius: 100%; + border-color: var(--toastify-spinner-color-empty-area); + border-right-color: var(--toastify-spinner-color); + animation: Toastify__spin 0.65s linear infinite; +} + +@keyframes Toastify__bounceInRight { + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + from { + opacity: 0; + transform: translate3d(3000px, 0, 0); + } + 60% { + opacity: 1; + transform: translate3d(-25px, 0, 0); + } + 75% { + transform: translate3d(10px, 0, 0); + } + 90% { + transform: translate3d(-5px, 0, 0); + } + to { + transform: none; + } +} + +@keyframes Toastify__bounceOutRight { + 20% { + opacity: 1; + transform: translate3d(-20px, var(--y), 0); + } + to { + opacity: 0; + transform: translate3d(2000px, var(--y), 0); + } +} + +@keyframes Toastify__bounceInLeft { + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + 0% { + opacity: 0; + transform: translate3d(-3000px, 0, 0); + } + 60% { + opacity: 1; + transform: translate3d(25px, 0, 0); + } + 75% { + transform: translate3d(-10px, 0, 0); + } + 90% { + transform: translate3d(5px, 0, 0); + } + to { + transform: none; + } +} + +@keyframes Toastify__bounceOutLeft { + 20% { + opacity: 1; + transform: translate3d(20px, var(--y), 0); + } + to { + opacity: 0; + transform: translate3d(-2000px, var(--y), 0); + } +} + +@keyframes Toastify__bounceInUp { + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + from { + opacity: 0; + transform: translate3d(0, 3000px, 0); + } + 60% { + opacity: 1; + transform: translate3d(0, -20px, 0); + } + 75% { + transform: translate3d(0, 10px, 0); + } + 90% { + transform: translate3d(0, -5px, 0); + } + to { + transform: translate3d(0, 0, 0); + } +} + +@keyframes Toastify__bounceOutUp { + 20% { + transform: translate3d(0, calc(var(--y) - 10px), 0); + } + 40%, + 45% { + opacity: 1; + transform: translate3d(0, calc(var(--y) + 20px), 0); + } + to { + opacity: 0; + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes Toastify__bounceInDown { + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + 0% { + opacity: 0; + transform: translate3d(0, -3000px, 0); + } + 60% { + opacity: 1; + transform: translate3d(0, 25px, 0); + } + 75% { + transform: translate3d(0, -10px, 0); + } + 90% { + transform: translate3d(0, 5px, 0); + } + to { + transform: none; + } +} + +@keyframes Toastify__bounceOutDown { + 20% { + transform: translate3d(0, calc(var(--y) - 10px), 0); + } + 40%, + 45% { + opacity: 1; + transform: translate3d(0, calc(var(--y) + 20px), 0); + } + to { + opacity: 0; + transform: translate3d(0, 2000px, 0); + } +} + +.Toastify__bounce-enter--top-left, +.Toastify__bounce-enter--bottom-left { + animation-name: Toastify__bounceInLeft; +} + +.Toastify__bounce-enter--top-right, +.Toastify__bounce-enter--bottom-right { + animation-name: Toastify__bounceInRight; +} + +.Toastify__bounce-enter--top-center { + animation-name: Toastify__bounceInDown; +} + +.Toastify__bounce-enter--bottom-center { + animation-name: Toastify__bounceInUp; +} + +.Toastify__bounce-exit--top-left, +.Toastify__bounce-exit--bottom-left { + animation-name: Toastify__bounceOutLeft; +} + +.Toastify__bounce-exit--top-right, +.Toastify__bounce-exit--bottom-right { + animation-name: Toastify__bounceOutRight; +} + +.Toastify__bounce-exit--top-center { + animation-name: Toastify__bounceOutUp; +} + +.Toastify__bounce-exit--bottom-center { + animation-name: Toastify__bounceOutDown; +} + +@keyframes Toastify__zoomIn { + from { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); + } + 50% { + opacity: 1; + } +} + +@keyframes Toastify__zoomOut { + from { + opacity: 1; + } + 50% { + opacity: 0; + transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3); + } + to { + opacity: 0; + } +} + +.Toastify__zoom-enter { + animation-name: Toastify__zoomIn; +} + +.Toastify__zoom-exit { + animation-name: Toastify__zoomOut; +} + +@keyframes Toastify__flipIn { + from { + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + animation-timing-function: ease-in; + opacity: 0; + } + 40% { + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + animation-timing-function: ease-in; + } + 60% { + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + 80% { + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + to { + transform: perspective(400px); + } +} + +@keyframes Toastify__flipOut { + from { + transform: translate3d(0, var(--y), 0) perspective(400px); + } + 30% { + transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + to { + transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.Toastify__flip-enter { + animation-name: Toastify__flipIn; +} + +.Toastify__flip-exit { + animation-name: Toastify__flipOut; +} + +@keyframes Toastify__slideInRight { + from { + transform: translate3d(110%, 0, 0); + visibility: visible; + } + to { + transform: translate3d(0, var(--y), 0); + } +} + +@keyframes Toastify__slideInLeft { + from { + transform: translate3d(-110%, 0, 0); + visibility: visible; + } + to { + transform: translate3d(0, var(--y), 0); + } +} + +@keyframes Toastify__slideInUp { + from { + transform: translate3d(0, 110%, 0); + visibility: visible; + } + to { + transform: translate3d(0, var(--y), 0); + } +} + +@keyframes Toastify__slideInDown { + from { + transform: translate3d(0, -110%, 0); + visibility: visible; + } + to { + transform: translate3d(0, var(--y), 0); + } +} + +@keyframes Toastify__slideOutRight { + from { + transform: translate3d(0, var(--y), 0); + } + to { + visibility: hidden; + transform: translate3d(110%, var(--y), 0); + } +} + +@keyframes Toastify__slideOutLeft { + from { + transform: translate3d(0, var(--y), 0); + } + to { + visibility: hidden; + transform: translate3d(-110%, var(--y), 0); + } +} + +@keyframes Toastify__slideOutDown { + from { + transform: translate3d(0, var(--y), 0); + } + to { + visibility: hidden; + transform: translate3d(0, 500px, 0); + } +} + +@keyframes Toastify__slideOutUp { + from { + transform: translate3d(0, var(--y), 0); + } + to { + visibility: hidden; + transform: translate3d(0, -500px, 0); + } +} + +.Toastify__slide-enter--top-left, +.Toastify__slide-enter--bottom-left { + animation-name: Toastify__slideInLeft; +} + +.Toastify__slide-enter--top-right, +.Toastify__slide-enter--bottom-right { + animation-name: Toastify__slideInRight; +} + +.Toastify__slide-enter--top-center { + animation-name: Toastify__slideInDown; +} + +.Toastify__slide-enter--bottom-center { + animation-name: Toastify__slideInUp; +} + +.Toastify__slide-exit--top-left, +.Toastify__slide-exit--bottom-left { + animation-name: Toastify__slideOutLeft; + animation-timing-function: ease-in; + animation-duration: 0.3s; +} + +.Toastify__slide-exit--top-right, +.Toastify__slide-exit--bottom-right { + animation-name: Toastify__slideOutRight; + animation-timing-function: ease-in; + animation-duration: 0.3s; +} + +.Toastify__slide-exit--top-center { + animation-name: Toastify__slideOutUp; + animation-timing-function: ease-in; + animation-duration: 0.3s; +} + +.Toastify__slide-exit--bottom-center { + animation-name: Toastify__slideOutDown; + animation-timing-function: ease-in; + animation-duration: 0.3s; +} + +@keyframes Toastify__spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.d.mts b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.d.mts new file mode 100644 index 000000000..e50888d1f --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.d.mts @@ -0,0 +1,410 @@ +import * as React from 'react'; +import React__default, { HTMLAttributes } from 'react'; + +interface CloseButtonProps { + closeToast: CloseToastFunc; + type: TypeOptions; + ariaLabel?: string; + theme: Theme; +} +declare function CloseButton({ closeToast, theme, ariaLabel }: CloseButtonProps): React__default.JSX.Element; + +declare function ToastContainer(props: ToastContainerProps): React__default.JSX.Element; + +declare const Bounce: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Slide: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Zoom: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Flip: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; + +/** + * Used when providing custom icon + */ +interface IconProps { + theme: Theme; + type: TypeOptions; + isLoading?: boolean; +} +type BuiltInIconProps = React__default.SVGProps & IconProps; +declare function Warning(props: BuiltInIconProps): React__default.JSX.Element; +declare function Info(props: BuiltInIconProps): React__default.JSX.Element; +declare function Success(props: BuiltInIconProps): React__default.JSX.Element; +declare function Error(props: BuiltInIconProps): React__default.JSX.Element; +declare function Spinner(): React__default.JSX.Element; +declare const Icons: { + info: typeof Info; + warning: typeof Warning; + success: typeof Success; + error: typeof Error; + spinner: typeof Spinner; +}; + +declare function isToastActive(id: Id, containerId?: Id): boolean; +declare const clearWaitingQueue: (p?: ClearWaitingQueueParams) => void; + +type Nullable = { + [P in keyof T]: T[P] | null; +}; +type TypeOptions = 'info' | 'success' | 'warning' | 'error' | 'default'; +type Theme = 'light' | 'dark' | 'colored' | (string & {}); +type ToastPosition = 'top-right' | 'top-center' | 'top-left' | 'bottom-right' | 'bottom-center' | 'bottom-left'; +type CloseToastFunc = ((reason?: boolean | string) => void) & ((e: React__default.MouseEvent) => void); +interface ToastContentProps { + closeToast: CloseToastFunc; + toastProps: ToastProps; + isPaused: boolean; + data: Data; +} +type ToastContent = React__default.ReactNode | ((props: ToastContentProps) => React__default.ReactNode); +type ToastIcon = false | ((props: IconProps) => React__default.ReactNode) | React__default.ReactElement; +type Id = number | string; +type ToastTransition = React__default.FC | React__default.ComponentClass; +/** + * ClassName for the elements - can take a function to build a classname or a raw string that is cx'ed to defaults + */ +type ToastClassName = ((context?: { + type?: TypeOptions; + defaultClassName?: string; + position?: ToastPosition; + rtl?: boolean; +}) => string) | string; +interface ClearWaitingQueueParams { + containerId?: Id; +} +type DraggableDirection = 'x' | 'y'; +interface CommonOptions { + /** + * Pause the timer when the mouse hover the toast. + * `Default: true` + */ + pauseOnHover?: boolean; + /** + * Pause the toast when the window loses focus. + * `Default: true` + */ + pauseOnFocusLoss?: boolean; + /** + * Remove the toast when clicked. + * `Default: false` + */ + closeOnClick?: boolean; + /** + * Set the delay in ms to close the toast automatically. + * Use `false` to prevent the toast from closing. + * `Default: 5000` + */ + autoClose?: number | false; + /** + * Set the default position to use. + * `One of: 'top-right', 'top-center', 'top-left', 'bottom-right', 'bottom-center', 'bottom-left'` + * `Default: 'top-right'` + */ + position?: ToastPosition; + /** + * Pass a custom close button. + * To remove the close button pass `false` + */ + closeButton?: boolean | ((props: CloseButtonProps) => React__default.ReactNode) | React__default.ReactElement; + /** + * An optional css class to set for the progress bar. + */ + progressClassName?: ToastClassName; + /** + * Hide or show the progress bar. + * `Default: false` + */ + hideProgressBar?: boolean; + /** + * Pass a custom transition see https://fkhadra.github.io/react-toastify/custom-animation/ + */ + transition?: ToastTransition; + /** + * Allow toast to be draggable + * `Default: 'touch'` + */ + draggable?: boolean | 'mouse' | 'touch'; + /** + * The percentage of the toast's width it takes for a drag to dismiss a toast + * `Default: 80` + */ + draggablePercent?: number; + /** + * Specify in which direction should you swipe to dismiss the toast + * `Default: "x"` + */ + draggableDirection?: DraggableDirection; + /** + * Define the ARIA role for the toast + * `Default: alert` + * https://www.w3.org/WAI/PF/aria/roles + */ + role?: string; + /** + * Set id to handle multiple container + */ + containerId?: Id; + /** + * Fired when clicking inside toaster + */ + onClick?: (event: React__default.MouseEvent) => void; + /** + * Support right to left display. + * `Default: false` + */ + rtl?: boolean; + /** + * Used to display a custom icon. Set it to `false` to prevent + * the icons from being displayed + */ + icon?: ToastIcon; + /** + * Theme to use. + * `One of: 'light', 'dark', 'colored'` + * `Default: 'light'` + */ + theme?: Theme; + /** + * When set to `true` the built-in progress bar won't be rendered at all. Autoclose delay won't have any effect as well + * This is only used when you want to replace the progress bar with your own. + * + * See https://stackblitz.com/edit/react-toastify-custom-progress-bar?file=src%2FApp.tsx for an example. + */ + customProgressBar?: boolean; +} +interface ToastOptions extends CommonOptions { + /** + * An optional css class to set. + */ + className?: ToastClassName; + /** + * Called when toast is mounted. + */ + onOpen?: () => void; + /** + * Called when toast is unmounted. + * The callback first argument is the closure reason. + * It is "true" when the notification is closed by a user action like clicking on the close button. + */ + onClose?: (reason?: boolean | string) => void; + /** + * An optional inline style to apply. + */ + style?: React__default.CSSProperties; + /** + * Set the toast type. + * `One of: 'info', 'success', 'warning', 'error', 'default'` + */ + type?: TypeOptions; + /** + * Set a custom `toastId` + */ + toastId?: Id; + /** + * Used during update + */ + updateId?: Id; + /** + * Set the percentage for the controlled progress bar. `Value must be between 0 and 1.` + */ + progress?: number; + /** + * Let you provide any data, useful when you are using your own component + */ + data?: Data; + /** + * Let you specify the aria-label + */ + ariaLabel?: string; + /** + * Add a delay in ms before the toast appear. + */ + delay?: number; + isLoading?: boolean; +} +interface UpdateOptions extends Nullable> { + /** + * Used to update a toast. + * Pass any valid ReactNode(string, number, component) + */ + render?: ToastContent; +} +interface ToastContainerProps extends CommonOptions, Pick, 'aria-label'> { + /** + * An optional css class to set. + */ + className?: ToastClassName; + /** + * Will stack the toast with the newest on the top. + */ + stacked?: boolean; + /** + * Whether or not to display the newest toast on top. + * `Default: false` + */ + newestOnTop?: boolean; + /** + * An optional inline style to apply. + */ + style?: React__default.CSSProperties; + /** + * An optional inline style to apply for the toast. + */ + toastStyle?: React__default.CSSProperties; + /** + * An optional css class for the toast. + */ + toastClassName?: ToastClassName; + /** + * Limit the number of toast displayed at the same time + */ + limit?: number; + /** + * Shortcut to focus the first notification with the keyboard + * `default: Alt+t` + * + * ``` + * // focus when user presses ⌘ + F + * const matchShortcut = (e: KeyboardEvent) => e.metaKey && e.key === 'f' + * ``` + */ + hotKeys?: (e: KeyboardEvent) => boolean; +} +interface ToastTransitionProps { + isIn: boolean; + done: () => void; + position: ToastPosition | string; + preventExitTransition: boolean; + nodeRef: React__default.RefObject; + children?: React__default.ReactNode; + playToast(): void; +} +/** + * @INTERNAL + */ +interface ToastProps extends ToastOptions { + isIn: boolean; + staleId?: Id; + toastId: Id; + key: Id; + transition: ToastTransition; + closeToast: CloseToastFunc; + position: ToastPosition; + children?: ToastContent; + draggablePercent: number; + draggableDirection?: DraggableDirection; + progressClassName?: ToastClassName; + className?: ToastClassName; + deleteToast: () => void; + theme: Theme; + type: TypeOptions; + collapseAll: () => void; + stacked?: boolean; +} +type ToastItemStatus = 'added' | 'removed' | 'updated'; +interface ToastItem { + content: ToastContent; + id: Id; + theme?: Theme; + type?: TypeOptions; + isLoading?: boolean; + containerId?: Id; + data: Data; + icon?: ToastIcon; + status: ToastItemStatus; + reason?: boolean | string; +} +type OnChangeCallback = (toast: ToastItem) => void; +type IdOpts = { + id?: Id; + containerId?: Id; +}; +type ClearWaitingQueueFunc = typeof clearWaitingQueue; + +declare const enum Default { + COLLAPSE_DURATION = 300, + DEBOUNCE_DURATION = 50, + CSS_NAMESPACE = "Toastify", + DRAGGABLE_PERCENT = 80, + CONTAINER_ID = 1 +} + +interface CSSTransitionProps { + /** + * Css class to apply when toast enter + */ + enter: string; + /** + * Css class to apply when toast leave + */ + exit: string; + /** + * Append current toast position to the classname. + * If multiple classes are provided, only the last one will get the position + * For instance `myclass--top-center`... + * `Default: false` + */ + appendPosition?: boolean; + /** + * Collapse toast smoothly when exit animation end + * `Default: true` + */ + collapse?: boolean; + /** + * Collapse transition duration + * `Default: 300` + */ + collapseDuration?: number; +} +/** + * Css animation that just work. + * You could use animate.css for instance + * + * + * ``` + * cssTransition({ + * enter: "animate__animated animate__bounceIn", + * exit: "animate__animated animate__bounceOut" + * }) + * ``` + * + */ +declare function cssTransition({ enter, exit, appendPosition, collapse, collapseDuration }: CSSTransitionProps): ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React__default.JSX.Element; + +/** + * Used to collapse toast after exit animation + */ +declare function collapseToast(node: HTMLElement, done: () => void, duration?: Default): void; + +declare function toast(content: ToastContent, options?: ToastOptions): Id; +declare namespace toast { + var loading: (content: ToastContent, options?: ToastOptions) => Id; + var promise: typeof handlePromise; + var success: (content: ToastContent, options?: ToastOptions) => Id; + var info: (content: ToastContent, options?: ToastOptions) => Id; + var error: (content: ToastContent, options?: ToastOptions) => Id; + var warning: (content: ToastContent, options?: ToastOptions) => Id; + var warn: (content: ToastContent, options?: ToastOptions) => Id; + var dark: (content: ToastContent, options?: ToastOptions) => Id; + var dismiss: { + (params: RemoveParams): void; + (params?: Id): void; + }; + var clearWaitingQueue: (p?: ClearWaitingQueueParams) => void; + var isActive: typeof isToastActive; + var update: (toastId: Id, options?: UpdateOptions) => void; + var done: (id: Id) => void; + var onChange: (cb: OnChangeCallback) => () => void; + var play: (opts?: IdOpts) => void; + var pause: (opts?: IdOpts) => void; +} +interface ToastPromiseParams { + pending?: string | UpdateOptions; + success?: string | UpdateOptions; + error?: string | UpdateOptions; +} +declare function handlePromise(promise: Promise | (() => Promise), { pending, error, success }: ToastPromiseParams, options?: ToastOptions): Promise; +interface RemoveParams { + id?: Id; + containerId: Id; +} + +export { Bounce, type ClearWaitingQueueFunc, type ClearWaitingQueueParams, CloseButton, type CloseButtonProps, type DraggableDirection, Flip, type IconProps, Icons, type Id, type OnChangeCallback, Slide, type Theme, type ToastClassName, ToastContainer, type ToastContainerProps, type ToastContent, type ToastContentProps, type ToastIcon, type ToastItem, type ToastOptions, type ToastPosition, type ToastPromiseParams, type ToastTransition, type ToastTransitionProps, type TypeOptions, type UpdateOptions, Zoom, collapseToast, cssTransition, toast }; diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.d.ts b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.d.ts new file mode 100644 index 000000000..e50888d1f --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.d.ts @@ -0,0 +1,410 @@ +import * as React from 'react'; +import React__default, { HTMLAttributes } from 'react'; + +interface CloseButtonProps { + closeToast: CloseToastFunc; + type: TypeOptions; + ariaLabel?: string; + theme: Theme; +} +declare function CloseButton({ closeToast, theme, ariaLabel }: CloseButtonProps): React__default.JSX.Element; + +declare function ToastContainer(props: ToastContainerProps): React__default.JSX.Element; + +declare const Bounce: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Slide: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Zoom: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Flip: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; + +/** + * Used when providing custom icon + */ +interface IconProps { + theme: Theme; + type: TypeOptions; + isLoading?: boolean; +} +type BuiltInIconProps = React__default.SVGProps & IconProps; +declare function Warning(props: BuiltInIconProps): React__default.JSX.Element; +declare function Info(props: BuiltInIconProps): React__default.JSX.Element; +declare function Success(props: BuiltInIconProps): React__default.JSX.Element; +declare function Error(props: BuiltInIconProps): React__default.JSX.Element; +declare function Spinner(): React__default.JSX.Element; +declare const Icons: { + info: typeof Info; + warning: typeof Warning; + success: typeof Success; + error: typeof Error; + spinner: typeof Spinner; +}; + +declare function isToastActive(id: Id, containerId?: Id): boolean; +declare const clearWaitingQueue: (p?: ClearWaitingQueueParams) => void; + +type Nullable = { + [P in keyof T]: T[P] | null; +}; +type TypeOptions = 'info' | 'success' | 'warning' | 'error' | 'default'; +type Theme = 'light' | 'dark' | 'colored' | (string & {}); +type ToastPosition = 'top-right' | 'top-center' | 'top-left' | 'bottom-right' | 'bottom-center' | 'bottom-left'; +type CloseToastFunc = ((reason?: boolean | string) => void) & ((e: React__default.MouseEvent) => void); +interface ToastContentProps { + closeToast: CloseToastFunc; + toastProps: ToastProps; + isPaused: boolean; + data: Data; +} +type ToastContent = React__default.ReactNode | ((props: ToastContentProps) => React__default.ReactNode); +type ToastIcon = false | ((props: IconProps) => React__default.ReactNode) | React__default.ReactElement; +type Id = number | string; +type ToastTransition = React__default.FC | React__default.ComponentClass; +/** + * ClassName for the elements - can take a function to build a classname or a raw string that is cx'ed to defaults + */ +type ToastClassName = ((context?: { + type?: TypeOptions; + defaultClassName?: string; + position?: ToastPosition; + rtl?: boolean; +}) => string) | string; +interface ClearWaitingQueueParams { + containerId?: Id; +} +type DraggableDirection = 'x' | 'y'; +interface CommonOptions { + /** + * Pause the timer when the mouse hover the toast. + * `Default: true` + */ + pauseOnHover?: boolean; + /** + * Pause the toast when the window loses focus. + * `Default: true` + */ + pauseOnFocusLoss?: boolean; + /** + * Remove the toast when clicked. + * `Default: false` + */ + closeOnClick?: boolean; + /** + * Set the delay in ms to close the toast automatically. + * Use `false` to prevent the toast from closing. + * `Default: 5000` + */ + autoClose?: number | false; + /** + * Set the default position to use. + * `One of: 'top-right', 'top-center', 'top-left', 'bottom-right', 'bottom-center', 'bottom-left'` + * `Default: 'top-right'` + */ + position?: ToastPosition; + /** + * Pass a custom close button. + * To remove the close button pass `false` + */ + closeButton?: boolean | ((props: CloseButtonProps) => React__default.ReactNode) | React__default.ReactElement; + /** + * An optional css class to set for the progress bar. + */ + progressClassName?: ToastClassName; + /** + * Hide or show the progress bar. + * `Default: false` + */ + hideProgressBar?: boolean; + /** + * Pass a custom transition see https://fkhadra.github.io/react-toastify/custom-animation/ + */ + transition?: ToastTransition; + /** + * Allow toast to be draggable + * `Default: 'touch'` + */ + draggable?: boolean | 'mouse' | 'touch'; + /** + * The percentage of the toast's width it takes for a drag to dismiss a toast + * `Default: 80` + */ + draggablePercent?: number; + /** + * Specify in which direction should you swipe to dismiss the toast + * `Default: "x"` + */ + draggableDirection?: DraggableDirection; + /** + * Define the ARIA role for the toast + * `Default: alert` + * https://www.w3.org/WAI/PF/aria/roles + */ + role?: string; + /** + * Set id to handle multiple container + */ + containerId?: Id; + /** + * Fired when clicking inside toaster + */ + onClick?: (event: React__default.MouseEvent) => void; + /** + * Support right to left display. + * `Default: false` + */ + rtl?: boolean; + /** + * Used to display a custom icon. Set it to `false` to prevent + * the icons from being displayed + */ + icon?: ToastIcon; + /** + * Theme to use. + * `One of: 'light', 'dark', 'colored'` + * `Default: 'light'` + */ + theme?: Theme; + /** + * When set to `true` the built-in progress bar won't be rendered at all. Autoclose delay won't have any effect as well + * This is only used when you want to replace the progress bar with your own. + * + * See https://stackblitz.com/edit/react-toastify-custom-progress-bar?file=src%2FApp.tsx for an example. + */ + customProgressBar?: boolean; +} +interface ToastOptions extends CommonOptions { + /** + * An optional css class to set. + */ + className?: ToastClassName; + /** + * Called when toast is mounted. + */ + onOpen?: () => void; + /** + * Called when toast is unmounted. + * The callback first argument is the closure reason. + * It is "true" when the notification is closed by a user action like clicking on the close button. + */ + onClose?: (reason?: boolean | string) => void; + /** + * An optional inline style to apply. + */ + style?: React__default.CSSProperties; + /** + * Set the toast type. + * `One of: 'info', 'success', 'warning', 'error', 'default'` + */ + type?: TypeOptions; + /** + * Set a custom `toastId` + */ + toastId?: Id; + /** + * Used during update + */ + updateId?: Id; + /** + * Set the percentage for the controlled progress bar. `Value must be between 0 and 1.` + */ + progress?: number; + /** + * Let you provide any data, useful when you are using your own component + */ + data?: Data; + /** + * Let you specify the aria-label + */ + ariaLabel?: string; + /** + * Add a delay in ms before the toast appear. + */ + delay?: number; + isLoading?: boolean; +} +interface UpdateOptions extends Nullable> { + /** + * Used to update a toast. + * Pass any valid ReactNode(string, number, component) + */ + render?: ToastContent; +} +interface ToastContainerProps extends CommonOptions, Pick, 'aria-label'> { + /** + * An optional css class to set. + */ + className?: ToastClassName; + /** + * Will stack the toast with the newest on the top. + */ + stacked?: boolean; + /** + * Whether or not to display the newest toast on top. + * `Default: false` + */ + newestOnTop?: boolean; + /** + * An optional inline style to apply. + */ + style?: React__default.CSSProperties; + /** + * An optional inline style to apply for the toast. + */ + toastStyle?: React__default.CSSProperties; + /** + * An optional css class for the toast. + */ + toastClassName?: ToastClassName; + /** + * Limit the number of toast displayed at the same time + */ + limit?: number; + /** + * Shortcut to focus the first notification with the keyboard + * `default: Alt+t` + * + * ``` + * // focus when user presses ⌘ + F + * const matchShortcut = (e: KeyboardEvent) => e.metaKey && e.key === 'f' + * ``` + */ + hotKeys?: (e: KeyboardEvent) => boolean; +} +interface ToastTransitionProps { + isIn: boolean; + done: () => void; + position: ToastPosition | string; + preventExitTransition: boolean; + nodeRef: React__default.RefObject; + children?: React__default.ReactNode; + playToast(): void; +} +/** + * @INTERNAL + */ +interface ToastProps extends ToastOptions { + isIn: boolean; + staleId?: Id; + toastId: Id; + key: Id; + transition: ToastTransition; + closeToast: CloseToastFunc; + position: ToastPosition; + children?: ToastContent; + draggablePercent: number; + draggableDirection?: DraggableDirection; + progressClassName?: ToastClassName; + className?: ToastClassName; + deleteToast: () => void; + theme: Theme; + type: TypeOptions; + collapseAll: () => void; + stacked?: boolean; +} +type ToastItemStatus = 'added' | 'removed' | 'updated'; +interface ToastItem { + content: ToastContent; + id: Id; + theme?: Theme; + type?: TypeOptions; + isLoading?: boolean; + containerId?: Id; + data: Data; + icon?: ToastIcon; + status: ToastItemStatus; + reason?: boolean | string; +} +type OnChangeCallback = (toast: ToastItem) => void; +type IdOpts = { + id?: Id; + containerId?: Id; +}; +type ClearWaitingQueueFunc = typeof clearWaitingQueue; + +declare const enum Default { + COLLAPSE_DURATION = 300, + DEBOUNCE_DURATION = 50, + CSS_NAMESPACE = "Toastify", + DRAGGABLE_PERCENT = 80, + CONTAINER_ID = 1 +} + +interface CSSTransitionProps { + /** + * Css class to apply when toast enter + */ + enter: string; + /** + * Css class to apply when toast leave + */ + exit: string; + /** + * Append current toast position to the classname. + * If multiple classes are provided, only the last one will get the position + * For instance `myclass--top-center`... + * `Default: false` + */ + appendPosition?: boolean; + /** + * Collapse toast smoothly when exit animation end + * `Default: true` + */ + collapse?: boolean; + /** + * Collapse transition duration + * `Default: 300` + */ + collapseDuration?: number; +} +/** + * Css animation that just work. + * You could use animate.css for instance + * + * + * ``` + * cssTransition({ + * enter: "animate__animated animate__bounceIn", + * exit: "animate__animated animate__bounceOut" + * }) + * ``` + * + */ +declare function cssTransition({ enter, exit, appendPosition, collapse, collapseDuration }: CSSTransitionProps): ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React__default.JSX.Element; + +/** + * Used to collapse toast after exit animation + */ +declare function collapseToast(node: HTMLElement, done: () => void, duration?: Default): void; + +declare function toast(content: ToastContent, options?: ToastOptions): Id; +declare namespace toast { + var loading: (content: ToastContent, options?: ToastOptions) => Id; + var promise: typeof handlePromise; + var success: (content: ToastContent, options?: ToastOptions) => Id; + var info: (content: ToastContent, options?: ToastOptions) => Id; + var error: (content: ToastContent, options?: ToastOptions) => Id; + var warning: (content: ToastContent, options?: ToastOptions) => Id; + var warn: (content: ToastContent, options?: ToastOptions) => Id; + var dark: (content: ToastContent, options?: ToastOptions) => Id; + var dismiss: { + (params: RemoveParams): void; + (params?: Id): void; + }; + var clearWaitingQueue: (p?: ClearWaitingQueueParams) => void; + var isActive: typeof isToastActive; + var update: (toastId: Id, options?: UpdateOptions) => void; + var done: (id: Id) => void; + var onChange: (cb: OnChangeCallback) => () => void; + var play: (opts?: IdOpts) => void; + var pause: (opts?: IdOpts) => void; +} +interface ToastPromiseParams { + pending?: string | UpdateOptions; + success?: string | UpdateOptions; + error?: string | UpdateOptions; +} +declare function handlePromise(promise: Promise | (() => Promise), { pending, error, success }: ToastPromiseParams, options?: ToastOptions): Promise; +interface RemoveParams { + id?: Id; + containerId: Id; +} + +export { Bounce, type ClearWaitingQueueFunc, type ClearWaitingQueueParams, CloseButton, type CloseButtonProps, type DraggableDirection, Flip, type IconProps, Icons, type Id, type OnChangeCallback, Slide, type Theme, type ToastClassName, ToastContainer, type ToastContainerProps, type ToastContent, type ToastContentProps, type ToastIcon, type ToastItem, type ToastOptions, type ToastPosition, type ToastPromiseParams, type ToastTransition, type ToastTransitionProps, type TypeOptions, type UpdateOptions, Zoom, collapseToast, cssTransition, toast }; diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.js b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.js new file mode 100644 index 000000000..b6bea9b7e --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.js @@ -0,0 +1,4 @@ +"use client"; +var Vt=Object.create;var K=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Wt=Object.getOwnPropertyNames;var Gt=Object.getPrototypeOf,qt=Object.prototype.hasOwnProperty;var Kt=(t,o)=>{for(var e in o)K(t,e,{get:o[e],enumerable:!0})},Ct=(t,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of Wt(o))!qt.call(t,a)&&a!==e&&K(t,a,{get:()=>o[a],enumerable:!(n=Qt(o,a))||n.enumerable});return t};var w=(t,o,e)=>(e=t!=null?Vt(Gt(t)):{},Ct(o||!t||!t.__esModule?K(e,"default",{value:t,enumerable:!0}):e,t)),Yt=t=>Ct(K({},"__esModule",{value:!0}),t);var uo={};Kt(uo,{Bounce:()=>lt,Flip:()=>Xt,Icons:()=>G,Slide:()=>Ut,ToastContainer:()=>bt,Zoom:()=>Ht,collapseToast:()=>Y,cssTransition:()=>F,toast:()=>y});module.exports=Yt(uo);function jt(t){if(!t||typeof document=="undefined")return;let o=document.head||document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",o.firstChild?o.insertBefore(e,o.firstChild):o.appendChild(e),e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}jt(`:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}} +`);var xt=require("react"),z=t=>typeof t=="number"&&!isNaN(t),D=t=>typeof t=="string",P=t=>typeof t=="function",Et=t=>D(t)||z(t),X=t=>D(t)||P(t)?t:null,Pt=(t,o)=>t===!1||z(t)&&t>0?t:o,V=t=>(0,xt.isValidElement)(t)||D(t)||P(t)||z(t);var M=w(require("react"));function Y(t,o,e=300){let{scrollHeight:n,style:a}=t;requestAnimationFrame(()=>{a.minHeight="initial",a.height=n+"px",a.transition=`all ${e}ms`,requestAnimationFrame(()=>{a.height="0",a.padding="0",a.margin="0",setTimeout(o,e)})})}function F({enter:t,exit:o,appendPosition:e=!1,collapse:n=!0,collapseDuration:a=300}){return function({children:s,position:d,preventExitTransition:c,done:T,nodeRef:g,isIn:v,playToast:x}){let C=e?`${t}--${d}`:t,k=e?`${o}--${d}`:o,E=(0,M.useRef)(0);return(0,M.useLayoutEffect)(()=>{let f=g.current,p=C.split(" "),b=r=>{r.target===g.current&&(x(),f.removeEventListener("animationend",b),f.removeEventListener("animationcancel",b),E.current===0&&r.type!=="animationcancel"&&f.classList.remove(...p))};(()=>{f.classList.add(...p),f.addEventListener("animationend",b),f.addEventListener("animationcancel",b)})()},[]),(0,M.useEffect)(()=>{let f=g.current,p=()=>{f.removeEventListener("animationend",p),n?Y(f,T,a):T()};v||(c?p():(()=>{E.current=1,f.className+=` ${k}`,f.addEventListener("animationend",p)})())},[v]),M.default.createElement(M.default.Fragment,null,s)}}var j=require("react");function dt(t,o){return{content:mt(t.content,t.props),containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,reason:t.removalReason,status:o}}function mt(t,o,e=!1){return(0,j.isValidElement)(t)&&!D(t.type)?(0,j.cloneElement)(t,{closeToast:o.closeToast,toastProps:o,data:o.data,isPaused:e}):P(t)?t({closeToast:o.closeToast,toastProps:o,data:o.data,isPaused:e}):t}var Z=w(require("react"));function It({closeToast:t,theme:o,ariaLabel:e="close"}){return Z.default.createElement("button",{className:`Toastify__close-button Toastify__close-button--${o}`,type:"button",onClick:n=>{n.stopPropagation(),t(!0)},"aria-label":e},Z.default.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},Z.default.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}var J=w(require("react")),pt=w(require("clsx"));function St({delay:t,isRunning:o,closeToast:e,type:n="default",hide:a,className:l,controlledProgress:s,progress:d,rtl:c,isIn:T,theme:g}){let v=a||s&&d===0,x={animationDuration:`${t}ms`,animationPlayState:o?"running":"paused"};s&&(x.transform=`scaleX(${d})`);let C=(0,pt.default)("Toastify__progress-bar",s?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${g}`,`Toastify__progress-bar--${n}`,{["Toastify__progress-bar--rtl"]:c}),k=P(l)?l({rtl:c,type:n,defaultClassName:C}):(0,pt.default)(C,l),E={[s&&d>=1?"onTransitionEnd":"onAnimationEnd"]:s&&d<1?null:()=>{T&&e()}};return J.default.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":v},J.default.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${g} Toastify__progress-bar--${n}`}),J.default.createElement("div",{role:"progressbar","aria-hidden":v?"true":"false","aria-label":"notification timer",className:k,style:x,...E}))}var _t=w(require("clsx")),N=w(require("react"));var Jt=1,ut=()=>`${Jt++}`;function kt(t,o,e){let n=1,a=0,l=[],s=[],d=o,c=new Map,T=new Set,g=i=>(T.add(i),()=>T.delete(i)),v=()=>{s=Array.from(c.values()),T.forEach(i=>i())},x=({containerId:i,toastId:r,updateId:u})=>{let h=i?i!==t:t!==1,m=c.has(r)&&u==null;return h||m},C=(i,r)=>{c.forEach(u=>{var h;(r==null||r===u.props.toastId)&&((h=u.toggle)==null||h.call(u,i))})},k=i=>{var r,u;(u=(r=i.props)==null?void 0:r.onClose)==null||u.call(r,i.removalReason),i.isActive=!1},E=i=>{if(i==null)c.forEach(k);else{let r=c.get(i);r&&k(r)}v()},f=()=>{a-=l.length,l=[]},p=i=>{var m,_;let{toastId:r,updateId:u}=i.props,h=u==null;i.staleId&&c.delete(i.staleId),i.isActive=!0,c.set(r,i),v(),e(dt(i,h?"added":"updated")),h&&((_=(m=i.props).onOpen)==null||_.call(m))};return{id:t,props:d,observe:g,toggle:C,removeToast:E,toasts:c,clearQueue:f,buildToast:(i,r)=>{if(x(r))return;let{toastId:u,updateId:h,data:m,staleId:_,delay:A}=r,U=h==null;U&&a++;let O={...d,style:d.toastStyle,key:n++,...Object.fromEntries(Object.entries(r).filter(([R,ct])=>ct!=null)),toastId:u,updateId:h,data:m,isIn:!1,className:X(r.className||d.toastClassName),progressClassName:X(r.progressClassName||d.progressClassName),autoClose:r.isLoading?!1:Pt(r.autoClose,d.autoClose),closeToast(R){c.get(u).removalReason=R,E(u)},deleteToast(){let R=c.get(u);if(R!=null){if(e(dt(R,"removed")),c.delete(u),a--,a<0&&(a=0),l.length>0){p(l.shift());return}v()}}};O.closeButton=d.closeButton,r.closeButton===!1||V(r.closeButton)?O.closeButton=r.closeButton:r.closeButton===!0&&(O.closeButton=V(d.closeButton)?d.closeButton:!0);let H={content:i,props:O,staleId:_};d.limit&&d.limit>0&&a>d.limit&&U?l.push(H):z(A)?setTimeout(()=>{p(H)},A):p(H)},setProps(i){d=i},setToggle:(i,r)=>{let u=c.get(i);u&&(u.toggle=r)},isToastActive:i=>{var r;return(r=c.get(i))==null?void 0:r.isActive},getSnapshot:()=>s}}var I=new Map,Q=[],yt=new Set,to=t=>yt.forEach(o=>o(t)),At=()=>I.size>0;function oo(){Q.forEach(t=>Tt(t.content,t.options)),Q=[]}var Ot=(t,{containerId:o})=>{var e;return(e=I.get(o||1))==null?void 0:e.toasts.get(t)};function tt(t,o){var n;if(o)return!!((n=I.get(o))!=null&&n.isToastActive(t));let e=!1;return I.forEach(a=>{a.isToastActive(t)&&(e=!0)}),e}function Nt(t){if(!At()){Q=Q.filter(o=>t!=null&&o.options.toastId!==t);return}if(t==null||Et(t))I.forEach(o=>{o.removeToast(t)});else if(t&&("containerId"in t||"id"in t)){let o=I.get(t.containerId);o?o.removeToast(t.id):I.forEach(e=>{e.removeToast(t.id)})}}var wt=(t={})=>{I.forEach(o=>{o.props.limit&&(!t.containerId||o.id===t.containerId)&&o.clearQueue()})};function Tt(t,o){V(t)&&(At()||Q.push({content:t,options:o}),I.forEach(e=>{e.buildToast(t,o)}))}function Dt(t){var o;(o=I.get(t.containerId||1))==null||o.setToggle(t.id,t.fn)}function gt(t,o){I.forEach(e=>{(o==null||!(o!=null&&o.containerId)||(o==null?void 0:o.containerId)===e.id)&&e.toggle(t,o==null?void 0:o.id)})}function Lt(t){let o=t.containerId||1;return{subscribe(e){let n=kt(o,t,to);I.set(o,n);let a=n.observe(e);return oo(),()=>{a(),I.delete(o)}},setProps(e){var n;(n=I.get(o))==null||n.setProps(e)},getSnapshot(){var e;return(e=I.get(o))==null?void 0:e.getSnapshot()}}}function Mt(t){return yt.add(t),()=>{yt.delete(t)}}function eo(t){return t&&(D(t.toastId)||z(t.toastId))?t.toastId:ut()}function W(t,o){return Tt(t,o),o.toastId}function ot(t,o){return{...o,type:o&&o.type||t,toastId:eo(o)}}function et(t){return(o,e)=>W(o,ot(t,e))}function y(t,o){return W(t,ot("default",o))}y.loading=(t,o)=>W(t,ot("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...o}));function ao(t,{pending:o,error:e,success:n},a){let l;o&&(l=D(o)?y.loading(o,a):y.loading(o.render,{...a,...o}));let s={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},d=(T,g,v)=>{if(g==null){y.dismiss(l);return}let x={type:T,...s,...a,data:v},C=D(g)?{render:g}:g;return l?y.update(l,{...x,...C}):y(C.render,{...x,...C}),v},c=P(t)?t():t;return c.then(T=>d("success",n,T)).catch(T=>d("error",e,T)),c}y.promise=ao;y.success=et("success");y.info=et("info");y.error=et("error");y.warning=et("warning");y.warn=y.warning;y.dark=(t,o)=>W(t,ot("default",{theme:"dark",...o}));function so(t){Nt(t)}y.dismiss=so;y.clearWaitingQueue=wt;y.isActive=tt;y.update=(t,o={})=>{let e=Ot(t,o);if(e){let{props:n,content:a}=e,l={delay:100,...n,...o,toastId:o.toastId||t,updateId:ut()};l.toastId!==t&&(l.staleId=t);let s=l.render||a;delete l.render,W(s,l)}};y.done=t=>{y.update(t,{progress:1})};y.onChange=Mt;y.play=t=>gt(!0,t);y.pause=t=>gt(!1,t);var at=require("react");function $t(t){var s;let{subscribe:o,getSnapshot:e,setProps:n}=(0,at.useRef)(Lt(t)).current;n(t);let a=(s=(0,at.useSyncExternalStore)(o,e,e))==null?void 0:s.slice();function l(d){if(!a)return[];let c=new Map;return t.newestOnTop&&a.reverse(),a.forEach(T=>{let{position:g}=T.props;c.has(g)||c.set(g,[]),c.get(g).push(T)}),Array.from(c,T=>d(T[0],T[1]))}return{getToastToRender:l,isToastActive:tt,count:a==null?void 0:a.length}}var B=require("react");function Rt(t){let[o,e]=(0,B.useState)(!1),[n,a]=(0,B.useState)(!1),l=(0,B.useRef)(null),s=(0,B.useRef)({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:d,pauseOnHover:c,closeToast:T,onClick:g,closeOnClick:v}=t;Dt({id:t.toastId,containerId:t.containerId,fn:e}),(0,B.useEffect)(()=>{if(t.pauseOnFocusLoss)return x(),()=>{C()}},[t.pauseOnFocusLoss]);function x(){document.hasFocus()||p(),window.addEventListener("focus",f),window.addEventListener("blur",p)}function C(){window.removeEventListener("focus",f),window.removeEventListener("blur",p)}function k(m){if(t.draggable===!0||t.draggable===m.pointerType){b();let _=l.current;s.canCloseOnClick=!0,s.canDrag=!0,_.style.transition="none",t.draggableDirection==="x"?(s.start=m.clientX,s.removalDistance=_.offsetWidth*(t.draggablePercent/100)):(s.start=m.clientY,s.removalDistance=_.offsetHeight*(t.draggablePercent===80?t.draggablePercent*1.5:t.draggablePercent)/100)}}function E(m){let{top:_,bottom:A,left:U,right:O}=l.current.getBoundingClientRect();m.nativeEvent.type!=="touchend"&&t.pauseOnHover&&m.clientX>=U&&m.clientX<=O&&m.clientY>=_&&m.clientY<=A?p():f()}function f(){e(!0)}function p(){e(!1)}function b(){s.didMove=!1,document.addEventListener("pointermove",r),document.addEventListener("pointerup",u)}function i(){document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",u)}function r(m){let _=l.current;if(s.canDrag&&_){s.didMove=!0,o&&p(),t.draggableDirection==="x"?s.delta=m.clientX-s.start:s.delta=m.clientY-s.start,s.start!==m.clientX&&(s.canCloseOnClick=!1);let A=t.draggableDirection==="x"?`${s.delta}px, var(--y)`:`0, calc(${s.delta}px + var(--y))`;_.style.transform=`translate3d(${A},0)`,_.style.opacity=`${1-Math.abs(s.delta/s.removalDistance)}`}}function u(){i();let m=l.current;if(s.canDrag&&s.didMove&&m){if(s.canDrag=!1,Math.abs(s.delta)>s.removalDistance){a(!0),t.closeToast(!0),t.collapseAll();return}m.style.transition="transform 0.2s, opacity 0.2s",m.style.removeProperty("transform"),m.style.removeProperty("opacity")}}let h={onPointerDown:k,onPointerUp:E};return d&&c&&(h.onMouseEnter=p,t.stacked||(h.onMouseLeave=f)),v&&(h.onClick=m=>{g&&g(m),s.canCloseOnClick&&T(!0)}),{playToast:f,pauseToast:p,isRunning:o,preventExitTransition:n,toastRef:l,eventHandlers:h}}var st=require("react"),Bt=typeof window!="undefined"?st.useLayoutEffect:st.useEffect;var rt=w(require("clsx")),$=w(require("react"));var S=w(require("react"));var nt=({theme:t,type:o,isLoading:e,...n})=>S.default.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:t==="colored"?"currentColor":`var(--toastify-icon-color-${o})`,...n});function ro(t){return S.default.createElement(nt,{...t},S.default.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))}function io(t){return S.default.createElement(nt,{...t},S.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))}function lo(t){return S.default.createElement(nt,{...t},S.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))}function co(t){return S.default.createElement(nt,{...t},S.default.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))}function fo(){return S.default.createElement("div",{className:"Toastify__spinner"})}var G={info:io,warning:ro,success:lo,error:co,spinner:fo},mo=t=>t in G;function zt({theme:t,type:o,isLoading:e,icon:n}){let a=null,l={theme:t,type:o};return n===!1||(P(n)?a=n({...l,isLoading:e}):(0,S.isValidElement)(n)?a=(0,S.cloneElement)(n,l):e?a=G.spinner():mo(o)&&(a=G[o](l))),a}var Ft=t=>{let{isRunning:o,preventExitTransition:e,toastRef:n,eventHandlers:a,playToast:l}=Rt(t),{closeButton:s,children:d,autoClose:c,onClick:T,type:g,hideProgressBar:v,closeToast:x,transition:C,position:k,className:E,style:f,progressClassName:p,updateId:b,role:i,progress:r,rtl:u,toastId:h,deleteToast:m,isIn:_,isLoading:A,closeOnClick:U,theme:O,ariaLabel:H}=t,R=(0,rt.default)("Toastify__toast",`Toastify__toast-theme--${O}`,`Toastify__toast--${g}`,{["Toastify__toast--rtl"]:u},{["Toastify__toast--close-on-click"]:U}),ct=P(E)?E({rtl:u,position:k,type:g,defaultClassName:R}):(0,rt.default)(R,E),vt=zt(t),ht=!!r||!c,ft={closeToast:x,type:g,theme:O},q=null;return s===!1||(P(s)?q=s(ft):(0,$.isValidElement)(s)?q=(0,$.cloneElement)(s,ft):q=It(ft)),$.default.createElement(C,{isIn:_,done:m,position:k,preventExitTransition:e,nodeRef:n,playToast:l},$.default.createElement("div",{id:h,tabIndex:0,onClick:T,"data-in":_,className:ct,...a,style:f,ref:n,..._&&{role:i,"aria-label":H}},vt!=null&&$.default.createElement("div",{className:(0,rt.default)("Toastify__toast-icon",{["Toastify--animate-icon Toastify__zoom-enter"]:!A})},vt),mt(d,t,!o),q,!t.customProgressBar&&$.default.createElement(St,{...b&&!ht?{key:`p-${b}`}:{},rtl:u,theme:O,delay:c,isRunning:o,isIn:_,closeToast:x,hide:v,type:g,className:p,controlledProgress:ht,progress:r||0})))};var it=(t,o=!1)=>({enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:o}),lt=F(it("bounce",!0)),Ut=F(it("slide",!0)),Ht=F(it("zoom")),Xt=F(it("flip"));var po={position:"top-right",transition:lt,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:t=>t.altKey&&t.code==="KeyT"};function bt(t){let o={...po,...t},e=t.stacked,[n,a]=(0,N.useState)(!0),l=(0,N.useRef)(null),{getToastToRender:s,isToastActive:d,count:c}=$t(o),{className:T,style:g,rtl:v,containerId:x,hotKeys:C}=o;function k(f){let p=(0,_t.default)("Toastify__toast-container",`Toastify__toast-container--${f}`,{["Toastify__toast-container--rtl"]:v});return P(T)?T({position:f,rtl:v,defaultClassName:p}):(0,_t.default)(p,X(T))}function E(){e&&(a(!0),y.play())}return Bt(()=>{var f;if(e){let p=l.current.querySelectorAll('[data-in="true"]'),b=12,i=(f=o.position)==null?void 0:f.includes("top"),r=0,u=0;Array.from(p).reverse().forEach((h,m)=>{let _=h;_.classList.add("Toastify__toast--stacked"),m>0&&(_.dataset.collapsed=`${n}`),_.dataset.pos||(_.dataset.pos=i?"top":"bot");let A=r*(n?.2:1)+(n?0:b*m);_.style.setProperty("--y",`${i?A:A*-1}px`),_.style.setProperty("--g",`${b}`),_.style.setProperty("--s",`${1-(n?u:0)}`),r+=_.offsetHeight,u+=.025})}},[n,c,e]),(0,N.useEffect)(()=>{function f(p){var i;let b=l.current;C(p)&&((i=b.querySelector('[tabIndex="0"]'))==null||i.focus(),a(!1),y.pause()),p.key==="Escape"&&(document.activeElement===b||b!=null&&b.contains(document.activeElement))&&(a(!0),y.play())}return document.addEventListener("keydown",f),()=>{document.removeEventListener("keydown",f)}},[C]),N.default.createElement("section",{ref:l,className:"Toastify",id:x,onMouseEnter:()=>{e&&(a(!1),y.pause())},onMouseLeave:E,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":o["aria-label"]},s((f,p)=>{let b=p.length?{...g}:{...g,pointerEvents:"none"};return N.default.createElement("div",{tabIndex:-1,className:k(f),"data-stacked":e,style:b,key:`c-${f}`},p.map(({content:i,props:r})=>N.default.createElement(Ft,{...r,stacked:e,collapseAll:E,isIn:d(r.toastId,r.containerId),key:`t-${r.key}`},i)))}))}0&&(module.exports={Bounce,Flip,Icons,Slide,ToastContainer,Zoom,collapseToast,cssTransition,toast}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.js.map b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.js.map new file mode 100644 index 000000000..ea6186aca --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.ts","../src/style.css","../src/utils/propValidator.ts","../src/utils/cssTransition.tsx","../src/utils/collapseToast.ts","../src/utils/mapper.ts","../src/components/CloseButton.tsx","../src/components/ProgressBar.tsx","../src/components/ToastContainer.tsx","../src/core/genToastId.ts","../src/core/containerObserver.ts","../src/core/store.ts","../src/core/toast.ts","../src/hooks/useToastContainer.ts","../src/hooks/useToast.ts","../src/hooks/useIsomorphicLayoutEffect.ts","../src/components/Toast.tsx","../src/components/Icons.tsx","../src/components/Transitions.tsx"],"sourcesContent":["import './style.css';\n\nexport { cssTransition, collapseToast } from './utils';\nexport { ToastContainer, Bounce, Flip, Slide, Zoom, Icons } from './components';\nexport type { IconProps, CloseButton } from './components';\nexport type { ToastPromiseParams } from './core';\nexport { toast } from './core';\nexport type {\n TypeOptions,\n Theme,\n ToastPosition,\n ToastContentProps,\n ToastContent,\n ToastTransition,\n ToastClassName,\n ClearWaitingQueueParams,\n DraggableDirection,\n ToastOptions,\n UpdateOptions,\n ToastContainerProps,\n ToastTransitionProps,\n Id,\n ToastItem,\n ClearWaitingQueueFunc,\n OnChangeCallback,\n ToastIcon\n} from './types';\nexport type { CloseButtonProps } from './components/CloseButton';\n","\nfunction injectStyle(css) {\n if (!css || typeof document === 'undefined') return\n\n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if(head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n\n if(style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n}\ninjectStyle(\":root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:\\\"\\\";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:\\\"\\\";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\\n\");","import { isValidElement } from 'react';\nimport { Id } from '../types';\n\nexport const isNum = (v: any): v is Number => typeof v === 'number' && !isNaN(v);\n\nexport const isStr = (v: any): v is String => typeof v === 'string';\n\nexport const isFn = (v: any): v is Function => typeof v === 'function';\n\nexport const isId = (v: unknown): v is Id => isStr(v) || isNum(v);\n\nexport const parseClassName = (v: any) => (isStr(v) || isFn(v) ? v : null);\n\nexport const getAutoCloseDelay = (toastAutoClose?: false | number, containerAutoClose?: false | number) =>\n toastAutoClose === false || (isNum(toastAutoClose) && toastAutoClose > 0) ? toastAutoClose : containerAutoClose;\n\nexport const canBeRendered = (content: T): boolean =>\n isValidElement(content) || isStr(content) || isFn(content) || isNum(content);\n","import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport { collapseToast } from './collapseToast';\nimport { Default } from './constant';\n\nimport { ToastTransitionProps } from '../types';\n\nexport interface CSSTransitionProps {\n /**\n * Css class to apply when toast enter\n */\n enter: string;\n\n /**\n * Css class to apply when toast leave\n */\n exit: string;\n\n /**\n * Append current toast position to the classname.\n * If multiple classes are provided, only the last one will get the position\n * For instance `myclass--top-center`...\n * `Default: false`\n */\n appendPosition?: boolean;\n\n /**\n * Collapse toast smoothly when exit animation end\n * `Default: true`\n */\n collapse?: boolean;\n\n /**\n * Collapse transition duration\n * `Default: 300`\n */\n collapseDuration?: number;\n}\n\nconst enum AnimationStep {\n Enter,\n Exit\n}\n\n/**\n * Css animation that just work.\n * You could use animate.css for instance\n *\n *\n * ```\n * cssTransition({\n * enter: \"animate__animated animate__bounceIn\",\n * exit: \"animate__animated animate__bounceOut\"\n * })\n * ```\n *\n */\nexport function cssTransition({\n enter,\n exit,\n appendPosition = false,\n collapse = true,\n collapseDuration = Default.COLLAPSE_DURATION\n}: CSSTransitionProps) {\n return function ToastTransition({\n children,\n position,\n preventExitTransition,\n done,\n nodeRef,\n isIn,\n playToast\n }: ToastTransitionProps) {\n const enterClassName = appendPosition ? `${enter}--${position}` : enter;\n const exitClassName = appendPosition ? `${exit}--${position}` : exit;\n const animationStep = useRef(AnimationStep.Enter);\n\n useLayoutEffect(() => {\n const node = nodeRef.current!;\n const classToToken = enterClassName.split(' ');\n\n const onEntered = (e: AnimationEvent) => {\n if (e.target !== nodeRef.current) return;\n\n playToast();\n node.removeEventListener('animationend', onEntered);\n node.removeEventListener('animationcancel', onEntered);\n if (animationStep.current === AnimationStep.Enter && e.type !== 'animationcancel') {\n node.classList.remove(...classToToken);\n }\n };\n\n const onEnter = () => {\n node.classList.add(...classToToken);\n node.addEventListener('animationend', onEntered);\n node.addEventListener('animationcancel', onEntered);\n };\n\n onEnter();\n }, []);\n\n useEffect(() => {\n const node = nodeRef.current!;\n\n const onExited = () => {\n node.removeEventListener('animationend', onExited);\n collapse ? collapseToast(node, done, collapseDuration) : done();\n };\n\n const onExit = () => {\n animationStep.current = AnimationStep.Exit;\n node.className += ` ${exitClassName}`;\n node.addEventListener('animationend', onExited);\n };\n\n if (!isIn) preventExitTransition ? onExited() : onExit();\n }, [isIn]);\n\n return <>{children};\n };\n}\n","import { Default } from './constant';\n\n/**\n * Used to collapse toast after exit animation\n */\nexport function collapseToast(node: HTMLElement, done: () => void, duration = Default.COLLAPSE_DURATION) {\n const { scrollHeight, style } = node;\n\n requestAnimationFrame(() => {\n style.minHeight = 'initial';\n style.height = scrollHeight + 'px';\n style.transition = `all ${duration}ms`;\n\n requestAnimationFrame(() => {\n style.height = '0';\n style.padding = '0';\n style.margin = '0';\n setTimeout(done, duration as number);\n });\n });\n}\n","import { Toast, ToastContentProps, ToastItem, ToastItemStatus, ToastProps } from '../types';\nimport { cloneElement, isValidElement, ReactElement } from 'react';\nimport { isFn, isStr } from './propValidator';\n\nexport function toToastItem(toast: Toast, status: ToastItemStatus): ToastItem {\n return {\n content: renderContent(toast.content, toast.props),\n containerId: toast.props.containerId,\n id: toast.props.toastId,\n theme: toast.props.theme,\n type: toast.props.type,\n data: toast.props.data || {},\n isLoading: toast.props.isLoading,\n icon: toast.props.icon,\n reason: toast.removalReason,\n status\n };\n}\n\nexport function renderContent(content: unknown, props: ToastProps, isPaused: boolean = false) {\n if (isValidElement(content) && !isStr(content.type)) {\n return cloneElement(content as ReactElement, {\n closeToast: props.closeToast,\n toastProps: props,\n data: props.data,\n isPaused\n });\n } else if (isFn(content)) {\n return content({\n closeToast: props.closeToast,\n toastProps: props,\n data: props.data,\n isPaused\n });\n }\n\n return content;\n}\n","import React from 'react';\nimport { Default } from '../utils';\nimport { CloseToastFunc, Theme, TypeOptions } from '../types';\n\nexport interface CloseButtonProps {\n closeToast: CloseToastFunc;\n type: TypeOptions;\n ariaLabel?: string;\n theme: Theme;\n}\n\nexport function CloseButton({ closeToast, theme, ariaLabel = 'close' }: CloseButtonProps) {\n return (\n {\n e.stopPropagation();\n closeToast(true);\n }}\n aria-label={ariaLabel}\n >\n \n \n \n \n );\n}\n","import React from 'react';\nimport cx from 'clsx';\n\nimport { Default, isFn, Type } from '../utils';\nimport { Theme, ToastClassName, TypeOptions } from '../types';\n\nexport interface ProgressBarProps {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: number;\n\n /**\n * The animation is running or paused\n */\n isRunning: boolean;\n\n /**\n * Func to close the current toast\n */\n closeToast: () => void;\n\n /**\n * Optional type : info, success ...\n */\n type?: TypeOptions;\n\n /**\n * The theme that is currently used\n */\n theme: Theme;\n\n /**\n * Hide or not the progress bar\n */\n hide?: boolean;\n\n /**\n * Optional className\n */\n className?: ToastClassName;\n\n /**\n * Tell whether a controlled progress bar is used\n */\n controlledProgress?: boolean;\n\n /**\n * Controlled progress value\n */\n progress?: number | string;\n\n /**\n * Support rtl content\n */\n rtl?: boolean;\n\n /**\n * Tell if the component is visible on screen or not\n */\n isIn?: boolean;\n}\n\nexport function ProgressBar({\n delay,\n isRunning,\n closeToast,\n type = Type.DEFAULT,\n hide,\n className,\n controlledProgress,\n progress,\n rtl,\n isIn,\n theme\n}: ProgressBarProps) {\n const isHidden = hide || (controlledProgress && progress === 0);\n const style: React.CSSProperties = {\n animationDuration: `${delay}ms`,\n animationPlayState: isRunning ? 'running' : 'paused'\n };\n\n if (controlledProgress) style.transform = `scaleX(${progress})`;\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__progress-bar`,\n controlledProgress\n ? `${Default.CSS_NAMESPACE}__progress-bar--controlled`\n : `${Default.CSS_NAMESPACE}__progress-bar--animated`,\n `${Default.CSS_NAMESPACE}__progress-bar-theme--${theme}`,\n `${Default.CSS_NAMESPACE}__progress-bar--${type}`,\n {\n [`${Default.CSS_NAMESPACE}__progress-bar--rtl`]: rtl\n }\n );\n const classNames = isFn(className)\n ? className({\n rtl,\n type,\n defaultClassName\n })\n : cx(defaultClassName, className);\n\n // 🧐 controlledProgress is derived from progress\n // so if controlledProgress is set\n // it means that this is also the case for progress\n const animationEvent = {\n [controlledProgress && (progress as number)! >= 1 ? 'onTransitionEnd' : 'onAnimationEnd']:\n controlledProgress && (progress as number)! < 1\n ? null\n : () => {\n isIn && closeToast();\n }\n };\n\n // TODO: add aria-valuenow, aria-valuemax, aria-valuemin\n\n return (\n
\n \n \n
\n );\n}\n","import cx from 'clsx';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { toast } from '../core';\nimport { useToastContainer } from '../hooks';\nimport { useIsomorphicLayoutEffect } from '../hooks/useIsomorphicLayoutEffect';\nimport { ToastContainerProps, ToastPosition } from '../types';\nimport { Default, Direction, isFn, parseClassName } from '../utils';\nimport { Toast } from './Toast';\nimport { Bounce } from './Transitions';\n\nexport const defaultProps: ToastContainerProps = {\n position: 'top-right',\n transition: Bounce,\n autoClose: 5000,\n closeButton: true,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n draggable: 'touch',\n draggablePercent: Default.DRAGGABLE_PERCENT as number,\n draggableDirection: Direction.X,\n role: 'alert',\n theme: 'light',\n 'aria-label': 'Notifications Alt+T',\n hotKeys: e => e.altKey && e.code === 'KeyT'\n};\n\nexport function ToastContainer(props: ToastContainerProps) {\n let containerProps: ToastContainerProps = {\n ...defaultProps,\n ...props\n };\n const stacked = props.stacked;\n const [collapsed, setIsCollapsed] = useState(true);\n const containerRef = useRef(null);\n const { getToastToRender, isToastActive, count } = useToastContainer(containerProps);\n const { className, style, rtl, containerId, hotKeys } = containerProps;\n\n function getClassName(position: ToastPosition) {\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast-container`,\n `${Default.CSS_NAMESPACE}__toast-container--${position}`,\n { [`${Default.CSS_NAMESPACE}__toast-container--rtl`]: rtl }\n );\n return isFn(className)\n ? className({\n position,\n rtl,\n defaultClassName\n })\n : cx(defaultClassName, parseClassName(className));\n }\n\n function collapseAll() {\n if (stacked) {\n setIsCollapsed(true);\n toast.play();\n }\n }\n\n useIsomorphicLayoutEffect(() => {\n if (stacked) {\n const nodes = containerRef.current!.querySelectorAll('[data-in=\"true\"]');\n const gap = 12;\n const isTop = containerProps.position?.includes('top');\n let usedHeight = 0;\n let prevS = 0;\n\n Array.from(nodes)\n .reverse()\n .forEach((n, i) => {\n const node = n as HTMLElement;\n node.classList.add(`${Default.CSS_NAMESPACE}__toast--stacked`);\n\n if (i > 0) node.dataset.collapsed = `${collapsed}`;\n\n if (!node.dataset.pos) node.dataset.pos = isTop ? 'top' : 'bot';\n\n const y = usedHeight * (collapsed ? 0.2 : 1) + (collapsed ? 0 : gap * i);\n\n node.style.setProperty('--y', `${isTop ? y : y * -1}px`);\n node.style.setProperty('--g', `${gap}`);\n node.style.setProperty('--s', `${1 - (collapsed ? prevS : 0)}`);\n\n usedHeight += node.offsetHeight;\n prevS += 0.025;\n });\n }\n }, [collapsed, count, stacked]);\n\n useEffect(() => {\n function focusFirst(e: KeyboardEvent) {\n const node = containerRef.current;\n if (hotKeys(e)) {\n (node.querySelector('[tabIndex=\"0\"]') as HTMLElement)?.focus();\n setIsCollapsed(false);\n toast.pause();\n }\n if (e.key === 'Escape' && (document.activeElement === node || node?.contains(document.activeElement))) {\n setIsCollapsed(true);\n toast.play();\n }\n }\n\n document.addEventListener('keydown', focusFirst);\n\n return () => {\n document.removeEventListener('keydown', focusFirst);\n };\n }, [hotKeys]);\n\n return (\n {\n if (stacked) {\n setIsCollapsed(false);\n toast.pause();\n }\n }}\n onMouseLeave={collapseAll}\n aria-live=\"polite\"\n aria-atomic=\"false\"\n aria-relevant=\"additions text\"\n aria-label={containerProps['aria-label']}\n >\n {getToastToRender((position, toastList) => {\n const containerStyle: React.CSSProperties = !toastList.length\n ? { ...style, pointerEvents: 'none' }\n : { ...style };\n\n return (\n \n {toastList.map(({ content, props: toastProps }) => {\n return (\n \n {content}\n \n );\n })}\n \n );\n })}\n \n );\n}\n","let TOAST_ID = 1;\n\nexport const genToastId = () => `${TOAST_ID++}`;\n","import {\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n Toast,\n ToastContainerProps,\n ToastContent,\n ToastProps\n} from '../types';\nimport { canBeRendered, getAutoCloseDelay, isNum, parseClassName, toToastItem } from '../utils';\n\ntype Notify = () => void;\n\nexport type ContainerObserver = ReturnType;\n\nexport function createContainerObserver(\n id: Id,\n containerProps: ToastContainerProps,\n dispatchChanges: OnChangeCallback\n) {\n let toastKey = 1;\n let toastCount = 0;\n let queue: Toast[] = [];\n let snapshot: Toast[] = [];\n let props = containerProps;\n const toasts = new Map();\n const listeners = new Set();\n\n const observe = (notify: Notify) => {\n listeners.add(notify);\n return () => listeners.delete(notify);\n };\n\n const notify = () => {\n snapshot = Array.from(toasts.values());\n listeners.forEach(cb => cb());\n };\n\n const shouldIgnoreToast = ({ containerId, toastId, updateId }: NotValidatedToastProps) => {\n const containerMismatch = containerId ? containerId !== id : id !== 1;\n const isDuplicate = toasts.has(toastId) && updateId == null;\n\n return containerMismatch || isDuplicate;\n };\n\n const toggle = (v: boolean, id?: Id) => {\n toasts.forEach(t => {\n if (id == null || id === t.props.toastId) t.toggle?.(v);\n });\n };\n\n const markAsRemoved = (v: Toast) => {\n v.props?.onClose?.(v.removalReason);\n v.isActive = false;\n };\n\n const removeToast = (id?: Id) => {\n if (id == null) {\n toasts.forEach(markAsRemoved);\n } else {\n const t = toasts.get(id);\n if (t) markAsRemoved(t);\n }\n notify();\n };\n\n const clearQueue = () => {\n toastCount -= queue.length;\n queue = [];\n };\n\n const addActiveToast = (toast: Toast) => {\n const { toastId, updateId } = toast.props;\n const isNew = updateId == null;\n\n if (toast.staleId) toasts.delete(toast.staleId);\n toast.isActive = true;\n\n toasts.set(toastId, toast);\n notify();\n dispatchChanges(toToastItem(toast, isNew ? 'added' : 'updated'));\n\n if (isNew) toast.props.onOpen?.();\n };\n\n const buildToast = (content: ToastContent, options: NotValidatedToastProps) => {\n if (shouldIgnoreToast(options)) return;\n\n const { toastId, updateId, data, staleId, delay } = options;\n\n const isNotAnUpdate = updateId == null;\n\n if (isNotAnUpdate) toastCount++;\n\n const toastProps = {\n ...props,\n style: props.toastStyle,\n key: toastKey++,\n ...Object.fromEntries(Object.entries(options).filter(([_, v]) => v != null)),\n toastId,\n updateId,\n data,\n isIn: false,\n className: parseClassName(options.className || props.toastClassName),\n progressClassName: parseClassName(options.progressClassName || props.progressClassName),\n autoClose: options.isLoading ? false : getAutoCloseDelay(options.autoClose, props.autoClose),\n closeToast(reason?: true) {\n toasts.get(toastId)!.removalReason = reason;\n removeToast(toastId);\n },\n deleteToast() {\n const toastToRemove = toasts.get(toastId);\n\n if (toastToRemove == null) return;\n\n dispatchChanges(toToastItem(toastToRemove, 'removed'));\n toasts.delete(toastId);\n\n toastCount--;\n if (toastCount < 0) toastCount = 0;\n\n if (queue.length > 0) {\n addActiveToast(queue.shift());\n return;\n }\n\n notify();\n }\n } as ToastProps;\n\n toastProps.closeButton = props.closeButton;\n\n if (options.closeButton === false || canBeRendered(options.closeButton)) {\n toastProps.closeButton = options.closeButton;\n } else if (options.closeButton === true) {\n toastProps.closeButton = canBeRendered(props.closeButton) ? props.closeButton : true;\n }\n\n const activeToast = {\n content,\n props: toastProps,\n staleId\n } as Toast;\n\n // not handling limit + delay by design. Waiting for user feedback first\n if (props.limit && props.limit > 0 && toastCount > props.limit && isNotAnUpdate) {\n queue.push(activeToast);\n } else if (isNum(delay)) {\n setTimeout(() => {\n addActiveToast(activeToast);\n }, delay);\n } else {\n addActiveToast(activeToast);\n }\n };\n\n return {\n id,\n props,\n observe,\n toggle,\n removeToast,\n toasts,\n clearQueue,\n buildToast,\n setProps(p: ToastContainerProps) {\n props = p;\n },\n setToggle: (id: Id, fn: (v: boolean) => void) => {\n const t = toasts.get(id);\n if (t) t.toggle = fn;\n },\n isToastActive: (id: Id) => toasts.get(id)?.isActive,\n getSnapshot: () => snapshot\n };\n}\n","import {\n ClearWaitingQueueParams,\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContainerProps,\n ToastContent,\n ToastItem,\n ToastOptions\n} from '../types';\nimport { Default, canBeRendered, isId } from '../utils';\nimport { ContainerObserver, createContainerObserver } from './containerObserver';\n\ninterface EnqueuedToast {\n content: ToastContent;\n options: NotValidatedToastProps;\n}\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nconst containers = new Map();\nlet renderQueue: EnqueuedToast[] = [];\nconst listeners = new Set();\n\nconst dispatchChanges = (data: ToastItem) => listeners.forEach(cb => cb(data));\n\nconst hasContainers = () => containers.size > 0;\n\nfunction flushRenderQueue() {\n renderQueue.forEach(v => pushToast(v.content, v.options));\n renderQueue = [];\n}\n\nexport const getToast = (id: Id, { containerId }: ToastOptions) =>\n containers.get(containerId || Default.CONTAINER_ID)?.toasts.get(id);\n\nexport function isToastActive(id: Id, containerId?: Id) {\n if (containerId) return !!containers.get(containerId)?.isToastActive(id);\n\n let isActive = false;\n containers.forEach(c => {\n if (c.isToastActive(id)) isActive = true;\n });\n\n return isActive;\n}\n\nexport function removeToast(params?: Id | RemoveParams) {\n if (!hasContainers()) {\n renderQueue = renderQueue.filter(v => params != null && v.options.toastId !== params);\n return;\n }\n\n if (params == null || isId(params)) {\n containers.forEach(c => {\n c.removeToast(params as Id);\n });\n } else if (params && ('containerId' in params || 'id' in params)) {\n const container = containers.get(params.containerId);\n container\n ? container.removeToast(params.id)\n : containers.forEach(c => {\n c.removeToast(params.id);\n });\n }\n}\n\nexport const clearWaitingQueue = (p: ClearWaitingQueueParams = {}) => {\n containers.forEach(c => {\n if (c.props.limit && (!p.containerId || c.id === p.containerId)) {\n c.clearQueue();\n }\n });\n};\n\nexport function pushToast(content: ToastContent, options: NotValidatedToastProps) {\n if (!canBeRendered(content)) return;\n if (!hasContainers()) renderQueue.push({ content, options });\n\n containers.forEach(c => {\n c.buildToast(content, options);\n });\n}\n\ninterface ToggleToastParams {\n id?: Id;\n containerId?: Id;\n}\n\ntype RegisterToggleOpts = {\n id: Id;\n containerId?: Id;\n fn: (v: boolean) => void;\n};\n\nexport function registerToggle(opts: RegisterToggleOpts) {\n containers.get(opts.containerId || Default.CONTAINER_ID)?.setToggle(opts.id, opts.fn);\n}\n\nexport function toggleToast(v: boolean, opt?: ToggleToastParams) {\n containers.forEach(c => {\n if (opt == null || !opt?.containerId) {\n c.toggle(v, opt?.id);\n } else if (opt?.containerId === c.id) {\n c.toggle(v, opt?.id);\n }\n });\n}\n\nexport function registerContainer(props: ToastContainerProps) {\n const id = props.containerId || Default.CONTAINER_ID;\n return {\n subscribe(notify: () => void) {\n const container = createContainerObserver(id, props, dispatchChanges);\n\n containers.set(id, container);\n const unobserve = container.observe(notify);\n flushRenderQueue();\n\n return () => {\n unobserve();\n containers.delete(id);\n };\n },\n setProps(p: ToastContainerProps) {\n containers.get(id)?.setProps(p);\n },\n getSnapshot() {\n return containers.get(id)?.getSnapshot();\n }\n };\n}\n\nexport function onChange(cb: OnChangeCallback) {\n listeners.add(cb);\n\n return () => {\n listeners.delete(cb);\n };\n}\n","import {\n ClearWaitingQueueFunc,\n Id,\n IdOpts,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContent,\n ToastOptions,\n ToastProps,\n TypeOptions,\n UpdateOptions\n} from '../types';\nimport { isFn, isNum, isStr, Type } from '../utils';\nimport { genToastId } from './genToastId';\nimport { clearWaitingQueue, getToast, isToastActive, onChange, pushToast, removeToast, toggleToast } from './store';\n\n/**\n * Generate a toastId or use the one provided\n */\nfunction getToastId(options?: ToastOptions) {\n return options && (isStr(options.toastId) || isNum(options.toastId)) ? options.toastId : genToastId();\n}\n\n/**\n * If the container is not mounted, the toast is enqueued\n */\nfunction dispatchToast(content: ToastContent, options: NotValidatedToastProps): Id {\n pushToast(content, options);\n return options.toastId;\n}\n\n/**\n * Merge provided options with the defaults settings and generate the toastId\n */\nfunction mergeOptions(type: string, options?: ToastOptions) {\n return {\n ...options,\n type: (options && options.type) || type,\n toastId: getToastId(options)\n } as NotValidatedToastProps;\n}\n\nfunction createToastByType(type: string) {\n return (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(type, options));\n}\n\nfunction toast(content: ToastContent, options?: ToastOptions) {\n return dispatchToast(content, mergeOptions(Type.DEFAULT, options));\n}\n\ntoast.loading = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n isLoading: true,\n autoClose: false,\n closeOnClick: false,\n closeButton: false,\n draggable: false,\n ...options\n })\n );\n\nexport interface ToastPromiseParams {\n pending?: string | UpdateOptions;\n success?: string | UpdateOptions;\n error?: string | UpdateOptions;\n}\n\nfunction handlePromise(\n promise: Promise | (() => Promise),\n { pending, error, success }: ToastPromiseParams,\n options?: ToastOptions\n) {\n let id: Id;\n\n if (pending) {\n id = isStr(pending)\n ? toast.loading(pending, options)\n : toast.loading(pending.render, {\n ...options,\n ...(pending as ToastOptions)\n } as ToastOptions);\n }\n\n const resetParams = {\n isLoading: null,\n autoClose: null,\n closeOnClick: null,\n closeButton: null,\n draggable: null\n };\n\n const resolver = (type: TypeOptions, input: string | UpdateOptions | undefined, result: T) => {\n // Remove the toast if the input has not been provided. This prevents the toast from hanging\n // in the pending state if a success/error toast has not been provided.\n if (input == null) {\n toast.dismiss(id);\n return;\n }\n\n const baseParams = {\n type,\n ...resetParams,\n ...options,\n data: result\n };\n const params = isStr(input) ? { render: input } : input;\n\n // if the id is set we know that it's an update\n if (id) {\n toast.update(id, {\n ...baseParams,\n ...params\n } as UpdateOptions);\n } else {\n // using toast.promise without loading\n toast(params!.render, {\n ...baseParams,\n ...params\n } as ToastOptions);\n }\n\n return result;\n };\n\n const p = isFn(promise) ? promise() : promise;\n\n //call the resolvers only when needed\n p.then(result => resolver('success', success, result)).catch(err => resolver('error', error, err));\n\n return p;\n}\n\n/**\n * Supply a promise or a function that return a promise and the notification will be updated if it resolves or fails.\n * When the promise is pending a spinner is displayed by default.\n * `toast.promise` returns the provided promise so you can chain it.\n *\n * Simple example:\n *\n * ```\n * toast.promise(MyPromise,\n * {\n * pending: 'Promise is pending',\n * success: 'Promise resolved 👌',\n * error: 'Promise rejected 🤯'\n * }\n * )\n *\n * ```\n *\n * Advanced usage:\n * ```\n * toast.promise<{name: string}, {message: string}, undefined>(\n * resolveWithSomeData,\n * {\n * pending: {\n * render: () => \"I'm loading\",\n * icon: false,\n * },\n * success: {\n * render: ({data}) => `Hello ${data.name}`,\n * icon: \"🟢\",\n * },\n * error: {\n * render({data}){\n * // When the promise reject, data will contains the error\n * return \n * }\n * }\n * }\n * )\n * ```\n */\ntoast.promise = handlePromise;\ntoast.success = createToastByType(Type.SUCCESS);\ntoast.info = createToastByType(Type.INFO);\ntoast.error = createToastByType(Type.ERROR);\ntoast.warning = createToastByType(Type.WARNING);\ntoast.warn = toast.warning;\ntoast.dark = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n theme: 'dark',\n ...options\n })\n );\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nfunction dismiss(params: RemoveParams): void;\nfunction dismiss(params?: Id): void;\nfunction dismiss(params?: Id | RemoveParams) {\n removeToast(params);\n}\n\n/**\n * Remove toast programmatically\n *\n * - Remove all toasts:\n * ```\n * toast.dismiss()\n * ```\n *\n * - Remove all toasts that belongs to a given container\n * ```\n * toast.dismiss({ container: \"123\" })\n * ```\n *\n * - Remove toast that has a given id regardless the container\n * ```\n * toast.dismiss({ id: \"123\" })\n * ```\n *\n * - Remove toast that has a given id for a specific container\n * ```\n * toast.dismiss({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.dismiss = dismiss;\n\n/**\n * Clear waiting queue when limit is used\n */\ntoast.clearWaitingQueue = clearWaitingQueue as ClearWaitingQueueFunc;\n\n/**\n * Check if a toast is active\n *\n * - Check regardless the container\n * ```\n * toast.isActive(\"123\")\n * ```\n *\n * - Check in a specific container\n * ```\n * toast.isActive(\"123\", \"containerId\")\n * ```\n */\ntoast.isActive = isToastActive;\n\n/**\n * Update a toast, see https://fkhadra.github.io/react-toastify/update-toast/ for more\n *\n * Example:\n * ```\n * // With a string\n * toast.update(toastId, {\n * render: \"New content\",\n * type: \"info\",\n * });\n *\n * // Or with a component\n * toast.update(toastId, {\n * render: MyComponent\n * });\n *\n * // Or a function\n * toast.update(toastId, {\n * render: () =>
New content
\n * });\n *\n * // Apply a transition\n * toast.update(toastId, {\n * render: \"New Content\",\n * type: toast.TYPE.INFO,\n * transition: Rotate\n * })\n * ```\n */\ntoast.update = (toastId: Id, options: UpdateOptions = {}) => {\n const toast = getToast(toastId, options as ToastOptions);\n\n if (toast) {\n const { props: oldOptions, content: oldContent } = toast;\n\n const nextOptions = {\n delay: 100,\n ...oldOptions,\n ...options,\n toastId: options.toastId || toastId,\n updateId: genToastId()\n } as ToastProps & UpdateOptions;\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n\n const content = nextOptions.render || oldContent;\n delete nextOptions.render;\n\n dispatchToast(content, nextOptions);\n }\n};\n\n/**\n * Used for controlled progress bar. It will automatically close the notification.\n *\n * If you don't want your notification to be clsoed when the timer is done you should use `toast.update` instead as follow instead:\n *\n * ```\n * toast.update(id, {\n * progress: null, // remove controlled progress bar\n * render: \"ok\",\n * type: \"success\",\n * autoClose: 5000 // set autoClose to the desired value\n * });\n * ```\n */\ntoast.done = (id: Id) => {\n toast.update(id, {\n progress: 1\n });\n};\n\n/**\n * Subscribe to change when a toast is added, removed and updated\n *\n * Usage:\n * ```\n * const unsubscribe = toast.onChange((payload) => {\n * switch (payload.status) {\n * case \"added\":\n * // new toast added\n * break;\n * case \"updated\":\n * // toast updated\n * break;\n * case \"removed\":\n * // toast has been removed\n * break;\n * }\n * })\n * ```\n */\ntoast.onChange = onChange as (cb: OnChangeCallback) => () => void;\n\n/**\n * Play a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Play all toasts\n * ```\n * toast.play()\n * ```\n *\n * - Play all toasts for a given container\n * ```\n * toast.play({ containerId: \"123\" })\n * ```\n *\n * - Play toast that has a given id regardless the container\n * ```\n * toast.play({ id: \"123\" })\n * ```\n *\n * - Play toast that has a given id for a specific container\n * ```\n * toast.play({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.play = (opts?: IdOpts) => toggleToast(true, opts);\n\n/**\n * Pause a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Pause all toasts\n * ```\n * toast.pause()\n * ```\n *\n * - Pause all toasts for a given container\n * ```\n * toast.pause({ containerId: \"123\" })\n * ```\n *\n * - Pause toast that has a given id regardless the container\n * ```\n * toast.pause({ id: \"123\" })\n * ```\n *\n * - Pause toast that has a given id for a specific container\n * ```\n * toast.pause({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.pause = (opts?: IdOpts) => toggleToast(false, opts);\n\nexport { toast };\n","import { useRef, useSyncExternalStore } from 'react';\nimport { isToastActive, registerContainer } from '../core/store';\nimport { Toast, ToastContainerProps, ToastPosition } from '../types';\n\nexport function useToastContainer(props: ToastContainerProps) {\n const { subscribe, getSnapshot, setProps } = useRef(registerContainer(props)).current;\n setProps(props);\n const snapshot = useSyncExternalStore(subscribe, getSnapshot, getSnapshot)?.slice();\n\n function getToastToRender(cb: (position: ToastPosition, toastList: Toast[]) => T) {\n if (!snapshot) return [];\n\n const toRender = new Map();\n\n if (props.newestOnTop) snapshot.reverse();\n\n snapshot.forEach(toast => {\n const { position } = toast.props;\n toRender.has(position) || toRender.set(position, []);\n toRender.get(position)!.push(toast);\n });\n\n return Array.from(toRender, p => cb(p[0], p[1]));\n }\n\n return {\n getToastToRender,\n isToastActive,\n count: snapshot?.length\n };\n}\n","import { DOMAttributes, useEffect, useRef, useState } from 'react';\n\nimport { ToastProps } from '../types';\nimport { Default, Direction } from '../utils';\nimport { registerToggle } from '../core/store';\n\ninterface Draggable {\n start: number;\n delta: number;\n removalDistance: number;\n canCloseOnClick: boolean;\n canDrag: boolean;\n didMove: boolean;\n}\n\nexport function useToast(props: ToastProps) {\n const [isRunning, setIsRunning] = useState(false);\n const [preventExitTransition, setPreventExitTransition] = useState(false);\n const toastRef = useRef(null);\n const drag = useRef({\n start: 0,\n delta: 0,\n removalDistance: 0,\n canCloseOnClick: true,\n canDrag: false,\n didMove: false\n }).current;\n const { autoClose, pauseOnHover, closeToast, onClick, closeOnClick } = props;\n\n registerToggle({\n id: props.toastId,\n containerId: props.containerId,\n fn: setIsRunning\n });\n\n useEffect(() => {\n if (props.pauseOnFocusLoss) {\n bindFocusEvents();\n\n return () => {\n unbindFocusEvents();\n };\n }\n }, [props.pauseOnFocusLoss]);\n\n function bindFocusEvents() {\n if (!document.hasFocus()) pauseToast();\n\n window.addEventListener('focus', playToast);\n window.addEventListener('blur', pauseToast);\n }\n\n function unbindFocusEvents() {\n window.removeEventListener('focus', playToast);\n window.removeEventListener('blur', pauseToast);\n }\n\n function onDragStart(e: React.PointerEvent) {\n if (props.draggable === true || props.draggable === e.pointerType) {\n bindDragEvents();\n const toast = toastRef.current!;\n drag.canCloseOnClick = true;\n drag.canDrag = true;\n toast.style.transition = 'none';\n\n if (props.draggableDirection === Direction.X) {\n drag.start = e.clientX;\n drag.removalDistance = toast.offsetWidth * (props.draggablePercent / 100);\n } else {\n drag.start = e.clientY;\n drag.removalDistance =\n (toast.offsetHeight *\n (props.draggablePercent === Default.DRAGGABLE_PERCENT\n ? props.draggablePercent * 1.5\n : props.draggablePercent)) /\n 100;\n }\n }\n }\n\n function onDragTransitionEnd(e: React.PointerEvent) {\n const { top, bottom, left, right } = toastRef.current!.getBoundingClientRect();\n\n if (\n e.nativeEvent.type !== 'touchend' &&\n props.pauseOnHover &&\n e.clientX >= left &&\n e.clientX <= right &&\n e.clientY >= top &&\n e.clientY <= bottom\n ) {\n pauseToast();\n } else {\n playToast();\n }\n }\n\n function playToast() {\n setIsRunning(true);\n }\n\n function pauseToast() {\n setIsRunning(false);\n }\n\n function bindDragEvents() {\n drag.didMove = false;\n document.addEventListener('pointermove', onDragMove);\n document.addEventListener('pointerup', onDragEnd);\n }\n\n function unbindDragEvents() {\n document.removeEventListener('pointermove', onDragMove);\n document.removeEventListener('pointerup', onDragEnd);\n }\n\n function onDragMove(e: PointerEvent) {\n const toast = toastRef.current!;\n if (drag.canDrag && toast) {\n drag.didMove = true;\n if (isRunning) pauseToast();\n if (props.draggableDirection === Direction.X) {\n drag.delta = e.clientX - drag.start;\n } else {\n drag.delta = e.clientY - drag.start;\n }\n\n // prevent false positive during a toast click\n if (drag.start !== e.clientX) drag.canCloseOnClick = false;\n const translate =\n props.draggableDirection === 'x' ? `${drag.delta}px, var(--y)` : `0, calc(${drag.delta}px + var(--y))`;\n toast.style.transform = `translate3d(${translate},0)`;\n toast.style.opacity = `${1 - Math.abs(drag.delta / drag.removalDistance)}`;\n }\n }\n\n function onDragEnd() {\n unbindDragEvents();\n const toast = toastRef.current!;\n if (drag.canDrag && drag.didMove && toast) {\n drag.canDrag = false;\n if (Math.abs(drag.delta) > drag.removalDistance) {\n setPreventExitTransition(true);\n props.closeToast(true);\n props.collapseAll();\n return;\n }\n\n toast.style.transition = 'transform 0.2s, opacity 0.2s';\n toast.style.removeProperty('transform');\n toast.style.removeProperty('opacity');\n }\n }\n\n const eventHandlers: DOMAttributes = {\n onPointerDown: onDragStart,\n onPointerUp: onDragTransitionEnd\n };\n\n if (autoClose && pauseOnHover) {\n eventHandlers.onMouseEnter = pauseToast;\n\n // progress control is delegated to the container\n if (!props.stacked) eventHandlers.onMouseLeave = playToast;\n }\n\n // prevent toast from closing when user drags the toast\n if (closeOnClick) {\n eventHandlers.onClick = (e: React.MouseEvent) => {\n onClick && onClick(e);\n drag.canCloseOnClick && closeToast(true);\n };\n }\n\n return {\n playToast,\n pauseToast,\n isRunning,\n preventExitTransition,\n toastRef,\n eventHandlers\n };\n}\n","import { useEffect, useLayoutEffect } from 'react';\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n","import cx from 'clsx';\nimport React, { cloneElement, isValidElement } from 'react';\n\nimport { useToast } from '../hooks/useToast';\nimport { ToastProps } from '../types';\nimport { Default, isFn, renderContent } from '../utils';\nimport { CloseButton } from './CloseButton';\nimport { ProgressBar } from './ProgressBar';\nimport { getIcon } from './Icons';\n\nexport const Toast: React.FC = props => {\n const { isRunning, preventExitTransition, toastRef, eventHandlers, playToast } = useToast(props);\n const {\n closeButton,\n children,\n autoClose,\n onClick,\n type,\n hideProgressBar,\n closeToast,\n transition: Transition,\n position,\n className,\n style,\n progressClassName,\n updateId,\n role,\n progress,\n rtl,\n toastId,\n deleteToast,\n isIn,\n isLoading,\n closeOnClick,\n theme,\n ariaLabel\n } = props;\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast`,\n `${Default.CSS_NAMESPACE}__toast-theme--${theme}`,\n `${Default.CSS_NAMESPACE}__toast--${type}`,\n {\n [`${Default.CSS_NAMESPACE}__toast--rtl`]: rtl\n },\n {\n [`${Default.CSS_NAMESPACE}__toast--close-on-click`]: closeOnClick\n }\n );\n const cssClasses = isFn(className)\n ? className({\n rtl,\n position,\n type,\n defaultClassName\n })\n : cx(defaultClassName, className);\n const icon = getIcon(props);\n const isProgressControlled = !!progress || !autoClose;\n\n const closeButtonProps = { closeToast, type, theme };\n let Close: React.ReactNode = null;\n\n if (closeButton === false) {\n // hide\n } else if (isFn(closeButton)) {\n Close = closeButton(closeButtonProps);\n } else if (isValidElement(closeButton)) {\n Close = cloneElement(closeButton, closeButtonProps);\n } else {\n Close = CloseButton(closeButtonProps);\n }\n\n return (\n \n \n {icon != null && (\n \n {icon}\n \n )}\n {renderContent(children, props, !isRunning)}\n {Close}\n {!props.customProgressBar && (\n \n )}\n \n \n );\n};\n","import React, { cloneElement, isValidElement } from 'react';\n\nimport { Theme, ToastProps, TypeOptions } from '../types';\nimport { Default, isFn } from '../utils';\n\n/**\n * Used when providing custom icon\n */\nexport interface IconProps {\n theme: Theme;\n type: TypeOptions;\n isLoading?: boolean;\n}\n\nexport type BuiltInIconProps = React.SVGProps & IconProps;\n\nconst Svg: React.FC = ({ theme, type, isLoading, ...rest }) => (\n \n);\n\nfunction Warning(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Info(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Success(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Error(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Spinner() {\n return
;\n}\n\nexport const Icons = {\n info: Info,\n warning: Warning,\n success: Success,\n error: Error,\n spinner: Spinner\n};\n\nconst maybeIcon = (type: string): type is keyof typeof Icons => type in Icons;\n\nexport type IconParams = Pick;\n\nexport function getIcon({ theme, type, isLoading, icon }: IconParams) {\n let Icon: React.ReactNode = null;\n const iconProps = { theme, type };\n\n if (icon === false) {\n // hide\n } else if (isFn(icon)) {\n Icon = icon({ ...iconProps, isLoading });\n } else if (isValidElement(icon)) {\n Icon = cloneElement(icon, iconProps);\n } else if (isLoading) {\n Icon = Icons.spinner();\n } else if (maybeIcon(type)) {\n Icon = Icons[type](iconProps);\n }\n\n return Icon;\n}\n","import { cssTransition, Default } from '../utils';\n\nconst getConfig = (animationName: string, appendPosition = false) => ({\n enter: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-enter`,\n exit: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-exit`,\n appendPosition\n});\n\nconst Bounce = cssTransition(getConfig('bounce', true));\n\nconst Slide = cssTransition(getConfig('slide', true));\n\nconst Zoom = cssTransition(getConfig('zoom'));\n\nconst Flip = cssTransition(getConfig('flip'));\n\nexport { Bounce, Slide, Zoom, Flip };\n"],"mappings":"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","names":["src_exports","__export","Bounce","Flip","Icons","Slide","ToastContainer","Zoom","collapseToast","cssTransition","toast","__toCommonJS","injectStyle","css","head","style","import_react","isNum","v","isStr","isFn","isId","parseClassName","getAutoCloseDelay","toastAutoClose","containerAutoClose","canBeRendered","content","import_react","collapseToast","node","done","duration","scrollHeight","style","cssTransition","enter","exit","appendPosition","collapse","collapseDuration","children","position","preventExitTransition","done","nodeRef","isIn","playToast","enterClassName","exitClassName","animationStep","node","classToToken","onEntered","e","onExited","collapseToast","React","import_react","toToastItem","toast","status","renderContent","content","props","isPaused","isStr","isFn","import_react","CloseButton","closeToast","theme","ariaLabel","React","e","import_react","import_clsx","ProgressBar","delay","isRunning","closeToast","type","hide","className","controlledProgress","progress","rtl","isIn","theme","isHidden","style","defaultClassName","cx","classNames","isFn","animationEvent","React","import_clsx","import_react","TOAST_ID","genToastId","createContainerObserver","id","containerProps","dispatchChanges","toastKey","toastCount","queue","snapshot","props","toasts","listeners","observe","notify","cb","shouldIgnoreToast","containerId","toastId","updateId","containerMismatch","isDuplicate","toggle","v","t","_a","markAsRemoved","_b","removeToast","clearQueue","addActiveToast","toast","isNew","toToastItem","content","options","data","staleId","delay","isNotAnUpdate","toastProps","_","parseClassName","getAutoCloseDelay","reason","toastToRemove","canBeRendered","activeToast","isNum","p","fn","containers","renderQueue","listeners","dispatchChanges","data","cb","hasContainers","flushRenderQueue","v","pushToast","getToast","id","containerId","_a","isToastActive","isActive","c","removeToast","params","isId","container","clearWaitingQueue","p","content","options","canBeRendered","registerToggle","opts","toggleToast","opt","registerContainer","props","notify","createContainerObserver","unobserve","onChange","getToastId","options","isStr","isNum","genToastId","dispatchToast","content","pushToast","mergeOptions","type","createToastByType","toast","handlePromise","promise","pending","error","success","id","resetParams","resolver","input","result","baseParams","params","p","isFn","err","dismiss","removeToast","clearWaitingQueue","isToastActive","toastId","getToast","oldOptions","oldContent","nextOptions","onChange","opts","toggleToast","import_react","useToastContainer","props","_a","subscribe","getSnapshot","setProps","registerContainer","snapshot","getToastToRender","cb","toRender","toast","position","p","isToastActive","import_react","useToast","props","isRunning","setIsRunning","preventExitTransition","setPreventExitTransition","toastRef","drag","autoClose","pauseOnHover","closeToast","onClick","closeOnClick","registerToggle","bindFocusEvents","unbindFocusEvents","pauseToast","playToast","onDragStart","e","bindDragEvents","toast","onDragTransitionEnd","top","bottom","left","right","onDragMove","onDragEnd","unbindDragEvents","translate","eventHandlers","import_react","useIsomorphicLayoutEffect","import_clsx","import_react","import_react","Svg","theme","type","isLoading","rest","React","Warning","props","Info","Success","Error","Spinner","Icons","maybeIcon","getIcon","icon","Icon","iconProps","isFn","Toast","props","isRunning","preventExitTransition","toastRef","eventHandlers","playToast","useToast","closeButton","children","autoClose","onClick","type","hideProgressBar","closeToast","Transition","position","className","style","progressClassName","updateId","role","progress","rtl","toastId","deleteToast","isIn","isLoading","closeOnClick","theme","ariaLabel","defaultClassName","cx","cssClasses","isFn","icon","getIcon","isProgressControlled","closeButtonProps","Close","CloseButton","React","renderContent","ProgressBar","getConfig","animationName","appendPosition","Bounce","cssTransition","Slide","Zoom","Flip","defaultProps","Bounce","e","ToastContainer","props","containerProps","stacked","collapsed","setIsCollapsed","containerRef","getToastToRender","isToastActive","count","useToastContainer","className","style","rtl","containerId","hotKeys","getClassName","position","defaultClassName","cx","isFn","parseClassName","collapseAll","toast","useIsomorphicLayoutEffect","_a","nodes","gap","isTop","usedHeight","prevS","n","i","node","y","focusFirst","React","toastList","containerStyle","content","toastProps","Toast"]} \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.mjs b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.mjs new file mode 100644 index 000000000..00024b914 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.mjs @@ -0,0 +1,4 @@ +"use client"; +function Mt(t){if(!t||typeof document=="undefined")return;let o=document.head||document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",o.firstChild?o.insertBefore(e,o.firstChild):o.appendChild(e),e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}Mt(`:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}} +`);import{isValidElement as $t}from"react";var L=t=>typeof t=="number"&&!isNaN(t),N=t=>typeof t=="string",P=t=>typeof t=="function",mt=t=>N(t)||L(t),B=t=>N(t)||P(t)?t:null,pt=(t,o)=>t===!1||L(t)&&t>0?t:o,z=t=>$t(t)||N(t)||P(t)||L(t);import ut,{useEffect as Rt,useLayoutEffect as Bt,useRef as zt}from"react";function Z(t,o,e=300){let{scrollHeight:r,style:s}=t;requestAnimationFrame(()=>{s.minHeight="initial",s.height=r+"px",s.transition=`all ${e}ms`,requestAnimationFrame(()=>{s.height="0",s.padding="0",s.margin="0",setTimeout(o,e)})})}function $({enter:t,exit:o,appendPosition:e=!1,collapse:r=!0,collapseDuration:s=300}){return function({children:a,position:d,preventExitTransition:c,done:T,nodeRef:g,isIn:v,playToast:x}){let C=e?`${t}--${d}`:t,S=e?`${o}--${d}`:o,E=zt(0);return Bt(()=>{let f=g.current,p=C.split(" "),b=n=>{n.target===g.current&&(x(),f.removeEventListener("animationend",b),f.removeEventListener("animationcancel",b),E.current===0&&n.type!=="animationcancel"&&f.classList.remove(...p))};(()=>{f.classList.add(...p),f.addEventListener("animationend",b),f.addEventListener("animationcancel",b)})()},[]),Rt(()=>{let f=g.current,p=()=>{f.removeEventListener("animationend",p),r?Z(f,T,s):T()};v||(c?p():(()=>{E.current=1,f.className+=` ${S}`,f.addEventListener("animationend",p)})())},[v]),ut.createElement(ut.Fragment,null,a)}}import{cloneElement as Ft,isValidElement as Ut}from"react";function J(t,o){return{content:tt(t.content,t.props),containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,reason:t.removalReason,status:o}}function tt(t,o,e=!1){return Ut(t)&&!N(t.type)?Ft(t,{closeToast:o.closeToast,toastProps:o,data:o.data,isPaused:e}):P(t)?t({closeToast:o.closeToast,toastProps:o,data:o.data,isPaused:e}):t}import ot from"react";function yt({closeToast:t,theme:o,ariaLabel:e="close"}){return ot.createElement("button",{className:`Toastify__close-button Toastify__close-button--${o}`,type:"button",onClick:r=>{r.stopPropagation(),t(!0)},"aria-label":e},ot.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},ot.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}import et from"react";import Tt from"clsx";function gt({delay:t,isRunning:o,closeToast:e,type:r="default",hide:s,className:l,controlledProgress:a,progress:d,rtl:c,isIn:T,theme:g}){let v=s||a&&d===0,x={animationDuration:`${t}ms`,animationPlayState:o?"running":"paused"};a&&(x.transform=`scaleX(${d})`);let C=Tt("Toastify__progress-bar",a?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${g}`,`Toastify__progress-bar--${r}`,{["Toastify__progress-bar--rtl"]:c}),S=P(l)?l({rtl:c,type:r,defaultClassName:C}):Tt(C,l),E={[a&&d>=1?"onTransitionEnd":"onAnimationEnd"]:a&&d<1?null:()=>{T&&e()}};return et.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":v},et.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${g} Toastify__progress-bar--${r}`}),et.createElement("div",{role:"progressbar","aria-hidden":v?"true":"false","aria-label":"notification timer",className:S,style:x,...E}))}import Dt from"clsx";import ct,{useEffect as yo,useRef as To,useState as go}from"react";var Xt=1,at=()=>`${Xt++}`;function _t(t,o,e){let r=1,s=0,l=[],a=[],d=o,c=new Map,T=new Set,g=i=>(T.add(i),()=>T.delete(i)),v=()=>{a=Array.from(c.values()),T.forEach(i=>i())},x=({containerId:i,toastId:n,updateId:u})=>{let h=i?i!==t:t!==1,m=c.has(n)&&u==null;return h||m},C=(i,n)=>{c.forEach(u=>{var h;(n==null||n===u.props.toastId)&&((h=u.toggle)==null||h.call(u,i))})},S=i=>{var n,u;(u=(n=i.props)==null?void 0:n.onClose)==null||u.call(n,i.removalReason),i.isActive=!1},E=i=>{if(i==null)c.forEach(S);else{let n=c.get(i);n&&S(n)}v()},f=()=>{s-=l.length,l=[]},p=i=>{var m,_;let{toastId:n,updateId:u}=i.props,h=u==null;i.staleId&&c.delete(i.staleId),i.isActive=!0,c.set(n,i),v(),e(J(i,h?"added":"updated")),h&&((_=(m=i.props).onOpen)==null||_.call(m))};return{id:t,props:d,observe:g,toggle:C,removeToast:E,toasts:c,clearQueue:f,buildToast:(i,n)=>{if(x(n))return;let{toastId:u,updateId:h,data:m,staleId:_,delay:k}=n,M=h==null;M&&s++;let A={...d,style:d.toastStyle,key:r++,...Object.fromEntries(Object.entries(n).filter(([D,Y])=>Y!=null)),toastId:u,updateId:h,data:m,isIn:!1,className:B(n.className||d.toastClassName),progressClassName:B(n.progressClassName||d.progressClassName),autoClose:n.isLoading?!1:pt(n.autoClose,d.autoClose),closeToast(D){c.get(u).removalReason=D,E(u)},deleteToast(){let D=c.get(u);if(D!=null){if(e(J(D,"removed")),c.delete(u),s--,s<0&&(s=0),l.length>0){p(l.shift());return}v()}}};A.closeButton=d.closeButton,n.closeButton===!1||z(n.closeButton)?A.closeButton=n.closeButton:n.closeButton===!0&&(A.closeButton=z(d.closeButton)?d.closeButton:!0);let R={content:i,props:A,staleId:_};d.limit&&d.limit>0&&s>d.limit&&M?l.push(R):L(k)?setTimeout(()=>{p(R)},k):p(R)},setProps(i){d=i},setToggle:(i,n)=>{let u=c.get(i);u&&(u.toggle=n)},isToastActive:i=>{var n;return(n=c.get(i))==null?void 0:n.isActive},getSnapshot:()=>a}}var I=new Map,F=[],st=new Set,Vt=t=>st.forEach(o=>o(t)),bt=()=>I.size>0;function Qt(){F.forEach(t=>nt(t.content,t.options)),F=[]}var vt=(t,{containerId:o})=>{var e;return(e=I.get(o||1))==null?void 0:e.toasts.get(t)};function X(t,o){var r;if(o)return!!((r=I.get(o))!=null&&r.isToastActive(t));let e=!1;return I.forEach(s=>{s.isToastActive(t)&&(e=!0)}),e}function ht(t){if(!bt()){F=F.filter(o=>t!=null&&o.options.toastId!==t);return}if(t==null||mt(t))I.forEach(o=>{o.removeToast(t)});else if(t&&("containerId"in t||"id"in t)){let o=I.get(t.containerId);o?o.removeToast(t.id):I.forEach(e=>{e.removeToast(t.id)})}}var Ct=(t={})=>{I.forEach(o=>{o.props.limit&&(!t.containerId||o.id===t.containerId)&&o.clearQueue()})};function nt(t,o){z(t)&&(bt()||F.push({content:t,options:o}),I.forEach(e=>{e.buildToast(t,o)}))}function xt(t){var o;(o=I.get(t.containerId||1))==null||o.setToggle(t.id,t.fn)}function rt(t,o){I.forEach(e=>{(o==null||!(o!=null&&o.containerId)||(o==null?void 0:o.containerId)===e.id)&&e.toggle(t,o==null?void 0:o.id)})}function Et(t){let o=t.containerId||1;return{subscribe(e){let r=_t(o,t,Vt);I.set(o,r);let s=r.observe(e);return Qt(),()=>{s(),I.delete(o)}},setProps(e){var r;(r=I.get(o))==null||r.setProps(e)},getSnapshot(){var e;return(e=I.get(o))==null?void 0:e.getSnapshot()}}}function Pt(t){return st.add(t),()=>{st.delete(t)}}function Wt(t){return t&&(N(t.toastId)||L(t.toastId))?t.toastId:at()}function U(t,o){return nt(t,o),o.toastId}function V(t,o){return{...o,type:o&&o.type||t,toastId:Wt(o)}}function Q(t){return(o,e)=>U(o,V(t,e))}function y(t,o){return U(t,V("default",o))}y.loading=(t,o)=>U(t,V("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...o}));function Gt(t,{pending:o,error:e,success:r},s){let l;o&&(l=N(o)?y.loading(o,s):y.loading(o.render,{...s,...o}));let a={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},d=(T,g,v)=>{if(g==null){y.dismiss(l);return}let x={type:T,...a,...s,data:v},C=N(g)?{render:g}:g;return l?y.update(l,{...x,...C}):y(C.render,{...x,...C}),v},c=P(t)?t():t;return c.then(T=>d("success",r,T)).catch(T=>d("error",e,T)),c}y.promise=Gt;y.success=Q("success");y.info=Q("info");y.error=Q("error");y.warning=Q("warning");y.warn=y.warning;y.dark=(t,o)=>U(t,V("default",{theme:"dark",...o}));function qt(t){ht(t)}y.dismiss=qt;y.clearWaitingQueue=Ct;y.isActive=X;y.update=(t,o={})=>{let e=vt(t,o);if(e){let{props:r,content:s}=e,l={delay:100,...r,...o,toastId:o.toastId||t,updateId:at()};l.toastId!==t&&(l.staleId=t);let a=l.render||s;delete l.render,U(a,l)}};y.done=t=>{y.update(t,{progress:1})};y.onChange=Pt;y.play=t=>rt(!0,t);y.pause=t=>rt(!1,t);import{useRef as Kt,useSyncExternalStore as Yt}from"react";function It(t){var a;let{subscribe:o,getSnapshot:e,setProps:r}=Kt(Et(t)).current;r(t);let s=(a=Yt(o,e,e))==null?void 0:a.slice();function l(d){if(!s)return[];let c=new Map;return t.newestOnTop&&s.reverse(),s.forEach(T=>{let{position:g}=T.props;c.has(g)||c.set(g,[]),c.get(g).push(T)}),Array.from(c,T=>d(T[0],T[1]))}return{getToastToRender:l,isToastActive:X,count:s==null?void 0:s.length}}import{useEffect as Zt,useRef as St,useState as kt}from"react";function At(t){let[o,e]=kt(!1),[r,s]=kt(!1),l=St(null),a=St({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:d,pauseOnHover:c,closeToast:T,onClick:g,closeOnClick:v}=t;xt({id:t.toastId,containerId:t.containerId,fn:e}),Zt(()=>{if(t.pauseOnFocusLoss)return x(),()=>{C()}},[t.pauseOnFocusLoss]);function x(){document.hasFocus()||p(),window.addEventListener("focus",f),window.addEventListener("blur",p)}function C(){window.removeEventListener("focus",f),window.removeEventListener("blur",p)}function S(m){if(t.draggable===!0||t.draggable===m.pointerType){b();let _=l.current;a.canCloseOnClick=!0,a.canDrag=!0,_.style.transition="none",t.draggableDirection==="x"?(a.start=m.clientX,a.removalDistance=_.offsetWidth*(t.draggablePercent/100)):(a.start=m.clientY,a.removalDistance=_.offsetHeight*(t.draggablePercent===80?t.draggablePercent*1.5:t.draggablePercent)/100)}}function E(m){let{top:_,bottom:k,left:M,right:A}=l.current.getBoundingClientRect();m.nativeEvent.type!=="touchend"&&t.pauseOnHover&&m.clientX>=M&&m.clientX<=A&&m.clientY>=_&&m.clientY<=k?p():f()}function f(){e(!0)}function p(){e(!1)}function b(){a.didMove=!1,document.addEventListener("pointermove",n),document.addEventListener("pointerup",u)}function i(){document.removeEventListener("pointermove",n),document.removeEventListener("pointerup",u)}function n(m){let _=l.current;if(a.canDrag&&_){a.didMove=!0,o&&p(),t.draggableDirection==="x"?a.delta=m.clientX-a.start:a.delta=m.clientY-a.start,a.start!==m.clientX&&(a.canCloseOnClick=!1);let k=t.draggableDirection==="x"?`${a.delta}px, var(--y)`:`0, calc(${a.delta}px + var(--y))`;_.style.transform=`translate3d(${k},0)`,_.style.opacity=`${1-Math.abs(a.delta/a.removalDistance)}`}}function u(){i();let m=l.current;if(a.canDrag&&a.didMove&&m){if(a.canDrag=!1,Math.abs(a.delta)>a.removalDistance){s(!0),t.closeToast(!0),t.collapseAll();return}m.style.transition="transform 0.2s, opacity 0.2s",m.style.removeProperty("transform"),m.style.removeProperty("opacity")}}let h={onPointerDown:S,onPointerUp:E};return d&&c&&(h.onMouseEnter=p,t.stacked||(h.onMouseLeave=f)),v&&(h.onClick=m=>{g&&g(m),a.canCloseOnClick&&T(!0)}),{playToast:f,pauseToast:p,isRunning:o,preventExitTransition:r,toastRef:l,eventHandlers:h}}import{useEffect as Jt,useLayoutEffect as to}from"react";var Ot=typeof window!="undefined"?to:Jt;import it from"clsx";import q,{cloneElement as co,isValidElement as fo}from"react";import O,{cloneElement as oo,isValidElement as eo}from"react";var G=({theme:t,type:o,isLoading:e,...r})=>O.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:t==="colored"?"currentColor":`var(--toastify-icon-color-${o})`,...r});function ao(t){return O.createElement(G,{...t},O.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))}function so(t){return O.createElement(G,{...t},O.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))}function no(t){return O.createElement(G,{...t},O.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))}function ro(t){return O.createElement(G,{...t},O.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))}function io(){return O.createElement("div",{className:"Toastify__spinner"})}var W={info:so,warning:ao,success:no,error:ro,spinner:io},lo=t=>t in W;function Nt({theme:t,type:o,isLoading:e,icon:r}){let s=null,l={theme:t,type:o};return r===!1||(P(r)?s=r({...l,isLoading:e}):eo(r)?s=oo(r,l):e?s=W.spinner():lo(o)&&(s=W[o](l))),s}var wt=t=>{let{isRunning:o,preventExitTransition:e,toastRef:r,eventHandlers:s,playToast:l}=At(t),{closeButton:a,children:d,autoClose:c,onClick:T,type:g,hideProgressBar:v,closeToast:x,transition:C,position:S,className:E,style:f,progressClassName:p,updateId:b,role:i,progress:n,rtl:u,toastId:h,deleteToast:m,isIn:_,isLoading:k,closeOnClick:M,theme:A,ariaLabel:R}=t,D=it("Toastify__toast",`Toastify__toast-theme--${A}`,`Toastify__toast--${g}`,{["Toastify__toast--rtl"]:u},{["Toastify__toast--close-on-click"]:M}),Y=P(E)?E({rtl:u,position:S,type:g,defaultClassName:D}):it(D,E),ft=Nt(t),dt=!!n||!c,j={closeToast:x,type:g,theme:A},H=null;return a===!1||(P(a)?H=a(j):fo(a)?H=co(a,j):H=yt(j)),q.createElement(C,{isIn:_,done:m,position:S,preventExitTransition:e,nodeRef:r,playToast:l},q.createElement("div",{id:h,tabIndex:0,onClick:T,"data-in":_,className:Y,...s,style:f,ref:r,..._&&{role:i,"aria-label":R}},ft!=null&&q.createElement("div",{className:it("Toastify__toast-icon",{["Toastify--animate-icon Toastify__zoom-enter"]:!k})},ft),tt(d,t,!o),H,!t.customProgressBar&&q.createElement(gt,{...b&&!dt?{key:`p-${b}`}:{},rtl:u,theme:A,delay:c,isRunning:o,isIn:_,closeToast:x,hide:v,type:g,className:p,controlledProgress:dt,progress:n||0})))};var K=(t,o=!1)=>({enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:o}),lt=$(K("bounce",!0)),mo=$(K("slide",!0)),po=$(K("zoom")),uo=$(K("flip"));var _o={position:"top-right",transition:lt,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:t=>t.altKey&&t.code==="KeyT"};function Lt(t){let o={..._o,...t},e=t.stacked,[r,s]=go(!0),l=To(null),{getToastToRender:a,isToastActive:d,count:c}=It(o),{className:T,style:g,rtl:v,containerId:x,hotKeys:C}=o;function S(f){let p=Dt("Toastify__toast-container",`Toastify__toast-container--${f}`,{["Toastify__toast-container--rtl"]:v});return P(T)?T({position:f,rtl:v,defaultClassName:p}):Dt(p,B(T))}function E(){e&&(s(!0),y.play())}return Ot(()=>{var f;if(e){let p=l.current.querySelectorAll('[data-in="true"]'),b=12,i=(f=o.position)==null?void 0:f.includes("top"),n=0,u=0;Array.from(p).reverse().forEach((h,m)=>{let _=h;_.classList.add("Toastify__toast--stacked"),m>0&&(_.dataset.collapsed=`${r}`),_.dataset.pos||(_.dataset.pos=i?"top":"bot");let k=n*(r?.2:1)+(r?0:b*m);_.style.setProperty("--y",`${i?k:k*-1}px`),_.style.setProperty("--g",`${b}`),_.style.setProperty("--s",`${1-(r?u:0)}`),n+=_.offsetHeight,u+=.025})}},[r,c,e]),yo(()=>{function f(p){var i;let b=l.current;C(p)&&((i=b.querySelector('[tabIndex="0"]'))==null||i.focus(),s(!1),y.pause()),p.key==="Escape"&&(document.activeElement===b||b!=null&&b.contains(document.activeElement))&&(s(!0),y.play())}return document.addEventListener("keydown",f),()=>{document.removeEventListener("keydown",f)}},[C]),ct.createElement("section",{ref:l,className:"Toastify",id:x,onMouseEnter:()=>{e&&(s(!1),y.pause())},onMouseLeave:E,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":o["aria-label"]},a((f,p)=>{let b=p.length?{...g}:{...g,pointerEvents:"none"};return ct.createElement("div",{tabIndex:-1,className:S(f),"data-stacked":e,style:b,key:`c-${f}`},p.map(({content:i,props:n})=>ct.createElement(wt,{...n,stacked:e,collapseAll:E,isIn:d(n.toastId,n.containerId),key:`t-${n.key}`},i)))}))}export{lt as Bounce,uo as Flip,W as Icons,mo as Slide,Lt as ToastContainer,po as Zoom,Z as collapseToast,$ as cssTransition,y as toast}; +//# sourceMappingURL=index.mjs.map \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.mjs.map b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.mjs.map new file mode 100644 index 000000000..d12546f63 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/style.css","../src/utils/propValidator.ts","../src/utils/cssTransition.tsx","../src/utils/collapseToast.ts","../src/utils/mapper.ts","../src/components/CloseButton.tsx","../src/components/ProgressBar.tsx","../src/components/ToastContainer.tsx","../src/core/genToastId.ts","../src/core/containerObserver.ts","../src/core/store.ts","../src/core/toast.ts","../src/hooks/useToastContainer.ts","../src/hooks/useToast.ts","../src/hooks/useIsomorphicLayoutEffect.ts","../src/components/Toast.tsx","../src/components/Icons.tsx","../src/components/Transitions.tsx"],"sourcesContent":["\nfunction injectStyle(css) {\n if (!css || typeof document === 'undefined') return\n\n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if(head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n\n if(style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n}\ninjectStyle(\":root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:\\\"\\\";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:\\\"\\\";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\\n\");","import { isValidElement } from 'react';\nimport { Id } from '../types';\n\nexport const isNum = (v: any): v is Number => typeof v === 'number' && !isNaN(v);\n\nexport const isStr = (v: any): v is String => typeof v === 'string';\n\nexport const isFn = (v: any): v is Function => typeof v === 'function';\n\nexport const isId = (v: unknown): v is Id => isStr(v) || isNum(v);\n\nexport const parseClassName = (v: any) => (isStr(v) || isFn(v) ? v : null);\n\nexport const getAutoCloseDelay = (toastAutoClose?: false | number, containerAutoClose?: false | number) =>\n toastAutoClose === false || (isNum(toastAutoClose) && toastAutoClose > 0) ? toastAutoClose : containerAutoClose;\n\nexport const canBeRendered = (content: T): boolean =>\n isValidElement(content) || isStr(content) || isFn(content) || isNum(content);\n","import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport { collapseToast } from './collapseToast';\nimport { Default } from './constant';\n\nimport { ToastTransitionProps } from '../types';\n\nexport interface CSSTransitionProps {\n /**\n * Css class to apply when toast enter\n */\n enter: string;\n\n /**\n * Css class to apply when toast leave\n */\n exit: string;\n\n /**\n * Append current toast position to the classname.\n * If multiple classes are provided, only the last one will get the position\n * For instance `myclass--top-center`...\n * `Default: false`\n */\n appendPosition?: boolean;\n\n /**\n * Collapse toast smoothly when exit animation end\n * `Default: true`\n */\n collapse?: boolean;\n\n /**\n * Collapse transition duration\n * `Default: 300`\n */\n collapseDuration?: number;\n}\n\nconst enum AnimationStep {\n Enter,\n Exit\n}\n\n/**\n * Css animation that just work.\n * You could use animate.css for instance\n *\n *\n * ```\n * cssTransition({\n * enter: \"animate__animated animate__bounceIn\",\n * exit: \"animate__animated animate__bounceOut\"\n * })\n * ```\n *\n */\nexport function cssTransition({\n enter,\n exit,\n appendPosition = false,\n collapse = true,\n collapseDuration = Default.COLLAPSE_DURATION\n}: CSSTransitionProps) {\n return function ToastTransition({\n children,\n position,\n preventExitTransition,\n done,\n nodeRef,\n isIn,\n playToast\n }: ToastTransitionProps) {\n const enterClassName = appendPosition ? `${enter}--${position}` : enter;\n const exitClassName = appendPosition ? `${exit}--${position}` : exit;\n const animationStep = useRef(AnimationStep.Enter);\n\n useLayoutEffect(() => {\n const node = nodeRef.current!;\n const classToToken = enterClassName.split(' ');\n\n const onEntered = (e: AnimationEvent) => {\n if (e.target !== nodeRef.current) return;\n\n playToast();\n node.removeEventListener('animationend', onEntered);\n node.removeEventListener('animationcancel', onEntered);\n if (animationStep.current === AnimationStep.Enter && e.type !== 'animationcancel') {\n node.classList.remove(...classToToken);\n }\n };\n\n const onEnter = () => {\n node.classList.add(...classToToken);\n node.addEventListener('animationend', onEntered);\n node.addEventListener('animationcancel', onEntered);\n };\n\n onEnter();\n }, []);\n\n useEffect(() => {\n const node = nodeRef.current!;\n\n const onExited = () => {\n node.removeEventListener('animationend', onExited);\n collapse ? collapseToast(node, done, collapseDuration) : done();\n };\n\n const onExit = () => {\n animationStep.current = AnimationStep.Exit;\n node.className += ` ${exitClassName}`;\n node.addEventListener('animationend', onExited);\n };\n\n if (!isIn) preventExitTransition ? onExited() : onExit();\n }, [isIn]);\n\n return <>{children};\n };\n}\n","import { Default } from './constant';\n\n/**\n * Used to collapse toast after exit animation\n */\nexport function collapseToast(node: HTMLElement, done: () => void, duration = Default.COLLAPSE_DURATION) {\n const { scrollHeight, style } = node;\n\n requestAnimationFrame(() => {\n style.minHeight = 'initial';\n style.height = scrollHeight + 'px';\n style.transition = `all ${duration}ms`;\n\n requestAnimationFrame(() => {\n style.height = '0';\n style.padding = '0';\n style.margin = '0';\n setTimeout(done, duration as number);\n });\n });\n}\n","import { Toast, ToastContentProps, ToastItem, ToastItemStatus, ToastProps } from '../types';\nimport { cloneElement, isValidElement, ReactElement } from 'react';\nimport { isFn, isStr } from './propValidator';\n\nexport function toToastItem(toast: Toast, status: ToastItemStatus): ToastItem {\n return {\n content: renderContent(toast.content, toast.props),\n containerId: toast.props.containerId,\n id: toast.props.toastId,\n theme: toast.props.theme,\n type: toast.props.type,\n data: toast.props.data || {},\n isLoading: toast.props.isLoading,\n icon: toast.props.icon,\n reason: toast.removalReason,\n status\n };\n}\n\nexport function renderContent(content: unknown, props: ToastProps, isPaused: boolean = false) {\n if (isValidElement(content) && !isStr(content.type)) {\n return cloneElement(content as ReactElement, {\n closeToast: props.closeToast,\n toastProps: props,\n data: props.data,\n isPaused\n });\n } else if (isFn(content)) {\n return content({\n closeToast: props.closeToast,\n toastProps: props,\n data: props.data,\n isPaused\n });\n }\n\n return content;\n}\n","import React from 'react';\nimport { Default } from '../utils';\nimport { CloseToastFunc, Theme, TypeOptions } from '../types';\n\nexport interface CloseButtonProps {\n closeToast: CloseToastFunc;\n type: TypeOptions;\n ariaLabel?: string;\n theme: Theme;\n}\n\nexport function CloseButton({ closeToast, theme, ariaLabel = 'close' }: CloseButtonProps) {\n return (\n {\n e.stopPropagation();\n closeToast(true);\n }}\n aria-label={ariaLabel}\n >\n \n \n \n \n );\n}\n","import React from 'react';\nimport cx from 'clsx';\n\nimport { Default, isFn, Type } from '../utils';\nimport { Theme, ToastClassName, TypeOptions } from '../types';\n\nexport interface ProgressBarProps {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: number;\n\n /**\n * The animation is running or paused\n */\n isRunning: boolean;\n\n /**\n * Func to close the current toast\n */\n closeToast: () => void;\n\n /**\n * Optional type : info, success ...\n */\n type?: TypeOptions;\n\n /**\n * The theme that is currently used\n */\n theme: Theme;\n\n /**\n * Hide or not the progress bar\n */\n hide?: boolean;\n\n /**\n * Optional className\n */\n className?: ToastClassName;\n\n /**\n * Tell whether a controlled progress bar is used\n */\n controlledProgress?: boolean;\n\n /**\n * Controlled progress value\n */\n progress?: number | string;\n\n /**\n * Support rtl content\n */\n rtl?: boolean;\n\n /**\n * Tell if the component is visible on screen or not\n */\n isIn?: boolean;\n}\n\nexport function ProgressBar({\n delay,\n isRunning,\n closeToast,\n type = Type.DEFAULT,\n hide,\n className,\n controlledProgress,\n progress,\n rtl,\n isIn,\n theme\n}: ProgressBarProps) {\n const isHidden = hide || (controlledProgress && progress === 0);\n const style: React.CSSProperties = {\n animationDuration: `${delay}ms`,\n animationPlayState: isRunning ? 'running' : 'paused'\n };\n\n if (controlledProgress) style.transform = `scaleX(${progress})`;\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__progress-bar`,\n controlledProgress\n ? `${Default.CSS_NAMESPACE}__progress-bar--controlled`\n : `${Default.CSS_NAMESPACE}__progress-bar--animated`,\n `${Default.CSS_NAMESPACE}__progress-bar-theme--${theme}`,\n `${Default.CSS_NAMESPACE}__progress-bar--${type}`,\n {\n [`${Default.CSS_NAMESPACE}__progress-bar--rtl`]: rtl\n }\n );\n const classNames = isFn(className)\n ? className({\n rtl,\n type,\n defaultClassName\n })\n : cx(defaultClassName, className);\n\n // 🧐 controlledProgress is derived from progress\n // so if controlledProgress is set\n // it means that this is also the case for progress\n const animationEvent = {\n [controlledProgress && (progress as number)! >= 1 ? 'onTransitionEnd' : 'onAnimationEnd']:\n controlledProgress && (progress as number)! < 1\n ? null\n : () => {\n isIn && closeToast();\n }\n };\n\n // TODO: add aria-valuenow, aria-valuemax, aria-valuemin\n\n return (\n
\n \n \n
\n );\n}\n","import cx from 'clsx';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { toast } from '../core';\nimport { useToastContainer } from '../hooks';\nimport { useIsomorphicLayoutEffect } from '../hooks/useIsomorphicLayoutEffect';\nimport { ToastContainerProps, ToastPosition } from '../types';\nimport { Default, Direction, isFn, parseClassName } from '../utils';\nimport { Toast } from './Toast';\nimport { Bounce } from './Transitions';\n\nexport const defaultProps: ToastContainerProps = {\n position: 'top-right',\n transition: Bounce,\n autoClose: 5000,\n closeButton: true,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n draggable: 'touch',\n draggablePercent: Default.DRAGGABLE_PERCENT as number,\n draggableDirection: Direction.X,\n role: 'alert',\n theme: 'light',\n 'aria-label': 'Notifications Alt+T',\n hotKeys: e => e.altKey && e.code === 'KeyT'\n};\n\nexport function ToastContainer(props: ToastContainerProps) {\n let containerProps: ToastContainerProps = {\n ...defaultProps,\n ...props\n };\n const stacked = props.stacked;\n const [collapsed, setIsCollapsed] = useState(true);\n const containerRef = useRef(null);\n const { getToastToRender, isToastActive, count } = useToastContainer(containerProps);\n const { className, style, rtl, containerId, hotKeys } = containerProps;\n\n function getClassName(position: ToastPosition) {\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast-container`,\n `${Default.CSS_NAMESPACE}__toast-container--${position}`,\n { [`${Default.CSS_NAMESPACE}__toast-container--rtl`]: rtl }\n );\n return isFn(className)\n ? className({\n position,\n rtl,\n defaultClassName\n })\n : cx(defaultClassName, parseClassName(className));\n }\n\n function collapseAll() {\n if (stacked) {\n setIsCollapsed(true);\n toast.play();\n }\n }\n\n useIsomorphicLayoutEffect(() => {\n if (stacked) {\n const nodes = containerRef.current!.querySelectorAll('[data-in=\"true\"]');\n const gap = 12;\n const isTop = containerProps.position?.includes('top');\n let usedHeight = 0;\n let prevS = 0;\n\n Array.from(nodes)\n .reverse()\n .forEach((n, i) => {\n const node = n as HTMLElement;\n node.classList.add(`${Default.CSS_NAMESPACE}__toast--stacked`);\n\n if (i > 0) node.dataset.collapsed = `${collapsed}`;\n\n if (!node.dataset.pos) node.dataset.pos = isTop ? 'top' : 'bot';\n\n const y = usedHeight * (collapsed ? 0.2 : 1) + (collapsed ? 0 : gap * i);\n\n node.style.setProperty('--y', `${isTop ? y : y * -1}px`);\n node.style.setProperty('--g', `${gap}`);\n node.style.setProperty('--s', `${1 - (collapsed ? prevS : 0)}`);\n\n usedHeight += node.offsetHeight;\n prevS += 0.025;\n });\n }\n }, [collapsed, count, stacked]);\n\n useEffect(() => {\n function focusFirst(e: KeyboardEvent) {\n const node = containerRef.current;\n if (hotKeys(e)) {\n (node.querySelector('[tabIndex=\"0\"]') as HTMLElement)?.focus();\n setIsCollapsed(false);\n toast.pause();\n }\n if (e.key === 'Escape' && (document.activeElement === node || node?.contains(document.activeElement))) {\n setIsCollapsed(true);\n toast.play();\n }\n }\n\n document.addEventListener('keydown', focusFirst);\n\n return () => {\n document.removeEventListener('keydown', focusFirst);\n };\n }, [hotKeys]);\n\n return (\n {\n if (stacked) {\n setIsCollapsed(false);\n toast.pause();\n }\n }}\n onMouseLeave={collapseAll}\n aria-live=\"polite\"\n aria-atomic=\"false\"\n aria-relevant=\"additions text\"\n aria-label={containerProps['aria-label']}\n >\n {getToastToRender((position, toastList) => {\n const containerStyle: React.CSSProperties = !toastList.length\n ? { ...style, pointerEvents: 'none' }\n : { ...style };\n\n return (\n \n {toastList.map(({ content, props: toastProps }) => {\n return (\n \n {content}\n \n );\n })}\n
\n );\n })}\n \n );\n}\n","let TOAST_ID = 1;\n\nexport const genToastId = () => `${TOAST_ID++}`;\n","import {\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n Toast,\n ToastContainerProps,\n ToastContent,\n ToastProps\n} from '../types';\nimport { canBeRendered, getAutoCloseDelay, isNum, parseClassName, toToastItem } from '../utils';\n\ntype Notify = () => void;\n\nexport type ContainerObserver = ReturnType;\n\nexport function createContainerObserver(\n id: Id,\n containerProps: ToastContainerProps,\n dispatchChanges: OnChangeCallback\n) {\n let toastKey = 1;\n let toastCount = 0;\n let queue: Toast[] = [];\n let snapshot: Toast[] = [];\n let props = containerProps;\n const toasts = new Map();\n const listeners = new Set();\n\n const observe = (notify: Notify) => {\n listeners.add(notify);\n return () => listeners.delete(notify);\n };\n\n const notify = () => {\n snapshot = Array.from(toasts.values());\n listeners.forEach(cb => cb());\n };\n\n const shouldIgnoreToast = ({ containerId, toastId, updateId }: NotValidatedToastProps) => {\n const containerMismatch = containerId ? containerId !== id : id !== 1;\n const isDuplicate = toasts.has(toastId) && updateId == null;\n\n return containerMismatch || isDuplicate;\n };\n\n const toggle = (v: boolean, id?: Id) => {\n toasts.forEach(t => {\n if (id == null || id === t.props.toastId) t.toggle?.(v);\n });\n };\n\n const markAsRemoved = (v: Toast) => {\n v.props?.onClose?.(v.removalReason);\n v.isActive = false;\n };\n\n const removeToast = (id?: Id) => {\n if (id == null) {\n toasts.forEach(markAsRemoved);\n } else {\n const t = toasts.get(id);\n if (t) markAsRemoved(t);\n }\n notify();\n };\n\n const clearQueue = () => {\n toastCount -= queue.length;\n queue = [];\n };\n\n const addActiveToast = (toast: Toast) => {\n const { toastId, updateId } = toast.props;\n const isNew = updateId == null;\n\n if (toast.staleId) toasts.delete(toast.staleId);\n toast.isActive = true;\n\n toasts.set(toastId, toast);\n notify();\n dispatchChanges(toToastItem(toast, isNew ? 'added' : 'updated'));\n\n if (isNew) toast.props.onOpen?.();\n };\n\n const buildToast = (content: ToastContent, options: NotValidatedToastProps) => {\n if (shouldIgnoreToast(options)) return;\n\n const { toastId, updateId, data, staleId, delay } = options;\n\n const isNotAnUpdate = updateId == null;\n\n if (isNotAnUpdate) toastCount++;\n\n const toastProps = {\n ...props,\n style: props.toastStyle,\n key: toastKey++,\n ...Object.fromEntries(Object.entries(options).filter(([_, v]) => v != null)),\n toastId,\n updateId,\n data,\n isIn: false,\n className: parseClassName(options.className || props.toastClassName),\n progressClassName: parseClassName(options.progressClassName || props.progressClassName),\n autoClose: options.isLoading ? false : getAutoCloseDelay(options.autoClose, props.autoClose),\n closeToast(reason?: true) {\n toasts.get(toastId)!.removalReason = reason;\n removeToast(toastId);\n },\n deleteToast() {\n const toastToRemove = toasts.get(toastId);\n\n if (toastToRemove == null) return;\n\n dispatchChanges(toToastItem(toastToRemove, 'removed'));\n toasts.delete(toastId);\n\n toastCount--;\n if (toastCount < 0) toastCount = 0;\n\n if (queue.length > 0) {\n addActiveToast(queue.shift());\n return;\n }\n\n notify();\n }\n } as ToastProps;\n\n toastProps.closeButton = props.closeButton;\n\n if (options.closeButton === false || canBeRendered(options.closeButton)) {\n toastProps.closeButton = options.closeButton;\n } else if (options.closeButton === true) {\n toastProps.closeButton = canBeRendered(props.closeButton) ? props.closeButton : true;\n }\n\n const activeToast = {\n content,\n props: toastProps,\n staleId\n } as Toast;\n\n // not handling limit + delay by design. Waiting for user feedback first\n if (props.limit && props.limit > 0 && toastCount > props.limit && isNotAnUpdate) {\n queue.push(activeToast);\n } else if (isNum(delay)) {\n setTimeout(() => {\n addActiveToast(activeToast);\n }, delay);\n } else {\n addActiveToast(activeToast);\n }\n };\n\n return {\n id,\n props,\n observe,\n toggle,\n removeToast,\n toasts,\n clearQueue,\n buildToast,\n setProps(p: ToastContainerProps) {\n props = p;\n },\n setToggle: (id: Id, fn: (v: boolean) => void) => {\n const t = toasts.get(id);\n if (t) t.toggle = fn;\n },\n isToastActive: (id: Id) => toasts.get(id)?.isActive,\n getSnapshot: () => snapshot\n };\n}\n","import {\n ClearWaitingQueueParams,\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContainerProps,\n ToastContent,\n ToastItem,\n ToastOptions\n} from '../types';\nimport { Default, canBeRendered, isId } from '../utils';\nimport { ContainerObserver, createContainerObserver } from './containerObserver';\n\ninterface EnqueuedToast {\n content: ToastContent;\n options: NotValidatedToastProps;\n}\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nconst containers = new Map();\nlet renderQueue: EnqueuedToast[] = [];\nconst listeners = new Set();\n\nconst dispatchChanges = (data: ToastItem) => listeners.forEach(cb => cb(data));\n\nconst hasContainers = () => containers.size > 0;\n\nfunction flushRenderQueue() {\n renderQueue.forEach(v => pushToast(v.content, v.options));\n renderQueue = [];\n}\n\nexport const getToast = (id: Id, { containerId }: ToastOptions) =>\n containers.get(containerId || Default.CONTAINER_ID)?.toasts.get(id);\n\nexport function isToastActive(id: Id, containerId?: Id) {\n if (containerId) return !!containers.get(containerId)?.isToastActive(id);\n\n let isActive = false;\n containers.forEach(c => {\n if (c.isToastActive(id)) isActive = true;\n });\n\n return isActive;\n}\n\nexport function removeToast(params?: Id | RemoveParams) {\n if (!hasContainers()) {\n renderQueue = renderQueue.filter(v => params != null && v.options.toastId !== params);\n return;\n }\n\n if (params == null || isId(params)) {\n containers.forEach(c => {\n c.removeToast(params as Id);\n });\n } else if (params && ('containerId' in params || 'id' in params)) {\n const container = containers.get(params.containerId);\n container\n ? container.removeToast(params.id)\n : containers.forEach(c => {\n c.removeToast(params.id);\n });\n }\n}\n\nexport const clearWaitingQueue = (p: ClearWaitingQueueParams = {}) => {\n containers.forEach(c => {\n if (c.props.limit && (!p.containerId || c.id === p.containerId)) {\n c.clearQueue();\n }\n });\n};\n\nexport function pushToast(content: ToastContent, options: NotValidatedToastProps) {\n if (!canBeRendered(content)) return;\n if (!hasContainers()) renderQueue.push({ content, options });\n\n containers.forEach(c => {\n c.buildToast(content, options);\n });\n}\n\ninterface ToggleToastParams {\n id?: Id;\n containerId?: Id;\n}\n\ntype RegisterToggleOpts = {\n id: Id;\n containerId?: Id;\n fn: (v: boolean) => void;\n};\n\nexport function registerToggle(opts: RegisterToggleOpts) {\n containers.get(opts.containerId || Default.CONTAINER_ID)?.setToggle(opts.id, opts.fn);\n}\n\nexport function toggleToast(v: boolean, opt?: ToggleToastParams) {\n containers.forEach(c => {\n if (opt == null || !opt?.containerId) {\n c.toggle(v, opt?.id);\n } else if (opt?.containerId === c.id) {\n c.toggle(v, opt?.id);\n }\n });\n}\n\nexport function registerContainer(props: ToastContainerProps) {\n const id = props.containerId || Default.CONTAINER_ID;\n return {\n subscribe(notify: () => void) {\n const container = createContainerObserver(id, props, dispatchChanges);\n\n containers.set(id, container);\n const unobserve = container.observe(notify);\n flushRenderQueue();\n\n return () => {\n unobserve();\n containers.delete(id);\n };\n },\n setProps(p: ToastContainerProps) {\n containers.get(id)?.setProps(p);\n },\n getSnapshot() {\n return containers.get(id)?.getSnapshot();\n }\n };\n}\n\nexport function onChange(cb: OnChangeCallback) {\n listeners.add(cb);\n\n return () => {\n listeners.delete(cb);\n };\n}\n","import {\n ClearWaitingQueueFunc,\n Id,\n IdOpts,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContent,\n ToastOptions,\n ToastProps,\n TypeOptions,\n UpdateOptions\n} from '../types';\nimport { isFn, isNum, isStr, Type } from '../utils';\nimport { genToastId } from './genToastId';\nimport { clearWaitingQueue, getToast, isToastActive, onChange, pushToast, removeToast, toggleToast } from './store';\n\n/**\n * Generate a toastId or use the one provided\n */\nfunction getToastId(options?: ToastOptions) {\n return options && (isStr(options.toastId) || isNum(options.toastId)) ? options.toastId : genToastId();\n}\n\n/**\n * If the container is not mounted, the toast is enqueued\n */\nfunction dispatchToast(content: ToastContent, options: NotValidatedToastProps): Id {\n pushToast(content, options);\n return options.toastId;\n}\n\n/**\n * Merge provided options with the defaults settings and generate the toastId\n */\nfunction mergeOptions(type: string, options?: ToastOptions) {\n return {\n ...options,\n type: (options && options.type) || type,\n toastId: getToastId(options)\n } as NotValidatedToastProps;\n}\n\nfunction createToastByType(type: string) {\n return (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(type, options));\n}\n\nfunction toast(content: ToastContent, options?: ToastOptions) {\n return dispatchToast(content, mergeOptions(Type.DEFAULT, options));\n}\n\ntoast.loading = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n isLoading: true,\n autoClose: false,\n closeOnClick: false,\n closeButton: false,\n draggable: false,\n ...options\n })\n );\n\nexport interface ToastPromiseParams {\n pending?: string | UpdateOptions;\n success?: string | UpdateOptions;\n error?: string | UpdateOptions;\n}\n\nfunction handlePromise(\n promise: Promise | (() => Promise),\n { pending, error, success }: ToastPromiseParams,\n options?: ToastOptions\n) {\n let id: Id;\n\n if (pending) {\n id = isStr(pending)\n ? toast.loading(pending, options)\n : toast.loading(pending.render, {\n ...options,\n ...(pending as ToastOptions)\n } as ToastOptions);\n }\n\n const resetParams = {\n isLoading: null,\n autoClose: null,\n closeOnClick: null,\n closeButton: null,\n draggable: null\n };\n\n const resolver = (type: TypeOptions, input: string | UpdateOptions | undefined, result: T) => {\n // Remove the toast if the input has not been provided. This prevents the toast from hanging\n // in the pending state if a success/error toast has not been provided.\n if (input == null) {\n toast.dismiss(id);\n return;\n }\n\n const baseParams = {\n type,\n ...resetParams,\n ...options,\n data: result\n };\n const params = isStr(input) ? { render: input } : input;\n\n // if the id is set we know that it's an update\n if (id) {\n toast.update(id, {\n ...baseParams,\n ...params\n } as UpdateOptions);\n } else {\n // using toast.promise without loading\n toast(params!.render, {\n ...baseParams,\n ...params\n } as ToastOptions);\n }\n\n return result;\n };\n\n const p = isFn(promise) ? promise() : promise;\n\n //call the resolvers only when needed\n p.then(result => resolver('success', success, result)).catch(err => resolver('error', error, err));\n\n return p;\n}\n\n/**\n * Supply a promise or a function that return a promise and the notification will be updated if it resolves or fails.\n * When the promise is pending a spinner is displayed by default.\n * `toast.promise` returns the provided promise so you can chain it.\n *\n * Simple example:\n *\n * ```\n * toast.promise(MyPromise,\n * {\n * pending: 'Promise is pending',\n * success: 'Promise resolved 👌',\n * error: 'Promise rejected 🤯'\n * }\n * )\n *\n * ```\n *\n * Advanced usage:\n * ```\n * toast.promise<{name: string}, {message: string}, undefined>(\n * resolveWithSomeData,\n * {\n * pending: {\n * render: () => \"I'm loading\",\n * icon: false,\n * },\n * success: {\n * render: ({data}) => `Hello ${data.name}`,\n * icon: \"🟢\",\n * },\n * error: {\n * render({data}){\n * // When the promise reject, data will contains the error\n * return \n * }\n * }\n * }\n * )\n * ```\n */\ntoast.promise = handlePromise;\ntoast.success = createToastByType(Type.SUCCESS);\ntoast.info = createToastByType(Type.INFO);\ntoast.error = createToastByType(Type.ERROR);\ntoast.warning = createToastByType(Type.WARNING);\ntoast.warn = toast.warning;\ntoast.dark = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n theme: 'dark',\n ...options\n })\n );\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nfunction dismiss(params: RemoveParams): void;\nfunction dismiss(params?: Id): void;\nfunction dismiss(params?: Id | RemoveParams) {\n removeToast(params);\n}\n\n/**\n * Remove toast programmatically\n *\n * - Remove all toasts:\n * ```\n * toast.dismiss()\n * ```\n *\n * - Remove all toasts that belongs to a given container\n * ```\n * toast.dismiss({ container: \"123\" })\n * ```\n *\n * - Remove toast that has a given id regardless the container\n * ```\n * toast.dismiss({ id: \"123\" })\n * ```\n *\n * - Remove toast that has a given id for a specific container\n * ```\n * toast.dismiss({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.dismiss = dismiss;\n\n/**\n * Clear waiting queue when limit is used\n */\ntoast.clearWaitingQueue = clearWaitingQueue as ClearWaitingQueueFunc;\n\n/**\n * Check if a toast is active\n *\n * - Check regardless the container\n * ```\n * toast.isActive(\"123\")\n * ```\n *\n * - Check in a specific container\n * ```\n * toast.isActive(\"123\", \"containerId\")\n * ```\n */\ntoast.isActive = isToastActive;\n\n/**\n * Update a toast, see https://fkhadra.github.io/react-toastify/update-toast/ for more\n *\n * Example:\n * ```\n * // With a string\n * toast.update(toastId, {\n * render: \"New content\",\n * type: \"info\",\n * });\n *\n * // Or with a component\n * toast.update(toastId, {\n * render: MyComponent\n * });\n *\n * // Or a function\n * toast.update(toastId, {\n * render: () =>
New content
\n * });\n *\n * // Apply a transition\n * toast.update(toastId, {\n * render: \"New Content\",\n * type: toast.TYPE.INFO,\n * transition: Rotate\n * })\n * ```\n */\ntoast.update = (toastId: Id, options: UpdateOptions = {}) => {\n const toast = getToast(toastId, options as ToastOptions);\n\n if (toast) {\n const { props: oldOptions, content: oldContent } = toast;\n\n const nextOptions = {\n delay: 100,\n ...oldOptions,\n ...options,\n toastId: options.toastId || toastId,\n updateId: genToastId()\n } as ToastProps & UpdateOptions;\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n\n const content = nextOptions.render || oldContent;\n delete nextOptions.render;\n\n dispatchToast(content, nextOptions);\n }\n};\n\n/**\n * Used for controlled progress bar. It will automatically close the notification.\n *\n * If you don't want your notification to be clsoed when the timer is done you should use `toast.update` instead as follow instead:\n *\n * ```\n * toast.update(id, {\n * progress: null, // remove controlled progress bar\n * render: \"ok\",\n * type: \"success\",\n * autoClose: 5000 // set autoClose to the desired value\n * });\n * ```\n */\ntoast.done = (id: Id) => {\n toast.update(id, {\n progress: 1\n });\n};\n\n/**\n * Subscribe to change when a toast is added, removed and updated\n *\n * Usage:\n * ```\n * const unsubscribe = toast.onChange((payload) => {\n * switch (payload.status) {\n * case \"added\":\n * // new toast added\n * break;\n * case \"updated\":\n * // toast updated\n * break;\n * case \"removed\":\n * // toast has been removed\n * break;\n * }\n * })\n * ```\n */\ntoast.onChange = onChange as (cb: OnChangeCallback) => () => void;\n\n/**\n * Play a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Play all toasts\n * ```\n * toast.play()\n * ```\n *\n * - Play all toasts for a given container\n * ```\n * toast.play({ containerId: \"123\" })\n * ```\n *\n * - Play toast that has a given id regardless the container\n * ```\n * toast.play({ id: \"123\" })\n * ```\n *\n * - Play toast that has a given id for a specific container\n * ```\n * toast.play({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.play = (opts?: IdOpts) => toggleToast(true, opts);\n\n/**\n * Pause a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Pause all toasts\n * ```\n * toast.pause()\n * ```\n *\n * - Pause all toasts for a given container\n * ```\n * toast.pause({ containerId: \"123\" })\n * ```\n *\n * - Pause toast that has a given id regardless the container\n * ```\n * toast.pause({ id: \"123\" })\n * ```\n *\n * - Pause toast that has a given id for a specific container\n * ```\n * toast.pause({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.pause = (opts?: IdOpts) => toggleToast(false, opts);\n\nexport { toast };\n","import { useRef, useSyncExternalStore } from 'react';\nimport { isToastActive, registerContainer } from '../core/store';\nimport { Toast, ToastContainerProps, ToastPosition } from '../types';\n\nexport function useToastContainer(props: ToastContainerProps) {\n const { subscribe, getSnapshot, setProps } = useRef(registerContainer(props)).current;\n setProps(props);\n const snapshot = useSyncExternalStore(subscribe, getSnapshot, getSnapshot)?.slice();\n\n function getToastToRender(cb: (position: ToastPosition, toastList: Toast[]) => T) {\n if (!snapshot) return [];\n\n const toRender = new Map();\n\n if (props.newestOnTop) snapshot.reverse();\n\n snapshot.forEach(toast => {\n const { position } = toast.props;\n toRender.has(position) || toRender.set(position, []);\n toRender.get(position)!.push(toast);\n });\n\n return Array.from(toRender, p => cb(p[0], p[1]));\n }\n\n return {\n getToastToRender,\n isToastActive,\n count: snapshot?.length\n };\n}\n","import { DOMAttributes, useEffect, useRef, useState } from 'react';\n\nimport { ToastProps } from '../types';\nimport { Default, Direction } from '../utils';\nimport { registerToggle } from '../core/store';\n\ninterface Draggable {\n start: number;\n delta: number;\n removalDistance: number;\n canCloseOnClick: boolean;\n canDrag: boolean;\n didMove: boolean;\n}\n\nexport function useToast(props: ToastProps) {\n const [isRunning, setIsRunning] = useState(false);\n const [preventExitTransition, setPreventExitTransition] = useState(false);\n const toastRef = useRef(null);\n const drag = useRef({\n start: 0,\n delta: 0,\n removalDistance: 0,\n canCloseOnClick: true,\n canDrag: false,\n didMove: false\n }).current;\n const { autoClose, pauseOnHover, closeToast, onClick, closeOnClick } = props;\n\n registerToggle({\n id: props.toastId,\n containerId: props.containerId,\n fn: setIsRunning\n });\n\n useEffect(() => {\n if (props.pauseOnFocusLoss) {\n bindFocusEvents();\n\n return () => {\n unbindFocusEvents();\n };\n }\n }, [props.pauseOnFocusLoss]);\n\n function bindFocusEvents() {\n if (!document.hasFocus()) pauseToast();\n\n window.addEventListener('focus', playToast);\n window.addEventListener('blur', pauseToast);\n }\n\n function unbindFocusEvents() {\n window.removeEventListener('focus', playToast);\n window.removeEventListener('blur', pauseToast);\n }\n\n function onDragStart(e: React.PointerEvent) {\n if (props.draggable === true || props.draggable === e.pointerType) {\n bindDragEvents();\n const toast = toastRef.current!;\n drag.canCloseOnClick = true;\n drag.canDrag = true;\n toast.style.transition = 'none';\n\n if (props.draggableDirection === Direction.X) {\n drag.start = e.clientX;\n drag.removalDistance = toast.offsetWidth * (props.draggablePercent / 100);\n } else {\n drag.start = e.clientY;\n drag.removalDistance =\n (toast.offsetHeight *\n (props.draggablePercent === Default.DRAGGABLE_PERCENT\n ? props.draggablePercent * 1.5\n : props.draggablePercent)) /\n 100;\n }\n }\n }\n\n function onDragTransitionEnd(e: React.PointerEvent) {\n const { top, bottom, left, right } = toastRef.current!.getBoundingClientRect();\n\n if (\n e.nativeEvent.type !== 'touchend' &&\n props.pauseOnHover &&\n e.clientX >= left &&\n e.clientX <= right &&\n e.clientY >= top &&\n e.clientY <= bottom\n ) {\n pauseToast();\n } else {\n playToast();\n }\n }\n\n function playToast() {\n setIsRunning(true);\n }\n\n function pauseToast() {\n setIsRunning(false);\n }\n\n function bindDragEvents() {\n drag.didMove = false;\n document.addEventListener('pointermove', onDragMove);\n document.addEventListener('pointerup', onDragEnd);\n }\n\n function unbindDragEvents() {\n document.removeEventListener('pointermove', onDragMove);\n document.removeEventListener('pointerup', onDragEnd);\n }\n\n function onDragMove(e: PointerEvent) {\n const toast = toastRef.current!;\n if (drag.canDrag && toast) {\n drag.didMove = true;\n if (isRunning) pauseToast();\n if (props.draggableDirection === Direction.X) {\n drag.delta = e.clientX - drag.start;\n } else {\n drag.delta = e.clientY - drag.start;\n }\n\n // prevent false positive during a toast click\n if (drag.start !== e.clientX) drag.canCloseOnClick = false;\n const translate =\n props.draggableDirection === 'x' ? `${drag.delta}px, var(--y)` : `0, calc(${drag.delta}px + var(--y))`;\n toast.style.transform = `translate3d(${translate},0)`;\n toast.style.opacity = `${1 - Math.abs(drag.delta / drag.removalDistance)}`;\n }\n }\n\n function onDragEnd() {\n unbindDragEvents();\n const toast = toastRef.current!;\n if (drag.canDrag && drag.didMove && toast) {\n drag.canDrag = false;\n if (Math.abs(drag.delta) > drag.removalDistance) {\n setPreventExitTransition(true);\n props.closeToast(true);\n props.collapseAll();\n return;\n }\n\n toast.style.transition = 'transform 0.2s, opacity 0.2s';\n toast.style.removeProperty('transform');\n toast.style.removeProperty('opacity');\n }\n }\n\n const eventHandlers: DOMAttributes = {\n onPointerDown: onDragStart,\n onPointerUp: onDragTransitionEnd\n };\n\n if (autoClose && pauseOnHover) {\n eventHandlers.onMouseEnter = pauseToast;\n\n // progress control is delegated to the container\n if (!props.stacked) eventHandlers.onMouseLeave = playToast;\n }\n\n // prevent toast from closing when user drags the toast\n if (closeOnClick) {\n eventHandlers.onClick = (e: React.MouseEvent) => {\n onClick && onClick(e);\n drag.canCloseOnClick && closeToast(true);\n };\n }\n\n return {\n playToast,\n pauseToast,\n isRunning,\n preventExitTransition,\n toastRef,\n eventHandlers\n };\n}\n","import { useEffect, useLayoutEffect } from 'react';\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n","import cx from 'clsx';\nimport React, { cloneElement, isValidElement } from 'react';\n\nimport { useToast } from '../hooks/useToast';\nimport { ToastProps } from '../types';\nimport { Default, isFn, renderContent } from '../utils';\nimport { CloseButton } from './CloseButton';\nimport { ProgressBar } from './ProgressBar';\nimport { getIcon } from './Icons';\n\nexport const Toast: React.FC = props => {\n const { isRunning, preventExitTransition, toastRef, eventHandlers, playToast } = useToast(props);\n const {\n closeButton,\n children,\n autoClose,\n onClick,\n type,\n hideProgressBar,\n closeToast,\n transition: Transition,\n position,\n className,\n style,\n progressClassName,\n updateId,\n role,\n progress,\n rtl,\n toastId,\n deleteToast,\n isIn,\n isLoading,\n closeOnClick,\n theme,\n ariaLabel\n } = props;\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast`,\n `${Default.CSS_NAMESPACE}__toast-theme--${theme}`,\n `${Default.CSS_NAMESPACE}__toast--${type}`,\n {\n [`${Default.CSS_NAMESPACE}__toast--rtl`]: rtl\n },\n {\n [`${Default.CSS_NAMESPACE}__toast--close-on-click`]: closeOnClick\n }\n );\n const cssClasses = isFn(className)\n ? className({\n rtl,\n position,\n type,\n defaultClassName\n })\n : cx(defaultClassName, className);\n const icon = getIcon(props);\n const isProgressControlled = !!progress || !autoClose;\n\n const closeButtonProps = { closeToast, type, theme };\n let Close: React.ReactNode = null;\n\n if (closeButton === false) {\n // hide\n } else if (isFn(closeButton)) {\n Close = closeButton(closeButtonProps);\n } else if (isValidElement(closeButton)) {\n Close = cloneElement(closeButton, closeButtonProps);\n } else {\n Close = CloseButton(closeButtonProps);\n }\n\n return (\n \n \n {icon != null && (\n \n {icon}\n \n )}\n {renderContent(children, props, !isRunning)}\n {Close}\n {!props.customProgressBar && (\n \n )}\n \n \n );\n};\n","import React, { cloneElement, isValidElement } from 'react';\n\nimport { Theme, ToastProps, TypeOptions } from '../types';\nimport { Default, isFn } from '../utils';\n\n/**\n * Used when providing custom icon\n */\nexport interface IconProps {\n theme: Theme;\n type: TypeOptions;\n isLoading?: boolean;\n}\n\nexport type BuiltInIconProps = React.SVGProps & IconProps;\n\nconst Svg: React.FC = ({ theme, type, isLoading, ...rest }) => (\n \n);\n\nfunction Warning(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Info(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Success(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Error(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Spinner() {\n return
;\n}\n\nexport const Icons = {\n info: Info,\n warning: Warning,\n success: Success,\n error: Error,\n spinner: Spinner\n};\n\nconst maybeIcon = (type: string): type is keyof typeof Icons => type in Icons;\n\nexport type IconParams = Pick;\n\nexport function getIcon({ theme, type, isLoading, icon }: IconParams) {\n let Icon: React.ReactNode = null;\n const iconProps = { theme, type };\n\n if (icon === false) {\n // hide\n } else if (isFn(icon)) {\n Icon = icon({ ...iconProps, isLoading });\n } else if (isValidElement(icon)) {\n Icon = cloneElement(icon, iconProps);\n } else if (isLoading) {\n Icon = Icons.spinner();\n } else if (maybeIcon(type)) {\n Icon = Icons[type](iconProps);\n }\n\n return Icon;\n}\n","import { cssTransition, Default } from '../utils';\n\nconst getConfig = (animationName: string, appendPosition = false) => ({\n enter: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-enter`,\n exit: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-exit`,\n appendPosition\n});\n\nconst Bounce = cssTransition(getConfig('bounce', true));\n\nconst Slide = cssTransition(getConfig('slide', true));\n\nconst Zoom = cssTransition(getConfig('zoom'));\n\nconst Flip = cssTransition(getConfig('flip'));\n\nexport { Bounce, Slide, Zoom, Flip };\n"],"mappings":"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","names":["injectStyle","css","head","style","isValidElement","isNum","v","isStr","isFn","isId","parseClassName","getAutoCloseDelay","toastAutoClose","containerAutoClose","canBeRendered","content","React","useEffect","useLayoutEffect","useRef","collapseToast","node","done","duration","scrollHeight","style","cssTransition","enter","exit","appendPosition","collapse","collapseDuration","children","position","preventExitTransition","done","nodeRef","isIn","playToast","enterClassName","exitClassName","animationStep","useRef","useLayoutEffect","node","classToToken","onEntered","e","useEffect","onExited","collapseToast","React","cloneElement","isValidElement","toToastItem","toast","status","renderContent","content","props","isPaused","isValidElement","isStr","cloneElement","isFn","React","CloseButton","closeToast","theme","ariaLabel","React","e","React","cx","ProgressBar","delay","isRunning","closeToast","type","hide","className","controlledProgress","progress","rtl","isIn","theme","isHidden","style","defaultClassName","cx","classNames","isFn","animationEvent","React","cx","React","useEffect","useRef","useState","TOAST_ID","genToastId","createContainerObserver","id","containerProps","dispatchChanges","toastKey","toastCount","queue","snapshot","props","toasts","listeners","observe","notify","cb","shouldIgnoreToast","containerId","toastId","updateId","containerMismatch","isDuplicate","toggle","v","t","_a","markAsRemoved","_b","removeToast","clearQueue","addActiveToast","toast","isNew","toToastItem","content","options","data","staleId","delay","isNotAnUpdate","toastProps","_","parseClassName","getAutoCloseDelay","reason","toastToRemove","canBeRendered","activeToast","isNum","p","fn","containers","renderQueue","listeners","dispatchChanges","data","cb","hasContainers","flushRenderQueue","v","pushToast","getToast","id","containerId","_a","isToastActive","isActive","c","removeToast","params","isId","container","clearWaitingQueue","p","content","options","canBeRendered","registerToggle","opts","toggleToast","opt","registerContainer","props","notify","createContainerObserver","unobserve","onChange","getToastId","options","isStr","isNum","genToastId","dispatchToast","content","pushToast","mergeOptions","type","createToastByType","toast","handlePromise","promise","pending","error","success","id","resetParams","resolver","input","result","baseParams","params","p","isFn","err","dismiss","removeToast","clearWaitingQueue","isToastActive","toastId","getToast","oldOptions","oldContent","nextOptions","onChange","opts","toggleToast","useRef","useSyncExternalStore","useToastContainer","props","_a","subscribe","getSnapshot","setProps","useRef","registerContainer","snapshot","useSyncExternalStore","getToastToRender","cb","toRender","toast","position","p","isToastActive","useEffect","useRef","useState","useToast","props","isRunning","setIsRunning","useState","preventExitTransition","setPreventExitTransition","toastRef","useRef","drag","autoClose","pauseOnHover","closeToast","onClick","closeOnClick","registerToggle","useEffect","bindFocusEvents","unbindFocusEvents","pauseToast","playToast","onDragStart","e","bindDragEvents","toast","onDragTransitionEnd","top","bottom","left","right","onDragMove","onDragEnd","unbindDragEvents","translate","eventHandlers","useEffect","useLayoutEffect","useIsomorphicLayoutEffect","cx","React","cloneElement","isValidElement","React","cloneElement","isValidElement","Svg","theme","type","isLoading","rest","React","Warning","props","Info","Success","Error","Spinner","Icons","maybeIcon","getIcon","icon","Icon","iconProps","isFn","isValidElement","cloneElement","Toast","props","isRunning","preventExitTransition","toastRef","eventHandlers","playToast","useToast","closeButton","children","autoClose","onClick","type","hideProgressBar","closeToast","Transition","position","className","style","progressClassName","updateId","role","progress","rtl","toastId","deleteToast","isIn","isLoading","closeOnClick","theme","ariaLabel","defaultClassName","cx","cssClasses","isFn","icon","getIcon","isProgressControlled","closeButtonProps","Close","isValidElement","cloneElement","CloseButton","React","renderContent","ProgressBar","getConfig","animationName","appendPosition","Bounce","cssTransition","Slide","Zoom","Flip","defaultProps","Bounce","e","ToastContainer","props","containerProps","stacked","collapsed","setIsCollapsed","useState","containerRef","useRef","getToastToRender","isToastActive","count","useToastContainer","className","style","rtl","containerId","hotKeys","getClassName","position","defaultClassName","cx","isFn","parseClassName","collapseAll","toast","useIsomorphicLayoutEffect","_a","nodes","gap","isTop","usedHeight","prevS","n","i","node","y","useEffect","focusFirst","React","toastList","containerStyle","content","toastProps","Toast"]} \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.d.mts b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.d.mts new file mode 100644 index 000000000..e50888d1f --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.d.mts @@ -0,0 +1,410 @@ +import * as React from 'react'; +import React__default, { HTMLAttributes } from 'react'; + +interface CloseButtonProps { + closeToast: CloseToastFunc; + type: TypeOptions; + ariaLabel?: string; + theme: Theme; +} +declare function CloseButton({ closeToast, theme, ariaLabel }: CloseButtonProps): React__default.JSX.Element; + +declare function ToastContainer(props: ToastContainerProps): React__default.JSX.Element; + +declare const Bounce: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Slide: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Zoom: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Flip: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; + +/** + * Used when providing custom icon + */ +interface IconProps { + theme: Theme; + type: TypeOptions; + isLoading?: boolean; +} +type BuiltInIconProps = React__default.SVGProps & IconProps; +declare function Warning(props: BuiltInIconProps): React__default.JSX.Element; +declare function Info(props: BuiltInIconProps): React__default.JSX.Element; +declare function Success(props: BuiltInIconProps): React__default.JSX.Element; +declare function Error(props: BuiltInIconProps): React__default.JSX.Element; +declare function Spinner(): React__default.JSX.Element; +declare const Icons: { + info: typeof Info; + warning: typeof Warning; + success: typeof Success; + error: typeof Error; + spinner: typeof Spinner; +}; + +declare function isToastActive(id: Id, containerId?: Id): boolean; +declare const clearWaitingQueue: (p?: ClearWaitingQueueParams) => void; + +type Nullable = { + [P in keyof T]: T[P] | null; +}; +type TypeOptions = 'info' | 'success' | 'warning' | 'error' | 'default'; +type Theme = 'light' | 'dark' | 'colored' | (string & {}); +type ToastPosition = 'top-right' | 'top-center' | 'top-left' | 'bottom-right' | 'bottom-center' | 'bottom-left'; +type CloseToastFunc = ((reason?: boolean | string) => void) & ((e: React__default.MouseEvent) => void); +interface ToastContentProps { + closeToast: CloseToastFunc; + toastProps: ToastProps; + isPaused: boolean; + data: Data; +} +type ToastContent = React__default.ReactNode | ((props: ToastContentProps) => React__default.ReactNode); +type ToastIcon = false | ((props: IconProps) => React__default.ReactNode) | React__default.ReactElement; +type Id = number | string; +type ToastTransition = React__default.FC | React__default.ComponentClass; +/** + * ClassName for the elements - can take a function to build a classname or a raw string that is cx'ed to defaults + */ +type ToastClassName = ((context?: { + type?: TypeOptions; + defaultClassName?: string; + position?: ToastPosition; + rtl?: boolean; +}) => string) | string; +interface ClearWaitingQueueParams { + containerId?: Id; +} +type DraggableDirection = 'x' | 'y'; +interface CommonOptions { + /** + * Pause the timer when the mouse hover the toast. + * `Default: true` + */ + pauseOnHover?: boolean; + /** + * Pause the toast when the window loses focus. + * `Default: true` + */ + pauseOnFocusLoss?: boolean; + /** + * Remove the toast when clicked. + * `Default: false` + */ + closeOnClick?: boolean; + /** + * Set the delay in ms to close the toast automatically. + * Use `false` to prevent the toast from closing. + * `Default: 5000` + */ + autoClose?: number | false; + /** + * Set the default position to use. + * `One of: 'top-right', 'top-center', 'top-left', 'bottom-right', 'bottom-center', 'bottom-left'` + * `Default: 'top-right'` + */ + position?: ToastPosition; + /** + * Pass a custom close button. + * To remove the close button pass `false` + */ + closeButton?: boolean | ((props: CloseButtonProps) => React__default.ReactNode) | React__default.ReactElement; + /** + * An optional css class to set for the progress bar. + */ + progressClassName?: ToastClassName; + /** + * Hide or show the progress bar. + * `Default: false` + */ + hideProgressBar?: boolean; + /** + * Pass a custom transition see https://fkhadra.github.io/react-toastify/custom-animation/ + */ + transition?: ToastTransition; + /** + * Allow toast to be draggable + * `Default: 'touch'` + */ + draggable?: boolean | 'mouse' | 'touch'; + /** + * The percentage of the toast's width it takes for a drag to dismiss a toast + * `Default: 80` + */ + draggablePercent?: number; + /** + * Specify in which direction should you swipe to dismiss the toast + * `Default: "x"` + */ + draggableDirection?: DraggableDirection; + /** + * Define the ARIA role for the toast + * `Default: alert` + * https://www.w3.org/WAI/PF/aria/roles + */ + role?: string; + /** + * Set id to handle multiple container + */ + containerId?: Id; + /** + * Fired when clicking inside toaster + */ + onClick?: (event: React__default.MouseEvent) => void; + /** + * Support right to left display. + * `Default: false` + */ + rtl?: boolean; + /** + * Used to display a custom icon. Set it to `false` to prevent + * the icons from being displayed + */ + icon?: ToastIcon; + /** + * Theme to use. + * `One of: 'light', 'dark', 'colored'` + * `Default: 'light'` + */ + theme?: Theme; + /** + * When set to `true` the built-in progress bar won't be rendered at all. Autoclose delay won't have any effect as well + * This is only used when you want to replace the progress bar with your own. + * + * See https://stackblitz.com/edit/react-toastify-custom-progress-bar?file=src%2FApp.tsx for an example. + */ + customProgressBar?: boolean; +} +interface ToastOptions extends CommonOptions { + /** + * An optional css class to set. + */ + className?: ToastClassName; + /** + * Called when toast is mounted. + */ + onOpen?: () => void; + /** + * Called when toast is unmounted. + * The callback first argument is the closure reason. + * It is "true" when the notification is closed by a user action like clicking on the close button. + */ + onClose?: (reason?: boolean | string) => void; + /** + * An optional inline style to apply. + */ + style?: React__default.CSSProperties; + /** + * Set the toast type. + * `One of: 'info', 'success', 'warning', 'error', 'default'` + */ + type?: TypeOptions; + /** + * Set a custom `toastId` + */ + toastId?: Id; + /** + * Used during update + */ + updateId?: Id; + /** + * Set the percentage for the controlled progress bar. `Value must be between 0 and 1.` + */ + progress?: number; + /** + * Let you provide any data, useful when you are using your own component + */ + data?: Data; + /** + * Let you specify the aria-label + */ + ariaLabel?: string; + /** + * Add a delay in ms before the toast appear. + */ + delay?: number; + isLoading?: boolean; +} +interface UpdateOptions extends Nullable> { + /** + * Used to update a toast. + * Pass any valid ReactNode(string, number, component) + */ + render?: ToastContent; +} +interface ToastContainerProps extends CommonOptions, Pick, 'aria-label'> { + /** + * An optional css class to set. + */ + className?: ToastClassName; + /** + * Will stack the toast with the newest on the top. + */ + stacked?: boolean; + /** + * Whether or not to display the newest toast on top. + * `Default: false` + */ + newestOnTop?: boolean; + /** + * An optional inline style to apply. + */ + style?: React__default.CSSProperties; + /** + * An optional inline style to apply for the toast. + */ + toastStyle?: React__default.CSSProperties; + /** + * An optional css class for the toast. + */ + toastClassName?: ToastClassName; + /** + * Limit the number of toast displayed at the same time + */ + limit?: number; + /** + * Shortcut to focus the first notification with the keyboard + * `default: Alt+t` + * + * ``` + * // focus when user presses ⌘ + F + * const matchShortcut = (e: KeyboardEvent) => e.metaKey && e.key === 'f' + * ``` + */ + hotKeys?: (e: KeyboardEvent) => boolean; +} +interface ToastTransitionProps { + isIn: boolean; + done: () => void; + position: ToastPosition | string; + preventExitTransition: boolean; + nodeRef: React__default.RefObject; + children?: React__default.ReactNode; + playToast(): void; +} +/** + * @INTERNAL + */ +interface ToastProps extends ToastOptions { + isIn: boolean; + staleId?: Id; + toastId: Id; + key: Id; + transition: ToastTransition; + closeToast: CloseToastFunc; + position: ToastPosition; + children?: ToastContent; + draggablePercent: number; + draggableDirection?: DraggableDirection; + progressClassName?: ToastClassName; + className?: ToastClassName; + deleteToast: () => void; + theme: Theme; + type: TypeOptions; + collapseAll: () => void; + stacked?: boolean; +} +type ToastItemStatus = 'added' | 'removed' | 'updated'; +interface ToastItem { + content: ToastContent; + id: Id; + theme?: Theme; + type?: TypeOptions; + isLoading?: boolean; + containerId?: Id; + data: Data; + icon?: ToastIcon; + status: ToastItemStatus; + reason?: boolean | string; +} +type OnChangeCallback = (toast: ToastItem) => void; +type IdOpts = { + id?: Id; + containerId?: Id; +}; +type ClearWaitingQueueFunc = typeof clearWaitingQueue; + +declare const enum Default { + COLLAPSE_DURATION = 300, + DEBOUNCE_DURATION = 50, + CSS_NAMESPACE = "Toastify", + DRAGGABLE_PERCENT = 80, + CONTAINER_ID = 1 +} + +interface CSSTransitionProps { + /** + * Css class to apply when toast enter + */ + enter: string; + /** + * Css class to apply when toast leave + */ + exit: string; + /** + * Append current toast position to the classname. + * If multiple classes are provided, only the last one will get the position + * For instance `myclass--top-center`... + * `Default: false` + */ + appendPosition?: boolean; + /** + * Collapse toast smoothly when exit animation end + * `Default: true` + */ + collapse?: boolean; + /** + * Collapse transition duration + * `Default: 300` + */ + collapseDuration?: number; +} +/** + * Css animation that just work. + * You could use animate.css for instance + * + * + * ``` + * cssTransition({ + * enter: "animate__animated animate__bounceIn", + * exit: "animate__animated animate__bounceOut" + * }) + * ``` + * + */ +declare function cssTransition({ enter, exit, appendPosition, collapse, collapseDuration }: CSSTransitionProps): ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React__default.JSX.Element; + +/** + * Used to collapse toast after exit animation + */ +declare function collapseToast(node: HTMLElement, done: () => void, duration?: Default): void; + +declare function toast(content: ToastContent, options?: ToastOptions): Id; +declare namespace toast { + var loading: (content: ToastContent, options?: ToastOptions) => Id; + var promise: typeof handlePromise; + var success: (content: ToastContent, options?: ToastOptions) => Id; + var info: (content: ToastContent, options?: ToastOptions) => Id; + var error: (content: ToastContent, options?: ToastOptions) => Id; + var warning: (content: ToastContent, options?: ToastOptions) => Id; + var warn: (content: ToastContent, options?: ToastOptions) => Id; + var dark: (content: ToastContent, options?: ToastOptions) => Id; + var dismiss: { + (params: RemoveParams): void; + (params?: Id): void; + }; + var clearWaitingQueue: (p?: ClearWaitingQueueParams) => void; + var isActive: typeof isToastActive; + var update: (toastId: Id, options?: UpdateOptions) => void; + var done: (id: Id) => void; + var onChange: (cb: OnChangeCallback) => () => void; + var play: (opts?: IdOpts) => void; + var pause: (opts?: IdOpts) => void; +} +interface ToastPromiseParams { + pending?: string | UpdateOptions; + success?: string | UpdateOptions; + error?: string | UpdateOptions; +} +declare function handlePromise(promise: Promise | (() => Promise), { pending, error, success }: ToastPromiseParams, options?: ToastOptions): Promise; +interface RemoveParams { + id?: Id; + containerId: Id; +} + +export { Bounce, type ClearWaitingQueueFunc, type ClearWaitingQueueParams, CloseButton, type CloseButtonProps, type DraggableDirection, Flip, type IconProps, Icons, type Id, type OnChangeCallback, Slide, type Theme, type ToastClassName, ToastContainer, type ToastContainerProps, type ToastContent, type ToastContentProps, type ToastIcon, type ToastItem, type ToastOptions, type ToastPosition, type ToastPromiseParams, type ToastTransition, type ToastTransitionProps, type TypeOptions, type UpdateOptions, Zoom, collapseToast, cssTransition, toast }; diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.d.ts b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.d.ts new file mode 100644 index 000000000..e50888d1f --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.d.ts @@ -0,0 +1,410 @@ +import * as React from 'react'; +import React__default, { HTMLAttributes } from 'react'; + +interface CloseButtonProps { + closeToast: CloseToastFunc; + type: TypeOptions; + ariaLabel?: string; + theme: Theme; +} +declare function CloseButton({ closeToast, theme, ariaLabel }: CloseButtonProps): React__default.JSX.Element; + +declare function ToastContainer(props: ToastContainerProps): React__default.JSX.Element; + +declare const Bounce: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Slide: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Zoom: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; +declare const Flip: ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React.JSX.Element; + +/** + * Used when providing custom icon + */ +interface IconProps { + theme: Theme; + type: TypeOptions; + isLoading?: boolean; +} +type BuiltInIconProps = React__default.SVGProps & IconProps; +declare function Warning(props: BuiltInIconProps): React__default.JSX.Element; +declare function Info(props: BuiltInIconProps): React__default.JSX.Element; +declare function Success(props: BuiltInIconProps): React__default.JSX.Element; +declare function Error(props: BuiltInIconProps): React__default.JSX.Element; +declare function Spinner(): React__default.JSX.Element; +declare const Icons: { + info: typeof Info; + warning: typeof Warning; + success: typeof Success; + error: typeof Error; + spinner: typeof Spinner; +}; + +declare function isToastActive(id: Id, containerId?: Id): boolean; +declare const clearWaitingQueue: (p?: ClearWaitingQueueParams) => void; + +type Nullable = { + [P in keyof T]: T[P] | null; +}; +type TypeOptions = 'info' | 'success' | 'warning' | 'error' | 'default'; +type Theme = 'light' | 'dark' | 'colored' | (string & {}); +type ToastPosition = 'top-right' | 'top-center' | 'top-left' | 'bottom-right' | 'bottom-center' | 'bottom-left'; +type CloseToastFunc = ((reason?: boolean | string) => void) & ((e: React__default.MouseEvent) => void); +interface ToastContentProps { + closeToast: CloseToastFunc; + toastProps: ToastProps; + isPaused: boolean; + data: Data; +} +type ToastContent = React__default.ReactNode | ((props: ToastContentProps) => React__default.ReactNode); +type ToastIcon = false | ((props: IconProps) => React__default.ReactNode) | React__default.ReactElement; +type Id = number | string; +type ToastTransition = React__default.FC | React__default.ComponentClass; +/** + * ClassName for the elements - can take a function to build a classname or a raw string that is cx'ed to defaults + */ +type ToastClassName = ((context?: { + type?: TypeOptions; + defaultClassName?: string; + position?: ToastPosition; + rtl?: boolean; +}) => string) | string; +interface ClearWaitingQueueParams { + containerId?: Id; +} +type DraggableDirection = 'x' | 'y'; +interface CommonOptions { + /** + * Pause the timer when the mouse hover the toast. + * `Default: true` + */ + pauseOnHover?: boolean; + /** + * Pause the toast when the window loses focus. + * `Default: true` + */ + pauseOnFocusLoss?: boolean; + /** + * Remove the toast when clicked. + * `Default: false` + */ + closeOnClick?: boolean; + /** + * Set the delay in ms to close the toast automatically. + * Use `false` to prevent the toast from closing. + * `Default: 5000` + */ + autoClose?: number | false; + /** + * Set the default position to use. + * `One of: 'top-right', 'top-center', 'top-left', 'bottom-right', 'bottom-center', 'bottom-left'` + * `Default: 'top-right'` + */ + position?: ToastPosition; + /** + * Pass a custom close button. + * To remove the close button pass `false` + */ + closeButton?: boolean | ((props: CloseButtonProps) => React__default.ReactNode) | React__default.ReactElement; + /** + * An optional css class to set for the progress bar. + */ + progressClassName?: ToastClassName; + /** + * Hide or show the progress bar. + * `Default: false` + */ + hideProgressBar?: boolean; + /** + * Pass a custom transition see https://fkhadra.github.io/react-toastify/custom-animation/ + */ + transition?: ToastTransition; + /** + * Allow toast to be draggable + * `Default: 'touch'` + */ + draggable?: boolean | 'mouse' | 'touch'; + /** + * The percentage of the toast's width it takes for a drag to dismiss a toast + * `Default: 80` + */ + draggablePercent?: number; + /** + * Specify in which direction should you swipe to dismiss the toast + * `Default: "x"` + */ + draggableDirection?: DraggableDirection; + /** + * Define the ARIA role for the toast + * `Default: alert` + * https://www.w3.org/WAI/PF/aria/roles + */ + role?: string; + /** + * Set id to handle multiple container + */ + containerId?: Id; + /** + * Fired when clicking inside toaster + */ + onClick?: (event: React__default.MouseEvent) => void; + /** + * Support right to left display. + * `Default: false` + */ + rtl?: boolean; + /** + * Used to display a custom icon. Set it to `false` to prevent + * the icons from being displayed + */ + icon?: ToastIcon; + /** + * Theme to use. + * `One of: 'light', 'dark', 'colored'` + * `Default: 'light'` + */ + theme?: Theme; + /** + * When set to `true` the built-in progress bar won't be rendered at all. Autoclose delay won't have any effect as well + * This is only used when you want to replace the progress bar with your own. + * + * See https://stackblitz.com/edit/react-toastify-custom-progress-bar?file=src%2FApp.tsx for an example. + */ + customProgressBar?: boolean; +} +interface ToastOptions extends CommonOptions { + /** + * An optional css class to set. + */ + className?: ToastClassName; + /** + * Called when toast is mounted. + */ + onOpen?: () => void; + /** + * Called when toast is unmounted. + * The callback first argument is the closure reason. + * It is "true" when the notification is closed by a user action like clicking on the close button. + */ + onClose?: (reason?: boolean | string) => void; + /** + * An optional inline style to apply. + */ + style?: React__default.CSSProperties; + /** + * Set the toast type. + * `One of: 'info', 'success', 'warning', 'error', 'default'` + */ + type?: TypeOptions; + /** + * Set a custom `toastId` + */ + toastId?: Id; + /** + * Used during update + */ + updateId?: Id; + /** + * Set the percentage for the controlled progress bar. `Value must be between 0 and 1.` + */ + progress?: number; + /** + * Let you provide any data, useful when you are using your own component + */ + data?: Data; + /** + * Let you specify the aria-label + */ + ariaLabel?: string; + /** + * Add a delay in ms before the toast appear. + */ + delay?: number; + isLoading?: boolean; +} +interface UpdateOptions extends Nullable> { + /** + * Used to update a toast. + * Pass any valid ReactNode(string, number, component) + */ + render?: ToastContent; +} +interface ToastContainerProps extends CommonOptions, Pick, 'aria-label'> { + /** + * An optional css class to set. + */ + className?: ToastClassName; + /** + * Will stack the toast with the newest on the top. + */ + stacked?: boolean; + /** + * Whether or not to display the newest toast on top. + * `Default: false` + */ + newestOnTop?: boolean; + /** + * An optional inline style to apply. + */ + style?: React__default.CSSProperties; + /** + * An optional inline style to apply for the toast. + */ + toastStyle?: React__default.CSSProperties; + /** + * An optional css class for the toast. + */ + toastClassName?: ToastClassName; + /** + * Limit the number of toast displayed at the same time + */ + limit?: number; + /** + * Shortcut to focus the first notification with the keyboard + * `default: Alt+t` + * + * ``` + * // focus when user presses ⌘ + F + * const matchShortcut = (e: KeyboardEvent) => e.metaKey && e.key === 'f' + * ``` + */ + hotKeys?: (e: KeyboardEvent) => boolean; +} +interface ToastTransitionProps { + isIn: boolean; + done: () => void; + position: ToastPosition | string; + preventExitTransition: boolean; + nodeRef: React__default.RefObject; + children?: React__default.ReactNode; + playToast(): void; +} +/** + * @INTERNAL + */ +interface ToastProps extends ToastOptions { + isIn: boolean; + staleId?: Id; + toastId: Id; + key: Id; + transition: ToastTransition; + closeToast: CloseToastFunc; + position: ToastPosition; + children?: ToastContent; + draggablePercent: number; + draggableDirection?: DraggableDirection; + progressClassName?: ToastClassName; + className?: ToastClassName; + deleteToast: () => void; + theme: Theme; + type: TypeOptions; + collapseAll: () => void; + stacked?: boolean; +} +type ToastItemStatus = 'added' | 'removed' | 'updated'; +interface ToastItem { + content: ToastContent; + id: Id; + theme?: Theme; + type?: TypeOptions; + isLoading?: boolean; + containerId?: Id; + data: Data; + icon?: ToastIcon; + status: ToastItemStatus; + reason?: boolean | string; +} +type OnChangeCallback = (toast: ToastItem) => void; +type IdOpts = { + id?: Id; + containerId?: Id; +}; +type ClearWaitingQueueFunc = typeof clearWaitingQueue; + +declare const enum Default { + COLLAPSE_DURATION = 300, + DEBOUNCE_DURATION = 50, + CSS_NAMESPACE = "Toastify", + DRAGGABLE_PERCENT = 80, + CONTAINER_ID = 1 +} + +interface CSSTransitionProps { + /** + * Css class to apply when toast enter + */ + enter: string; + /** + * Css class to apply when toast leave + */ + exit: string; + /** + * Append current toast position to the classname. + * If multiple classes are provided, only the last one will get the position + * For instance `myclass--top-center`... + * `Default: false` + */ + appendPosition?: boolean; + /** + * Collapse toast smoothly when exit animation end + * `Default: true` + */ + collapse?: boolean; + /** + * Collapse transition duration + * `Default: 300` + */ + collapseDuration?: number; +} +/** + * Css animation that just work. + * You could use animate.css for instance + * + * + * ``` + * cssTransition({ + * enter: "animate__animated animate__bounceIn", + * exit: "animate__animated animate__bounceOut" + * }) + * ``` + * + */ +declare function cssTransition({ enter, exit, appendPosition, collapse, collapseDuration }: CSSTransitionProps): ({ children, position, preventExitTransition, done, nodeRef, isIn, playToast }: ToastTransitionProps) => React__default.JSX.Element; + +/** + * Used to collapse toast after exit animation + */ +declare function collapseToast(node: HTMLElement, done: () => void, duration?: Default): void; + +declare function toast(content: ToastContent, options?: ToastOptions): Id; +declare namespace toast { + var loading: (content: ToastContent, options?: ToastOptions) => Id; + var promise: typeof handlePromise; + var success: (content: ToastContent, options?: ToastOptions) => Id; + var info: (content: ToastContent, options?: ToastOptions) => Id; + var error: (content: ToastContent, options?: ToastOptions) => Id; + var warning: (content: ToastContent, options?: ToastOptions) => Id; + var warn: (content: ToastContent, options?: ToastOptions) => Id; + var dark: (content: ToastContent, options?: ToastOptions) => Id; + var dismiss: { + (params: RemoveParams): void; + (params?: Id): void; + }; + var clearWaitingQueue: (p?: ClearWaitingQueueParams) => void; + var isActive: typeof isToastActive; + var update: (toastId: Id, options?: UpdateOptions) => void; + var done: (id: Id) => void; + var onChange: (cb: OnChangeCallback) => () => void; + var play: (opts?: IdOpts) => void; + var pause: (opts?: IdOpts) => void; +} +interface ToastPromiseParams { + pending?: string | UpdateOptions; + success?: string | UpdateOptions; + error?: string | UpdateOptions; +} +declare function handlePromise(promise: Promise | (() => Promise), { pending, error, success }: ToastPromiseParams, options?: ToastOptions): Promise; +interface RemoveParams { + id?: Id; + containerId: Id; +} + +export { Bounce, type ClearWaitingQueueFunc, type ClearWaitingQueueParams, CloseButton, type CloseButtonProps, type DraggableDirection, Flip, type IconProps, Icons, type Id, type OnChangeCallback, Slide, type Theme, type ToastClassName, ToastContainer, type ToastContainerProps, type ToastContent, type ToastContentProps, type ToastIcon, type ToastItem, type ToastOptions, type ToastPosition, type ToastPromiseParams, type ToastTransition, type ToastTransitionProps, type TypeOptions, type UpdateOptions, Zoom, collapseToast, cssTransition, toast }; diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.js b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.js new file mode 100644 index 000000000..1680ca847 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.js @@ -0,0 +1,3 @@ +"use client"; +var Xt=Object.create;var K=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Wt=Object.getOwnPropertyNames;var Gt=Object.getPrototypeOf,qt=Object.prototype.hasOwnProperty;var Kt=(t,o)=>{for(var e in o)K(t,e,{get:o[e],enumerable:!0})},Ct=(t,o,e,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of Wt(o))!qt.call(t,a)&&a!==e&&K(t,a,{get:()=>o[a],enumerable:!(r=Qt(o,a))||r.enumerable});return t};var w=(t,o,e)=>(e=t!=null?Xt(Gt(t)):{},Ct(o||!t||!t.__esModule?K(e,"default",{value:t,enumerable:!0}):e,t)),Yt=t=>Ct(K({},"__esModule",{value:!0}),t);var po={};Kt(po,{Bounce:()=>lt,Flip:()=>Vt,Icons:()=>G,Slide:()=>Ut,ToastContainer:()=>bt,Zoom:()=>Ht,collapseToast:()=>Y,cssTransition:()=>F,toast:()=>y});module.exports=Yt(po);var xt=require("react"),z=t=>typeof t=="number"&&!isNaN(t),D=t=>typeof t=="string",P=t=>typeof t=="function",Et=t=>D(t)||z(t),V=t=>D(t)||P(t)?t:null,Pt=(t,o)=>t===!1||z(t)&&t>0?t:o,X=t=>(0,xt.isValidElement)(t)||D(t)||P(t)||z(t);var M=w(require("react"));function Y(t,o,e=300){let{scrollHeight:r,style:a}=t;requestAnimationFrame(()=>{a.minHeight="initial",a.height=r+"px",a.transition=`all ${e}ms`,requestAnimationFrame(()=>{a.height="0",a.padding="0",a.margin="0",setTimeout(o,e)})})}function F({enter:t,exit:o,appendPosition:e=!1,collapse:r=!0,collapseDuration:a=300}){return function({children:s,position:d,preventExitTransition:f,done:T,nodeRef:g,isIn:v,playToast:x}){let C=e?`${t}--${d}`:t,k=e?`${o}--${d}`:o,E=(0,M.useRef)(0);return(0,M.useLayoutEffect)(()=>{let c=g.current,p=C.split(" "),b=n=>{n.target===g.current&&(x(),c.removeEventListener("animationend",b),c.removeEventListener("animationcancel",b),E.current===0&&n.type!=="animationcancel"&&c.classList.remove(...p))};(()=>{c.classList.add(...p),c.addEventListener("animationend",b),c.addEventListener("animationcancel",b)})()},[]),(0,M.useEffect)(()=>{let c=g.current,p=()=>{c.removeEventListener("animationend",p),r?Y(c,T,a):T()};v||(f?p():(()=>{E.current=1,c.className+=` ${k}`,c.addEventListener("animationend",p)})())},[v]),M.default.createElement(M.default.Fragment,null,s)}}var j=require("react");function dt(t,o){return{content:mt(t.content,t.props),containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,reason:t.removalReason,status:o}}function mt(t,o,e=!1){return(0,j.isValidElement)(t)&&!D(t.type)?(0,j.cloneElement)(t,{closeToast:o.closeToast,toastProps:o,data:o.data,isPaused:e}):P(t)?t({closeToast:o.closeToast,toastProps:o,data:o.data,isPaused:e}):t}var Z=w(require("react"));function It({closeToast:t,theme:o,ariaLabel:e="close"}){return Z.default.createElement("button",{className:`Toastify__close-button Toastify__close-button--${o}`,type:"button",onClick:r=>{r.stopPropagation(),t(!0)},"aria-label":e},Z.default.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},Z.default.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}var J=w(require("react")),pt=w(require("clsx"));function St({delay:t,isRunning:o,closeToast:e,type:r="default",hide:a,className:l,controlledProgress:s,progress:d,rtl:f,isIn:T,theme:g}){let v=a||s&&d===0,x={animationDuration:`${t}ms`,animationPlayState:o?"running":"paused"};s&&(x.transform=`scaleX(${d})`);let C=(0,pt.default)("Toastify__progress-bar",s?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${g}`,`Toastify__progress-bar--${r}`,{["Toastify__progress-bar--rtl"]:f}),k=P(l)?l({rtl:f,type:r,defaultClassName:C}):(0,pt.default)(C,l),E={[s&&d>=1?"onTransitionEnd":"onAnimationEnd"]:s&&d<1?null:()=>{T&&e()}};return J.default.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":v},J.default.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${g} Toastify__progress-bar--${r}`}),J.default.createElement("div",{role:"progressbar","aria-hidden":v?"true":"false","aria-label":"notification timer",className:k,style:x,...E}))}var _t=w(require("clsx")),N=w(require("react"));var Zt=1,ut=()=>`${Zt++}`;function kt(t,o,e){let r=1,a=0,l=[],s=[],d=o,f=new Map,T=new Set,g=i=>(T.add(i),()=>T.delete(i)),v=()=>{s=Array.from(f.values()),T.forEach(i=>i())},x=({containerId:i,toastId:n,updateId:u})=>{let h=i?i!==t:t!==1,m=f.has(n)&&u==null;return h||m},C=(i,n)=>{f.forEach(u=>{var h;(n==null||n===u.props.toastId)&&((h=u.toggle)==null||h.call(u,i))})},k=i=>{var n,u;(u=(n=i.props)==null?void 0:n.onClose)==null||u.call(n,i.removalReason),i.isActive=!1},E=i=>{if(i==null)f.forEach(k);else{let n=f.get(i);n&&k(n)}v()},c=()=>{a-=l.length,l=[]},p=i=>{var m,_;let{toastId:n,updateId:u}=i.props,h=u==null;i.staleId&&f.delete(i.staleId),i.isActive=!0,f.set(n,i),v(),e(dt(i,h?"added":"updated")),h&&((_=(m=i.props).onOpen)==null||_.call(m))};return{id:t,props:d,observe:g,toggle:C,removeToast:E,toasts:f,clearQueue:c,buildToast:(i,n)=>{if(x(n))return;let{toastId:u,updateId:h,data:m,staleId:_,delay:A}=n,U=h==null;U&&a++;let O={...d,style:d.toastStyle,key:r++,...Object.fromEntries(Object.entries(n).filter(([R,ft])=>ft!=null)),toastId:u,updateId:h,data:m,isIn:!1,className:V(n.className||d.toastClassName),progressClassName:V(n.progressClassName||d.progressClassName),autoClose:n.isLoading?!1:Pt(n.autoClose,d.autoClose),closeToast(R){f.get(u).removalReason=R,E(u)},deleteToast(){let R=f.get(u);if(R!=null){if(e(dt(R,"removed")),f.delete(u),a--,a<0&&(a=0),l.length>0){p(l.shift());return}v()}}};O.closeButton=d.closeButton,n.closeButton===!1||X(n.closeButton)?O.closeButton=n.closeButton:n.closeButton===!0&&(O.closeButton=X(d.closeButton)?d.closeButton:!0);let H={content:i,props:O,staleId:_};d.limit&&d.limit>0&&a>d.limit&&U?l.push(H):z(A)?setTimeout(()=>{p(H)},A):p(H)},setProps(i){d=i},setToggle:(i,n)=>{let u=f.get(i);u&&(u.toggle=n)},isToastActive:i=>{var n;return(n=f.get(i))==null?void 0:n.isActive},getSnapshot:()=>s}}var I=new Map,Q=[],yt=new Set,Jt=t=>yt.forEach(o=>o(t)),At=()=>I.size>0;function to(){Q.forEach(t=>Tt(t.content,t.options)),Q=[]}var Ot=(t,{containerId:o})=>{var e;return(e=I.get(o||1))==null?void 0:e.toasts.get(t)};function tt(t,o){var r;if(o)return!!((r=I.get(o))!=null&&r.isToastActive(t));let e=!1;return I.forEach(a=>{a.isToastActive(t)&&(e=!0)}),e}function Nt(t){if(!At()){Q=Q.filter(o=>t!=null&&o.options.toastId!==t);return}if(t==null||Et(t))I.forEach(o=>{o.removeToast(t)});else if(t&&("containerId"in t||"id"in t)){let o=I.get(t.containerId);o?o.removeToast(t.id):I.forEach(e=>{e.removeToast(t.id)})}}var wt=(t={})=>{I.forEach(o=>{o.props.limit&&(!t.containerId||o.id===t.containerId)&&o.clearQueue()})};function Tt(t,o){X(t)&&(At()||Q.push({content:t,options:o}),I.forEach(e=>{e.buildToast(t,o)}))}function Dt(t){var o;(o=I.get(t.containerId||1))==null||o.setToggle(t.id,t.fn)}function gt(t,o){I.forEach(e=>{(o==null||!(o!=null&&o.containerId)||(o==null?void 0:o.containerId)===e.id)&&e.toggle(t,o==null?void 0:o.id)})}function Lt(t){let o=t.containerId||1;return{subscribe(e){let r=kt(o,t,Jt);I.set(o,r);let a=r.observe(e);return to(),()=>{a(),I.delete(o)}},setProps(e){var r;(r=I.get(o))==null||r.setProps(e)},getSnapshot(){var e;return(e=I.get(o))==null?void 0:e.getSnapshot()}}}function Mt(t){return yt.add(t),()=>{yt.delete(t)}}function oo(t){return t&&(D(t.toastId)||z(t.toastId))?t.toastId:ut()}function W(t,o){return Tt(t,o),o.toastId}function ot(t,o){return{...o,type:o&&o.type||t,toastId:oo(o)}}function et(t){return(o,e)=>W(o,ot(t,e))}function y(t,o){return W(t,ot("default",o))}y.loading=(t,o)=>W(t,ot("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...o}));function eo(t,{pending:o,error:e,success:r},a){let l;o&&(l=D(o)?y.loading(o,a):y.loading(o.render,{...a,...o}));let s={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},d=(T,g,v)=>{if(g==null){y.dismiss(l);return}let x={type:T,...s,...a,data:v},C=D(g)?{render:g}:g;return l?y.update(l,{...x,...C}):y(C.render,{...x,...C}),v},f=P(t)?t():t;return f.then(T=>d("success",r,T)).catch(T=>d("error",e,T)),f}y.promise=eo;y.success=et("success");y.info=et("info");y.error=et("error");y.warning=et("warning");y.warn=y.warning;y.dark=(t,o)=>W(t,ot("default",{theme:"dark",...o}));function ao(t){Nt(t)}y.dismiss=ao;y.clearWaitingQueue=wt;y.isActive=tt;y.update=(t,o={})=>{let e=Ot(t,o);if(e){let{props:r,content:a}=e,l={delay:100,...r,...o,toastId:o.toastId||t,updateId:ut()};l.toastId!==t&&(l.staleId=t);let s=l.render||a;delete l.render,W(s,l)}};y.done=t=>{y.update(t,{progress:1})};y.onChange=Mt;y.play=t=>gt(!0,t);y.pause=t=>gt(!1,t);var at=require("react");function $t(t){var s;let{subscribe:o,getSnapshot:e,setProps:r}=(0,at.useRef)(Lt(t)).current;r(t);let a=(s=(0,at.useSyncExternalStore)(o,e,e))==null?void 0:s.slice();function l(d){if(!a)return[];let f=new Map;return t.newestOnTop&&a.reverse(),a.forEach(T=>{let{position:g}=T.props;f.has(g)||f.set(g,[]),f.get(g).push(T)}),Array.from(f,T=>d(T[0],T[1]))}return{getToastToRender:l,isToastActive:tt,count:a==null?void 0:a.length}}var B=require("react");function Rt(t){let[o,e]=(0,B.useState)(!1),[r,a]=(0,B.useState)(!1),l=(0,B.useRef)(null),s=(0,B.useRef)({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:d,pauseOnHover:f,closeToast:T,onClick:g,closeOnClick:v}=t;Dt({id:t.toastId,containerId:t.containerId,fn:e}),(0,B.useEffect)(()=>{if(t.pauseOnFocusLoss)return x(),()=>{C()}},[t.pauseOnFocusLoss]);function x(){document.hasFocus()||p(),window.addEventListener("focus",c),window.addEventListener("blur",p)}function C(){window.removeEventListener("focus",c),window.removeEventListener("blur",p)}function k(m){if(t.draggable===!0||t.draggable===m.pointerType){b();let _=l.current;s.canCloseOnClick=!0,s.canDrag=!0,_.style.transition="none",t.draggableDirection==="x"?(s.start=m.clientX,s.removalDistance=_.offsetWidth*(t.draggablePercent/100)):(s.start=m.clientY,s.removalDistance=_.offsetHeight*(t.draggablePercent===80?t.draggablePercent*1.5:t.draggablePercent)/100)}}function E(m){let{top:_,bottom:A,left:U,right:O}=l.current.getBoundingClientRect();m.nativeEvent.type!=="touchend"&&t.pauseOnHover&&m.clientX>=U&&m.clientX<=O&&m.clientY>=_&&m.clientY<=A?p():c()}function c(){e(!0)}function p(){e(!1)}function b(){s.didMove=!1,document.addEventListener("pointermove",n),document.addEventListener("pointerup",u)}function i(){document.removeEventListener("pointermove",n),document.removeEventListener("pointerup",u)}function n(m){let _=l.current;if(s.canDrag&&_){s.didMove=!0,o&&p(),t.draggableDirection==="x"?s.delta=m.clientX-s.start:s.delta=m.clientY-s.start,s.start!==m.clientX&&(s.canCloseOnClick=!1);let A=t.draggableDirection==="x"?`${s.delta}px, var(--y)`:`0, calc(${s.delta}px + var(--y))`;_.style.transform=`translate3d(${A},0)`,_.style.opacity=`${1-Math.abs(s.delta/s.removalDistance)}`}}function u(){i();let m=l.current;if(s.canDrag&&s.didMove&&m){if(s.canDrag=!1,Math.abs(s.delta)>s.removalDistance){a(!0),t.closeToast(!0),t.collapseAll();return}m.style.transition="transform 0.2s, opacity 0.2s",m.style.removeProperty("transform"),m.style.removeProperty("opacity")}}let h={onPointerDown:k,onPointerUp:E};return d&&f&&(h.onMouseEnter=p,t.stacked||(h.onMouseLeave=c)),v&&(h.onClick=m=>{g&&g(m),s.canCloseOnClick&&T(!0)}),{playToast:c,pauseToast:p,isRunning:o,preventExitTransition:r,toastRef:l,eventHandlers:h}}var st=require("react"),Bt=typeof window!="undefined"?st.useLayoutEffect:st.useEffect;var nt=w(require("clsx")),$=w(require("react"));var S=w(require("react"));var rt=({theme:t,type:o,isLoading:e,...r})=>S.default.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:t==="colored"?"currentColor":`var(--toastify-icon-color-${o})`,...r});function ro(t){return S.default.createElement(rt,{...t},S.default.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))}function no(t){return S.default.createElement(rt,{...t},S.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))}function io(t){return S.default.createElement(rt,{...t},S.default.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))}function lo(t){return S.default.createElement(rt,{...t},S.default.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))}function fo(){return S.default.createElement("div",{className:"Toastify__spinner"})}var G={info:no,warning:ro,success:io,error:lo,spinner:fo},co=t=>t in G;function zt({theme:t,type:o,isLoading:e,icon:r}){let a=null,l={theme:t,type:o};return r===!1||(P(r)?a=r({...l,isLoading:e}):(0,S.isValidElement)(r)?a=(0,S.cloneElement)(r,l):e?a=G.spinner():co(o)&&(a=G[o](l))),a}var Ft=t=>{let{isRunning:o,preventExitTransition:e,toastRef:r,eventHandlers:a,playToast:l}=Rt(t),{closeButton:s,children:d,autoClose:f,onClick:T,type:g,hideProgressBar:v,closeToast:x,transition:C,position:k,className:E,style:c,progressClassName:p,updateId:b,role:i,progress:n,rtl:u,toastId:h,deleteToast:m,isIn:_,isLoading:A,closeOnClick:U,theme:O,ariaLabel:H}=t,R=(0,nt.default)("Toastify__toast",`Toastify__toast-theme--${O}`,`Toastify__toast--${g}`,{["Toastify__toast--rtl"]:u},{["Toastify__toast--close-on-click"]:U}),ft=P(E)?E({rtl:u,position:k,type:g,defaultClassName:R}):(0,nt.default)(R,E),vt=zt(t),ht=!!n||!f,ct={closeToast:x,type:g,theme:O},q=null;return s===!1||(P(s)?q=s(ct):(0,$.isValidElement)(s)?q=(0,$.cloneElement)(s,ct):q=It(ct)),$.default.createElement(C,{isIn:_,done:m,position:k,preventExitTransition:e,nodeRef:r,playToast:l},$.default.createElement("div",{id:h,tabIndex:0,onClick:T,"data-in":_,className:ft,...a,style:c,ref:r,..._&&{role:i,"aria-label":H}},vt!=null&&$.default.createElement("div",{className:(0,nt.default)("Toastify__toast-icon",{["Toastify--animate-icon Toastify__zoom-enter"]:!A})},vt),mt(d,t,!o),q,!t.customProgressBar&&$.default.createElement(St,{...b&&!ht?{key:`p-${b}`}:{},rtl:u,theme:O,delay:f,isRunning:o,isIn:_,closeToast:x,hide:v,type:g,className:p,controlledProgress:ht,progress:n||0})))};var it=(t,o=!1)=>({enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:o}),lt=F(it("bounce",!0)),Ut=F(it("slide",!0)),Ht=F(it("zoom")),Vt=F(it("flip"));var mo={position:"top-right",transition:lt,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:t=>t.altKey&&t.code==="KeyT"};function bt(t){let o={...mo,...t},e=t.stacked,[r,a]=(0,N.useState)(!0),l=(0,N.useRef)(null),{getToastToRender:s,isToastActive:d,count:f}=$t(o),{className:T,style:g,rtl:v,containerId:x,hotKeys:C}=o;function k(c){let p=(0,_t.default)("Toastify__toast-container",`Toastify__toast-container--${c}`,{["Toastify__toast-container--rtl"]:v});return P(T)?T({position:c,rtl:v,defaultClassName:p}):(0,_t.default)(p,V(T))}function E(){e&&(a(!0),y.play())}return Bt(()=>{var c;if(e){let p=l.current.querySelectorAll('[data-in="true"]'),b=12,i=(c=o.position)==null?void 0:c.includes("top"),n=0,u=0;Array.from(p).reverse().forEach((h,m)=>{let _=h;_.classList.add("Toastify__toast--stacked"),m>0&&(_.dataset.collapsed=`${r}`),_.dataset.pos||(_.dataset.pos=i?"top":"bot");let A=n*(r?.2:1)+(r?0:b*m);_.style.setProperty("--y",`${i?A:A*-1}px`),_.style.setProperty("--g",`${b}`),_.style.setProperty("--s",`${1-(r?u:0)}`),n+=_.offsetHeight,u+=.025})}},[r,f,e]),(0,N.useEffect)(()=>{function c(p){var i;let b=l.current;C(p)&&((i=b.querySelector('[tabIndex="0"]'))==null||i.focus(),a(!1),y.pause()),p.key==="Escape"&&(document.activeElement===b||b!=null&&b.contains(document.activeElement))&&(a(!0),y.play())}return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c)}},[C]),N.default.createElement("section",{ref:l,className:"Toastify",id:x,onMouseEnter:()=>{e&&(a(!1),y.pause())},onMouseLeave:E,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":o["aria-label"]},s((c,p)=>{let b=p.length?{...g}:{...g,pointerEvents:"none"};return N.default.createElement("div",{tabIndex:-1,className:k(c),"data-stacked":e,style:b,key:`c-${c}`},p.map(({content:i,props:n})=>N.default.createElement(Ft,{...n,stacked:e,collapseAll:E,isIn:d(n.toastId,n.containerId),key:`t-${n.key}`},i)))}))}0&&(module.exports={Bounce,Flip,Icons,Slide,ToastContainer,Zoom,collapseToast,cssTransition,toast}); +//# sourceMappingURL=unstyled.js.map \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.js.map b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.js.map new file mode 100644 index 000000000..1844eb48e --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.ts","../src/utils/propValidator.ts","../src/utils/cssTransition.tsx","../src/utils/collapseToast.ts","../src/utils/mapper.ts","../src/components/CloseButton.tsx","../src/components/ProgressBar.tsx","../src/components/ToastContainer.tsx","../src/core/genToastId.ts","../src/core/containerObserver.ts","../src/core/store.ts","../src/core/toast.ts","../src/hooks/useToastContainer.ts","../src/hooks/useToast.ts","../src/hooks/useIsomorphicLayoutEffect.ts","../src/components/Toast.tsx","../src/components/Icons.tsx","../src/components/Transitions.tsx"],"sourcesContent":["import './style.css';\n\nexport { cssTransition, collapseToast } from './utils';\nexport { ToastContainer, Bounce, Flip, Slide, Zoom, Icons } from './components';\nexport type { IconProps, CloseButton } from './components';\nexport type { ToastPromiseParams } from './core';\nexport { toast } from './core';\nexport type {\n TypeOptions,\n Theme,\n ToastPosition,\n ToastContentProps,\n ToastContent,\n ToastTransition,\n ToastClassName,\n ClearWaitingQueueParams,\n DraggableDirection,\n ToastOptions,\n UpdateOptions,\n ToastContainerProps,\n ToastTransitionProps,\n Id,\n ToastItem,\n ClearWaitingQueueFunc,\n OnChangeCallback,\n ToastIcon\n} from './types';\nexport type { CloseButtonProps } from './components/CloseButton';\n","import { isValidElement } from 'react';\nimport { Id } from '../types';\n\nexport const isNum = (v: any): v is Number => typeof v === 'number' && !isNaN(v);\n\nexport const isStr = (v: any): v is String => typeof v === 'string';\n\nexport const isFn = (v: any): v is Function => typeof v === 'function';\n\nexport const isId = (v: unknown): v is Id => isStr(v) || isNum(v);\n\nexport const parseClassName = (v: any) => (isStr(v) || isFn(v) ? v : null);\n\nexport const getAutoCloseDelay = (toastAutoClose?: false | number, containerAutoClose?: false | number) =>\n toastAutoClose === false || (isNum(toastAutoClose) && toastAutoClose > 0) ? toastAutoClose : containerAutoClose;\n\nexport const canBeRendered = (content: T): boolean =>\n isValidElement(content) || isStr(content) || isFn(content) || isNum(content);\n","import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport { collapseToast } from './collapseToast';\nimport { Default } from './constant';\n\nimport { ToastTransitionProps } from '../types';\n\nexport interface CSSTransitionProps {\n /**\n * Css class to apply when toast enter\n */\n enter: string;\n\n /**\n * Css class to apply when toast leave\n */\n exit: string;\n\n /**\n * Append current toast position to the classname.\n * If multiple classes are provided, only the last one will get the position\n * For instance `myclass--top-center`...\n * `Default: false`\n */\n appendPosition?: boolean;\n\n /**\n * Collapse toast smoothly when exit animation end\n * `Default: true`\n */\n collapse?: boolean;\n\n /**\n * Collapse transition duration\n * `Default: 300`\n */\n collapseDuration?: number;\n}\n\nconst enum AnimationStep {\n Enter,\n Exit\n}\n\n/**\n * Css animation that just work.\n * You could use animate.css for instance\n *\n *\n * ```\n * cssTransition({\n * enter: \"animate__animated animate__bounceIn\",\n * exit: \"animate__animated animate__bounceOut\"\n * })\n * ```\n *\n */\nexport function cssTransition({\n enter,\n exit,\n appendPosition = false,\n collapse = true,\n collapseDuration = Default.COLLAPSE_DURATION\n}: CSSTransitionProps) {\n return function ToastTransition({\n children,\n position,\n preventExitTransition,\n done,\n nodeRef,\n isIn,\n playToast\n }: ToastTransitionProps) {\n const enterClassName = appendPosition ? `${enter}--${position}` : enter;\n const exitClassName = appendPosition ? `${exit}--${position}` : exit;\n const animationStep = useRef(AnimationStep.Enter);\n\n useLayoutEffect(() => {\n const node = nodeRef.current!;\n const classToToken = enterClassName.split(' ');\n\n const onEntered = (e: AnimationEvent) => {\n if (e.target !== nodeRef.current) return;\n\n playToast();\n node.removeEventListener('animationend', onEntered);\n node.removeEventListener('animationcancel', onEntered);\n if (animationStep.current === AnimationStep.Enter && e.type !== 'animationcancel') {\n node.classList.remove(...classToToken);\n }\n };\n\n const onEnter = () => {\n node.classList.add(...classToToken);\n node.addEventListener('animationend', onEntered);\n node.addEventListener('animationcancel', onEntered);\n };\n\n onEnter();\n }, []);\n\n useEffect(() => {\n const node = nodeRef.current!;\n\n const onExited = () => {\n node.removeEventListener('animationend', onExited);\n collapse ? collapseToast(node, done, collapseDuration) : done();\n };\n\n const onExit = () => {\n animationStep.current = AnimationStep.Exit;\n node.className += ` ${exitClassName}`;\n node.addEventListener('animationend', onExited);\n };\n\n if (!isIn) preventExitTransition ? onExited() : onExit();\n }, [isIn]);\n\n return <>{children};\n };\n}\n","import { Default } from './constant';\n\n/**\n * Used to collapse toast after exit animation\n */\nexport function collapseToast(node: HTMLElement, done: () => void, duration = Default.COLLAPSE_DURATION) {\n const { scrollHeight, style } = node;\n\n requestAnimationFrame(() => {\n style.minHeight = 'initial';\n style.height = scrollHeight + 'px';\n style.transition = `all ${duration}ms`;\n\n requestAnimationFrame(() => {\n style.height = '0';\n style.padding = '0';\n style.margin = '0';\n setTimeout(done, duration as number);\n });\n });\n}\n","import { Toast, ToastContentProps, ToastItem, ToastItemStatus, ToastProps } from '../types';\nimport { cloneElement, isValidElement, ReactElement } from 'react';\nimport { isFn, isStr } from './propValidator';\n\nexport function toToastItem(toast: Toast, status: ToastItemStatus): ToastItem {\n return {\n content: renderContent(toast.content, toast.props),\n containerId: toast.props.containerId,\n id: toast.props.toastId,\n theme: toast.props.theme,\n type: toast.props.type,\n data: toast.props.data || {},\n isLoading: toast.props.isLoading,\n icon: toast.props.icon,\n reason: toast.removalReason,\n status\n };\n}\n\nexport function renderContent(content: unknown, props: ToastProps, isPaused: boolean = false) {\n if (isValidElement(content) && !isStr(content.type)) {\n return cloneElement(content as ReactElement, {\n closeToast: props.closeToast,\n toastProps: props,\n data: props.data,\n isPaused\n });\n } else if (isFn(content)) {\n return content({\n closeToast: props.closeToast,\n toastProps: props,\n data: props.data,\n isPaused\n });\n }\n\n return content;\n}\n","import React from 'react';\nimport { Default } from '../utils';\nimport { CloseToastFunc, Theme, TypeOptions } from '../types';\n\nexport interface CloseButtonProps {\n closeToast: CloseToastFunc;\n type: TypeOptions;\n ariaLabel?: string;\n theme: Theme;\n}\n\nexport function CloseButton({ closeToast, theme, ariaLabel = 'close' }: CloseButtonProps) {\n return (\n {\n e.stopPropagation();\n closeToast(true);\n }}\n aria-label={ariaLabel}\n >\n \n \n \n \n );\n}\n","import React from 'react';\nimport cx from 'clsx';\n\nimport { Default, isFn, Type } from '../utils';\nimport { Theme, ToastClassName, TypeOptions } from '../types';\n\nexport interface ProgressBarProps {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: number;\n\n /**\n * The animation is running or paused\n */\n isRunning: boolean;\n\n /**\n * Func to close the current toast\n */\n closeToast: () => void;\n\n /**\n * Optional type : info, success ...\n */\n type?: TypeOptions;\n\n /**\n * The theme that is currently used\n */\n theme: Theme;\n\n /**\n * Hide or not the progress bar\n */\n hide?: boolean;\n\n /**\n * Optional className\n */\n className?: ToastClassName;\n\n /**\n * Tell whether a controlled progress bar is used\n */\n controlledProgress?: boolean;\n\n /**\n * Controlled progress value\n */\n progress?: number | string;\n\n /**\n * Support rtl content\n */\n rtl?: boolean;\n\n /**\n * Tell if the component is visible on screen or not\n */\n isIn?: boolean;\n}\n\nexport function ProgressBar({\n delay,\n isRunning,\n closeToast,\n type = Type.DEFAULT,\n hide,\n className,\n controlledProgress,\n progress,\n rtl,\n isIn,\n theme\n}: ProgressBarProps) {\n const isHidden = hide || (controlledProgress && progress === 0);\n const style: React.CSSProperties = {\n animationDuration: `${delay}ms`,\n animationPlayState: isRunning ? 'running' : 'paused'\n };\n\n if (controlledProgress) style.transform = `scaleX(${progress})`;\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__progress-bar`,\n controlledProgress\n ? `${Default.CSS_NAMESPACE}__progress-bar--controlled`\n : `${Default.CSS_NAMESPACE}__progress-bar--animated`,\n `${Default.CSS_NAMESPACE}__progress-bar-theme--${theme}`,\n `${Default.CSS_NAMESPACE}__progress-bar--${type}`,\n {\n [`${Default.CSS_NAMESPACE}__progress-bar--rtl`]: rtl\n }\n );\n const classNames = isFn(className)\n ? className({\n rtl,\n type,\n defaultClassName\n })\n : cx(defaultClassName, className);\n\n // 🧐 controlledProgress is derived from progress\n // so if controlledProgress is set\n // it means that this is also the case for progress\n const animationEvent = {\n [controlledProgress && (progress as number)! >= 1 ? 'onTransitionEnd' : 'onAnimationEnd']:\n controlledProgress && (progress as number)! < 1\n ? null\n : () => {\n isIn && closeToast();\n }\n };\n\n // TODO: add aria-valuenow, aria-valuemax, aria-valuemin\n\n return (\n
\n \n \n
\n );\n}\n","import cx from 'clsx';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { toast } from '../core';\nimport { useToastContainer } from '../hooks';\nimport { useIsomorphicLayoutEffect } from '../hooks/useIsomorphicLayoutEffect';\nimport { ToastContainerProps, ToastPosition } from '../types';\nimport { Default, Direction, isFn, parseClassName } from '../utils';\nimport { Toast } from './Toast';\nimport { Bounce } from './Transitions';\n\nexport const defaultProps: ToastContainerProps = {\n position: 'top-right',\n transition: Bounce,\n autoClose: 5000,\n closeButton: true,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n draggable: 'touch',\n draggablePercent: Default.DRAGGABLE_PERCENT as number,\n draggableDirection: Direction.X,\n role: 'alert',\n theme: 'light',\n 'aria-label': 'Notifications Alt+T',\n hotKeys: e => e.altKey && e.code === 'KeyT'\n};\n\nexport function ToastContainer(props: ToastContainerProps) {\n let containerProps: ToastContainerProps = {\n ...defaultProps,\n ...props\n };\n const stacked = props.stacked;\n const [collapsed, setIsCollapsed] = useState(true);\n const containerRef = useRef(null);\n const { getToastToRender, isToastActive, count } = useToastContainer(containerProps);\n const { className, style, rtl, containerId, hotKeys } = containerProps;\n\n function getClassName(position: ToastPosition) {\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast-container`,\n `${Default.CSS_NAMESPACE}__toast-container--${position}`,\n { [`${Default.CSS_NAMESPACE}__toast-container--rtl`]: rtl }\n );\n return isFn(className)\n ? className({\n position,\n rtl,\n defaultClassName\n })\n : cx(defaultClassName, parseClassName(className));\n }\n\n function collapseAll() {\n if (stacked) {\n setIsCollapsed(true);\n toast.play();\n }\n }\n\n useIsomorphicLayoutEffect(() => {\n if (stacked) {\n const nodes = containerRef.current!.querySelectorAll('[data-in=\"true\"]');\n const gap = 12;\n const isTop = containerProps.position?.includes('top');\n let usedHeight = 0;\n let prevS = 0;\n\n Array.from(nodes)\n .reverse()\n .forEach((n, i) => {\n const node = n as HTMLElement;\n node.classList.add(`${Default.CSS_NAMESPACE}__toast--stacked`);\n\n if (i > 0) node.dataset.collapsed = `${collapsed}`;\n\n if (!node.dataset.pos) node.dataset.pos = isTop ? 'top' : 'bot';\n\n const y = usedHeight * (collapsed ? 0.2 : 1) + (collapsed ? 0 : gap * i);\n\n node.style.setProperty('--y', `${isTop ? y : y * -1}px`);\n node.style.setProperty('--g', `${gap}`);\n node.style.setProperty('--s', `${1 - (collapsed ? prevS : 0)}`);\n\n usedHeight += node.offsetHeight;\n prevS += 0.025;\n });\n }\n }, [collapsed, count, stacked]);\n\n useEffect(() => {\n function focusFirst(e: KeyboardEvent) {\n const node = containerRef.current;\n if (hotKeys(e)) {\n (node.querySelector('[tabIndex=\"0\"]') as HTMLElement)?.focus();\n setIsCollapsed(false);\n toast.pause();\n }\n if (e.key === 'Escape' && (document.activeElement === node || node?.contains(document.activeElement))) {\n setIsCollapsed(true);\n toast.play();\n }\n }\n\n document.addEventListener('keydown', focusFirst);\n\n return () => {\n document.removeEventListener('keydown', focusFirst);\n };\n }, [hotKeys]);\n\n return (\n {\n if (stacked) {\n setIsCollapsed(false);\n toast.pause();\n }\n }}\n onMouseLeave={collapseAll}\n aria-live=\"polite\"\n aria-atomic=\"false\"\n aria-relevant=\"additions text\"\n aria-label={containerProps['aria-label']}\n >\n {getToastToRender((position, toastList) => {\n const containerStyle: React.CSSProperties = !toastList.length\n ? { ...style, pointerEvents: 'none' }\n : { ...style };\n\n return (\n \n {toastList.map(({ content, props: toastProps }) => {\n return (\n \n {content}\n \n );\n })}\n
\n );\n })}\n \n );\n}\n","let TOAST_ID = 1;\n\nexport const genToastId = () => `${TOAST_ID++}`;\n","import {\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n Toast,\n ToastContainerProps,\n ToastContent,\n ToastProps\n} from '../types';\nimport { canBeRendered, getAutoCloseDelay, isNum, parseClassName, toToastItem } from '../utils';\n\ntype Notify = () => void;\n\nexport type ContainerObserver = ReturnType;\n\nexport function createContainerObserver(\n id: Id,\n containerProps: ToastContainerProps,\n dispatchChanges: OnChangeCallback\n) {\n let toastKey = 1;\n let toastCount = 0;\n let queue: Toast[] = [];\n let snapshot: Toast[] = [];\n let props = containerProps;\n const toasts = new Map();\n const listeners = new Set();\n\n const observe = (notify: Notify) => {\n listeners.add(notify);\n return () => listeners.delete(notify);\n };\n\n const notify = () => {\n snapshot = Array.from(toasts.values());\n listeners.forEach(cb => cb());\n };\n\n const shouldIgnoreToast = ({ containerId, toastId, updateId }: NotValidatedToastProps) => {\n const containerMismatch = containerId ? containerId !== id : id !== 1;\n const isDuplicate = toasts.has(toastId) && updateId == null;\n\n return containerMismatch || isDuplicate;\n };\n\n const toggle = (v: boolean, id?: Id) => {\n toasts.forEach(t => {\n if (id == null || id === t.props.toastId) t.toggle?.(v);\n });\n };\n\n const markAsRemoved = (v: Toast) => {\n v.props?.onClose?.(v.removalReason);\n v.isActive = false;\n };\n\n const removeToast = (id?: Id) => {\n if (id == null) {\n toasts.forEach(markAsRemoved);\n } else {\n const t = toasts.get(id);\n if (t) markAsRemoved(t);\n }\n notify();\n };\n\n const clearQueue = () => {\n toastCount -= queue.length;\n queue = [];\n };\n\n const addActiveToast = (toast: Toast) => {\n const { toastId, updateId } = toast.props;\n const isNew = updateId == null;\n\n if (toast.staleId) toasts.delete(toast.staleId);\n toast.isActive = true;\n\n toasts.set(toastId, toast);\n notify();\n dispatchChanges(toToastItem(toast, isNew ? 'added' : 'updated'));\n\n if (isNew) toast.props.onOpen?.();\n };\n\n const buildToast = (content: ToastContent, options: NotValidatedToastProps) => {\n if (shouldIgnoreToast(options)) return;\n\n const { toastId, updateId, data, staleId, delay } = options;\n\n const isNotAnUpdate = updateId == null;\n\n if (isNotAnUpdate) toastCount++;\n\n const toastProps = {\n ...props,\n style: props.toastStyle,\n key: toastKey++,\n ...Object.fromEntries(Object.entries(options).filter(([_, v]) => v != null)),\n toastId,\n updateId,\n data,\n isIn: false,\n className: parseClassName(options.className || props.toastClassName),\n progressClassName: parseClassName(options.progressClassName || props.progressClassName),\n autoClose: options.isLoading ? false : getAutoCloseDelay(options.autoClose, props.autoClose),\n closeToast(reason?: true) {\n toasts.get(toastId)!.removalReason = reason;\n removeToast(toastId);\n },\n deleteToast() {\n const toastToRemove = toasts.get(toastId);\n\n if (toastToRemove == null) return;\n\n dispatchChanges(toToastItem(toastToRemove, 'removed'));\n toasts.delete(toastId);\n\n toastCount--;\n if (toastCount < 0) toastCount = 0;\n\n if (queue.length > 0) {\n addActiveToast(queue.shift());\n return;\n }\n\n notify();\n }\n } as ToastProps;\n\n toastProps.closeButton = props.closeButton;\n\n if (options.closeButton === false || canBeRendered(options.closeButton)) {\n toastProps.closeButton = options.closeButton;\n } else if (options.closeButton === true) {\n toastProps.closeButton = canBeRendered(props.closeButton) ? props.closeButton : true;\n }\n\n const activeToast = {\n content,\n props: toastProps,\n staleId\n } as Toast;\n\n // not handling limit + delay by design. Waiting for user feedback first\n if (props.limit && props.limit > 0 && toastCount > props.limit && isNotAnUpdate) {\n queue.push(activeToast);\n } else if (isNum(delay)) {\n setTimeout(() => {\n addActiveToast(activeToast);\n }, delay);\n } else {\n addActiveToast(activeToast);\n }\n };\n\n return {\n id,\n props,\n observe,\n toggle,\n removeToast,\n toasts,\n clearQueue,\n buildToast,\n setProps(p: ToastContainerProps) {\n props = p;\n },\n setToggle: (id: Id, fn: (v: boolean) => void) => {\n const t = toasts.get(id);\n if (t) t.toggle = fn;\n },\n isToastActive: (id: Id) => toasts.get(id)?.isActive,\n getSnapshot: () => snapshot\n };\n}\n","import {\n ClearWaitingQueueParams,\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContainerProps,\n ToastContent,\n ToastItem,\n ToastOptions\n} from '../types';\nimport { Default, canBeRendered, isId } from '../utils';\nimport { ContainerObserver, createContainerObserver } from './containerObserver';\n\ninterface EnqueuedToast {\n content: ToastContent;\n options: NotValidatedToastProps;\n}\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nconst containers = new Map();\nlet renderQueue: EnqueuedToast[] = [];\nconst listeners = new Set();\n\nconst dispatchChanges = (data: ToastItem) => listeners.forEach(cb => cb(data));\n\nconst hasContainers = () => containers.size > 0;\n\nfunction flushRenderQueue() {\n renderQueue.forEach(v => pushToast(v.content, v.options));\n renderQueue = [];\n}\n\nexport const getToast = (id: Id, { containerId }: ToastOptions) =>\n containers.get(containerId || Default.CONTAINER_ID)?.toasts.get(id);\n\nexport function isToastActive(id: Id, containerId?: Id) {\n if (containerId) return !!containers.get(containerId)?.isToastActive(id);\n\n let isActive = false;\n containers.forEach(c => {\n if (c.isToastActive(id)) isActive = true;\n });\n\n return isActive;\n}\n\nexport function removeToast(params?: Id | RemoveParams) {\n if (!hasContainers()) {\n renderQueue = renderQueue.filter(v => params != null && v.options.toastId !== params);\n return;\n }\n\n if (params == null || isId(params)) {\n containers.forEach(c => {\n c.removeToast(params as Id);\n });\n } else if (params && ('containerId' in params || 'id' in params)) {\n const container = containers.get(params.containerId);\n container\n ? container.removeToast(params.id)\n : containers.forEach(c => {\n c.removeToast(params.id);\n });\n }\n}\n\nexport const clearWaitingQueue = (p: ClearWaitingQueueParams = {}) => {\n containers.forEach(c => {\n if (c.props.limit && (!p.containerId || c.id === p.containerId)) {\n c.clearQueue();\n }\n });\n};\n\nexport function pushToast(content: ToastContent, options: NotValidatedToastProps) {\n if (!canBeRendered(content)) return;\n if (!hasContainers()) renderQueue.push({ content, options });\n\n containers.forEach(c => {\n c.buildToast(content, options);\n });\n}\n\ninterface ToggleToastParams {\n id?: Id;\n containerId?: Id;\n}\n\ntype RegisterToggleOpts = {\n id: Id;\n containerId?: Id;\n fn: (v: boolean) => void;\n};\n\nexport function registerToggle(opts: RegisterToggleOpts) {\n containers.get(opts.containerId || Default.CONTAINER_ID)?.setToggle(opts.id, opts.fn);\n}\n\nexport function toggleToast(v: boolean, opt?: ToggleToastParams) {\n containers.forEach(c => {\n if (opt == null || !opt?.containerId) {\n c.toggle(v, opt?.id);\n } else if (opt?.containerId === c.id) {\n c.toggle(v, opt?.id);\n }\n });\n}\n\nexport function registerContainer(props: ToastContainerProps) {\n const id = props.containerId || Default.CONTAINER_ID;\n return {\n subscribe(notify: () => void) {\n const container = createContainerObserver(id, props, dispatchChanges);\n\n containers.set(id, container);\n const unobserve = container.observe(notify);\n flushRenderQueue();\n\n return () => {\n unobserve();\n containers.delete(id);\n };\n },\n setProps(p: ToastContainerProps) {\n containers.get(id)?.setProps(p);\n },\n getSnapshot() {\n return containers.get(id)?.getSnapshot();\n }\n };\n}\n\nexport function onChange(cb: OnChangeCallback) {\n listeners.add(cb);\n\n return () => {\n listeners.delete(cb);\n };\n}\n","import {\n ClearWaitingQueueFunc,\n Id,\n IdOpts,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContent,\n ToastOptions,\n ToastProps,\n TypeOptions,\n UpdateOptions\n} from '../types';\nimport { isFn, isNum, isStr, Type } from '../utils';\nimport { genToastId } from './genToastId';\nimport { clearWaitingQueue, getToast, isToastActive, onChange, pushToast, removeToast, toggleToast } from './store';\n\n/**\n * Generate a toastId or use the one provided\n */\nfunction getToastId(options?: ToastOptions) {\n return options && (isStr(options.toastId) || isNum(options.toastId)) ? options.toastId : genToastId();\n}\n\n/**\n * If the container is not mounted, the toast is enqueued\n */\nfunction dispatchToast(content: ToastContent, options: NotValidatedToastProps): Id {\n pushToast(content, options);\n return options.toastId;\n}\n\n/**\n * Merge provided options with the defaults settings and generate the toastId\n */\nfunction mergeOptions(type: string, options?: ToastOptions) {\n return {\n ...options,\n type: (options && options.type) || type,\n toastId: getToastId(options)\n } as NotValidatedToastProps;\n}\n\nfunction createToastByType(type: string) {\n return (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(type, options));\n}\n\nfunction toast(content: ToastContent, options?: ToastOptions) {\n return dispatchToast(content, mergeOptions(Type.DEFAULT, options));\n}\n\ntoast.loading = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n isLoading: true,\n autoClose: false,\n closeOnClick: false,\n closeButton: false,\n draggable: false,\n ...options\n })\n );\n\nexport interface ToastPromiseParams {\n pending?: string | UpdateOptions;\n success?: string | UpdateOptions;\n error?: string | UpdateOptions;\n}\n\nfunction handlePromise(\n promise: Promise | (() => Promise),\n { pending, error, success }: ToastPromiseParams,\n options?: ToastOptions\n) {\n let id: Id;\n\n if (pending) {\n id = isStr(pending)\n ? toast.loading(pending, options)\n : toast.loading(pending.render, {\n ...options,\n ...(pending as ToastOptions)\n } as ToastOptions);\n }\n\n const resetParams = {\n isLoading: null,\n autoClose: null,\n closeOnClick: null,\n closeButton: null,\n draggable: null\n };\n\n const resolver = (type: TypeOptions, input: string | UpdateOptions | undefined, result: T) => {\n // Remove the toast if the input has not been provided. This prevents the toast from hanging\n // in the pending state if a success/error toast has not been provided.\n if (input == null) {\n toast.dismiss(id);\n return;\n }\n\n const baseParams = {\n type,\n ...resetParams,\n ...options,\n data: result\n };\n const params = isStr(input) ? { render: input } : input;\n\n // if the id is set we know that it's an update\n if (id) {\n toast.update(id, {\n ...baseParams,\n ...params\n } as UpdateOptions);\n } else {\n // using toast.promise without loading\n toast(params!.render, {\n ...baseParams,\n ...params\n } as ToastOptions);\n }\n\n return result;\n };\n\n const p = isFn(promise) ? promise() : promise;\n\n //call the resolvers only when needed\n p.then(result => resolver('success', success, result)).catch(err => resolver('error', error, err));\n\n return p;\n}\n\n/**\n * Supply a promise or a function that return a promise and the notification will be updated if it resolves or fails.\n * When the promise is pending a spinner is displayed by default.\n * `toast.promise` returns the provided promise so you can chain it.\n *\n * Simple example:\n *\n * ```\n * toast.promise(MyPromise,\n * {\n * pending: 'Promise is pending',\n * success: 'Promise resolved 👌',\n * error: 'Promise rejected 🤯'\n * }\n * )\n *\n * ```\n *\n * Advanced usage:\n * ```\n * toast.promise<{name: string}, {message: string}, undefined>(\n * resolveWithSomeData,\n * {\n * pending: {\n * render: () => \"I'm loading\",\n * icon: false,\n * },\n * success: {\n * render: ({data}) => `Hello ${data.name}`,\n * icon: \"🟢\",\n * },\n * error: {\n * render({data}){\n * // When the promise reject, data will contains the error\n * return \n * }\n * }\n * }\n * )\n * ```\n */\ntoast.promise = handlePromise;\ntoast.success = createToastByType(Type.SUCCESS);\ntoast.info = createToastByType(Type.INFO);\ntoast.error = createToastByType(Type.ERROR);\ntoast.warning = createToastByType(Type.WARNING);\ntoast.warn = toast.warning;\ntoast.dark = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n theme: 'dark',\n ...options\n })\n );\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nfunction dismiss(params: RemoveParams): void;\nfunction dismiss(params?: Id): void;\nfunction dismiss(params?: Id | RemoveParams) {\n removeToast(params);\n}\n\n/**\n * Remove toast programmatically\n *\n * - Remove all toasts:\n * ```\n * toast.dismiss()\n * ```\n *\n * - Remove all toasts that belongs to a given container\n * ```\n * toast.dismiss({ container: \"123\" })\n * ```\n *\n * - Remove toast that has a given id regardless the container\n * ```\n * toast.dismiss({ id: \"123\" })\n * ```\n *\n * - Remove toast that has a given id for a specific container\n * ```\n * toast.dismiss({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.dismiss = dismiss;\n\n/**\n * Clear waiting queue when limit is used\n */\ntoast.clearWaitingQueue = clearWaitingQueue as ClearWaitingQueueFunc;\n\n/**\n * Check if a toast is active\n *\n * - Check regardless the container\n * ```\n * toast.isActive(\"123\")\n * ```\n *\n * - Check in a specific container\n * ```\n * toast.isActive(\"123\", \"containerId\")\n * ```\n */\ntoast.isActive = isToastActive;\n\n/**\n * Update a toast, see https://fkhadra.github.io/react-toastify/update-toast/ for more\n *\n * Example:\n * ```\n * // With a string\n * toast.update(toastId, {\n * render: \"New content\",\n * type: \"info\",\n * });\n *\n * // Or with a component\n * toast.update(toastId, {\n * render: MyComponent\n * });\n *\n * // Or a function\n * toast.update(toastId, {\n * render: () =>
New content
\n * });\n *\n * // Apply a transition\n * toast.update(toastId, {\n * render: \"New Content\",\n * type: toast.TYPE.INFO,\n * transition: Rotate\n * })\n * ```\n */\ntoast.update = (toastId: Id, options: UpdateOptions = {}) => {\n const toast = getToast(toastId, options as ToastOptions);\n\n if (toast) {\n const { props: oldOptions, content: oldContent } = toast;\n\n const nextOptions = {\n delay: 100,\n ...oldOptions,\n ...options,\n toastId: options.toastId || toastId,\n updateId: genToastId()\n } as ToastProps & UpdateOptions;\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n\n const content = nextOptions.render || oldContent;\n delete nextOptions.render;\n\n dispatchToast(content, nextOptions);\n }\n};\n\n/**\n * Used for controlled progress bar. It will automatically close the notification.\n *\n * If you don't want your notification to be clsoed when the timer is done you should use `toast.update` instead as follow instead:\n *\n * ```\n * toast.update(id, {\n * progress: null, // remove controlled progress bar\n * render: \"ok\",\n * type: \"success\",\n * autoClose: 5000 // set autoClose to the desired value\n * });\n * ```\n */\ntoast.done = (id: Id) => {\n toast.update(id, {\n progress: 1\n });\n};\n\n/**\n * Subscribe to change when a toast is added, removed and updated\n *\n * Usage:\n * ```\n * const unsubscribe = toast.onChange((payload) => {\n * switch (payload.status) {\n * case \"added\":\n * // new toast added\n * break;\n * case \"updated\":\n * // toast updated\n * break;\n * case \"removed\":\n * // toast has been removed\n * break;\n * }\n * })\n * ```\n */\ntoast.onChange = onChange as (cb: OnChangeCallback) => () => void;\n\n/**\n * Play a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Play all toasts\n * ```\n * toast.play()\n * ```\n *\n * - Play all toasts for a given container\n * ```\n * toast.play({ containerId: \"123\" })\n * ```\n *\n * - Play toast that has a given id regardless the container\n * ```\n * toast.play({ id: \"123\" })\n * ```\n *\n * - Play toast that has a given id for a specific container\n * ```\n * toast.play({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.play = (opts?: IdOpts) => toggleToast(true, opts);\n\n/**\n * Pause a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Pause all toasts\n * ```\n * toast.pause()\n * ```\n *\n * - Pause all toasts for a given container\n * ```\n * toast.pause({ containerId: \"123\" })\n * ```\n *\n * - Pause toast that has a given id regardless the container\n * ```\n * toast.pause({ id: \"123\" })\n * ```\n *\n * - Pause toast that has a given id for a specific container\n * ```\n * toast.pause({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.pause = (opts?: IdOpts) => toggleToast(false, opts);\n\nexport { toast };\n","import { useRef, useSyncExternalStore } from 'react';\nimport { isToastActive, registerContainer } from '../core/store';\nimport { Toast, ToastContainerProps, ToastPosition } from '../types';\n\nexport function useToastContainer(props: ToastContainerProps) {\n const { subscribe, getSnapshot, setProps } = useRef(registerContainer(props)).current;\n setProps(props);\n const snapshot = useSyncExternalStore(subscribe, getSnapshot, getSnapshot)?.slice();\n\n function getToastToRender(cb: (position: ToastPosition, toastList: Toast[]) => T) {\n if (!snapshot) return [];\n\n const toRender = new Map();\n\n if (props.newestOnTop) snapshot.reverse();\n\n snapshot.forEach(toast => {\n const { position } = toast.props;\n toRender.has(position) || toRender.set(position, []);\n toRender.get(position)!.push(toast);\n });\n\n return Array.from(toRender, p => cb(p[0], p[1]));\n }\n\n return {\n getToastToRender,\n isToastActive,\n count: snapshot?.length\n };\n}\n","import { DOMAttributes, useEffect, useRef, useState } from 'react';\n\nimport { ToastProps } from '../types';\nimport { Default, Direction } from '../utils';\nimport { registerToggle } from '../core/store';\n\ninterface Draggable {\n start: number;\n delta: number;\n removalDistance: number;\n canCloseOnClick: boolean;\n canDrag: boolean;\n didMove: boolean;\n}\n\nexport function useToast(props: ToastProps) {\n const [isRunning, setIsRunning] = useState(false);\n const [preventExitTransition, setPreventExitTransition] = useState(false);\n const toastRef = useRef(null);\n const drag = useRef({\n start: 0,\n delta: 0,\n removalDistance: 0,\n canCloseOnClick: true,\n canDrag: false,\n didMove: false\n }).current;\n const { autoClose, pauseOnHover, closeToast, onClick, closeOnClick } = props;\n\n registerToggle({\n id: props.toastId,\n containerId: props.containerId,\n fn: setIsRunning\n });\n\n useEffect(() => {\n if (props.pauseOnFocusLoss) {\n bindFocusEvents();\n\n return () => {\n unbindFocusEvents();\n };\n }\n }, [props.pauseOnFocusLoss]);\n\n function bindFocusEvents() {\n if (!document.hasFocus()) pauseToast();\n\n window.addEventListener('focus', playToast);\n window.addEventListener('blur', pauseToast);\n }\n\n function unbindFocusEvents() {\n window.removeEventListener('focus', playToast);\n window.removeEventListener('blur', pauseToast);\n }\n\n function onDragStart(e: React.PointerEvent) {\n if (props.draggable === true || props.draggable === e.pointerType) {\n bindDragEvents();\n const toast = toastRef.current!;\n drag.canCloseOnClick = true;\n drag.canDrag = true;\n toast.style.transition = 'none';\n\n if (props.draggableDirection === Direction.X) {\n drag.start = e.clientX;\n drag.removalDistance = toast.offsetWidth * (props.draggablePercent / 100);\n } else {\n drag.start = e.clientY;\n drag.removalDistance =\n (toast.offsetHeight *\n (props.draggablePercent === Default.DRAGGABLE_PERCENT\n ? props.draggablePercent * 1.5\n : props.draggablePercent)) /\n 100;\n }\n }\n }\n\n function onDragTransitionEnd(e: React.PointerEvent) {\n const { top, bottom, left, right } = toastRef.current!.getBoundingClientRect();\n\n if (\n e.nativeEvent.type !== 'touchend' &&\n props.pauseOnHover &&\n e.clientX >= left &&\n e.clientX <= right &&\n e.clientY >= top &&\n e.clientY <= bottom\n ) {\n pauseToast();\n } else {\n playToast();\n }\n }\n\n function playToast() {\n setIsRunning(true);\n }\n\n function pauseToast() {\n setIsRunning(false);\n }\n\n function bindDragEvents() {\n drag.didMove = false;\n document.addEventListener('pointermove', onDragMove);\n document.addEventListener('pointerup', onDragEnd);\n }\n\n function unbindDragEvents() {\n document.removeEventListener('pointermove', onDragMove);\n document.removeEventListener('pointerup', onDragEnd);\n }\n\n function onDragMove(e: PointerEvent) {\n const toast = toastRef.current!;\n if (drag.canDrag && toast) {\n drag.didMove = true;\n if (isRunning) pauseToast();\n if (props.draggableDirection === Direction.X) {\n drag.delta = e.clientX - drag.start;\n } else {\n drag.delta = e.clientY - drag.start;\n }\n\n // prevent false positive during a toast click\n if (drag.start !== e.clientX) drag.canCloseOnClick = false;\n const translate =\n props.draggableDirection === 'x' ? `${drag.delta}px, var(--y)` : `0, calc(${drag.delta}px + var(--y))`;\n toast.style.transform = `translate3d(${translate},0)`;\n toast.style.opacity = `${1 - Math.abs(drag.delta / drag.removalDistance)}`;\n }\n }\n\n function onDragEnd() {\n unbindDragEvents();\n const toast = toastRef.current!;\n if (drag.canDrag && drag.didMove && toast) {\n drag.canDrag = false;\n if (Math.abs(drag.delta) > drag.removalDistance) {\n setPreventExitTransition(true);\n props.closeToast(true);\n props.collapseAll();\n return;\n }\n\n toast.style.transition = 'transform 0.2s, opacity 0.2s';\n toast.style.removeProperty('transform');\n toast.style.removeProperty('opacity');\n }\n }\n\n const eventHandlers: DOMAttributes = {\n onPointerDown: onDragStart,\n onPointerUp: onDragTransitionEnd\n };\n\n if (autoClose && pauseOnHover) {\n eventHandlers.onMouseEnter = pauseToast;\n\n // progress control is delegated to the container\n if (!props.stacked) eventHandlers.onMouseLeave = playToast;\n }\n\n // prevent toast from closing when user drags the toast\n if (closeOnClick) {\n eventHandlers.onClick = (e: React.MouseEvent) => {\n onClick && onClick(e);\n drag.canCloseOnClick && closeToast(true);\n };\n }\n\n return {\n playToast,\n pauseToast,\n isRunning,\n preventExitTransition,\n toastRef,\n eventHandlers\n };\n}\n","import { useEffect, useLayoutEffect } from 'react';\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n","import cx from 'clsx';\nimport React, { cloneElement, isValidElement } from 'react';\n\nimport { useToast } from '../hooks/useToast';\nimport { ToastProps } from '../types';\nimport { Default, isFn, renderContent } from '../utils';\nimport { CloseButton } from './CloseButton';\nimport { ProgressBar } from './ProgressBar';\nimport { getIcon } from './Icons';\n\nexport const Toast: React.FC = props => {\n const { isRunning, preventExitTransition, toastRef, eventHandlers, playToast } = useToast(props);\n const {\n closeButton,\n children,\n autoClose,\n onClick,\n type,\n hideProgressBar,\n closeToast,\n transition: Transition,\n position,\n className,\n style,\n progressClassName,\n updateId,\n role,\n progress,\n rtl,\n toastId,\n deleteToast,\n isIn,\n isLoading,\n closeOnClick,\n theme,\n ariaLabel\n } = props;\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast`,\n `${Default.CSS_NAMESPACE}__toast-theme--${theme}`,\n `${Default.CSS_NAMESPACE}__toast--${type}`,\n {\n [`${Default.CSS_NAMESPACE}__toast--rtl`]: rtl\n },\n {\n [`${Default.CSS_NAMESPACE}__toast--close-on-click`]: closeOnClick\n }\n );\n const cssClasses = isFn(className)\n ? className({\n rtl,\n position,\n type,\n defaultClassName\n })\n : cx(defaultClassName, className);\n const icon = getIcon(props);\n const isProgressControlled = !!progress || !autoClose;\n\n const closeButtonProps = { closeToast, type, theme };\n let Close: React.ReactNode = null;\n\n if (closeButton === false) {\n // hide\n } else if (isFn(closeButton)) {\n Close = closeButton(closeButtonProps);\n } else if (isValidElement(closeButton)) {\n Close = cloneElement(closeButton, closeButtonProps);\n } else {\n Close = CloseButton(closeButtonProps);\n }\n\n return (\n \n \n {icon != null && (\n \n {icon}\n \n )}\n {renderContent(children, props, !isRunning)}\n {Close}\n {!props.customProgressBar && (\n \n )}\n \n \n );\n};\n","import React, { cloneElement, isValidElement } from 'react';\n\nimport { Theme, ToastProps, TypeOptions } from '../types';\nimport { Default, isFn } from '../utils';\n\n/**\n * Used when providing custom icon\n */\nexport interface IconProps {\n theme: Theme;\n type: TypeOptions;\n isLoading?: boolean;\n}\n\nexport type BuiltInIconProps = React.SVGProps & IconProps;\n\nconst Svg: React.FC = ({ theme, type, isLoading, ...rest }) => (\n \n);\n\nfunction Warning(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Info(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Success(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Error(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Spinner() {\n return
;\n}\n\nexport const Icons = {\n info: Info,\n warning: Warning,\n success: Success,\n error: Error,\n spinner: Spinner\n};\n\nconst maybeIcon = (type: string): type is keyof typeof Icons => type in Icons;\n\nexport type IconParams = Pick;\n\nexport function getIcon({ theme, type, isLoading, icon }: IconParams) {\n let Icon: React.ReactNode = null;\n const iconProps = { theme, type };\n\n if (icon === false) {\n // hide\n } else if (isFn(icon)) {\n Icon = icon({ ...iconProps, isLoading });\n } else if (isValidElement(icon)) {\n Icon = cloneElement(icon, iconProps);\n } else if (isLoading) {\n Icon = Icons.spinner();\n } else if (maybeIcon(type)) {\n Icon = Icons[type](iconProps);\n }\n\n return Icon;\n}\n","import { cssTransition, Default } from '../utils';\n\nconst getConfig = (animationName: string, appendPosition = false) => ({\n enter: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-enter`,\n exit: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-exit`,\n appendPosition\n});\n\nconst Bounce = cssTransition(getConfig('bounce', true));\n\nconst Slide = cssTransition(getConfig('slide', true));\n\nconst Zoom = cssTransition(getConfig('zoom'));\n\nconst Flip = cssTransition(getConfig('flip'));\n\nexport { Bounce, Slide, Zoom, Flip };\n"],"mappings":"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","names":["src_exports","__export","Bounce","Flip","Icons","Slide","ToastContainer","Zoom","collapseToast","cssTransition","toast","__toCommonJS","import_react","isNum","v","isStr","isFn","isId","parseClassName","getAutoCloseDelay","toastAutoClose","containerAutoClose","canBeRendered","content","import_react","collapseToast","node","done","duration","scrollHeight","style","cssTransition","enter","exit","appendPosition","collapse","collapseDuration","children","position","preventExitTransition","done","nodeRef","isIn","playToast","enterClassName","exitClassName","animationStep","node","classToToken","onEntered","e","onExited","collapseToast","React","import_react","toToastItem","toast","status","renderContent","content","props","isPaused","isStr","isFn","import_react","CloseButton","closeToast","theme","ariaLabel","React","e","import_react","import_clsx","ProgressBar","delay","isRunning","closeToast","type","hide","className","controlledProgress","progress","rtl","isIn","theme","isHidden","style","defaultClassName","cx","classNames","isFn","animationEvent","React","import_clsx","import_react","TOAST_ID","genToastId","createContainerObserver","id","containerProps","dispatchChanges","toastKey","toastCount","queue","snapshot","props","toasts","listeners","observe","notify","cb","shouldIgnoreToast","containerId","toastId","updateId","containerMismatch","isDuplicate","toggle","v","t","_a","markAsRemoved","_b","removeToast","clearQueue","addActiveToast","toast","isNew","toToastItem","content","options","data","staleId","delay","isNotAnUpdate","toastProps","_","parseClassName","getAutoCloseDelay","reason","toastToRemove","canBeRendered","activeToast","isNum","p","fn","containers","renderQueue","listeners","dispatchChanges","data","cb","hasContainers","flushRenderQueue","v","pushToast","getToast","id","containerId","_a","isToastActive","isActive","c","removeToast","params","isId","container","clearWaitingQueue","p","content","options","canBeRendered","registerToggle","opts","toggleToast","opt","registerContainer","props","notify","createContainerObserver","unobserve","onChange","getToastId","options","isStr","isNum","genToastId","dispatchToast","content","pushToast","mergeOptions","type","createToastByType","toast","handlePromise","promise","pending","error","success","id","resetParams","resolver","input","result","baseParams","params","p","isFn","err","dismiss","removeToast","clearWaitingQueue","isToastActive","toastId","getToast","oldOptions","oldContent","nextOptions","onChange","opts","toggleToast","import_react","useToastContainer","props","_a","subscribe","getSnapshot","setProps","registerContainer","snapshot","getToastToRender","cb","toRender","toast","position","p","isToastActive","import_react","useToast","props","isRunning","setIsRunning","preventExitTransition","setPreventExitTransition","toastRef","drag","autoClose","pauseOnHover","closeToast","onClick","closeOnClick","registerToggle","bindFocusEvents","unbindFocusEvents","pauseToast","playToast","onDragStart","e","bindDragEvents","toast","onDragTransitionEnd","top","bottom","left","right","onDragMove","onDragEnd","unbindDragEvents","translate","eventHandlers","import_react","useIsomorphicLayoutEffect","import_clsx","import_react","import_react","Svg","theme","type","isLoading","rest","React","Warning","props","Info","Success","Error","Spinner","Icons","maybeIcon","getIcon","icon","Icon","iconProps","isFn","Toast","props","isRunning","preventExitTransition","toastRef","eventHandlers","playToast","useToast","closeButton","children","autoClose","onClick","type","hideProgressBar","closeToast","Transition","position","className","style","progressClassName","updateId","role","progress","rtl","toastId","deleteToast","isIn","isLoading","closeOnClick","theme","ariaLabel","defaultClassName","cx","cssClasses","isFn","icon","getIcon","isProgressControlled","closeButtonProps","Close","CloseButton","React","renderContent","ProgressBar","getConfig","animationName","appendPosition","Bounce","cssTransition","Slide","Zoom","Flip","defaultProps","Bounce","e","ToastContainer","props","containerProps","stacked","collapsed","setIsCollapsed","containerRef","getToastToRender","isToastActive","count","useToastContainer","className","style","rtl","containerId","hotKeys","getClassName","position","defaultClassName","cx","isFn","parseClassName","collapseAll","toast","useIsomorphicLayoutEffect","_a","nodes","gap","isTop","usedHeight","prevS","n","i","node","y","focusFirst","React","toastList","containerStyle","content","toastProps","Toast"]} \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.mjs b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.mjs new file mode 100644 index 000000000..d9eef4b6a --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.mjs @@ -0,0 +1,3 @@ +"use client"; +import{isValidElement as Mt}from"react";var L=t=>typeof t=="number"&&!isNaN(t),N=t=>typeof t=="string",P=t=>typeof t=="function",mt=t=>N(t)||L(t),B=t=>N(t)||P(t)?t:null,pt=(t,o)=>t===!1||L(t)&&t>0?t:o,z=t=>Mt(t)||N(t)||P(t)||L(t);import ut,{useEffect as $t,useLayoutEffect as Rt,useRef as Bt}from"react";function Z(t,o,e=300){let{scrollHeight:n,style:s}=t;requestAnimationFrame(()=>{s.minHeight="initial",s.height=n+"px",s.transition=`all ${e}ms`,requestAnimationFrame(()=>{s.height="0",s.padding="0",s.margin="0",setTimeout(o,e)})})}function $({enter:t,exit:o,appendPosition:e=!1,collapse:n=!0,collapseDuration:s=300}){return function({children:a,position:d,preventExitTransition:f,done:T,nodeRef:g,isIn:v,playToast:x}){let C=e?`${t}--${d}`:t,S=e?`${o}--${d}`:o,E=Bt(0);return Rt(()=>{let c=g.current,p=C.split(" "),b=r=>{r.target===g.current&&(x(),c.removeEventListener("animationend",b),c.removeEventListener("animationcancel",b),E.current===0&&r.type!=="animationcancel"&&c.classList.remove(...p))};(()=>{c.classList.add(...p),c.addEventListener("animationend",b),c.addEventListener("animationcancel",b)})()},[]),$t(()=>{let c=g.current,p=()=>{c.removeEventListener("animationend",p),n?Z(c,T,s):T()};v||(f?p():(()=>{E.current=1,c.className+=` ${S}`,c.addEventListener("animationend",p)})())},[v]),ut.createElement(ut.Fragment,null,a)}}import{cloneElement as zt,isValidElement as Ft}from"react";function J(t,o){return{content:tt(t.content,t.props),containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,reason:t.removalReason,status:o}}function tt(t,o,e=!1){return Ft(t)&&!N(t.type)?zt(t,{closeToast:o.closeToast,toastProps:o,data:o.data,isPaused:e}):P(t)?t({closeToast:o.closeToast,toastProps:o,data:o.data,isPaused:e}):t}import ot from"react";function yt({closeToast:t,theme:o,ariaLabel:e="close"}){return ot.createElement("button",{className:`Toastify__close-button Toastify__close-button--${o}`,type:"button",onClick:n=>{n.stopPropagation(),t(!0)},"aria-label":e},ot.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},ot.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}import et from"react";import Tt from"clsx";function gt({delay:t,isRunning:o,closeToast:e,type:n="default",hide:s,className:l,controlledProgress:a,progress:d,rtl:f,isIn:T,theme:g}){let v=s||a&&d===0,x={animationDuration:`${t}ms`,animationPlayState:o?"running":"paused"};a&&(x.transform=`scaleX(${d})`);let C=Tt("Toastify__progress-bar",a?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${g}`,`Toastify__progress-bar--${n}`,{["Toastify__progress-bar--rtl"]:f}),S=P(l)?l({rtl:f,type:n,defaultClassName:C}):Tt(C,l),E={[a&&d>=1?"onTransitionEnd":"onAnimationEnd"]:a&&d<1?null:()=>{T&&e()}};return et.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":v},et.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${g} Toastify__progress-bar--${n}`}),et.createElement("div",{role:"progressbar","aria-hidden":v?"true":"false","aria-label":"notification timer",className:S,style:x,...E}))}import Dt from"clsx";import ft,{useEffect as uo,useRef as yo,useState as To}from"react";var Ht=1,at=()=>`${Ht++}`;function _t(t,o,e){let n=1,s=0,l=[],a=[],d=o,f=new Map,T=new Set,g=i=>(T.add(i),()=>T.delete(i)),v=()=>{a=Array.from(f.values()),T.forEach(i=>i())},x=({containerId:i,toastId:r,updateId:u})=>{let h=i?i!==t:t!==1,m=f.has(r)&&u==null;return h||m},C=(i,r)=>{f.forEach(u=>{var h;(r==null||r===u.props.toastId)&&((h=u.toggle)==null||h.call(u,i))})},S=i=>{var r,u;(u=(r=i.props)==null?void 0:r.onClose)==null||u.call(r,i.removalReason),i.isActive=!1},E=i=>{if(i==null)f.forEach(S);else{let r=f.get(i);r&&S(r)}v()},c=()=>{s-=l.length,l=[]},p=i=>{var m,_;let{toastId:r,updateId:u}=i.props,h=u==null;i.staleId&&f.delete(i.staleId),i.isActive=!0,f.set(r,i),v(),e(J(i,h?"added":"updated")),h&&((_=(m=i.props).onOpen)==null||_.call(m))};return{id:t,props:d,observe:g,toggle:C,removeToast:E,toasts:f,clearQueue:c,buildToast:(i,r)=>{if(x(r))return;let{toastId:u,updateId:h,data:m,staleId:_,delay:k}=r,M=h==null;M&&s++;let A={...d,style:d.toastStyle,key:n++,...Object.fromEntries(Object.entries(r).filter(([D,Y])=>Y!=null)),toastId:u,updateId:h,data:m,isIn:!1,className:B(r.className||d.toastClassName),progressClassName:B(r.progressClassName||d.progressClassName),autoClose:r.isLoading?!1:pt(r.autoClose,d.autoClose),closeToast(D){f.get(u).removalReason=D,E(u)},deleteToast(){let D=f.get(u);if(D!=null){if(e(J(D,"removed")),f.delete(u),s--,s<0&&(s=0),l.length>0){p(l.shift());return}v()}}};A.closeButton=d.closeButton,r.closeButton===!1||z(r.closeButton)?A.closeButton=r.closeButton:r.closeButton===!0&&(A.closeButton=z(d.closeButton)?d.closeButton:!0);let R={content:i,props:A,staleId:_};d.limit&&d.limit>0&&s>d.limit&&M?l.push(R):L(k)?setTimeout(()=>{p(R)},k):p(R)},setProps(i){d=i},setToggle:(i,r)=>{let u=f.get(i);u&&(u.toggle=r)},isToastActive:i=>{var r;return(r=f.get(i))==null?void 0:r.isActive},getSnapshot:()=>a}}var I=new Map,F=[],st=new Set,Vt=t=>st.forEach(o=>o(t)),bt=()=>I.size>0;function Xt(){F.forEach(t=>rt(t.content,t.options)),F=[]}var vt=(t,{containerId:o})=>{var e;return(e=I.get(o||1))==null?void 0:e.toasts.get(t)};function V(t,o){var n;if(o)return!!((n=I.get(o))!=null&&n.isToastActive(t));let e=!1;return I.forEach(s=>{s.isToastActive(t)&&(e=!0)}),e}function ht(t){if(!bt()){F=F.filter(o=>t!=null&&o.options.toastId!==t);return}if(t==null||mt(t))I.forEach(o=>{o.removeToast(t)});else if(t&&("containerId"in t||"id"in t)){let o=I.get(t.containerId);o?o.removeToast(t.id):I.forEach(e=>{e.removeToast(t.id)})}}var Ct=(t={})=>{I.forEach(o=>{o.props.limit&&(!t.containerId||o.id===t.containerId)&&o.clearQueue()})};function rt(t,o){z(t)&&(bt()||F.push({content:t,options:o}),I.forEach(e=>{e.buildToast(t,o)}))}function xt(t){var o;(o=I.get(t.containerId||1))==null||o.setToggle(t.id,t.fn)}function nt(t,o){I.forEach(e=>{(o==null||!(o!=null&&o.containerId)||(o==null?void 0:o.containerId)===e.id)&&e.toggle(t,o==null?void 0:o.id)})}function Et(t){let o=t.containerId||1;return{subscribe(e){let n=_t(o,t,Vt);I.set(o,n);let s=n.observe(e);return Xt(),()=>{s(),I.delete(o)}},setProps(e){var n;(n=I.get(o))==null||n.setProps(e)},getSnapshot(){var e;return(e=I.get(o))==null?void 0:e.getSnapshot()}}}function Pt(t){return st.add(t),()=>{st.delete(t)}}function Qt(t){return t&&(N(t.toastId)||L(t.toastId))?t.toastId:at()}function U(t,o){return rt(t,o),o.toastId}function X(t,o){return{...o,type:o&&o.type||t,toastId:Qt(o)}}function Q(t){return(o,e)=>U(o,X(t,e))}function y(t,o){return U(t,X("default",o))}y.loading=(t,o)=>U(t,X("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...o}));function Wt(t,{pending:o,error:e,success:n},s){let l;o&&(l=N(o)?y.loading(o,s):y.loading(o.render,{...s,...o}));let a={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},d=(T,g,v)=>{if(g==null){y.dismiss(l);return}let x={type:T,...a,...s,data:v},C=N(g)?{render:g}:g;return l?y.update(l,{...x,...C}):y(C.render,{...x,...C}),v},f=P(t)?t():t;return f.then(T=>d("success",n,T)).catch(T=>d("error",e,T)),f}y.promise=Wt;y.success=Q("success");y.info=Q("info");y.error=Q("error");y.warning=Q("warning");y.warn=y.warning;y.dark=(t,o)=>U(t,X("default",{theme:"dark",...o}));function Gt(t){ht(t)}y.dismiss=Gt;y.clearWaitingQueue=Ct;y.isActive=V;y.update=(t,o={})=>{let e=vt(t,o);if(e){let{props:n,content:s}=e,l={delay:100,...n,...o,toastId:o.toastId||t,updateId:at()};l.toastId!==t&&(l.staleId=t);let a=l.render||s;delete l.render,U(a,l)}};y.done=t=>{y.update(t,{progress:1})};y.onChange=Pt;y.play=t=>nt(!0,t);y.pause=t=>nt(!1,t);import{useRef as qt,useSyncExternalStore as Kt}from"react";function It(t){var a;let{subscribe:o,getSnapshot:e,setProps:n}=qt(Et(t)).current;n(t);let s=(a=Kt(o,e,e))==null?void 0:a.slice();function l(d){if(!s)return[];let f=new Map;return t.newestOnTop&&s.reverse(),s.forEach(T=>{let{position:g}=T.props;f.has(g)||f.set(g,[]),f.get(g).push(T)}),Array.from(f,T=>d(T[0],T[1]))}return{getToastToRender:l,isToastActive:V,count:s==null?void 0:s.length}}import{useEffect as jt,useRef as St,useState as kt}from"react";function At(t){let[o,e]=kt(!1),[n,s]=kt(!1),l=St(null),a=St({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:d,pauseOnHover:f,closeToast:T,onClick:g,closeOnClick:v}=t;xt({id:t.toastId,containerId:t.containerId,fn:e}),jt(()=>{if(t.pauseOnFocusLoss)return x(),()=>{C()}},[t.pauseOnFocusLoss]);function x(){document.hasFocus()||p(),window.addEventListener("focus",c),window.addEventListener("blur",p)}function C(){window.removeEventListener("focus",c),window.removeEventListener("blur",p)}function S(m){if(t.draggable===!0||t.draggable===m.pointerType){b();let _=l.current;a.canCloseOnClick=!0,a.canDrag=!0,_.style.transition="none",t.draggableDirection==="x"?(a.start=m.clientX,a.removalDistance=_.offsetWidth*(t.draggablePercent/100)):(a.start=m.clientY,a.removalDistance=_.offsetHeight*(t.draggablePercent===80?t.draggablePercent*1.5:t.draggablePercent)/100)}}function E(m){let{top:_,bottom:k,left:M,right:A}=l.current.getBoundingClientRect();m.nativeEvent.type!=="touchend"&&t.pauseOnHover&&m.clientX>=M&&m.clientX<=A&&m.clientY>=_&&m.clientY<=k?p():c()}function c(){e(!0)}function p(){e(!1)}function b(){a.didMove=!1,document.addEventListener("pointermove",r),document.addEventListener("pointerup",u)}function i(){document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",u)}function r(m){let _=l.current;if(a.canDrag&&_){a.didMove=!0,o&&p(),t.draggableDirection==="x"?a.delta=m.clientX-a.start:a.delta=m.clientY-a.start,a.start!==m.clientX&&(a.canCloseOnClick=!1);let k=t.draggableDirection==="x"?`${a.delta}px, var(--y)`:`0, calc(${a.delta}px + var(--y))`;_.style.transform=`translate3d(${k},0)`,_.style.opacity=`${1-Math.abs(a.delta/a.removalDistance)}`}}function u(){i();let m=l.current;if(a.canDrag&&a.didMove&&m){if(a.canDrag=!1,Math.abs(a.delta)>a.removalDistance){s(!0),t.closeToast(!0),t.collapseAll();return}m.style.transition="transform 0.2s, opacity 0.2s",m.style.removeProperty("transform"),m.style.removeProperty("opacity")}}let h={onPointerDown:S,onPointerUp:E};return d&&f&&(h.onMouseEnter=p,t.stacked||(h.onMouseLeave=c)),v&&(h.onClick=m=>{g&&g(m),a.canCloseOnClick&&T(!0)}),{playToast:c,pauseToast:p,isRunning:o,preventExitTransition:n,toastRef:l,eventHandlers:h}}import{useEffect as Zt,useLayoutEffect as Jt}from"react";var Ot=typeof window!="undefined"?Jt:Zt;import it from"clsx";import q,{cloneElement as lo,isValidElement as fo}from"react";import O,{cloneElement as to,isValidElement as oo}from"react";var G=({theme:t,type:o,isLoading:e,...n})=>O.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:t==="colored"?"currentColor":`var(--toastify-icon-color-${o})`,...n});function eo(t){return O.createElement(G,{...t},O.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))}function ao(t){return O.createElement(G,{...t},O.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))}function so(t){return O.createElement(G,{...t},O.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))}function ro(t){return O.createElement(G,{...t},O.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))}function no(){return O.createElement("div",{className:"Toastify__spinner"})}var W={info:ao,warning:eo,success:so,error:ro,spinner:no},io=t=>t in W;function Nt({theme:t,type:o,isLoading:e,icon:n}){let s=null,l={theme:t,type:o};return n===!1||(P(n)?s=n({...l,isLoading:e}):oo(n)?s=to(n,l):e?s=W.spinner():io(o)&&(s=W[o](l))),s}var wt=t=>{let{isRunning:o,preventExitTransition:e,toastRef:n,eventHandlers:s,playToast:l}=At(t),{closeButton:a,children:d,autoClose:f,onClick:T,type:g,hideProgressBar:v,closeToast:x,transition:C,position:S,className:E,style:c,progressClassName:p,updateId:b,role:i,progress:r,rtl:u,toastId:h,deleteToast:m,isIn:_,isLoading:k,closeOnClick:M,theme:A,ariaLabel:R}=t,D=it("Toastify__toast",`Toastify__toast-theme--${A}`,`Toastify__toast--${g}`,{["Toastify__toast--rtl"]:u},{["Toastify__toast--close-on-click"]:M}),Y=P(E)?E({rtl:u,position:S,type:g,defaultClassName:D}):it(D,E),ct=Nt(t),dt=!!r||!f,j={closeToast:x,type:g,theme:A},H=null;return a===!1||(P(a)?H=a(j):fo(a)?H=lo(a,j):H=yt(j)),q.createElement(C,{isIn:_,done:m,position:S,preventExitTransition:e,nodeRef:n,playToast:l},q.createElement("div",{id:h,tabIndex:0,onClick:T,"data-in":_,className:Y,...s,style:c,ref:n,..._&&{role:i,"aria-label":R}},ct!=null&&q.createElement("div",{className:it("Toastify__toast-icon",{["Toastify--animate-icon Toastify__zoom-enter"]:!k})},ct),tt(d,t,!o),H,!t.customProgressBar&&q.createElement(gt,{...b&&!dt?{key:`p-${b}`}:{},rtl:u,theme:A,delay:f,isRunning:o,isIn:_,closeToast:x,hide:v,type:g,className:p,controlledProgress:dt,progress:r||0})))};var K=(t,o=!1)=>({enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:o}),lt=$(K("bounce",!0)),co=$(K("slide",!0)),mo=$(K("zoom")),po=$(K("flip"));var go={position:"top-right",transition:lt,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:t=>t.altKey&&t.code==="KeyT"};function Lt(t){let o={...go,...t},e=t.stacked,[n,s]=To(!0),l=yo(null),{getToastToRender:a,isToastActive:d,count:f}=It(o),{className:T,style:g,rtl:v,containerId:x,hotKeys:C}=o;function S(c){let p=Dt("Toastify__toast-container",`Toastify__toast-container--${c}`,{["Toastify__toast-container--rtl"]:v});return P(T)?T({position:c,rtl:v,defaultClassName:p}):Dt(p,B(T))}function E(){e&&(s(!0),y.play())}return Ot(()=>{var c;if(e){let p=l.current.querySelectorAll('[data-in="true"]'),b=12,i=(c=o.position)==null?void 0:c.includes("top"),r=0,u=0;Array.from(p).reverse().forEach((h,m)=>{let _=h;_.classList.add("Toastify__toast--stacked"),m>0&&(_.dataset.collapsed=`${n}`),_.dataset.pos||(_.dataset.pos=i?"top":"bot");let k=r*(n?.2:1)+(n?0:b*m);_.style.setProperty("--y",`${i?k:k*-1}px`),_.style.setProperty("--g",`${b}`),_.style.setProperty("--s",`${1-(n?u:0)}`),r+=_.offsetHeight,u+=.025})}},[n,f,e]),uo(()=>{function c(p){var i;let b=l.current;C(p)&&((i=b.querySelector('[tabIndex="0"]'))==null||i.focus(),s(!1),y.pause()),p.key==="Escape"&&(document.activeElement===b||b!=null&&b.contains(document.activeElement))&&(s(!0),y.play())}return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c)}},[C]),ft.createElement("section",{ref:l,className:"Toastify",id:x,onMouseEnter:()=>{e&&(s(!1),y.pause())},onMouseLeave:E,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":o["aria-label"]},a((c,p)=>{let b=p.length?{...g}:{...g,pointerEvents:"none"};return ft.createElement("div",{tabIndex:-1,className:S(c),"data-stacked":e,style:b,key:`c-${c}`},p.map(({content:i,props:r})=>ft.createElement(wt,{...r,stacked:e,collapseAll:E,isIn:d(r.toastId,r.containerId),key:`t-${r.key}`},i)))}))}export{lt as Bounce,po as Flip,W as Icons,co as Slide,Lt as ToastContainer,mo as Zoom,Z as collapseToast,$ as cssTransition,y as toast}; +//# sourceMappingURL=unstyled.mjs.map \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.mjs.map b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.mjs.map new file mode 100644 index 000000000..d481e6fa7 --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/dist/unstyled.mjs.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/utils/propValidator.ts","../src/utils/cssTransition.tsx","../src/utils/collapseToast.ts","../src/utils/mapper.ts","../src/components/CloseButton.tsx","../src/components/ProgressBar.tsx","../src/components/ToastContainer.tsx","../src/core/genToastId.ts","../src/core/containerObserver.ts","../src/core/store.ts","../src/core/toast.ts","../src/hooks/useToastContainer.ts","../src/hooks/useToast.ts","../src/hooks/useIsomorphicLayoutEffect.ts","../src/components/Toast.tsx","../src/components/Icons.tsx","../src/components/Transitions.tsx"],"sourcesContent":["import { isValidElement } from 'react';\nimport { Id } from '../types';\n\nexport const isNum = (v: any): v is Number => typeof v === 'number' && !isNaN(v);\n\nexport const isStr = (v: any): v is String => typeof v === 'string';\n\nexport const isFn = (v: any): v is Function => typeof v === 'function';\n\nexport const isId = (v: unknown): v is Id => isStr(v) || isNum(v);\n\nexport const parseClassName = (v: any) => (isStr(v) || isFn(v) ? v : null);\n\nexport const getAutoCloseDelay = (toastAutoClose?: false | number, containerAutoClose?: false | number) =>\n toastAutoClose === false || (isNum(toastAutoClose) && toastAutoClose > 0) ? toastAutoClose : containerAutoClose;\n\nexport const canBeRendered = (content: T): boolean =>\n isValidElement(content) || isStr(content) || isFn(content) || isNum(content);\n","import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport { collapseToast } from './collapseToast';\nimport { Default } from './constant';\n\nimport { ToastTransitionProps } from '../types';\n\nexport interface CSSTransitionProps {\n /**\n * Css class to apply when toast enter\n */\n enter: string;\n\n /**\n * Css class to apply when toast leave\n */\n exit: string;\n\n /**\n * Append current toast position to the classname.\n * If multiple classes are provided, only the last one will get the position\n * For instance `myclass--top-center`...\n * `Default: false`\n */\n appendPosition?: boolean;\n\n /**\n * Collapse toast smoothly when exit animation end\n * `Default: true`\n */\n collapse?: boolean;\n\n /**\n * Collapse transition duration\n * `Default: 300`\n */\n collapseDuration?: number;\n}\n\nconst enum AnimationStep {\n Enter,\n Exit\n}\n\n/**\n * Css animation that just work.\n * You could use animate.css for instance\n *\n *\n * ```\n * cssTransition({\n * enter: \"animate__animated animate__bounceIn\",\n * exit: \"animate__animated animate__bounceOut\"\n * })\n * ```\n *\n */\nexport function cssTransition({\n enter,\n exit,\n appendPosition = false,\n collapse = true,\n collapseDuration = Default.COLLAPSE_DURATION\n}: CSSTransitionProps) {\n return function ToastTransition({\n children,\n position,\n preventExitTransition,\n done,\n nodeRef,\n isIn,\n playToast\n }: ToastTransitionProps) {\n const enterClassName = appendPosition ? `${enter}--${position}` : enter;\n const exitClassName = appendPosition ? `${exit}--${position}` : exit;\n const animationStep = useRef(AnimationStep.Enter);\n\n useLayoutEffect(() => {\n const node = nodeRef.current!;\n const classToToken = enterClassName.split(' ');\n\n const onEntered = (e: AnimationEvent) => {\n if (e.target !== nodeRef.current) return;\n\n playToast();\n node.removeEventListener('animationend', onEntered);\n node.removeEventListener('animationcancel', onEntered);\n if (animationStep.current === AnimationStep.Enter && e.type !== 'animationcancel') {\n node.classList.remove(...classToToken);\n }\n };\n\n const onEnter = () => {\n node.classList.add(...classToToken);\n node.addEventListener('animationend', onEntered);\n node.addEventListener('animationcancel', onEntered);\n };\n\n onEnter();\n }, []);\n\n useEffect(() => {\n const node = nodeRef.current!;\n\n const onExited = () => {\n node.removeEventListener('animationend', onExited);\n collapse ? collapseToast(node, done, collapseDuration) : done();\n };\n\n const onExit = () => {\n animationStep.current = AnimationStep.Exit;\n node.className += ` ${exitClassName}`;\n node.addEventListener('animationend', onExited);\n };\n\n if (!isIn) preventExitTransition ? onExited() : onExit();\n }, [isIn]);\n\n return <>{children};\n };\n}\n","import { Default } from './constant';\n\n/**\n * Used to collapse toast after exit animation\n */\nexport function collapseToast(node: HTMLElement, done: () => void, duration = Default.COLLAPSE_DURATION) {\n const { scrollHeight, style } = node;\n\n requestAnimationFrame(() => {\n style.minHeight = 'initial';\n style.height = scrollHeight + 'px';\n style.transition = `all ${duration}ms`;\n\n requestAnimationFrame(() => {\n style.height = '0';\n style.padding = '0';\n style.margin = '0';\n setTimeout(done, duration as number);\n });\n });\n}\n","import { Toast, ToastContentProps, ToastItem, ToastItemStatus, ToastProps } from '../types';\nimport { cloneElement, isValidElement, ReactElement } from 'react';\nimport { isFn, isStr } from './propValidator';\n\nexport function toToastItem(toast: Toast, status: ToastItemStatus): ToastItem {\n return {\n content: renderContent(toast.content, toast.props),\n containerId: toast.props.containerId,\n id: toast.props.toastId,\n theme: toast.props.theme,\n type: toast.props.type,\n data: toast.props.data || {},\n isLoading: toast.props.isLoading,\n icon: toast.props.icon,\n reason: toast.removalReason,\n status\n };\n}\n\nexport function renderContent(content: unknown, props: ToastProps, isPaused: boolean = false) {\n if (isValidElement(content) && !isStr(content.type)) {\n return cloneElement(content as ReactElement, {\n closeToast: props.closeToast,\n toastProps: props,\n data: props.data,\n isPaused\n });\n } else if (isFn(content)) {\n return content({\n closeToast: props.closeToast,\n toastProps: props,\n data: props.data,\n isPaused\n });\n }\n\n return content;\n}\n","import React from 'react';\nimport { Default } from '../utils';\nimport { CloseToastFunc, Theme, TypeOptions } from '../types';\n\nexport interface CloseButtonProps {\n closeToast: CloseToastFunc;\n type: TypeOptions;\n ariaLabel?: string;\n theme: Theme;\n}\n\nexport function CloseButton({ closeToast, theme, ariaLabel = 'close' }: CloseButtonProps) {\n return (\n {\n e.stopPropagation();\n closeToast(true);\n }}\n aria-label={ariaLabel}\n >\n \n \n \n \n );\n}\n","import React from 'react';\nimport cx from 'clsx';\n\nimport { Default, isFn, Type } from '../utils';\nimport { Theme, ToastClassName, TypeOptions } from '../types';\n\nexport interface ProgressBarProps {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: number;\n\n /**\n * The animation is running or paused\n */\n isRunning: boolean;\n\n /**\n * Func to close the current toast\n */\n closeToast: () => void;\n\n /**\n * Optional type : info, success ...\n */\n type?: TypeOptions;\n\n /**\n * The theme that is currently used\n */\n theme: Theme;\n\n /**\n * Hide or not the progress bar\n */\n hide?: boolean;\n\n /**\n * Optional className\n */\n className?: ToastClassName;\n\n /**\n * Tell whether a controlled progress bar is used\n */\n controlledProgress?: boolean;\n\n /**\n * Controlled progress value\n */\n progress?: number | string;\n\n /**\n * Support rtl content\n */\n rtl?: boolean;\n\n /**\n * Tell if the component is visible on screen or not\n */\n isIn?: boolean;\n}\n\nexport function ProgressBar({\n delay,\n isRunning,\n closeToast,\n type = Type.DEFAULT,\n hide,\n className,\n controlledProgress,\n progress,\n rtl,\n isIn,\n theme\n}: ProgressBarProps) {\n const isHidden = hide || (controlledProgress && progress === 0);\n const style: React.CSSProperties = {\n animationDuration: `${delay}ms`,\n animationPlayState: isRunning ? 'running' : 'paused'\n };\n\n if (controlledProgress) style.transform = `scaleX(${progress})`;\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__progress-bar`,\n controlledProgress\n ? `${Default.CSS_NAMESPACE}__progress-bar--controlled`\n : `${Default.CSS_NAMESPACE}__progress-bar--animated`,\n `${Default.CSS_NAMESPACE}__progress-bar-theme--${theme}`,\n `${Default.CSS_NAMESPACE}__progress-bar--${type}`,\n {\n [`${Default.CSS_NAMESPACE}__progress-bar--rtl`]: rtl\n }\n );\n const classNames = isFn(className)\n ? className({\n rtl,\n type,\n defaultClassName\n })\n : cx(defaultClassName, className);\n\n // 🧐 controlledProgress is derived from progress\n // so if controlledProgress is set\n // it means that this is also the case for progress\n const animationEvent = {\n [controlledProgress && (progress as number)! >= 1 ? 'onTransitionEnd' : 'onAnimationEnd']:\n controlledProgress && (progress as number)! < 1\n ? null\n : () => {\n isIn && closeToast();\n }\n };\n\n // TODO: add aria-valuenow, aria-valuemax, aria-valuemin\n\n return (\n
\n \n \n
\n );\n}\n","import cx from 'clsx';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { toast } from '../core';\nimport { useToastContainer } from '../hooks';\nimport { useIsomorphicLayoutEffect } from '../hooks/useIsomorphicLayoutEffect';\nimport { ToastContainerProps, ToastPosition } from '../types';\nimport { Default, Direction, isFn, parseClassName } from '../utils';\nimport { Toast } from './Toast';\nimport { Bounce } from './Transitions';\n\nexport const defaultProps: ToastContainerProps = {\n position: 'top-right',\n transition: Bounce,\n autoClose: 5000,\n closeButton: true,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n draggable: 'touch',\n draggablePercent: Default.DRAGGABLE_PERCENT as number,\n draggableDirection: Direction.X,\n role: 'alert',\n theme: 'light',\n 'aria-label': 'Notifications Alt+T',\n hotKeys: e => e.altKey && e.code === 'KeyT'\n};\n\nexport function ToastContainer(props: ToastContainerProps) {\n let containerProps: ToastContainerProps = {\n ...defaultProps,\n ...props\n };\n const stacked = props.stacked;\n const [collapsed, setIsCollapsed] = useState(true);\n const containerRef = useRef(null);\n const { getToastToRender, isToastActive, count } = useToastContainer(containerProps);\n const { className, style, rtl, containerId, hotKeys } = containerProps;\n\n function getClassName(position: ToastPosition) {\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast-container`,\n `${Default.CSS_NAMESPACE}__toast-container--${position}`,\n { [`${Default.CSS_NAMESPACE}__toast-container--rtl`]: rtl }\n );\n return isFn(className)\n ? className({\n position,\n rtl,\n defaultClassName\n })\n : cx(defaultClassName, parseClassName(className));\n }\n\n function collapseAll() {\n if (stacked) {\n setIsCollapsed(true);\n toast.play();\n }\n }\n\n useIsomorphicLayoutEffect(() => {\n if (stacked) {\n const nodes = containerRef.current!.querySelectorAll('[data-in=\"true\"]');\n const gap = 12;\n const isTop = containerProps.position?.includes('top');\n let usedHeight = 0;\n let prevS = 0;\n\n Array.from(nodes)\n .reverse()\n .forEach((n, i) => {\n const node = n as HTMLElement;\n node.classList.add(`${Default.CSS_NAMESPACE}__toast--stacked`);\n\n if (i > 0) node.dataset.collapsed = `${collapsed}`;\n\n if (!node.dataset.pos) node.dataset.pos = isTop ? 'top' : 'bot';\n\n const y = usedHeight * (collapsed ? 0.2 : 1) + (collapsed ? 0 : gap * i);\n\n node.style.setProperty('--y', `${isTop ? y : y * -1}px`);\n node.style.setProperty('--g', `${gap}`);\n node.style.setProperty('--s', `${1 - (collapsed ? prevS : 0)}`);\n\n usedHeight += node.offsetHeight;\n prevS += 0.025;\n });\n }\n }, [collapsed, count, stacked]);\n\n useEffect(() => {\n function focusFirst(e: KeyboardEvent) {\n const node = containerRef.current;\n if (hotKeys(e)) {\n (node.querySelector('[tabIndex=\"0\"]') as HTMLElement)?.focus();\n setIsCollapsed(false);\n toast.pause();\n }\n if (e.key === 'Escape' && (document.activeElement === node || node?.contains(document.activeElement))) {\n setIsCollapsed(true);\n toast.play();\n }\n }\n\n document.addEventListener('keydown', focusFirst);\n\n return () => {\n document.removeEventListener('keydown', focusFirst);\n };\n }, [hotKeys]);\n\n return (\n {\n if (stacked) {\n setIsCollapsed(false);\n toast.pause();\n }\n }}\n onMouseLeave={collapseAll}\n aria-live=\"polite\"\n aria-atomic=\"false\"\n aria-relevant=\"additions text\"\n aria-label={containerProps['aria-label']}\n >\n {getToastToRender((position, toastList) => {\n const containerStyle: React.CSSProperties = !toastList.length\n ? { ...style, pointerEvents: 'none' }\n : { ...style };\n\n return (\n \n {toastList.map(({ content, props: toastProps }) => {\n return (\n \n {content}\n \n );\n })}\n
\n );\n })}\n \n );\n}\n","let TOAST_ID = 1;\n\nexport const genToastId = () => `${TOAST_ID++}`;\n","import {\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n Toast,\n ToastContainerProps,\n ToastContent,\n ToastProps\n} from '../types';\nimport { canBeRendered, getAutoCloseDelay, isNum, parseClassName, toToastItem } from '../utils';\n\ntype Notify = () => void;\n\nexport type ContainerObserver = ReturnType;\n\nexport function createContainerObserver(\n id: Id,\n containerProps: ToastContainerProps,\n dispatchChanges: OnChangeCallback\n) {\n let toastKey = 1;\n let toastCount = 0;\n let queue: Toast[] = [];\n let snapshot: Toast[] = [];\n let props = containerProps;\n const toasts = new Map();\n const listeners = new Set();\n\n const observe = (notify: Notify) => {\n listeners.add(notify);\n return () => listeners.delete(notify);\n };\n\n const notify = () => {\n snapshot = Array.from(toasts.values());\n listeners.forEach(cb => cb());\n };\n\n const shouldIgnoreToast = ({ containerId, toastId, updateId }: NotValidatedToastProps) => {\n const containerMismatch = containerId ? containerId !== id : id !== 1;\n const isDuplicate = toasts.has(toastId) && updateId == null;\n\n return containerMismatch || isDuplicate;\n };\n\n const toggle = (v: boolean, id?: Id) => {\n toasts.forEach(t => {\n if (id == null || id === t.props.toastId) t.toggle?.(v);\n });\n };\n\n const markAsRemoved = (v: Toast) => {\n v.props?.onClose?.(v.removalReason);\n v.isActive = false;\n };\n\n const removeToast = (id?: Id) => {\n if (id == null) {\n toasts.forEach(markAsRemoved);\n } else {\n const t = toasts.get(id);\n if (t) markAsRemoved(t);\n }\n notify();\n };\n\n const clearQueue = () => {\n toastCount -= queue.length;\n queue = [];\n };\n\n const addActiveToast = (toast: Toast) => {\n const { toastId, updateId } = toast.props;\n const isNew = updateId == null;\n\n if (toast.staleId) toasts.delete(toast.staleId);\n toast.isActive = true;\n\n toasts.set(toastId, toast);\n notify();\n dispatchChanges(toToastItem(toast, isNew ? 'added' : 'updated'));\n\n if (isNew) toast.props.onOpen?.();\n };\n\n const buildToast = (content: ToastContent, options: NotValidatedToastProps) => {\n if (shouldIgnoreToast(options)) return;\n\n const { toastId, updateId, data, staleId, delay } = options;\n\n const isNotAnUpdate = updateId == null;\n\n if (isNotAnUpdate) toastCount++;\n\n const toastProps = {\n ...props,\n style: props.toastStyle,\n key: toastKey++,\n ...Object.fromEntries(Object.entries(options).filter(([_, v]) => v != null)),\n toastId,\n updateId,\n data,\n isIn: false,\n className: parseClassName(options.className || props.toastClassName),\n progressClassName: parseClassName(options.progressClassName || props.progressClassName),\n autoClose: options.isLoading ? false : getAutoCloseDelay(options.autoClose, props.autoClose),\n closeToast(reason?: true) {\n toasts.get(toastId)!.removalReason = reason;\n removeToast(toastId);\n },\n deleteToast() {\n const toastToRemove = toasts.get(toastId);\n\n if (toastToRemove == null) return;\n\n dispatchChanges(toToastItem(toastToRemove, 'removed'));\n toasts.delete(toastId);\n\n toastCount--;\n if (toastCount < 0) toastCount = 0;\n\n if (queue.length > 0) {\n addActiveToast(queue.shift());\n return;\n }\n\n notify();\n }\n } as ToastProps;\n\n toastProps.closeButton = props.closeButton;\n\n if (options.closeButton === false || canBeRendered(options.closeButton)) {\n toastProps.closeButton = options.closeButton;\n } else if (options.closeButton === true) {\n toastProps.closeButton = canBeRendered(props.closeButton) ? props.closeButton : true;\n }\n\n const activeToast = {\n content,\n props: toastProps,\n staleId\n } as Toast;\n\n // not handling limit + delay by design. Waiting for user feedback first\n if (props.limit && props.limit > 0 && toastCount > props.limit && isNotAnUpdate) {\n queue.push(activeToast);\n } else if (isNum(delay)) {\n setTimeout(() => {\n addActiveToast(activeToast);\n }, delay);\n } else {\n addActiveToast(activeToast);\n }\n };\n\n return {\n id,\n props,\n observe,\n toggle,\n removeToast,\n toasts,\n clearQueue,\n buildToast,\n setProps(p: ToastContainerProps) {\n props = p;\n },\n setToggle: (id: Id, fn: (v: boolean) => void) => {\n const t = toasts.get(id);\n if (t) t.toggle = fn;\n },\n isToastActive: (id: Id) => toasts.get(id)?.isActive,\n getSnapshot: () => snapshot\n };\n}\n","import {\n ClearWaitingQueueParams,\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContainerProps,\n ToastContent,\n ToastItem,\n ToastOptions\n} from '../types';\nimport { Default, canBeRendered, isId } from '../utils';\nimport { ContainerObserver, createContainerObserver } from './containerObserver';\n\ninterface EnqueuedToast {\n content: ToastContent;\n options: NotValidatedToastProps;\n}\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nconst containers = new Map();\nlet renderQueue: EnqueuedToast[] = [];\nconst listeners = new Set();\n\nconst dispatchChanges = (data: ToastItem) => listeners.forEach(cb => cb(data));\n\nconst hasContainers = () => containers.size > 0;\n\nfunction flushRenderQueue() {\n renderQueue.forEach(v => pushToast(v.content, v.options));\n renderQueue = [];\n}\n\nexport const getToast = (id: Id, { containerId }: ToastOptions) =>\n containers.get(containerId || Default.CONTAINER_ID)?.toasts.get(id);\n\nexport function isToastActive(id: Id, containerId?: Id) {\n if (containerId) return !!containers.get(containerId)?.isToastActive(id);\n\n let isActive = false;\n containers.forEach(c => {\n if (c.isToastActive(id)) isActive = true;\n });\n\n return isActive;\n}\n\nexport function removeToast(params?: Id | RemoveParams) {\n if (!hasContainers()) {\n renderQueue = renderQueue.filter(v => params != null && v.options.toastId !== params);\n return;\n }\n\n if (params == null || isId(params)) {\n containers.forEach(c => {\n c.removeToast(params as Id);\n });\n } else if (params && ('containerId' in params || 'id' in params)) {\n const container = containers.get(params.containerId);\n container\n ? container.removeToast(params.id)\n : containers.forEach(c => {\n c.removeToast(params.id);\n });\n }\n}\n\nexport const clearWaitingQueue = (p: ClearWaitingQueueParams = {}) => {\n containers.forEach(c => {\n if (c.props.limit && (!p.containerId || c.id === p.containerId)) {\n c.clearQueue();\n }\n });\n};\n\nexport function pushToast(content: ToastContent, options: NotValidatedToastProps) {\n if (!canBeRendered(content)) return;\n if (!hasContainers()) renderQueue.push({ content, options });\n\n containers.forEach(c => {\n c.buildToast(content, options);\n });\n}\n\ninterface ToggleToastParams {\n id?: Id;\n containerId?: Id;\n}\n\ntype RegisterToggleOpts = {\n id: Id;\n containerId?: Id;\n fn: (v: boolean) => void;\n};\n\nexport function registerToggle(opts: RegisterToggleOpts) {\n containers.get(opts.containerId || Default.CONTAINER_ID)?.setToggle(opts.id, opts.fn);\n}\n\nexport function toggleToast(v: boolean, opt?: ToggleToastParams) {\n containers.forEach(c => {\n if (opt == null || !opt?.containerId) {\n c.toggle(v, opt?.id);\n } else if (opt?.containerId === c.id) {\n c.toggle(v, opt?.id);\n }\n });\n}\n\nexport function registerContainer(props: ToastContainerProps) {\n const id = props.containerId || Default.CONTAINER_ID;\n return {\n subscribe(notify: () => void) {\n const container = createContainerObserver(id, props, dispatchChanges);\n\n containers.set(id, container);\n const unobserve = container.observe(notify);\n flushRenderQueue();\n\n return () => {\n unobserve();\n containers.delete(id);\n };\n },\n setProps(p: ToastContainerProps) {\n containers.get(id)?.setProps(p);\n },\n getSnapshot() {\n return containers.get(id)?.getSnapshot();\n }\n };\n}\n\nexport function onChange(cb: OnChangeCallback) {\n listeners.add(cb);\n\n return () => {\n listeners.delete(cb);\n };\n}\n","import {\n ClearWaitingQueueFunc,\n Id,\n IdOpts,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContent,\n ToastOptions,\n ToastProps,\n TypeOptions,\n UpdateOptions\n} from '../types';\nimport { isFn, isNum, isStr, Type } from '../utils';\nimport { genToastId } from './genToastId';\nimport { clearWaitingQueue, getToast, isToastActive, onChange, pushToast, removeToast, toggleToast } from './store';\n\n/**\n * Generate a toastId or use the one provided\n */\nfunction getToastId(options?: ToastOptions) {\n return options && (isStr(options.toastId) || isNum(options.toastId)) ? options.toastId : genToastId();\n}\n\n/**\n * If the container is not mounted, the toast is enqueued\n */\nfunction dispatchToast(content: ToastContent, options: NotValidatedToastProps): Id {\n pushToast(content, options);\n return options.toastId;\n}\n\n/**\n * Merge provided options with the defaults settings and generate the toastId\n */\nfunction mergeOptions(type: string, options?: ToastOptions) {\n return {\n ...options,\n type: (options && options.type) || type,\n toastId: getToastId(options)\n } as NotValidatedToastProps;\n}\n\nfunction createToastByType(type: string) {\n return (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(type, options));\n}\n\nfunction toast(content: ToastContent, options?: ToastOptions) {\n return dispatchToast(content, mergeOptions(Type.DEFAULT, options));\n}\n\ntoast.loading = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n isLoading: true,\n autoClose: false,\n closeOnClick: false,\n closeButton: false,\n draggable: false,\n ...options\n })\n );\n\nexport interface ToastPromiseParams {\n pending?: string | UpdateOptions;\n success?: string | UpdateOptions;\n error?: string | UpdateOptions;\n}\n\nfunction handlePromise(\n promise: Promise | (() => Promise),\n { pending, error, success }: ToastPromiseParams,\n options?: ToastOptions\n) {\n let id: Id;\n\n if (pending) {\n id = isStr(pending)\n ? toast.loading(pending, options)\n : toast.loading(pending.render, {\n ...options,\n ...(pending as ToastOptions)\n } as ToastOptions);\n }\n\n const resetParams = {\n isLoading: null,\n autoClose: null,\n closeOnClick: null,\n closeButton: null,\n draggable: null\n };\n\n const resolver = (type: TypeOptions, input: string | UpdateOptions | undefined, result: T) => {\n // Remove the toast if the input has not been provided. This prevents the toast from hanging\n // in the pending state if a success/error toast has not been provided.\n if (input == null) {\n toast.dismiss(id);\n return;\n }\n\n const baseParams = {\n type,\n ...resetParams,\n ...options,\n data: result\n };\n const params = isStr(input) ? { render: input } : input;\n\n // if the id is set we know that it's an update\n if (id) {\n toast.update(id, {\n ...baseParams,\n ...params\n } as UpdateOptions);\n } else {\n // using toast.promise without loading\n toast(params!.render, {\n ...baseParams,\n ...params\n } as ToastOptions);\n }\n\n return result;\n };\n\n const p = isFn(promise) ? promise() : promise;\n\n //call the resolvers only when needed\n p.then(result => resolver('success', success, result)).catch(err => resolver('error', error, err));\n\n return p;\n}\n\n/**\n * Supply a promise or a function that return a promise and the notification will be updated if it resolves or fails.\n * When the promise is pending a spinner is displayed by default.\n * `toast.promise` returns the provided promise so you can chain it.\n *\n * Simple example:\n *\n * ```\n * toast.promise(MyPromise,\n * {\n * pending: 'Promise is pending',\n * success: 'Promise resolved 👌',\n * error: 'Promise rejected 🤯'\n * }\n * )\n *\n * ```\n *\n * Advanced usage:\n * ```\n * toast.promise<{name: string}, {message: string}, undefined>(\n * resolveWithSomeData,\n * {\n * pending: {\n * render: () => \"I'm loading\",\n * icon: false,\n * },\n * success: {\n * render: ({data}) => `Hello ${data.name}`,\n * icon: \"🟢\",\n * },\n * error: {\n * render({data}){\n * // When the promise reject, data will contains the error\n * return \n * }\n * }\n * }\n * )\n * ```\n */\ntoast.promise = handlePromise;\ntoast.success = createToastByType(Type.SUCCESS);\ntoast.info = createToastByType(Type.INFO);\ntoast.error = createToastByType(Type.ERROR);\ntoast.warning = createToastByType(Type.WARNING);\ntoast.warn = toast.warning;\ntoast.dark = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n theme: 'dark',\n ...options\n })\n );\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nfunction dismiss(params: RemoveParams): void;\nfunction dismiss(params?: Id): void;\nfunction dismiss(params?: Id | RemoveParams) {\n removeToast(params);\n}\n\n/**\n * Remove toast programmatically\n *\n * - Remove all toasts:\n * ```\n * toast.dismiss()\n * ```\n *\n * - Remove all toasts that belongs to a given container\n * ```\n * toast.dismiss({ container: \"123\" })\n * ```\n *\n * - Remove toast that has a given id regardless the container\n * ```\n * toast.dismiss({ id: \"123\" })\n * ```\n *\n * - Remove toast that has a given id for a specific container\n * ```\n * toast.dismiss({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.dismiss = dismiss;\n\n/**\n * Clear waiting queue when limit is used\n */\ntoast.clearWaitingQueue = clearWaitingQueue as ClearWaitingQueueFunc;\n\n/**\n * Check if a toast is active\n *\n * - Check regardless the container\n * ```\n * toast.isActive(\"123\")\n * ```\n *\n * - Check in a specific container\n * ```\n * toast.isActive(\"123\", \"containerId\")\n * ```\n */\ntoast.isActive = isToastActive;\n\n/**\n * Update a toast, see https://fkhadra.github.io/react-toastify/update-toast/ for more\n *\n * Example:\n * ```\n * // With a string\n * toast.update(toastId, {\n * render: \"New content\",\n * type: \"info\",\n * });\n *\n * // Or with a component\n * toast.update(toastId, {\n * render: MyComponent\n * });\n *\n * // Or a function\n * toast.update(toastId, {\n * render: () =>
New content
\n * });\n *\n * // Apply a transition\n * toast.update(toastId, {\n * render: \"New Content\",\n * type: toast.TYPE.INFO,\n * transition: Rotate\n * })\n * ```\n */\ntoast.update = (toastId: Id, options: UpdateOptions = {}) => {\n const toast = getToast(toastId, options as ToastOptions);\n\n if (toast) {\n const { props: oldOptions, content: oldContent } = toast;\n\n const nextOptions = {\n delay: 100,\n ...oldOptions,\n ...options,\n toastId: options.toastId || toastId,\n updateId: genToastId()\n } as ToastProps & UpdateOptions;\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n\n const content = nextOptions.render || oldContent;\n delete nextOptions.render;\n\n dispatchToast(content, nextOptions);\n }\n};\n\n/**\n * Used for controlled progress bar. It will automatically close the notification.\n *\n * If you don't want your notification to be clsoed when the timer is done you should use `toast.update` instead as follow instead:\n *\n * ```\n * toast.update(id, {\n * progress: null, // remove controlled progress bar\n * render: \"ok\",\n * type: \"success\",\n * autoClose: 5000 // set autoClose to the desired value\n * });\n * ```\n */\ntoast.done = (id: Id) => {\n toast.update(id, {\n progress: 1\n });\n};\n\n/**\n * Subscribe to change when a toast is added, removed and updated\n *\n * Usage:\n * ```\n * const unsubscribe = toast.onChange((payload) => {\n * switch (payload.status) {\n * case \"added\":\n * // new toast added\n * break;\n * case \"updated\":\n * // toast updated\n * break;\n * case \"removed\":\n * // toast has been removed\n * break;\n * }\n * })\n * ```\n */\ntoast.onChange = onChange as (cb: OnChangeCallback) => () => void;\n\n/**\n * Play a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Play all toasts\n * ```\n * toast.play()\n * ```\n *\n * - Play all toasts for a given container\n * ```\n * toast.play({ containerId: \"123\" })\n * ```\n *\n * - Play toast that has a given id regardless the container\n * ```\n * toast.play({ id: \"123\" })\n * ```\n *\n * - Play toast that has a given id for a specific container\n * ```\n * toast.play({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.play = (opts?: IdOpts) => toggleToast(true, opts);\n\n/**\n * Pause a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Pause all toasts\n * ```\n * toast.pause()\n * ```\n *\n * - Pause all toasts for a given container\n * ```\n * toast.pause({ containerId: \"123\" })\n * ```\n *\n * - Pause toast that has a given id regardless the container\n * ```\n * toast.pause({ id: \"123\" })\n * ```\n *\n * - Pause toast that has a given id for a specific container\n * ```\n * toast.pause({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.pause = (opts?: IdOpts) => toggleToast(false, opts);\n\nexport { toast };\n","import { useRef, useSyncExternalStore } from 'react';\nimport { isToastActive, registerContainer } from '../core/store';\nimport { Toast, ToastContainerProps, ToastPosition } from '../types';\n\nexport function useToastContainer(props: ToastContainerProps) {\n const { subscribe, getSnapshot, setProps } = useRef(registerContainer(props)).current;\n setProps(props);\n const snapshot = useSyncExternalStore(subscribe, getSnapshot, getSnapshot)?.slice();\n\n function getToastToRender(cb: (position: ToastPosition, toastList: Toast[]) => T) {\n if (!snapshot) return [];\n\n const toRender = new Map();\n\n if (props.newestOnTop) snapshot.reverse();\n\n snapshot.forEach(toast => {\n const { position } = toast.props;\n toRender.has(position) || toRender.set(position, []);\n toRender.get(position)!.push(toast);\n });\n\n return Array.from(toRender, p => cb(p[0], p[1]));\n }\n\n return {\n getToastToRender,\n isToastActive,\n count: snapshot?.length\n };\n}\n","import { DOMAttributes, useEffect, useRef, useState } from 'react';\n\nimport { ToastProps } from '../types';\nimport { Default, Direction } from '../utils';\nimport { registerToggle } from '../core/store';\n\ninterface Draggable {\n start: number;\n delta: number;\n removalDistance: number;\n canCloseOnClick: boolean;\n canDrag: boolean;\n didMove: boolean;\n}\n\nexport function useToast(props: ToastProps) {\n const [isRunning, setIsRunning] = useState(false);\n const [preventExitTransition, setPreventExitTransition] = useState(false);\n const toastRef = useRef(null);\n const drag = useRef({\n start: 0,\n delta: 0,\n removalDistance: 0,\n canCloseOnClick: true,\n canDrag: false,\n didMove: false\n }).current;\n const { autoClose, pauseOnHover, closeToast, onClick, closeOnClick } = props;\n\n registerToggle({\n id: props.toastId,\n containerId: props.containerId,\n fn: setIsRunning\n });\n\n useEffect(() => {\n if (props.pauseOnFocusLoss) {\n bindFocusEvents();\n\n return () => {\n unbindFocusEvents();\n };\n }\n }, [props.pauseOnFocusLoss]);\n\n function bindFocusEvents() {\n if (!document.hasFocus()) pauseToast();\n\n window.addEventListener('focus', playToast);\n window.addEventListener('blur', pauseToast);\n }\n\n function unbindFocusEvents() {\n window.removeEventListener('focus', playToast);\n window.removeEventListener('blur', pauseToast);\n }\n\n function onDragStart(e: React.PointerEvent) {\n if (props.draggable === true || props.draggable === e.pointerType) {\n bindDragEvents();\n const toast = toastRef.current!;\n drag.canCloseOnClick = true;\n drag.canDrag = true;\n toast.style.transition = 'none';\n\n if (props.draggableDirection === Direction.X) {\n drag.start = e.clientX;\n drag.removalDistance = toast.offsetWidth * (props.draggablePercent / 100);\n } else {\n drag.start = e.clientY;\n drag.removalDistance =\n (toast.offsetHeight *\n (props.draggablePercent === Default.DRAGGABLE_PERCENT\n ? props.draggablePercent * 1.5\n : props.draggablePercent)) /\n 100;\n }\n }\n }\n\n function onDragTransitionEnd(e: React.PointerEvent) {\n const { top, bottom, left, right } = toastRef.current!.getBoundingClientRect();\n\n if (\n e.nativeEvent.type !== 'touchend' &&\n props.pauseOnHover &&\n e.clientX >= left &&\n e.clientX <= right &&\n e.clientY >= top &&\n e.clientY <= bottom\n ) {\n pauseToast();\n } else {\n playToast();\n }\n }\n\n function playToast() {\n setIsRunning(true);\n }\n\n function pauseToast() {\n setIsRunning(false);\n }\n\n function bindDragEvents() {\n drag.didMove = false;\n document.addEventListener('pointermove', onDragMove);\n document.addEventListener('pointerup', onDragEnd);\n }\n\n function unbindDragEvents() {\n document.removeEventListener('pointermove', onDragMove);\n document.removeEventListener('pointerup', onDragEnd);\n }\n\n function onDragMove(e: PointerEvent) {\n const toast = toastRef.current!;\n if (drag.canDrag && toast) {\n drag.didMove = true;\n if (isRunning) pauseToast();\n if (props.draggableDirection === Direction.X) {\n drag.delta = e.clientX - drag.start;\n } else {\n drag.delta = e.clientY - drag.start;\n }\n\n // prevent false positive during a toast click\n if (drag.start !== e.clientX) drag.canCloseOnClick = false;\n const translate =\n props.draggableDirection === 'x' ? `${drag.delta}px, var(--y)` : `0, calc(${drag.delta}px + var(--y))`;\n toast.style.transform = `translate3d(${translate},0)`;\n toast.style.opacity = `${1 - Math.abs(drag.delta / drag.removalDistance)}`;\n }\n }\n\n function onDragEnd() {\n unbindDragEvents();\n const toast = toastRef.current!;\n if (drag.canDrag && drag.didMove && toast) {\n drag.canDrag = false;\n if (Math.abs(drag.delta) > drag.removalDistance) {\n setPreventExitTransition(true);\n props.closeToast(true);\n props.collapseAll();\n return;\n }\n\n toast.style.transition = 'transform 0.2s, opacity 0.2s';\n toast.style.removeProperty('transform');\n toast.style.removeProperty('opacity');\n }\n }\n\n const eventHandlers: DOMAttributes = {\n onPointerDown: onDragStart,\n onPointerUp: onDragTransitionEnd\n };\n\n if (autoClose && pauseOnHover) {\n eventHandlers.onMouseEnter = pauseToast;\n\n // progress control is delegated to the container\n if (!props.stacked) eventHandlers.onMouseLeave = playToast;\n }\n\n // prevent toast from closing when user drags the toast\n if (closeOnClick) {\n eventHandlers.onClick = (e: React.MouseEvent) => {\n onClick && onClick(e);\n drag.canCloseOnClick && closeToast(true);\n };\n }\n\n return {\n playToast,\n pauseToast,\n isRunning,\n preventExitTransition,\n toastRef,\n eventHandlers\n };\n}\n","import { useEffect, useLayoutEffect } from 'react';\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n","import cx from 'clsx';\nimport React, { cloneElement, isValidElement } from 'react';\n\nimport { useToast } from '../hooks/useToast';\nimport { ToastProps } from '../types';\nimport { Default, isFn, renderContent } from '../utils';\nimport { CloseButton } from './CloseButton';\nimport { ProgressBar } from './ProgressBar';\nimport { getIcon } from './Icons';\n\nexport const Toast: React.FC = props => {\n const { isRunning, preventExitTransition, toastRef, eventHandlers, playToast } = useToast(props);\n const {\n closeButton,\n children,\n autoClose,\n onClick,\n type,\n hideProgressBar,\n closeToast,\n transition: Transition,\n position,\n className,\n style,\n progressClassName,\n updateId,\n role,\n progress,\n rtl,\n toastId,\n deleteToast,\n isIn,\n isLoading,\n closeOnClick,\n theme,\n ariaLabel\n } = props;\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast`,\n `${Default.CSS_NAMESPACE}__toast-theme--${theme}`,\n `${Default.CSS_NAMESPACE}__toast--${type}`,\n {\n [`${Default.CSS_NAMESPACE}__toast--rtl`]: rtl\n },\n {\n [`${Default.CSS_NAMESPACE}__toast--close-on-click`]: closeOnClick\n }\n );\n const cssClasses = isFn(className)\n ? className({\n rtl,\n position,\n type,\n defaultClassName\n })\n : cx(defaultClassName, className);\n const icon = getIcon(props);\n const isProgressControlled = !!progress || !autoClose;\n\n const closeButtonProps = { closeToast, type, theme };\n let Close: React.ReactNode = null;\n\n if (closeButton === false) {\n // hide\n } else if (isFn(closeButton)) {\n Close = closeButton(closeButtonProps);\n } else if (isValidElement(closeButton)) {\n Close = cloneElement(closeButton, closeButtonProps);\n } else {\n Close = CloseButton(closeButtonProps);\n }\n\n return (\n \n \n {icon != null && (\n \n {icon}\n \n )}\n {renderContent(children, props, !isRunning)}\n {Close}\n {!props.customProgressBar && (\n \n )}\n \n \n );\n};\n","import React, { cloneElement, isValidElement } from 'react';\n\nimport { Theme, ToastProps, TypeOptions } from '../types';\nimport { Default, isFn } from '../utils';\n\n/**\n * Used when providing custom icon\n */\nexport interface IconProps {\n theme: Theme;\n type: TypeOptions;\n isLoading?: boolean;\n}\n\nexport type BuiltInIconProps = React.SVGProps & IconProps;\n\nconst Svg: React.FC = ({ theme, type, isLoading, ...rest }) => (\n \n);\n\nfunction Warning(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Info(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Success(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Error(props: BuiltInIconProps) {\n return (\n \n \n \n );\n}\n\nfunction Spinner() {\n return
;\n}\n\nexport const Icons = {\n info: Info,\n warning: Warning,\n success: Success,\n error: Error,\n spinner: Spinner\n};\n\nconst maybeIcon = (type: string): type is keyof typeof Icons => type in Icons;\n\nexport type IconParams = Pick;\n\nexport function getIcon({ theme, type, isLoading, icon }: IconParams) {\n let Icon: React.ReactNode = null;\n const iconProps = { theme, type };\n\n if (icon === false) {\n // hide\n } else if (isFn(icon)) {\n Icon = icon({ ...iconProps, isLoading });\n } else if (isValidElement(icon)) {\n Icon = cloneElement(icon, iconProps);\n } else if (isLoading) {\n Icon = Icons.spinner();\n } else if (maybeIcon(type)) {\n Icon = Icons[type](iconProps);\n }\n\n return Icon;\n}\n","import { cssTransition, Default } from '../utils';\n\nconst getConfig = (animationName: string, appendPosition = false) => ({\n enter: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-enter`,\n exit: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-exit`,\n appendPosition\n});\n\nconst Bounce = cssTransition(getConfig('bounce', true));\n\nconst Slide = cssTransition(getConfig('slide', true));\n\nconst Zoom = cssTransition(getConfig('zoom'));\n\nconst Flip = cssTransition(getConfig('flip'));\n\nexport { Bounce, Slide, Zoom, Flip };\n"],"mappings":"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","names":["isValidElement","isNum","v","isStr","isFn","isId","parseClassName","getAutoCloseDelay","toastAutoClose","containerAutoClose","canBeRendered","content","React","useEffect","useLayoutEffect","useRef","collapseToast","node","done","duration","scrollHeight","style","cssTransition","enter","exit","appendPosition","collapse","collapseDuration","children","position","preventExitTransition","done","nodeRef","isIn","playToast","enterClassName","exitClassName","animationStep","useRef","useLayoutEffect","node","classToToken","onEntered","e","useEffect","onExited","collapseToast","React","cloneElement","isValidElement","toToastItem","toast","status","renderContent","content","props","isPaused","isValidElement","isStr","cloneElement","isFn","React","CloseButton","closeToast","theme","ariaLabel","React","e","React","cx","ProgressBar","delay","isRunning","closeToast","type","hide","className","controlledProgress","progress","rtl","isIn","theme","isHidden","style","defaultClassName","cx","classNames","isFn","animationEvent","React","cx","React","useEffect","useRef","useState","TOAST_ID","genToastId","createContainerObserver","id","containerProps","dispatchChanges","toastKey","toastCount","queue","snapshot","props","toasts","listeners","observe","notify","cb","shouldIgnoreToast","containerId","toastId","updateId","containerMismatch","isDuplicate","toggle","v","t","_a","markAsRemoved","_b","removeToast","clearQueue","addActiveToast","toast","isNew","toToastItem","content","options","data","staleId","delay","isNotAnUpdate","toastProps","_","parseClassName","getAutoCloseDelay","reason","toastToRemove","canBeRendered","activeToast","isNum","p","fn","containers","renderQueue","listeners","dispatchChanges","data","cb","hasContainers","flushRenderQueue","v","pushToast","getToast","id","containerId","_a","isToastActive","isActive","c","removeToast","params","isId","container","clearWaitingQueue","p","content","options","canBeRendered","registerToggle","opts","toggleToast","opt","registerContainer","props","notify","createContainerObserver","unobserve","onChange","getToastId","options","isStr","isNum","genToastId","dispatchToast","content","pushToast","mergeOptions","type","createToastByType","toast","handlePromise","promise","pending","error","success","id","resetParams","resolver","input","result","baseParams","params","p","isFn","err","dismiss","removeToast","clearWaitingQueue","isToastActive","toastId","getToast","oldOptions","oldContent","nextOptions","onChange","opts","toggleToast","useRef","useSyncExternalStore","useToastContainer","props","_a","subscribe","getSnapshot","setProps","useRef","registerContainer","snapshot","useSyncExternalStore","getToastToRender","cb","toRender","toast","position","p","isToastActive","useEffect","useRef","useState","useToast","props","isRunning","setIsRunning","useState","preventExitTransition","setPreventExitTransition","toastRef","useRef","drag","autoClose","pauseOnHover","closeToast","onClick","closeOnClick","registerToggle","useEffect","bindFocusEvents","unbindFocusEvents","pauseToast","playToast","onDragStart","e","bindDragEvents","toast","onDragTransitionEnd","top","bottom","left","right","onDragMove","onDragEnd","unbindDragEvents","translate","eventHandlers","useEffect","useLayoutEffect","useIsomorphicLayoutEffect","cx","React","cloneElement","isValidElement","React","cloneElement","isValidElement","Svg","theme","type","isLoading","rest","React","Warning","props","Info","Success","Error","Spinner","Icons","maybeIcon","getIcon","icon","Icon","iconProps","isFn","isValidElement","cloneElement","Toast","props","isRunning","preventExitTransition","toastRef","eventHandlers","playToast","useToast","closeButton","children","autoClose","onClick","type","hideProgressBar","closeToast","Transition","position","className","style","progressClassName","updateId","role","progress","rtl","toastId","deleteToast","isIn","isLoading","closeOnClick","theme","ariaLabel","defaultClassName","cx","cssClasses","isFn","icon","getIcon","isProgressControlled","closeButtonProps","Close","isValidElement","cloneElement","CloseButton","React","renderContent","ProgressBar","getConfig","animationName","appendPosition","Bounce","cssTransition","Slide","Zoom","Flip","defaultProps","Bounce","e","ToastContainer","props","containerProps","stacked","collapsed","setIsCollapsed","useState","containerRef","useRef","getToastToRender","isToastActive","count","useToastContainer","className","style","rtl","containerId","hotKeys","getClassName","position","defaultClassName","cx","isFn","parseClassName","collapseAll","toast","useIsomorphicLayoutEffect","_a","nodes","gap","isTop","usedHeight","prevS","n","i","node","y","useEffect","focusFirst","React","toastList","containerStyle","content","toastProps","Toast"]} \ No newline at end of file diff --git a/MEDICONNECTv3 - cópia/node_modules/react-toastify/package.json b/MEDICONNECTv3 - cópia/node_modules/react-toastify/package.json new file mode 100644 index 000000000..a7c682f7d --- /dev/null +++ b/MEDICONNECTv3 - cópia/node_modules/react-toastify/package.json @@ -0,0 +1,107 @@ +{ + "version": "11.0.5", + "license": "MIT", + "description": "React notification made easy", + "keywords": [ + "react", + "notification", + "toast", + "react-component", + "react-toastify", + "push", + "alert", + "snackbar", + "message" + ], + "files": [ + "dist", + "addons" + ], + "scripts": { + "prepare": "lefthook install", + "setup": "pnpm link .", + "start": "cd playground && pnpm dev", + "test": "cypress open --component", + "test:run": "cypress run --component -b chrome", + "prettier": "prettier --write src", + "build": "tsup && cp src/style.css dist/ReactToastify.css && rm dist/unstyled.css*" + }, + "peerDependencies": { + "react": "^18 || ^19", + "react-dom": "^18 || ^19" + }, + "prettier": { + "printWidth": 120, + "semi": true, + "singleQuote": true, + "trailingComma": "none", + "arrowParens": "avoid" + }, + "name": "react-toastify", + "repository": { + "type": "git", + "url": "git+https://github.com/fkhadra/react-toastify.git" + }, + "author": "Fadi Khadra (https://fkhadra.github.io)", + "bugs": { + "url": "https://github.com/fkhadra/react-toastify/issues" + }, + "homepage": "https://github.com/fkhadra/react-toastify#readme", + "devDependencies": { + "@4tw/cypress-drag-drop": "^2.2.5", + "@cypress/code-coverage": "^3.13.9", + "@istanbuljs/nyc-config-typescript": "^1.0.2", + "@testing-library/cypress": "^10.0.2", + "@types/node": "^22.10.2", + "@types/react": "^19.0.1", + "@types/react-dom": "^19.0.2", + "@vitejs/plugin-react": "^4.3.4", + "coveralls": "^3.1.1", + "cypress": "^13.16.1", + "lefthook": "^1.9.2", + "lint-staged": "^15.2.11", + "postcss": "^8.4.49", + "prettier": "3.4.2", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tsup": "^8.3.5", + "typescript": "^5.7.2", + "vite": "^6.0.3", + "vite-plugin-istanbul": "^6.0.2" + }, + "dependencies": { + "clsx": "^2.1.1" + }, + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "module": "dist/index.mjs", + "source": "src/index.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.js" + }, + "./unstyled": { + "types": "./dist/unstyled.d.ts", + "import": "./dist/unstyled.mjs", + "require": "./dist/unstyled.js" + }, + "./dist/ReactToastify.css": "./dist/ReactToastify.css", + "./ReactToastify.css": "./dist/ReactToastify.css", + "./package.json": "./package.json", + "./addons/use-notification-center": { + "types": "./addons/use-notification-center/index.d.ts", + "import": "./addons/use-notification-center/index.mjs", + "require": "./addons/use-notification-center/index.js" + }, + "./notification-center": { + "types": "./addons/use-notification-center/index.d.ts", + "import": "./addons/use-notification-center/index.mjs", + "require": "./addons/use-notification-center/index.js" + } + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,md,html,css}": "prettier --write" + } +} diff --git a/MEDICONNECTv3 - cópia/package-lock.json b/MEDICONNECTv3 - cópia/package-lock.json index 7cc93dcc3..aae6063ba 100644 --- a/MEDICONNECTv3 - cópia/package-lock.json +++ b/MEDICONNECTv3 - cópia/package-lock.json @@ -15,7 +15,8 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-hot-toast": "^2.4.1", - "react-router-dom": "^6.26.0" + "react-router-dom": "^6.26.0", + "react-toastify": "^11.0.5" }, "devDependencies": { "@eslint/js": "^9.9.1", @@ -2256,6 +2257,15 @@ "node": ">= 6" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3858,6 +3868,19 @@ "react-dom": ">=16.8" } }, + "node_modules/react-toastify": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", + "integrity": "sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA==", + "license": "MIT", + "dependencies": { + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": "^18 || ^19", + "react-dom": "^18 || ^19" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", diff --git a/MEDICONNECTv3 - cópia/package.json b/MEDICONNECTv3 - cópia/package.json index d6b6aabad..09883f2bb 100644 --- a/MEDICONNECTv3 - cópia/package.json +++ b/MEDICONNECTv3 - cópia/package.json @@ -10,14 +10,15 @@ "preview": "vite preview" }, "dependencies": { + "@lumi.new/sdk": "^0.1.5", + "@vitejs/plugin-react-swc": "^4.0.1", + "date-fns": "^2.30.0", + "lucide-react": "^0.540.0", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router-dom": "^6.26.0", "react-hot-toast": "^2.4.1", - "lucide-react": "^0.540.0", - "date-fns": "^2.30.0", - "@lumi.new/sdk": "^0.1.5", - "@vitejs/plugin-react-swc": "^4.0.1" + "react-router-dom": "^6.26.0", + "react-toastify": "^11.0.5" }, "devDependencies": { "@eslint/js": "^9.9.1", @@ -35,4 +36,4 @@ "typescript-eslint": "^8.3.0", "vite": "^5.4.2" } -} \ No newline at end of file +} diff --git a/MEDICONNECTv3 - cópia/src/main.tsx b/MEDICONNECTv3 - cópia/src/main.tsx index ad031e63d..b4e417b18 100644 --- a/MEDICONNECTv3 - cópia/src/main.tsx +++ b/MEDICONNECTv3 - cópia/src/main.tsx @@ -1,11 +1,11 @@ +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import "./index.css"; +import App from "./App.tsx"; +import "react-toastify/dist/ReactToastify.css"; -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' -import './index.css' -import App from './App.tsx' - -createRoot(document.getElementById('root')!).render( +createRoot(document.getElementById("root")!).render( - , -) + +); diff --git a/MEDICONNECTv3 - cópia/src/pages/PainelSecretaria.tsx b/MEDICONNECTv3 - cópia/src/pages/PainelSecretaria.tsx index 60dc53021..e42d40fe8 100644 --- a/MEDICONNECTv3 - cópia/src/pages/PainelSecretaria.tsx +++ b/MEDICONNECTv3 - cópia/src/pages/PainelSecretaria.tsx @@ -1,180 +1,235 @@ - -import React, { useState, useEffect } from 'react' -import {Users, Calendar, FileText, Activity, Plus, Search, Filter, X, UserPlus} from 'lucide-react' -import toast from 'react-hot-toast' -import { useNavigate } from 'react-router-dom' - +import React, { useState, useEffect } from "react"; +import { + Users, + Calendar, + FileText, + Activity, + Plus, + Search, + Filter, + X, + UserPlus, +} from "lucide-react"; +import toast from "react-hot-toast"; +import { useNavigate } from "react-router-dom"; interface Paciente { - _id: string - nome: string - email: string - telefone: string - dataNascimento: string - altura?: number - peso?: number + _id: string; + nome: string; + email: string; + telefone: string; + dataNascimento: string; + altura?: number; + peso?: number; endereco?: { - rua?: string - numero?: string - bairro?: string - cidade?: string - cep?: string - } - cpf?: string - convenio?: string - numeroCarteirinha?: string - observacoes?: string + rua?: string; + numero?: string; + bairro?: string; + cidade?: string; + cep?: string; + }; + cpf?: string; + convenio?: string; + numeroCarteirinha?: string; + observacoes?: string; } interface Medico { - _id: string - nome: string - especialidade: string - crm: string - telefone: string - email: string - senha?: string + _id: string; + nome: string; + especialidade: string; + crm: string; + telefone: string; + email: string; + senha?: string; } interface Consulta { - _id: string - paciente_id: string - medico_id: string - dataHora: string - tipo: string - status: string - observacoes?: string - pacienteNome?: string - medicoNome?: string + _id: string; + paciente_id: string; + medico_id: string; + dataHora: string; + tipo: string; + status: string; + observacoes?: string; + pacienteNome?: string; + medicoNome?: string; } const PainelSecretaria: React.FC = () => { - const [activeTab, setActiveTab] = useState('dashboard') - const [pacientes, setPacientes] = useState([]) - const [medicos, setMedicos] = useState([]) - const [consultas, setConsultas] = useState([]) - const [loading, setLoading] = useState(true) - const [searchTerm, setSearchTerm] = useState('') - const [showNovoPacienteForm, setShowNovoPacienteForm] = useState(false) - const [editandoPaciente, setEditandoPaciente] = useState(null) -const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false) - const [showNovoMedicoForm, setShowNovoMedicoForm] = useState(false) - const navigate = useNavigate() + const [activeTab, setActiveTab] = useState("dashboard"); + const [pacientes, setPacientes] = useState([]); + const [medicos, setMedicos] = useState([]); + const [consultas, setConsultas] = useState([]); + const [loading, setLoading] = useState(true); + const [searchTerm, setSearchTerm] = useState(""); + const [showNovoPacienteForm, setShowNovoPacienteForm] = useState(false); + const [editandoPaciente, setEditandoPaciente] = useState( + null + ); + const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false); + const [showNovoMedicoForm, setShowNovoMedicoForm] = useState(false); + const navigate = useNavigate(); // Estado do formulário de novo paciente const [formDataPaciente, setFormDataPaciente] = useState({ - nome: '', - cpf: '', - telefone: '', - email: '', - dataNascimento: '', - altura: '', - peso: '', + nome: "", + cpf: "", + telefone: "", + email: "", + dataNascimento: "", + altura: "", + peso: "", endereco: { - rua: '', - numero: '', - bairro: '', - cidade: '', - cep: '' + rua: "", + numero: "", + bairro: "", + cidade: "", + cep: "", }, - convenio: '', - numeroCarteirinha: '', - observacoes: '' - }) + convenio: "", + numeroCarteirinha: "", + observacoes: "", + }); // Estado do formulário de novo médico const [formDataMedico, setFormDataMedico] = useState({ - nome: '', - especialidade: '', - crm: '', - telefone: '', - email: '', - senha: '' - }) + nome: "", + especialidade: "", + crm: "", + telefone: "", + email: "", + senha: "", + }); // Verificar se secretária está logada useEffect(() => { - const secretariaLogada = localStorage.getItem('secretariaLogada') + const secretariaLogada = localStorage.getItem("secretariaLogada"); if (!secretariaLogada) { - navigate('/secretaria') - return + navigate("/secretaria"); + return; } - carregarDados() - }, [navigate]) + carregarDados(); + }, [navigate]); const carregarDados = async () => { try { - setLoading(true) + setLoading(true); // Carregar pacientes da API - const response = await fetch('https://mock.apidog.com/m1/1053378-0-default/pacientes') - const data = await response.json() + const response = await fetch( + "https://mock.apidog.com/m1/1053378-0-default/pacientes" + ); + const data = await response.json(); // A API retorna { success: true, data: [...] } - setPacientes(Array.isArray(data.data) ? data.data : []) + setPacientes(Array.isArray(data.data) ? data.data : []); } catch (error) { - console.error('Erro ao carregar dados:', error) - toast.error('Erro ao carregar dados do sistema') + console.error("Erro ao carregar dados:", error); + toast.error("Erro ao carregar dados do sistema"); } finally { - setLoading(false) + setLoading(false); } - } + }; const handleLogout = () => { - localStorage.removeItem('secretariaLogada') - toast.success('Logout realizado com sucesso!') - navigate('/secretaria') // Navegar para login da secretária/gestão - } + localStorage.removeItem("secretariaLogada"); + toast.success("Logout realizado com sucesso!"); + navigate("/secretaria"); // Navegar para login da secretária/gestão + }; const handleNovoPaciente = () => { - setShowNovoPacienteForm(true) - setActiveTab('pacientes') // Mudar para aba pacientes - } + setFormDataPaciente({ + nome: "", + cpf: "", + telefone: "", + email: "", + dataNascimento: "", + altura: "", + peso: "", + endereco: { + rua: "", + numero: "", + bairro: "", + cidade: "", + cep: "", + }, + convenio: "", + numeroCarteirinha: "", + observacoes: "", + }); + setEditandoPaciente(null); + setShowNovoPacienteForm(true); + setShowEditarPacienteForm(false); + setActiveTab("pacientes"); // Mudar para aba pacientes + }; const handleNovoMedico = () => { - setShowNovoMedicoForm(true) - setActiveTab('medicos') // Mudar para aba médicos - } + setShowNovoMedicoForm(true); + setActiveTab("medicos"); // Mudar para aba médicos + }; const resetFormPaciente = () => { setFormDataPaciente({ - nome: '', - cpf: '', - telefone: '', - email: '', - dataNascimento: '', - altura: '', - peso: '', + nome: "", + cpf: "", + telefone: "", + email: "", + dataNascimento: "", + altura: "", + peso: "", endereco: { - rua: '', - numero: '', - bairro: '', - cidade: '', - cep: '' + rua: "", + numero: "", + bairro: "", + cidade: "", + cep: "", }, - convenio: '', - numeroCarteirinha: '', - observacoes: '' - }) - setShowNovoPacienteForm(false) - } + convenio: "", + numeroCarteirinha: "", + observacoes: "", + }); + setShowNovoPacienteForm(false); + }; const resetFormMedico = () => { setFormDataMedico({ - nome: '', - especialidade: '', - crm: '', - telefone: '', - email: '', - senha: '' - }) - setShowNovoMedicoForm(false) + nome: "", + especialidade: "", + crm: "", + telefone: "", + email: "", + senha: "", + }); + setShowNovoMedicoForm(false); + }; + + // Função para validar CPF + function validarCPF(cpf: string) { + cpf = cpf.replace(/[^\d]+/g, ""); + if (cpf.length !== 11 || /^(\d)\1+$/.test(cpf)) return false; + let soma = 0; + for (let i = 0; i < 9; i++) soma += parseInt(cpf.charAt(i)) * (10 - i); + let resto = (soma * 10) % 11; + if (resto === 10 || resto === 11) resto = 0; + if (resto !== parseInt(cpf.charAt(9))) return false; + soma = 0; + for (let i = 0; i < 10; i++) soma += parseInt(cpf.charAt(i)) * (11 - i); + resto = (soma * 10) % 11; + if (resto === 10 || resto === 11) resto = 0; + if (resto !== parseInt(cpf.charAt(10))) return false; + return true; } const handleSubmitNovoPaciente = async (e: React.FormEvent) => { - e.preventDefault() - + e.preventDefault(); + + if (!validarCPF(formDataPaciente.cpf)) { + toast.error("CPF inválido!"); + return; + } + try { - setLoading(true) - + setLoading(true); + // Montar o body conforme a API espera const pacienteData = { nome: formDataPaciente.nome, @@ -183,113 +238,128 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false) telefone: formDataPaciente.telefone, email: formDataPaciente.email, // Adicione outros campos se a API aceitar - } - const response = await fetch('https://mock.apidog.com/m1/1053378-0-default/pacientes', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(pacienteData) - }) - if (!response.ok) throw new Error('Erro ao cadastrar paciente na API') - const novoPaciente = await response.json() - setPacientes(prev => [...prev, novoPaciente]) - resetFormPaciente() - toast.success('Paciente cadastrado com sucesso!') + }; + const response = await fetch( + "https://mock.apidog.com/m1/1053378-0-default/pacientes", + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(pacienteData), + } + ); + if (!response.ok) throw new Error("Erro ao cadastrar paciente na API"); + const novoPaciente = await response.json(); + setPacientes((prev) => [...prev, novoPaciente]); + resetFormPaciente(); + toast.success("Paciente cadastrado com sucesso!"); // Opcional: carregarDados() // Se quiser garantir atualização da lista da API } catch (error) { - console.error('Erro ao cadastrar paciente:', error) - toast.error('Erro ao cadastrar paciente. Tente novamente.') + console.error("Erro ao cadastrar paciente:", error); + toast.error("Erro ao cadastrar paciente. Tente novamente."); } finally { - setLoading(false) + setLoading(false); } - } + }; const handleEditarPaciente = (paciente: Paciente) => { - setEditandoPaciente(paciente) - setFormDataPaciente({ - nome: paciente.nome || '', - cpf: paciente.cpf || '', - telefone: paciente.telefone || '', - email: paciente.email || '', - dataNascimento: paciente.dataNascimento || '', - altura: paciente.altura?.toString() || '', - peso: paciente.peso?.toString() || '', - endereco: { - rua: paciente.endereco?.rua || '', - numero: paciente.endereco?.numero || '', - bairro: paciente.endereco?.bairro || '', - cidade: paciente.endereco?.cidade || '', - cep: paciente.endereco?.cep || '' - }, - convenio: paciente.convenio || '', - numeroCarteirinha: paciente.numeroCarteirinha || '', - observacoes: paciente.observacoes || '' - }) - setShowEditarPacienteForm(true) -} - + setEditandoPaciente(paciente); + setFormDataPaciente({ + nome: paciente.nome || "", + cpf: paciente.cpf || "", + telefone: paciente.telefone || "", + email: paciente.email || "", + dataNascimento: paciente.dataNascimento || "", + altura: paciente.altura?.toString() || "", + peso: paciente.peso?.toString() || "", + endereco: { + rua: paciente.endereco?.rua || "", + numero: paciente.endereco?.numero || "", + bairro: paciente.endereco?.bairro || "", + cidade: paciente.endereco?.cidade || "", + cep: paciente.endereco?.cep || "", + }, + convenio: paciente.convenio || "", + numeroCarteirinha: paciente.numeroCarteirinha || "", + observacoes: paciente.observacoes || "", + }); + setShowEditarPacienteForm(true); + }; const handleSubmitNovoMedico = async (e: React.FormEvent) => { - e.preventDefault() - + e.preventDefault(); + try { - setLoading(true) - + setLoading(true); + const medicoData = { ...formDataMedico, ativo: true, - criadoPor: 'secretaria', - criadoEm: new Date().toISOString() - } + criadoPor: "secretaria", + criadoEm: new Date().toISOString(), + }; - // Aqui você pode fazer um POST para a API se ela aceitar, ou apenas comentar se não houver endpoint - toast.success('Médico cadastrado com sucesso!') - resetFormMedico() - carregarDados() // Recarregar dados + // Aqui você pode fazer um POST para a API se ela aceitar, ou apenas comentar se não houver endpoint + toast.success("Médico cadastrado com sucesso!"); + resetFormMedico(); + carregarDados(); // Recarregar dados } catch (error) { - console.error('Erro ao cadastrar médico:', error) - toast.error('Erro ao cadastrar médico. Tente novamente.') + console.error("Erro ao cadastrar médico:", error); + toast.error("Erro ao cadastrar médico. Tente novamente."); } finally { - setLoading(false) + setLoading(false); } - } + }; const formatarData = (data: string) => { - return new Date(data).toLocaleDateString('pt-BR', { - day: '2-digit', - month: '2-digit', - year: 'numeric', - hour: '2-digit', - minute: '2-digit' - }) - } + return new Date(data).toLocaleDateString("pt-BR", { + day: "2-digit", + month: "2-digit", + year: "numeric", + hour: "2-digit", + minute: "2-digit", + }); + }; const getStatusColor = (status: string) => { switch (status) { - case 'agendada': return 'bg-blue-100 text-blue-800' - case 'confirmada': return 'bg-green-100 text-green-800' - case 'cancelada': return 'bg-red-100 text-red-800' - case 'realizada': return 'bg-gray-100 text-gray-800' - default: return 'bg-gray-100 text-gray-800' + case "agendada": + return "bg-blue-100 text-blue-800"; + case "confirmada": + return "bg-green-100 text-green-800"; + case "cancelada": + return "bg-red-100 text-red-800"; + case "realizada": + return "bg-gray-100 text-gray-800"; + default: + return "bg-gray-100 text-gray-800"; } - } + }; // Filtrar dados baseado no termo de pesquisa - const pacientesFiltrados = pacientes.filter(p => - (p.nome || '').toLowerCase().includes(searchTerm.toLowerCase()) || - (p.email || '').toLowerCase().includes(searchTerm.toLowerCase()) - ) + const pacientesFiltrados = pacientes.filter( + (p) => + (p.nome || "").toLowerCase().includes(searchTerm.toLowerCase()) || + (p.email || "").toLowerCase().includes(searchTerm.toLowerCase()) + ); - const medicosFiltrados = medicos.filter(m => - (m.nome || '').toLowerCase().includes(searchTerm.toLowerCase()) || - (m.especialidade || '').toLowerCase().includes(searchTerm.toLowerCase()) - ) + const medicosFiltrados = medicos.filter( + (m) => + (m.nome || "").toLowerCase().includes(searchTerm.toLowerCase()) || + (m.especialidade || "").toLowerCase().includes(searchTerm.toLowerCase()) + ); - const consultasFiltradas = consultas.filter(c => - (c.pacienteNome || '').toLowerCase().includes(searchTerm.toLowerCase()) || - (c.medicoNome || '').toLowerCase().includes(searchTerm.toLowerCase()) || - (c.tipo || '').toLowerCase().includes(searchTerm.toLowerCase()) - ) + const consultasFiltradas = consultas.filter( + (c) => + (c.pacienteNome || "").toLowerCase().includes(searchTerm.toLowerCase()) || + (c.medicoNome || "").toLowerCase().includes(searchTerm.toLowerCase()) || + (c.tipo || "").toLowerCase().includes(searchTerm.toLowerCase()) + ); - if (loading && !showNovoPacienteForm && !showNovoMedicoForm) { + if ( + loading && + !showNovoPacienteForm && + !showNovoMedicoForm && + !showEditarPacienteForm + ) { return (
@@ -297,7 +367,7 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false)

Carregando painel da secretária...

- ) + ); } return ( @@ -307,7 +377,9 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false)
-

Painel da Secretária

+

+ Painel da Secretária +

Sistema de Gestão Médica

@@ -341,27 +413,27 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false)
@@ -370,25 +442,33 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false) {/* Content */}
{/* Dashboard */} - {activeTab === 'dashboard' && ( + {activeTab === "dashboard" && (
-

Total Pacientes

-

{pacientes.length}

+

+ Total Pacientes +

+

+ {pacientes.length} +

- +
-

Total Médicos

-

{medicos.length}

+

+ Total Médicos +

+

+ {medicos.length} +

@@ -397,13 +477,19 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false)
-

Consultas Hoje

+

+ Consultas Hoje +

- {consultas.filter(c => { - const hoje = new Date().toDateString() - const dataConsulta = new Date(c.dataHora).toDateString() - return dataConsulta === hoje - }).length} + { + consultas.filter((c) => { + const hoje = new Date().toDateString(); + const dataConsulta = new Date( + c.dataHora + ).toDateString(); + return dataConsulta === hoje; + }).length + }

@@ -413,9 +499,11 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false)
-

Consultas Pendentes

+

+ Consultas Pendentes +

- {consultas.filter(c => c.status === 'agendada').length} + {consultas.filter((c) => c.status === "agendada").length}

@@ -425,22 +513,41 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false) {/* Próximas Consultas */}
-

Próximas Consultas

+

+ Próximas Consultas +

{consultas - .filter(c => new Date(c.dataHora) >= new Date()) - .sort((a, b) => new Date(a.dataHora).getTime() - new Date(b.dataHora).getTime()) + .filter((c) => new Date(c.dataHora) >= new Date()) + .sort( + (a, b) => + new Date(a.dataHora).getTime() - + new Date(b.dataHora).getTime() + ) .slice(0, 5) - .map(consulta => ( -
+ .map((consulta) => ( +
-

{consulta.pacienteNome}

-

Dr(a). {consulta.medicoNome}

-

{formatarData(consulta.dataHora)}

+

+ {consulta.pacienteNome} +

+

+ Dr(a). {consulta.medicoNome} +

+

+ {formatarData(consulta.dataHora)} +

- + {consulta.status}
@@ -452,10 +559,12 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false) )} {/* Pacientes */} - {activeTab === 'pacientes' && ( + {activeTab === "pacientes" && (
-

Gerenciar Pacientes

+

+ Gerenciar Pacientes +

- + +
-
{paciente.nome || 'Nome não informado'}
-
{paciente.endereco?.cidade || 'Cidade não informada'}
+
+ {paciente.nome || "Nome não informado"} +
+
+ {paciente.endereco?.cidade || + "Cidade não informada"} +
-
{paciente.email || 'Email não informado'}
-
{paciente.telefone || 'Telefone não informado'}
+
+ {paciente.email || "Email não informado"} +
+
+ {paciente.telefone || "Telefone não informado"} +
- {paciente.dataNascimento ? new Date(paciente.dataNascimento).toLocaleDateString('pt-BR') : 'Não informado'} + {paciente.dataNascimento + ? new Date( + paciente.dataNascimento + ).toLocaleDateString("pt-BR") + : "Não informado"} - {paciente.altura && paciente.peso ? `${paciente.altura}m / ${paciente.peso}kg` : 'Não informado'} + {paciente.altura && paciente.peso + ? `${paciente.altura}m / ${paciente.peso}kg` + : "Não informado"} ))} @@ -536,10 +660,12 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false) )} {/* Médicos */} - {activeTab === 'medicos' && ( + {activeTab === "medicos" && (
-

Gerenciar Médicos

+

+ Gerenciar Médicos +

-
@@ -752,12 +934,16 @@ const [showEditarPacienteForm, setShowEditarPacienteForm] = useState(false) setFormDataPaciente({...formDataPaciente, nome: e.target.value})} + onChange={(e) => + setFormDataPaciente({ + ...formDataPaciente, + nome: e.target.value, + }) + } className="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-green-500 focus:border-transparent" required />
-
-
-
-
-
-
-
-
-
-