UNPKG

@groupdocs.examples.jquery/signature

Version:

jQuery plugin that allows to display and sign documents supported by groupdocs libraries APIs

926 lines (893 loc) 18.6 kB
/* ****************************************** FIX DOCUMENT PAGE POSITION FOR IMAGE SIGNATURE ****************************************** */ .gd-page { position: relative !important; margin-left:50px !important; } .gd-save-disabled { cursor: not-allowed !important; } #gd-header-logo { background-image: url('../images/logo.png') !important; } .gd-mobile-menu { display: none; } .gd-mobile-menu-open { display: none; } .gd-mobile-menu-close { display: none; } /* ****************************************** SIGNATURE TOOL BAR ****************************************** */ .gd-left-bar-wrapper { position: absolute; top: 50px; left: 0px; bottom: 0px; z-index: 99999; } .gd-left-bar-tools-container { height: 100%; background: #FFFFFF; -webkit-border-radius: 0px; -moz-border-radius: 0px; border-radius: 0px; float: left; z-index: 1; } .gd-left-bar-tools-container ul li { margin: 10px; } .gd-tool .gd-popupdiv-hover { display: none; } .gd-tool-inactive > i { color: #959da5; } .gd-tool-active > i { color: #414E59; } .gd-tool:hover .gd-popupdiv-hover { display: block; } .gd-tool { width: 32px; height: 32px; border: none; background-color: transparent; border-radius: 3px; position: relative; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; outline: none; display: inline-block; margin: 3px 0px 0px 1px; text-align: center; vertical-align: middle; cursor: pointer; } .gd-tool-tooltip { position: absolute; left: 35px !important; top: 10px; padding: 3px 0.5em; background-color: #08090a; color: #fff !important; text-align: center; border-radius: 2px; z-index: 20; font-size: 12px; } .gd-tool-tooltip::after { right: 100%; top: 50%; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border: 5px solid rgba(0, 0, 0, 0); border-right-color: #000000; margin-top: -5px; } .gd-signature-context-panel { display: none; background-color: #F3F3F3; left: 53px; width: 300px; height: 100%; position: absolute; } .gd-signature-context-panel::after { right: 100%; top: 50%; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border: 5px solid rgba(0, 0, 0, 0); border-right-color: #F3F3F3; margin-top: -5px; } .gd-signature-context-pane-wrapper{ display: flex; flex:1; flex-direction: column; align-items: stretch; height: 95vh; } .gd-signature-context-panel.text::after { top: 30px; } .gd-signature-context-panel.image::after { top: 75px; } .gd-signature-context-panel.digital::after { top: 120px; } .gd-signature-context-panel.qrCode::after { top: 165px; } .gd-signature-context-panel.barCode::after { top: 210px; } .gd-signature-context-panel.stamp::after { top: 255px; } .gd-signature-context-panel.hand::after { top: 300px; } .gd-signature-list-wrapper-add-img { height: Calc(100% - 340px) !important; } .gd-signature-list-wrapper { display: flex; flex-direction: column; flex:1; overflow: auto; } .gd-signature-empty-list { flex-direction: column; display: flex; text-align: center; color: #0000001a; } .gd-signature-empty-list i{ font-size: 60px; padding: 87px 97px 0px; } .gd-empty-list-text { padding: 18px 38px 0px; font-size: 12px; } .gd-signature-list-scroll { overflow-x: hidden; overflow-y: auto !important; } .gd-signature-list { display: flex; flex-direction: column; width: 100%; padding: 0px 11px 12px 12px; } .gd-signature-list-title{ display: flex; flex-direction: row-reverse; justify-content: space-between; } .gd-signature-list-title > i { padding: 15px 25px 0px 15px; color: #676767; cursor: pointer; width: 12px; height: 20px; font-size: 15px; } .gd-signature-context-upload-title, .gd-signature-context-panel-title { color: #AAAAAA; font-size: 12px; font-family: Helvetica; font-weight: bold; margin: 16px 12px 12px 12px; } .gd-left-bar-spinner { left: 30%; top: 50%; position: absolute; } .gd-left-bar-fade { position: fixed; margin: auto; display: none; overflow: hidden; top: 50px; right: Calc(100% - 315px); bottom: 0; left: 0; z-index: 1050; -webkit-overflow-scrolling: touch; outline: 0; background-color: rgba(255,255,255,0.5); } .gd-upload-container { background-color: #ffffff; height: 252px; border: 1px solid #3787f5; border-radius: 5px; margin: 0px 10px 0px 12px; } .gd-add-upload-file.active, .gd-sign-digital.active { background-color: #3787F5; } .gd-add-upload-file, .gd-sign-digital { height: 27px; background-color: #969696; margin: 9px 8px 7px 8px; border-radius: 3px; text-align: center; color: #ffffff; font-size: 13px; box-shadow: 0 0 3px #ddd; cursor: pointer; padding-top: 5px; } .gd-upload-inputs { height: 201px; text-align: center; margin: 7px 8px 9px 6px; box-shadow: 0 0 3px rgba(0, 0, 0, 0.16); border-radius: 3px; display: flex; flex-direction: column; justify-content: center; align-content: center; } .gd-upload-inputs i { font-size: 52px; color: #959DA5; } .gd-upload-title { color: #5C737F; font-size: 13px; margin: 10px 0px 0px 0px; } .gd-upload-inputs input { opacity: 0; position: absolute; cursor: pointer; width: fit-content; height: 203px; } .gd-digital-input-wrapper { margin: 0px 5px 8px 8px; display: flex; } .gd-digital-inputs input { width: 263px; height: 27px; border: 1px solid rgba(92, 115, 127, 0.3); border-radius: 3px; padding-left: 28px; } .gd-digital-inputs i { position: absolute; font-size: 12px; margin: 7px 0px 7px 7px; color: #ccc !important; } /* ****************************************** MODAL ****************************************** */ .gd-modal-lightbox { display: none; overflow: hidden; z-index: 1050; -webkit-overflow-scrolling: touch; outline: 0; background-color: rgba(0,0,0,0.5); position: fixed; top: 0; right: 0; bottom: 0; left: 0; } .gd-modal-header-lightbox { display: flex; flex-direction: row; height: 50px; justify-content: space-between; } .gd-modal-header-title { display: flex; flex-direction: row; } .gd-modal-title-lightbox { font-size: 16px; font-weight: 400; line-height: 52px; color: #ffffff; } .gd-modal-dialog-lightbox { width: 1079px; height: 592px; margin: auto; position: fixed; top: 0; bottom: 0; left: 0; right: 0; } .gd-lightbox-close { font-size: 21px; width: fit-content; color: #959da5; margin: 13px 16px 0px 16px; cursor: pointer; } .gd-modal-title { font-size: 16px; font-weight: 400; margin: 19px 0px 17px 0px; padding: 0px; } #gd-lightbox-body { background-color: rgba(0, 0, 0, 0); background-image: url(../images/stampBackground.png) !important; /*important! for right draggable positions*/ position: absolute; } .gd-signature-title { width: calc(100% - 40px); margin: 20px 0px 20px 0px; height: fit-content; } .gd-signature-title.text { padding-left: 20px; } .gd-signature-item { display: flex; width: 100%; flex-direction: row; } .gd-signature-item i { font-size: 15px; color: #676767; cursor: pointer; height: fit-content; margin: 22px 17px 20px 0px; } .gd-signature-item .gd-signature-name { max-width: 130px; font-size: 13px; color: rgba(0,0,0,0.36); cursor: pointer; text-overflow:ellipsis; white-space:nowrap; display: block; overflow: hidden; width: inherit; } .gd-signature-thumbnail-text, .gd-signature-thumbnail-image, .gd-signature-thumbnail-hand { min-width: 74px; height: 41px; margin: 8px 15px 8px 11px; } .gd-signature-thumbnail-image { min-width: 41px; } .gd-signature-thumbnail-qrCode, .gd-signature-thumbnail-barCode { width: auto; height: 44px; margin: 10px 30px 8px 8px; } .gd-signature-thumbnail-stamp { width: auto; height: 48px; margin: 7px 29px 7px 11px; } .gd-signature-thumbnail { background-color: rgba(255,255,255,0.75); width: 100%; align-items: center; border-radius: 3px; cursor: pointer; position: relative; margin-bottom: 6px; min-height: 62px; } .gd-signature-thumbnail:hover{ background-color: rgba(255,255,255,1); } .gd-signature-thumbnail-digital i { font-size: 30px; padding: 0; margin: 0px; opacity: 0.25; } .gd-signature-thumbnail-digital { margin: 20px 25px 8px 16px; width: auto; } /* ****************************************** Fade annimation ****************************************** */ .gd-modal-lightbox.fade .gd-modal-dialog { -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); -webkit-transition: -webkit-transform 0.3s ease-out; -moz-transition: -moz-transform 0.3s ease-out; -o-transition: -o-transform 0.3s ease-out; transition: transform 0.3s ease-out; } .gd-modal-lightbox.in .gd-modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } /* ****************************************** DRAW IMAGE SLIDE ****************************************** */ .gd-lightbox-header { } /* ****************************************** SIGNATURE INFORMATION REVIEW SLIDE ****************************************** */ #gd-modal-signed { top: 20px; left: 35px; } /* ****************************************** SIGNATURE IMAGE ****************************************** */ .gd-draggable-helper, .ui-wrapper { position: absolute !important; outline: 1px solid #679FFA; } .gd-image-signed { top: 69px !important; } .gd-signature-image { width: 100% !important; height: inherit; } .gd-context-menu-bottom { bottom: -40px; } .gd-context-menu-top { top: -44px; } .gd-context-menu { box-shadow: rgba(0, 0, 0, 0.52) 0px 0px 5px; background-color: #FFFFFF; border-radius: 3px; position: absolute; left: 0; right: 0; margin: auto; cursor: default; width: max-content; width: -moz-max-content; width: -webkit-max-content; display: flex; flex-direction: row; } .gd-text { width: inherit; height: inherit; border: none; } .gd-context-menu .fa-arrows-alt { cursor: move; } .gd-context-menu i { color: #5c737f; padding: 10px 7px 10px 10px; font-size: 14px; border-radius: 3px; } .gd-context-menu i:last-child{ padding: 10px 10px 10px 10px; } .gd-context-menu .gd-text-color-picker{ margin: 7px 0px 7px 7px; } .gd-context-menu i.active { background-color: #e7e7e7; } .gd-text-menu { display: flex; flex-direction: row; } .gd-text-menu select{ margin-right: 7px; } .gd-delete-signature { cursor: pointer; } .gd-copy-signature { cursor: pointer; } .gd-fonts-select { border: none; } .gd-text-color-picker{ width: 18px; height: 18px; padding: 2px; margin-left: 5px; margin-right: 5px; } .gd-font-size-input-wrapper { width: 39px; height: 33px; margin: 0px 7px 0px 6px; } .gd-font-size { border: 0; width: 20px; height: 33px; } .gd-font-size-input-wrapper i { position: relative; padding: 0 !important; font-size: 16px; cursor: pointer; height: 10px; width: 14px; display: flex; margin: auto; left: 17px; top: -28px; } /* ****************************************** SIGNATURE IMAGE RESIZE HANDLES ****************************************** */ .ui-resizable-handle { background-color: #679FFA; width: 8px; height: 8px; border-radius: 100%; } .ui-resizable-se { bottom: -5px; right: -5px; } .ui-resizable-e, .ui-resizable-w { top: calc(100% - 55%) !important; } .ui-resizable-s, .ui-resizable-n { left: calc(100% - 55%) !important; } /* ****************************************** Digital signature signed marker ****************************************** */ .gd-digital-marker { background-color: #3787F5; height: 16px; width: 100%; text-align: left; display: flex; position: absolute; bottom: 0; } .gd-digital-marker i { color: #FFFFFF; font-size: 10px; margin: 3px 0 3px 3px; } .gd-digital-marker div { font-size: 8px; color: #FFFFFF; margin: 3px 0 3px 4px; } /* ****************************************** TEMPORARY USED ELEMENTS EXCEL DOCUMENTS IMAGE SIGNING FIX ****************************************** */ .gd-lightbox-body { padding: 0 !important; } .gd-draw-text { width: inherit; height: inherit; } .gd-context-menu{ z-index: 999999; } .gd-signature.inactive .ui-resizable-handle{ display: none; } .gd-signature.inactive{ outline: 1px solid transparent; } .gd-signature.inactive .gd-context-menu{ display: none; } .check_mark { width: 80px; height: 130px; margin: 0 auto; } .sa-icon { width: 80px; height: 80px; border: 4px solid gray; -webkit-border-radius: 40px; border-radius: 40px; border-radius: 50%; margin: 20px auto; padding: 0; position: relative; box-sizing: content-box; } .sa-icon.sa-success { border-color: #4CAF50; } .sa-icon.sa-success::before, .sa-icon.sa-success::after { content: ''; -webkit-border-radius: 40px; border-radius: 40px; border-radius: 50%; position: absolute; width: 60px; height: 120px; background: white; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .sa-icon.sa-success::before { -webkit-border-radius: 120px 0 0 120px; border-radius: 120px 0 0 120px; top: -7px; left: -33px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transform-origin: 60px 60px; transform-origin: 60px 60px; } .sa-icon.sa-success::after { -webkit-border-radius: 0 120px 120px 0; border-radius: 0 120px 120px 0; top: -11px; left: 30px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transform-origin: 0px 60px; transform-origin: 0px 60px; } .sa-icon.sa-success .sa-placeholder { width: 80px; height: 80px; border: 4px solid rgba(76, 175, 80, .5); -webkit-border-radius: 40px; border-radius: 40px; border-radius: 50%; box-sizing: content-box; position: absolute; left: -4px; top: -4px; z-index: 2; } .sa-icon.sa-success .sa-fix { width: 5px; height: 90px; background-color: white; position: absolute; left: 28px; top: 8px; z-index: 1; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } .sa-icon.sa-success.animate::after { -webkit-animation: rotatePlaceholder 4.25s ease-in; animation: rotatePlaceholder 4.25s ease-in; } .sa-icon.sa-success { border-color: transparent\9; } .sa-icon.sa-success .sa-line.sa-tip { -ms-transform: rotate(45deg) \9; } .sa-icon.sa-success .sa-line.sa-long { -ms-transform: rotate(-45deg) \9; } .animateSuccessTip { -webkit-animation: animateSuccessTip 0.75s; animation: animateSuccessTip 0.75s; } .animateSuccessLong { -webkit-animation: animateSuccessLong 0.75s; animation: animateSuccessLong 0.75s; } @-webkit-keyframes animateSuccessLong { 0% { width: 0; right: 46px; top: 54px; } 65% { width: 0; right: 46px; top: 54px; } 84% { width: 55px; right: 0px; top: 35px; } 100% { width: 47px; right: 8px; top: 38px; } } @-webkit-keyframes animateSuccessTip { 0% { width: 0; left: 1px; top: 19px; } 54% { width: 0; left: 1px; top: 19px; } 70% { width: 50px; left: -8px; top: 37px; } 84% { width: 17px; left: 21px; top: 48px; } 100% { width: 25px; left: 14px; top: 45px; } } @keyframes animateSuccessTip { 0% { width: 0; left: 1px; top: 19px; } 54% { width: 0; left: 1px; top: 19px; } 70% { width: 50px; left: -8px; top: 37px; } 84% { width: 17px; left: 21px; top: 48px; } 100% { width: 25px; left: 14px; top: 45px; } } @keyframes animateSuccessLong { 0% { width: 0; right: 46px; top: 54px; } 65% { width: 0; right: 46px; top: 54px; } 84% { width: 55px; right: 0px; top: 35px; } 100% { width: 47px; right: 8px; top: 38px; } } .sa-icon.sa-success .sa-line { height: 5px; background-color: #4CAF50; display: block; border-radius: 2px; position: absolute; z-index: 2; } .sa-icon.sa-success .sa-line.sa-tip { width: 25px; left: 14px; top: 46px; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .sa-icon.sa-success .sa-line.sa-long { width: 47px; right: 8px; top: 38px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } @-webkit-keyframes rotatePlaceholder { 0% { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); } 5% { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); } 12% { transform: rotate(-405deg); -webkit-transform: rotate(-405deg); } 100% { transform: rotate(-405deg); -webkit-transform: rotate(-405deg); } } @keyframes rotatePlaceholder { 0% { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); } 5% { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); } 12% { transform: rotate(-405deg); -webkit-transform: rotate(-405deg); } 100% { transform: rotate(-405deg); -webkit-transform: rotate(-405deg); } } .gd-modal.success .gd-modal-dialog{ width: 400px; height: 250px; left: calc(50% - 200px); }