* fix: REST API utf-8 decoding on creates/updates Creating or updating a document via the REST API would generate an error of: `TypeError: the JSON object must be str, not 'bytes'` Because get_data() returns bytes which must be explicitly converted to a string before parsing as JSON. Defect introduced byefe94886aanda71a92341e* fix(patch): Handle failures in while making Prepared Report attachments private * case insensitive search for postgres * convert operator to lowercase while checking * fix: Pass prepared_report_name as filter if exists * fix: Add input to multiselect_list control * fix(reportview): convert to unicode conditionally fixes TypeError: decoding str is not supported Traceback (most recent call last): File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 57, in application response = frappe.handler.handle() File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle data = execute_cmd(cmd) File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 61, in execute_cmd return frappe.call(method, **frappe.form_dict) File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 1038, in call return fn(*args, **newargs) File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 511, in wrapper_fn retval = fn(*args, **get_newargs(fn, kwargs)) File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/reportview.py", line 177, in export_query frappe.response['result'] = text_type(f.read(), 'utf-8') TypeError: decoding str is not supported Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> * chore: remove useless encode Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> * fix: Allow Rename in Website Route Meta * fix: Add Visit Web Page button in form * fix: next schedule date should be on or after current date * test: next schedule date * fix: Change modified by * fix: do not allow bulk update for core, single doctypes and doctypes from inactive domains * fix: switch to safe_decode * test: Fix list_view test by removing clear-cache code (#8941) * test: Fix listview test by waiting for clear-cache * test: Move wait to list_view.js * test: Try removing clear-cache * fix(integration): Social Login Key (#8940) add missing field * fix: don't set filter for restrict_to_domain in Bulk Update Tool * fix: query report chart options * fix: Default and company address fixes * fix: revert changes made to get_default_address function * fix: Remove changes in notifications * fix: list view group by filter ambiguous column name * fix: changelog modal ui * test: list view child table filter with created by filter * fix: not able to download XML file * fix(security): invalidate reset_password_key on password reset currently there is no way to invalidate reset_password_key on updating password through the user settings. so whenever the user sets a new password we'll invalidate the reset_password_key, so that existing links to reset user passwords cannot be used. Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> * fix: Pin faker version to avoid test failures * perf: optimise globals search * fix: add index on child table * fix: do not pop item from list * fix: dont add index for global search doctype * fix: rename function to set * tests: fix results being return * fix: codacy fixes * fix: Code cleanup - Pass values so that db cursor can handle escaping * fix: Convert list to tuple * style: added semi-colon * fix: add default role on sign up via SSO * fix(autocomplete): parse options (#8999) * fix(autocomplete): parse options * fix: add ignore validation flag * fix: minor change * fix(email): try to encode email part to utf-8 (#8964) fixes issues with class objects other than str Traceback (most recent call last): File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py", line 281, in receive communication = self.insert_communication(msg, args=args) File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py", line 338, in insert_communication email = Email(raw) File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 372, in __init__ self.parse() File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 393, in parse self.process_part(part) File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 445, in process_part self.text_content += self.get_payload(part) File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 489, in get_payload charset = self.get_charset(part) File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 484, in get_charset charset = chardet.detect(frappe.safe_encode(part))['encoding'] File "/home/frappe/frappe-bench/env/lib/python3.6/site-packages/chardet/__init__.py", line 34, in detect '{0}'.format(type(byte_str))) TypeError: Expected object of type bytes or bytearray, got: <class 'email.message.Message'> Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> * fix: Ambiguous column error when going to next doc (#9005) fix: Ambiguous column error when going to next doc Co-authored-by: Prssanna Desai <prssud@gmail.com> * fix(patch): auto commit on more than 10000 writes fixes issue where patch fails with: frappe.exceptions.ValidationError: Too many writes in one request. Please send smaller requests Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> * revert: changes in currency formatting (#9003) * fix: reverted currency formatting * ux: added description for currency's number format * It doesn't have any effect on how the currency is formatted. * fix: revert json changes in currency master * fix(filters): set default id to empty string instead of 0 (#9014) fixes issue where "undefined" value gets set to 0 in postgres, which causes ProgrammingError since the expected value is of type str and not int * revert: changes in currency formatting (#9003) * fix: reverted currency formatting * ux: added description for currency's number format * It doesn't have any effect on how the currency is formatted. * fix: revert json changes in currency master * feat: add doc for email linking * fix: missing commits while reverting currency changes * fix(file): Public-private issue (#9032) * fix: Pass file's is_private for doc creation * fix: File is_private and file_url mismatch * fix: Check if file_url exists * fix: Validation check * fix(postgres): Convert is_private to int * fix: File path for content_hash * fix: Show default currency as a fallback for currency fieldtype (#8992) * fix: Show default currency as a fallback for currency fieldtype * test: Add a test for currency formatting * fix: Add a patch to fix all user's home settings (#9040) * fix: Add a patch to fix all user's home settings * fix: Remove limit * fix: Allow field of submitted doc to edit if field has allow_on_submit enabled * test: Add test to check if field is editable * fix: Typo * test: Add assert statement for value * test: Clear cache after creating doctype * fix: Codacy * fix checkbox behavior in rtl view when clicking on label to check (#8898) * fix checkbox behavior in rtl view when clicking on label to check * fix: Undo changes in desk.css * fix: Empty row validation * style: Fix code formatting * fix: Terminate regex * fix: don't validate email for standard filters * fix: before setting user default value, if fieldtype is Link check if doc exists * Revert "fix: user default value for Link fields" * before setting user default value, if fieldtype is Link check if doc exists * fix: Remove Attachment on remove * fix: minor changes * style: fix Codacy issue There should be no space before ','. (comma-spacing) * fix: rfc5322 compliance for python3 (#9056) * start of tests * rfc compliant emails for frappe. * fix for deepsource * fix length of strings. * fix bug that I'm not sure where it came from? * codacy and deepsource issues trying to keep them happy * take a punt in the dark * fix: use SMTPUTF8 instead of SMTP and other minor fixes Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> * fix: patch home_settings_for_all_users * style: Fix Codacy * fix: KeyError: 'hidden_modules' * fix: TypeError in home_settings patch Convert set to list * refactor: override style for changelog modal * Merge V12-pre-release to version-12-hotfix (#9094) Merge V12-pre-release to version-12-hotfix Co-authored-by: null <rohitw1991@gmail.com> Co-authored-by: Prssanna Desai <prssud@gmail.com> Co-authored-by: Chinmay Pai <chinmaydpai@gmail.com> Co-authored-by: Vishal Dhayagude <vishaldhayagude09@gmail.com> Co-authored-by: Himanshu <himanshuwarekar@yahoo.com> Co-authored-by: null <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: null <sahilkhan28297@gmail.com> * Revert queue.py Co-authored-by: Ben Knowles <benknowles@users.noreply.github.com> Co-authored-by: Aditya Hase <aditya@adityahase.com> Co-authored-by: Shridhar Patil <shridharpatil2792@gmail.com> Co-authored-by: Faris Ansari <netchampfaris@users.noreply.github.com> Co-authored-by: Chinmay Pai <chinmaydpai@gmail.com> Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com> Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Shivam Mishra <scmmishra@users.noreply.github.com> Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com> Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com> Co-authored-by: Himanshu <himanshuwarekar@yahoo.com> Co-authored-by: Rohan <Alchez@users.noreply.github.com> Co-authored-by: Mangesh-Khairnar <mkhairnar10@gmail.com> Co-authored-by: Prssanna Desai <prssud@gmail.com> Co-authored-by: Saqib <thefalconx33@gmail.com> Co-authored-by: Nabin Hait <nabinhait@gmail.com> Co-authored-by: Ammar Hararah <ammarkharara@gmail.com> Co-authored-by: Vishal Dhayagude <vishdha@users.noreply.github.com> Co-authored-by: sahil28297 <37302950+sahil28297@users.noreply.github.com>
1157 lines
16 KiB
Text
1157 lines
16 KiB
Text
@import "variables.less";
|
|
@import "mixins.less";
|
|
@import "common.less";
|
|
@import "print.less";
|
|
|
|
.nav-pills a, .nav-pills a:hover {
|
|
border-bottom: none;
|
|
}
|
|
|
|
a.form-link {
|
|
color: inherit;
|
|
font-weight: bold;
|
|
font-size: 102%;
|
|
}
|
|
|
|
a[disabled="disabled"] {
|
|
color: @text-muted;
|
|
text-decoration: none;
|
|
cursor: default;
|
|
|
|
&:hover {
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
|
|
.link-primary& {
|
|
color: @brand-primary;
|
|
|
|
&:hover, &:focus {
|
|
color: @brand-primary;
|
|
}
|
|
}
|
|
|
|
.scroll-to-top {
|
|
background-color: @light-bg;
|
|
padding: 7px;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.alert-badge {
|
|
margin: 4px 0px;
|
|
}
|
|
|
|
.alert-badge .badge {
|
|
margin-top: 3px;
|
|
}
|
|
|
|
/* alert */
|
|
|
|
|
|
#alert-container {
|
|
position: fixed;
|
|
bottom: 0px;
|
|
right: 20px;
|
|
z-index: 1050;
|
|
}
|
|
|
|
#alert-container .desk-alert {
|
|
box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1);
|
|
max-width: 400px;
|
|
min-width: 200px;
|
|
max-height: 200px;
|
|
background-color: @light-yellow;
|
|
border: 1px solid @border-color;
|
|
|
|
// word-break: break-all;
|
|
overflow-y: auto;
|
|
position: relative;
|
|
transform: translateX(calc(100% + 20px));
|
|
transition: transform 300ms ease;
|
|
padding: 0px;
|
|
|
|
.alert-message {
|
|
padding: 10px 40px 10px 10px;
|
|
|
|
.indicator::before {
|
|
margin-bottom: 1px;
|
|
}
|
|
}
|
|
|
|
.close {
|
|
position: absolute;
|
|
top: 10px;
|
|
right: 10px;
|
|
color: inherit;
|
|
opacity: 1;
|
|
font-size: inherit;
|
|
}
|
|
|
|
.next-action-container {
|
|
display: flex;
|
|
|
|
.next-action {
|
|
border: none;
|
|
background: none;
|
|
width: 100%;
|
|
border-top: 1px solid @border-color;
|
|
border-right: 1px solid @border-color;
|
|
padding: 7px;
|
|
outline: none;
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
color: @text-light;
|
|
|
|
&:hover {
|
|
background-color: darken(@light-yellow, 5%);
|
|
}
|
|
|
|
&:last-child {
|
|
border-right: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.missing-image {
|
|
background-color: @light-bg;
|
|
line-height: 140px;
|
|
vertical-align: middle;
|
|
text-align: center;
|
|
width: 140px;
|
|
height: 140px;
|
|
}
|
|
|
|
.missing-image .octicon {
|
|
font-size: 32px;
|
|
color: @border-color;
|
|
}
|
|
|
|
.missing-image.small {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
|
|
.missing-image.small .octicon {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.frappe-editor {
|
|
cursor: text;
|
|
}
|
|
|
|
.frappe-editor img {
|
|
max-width: 100%;
|
|
}
|
|
|
|
textarea.form-control {
|
|
height: 120px;
|
|
}
|
|
|
|
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
|
background-color: @light-bg;
|
|
}
|
|
|
|
|
|
.link-select-row {
|
|
padding: 5px;
|
|
border-bottom: 1px solid @light-border-color;
|
|
}
|
|
|
|
.hidden-xs-inline, .hidden-xs-inline-block {
|
|
display: none;
|
|
}
|
|
|
|
.barcode-wrapper {
|
|
text-align: center;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.video-modal .modal-dialog {
|
|
width: 700px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.hidden-xs-inline {
|
|
display: inline;
|
|
}
|
|
.hidden-xs-inline-block {
|
|
display: inline-block;
|
|
}
|
|
|
|
.listview-main-section {
|
|
border-right: 1px solid @border-color;
|
|
}
|
|
}
|
|
|
|
.panel-bg {
|
|
background-color: @panel-bg;
|
|
}
|
|
|
|
.light-bg {
|
|
background-color: @light-bg;
|
|
}
|
|
|
|
.modal-backdrop {
|
|
opacity: 0.5;
|
|
position: fixed;
|
|
}
|
|
|
|
.modal-header {
|
|
padding: 10px 15px;
|
|
}
|
|
|
|
.modal-title {
|
|
margin-top: 5px;
|
|
}
|
|
|
|
.modal-message {
|
|
margin: 30px 15px;
|
|
color: @text-muted;
|
|
text-align: center;
|
|
}
|
|
|
|
.btn-primary.disabled {
|
|
background-color: #b1bdca;
|
|
color: #fff;
|
|
border-color: #b1bdca;
|
|
}
|
|
|
|
.form-control {
|
|
position: relative;
|
|
|
|
input {
|
|
// for vertically aligned text in inputs
|
|
padding: 6px 10px 8px;
|
|
}
|
|
}
|
|
|
|
.input-area {
|
|
position: relative;
|
|
}
|
|
|
|
.input-xs {
|
|
height: 26px;
|
|
font-size: @text-medium;
|
|
}
|
|
|
|
.link-field.ui-front {
|
|
z-index: inherit;
|
|
}
|
|
|
|
.modal .hasDatepicker {
|
|
z-index: 1140;
|
|
}
|
|
|
|
.link-field.ui-front {
|
|
z-index: inherit;
|
|
}
|
|
|
|
.form-group {
|
|
margin-bottom: 7px;
|
|
}
|
|
|
|
.print-preview {
|
|
padding: 0px;
|
|
max-width: 8.3in;
|
|
margin: auto;
|
|
min-height: 11.69in;
|
|
}
|
|
|
|
.open-notification {
|
|
position:relative;
|
|
left: 2px;
|
|
display:inline-block;
|
|
background:#ff5858;
|
|
font-size: @text-medium;
|
|
line-height:20px;
|
|
padding:0 8px;
|
|
color:#fff;
|
|
border-radius:10px;
|
|
cursor: pointer;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.progress, .progress-bar {
|
|
box-shadow: none;
|
|
}
|
|
|
|
a.progress-small {
|
|
.progress-chart {
|
|
width: 40px;
|
|
margin-top: 4px;
|
|
float: right;
|
|
}
|
|
|
|
.progress {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.progress-bar {
|
|
transition: unset;
|
|
background-color: #98d85b;
|
|
}
|
|
}
|
|
|
|
li.user-progress {
|
|
.progress-chart {
|
|
width: 50px;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.progress {
|
|
margin-bottom: 0;
|
|
background-color: #fff;
|
|
border: 1px solid #e5e7e9;
|
|
}
|
|
|
|
.progress-bar {
|
|
transition: unset;
|
|
background-color: #98d85b;
|
|
}
|
|
}
|
|
|
|
/* on small screens, show only icons on top */
|
|
@media (max-width: 767px) {
|
|
.module-view-layout .nav-stacked > li {
|
|
float: left;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.nav-stacked > li + li {
|
|
margin-top: 0px;
|
|
margin-left: 2px;
|
|
}
|
|
|
|
li.user-progress .progress-chart {
|
|
width: 25px;
|
|
}
|
|
|
|
li.user-progress {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.msg-box {
|
|
padding: 30px 15px;
|
|
text-align: center;
|
|
color: @text-muted;
|
|
}
|
|
|
|
.no-border {
|
|
border: none !important;
|
|
}
|
|
|
|
.message-row {
|
|
padding: 10px 15px;
|
|
}
|
|
|
|
.message-row .indicator {
|
|
margin-left: -5px;
|
|
margin-right: -20px;
|
|
}
|
|
|
|
.message-box {
|
|
.indicator {
|
|
margin-right: 15px;
|
|
margin-top: 7px;
|
|
}
|
|
|
|
.timeline-head {
|
|
padding: 30px;
|
|
border: 0px;
|
|
border-bottom: 1px solid @border-color;
|
|
}
|
|
}
|
|
|
|
.page-only-label {
|
|
margin-top: 5px;
|
|
text-align: center;
|
|
}
|
|
|
|
.intro-area {
|
|
padding: 15px 30px;
|
|
}
|
|
|
|
.file-upload {
|
|
.input-group-addon {
|
|
color: @text-muted;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.file-upload-or {
|
|
font-size: 12px;
|
|
margin: 0px 7px;
|
|
}
|
|
|
|
.uploaded-filename,
|
|
.web-link-wrapper,
|
|
.input-upload,
|
|
.input-link {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.input-upload {
|
|
vertical-align: top;
|
|
}
|
|
|
|
.uploaded-filename {
|
|
border: 1px solid @border-color;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.uploaded-filename .btn-group {
|
|
margin-right: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.uploaded-filename-display {
|
|
max-width: 150px;
|
|
}
|
|
|
|
.file-public-column {
|
|
flex: 0 0 36px;
|
|
order: -1;
|
|
justify-content: flex-end;
|
|
|
|
input[type="checkbox"] {
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
.frappe-rtl input ,.frappe-rtl textarea {
|
|
direction: rtl;
|
|
}
|
|
|
|
.frappe-rtl .checkbox .disp-area {
|
|
margin-right: -20px;
|
|
margin-left: 0px;
|
|
}
|
|
|
|
.text-editor {
|
|
height: 400px;
|
|
background-color: white;
|
|
border-collapse: separate;
|
|
border: 1px solid rgb(204, 204, 204);
|
|
padding: 4px;
|
|
box-sizing: content-box;
|
|
-webkit-box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px 0px inset;
|
|
box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px 0px inset;
|
|
border-radius: 3px;
|
|
overflow: scroll;
|
|
outline: none;
|
|
}
|
|
|
|
.markdown-text-editor {
|
|
height: 451px;
|
|
font-family: Monaco, "Courier New", monospace;
|
|
}
|
|
|
|
.breadcrumb {
|
|
font-size: 12px;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.breadcrumb.for-file-list {
|
|
margin-bottom: 0px;
|
|
padding: 18px 15px;
|
|
border-bottom: 1px solid @border-color;
|
|
border-radius: 0px;
|
|
}
|
|
|
|
.screenshot {
|
|
border: 1px solid @border-color;
|
|
box-shadow: 1px 1px 7px rgba(0,0,0,0.15);
|
|
margin: 8px 0px;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.help-modal {
|
|
a {
|
|
color: @brand-primary;
|
|
}
|
|
|
|
.modal-dialog {
|
|
width: 768px;
|
|
}
|
|
|
|
.modal-body {
|
|
padding: 15px 27px;
|
|
}
|
|
|
|
.parent-link {
|
|
&:before {
|
|
font-family: 'Octicons';
|
|
content: '\f0a4';
|
|
}
|
|
}
|
|
|
|
.edit-container {
|
|
padding-bottom: 12px;
|
|
}
|
|
|
|
@media (max-width: @screen-xs) {
|
|
.modal-dialog {
|
|
width: auto;
|
|
}
|
|
|
|
.modal-content {
|
|
height: auto !important;
|
|
}
|
|
|
|
iframe {
|
|
height: auto;
|
|
width: 100%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.search-result {
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.search-dialog {
|
|
.modal-dialog {
|
|
width: 768px;
|
|
}
|
|
|
|
.search-header {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 5px;
|
|
}
|
|
|
|
.modal-body {
|
|
padding: 0px 15px;
|
|
|
|
}
|
|
|
|
.empty-state {
|
|
color: #d4d9dd;
|
|
height: 500px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
text-align: center;
|
|
|
|
.status-icon {
|
|
font-size: 40px;
|
|
position: relative;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
p {
|
|
font-size: 15px;
|
|
display: block;
|
|
}
|
|
|
|
.cover {
|
|
color: white;
|
|
font-size: 6px;
|
|
position: absolute;
|
|
}
|
|
}
|
|
|
|
@keyframes twinkle {
|
|
0% { opacity:1; }
|
|
50% { opacity:0; }
|
|
100% { opacity:1; }
|
|
}
|
|
@-o-keyframes twinkle {
|
|
0% { opacity:1; }
|
|
50% { opacity:0; }
|
|
100% { opacity:1; }
|
|
}
|
|
@-moz-keyframes twinkle {
|
|
0% { opacity:1; }
|
|
50% { opacity:0; }
|
|
100% { opacity:1; }
|
|
}
|
|
@-webkit-keyframes twinkle {
|
|
0% { opacity:1; }
|
|
50% { opacity:0; }
|
|
100% { opacity:1; }
|
|
}
|
|
.twinkle-one {
|
|
-webkit-animation: twinkle 1.5s ease infinite;
|
|
-moz-animation: twinkle 1.5s ease infinite;
|
|
-o-animation: twinkle 1.5s ease infinite;
|
|
animation: twinkle 1.5s ease infinite;
|
|
}
|
|
.twinkle-two {
|
|
-webkit-animation: twinkle 1.5s ease infinite 0.5s;
|
|
-moz-animation: twinkle 1.5s ease infinite 0.5s;
|
|
-o-animation: twinkle 1.5s ease infinite 0.5s;
|
|
animation: twinkle 1.5s ease infinite 0.5s;
|
|
}
|
|
.twinkle-three {
|
|
-webkit-animation: twinkle 1.5s ease infinite 1s;
|
|
-moz-animation: twinkle 1.5s ease infinite 1s;
|
|
-o-animation: twinkle 1.5s ease infinite 1s;
|
|
animation: twinkle 1.5s ease infinite 1s;
|
|
}
|
|
|
|
input.form-control {
|
|
border: none;
|
|
border-left-style:none;
|
|
}
|
|
|
|
input.form-control:focus {
|
|
outline: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.layout-side-section,
|
|
.layout-main-section {
|
|
height: 500px;
|
|
padding: 0px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.layout-side-section {
|
|
.module-sidebar-nav {
|
|
margin-top: 0px;
|
|
}
|
|
.help-link {
|
|
padding-top: 20px;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.nav {
|
|
li a {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding-left: 20px;
|
|
background-color: #ffffff;
|
|
|
|
i {
|
|
visibility: hidden;
|
|
}
|
|
}
|
|
|
|
.active i {
|
|
visibility: visible;
|
|
}
|
|
|
|
.select a, a:hover {
|
|
background-color: #f7fafc;
|
|
}
|
|
}
|
|
}
|
|
|
|
.results-area {
|
|
.single-link a {
|
|
color: #36414c;
|
|
}
|
|
}
|
|
|
|
.module-section {
|
|
.back-link {
|
|
margin-bottom: 20px;
|
|
margin-top: -10px;
|
|
}
|
|
|
|
.all-results-link:before {
|
|
font-family: 'Octicons';
|
|
content: '\f0a4';
|
|
}
|
|
|
|
.result {
|
|
margin-bottom: 5px;
|
|
}
|
|
}
|
|
|
|
.full-list {
|
|
.result {
|
|
margin-top: 15px;
|
|
|
|
.result-subtype {
|
|
float: right;
|
|
margin-left: 10px;
|
|
}
|
|
}
|
|
|
|
.result-with-subtype {
|
|
border-bottom: 1px solid #d1d8dd;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.section-head {
|
|
margin-bottom: 25px;
|
|
}
|
|
}
|
|
|
|
.dual-section {
|
|
.result-subtype{
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.result-status {
|
|
margin-top: 30px;
|
|
text-align: center;
|
|
}
|
|
|
|
.more-results {
|
|
display: none;
|
|
}
|
|
|
|
.result {
|
|
p {
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.result-image {
|
|
display: inline-block;
|
|
margin-right: 10px;
|
|
height: 60px;
|
|
width: 60px;
|
|
background-color: #fafbfc;
|
|
|
|
.flex-text {
|
|
display: flex;
|
|
height: 60px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
span {
|
|
font-size: 30px;
|
|
color: @text-extra-muted;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@media (max-width: @screen-xs) {
|
|
.modal-dialog {
|
|
width: auto;
|
|
}
|
|
|
|
.modal-content {
|
|
height: auto !important;
|
|
}
|
|
}
|
|
|
|
@media (max-width: @screen-sm) {
|
|
.module-body {
|
|
margin: 0px;
|
|
border-top: none;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 600px) {
|
|
.results-area .back-link {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
.input-area input[type=checkbox] {
|
|
margin-left: -20px;
|
|
}
|
|
|
|
.checkbox label {
|
|
padding-left: 2px;
|
|
}
|
|
|
|
.checkbox input[type=checkbox] {
|
|
margin-right: 5px;
|
|
margin-left: 0px;
|
|
position: relative;
|
|
height: 12px;
|
|
}
|
|
|
|
// custom font awesome checkbox
|
|
input[type="checkbox"] {
|
|
position: relative;
|
|
visibility: hidden;
|
|
|
|
&:before {
|
|
position: absolute;
|
|
font-family: 'FontAwesome';
|
|
content: '\f096';
|
|
visibility: visible;
|
|
font-style: normal;
|
|
font-weight: normal;
|
|
font-variant: normal;
|
|
text-transform: none;
|
|
line-height: 14px;
|
|
display: inline-block;
|
|
font-size: 14px;
|
|
color: @text-extra-muted;
|
|
.transition(150ms color);
|
|
left: 0px;
|
|
}
|
|
|
|
&:focus:before {
|
|
color: @text-muted;
|
|
}
|
|
|
|
&:checked:before {
|
|
content: '\f14a';
|
|
font-size: 13px;
|
|
color: @checkbox-color;
|
|
}
|
|
|
|
&:focus {
|
|
outline: none;
|
|
}
|
|
}
|
|
|
|
// Will not be required after commonifying lists with empty state
|
|
.multiselect-empty-state{
|
|
min-height: 300px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100%;
|
|
}
|
|
|
|
// mozilla doesn't support
|
|
// pseudo elements on checkbox
|
|
@-moz-document url-prefix() {
|
|
input[type="checkbox"] {
|
|
visibility: visible;
|
|
left: 0;
|
|
}
|
|
}
|
|
|
|
@supports (-moz-appearance: none) {
|
|
input[type="checkbox"] {
|
|
visibility: visible;
|
|
left: 0;
|
|
}
|
|
}
|
|
|
|
// edge doesn't support pseudo elements on checkbox
|
|
//Microsoft Edge Browser 12+ (All)
|
|
@supports (-ms-ime-align:auto) {
|
|
input[type="checkbox"] {
|
|
visibility: visible;
|
|
left: 0;
|
|
}
|
|
}
|
|
|
|
// color picker
|
|
.color-picker {
|
|
position: relative;
|
|
z-index: 999;
|
|
|
|
.color-picker-pallete {
|
|
border-radius: 4px;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,.15);
|
|
background: #fff;
|
|
border: 1px solid @border-color;
|
|
width: 290px;
|
|
height: 106px;
|
|
padding-top: 10px;
|
|
padding-left: 5px;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
|
|
&:after,
|
|
&:before {
|
|
border: solid transparent;
|
|
content: " ";
|
|
height: 0;
|
|
width: 0;
|
|
pointer-events: none;
|
|
position: absolute;
|
|
bottom: 100%;
|
|
left: 30px;
|
|
}
|
|
&:after {
|
|
border-color: rgba(255, 255, 255, 0);
|
|
border-bottom-color: #fff;
|
|
border-width: 8px;
|
|
margin-left: -8px;
|
|
}
|
|
&:before {
|
|
border-color: rgba(221, 221, 221, 0);
|
|
border-bottom-color: @border-color;
|
|
border-width: 9px;
|
|
margin-left: -9px;
|
|
}
|
|
}
|
|
.color-box {
|
|
cursor: pointer;
|
|
display: inline-block;
|
|
width: 20px;
|
|
height: 20px;
|
|
margin: -2px 0 0 3px;
|
|
border: 1px solid rgba(0,0,0, 0.25);
|
|
|
|
}
|
|
}
|
|
|
|
// Slides
|
|
.slides-wrapper {
|
|
&:focus {
|
|
outline: none;
|
|
}
|
|
|
|
.fa-circle {
|
|
font-size: 10px;
|
|
margin: 0px 2px;
|
|
&.active {
|
|
color: #5e64ff;
|
|
}
|
|
&.link {
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
.slide-wrapper {
|
|
&:focus {
|
|
outline: none;
|
|
}
|
|
}
|
|
.form {
|
|
margin-top: 30px;
|
|
.form-layout {
|
|
margin-top: 0px;
|
|
margin-bottom: 0px;
|
|
}
|
|
.form-section {
|
|
padding: 0px 7px;
|
|
border: none;
|
|
}
|
|
}
|
|
.add-more {
|
|
margin-bottom: 30px;
|
|
}
|
|
.lead {
|
|
margin-top: 20px;
|
|
font-weight: 500;
|
|
}
|
|
.success-state {
|
|
margin-bottom: 20px;
|
|
}
|
|
.next-steps-links {
|
|
.title {
|
|
text-transform: uppercase;
|
|
color: #8D99A6;
|
|
font-size: 11px;
|
|
}
|
|
|
|
}
|
|
.btn-primary {
|
|
font-weight: bold;
|
|
}
|
|
.slide-footer {
|
|
margin: 15px 0px;
|
|
padding: 0px 7px;
|
|
|
|
.btn:not(:last-child) {
|
|
margin-right: 3px;
|
|
}
|
|
|
|
a.make-btn.disabled {
|
|
background-color: #b1bdca;
|
|
color: #fff;
|
|
border-color: #b1bdca;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Onboarding Dialog
|
|
.onboarding-dialog {
|
|
|
|
.slide-body {
|
|
width: 65%;
|
|
margin-right: auto;
|
|
margin-left: auto;
|
|
}
|
|
|
|
.modal-content {
|
|
border: 1px solid #d1d8dd;
|
|
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.modal-backdrop {
|
|
background-color: #ffffff;
|
|
}
|
|
|
|
.modal-backdrop.in {
|
|
opacity: 1;
|
|
}
|
|
|
|
.modal-dialog {
|
|
height: 80%;
|
|
max-width: none;
|
|
}
|
|
|
|
.onboarding-icon {
|
|
color: @text-muted;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
.modal-content .slide-container {
|
|
height: auto;
|
|
min-height: 100%;
|
|
bottom: 0;
|
|
}
|
|
|
|
img {
|
|
max-height: 175px;
|
|
width: auto;
|
|
}
|
|
|
|
.slides-progress {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
}
|
|
|
|
/* broken image styling */
|
|
|
|
img.no-image {
|
|
position: relative;
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
|
|
.img-background() {
|
|
content: " ";
|
|
display: block;
|
|
position: absolute;
|
|
left: 0;
|
|
height: calc(100%);
|
|
width: 100%;
|
|
background-color: @light-bg;
|
|
}
|
|
|
|
.img-foreground() {
|
|
content: "\f1c5";
|
|
display: block;
|
|
font-style: normal;
|
|
font-family: FontAwesome;
|
|
font-size: 32px;
|
|
color: @text-extra-muted;
|
|
|
|
position: absolute;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
left: 0;
|
|
width: 100%;
|
|
text-align: center;
|
|
}
|
|
|
|
img.no-image:before {
|
|
.img-background();
|
|
}
|
|
|
|
img.no-image:after {
|
|
.img-foreground();
|
|
}
|
|
|
|
img.img-loading:before {
|
|
.img-background();
|
|
}
|
|
|
|
img.img-loading:after {
|
|
.img-foreground();
|
|
font-family: 'Octicons';
|
|
content: "\f00b";
|
|
}
|
|
|
|
// utilities
|
|
|
|
.whitespace-nowrap {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
// popover
|
|
.popover {
|
|
border-radius: 4px;
|
|
|
|
.popover-content {
|
|
padding: 12px;
|
|
}
|
|
}
|
|
|
|
// like pop-over
|
|
.liked-by-popover {
|
|
.popover-content {
|
|
padding: 0px;
|
|
overflow: scroll;
|
|
max-height: 150px;
|
|
}
|
|
min-width: 100px;
|
|
ul {
|
|
margin: 0px;
|
|
li {
|
|
padding: 10px;
|
|
cursor: pointer;
|
|
&:hover {
|
|
background: @btn-bg;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
body.full-width {
|
|
@media (min-width: @screen-md) {
|
|
.container {
|
|
width: 90%;
|
|
}
|
|
}
|
|
}
|
|
|
|
body.no-sidebar {
|
|
@media (min-width: @screen-md) {
|
|
.layout-side-section {
|
|
display: none;
|
|
}
|
|
|
|
.layout-main-section-wrapper {
|
|
width: 100% !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
// utilities
|
|
|
|
.whitespace-nowrap {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.modal-minimize {
|
|
position: initial;
|
|
.modal-backdrop {
|
|
display: none;
|
|
}
|
|
.modal-dialog {
|
|
z-index: 101;
|
|
position: fixed;
|
|
right: 15px;
|
|
bottom: 0;
|
|
margin: 0;
|
|
max-width: 500px;
|
|
}
|
|
.modal-body {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.app-logo {
|
|
width: 24px;
|
|
}
|
|
|
|
.alt-pressed .alt-underline {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.app-change-log-body {
|
|
h1 {
|
|
font-size: 20px;
|
|
}
|
|
}
|