bibot 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +7 -0
 - package/.vscode/settings.json +5 -0
 - package/dist/bibot.js +175 -0
 - package/dist/bibot.js.map +1 -0
 - package/dist/component/bibot.d.ts +5 -0
 - package/dist/component/bibot.js +170 -0
 - package/dist/component/bibot.js.map +1 -0
 - package/dist/config/appStateEnums.js +10 -5
 - package/dist/config/endpointEnums.js +27 -22
 - package/dist/config/index.js +38 -5
 - package/dist/config/statusCode.js +49 -44
 - package/dist/context/AppContext.js +73 -56
 - package/dist/context/index.js +16 -3
 - package/dist/hooks/index.d.ts +1 -0
 - package/dist/hooks/index.js +38 -4
 - package/dist/hooks/index.js.map +1 -1
 - package/dist/hooks/mobileView.js +33 -18
 - package/dist/hooks/useBiBotChatBot.d.ts +29 -0
 - package/dist/hooks/useBiBotChatBot.js +206 -0
 - package/dist/hooks/useBiBotChatBot.js.map +1 -0
 - package/dist/hooks/usePluginFactory.js +60 -77
 - package/dist/index.css +36 -0
 - package/dist/index.d.ts +1 -2
 - package/dist/index.js +9 -6
 - package/dist/index.js.map +1 -1
 - package/dist/reducers/appReducer.js +24 -22
 - package/dist/reducers/index.js +16 -3
 - package/dist/services/index.js +16 -3
 - package/dist/services/plugin-api.js +179 -182
 - package/dist/styles/RegisterPageStyle.css +63 -0
 - package/dist/styles/adminPortal.css +26 -0
 - package/dist/styles/appConfig.css +90 -0
 - package/dist/styles/buttonStyle.css +27 -0
 - package/dist/styles/chatStyle.css +140 -0
 - package/dist/styles/index.css +82 -0
 - package/dist/styles/predefinedStyle.css +35 -0
 - package/dist/styles/themeStyle.css +42 -0
 - package/dist/styles/training.css +86 -0
 - package/dist/types/coreInterfaces.d.ts +1 -10
 - package/dist/types/coreInterfaces.js +5 -2
 - package/dist/types/index.js +16 -3
 - package/dist/utils/index.js +27 -3
 - package/dist/utils/sessionManager.js +16 -12
 - package/dist/utils/trimWhitespace.js +15 -11
 - package/package.json +50 -54
 - package/src/component/bibot.tsx +103 -0
 - package/src/config/appStateEnums.ts +3 -0
 - package/src/config/endpointEnums.ts +28 -0
 - package/src/config/index.ts +5 -0
 - package/src/config/statusCode.ts +49 -0
 - package/src/context/AppContext.tsx +66 -0
 - package/src/context/index.ts +3 -0
 - package/src/hooks/index.ts +5 -0
 - package/src/hooks/mobileView.tsx +17 -0
 - package/src/hooks/useBiBotChatBot.tsx +107 -0
 - package/src/hooks/usePluginFactory.tsx +38 -0
 - package/src/index.css +36 -0
 - package/src/index.tsx +3 -0
 - package/src/reducers/appReducer.ts +16 -0
 - package/src/reducers/index.ts +4 -0
 - package/src/services/index.ts +2 -0
 - package/src/services/plugin-api.tsx +120 -0
 - package/src/styles/RegisterPageStyle.css +63 -0
 - package/src/styles/adminPortal.css +26 -0
 - package/src/styles/appConfig.css +90 -0
 - package/src/styles/buttonStyle.css +27 -0
 - package/src/styles/chatStyle.css +140 -0
 - package/src/styles/index.css +82 -0
 - package/src/styles/predefinedStyle.css +35 -0
 - package/src/styles/themeStyle.css +42 -0
 - package/src/styles/training.css +86 -0
 - package/src/types/coreInterfaces.ts +69 -0
 - package/src/types/index.ts +4 -0
 - package/src/utils/index.ts +2 -0
 - package/src/utils/sessionManager.tsx +15 -0
 - package/src/utils/trimWhitespace.ts +11 -0
 - package/tsconfig.json +25 -0
 - package/webpack.config.js +19 -0
 - package/dist/components/bibot.js +0 -171
 - package/dist/components/bibot.js.map +0 -1
 - /package/dist/{components/bibot.d.ts → bibot.d.ts} +0 -0
 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .useremail{
         
     | 
| 
      
 2 
     | 
    
         
            +
                width: 70px;
         
     | 
| 
      
 3 
     | 
    
         
            +
                white-space: nowrap;
         
     | 
| 
      
 4 
     | 
    
         
            +
                overflow: hidden;
         
     | 
| 
      
 5 
     | 
    
         
            +
                text-overflow: ellipsis;
         
     | 
| 
      
 6 
     | 
    
         
            +
                margin-top: 0;
         
     | 
| 
      
 7 
     | 
    
         
            +
            }
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            /* Media query for screens smaller than 600px */
         
     | 
| 
      
 10 
     | 
    
         
            +
            @media screen and (max-width: 600px) {
         
     | 
| 
      
 11 
     | 
    
         
            +
            .hideOnMobile{
         
     | 
| 
      
 12 
     | 
    
         
            +
                display: none !important;
         
     | 
| 
      
 13 
     | 
    
         
            +
            }
         
     | 
| 
      
 14 
     | 
    
         
            +
            }
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            /* Media query for screens between 600px and 900px */
         
     | 
| 
      
 17 
     | 
    
         
            +
            /* @media screen and (min-width: 600px) and (max-width: 900px) {
         
     | 
| 
      
 18 
     | 
    
         
            +
                .hideProfile{
         
     | 
| 
      
 19 
     | 
    
         
            +
                    display: none;
         
     | 
| 
      
 20 
     | 
    
         
            +
                }
         
     | 
| 
      
 21 
     | 
    
         
            +
            } */
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            /* Media query for screens larger than 1200px */
         
     | 
| 
      
 24 
     | 
    
         
            +
            @media screen and (min-width: 1200px) {
         
     | 
| 
      
 25 
     | 
    
         
            +
             
         
     | 
| 
      
 26 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,90 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .mainContent{
         
     | 
| 
      
 2 
     | 
    
         
            +
                display: flex;
         
     | 
| 
      
 3 
     | 
    
         
            +
                width: 100%;
         
     | 
| 
      
 4 
     | 
    
         
            +
                justify-content: space-around;
         
     | 
| 
      
 5 
     | 
    
         
            +
                flex-wrap: wrap;
         
     | 
| 
      
 6 
     | 
    
         
            +
            }
         
     | 
| 
      
 7 
     | 
    
         
            +
            .firstSection{
         
     | 
| 
      
 8 
     | 
    
         
            +
                text-align: start;
         
     | 
| 
      
 9 
     | 
    
         
            +
            }
         
     | 
| 
      
 10 
     | 
    
         
            +
            .secondSection{
         
     | 
| 
      
 11 
     | 
    
         
            +
                display: flex;
         
     | 
| 
      
 12 
     | 
    
         
            +
                align-items: center;
         
     | 
| 
      
 13 
     | 
    
         
            +
                justify-content: center;
         
     | 
| 
      
 14 
     | 
    
         
            +
            }
         
     | 
| 
      
 15 
     | 
    
         
            +
            .previewSection{
         
     | 
| 
      
 16 
     | 
    
         
            +
                height: 100%;
         
     | 
| 
      
 17 
     | 
    
         
            +
            }
         
     | 
| 
      
 18 
     | 
    
         
            +
            input[type="file"] {
         
     | 
| 
      
 19 
     | 
    
         
            +
                display: none;
         
     | 
| 
      
 20 
     | 
    
         
            +
            }
         
     | 
| 
      
 21 
     | 
    
         
            +
            .inputfileButton{
         
     | 
| 
      
 22 
     | 
    
         
            +
                display: inline-block;
         
     | 
| 
      
 23 
     | 
    
         
            +
                align-items: center;
         
     | 
| 
      
 24 
     | 
    
         
            +
                /* background-color: #73767a; */
         
     | 
| 
      
 25 
     | 
    
         
            +
                border: none;
         
     | 
| 
      
 26 
     | 
    
         
            +
                border-radius: 5px;
         
     | 
| 
      
 27 
     | 
    
         
            +
                cursor: pointer;
         
     | 
| 
      
 28 
     | 
    
         
            +
            }
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            /* Media query for screens smaller than 600px */
         
     | 
| 
      
 32 
     | 
    
         
            +
            @media screen and (max-width: 600px) {
         
     | 
| 
      
 33 
     | 
    
         
            +
                .mainContent{
         
     | 
| 
      
 34 
     | 
    
         
            +
                    display: flex;
         
     | 
| 
      
 35 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 36 
     | 
    
         
            +
                    flex-direction: column;
         
     | 
| 
      
 37 
     | 
    
         
            +
                    justify-content: space-around;
         
     | 
| 
      
 38 
     | 
    
         
            +
                    align-items: center;
         
     | 
| 
      
 39 
     | 
    
         
            +
                }
         
     | 
| 
      
 40 
     | 
    
         
            +
                .button{
         
     | 
| 
      
 41 
     | 
    
         
            +
                  width: 100% !important;    
         
     | 
| 
      
 42 
     | 
    
         
            +
                }
         
     | 
| 
      
 43 
     | 
    
         
            +
                .previewSection{
         
     | 
| 
      
 44 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 45 
     | 
    
         
            +
                    margin-top: 30px;
         
     | 
| 
      
 46 
     | 
    
         
            +
                }
         
     | 
| 
      
 47 
     | 
    
         
            +
                .firstSection{
         
     | 
| 
      
 48 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 49 
     | 
    
         
            +
                    text-align: start;
         
     | 
| 
      
 50 
     | 
    
         
            +
                    margin-bottom: 50px;
         
     | 
| 
      
 51 
     | 
    
         
            +
                }
         
     | 
| 
      
 52 
     | 
    
         
            +
                .secondSection{
         
     | 
| 
      
 53 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 54 
     | 
    
         
            +
                    display: flex;
         
     | 
| 
      
 55 
     | 
    
         
            +
                    align-items: center;
         
     | 
| 
      
 56 
     | 
    
         
            +
                    justify-content: center;
         
     | 
| 
      
 57 
     | 
    
         
            +
                    text-align: start;
         
     | 
| 
      
 58 
     | 
    
         
            +
                }
         
     | 
| 
      
 59 
     | 
    
         
            +
            }
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            /* Media query for screens between 600px and 900px */
         
     | 
| 
      
 62 
     | 
    
         
            +
            @media screen and (min-width: 600px) and (max-width: 900px) {
         
     | 
| 
      
 63 
     | 
    
         
            +
                .mainContent{
         
     | 
| 
      
 64 
     | 
    
         
            +
                    display: flex;
         
     | 
| 
      
 65 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 66 
     | 
    
         
            +
                    flex-direction: column;
         
     | 
| 
      
 67 
     | 
    
         
            +
                    justify-content: space-around;
         
     | 
| 
      
 68 
     | 
    
         
            +
                    align-items: center;
         
     | 
| 
      
 69 
     | 
    
         
            +
                }
         
     | 
| 
      
 70 
     | 
    
         
            +
                .previewSection{
         
     | 
| 
      
 71 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 72 
     | 
    
         
            +
                }
         
     | 
| 
      
 73 
     | 
    
         
            +
                .firstSection{
         
     | 
| 
      
 74 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 75 
     | 
    
         
            +
                    text-align: start;
         
     | 
| 
      
 76 
     | 
    
         
            +
                    margin-bottom: 50px;
         
     | 
| 
      
 77 
     | 
    
         
            +
                }
         
     | 
| 
      
 78 
     | 
    
         
            +
                .secondSection{
         
     | 
| 
      
 79 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 80 
     | 
    
         
            +
                    display: flex;
         
     | 
| 
      
 81 
     | 
    
         
            +
                    align-items: center;
         
     | 
| 
      
 82 
     | 
    
         
            +
                    justify-content: center;
         
     | 
| 
      
 83 
     | 
    
         
            +
                    text-align: start;
         
     | 
| 
      
 84 
     | 
    
         
            +
                }
         
     | 
| 
      
 85 
     | 
    
         
            +
            }
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
            /* Media query for screens larger than 1200px */
         
     | 
| 
      
 88 
     | 
    
         
            +
            @media screen and (min-width: 1200px) {
         
     | 
| 
      
 89 
     | 
    
         
            +
             
         
     | 
| 
      
 90 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .button,
         
     | 
| 
      
 2 
     | 
    
         
            +
            .ant-btn.button {
         
     | 
| 
      
 3 
     | 
    
         
            +
              font-family: Arial, sans-serif;
         
     | 
| 
      
 4 
     | 
    
         
            +
              font-size: 14px;
         
     | 
| 
      
 5 
     | 
    
         
            +
              display: flex;
         
     | 
| 
      
 6 
     | 
    
         
            +
              justify-content: center;
         
     | 
| 
      
 7 
     | 
    
         
            +
              align-items: center;
         
     | 
| 
      
 8 
     | 
    
         
            +
              border-radius: 10px;
         
     | 
| 
      
 9 
     | 
    
         
            +
              border: 2px solid #d67632;
         
     | 
| 
      
 10 
     | 
    
         
            +
              outline: none;
         
     | 
| 
      
 11 
     | 
    
         
            +
              cursor: pointer;
         
     | 
| 
      
 12 
     | 
    
         
            +
              transition: background-color 0.3s, color 0.3s;
         
     | 
| 
      
 13 
     | 
    
         
            +
              background-color: #5f2d78;
         
     | 
| 
      
 14 
     | 
    
         
            +
              color: white;
         
     | 
| 
      
 15 
     | 
    
         
            +
            }
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            .ant-popover-buttons {
         
     | 
| 
      
 18 
     | 
    
         
            +
                display: flex;
         
     | 
| 
      
 19 
     | 
    
         
            +
                justify-content: flex-end;
         
     | 
| 
      
 20 
     | 
    
         
            +
                background-color: #5f2d78;
         
     | 
| 
      
 21 
     | 
    
         
            +
                color: white
         
     | 
| 
      
 22 
     | 
    
         
            +
              }
         
     | 
| 
      
 23 
     | 
    
         
            +
              
         
     | 
| 
      
 24 
     | 
    
         
            +
              .ant-popover-button {
         
     | 
| 
      
 25 
     | 
    
         
            +
                margin: 8px;
         
     | 
| 
      
 26 
     | 
    
         
            +
              }
         
     | 
| 
      
 27 
     | 
    
         
            +
              
         
     | 
| 
         @@ -0,0 +1,140 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .chat-bubble {
         
     | 
| 
      
 2 
     | 
    
         
            +
              position: fixed;
         
     | 
| 
      
 3 
     | 
    
         
            +
              bottom: 20px;
         
     | 
| 
      
 4 
     | 
    
         
            +
              right: 20px;
         
     | 
| 
      
 5 
     | 
    
         
            +
              z-index: 9999;
         
     | 
| 
      
 6 
     | 
    
         
            +
            }
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            .chat-toggle {
         
     | 
| 
      
 9 
     | 
    
         
            +
              color: #fff;
         
     | 
| 
      
 10 
     | 
    
         
            +
              border-radius: 50%;
         
     | 
| 
      
 11 
     | 
    
         
            +
              height: 60px;
         
     | 
| 
      
 12 
     | 
    
         
            +
              width: 60px;
         
     | 
| 
      
 13 
     | 
    
         
            +
              display: flex;
         
     | 
| 
      
 14 
     | 
    
         
            +
              align-items: center;
         
     | 
| 
      
 15 
     | 
    
         
            +
              justify-content: center;
         
     | 
| 
      
 16 
     | 
    
         
            +
            }
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            .chat-window {
         
     | 
| 
      
 19 
     | 
    
         
            +
              position: absolute;
         
     | 
| 
      
 20 
     | 
    
         
            +
              bottom: 50px;
         
     | 
| 
      
 21 
     | 
    
         
            +
              right: 25px;
         
     | 
| 
      
 22 
     | 
    
         
            +
              width: 350px;
         
     | 
| 
      
 23 
     | 
    
         
            +
              height: 500px;
         
     | 
| 
      
 24 
     | 
    
         
            +
              background-color: white;
         
     | 
| 
      
 25 
     | 
    
         
            +
              border: 1px solid #ddd;
         
     | 
| 
      
 26 
     | 
    
         
            +
              border-radius: 10px;
         
     | 
| 
      
 27 
     | 
    
         
            +
              /* padding: 10px; */
         
     | 
| 
      
 28 
     | 
    
         
            +
              box-shadow: 0 2px 10px rgba(0,0,0,0.2);
         
     | 
| 
      
 29 
     | 
    
         
            +
              display: flex;
         
     | 
| 
      
 30 
     | 
    
         
            +
              flex-direction: column;
         
     | 
| 
      
 31 
     | 
    
         
            +
              justify-content: space-between;
         
     | 
| 
      
 32 
     | 
    
         
            +
            }
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            /* Existing styles... */
         
     | 
| 
      
 35 
     | 
    
         
            +
            .chat-header{
         
     | 
| 
      
 36 
     | 
    
         
            +
              height: 50px;
         
     | 
| 
      
 37 
     | 
    
         
            +
              border-top-left-radius: 8px;
         
     | 
| 
      
 38 
     | 
    
         
            +
              border-top-right-radius: 8px;
         
     | 
| 
      
 39 
     | 
    
         
            +
              display: flex;
         
     | 
| 
      
 40 
     | 
    
         
            +
              align-items: center;
         
     | 
| 
      
 41 
     | 
    
         
            +
              justify-content: flex-start;
         
     | 
| 
      
 42 
     | 
    
         
            +
              padding-inline: 15px;
         
     | 
| 
      
 43 
     | 
    
         
            +
              padding-block: 30px;
         
     | 
| 
      
 44 
     | 
    
         
            +
            }
         
     | 
| 
      
 45 
     | 
    
         
            +
            .message-list {
         
     | 
| 
      
 46 
     | 
    
         
            +
            height: calc(100% - 100px);
         
     | 
| 
      
 47 
     | 
    
         
            +
            overflow-y: auto;
         
     | 
| 
      
 48 
     | 
    
         
            +
            padding: 10px;
         
     | 
| 
      
 49 
     | 
    
         
            +
            display: flex;
         
     | 
| 
      
 50 
     | 
    
         
            +
            flex-grow: 1;
         
     | 
| 
      
 51 
     | 
    
         
            +
            flex-direction: column;
         
     | 
| 
      
 52 
     | 
    
         
            +
            }
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            .message {
         
     | 
| 
      
 55 
     | 
    
         
            +
            margin-bottom: 10px;
         
     | 
| 
      
 56 
     | 
    
         
            +
            padding: 5px 10px;
         
     | 
| 
      
 57 
     | 
    
         
            +
            border-radius: 8px;
         
     | 
| 
      
 58 
     | 
    
         
            +
            max-width: 70%;
         
     | 
| 
      
 59 
     | 
    
         
            +
            }
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            .message.user {
         
     | 
| 
      
 62 
     | 
    
         
            +
            background-color: #b8b8b8c6;
         
     | 
| 
      
 63 
     | 
    
         
            +
            align-self: flex-end;
         
     | 
| 
      
 64 
     | 
    
         
            +
            }
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            .message.bot {
         
     | 
| 
      
 67 
     | 
    
         
            +
            background-color: #f0f0f0;
         
     | 
| 
      
 68 
     | 
    
         
            +
            align-self: flex-start;
         
     | 
| 
      
 69 
     | 
    
         
            +
            }
         
     | 
| 
      
 70 
     | 
    
         
            +
            textarea:focus, input:focus{
         
     | 
| 
      
 71 
     | 
    
         
            +
              outline: none;
         
     | 
| 
      
 72 
     | 
    
         
            +
            }
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            /* Chat loader*/
         
     | 
| 
      
 75 
     | 
    
         
            +
            .loader {
         
     | 
| 
      
 76 
     | 
    
         
            +
              width: 12px;
         
     | 
| 
      
 77 
     | 
    
         
            +
              aspect-ratio: 1;
         
     | 
| 
      
 78 
     | 
    
         
            +
              border-radius: 50%;
         
     | 
| 
      
 79 
     | 
    
         
            +
              animation: l5 1s infinite linear alternate;
         
     | 
| 
      
 80 
     | 
    
         
            +
            }
         
     | 
| 
      
 81 
     | 
    
         
            +
            @keyframes l5 {
         
     | 
| 
      
 82 
     | 
    
         
            +
                0%  {box-shadow: 20px 0 #000, -20px 0 #0002;background: #000 }
         
     | 
| 
      
 83 
     | 
    
         
            +
                33% {box-shadow: 20px 0 #000, -20px 0 #0002;background: #0002}
         
     | 
| 
      
 84 
     | 
    
         
            +
                66% {box-shadow: 20px 0 #0002,-20px 0 #000; background: #0002}
         
     | 
| 
      
 85 
     | 
    
         
            +
                100%{box-shadow: 20px 0 #0002,-20px 0 #000; background: #000 }
         
     | 
| 
      
 86 
     | 
    
         
            +
            }
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
            .input-area {
         
     | 
| 
      
 90 
     | 
    
         
            +
            display: flex;
         
     | 
| 
      
 91 
     | 
    
         
            +
            align-items: center;
         
     | 
| 
      
 92 
     | 
    
         
            +
            border-top: 1px solid #ddd;
         
     | 
| 
      
 93 
     | 
    
         
            +
            padding: 10px;
         
     | 
| 
      
 94 
     | 
    
         
            +
            border-bottom-left-radius: 8px;
         
     | 
| 
      
 95 
     | 
    
         
            +
            border-bottom-right-radius: 8px;
         
     | 
| 
      
 96 
     | 
    
         
            +
            }
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            .input-area input {
         
     | 
| 
      
 99 
     | 
    
         
            +
            flex-grow: 1;
         
     | 
| 
      
 100 
     | 
    
         
            +
            border: none;
         
     | 
| 
      
 101 
     | 
    
         
            +
            background-color: transparent;
         
     | 
| 
      
 102 
     | 
    
         
            +
            /* border: 1px solid #ccc; */
         
     | 
| 
      
 103 
     | 
    
         
            +
            /* border-radius: 15px; */
         
     | 
| 
      
 104 
     | 
    
         
            +
            padding: 5px 10px;
         
     | 
| 
      
 105 
     | 
    
         
            +
            margin-right: 10px;
         
     | 
| 
      
 106 
     | 
    
         
            +
            }
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
            .input-area button {
         
     | 
| 
      
 109 
     | 
    
         
            +
            background-color: #007bff;
         
     | 
| 
      
 110 
     | 
    
         
            +
            color: white;
         
     | 
| 
      
 111 
     | 
    
         
            +
            border: none;
         
     | 
| 
      
 112 
     | 
    
         
            +
            border-radius: 15px;
         
     | 
| 
      
 113 
     | 
    
         
            +
            padding: 5px 10px;
         
     | 
| 
      
 114 
     | 
    
         
            +
            cursor: pointer;
         
     | 
| 
      
 115 
     | 
    
         
            +
            }
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
            /* Existing styles... */
         
     | 
| 
      
 118 
     | 
    
         
            +
             
     | 
| 
      
 119 
     | 
    
         
            +
            .loading-bubbles {
         
     | 
| 
      
 120 
     | 
    
         
            +
            display: flex;
         
     | 
| 
      
 121 
     | 
    
         
            +
            justify-content: center;
         
     | 
| 
      
 122 
     | 
    
         
            +
            align-items: center;
         
     | 
| 
      
 123 
     | 
    
         
            +
            }
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
            .bubble {
         
     | 
| 
      
 126 
     | 
    
         
            +
            width: 8px;
         
     | 
| 
      
 127 
     | 
    
         
            +
            height: 8px;
         
     | 
| 
      
 128 
     | 
    
         
            +
            border-radius: 50%;
         
     | 
| 
      
 129 
     | 
    
         
            +
            margin: 0 3px;
         
     | 
| 
      
 130 
     | 
    
         
            +
            animation: bounce 0.6s infinite alternate;
         
     | 
| 
      
 131 
     | 
    
         
            +
            }
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
            @keyframes bounce {
         
     | 
| 
      
 134 
     | 
    
         
            +
            from {
         
     | 
| 
      
 135 
     | 
    
         
            +
              transform: translateY(0);
         
     | 
| 
      
 136 
     | 
    
         
            +
            }
         
     | 
| 
      
 137 
     | 
    
         
            +
            to {
         
     | 
| 
      
 138 
     | 
    
         
            +
              transform: translateY(-15px);
         
     | 
| 
      
 139 
     | 
    
         
            +
            }
         
     | 
| 
      
 140 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,82 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            @import 'themeStyle.css';
         
     | 
| 
      
 2 
     | 
    
         
            +
            @import 'buttonStyle.css';
         
     | 
| 
      
 3 
     | 
    
         
            +
            @import 'chatStyle.css';
         
     | 
| 
      
 4 
     | 
    
         
            +
            @import 'predefinedStyle.css';
         
     | 
| 
      
 5 
     | 
    
         
            +
            body {
         
     | 
| 
      
 6 
     | 
    
         
            +
              font-family: 'Roboto', sans-serif;
         
     | 
| 
      
 7 
     | 
    
         
            +
              margin: 0;
         
     | 
| 
      
 8 
     | 
    
         
            +
            }
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            code {
         
     | 
| 
      
 11 
     | 
    
         
            +
              font-family: 'Roboto', sans-serif;
         
     | 
| 
      
 12 
     | 
    
         
            +
            }
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            .cardsBody, .container, .header, .display-message, .position, .embed-report, .controls, .footer, .button, .login-container, .admin-layout, .client-layout, .admin-header, .client-header, .content-layout, .title, .menu, .site-layout-background, .not-implemented, .admin-footer, .client-footer, .report-container {
         
     | 
| 
      
 15 
     | 
    
         
            +
              box-sizing: border-box;
         
     | 
| 
      
 16 
     | 
    
         
            +
            }
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            .cardsBody {
         
     | 
| 
      
 19 
     | 
    
         
            +
              margin: 0;
         
     | 
| 
      
 20 
     | 
    
         
            +
              padding: 10px;
         
     | 
| 
      
 21 
     | 
    
         
            +
              min-height: 100vh;
         
     | 
| 
      
 22 
     | 
    
         
            +
              display: flex;
         
     | 
| 
      
 23 
     | 
    
         
            +
              flex-direction: column;
         
     | 
| 
      
 24 
     | 
    
         
            +
            }
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            .content-layout {
         
     | 
| 
      
 27 
     | 
    
         
            +
              padding: 24px;
         
     | 
| 
      
 28 
     | 
    
         
            +
              margin: 0;
         
     | 
| 
      
 29 
     | 
    
         
            +
              min-height: 280px;
         
     | 
| 
      
 30 
     | 
    
         
            +
              /* background: green; */
         
     | 
| 
      
 31 
     | 
    
         
            +
            }
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            .site-layout-background {
         
     | 
| 
      
 34 
     | 
    
         
            +
              padding: 24px;
         
     | 
| 
      
 35 
     | 
    
         
            +
              /* background-color: red; */
         
     | 
| 
      
 36 
     | 
    
         
            +
            }
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            .admin-footer, .client-footer {
         
     | 
| 
      
 39 
     | 
    
         
            +
              text-align: center;
         
     | 
| 
      
 40 
     | 
    
         
            +
              background: #fff;
         
     | 
| 
      
 41 
     | 
    
         
            +
              padding: 10px 50px;
         
     | 
| 
      
 42 
     | 
    
         
            +
            }
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            .not-implemented {
         
     | 
| 
      
 45 
     | 
    
         
            +
              min-height: 89.1vh;
         
     | 
| 
      
 46 
     | 
    
         
            +
              color: red;
         
     | 
| 
      
 47 
     | 
    
         
            +
              background-size: fit;
         
     | 
| 
      
 48 
     | 
    
         
            +
              background-position: center;
         
     | 
| 
      
 49 
     | 
    
         
            +
              background-repeat: no-repeat;
         
     | 
| 
      
 50 
     | 
    
         
            +
              background-image: var(--bg-logo);
         
     | 
| 
      
 51 
     | 
    
         
            +
            }
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            .ant-spin-dot-item  {
         
     | 
| 
      
 54 
     | 
    
         
            +
              background-color: #d67632 !important;
         
     | 
| 
      
 55 
     | 
    
         
            +
              color: #d67632 !important;
         
     | 
| 
      
 56 
     | 
    
         
            +
            }
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            .admin-layout, .client-layout {
         
     | 
| 
      
 59 
     | 
    
         
            +
              flex: 1;
         
     | 
| 
      
 60 
     | 
    
         
            +
              overflow-y: auto;
         
     | 
| 
      
 61 
     | 
    
         
            +
            }
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
            .descriptions-custom .ant-descriptions-item-label {
         
     | 
| 
      
 64 
     | 
    
         
            +
              width: 20%;
         
     | 
| 
      
 65 
     | 
    
         
            +
            }
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            .descriptions-custom .ant-descriptions-item-content {
         
     | 
| 
      
 68 
     | 
    
         
            +
              width: 70%;
         
     | 
| 
      
 69 
     | 
    
         
            +
            }
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
            h1 {
         
     | 
| 
      
 72 
     | 
    
         
            +
              color: #165a72;
         
     | 
| 
      
 73 
     | 
    
         
            +
              margin: 50px auto;
         
     | 
| 
      
 74 
     | 
    
         
            +
              font-size: 40px;
         
     | 
| 
      
 75 
     | 
    
         
            +
            }
         
     | 
| 
      
 76 
     | 
    
         
            +
            .soc-menu {
         
     | 
| 
      
 77 
     | 
    
         
            +
              margin-bottom: 40px;
         
     | 
| 
      
 78 
     | 
    
         
            +
              margin-top: 20px;
         
     | 
| 
      
 79 
     | 
    
         
            +
            }
         
     | 
| 
      
 80 
     | 
    
         
            +
            h2 {
         
     | 
| 
      
 81 
     | 
    
         
            +
              color: #165a72;
         
     | 
| 
      
 82 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,35 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .predefined-questions {
         
     | 
| 
      
 2 
     | 
    
         
            +
                margin-top: 10px;
         
     | 
| 
      
 3 
     | 
    
         
            +
                padding: 10px;
         
     | 
| 
      
 4 
     | 
    
         
            +
                background-color: #f7f7f7; /* light gray background */
         
     | 
| 
      
 5 
     | 
    
         
            +
                border-top: 1px solid #e0e0e0; /* separator from the messages */
         
     | 
| 
      
 6 
     | 
    
         
            +
              }
         
     | 
| 
      
 7 
     | 
    
         
            +
              
         
     | 
| 
      
 8 
     | 
    
         
            +
              .predefined-question {
         
     | 
| 
      
 9 
     | 
    
         
            +
                padding: 8px 12px;
         
     | 
| 
      
 10 
     | 
    
         
            +
                margin-bottom: 5px; /* space between questions */
         
     | 
| 
      
 11 
     | 
    
         
            +
                background-color: #ffffff; /* white background for the questions */
         
     | 
| 
      
 12 
     | 
    
         
            +
                border: 1px solid #dedede; /* light gray border */
         
     | 
| 
      
 13 
     | 
    
         
            +
                border-radius: 15px; /* rounded corners */
         
     | 
| 
      
 14 
     | 
    
         
            +
                cursor: pointer;
         
     | 
| 
      
 15 
     | 
    
         
            +
                transition: background-color 0.3s ease; /* smooth background color change on hover */
         
     | 
| 
      
 16 
     | 
    
         
            +
              }
         
     | 
| 
      
 17 
     | 
    
         
            +
              
         
     | 
| 
      
 18 
     | 
    
         
            +
              .predefined-question:hover {
         
     | 
| 
      
 19 
     | 
    
         
            +
                background-color: #e8f0fe; /* slightly blue background on hover */
         
     | 
| 
      
 20 
     | 
    
         
            +
              }
         
     | 
| 
      
 21 
     | 
    
         
            +
              
         
     | 
| 
      
 22 
     | 
    
         
            +
              /* You may want to add additional styles for text size, color, and alignment */
         
     | 
| 
      
 23 
     | 
    
         
            +
              .predefined-question {
         
     | 
| 
      
 24 
     | 
    
         
            +
                font-size: 0.9rem; /* moderate text size */
         
     | 
| 
      
 25 
     | 
    
         
            +
                color: #333333; /* dark gray text color */
         
     | 
| 
      
 26 
     | 
    
         
            +
                text-align: left;
         
     | 
| 
      
 27 
     | 
    
         
            +
              }
         
     | 
| 
      
 28 
     | 
    
         
            +
              
         
     | 
| 
      
 29 
     | 
    
         
            +
              /* Ensuring the list doesn't cover the entire chat window and has a scroll if there are many items */
         
     | 
| 
      
 30 
     | 
    
         
            +
              .predefined-questions {
         
     | 
| 
      
 31 
     | 
    
         
            +
                /* max-height: 150px;  */
         
     | 
| 
      
 32 
     | 
    
         
            +
                height: 100%;
         
     | 
| 
      
 33 
     | 
    
         
            +
                overflow-y: auto; /* enables scroll */
         
     | 
| 
      
 34 
     | 
    
         
            +
              }
         
     | 
| 
      
 35 
     | 
    
         
            +
              
         
     | 
| 
         @@ -0,0 +1,42 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            @tailwind base;
         
     | 
| 
      
 2 
     | 
    
         
            +
            @tailwind components;
         
     | 
| 
      
 3 
     | 
    
         
            +
            @tailwind utilities;
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            .light {
         
     | 
| 
      
 6 
     | 
    
         
            +
                /* Light mode colors */
         
     | 
| 
      
 7 
     | 
    
         
            +
                --bg-color: #f0f0f0;
         
     | 
| 
      
 8 
     | 
    
         
            +
                --text-color: #333;
         
     | 
| 
      
 9 
     | 
    
         
            +
                --bg-light: #fff;
         
     | 
| 
      
 10 
     | 
    
         
            +
                --text-light: #333;
         
     | 
| 
      
 11 
     | 
    
         
            +
                --hover-bg-light: #000;
         
     | 
| 
      
 12 
     | 
    
         
            +
                --hover-text-light: #fff;
         
     | 
| 
      
 13 
     | 
    
         
            +
                --expanded-bg-light: #f5f5f5;
         
     | 
| 
      
 14 
     | 
    
         
            +
                --sidebar-text-light: #333;
         
     | 
| 
      
 15 
     | 
    
         
            +
                --sidebar-hover-bg-light: #000;
         
     | 
| 
      
 16 
     | 
    
         
            +
                --sidebar-hover-text-light: #fff;
         
     | 
| 
      
 17 
     | 
    
         
            +
                --sidebar-expanded-bg-light: #f5f5f5;
         
     | 
| 
      
 18 
     | 
    
         
            +
                --border-color:  blue;
         
     | 
| 
      
 19 
     | 
    
         
            +
                --highlight-color: #ffcc00;
         
     | 
| 
      
 20 
     | 
    
         
            +
                --bg-logo: url('/src/assets/logo/preauditai-high-resolution-logo-transparent.png')
         
     | 
| 
      
 21 
     | 
    
         
            +
              }
         
     | 
| 
      
 22 
     | 
    
         
            +
              
         
     | 
| 
      
 23 
     | 
    
         
            +
              .dark {
         
     | 
| 
      
 24 
     | 
    
         
            +
                /* Dark mode colors */
         
     | 
| 
      
 25 
     | 
    
         
            +
                --bg-color: #333;
         
     | 
| 
      
 26 
     | 
    
         
            +
                --text-color: #f0f0f0;
         
     | 
| 
      
 27 
     | 
    
         
            +
                --bg-dark: #333;
         
     | 
| 
      
 28 
     | 
    
         
            +
                --text-dark: #fff;
         
     | 
| 
      
 29 
     | 
    
         
            +
                --hover-bg-dark: #555;
         
     | 
| 
      
 30 
     | 
    
         
            +
                --hover-text-dark: #fff;
         
     | 
| 
      
 31 
     | 
    
         
            +
                --expanded-bg-dark: #444;
         
     | 
| 
      
 32 
     | 
    
         
            +
                --sidebar-bg-dark: #333;
         
     | 
| 
      
 33 
     | 
    
         
            +
                --sidebar-text-dark: #fff;
         
     | 
| 
      
 34 
     | 
    
         
            +
                --sidebar-hover-bg-dark: #555;
         
     | 
| 
      
 35 
     | 
    
         
            +
                --sidebar-hover-text-dark: #fff;
         
     | 
| 
      
 36 
     | 
    
         
            +
                --sidebar-expanded-bg-dark: #444;
         
     | 
| 
      
 37 
     | 
    
         
            +
                --border-color:  blue;
         
     | 
| 
      
 38 
     | 
    
         
            +
                --highlight-color: #007bff;
         
     | 
| 
      
 39 
     | 
    
         
            +
                --bg-logo: url('/src/assets/logo/preauditai-high-resolution-logo-black-transparent.png')
         
     | 
| 
      
 40 
     | 
    
         
            +
              }
         
     | 
| 
      
 41 
     | 
    
         
            +
              
         
     | 
| 
      
 42 
     | 
    
         
            +
              
         
     | 
| 
         @@ -0,0 +1,86 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .mainContainer{
         
     | 
| 
      
 2 
     | 
    
         
            +
                display: flex;
         
     | 
| 
      
 3 
     | 
    
         
            +
                flex-direction: column;
         
     | 
| 
      
 4 
     | 
    
         
            +
                align-items: flex-start;
         
     | 
| 
      
 5 
     | 
    
         
            +
            }
         
     | 
| 
      
 6 
     | 
    
         
            +
            .contentContainer{
         
     | 
| 
      
 7 
     | 
    
         
            +
              width: 100%;
         
     | 
| 
      
 8 
     | 
    
         
            +
              display: flex;
         
     | 
| 
      
 9 
     | 
    
         
            +
              justify-content: space-between;
         
     | 
| 
      
 10 
     | 
    
         
            +
              text-align: start;
         
     | 
| 
      
 11 
     | 
    
         
            +
              flex-wrap: wrap;
         
     | 
| 
      
 12 
     | 
    
         
            +
            }
         
     | 
| 
      
 13 
     | 
    
         
            +
            .fileUploadSection{
         
     | 
| 
      
 14 
     | 
    
         
            +
                width: 50%;
         
     | 
| 
      
 15 
     | 
    
         
            +
            }
         
     | 
| 
      
 16 
     | 
    
         
            +
            .fileInfoSection{
         
     | 
| 
      
 17 
     | 
    
         
            +
                display: flex;
         
     | 
| 
      
 18 
     | 
    
         
            +
                width: 40%;
         
     | 
| 
      
 19 
     | 
    
         
            +
            }
         
     | 
| 
      
 20 
     | 
    
         
            +
            .fileUploaderContainer{
         
     | 
| 
      
 21 
     | 
    
         
            +
                border: 3px dotted #929292;
         
     | 
| 
      
 22 
     | 
    
         
            +
                border-radius: 10px;
         
     | 
| 
      
 23 
     | 
    
         
            +
                padding: 30px;
         
     | 
| 
      
 24 
     | 
    
         
            +
                display: flex;
         
     | 
| 
      
 25 
     | 
    
         
            +
                align-items: center;
         
     | 
| 
      
 26 
     | 
    
         
            +
                justify-content: center;
         
     | 
| 
      
 27 
     | 
    
         
            +
                flex-direction: column;
         
     | 
| 
      
 28 
     | 
    
         
            +
                width: 100%;
         
     | 
| 
      
 29 
     | 
    
         
            +
                cursor: pointer;
         
     | 
| 
      
 30 
     | 
    
         
            +
            }
         
     | 
| 
      
 31 
     | 
    
         
            +
            .fileUploader{
         
     | 
| 
      
 32 
     | 
    
         
            +
                width: 100%;
         
     | 
| 
      
 33 
     | 
    
         
            +
                text-align: start;
         
     | 
| 
      
 34 
     | 
    
         
            +
            }
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            /* Media query for screens smaller than 600px */
         
     | 
| 
      
 38 
     | 
    
         
            +
            @media screen and (max-width: 600px) {
         
     | 
| 
      
 39 
     | 
    
         
            +
                .fileUploaderContainer{
         
     | 
| 
      
 40 
     | 
    
         
            +
                    background-color: #f2f2f2;
         
     | 
| 
      
 41 
     | 
    
         
            +
                    padding: 30px;
         
     | 
| 
      
 42 
     | 
    
         
            +
                    display: flex;
         
     | 
| 
      
 43 
     | 
    
         
            +
                    align-items: center;
         
     | 
| 
      
 44 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 45 
     | 
    
         
            +
                }
         
     | 
| 
      
 46 
     | 
    
         
            +
                .btn{
         
     | 
| 
      
 47 
     | 
    
         
            +
                    width: 100% !important;
         
     | 
| 
      
 48 
     | 
    
         
            +
                    margin-top: 30px;
         
     | 
| 
      
 49 
     | 
    
         
            +
                }
         
     | 
| 
      
 50 
     | 
    
         
            +
                .fileUploadSection{
         
     | 
| 
      
 51 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 52 
     | 
    
         
            +
                    margin-bottom: 30px;
         
     | 
| 
      
 53 
     | 
    
         
            +
                }
         
     | 
| 
      
 54 
     | 
    
         
            +
                .fileInfoSection{
         
     | 
| 
      
 55 
     | 
    
         
            +
                    display: flex;
         
     | 
| 
      
 56 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 57 
     | 
    
         
            +
                }
         
     | 
| 
      
 58 
     | 
    
         
            +
            }
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            /* Media query for screens between 600px and 900px */
         
     | 
| 
      
 61 
     | 
    
         
            +
            @media screen and (min-width: 600px) and (max-width: 900px) {
         
     | 
| 
      
 62 
     | 
    
         
            +
                .fileUploaderContainer{
         
     | 
| 
      
 63 
     | 
    
         
            +
                    background-color: #f2f2f2;
         
     | 
| 
      
 64 
     | 
    
         
            +
                    padding: 30px;
         
     | 
| 
      
 65 
     | 
    
         
            +
                    display: flex;
         
     | 
| 
      
 66 
     | 
    
         
            +
                    align-items: center;
         
     | 
| 
      
 67 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 68 
     | 
    
         
            +
                }
         
     | 
| 
      
 69 
     | 
    
         
            +
                .btn{
         
     | 
| 
      
 70 
     | 
    
         
            +
                    width: 100% !important;
         
     | 
| 
      
 71 
     | 
    
         
            +
                    margin-top: 30px;
         
     | 
| 
      
 72 
     | 
    
         
            +
                }
         
     | 
| 
      
 73 
     | 
    
         
            +
                .fileUploadSection{
         
     | 
| 
      
 74 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 75 
     | 
    
         
            +
                    margin-bottom: 30px;
         
     | 
| 
      
 76 
     | 
    
         
            +
                }
         
     | 
| 
      
 77 
     | 
    
         
            +
                .fileInfoSection{
         
     | 
| 
      
 78 
     | 
    
         
            +
                    display: flex;
         
     | 
| 
      
 79 
     | 
    
         
            +
                    width: 100%;
         
     | 
| 
      
 80 
     | 
    
         
            +
                }
         
     | 
| 
      
 81 
     | 
    
         
            +
            }
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
            /* Media query for screens larger than 1200px */
         
     | 
| 
      
 84 
     | 
    
         
            +
            @media screen and (min-width: 1200px) {
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,69 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { type MenuTheme } from 'antd/es/menu'
         
     | 
| 
      
 2 
     | 
    
         
            +
            import type { appStateEnums } from 'config'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            interface AppStates {
         
     | 
| 
      
 5 
     | 
    
         
            +
              hideImportantMessages?: boolean
         
     | 
| 
      
 6 
     | 
    
         
            +
              collapsed?: boolean
         
     | 
| 
      
 7 
     | 
    
         
            +
              chatIsOpen: boolean
         
     | 
| 
      
 8 
     | 
    
         
            +
              sessionId: string
         
     | 
| 
      
 9 
     | 
    
         
            +
            }
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            interface AppContextProps {
         
     | 
| 
      
 12 
     | 
    
         
            +
              state: AppStates
         
     | 
| 
      
 13 
     | 
    
         
            +
              dispatch: React.Dispatch<any>
         
     | 
| 
      
 14 
     | 
    
         
            +
            }
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            interface AppAction {
         
     | 
| 
      
 18 
     | 
    
         
            +
              type: appStateEnums
         
     | 
| 
      
 19 
     | 
    
         
            +
              theme: MenuTheme
         
     | 
| 
      
 20 
     | 
    
         
            +
              hideImportantMessages: boolean
         
     | 
| 
      
 21 
     | 
    
         
            +
              collapsed: boolean
         
     | 
| 
      
 22 
     | 
    
         
            +
              chatIsOpen: boolean
         
     | 
| 
      
 23 
     | 
    
         
            +
            }
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            type NotificationType = 'info' | 'warning' | 'success' | 'error'
         
     | 
| 
      
 26 
     | 
    
         
            +
            interface NOTIFICATION_DT {
         
     | 
| 
      
 27 
     | 
    
         
            +
              id: number
         
     | 
| 
      
 28 
     | 
    
         
            +
              message: string
         
     | 
| 
      
 29 
     | 
    
         
            +
              timestamp: number
         
     | 
| 
      
 30 
     | 
    
         
            +
              type: NotificationType
         
     | 
| 
      
 31 
     | 
    
         
            +
            }
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            interface Plan {
         
     | 
| 
      
 34 
     | 
    
         
            +
              name: string
         
     | 
| 
      
 35 
     | 
    
         
            +
              price: string
         
     | 
| 
      
 36 
     | 
    
         
            +
              accounts: number | string
         
     | 
| 
      
 37 
     | 
    
         
            +
              complianceFrameworks: number | string
         
     | 
| 
      
 38 
     | 
    
         
            +
              features: string[]
         
     | 
| 
      
 39 
     | 
    
         
            +
            }
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            interface SUBSCRIPTION {
         
     | 
| 
      
 42 
     | 
    
         
            +
              tier: 'free' | 'basic' | 'advanced' | 'premium' | null
         
     | 
| 
      
 43 
     | 
    
         
            +
              status: 'active' | 'inactive' | null
         
     | 
| 
      
 44 
     | 
    
         
            +
              created: number | null
         
     | 
| 
      
 45 
     | 
    
         
            +
              next_billing_date?: number | null
         
     | 
| 
      
 46 
     | 
    
         
            +
            }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            interface AppconfigType {
         
     | 
| 
      
 49 
     | 
    
         
            +
              appTitle: string;
         
     | 
| 
      
 50 
     | 
    
         
            +
              file_name: string | undefined;
         
     | 
| 
      
 51 
     | 
    
         
            +
              windowColor: string;
         
     | 
| 
      
 52 
     | 
    
         
            +
            }
         
     | 
| 
      
 53 
     | 
    
         
            +
            interface docInfoType {
         
     | 
| 
      
 54 
     | 
    
         
            +
              name: string;
         
     | 
| 
      
 55 
     | 
    
         
            +
              size: number;
         
     | 
| 
      
 56 
     | 
    
         
            +
              type: string;
         
     | 
| 
      
 57 
     | 
    
         
            +
            }
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
            export type {
         
     | 
| 
      
 60 
     | 
    
         
            +
              AppStates,
         
     | 
| 
      
 61 
     | 
    
         
            +
              AppAction,
         
     | 
| 
      
 62 
     | 
    
         
            +
              AppContextProps,
         
     | 
| 
      
 63 
     | 
    
         
            +
              NOTIFICATION_DT,
         
     | 
| 
      
 64 
     | 
    
         
            +
              NotificationType,
         
     | 
| 
      
 65 
     | 
    
         
            +
              Plan,
         
     | 
| 
      
 66 
     | 
    
         
            +
              SUBSCRIPTION,
         
     | 
| 
      
 67 
     | 
    
         
            +
              AppconfigType,
         
     | 
| 
      
 68 
     | 
    
         
            +
              docInfoType,
         
     | 
| 
      
 69 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { v4 as uuidv4 } from 'uuid'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            const SESSION_KEY: string = 'bibotUserSessionId'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            const getSessionId = (): string => {
         
     | 
| 
      
 6 
     | 
    
         
            +
              const sessionId = localStorage.getItem(SESSION_KEY)
         
     | 
| 
      
 7 
     | 
    
         
            +
              if (sessionId === null) {
         
     | 
| 
      
 8 
     | 
    
         
            +
                const newSessionId = uuidv4()
         
     | 
| 
      
 9 
     | 
    
         
            +
                localStorage.setItem(SESSION_KEY, newSessionId)
         
     | 
| 
      
 10 
     | 
    
         
            +
                return newSessionId
         
     | 
| 
      
 11 
     | 
    
         
            +
              }
         
     | 
| 
      
 12 
     | 
    
         
            +
              return sessionId
         
     | 
| 
      
 13 
     | 
    
         
            +
            }
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            export { getSessionId }
         
     | 
| 
         @@ -0,0 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            const trimWhitespace = (e: any) => {
         
     | 
| 
      
 2 
     | 
    
         
            +
              // Check if the event has a target (it's an input event)
         
     | 
| 
      
 3 
     | 
    
         
            +
              if (e?.target) {
         
     | 
| 
      
 4 
     | 
    
         
            +
                // If it's a string, trim the whitespace; otherwise, return the value as is
         
     | 
| 
      
 5 
     | 
    
         
            +
                return typeof e.target.value === 'string' ? e.target.value.trim() : e.target.value
         
     | 
| 
      
 6 
     | 
    
         
            +
              }
         
     | 
| 
      
 7 
     | 
    
         
            +
              // If it's not an input event, return the value as is
         
     | 
| 
      
 8 
     | 
    
         
            +
              return e
         
     | 
| 
      
 9 
     | 
    
         
            +
            }
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            export { trimWhitespace }
         
     | 
    
        package/tsconfig.json
    ADDED
    
    | 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {
         
     | 
| 
      
 2 
     | 
    
         
            +
              "compilerOptions": {
         
     | 
| 
      
 3 
     | 
    
         
            +
                "outDir": "./dist",
         
     | 
| 
      
 4 
     | 
    
         
            +
                "module": "esnext",
         
     | 
| 
      
 5 
     | 
    
         
            +
                "target": "es5",
         
     | 
| 
      
 6 
     | 
    
         
            +
                "lib": ["dom", "dom.iterable", "esnext"],
         
     | 
| 
      
 7 
     | 
    
         
            +
                "jsx": "react-jsx",
         
     | 
| 
      
 8 
     | 
    
         
            +
                "moduleResolution": "node",
         
     | 
| 
      
 9 
     | 
    
         
            +
                "declaration": true,
         
     | 
| 
      
 10 
     | 
    
         
            +
                "sourceMap": true,
         
     | 
| 
      
 11 
     | 
    
         
            +
                "skipLibCheck": true,
         
     | 
| 
      
 12 
     | 
    
         
            +
                "esModuleInterop": true,
         
     | 
| 
      
 13 
     | 
    
         
            +
                "forceConsistentCasingInFileNames": true,
         
     | 
| 
      
 14 
     | 
    
         
            +
                "strict": true,
         
     | 
| 
      
 15 
     | 
    
         
            +
                "noImplicitAny": true,
         
     | 
| 
      
 16 
     | 
    
         
            +
                "noImplicitThis": true,
         
     | 
| 
      
 17 
     | 
    
         
            +
                "strictNullChecks": true,
         
     | 
| 
      
 18 
     | 
    
         
            +
                "baseUrl": "src",
         
     | 
| 
      
 19 
     | 
    
         
            +
                "paths": {
         
     | 
| 
      
 20 
     | 
    
         
            +
                  "@/*": ["./src/*"]
         
     | 
| 
      
 21 
     | 
    
         
            +
                }
         
     | 
| 
      
 22 
     | 
    
         
            +
              },
         
     | 
| 
      
 23 
     | 
    
         
            +
              "include": ["src/**/*", "tailwind.config.ts", "uuid.d.ts"],
         
     | 
| 
      
 24 
     | 
    
         
            +
              "exclude": ["node_modules", "dist", "example"]
         
     | 
| 
      
 25 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module: {
         
     | 
| 
      
 2 
     | 
    
         
            +
                rules: [
         
     | 
| 
      
 3 
     | 
    
         
            +
                  {
         
     | 
| 
      
 4 
     | 
    
         
            +
                    test: /\.(ts|tsx)$/,
         
     | 
| 
      
 5 
     | 
    
         
            +
                    exclude: /node_modules/,
         
     | 
| 
      
 6 
     | 
    
         
            +
                    use: {
         
     | 
| 
      
 7 
     | 
    
         
            +
                      loader: 'babel-loader',
         
     | 
| 
      
 8 
     | 
    
         
            +
                      options: {
         
     | 
| 
      
 9 
     | 
    
         
            +
                        presets: [
         
     | 
| 
      
 10 
     | 
    
         
            +
                          '@babel/preset-env',
         
     | 
| 
      
 11 
     | 
    
         
            +
                          '@babel/preset-react',
         
     | 
| 
      
 12 
     | 
    
         
            +
                          '@babel/preset-typescript'
         
     | 
| 
      
 13 
     | 
    
         
            +
                        ]
         
     | 
| 
      
 14 
     | 
    
         
            +
                      }
         
     | 
| 
      
 15 
     | 
    
         
            +
                    }
         
     | 
| 
      
 16 
     | 
    
         
            +
                  }
         
     | 
| 
      
 17 
     | 
    
         
            +
                ]
         
     | 
| 
      
 18 
     | 
    
         
            +
              }
         
     | 
| 
      
 19 
     | 
    
         
            +
              
         
     |