First Initial

This commit is contained in:
Nakorn Rientrakrunchai
2020-02-20 15:02:39 +07:00
commit 8b98125e49
3048 changed files with 760804 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
src/js/intro.js
src/js/outro.js
test/libs/**/*

View File

@@ -0,0 +1,32 @@
{
"camelcase": true,
"curly": true,
"eqeqeq": true,
"immed": true,
"indent": 2,
"newcap": true,
"noarg": true,
"quotmark": "single",
"undef": true,
"unused": true,
"trailing": true,
"white": true,
"maxparams": 17,
"maxdepth": 5,
"maxstatements": 300,
"maxlen": 140,
"evil": true,
"browser": true,
"devel": true,
"jquery": true,
"node": true,
"worker": true,
"es3": true,
"globals": {
"define": true,
"test": true,
"ok": true,
"equal": true,
"deepEqual": true
}
}

View File

@@ -0,0 +1,15 @@
language: node_js
node_js: 0.10
before_script:
- node --version
- npm --version
- npm install -g grunt-cli
# Install meteor
- curl https://install.meteor.com | /bin/sh
# Install spacejam, Meteor's CI helper
- npm install -g spacejam
script: grunt test --verbose

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
/*---------------------------------------------------
LESS Elements 0.9
---------------------------------------------------
A set of useful LESS mixins
More info at: http://lesselements.com
---------------------------------------------------*/

View File

@@ -0,0 +1,156 @@
/*---------------------------------------------------
LESS Elements 0.9
---------------------------------------------------
A set of useful LESS mixins
More info at: http://lesselements.com
---------------------------------------------------*/
.gradient(@color: #F5F5F5, @start: #EEE, @stop: #FFF) {
background: @color;
background: -webkit-gradient(linear,
left bottom,
left top,
color-stop(0, @start),
color-stop(1, @stop));
background: -ms-linear-gradient(bottom,
@start,
@stop);
background: -moz-linear-gradient(center bottom,
@start 0%,
@stop 100%);
background: -o-linear-gradient(@stop,
@start);
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@stop,@start));
}
.bw-gradient(@color: #F5F5F5, @start: 0, @stop: 255) {
background: @color;
background: -webkit-gradient(linear,
left bottom,
left top,
color-stop(0, rgb(@start,@start,@start)),
color-stop(1, rgb(@stop,@stop,@stop)));
background: -ms-linear-gradient(bottom,
rgb(@start,@start,@start) 0%,
rgb(@stop,@stop,@stop) 100%);
background: -moz-linear-gradient(center bottom,
rgb(@start,@start,@start) 0%,
rgb(@stop,@stop,@stop) 100%);
background: -o-linear-gradient(rgb(@stop,@stop,@stop),
rgb(@start,@start,@start));
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",rgb(@stop,@stop,@stop),rgb(@start,@start,@start)));
}
.bordered(@top-color: #EEE, @right-color: #EEE, @bottom-color: #EEE, @left-color: #EEE) {
border-top: solid 1px @top-color;
border-left: solid 1px @left-color;
border-right: solid 1px @right-color;
border-bottom: solid 1px @bottom-color;
}
.drop-shadow(@x-axis: 0, @y-axis: 1px, @blur: 2px, @alpha: 0.1) {
-webkit-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
-moz-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
}
.rounded(@radius: 2px) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
.border-radius(@topright: 0, @bottomright: 0, @bottomleft: 0, @topleft: 0) {
-webkit-border-top-right-radius: @topright;
-webkit-border-bottom-right-radius: @bottomright;
-webkit-border-bottom-left-radius: @bottomleft;
-webkit-border-top-left-radius: @topleft;
-moz-border-radius-topright: @topright;
-moz-border-radius-bottomright: @bottomright;
-moz-border-radius-bottomleft: @bottomleft;
-moz-border-radius-topleft: @topleft;
border-top-right-radius: @topright;
border-bottom-right-radius: @bottomright;
border-bottom-left-radius: @bottomleft;
border-top-left-radius: @topleft;
.background-clip(padding-box);
}
.opacity(@opacity: 0.5) {
-webkit-opacity: @opacity;
-khtml-opacity: @opacity;
-moz-opacity: @opacity;
opacity: @opacity;
@opperc: @opacity * 100;
-ms-filter: ~"progid:DXImageTransform.Microsoft.Alpha(opacity=@{opperc})";
filter: ~"alpha(opacity=@{opperc})";
}
.transition-duration(@duration: 0.2s) {
-moz-transition-duration: @duration;
-webkit-transition-duration: @duration;
-o-transition-duration: @duration;
transition-duration: @duration;
}
.transform(...) {
-webkit-transform: @arguments;
-moz-transform: @arguments;
-o-transform: @arguments;
-ms-transform: @arguments;
transform: @arguments;
}
.rotation(@deg:5deg){
.transform(rotate(@deg));
}
.scale(@ratio:1.5){
.transform(scale(@ratio));
}
.transition(@duration:0.2s, @ease:ease-out) {
-webkit-transition: all @duration @ease;
-moz-transition: all @duration @ease;
-o-transition: all @duration @ease;
transition: all @duration @ease;
}
.inner-shadow(@horizontal:0, @vertical:1px, @blur:2px, @alpha: 0.4) {
-webkit-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
-moz-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
}
.box-shadow(@arguments) {
-webkit-box-shadow: @arguments;
-moz-box-shadow: @arguments;
box-shadow: @arguments;
}
.box-sizing(@sizing: border-box) {
-ms-box-sizing: @sizing;
-moz-box-sizing: @sizing;
-webkit-box-sizing: @sizing;
box-sizing: @sizing;
}
.user-select(@argument: none) {
-webkit-user-select: @argument;
-moz-user-select: @argument;
-ms-user-select: @argument;
user-select: @argument;
}
.columns(@colwidth: 250px, @colcount: 0, @colgap: 50px, @columnRuleColor: #EEE, @columnRuleStyle: solid, @columnRuleWidth: 1px) {
-moz-column-width: @colwidth;
-moz-column-count: @colcount;
-moz-column-gap: @colgap;
-moz-column-rule-color: @columnRuleColor;
-moz-column-rule-style: @columnRuleStyle;
-moz-column-rule-width: @columnRuleWidth;
-webkit-column-width: @colwidth;
-webkit-column-count: @colcount;
-webkit-column-gap: @colgap;
-webkit-column-rule-color: @columnRuleColor;
-webkit-column-rule-style: @columnRuleStyle;
-webkit-column-rule-width: @columnRuleWidth;
column-width: @colwidth;
column-count: @colcount;
column-gap: @colgap;
column-rule-color: @columnRuleColor;
column-rule-style: @columnRuleStyle;
column-rule-width: @columnRuleWidth;
}
.translate(@x:0, @y:0) {
.transform(translate(@x, @y));
}
.background-clip(@argument: padding-box) {
-moz-background-clip: @argument;
-webkit-background-clip: @argument;
background-clip: @argument;
}

View File

@@ -0,0 +1,476 @@
/*---------------------------------------------------
LESS Elements 0.9
---------------------------------------------------
A set of useful LESS mixins
More info at: http://lesselements.com
---------------------------------------------------*/
/* Theme Variables
------------------------------------------*/
/* Frame Mode Layout
------------------------------------------*/
.note-editor {
border: 1px solid #a9a9a9;
position: relative;
/* dropzone */
/* fullscreen mode */
/* codeview mode */
/* statusbar */
/* editable */
/* codeable */
}
.note-editor .note-dropzone {
position: absolute;
display: none;
z-index: 1;
border: 2px dashed #87cefa;
color: #87cefa;
background-color: white;
opacity: 0.95;
pointer-event: none;
}
.note-editor .note-dropzone .note-dropzone-message {
display: table-cell;
vertical-align: middle;
text-align: center;
font-size: 28px;
font-weight: bold;
}
.note-editor .note-dropzone.hover {
border: 2px dashed #098ddf;
color: #098ddf;
}
.note-editor.dragover .note-dropzone {
display: table;
}
.note-editor .note-toolbar {
background-color: #f5f5f5;
border-bottom: 1px solid #a9a9a9;
}
.note-editor.fullscreen {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1050;
/* bs3 modal-backdrop: 1030, bs2: 1040 */
}
.note-editor.fullscreen .note-editable {
background-color: white;
}
.note-editor.fullscreen .note-resizebar {
display: none;
}
.note-editor.codeview .note-editable {
display: none;
}
.note-editor.codeview .note-codable {
display: block;
}
.note-editor .note-statusbar {
background-color: #f5f5f5;
}
.note-editor .note-statusbar .note-resizebar {
height: 8px;
width: 100%;
border-top: 1px solid #a9a9a9;
cursor: ns-resize;
}
.note-editor .note-statusbar .note-resizebar .note-icon-bar {
width: 20px;
margin: 1px auto;
border-top: 1px solid #a9a9a9;
}
.note-editor .note-editable[contenteditable=true]:empty:not(:focus):before {
content: attr(data-placeholder);
color: #a9a9a9;
}
.note-editor .note-editable {
padding: 10px;
overflow: auto;
outline: none;
}
.note-editor .note-editable[contenteditable="false"] {
background-color: #e5e5e5;
}
.note-editor .note-codable {
display: none;
width: 100%;
padding: 10px;
border: none;
box-shadow: none;
font-family: Menlo, Monaco, monospace, sans-serif;
font-size: 14px;
color: #ccc;
background-color: #222;
resize: none;
/* override BS2 default style */
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
margin-bottom: 0;
}
/* Air Mode Layout
------------------------------------------*/
.note-air-editor {
outline: none;
}
/* Popover
------------------------------------------*/
.note-popover .popover {
max-width: none;
}
.note-popover .popover .popover-content a {
display: inline-block;
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
/* for FF */
vertical-align: middle;
/* for FF */
}
.note-popover .popover .arrow {
left: 20px;
}
/* Popover and Toolbar (Button container)
------------------------------------------*/
.note-popover .popover .popover-content,
.note-toolbar {
margin: 0;
padding: 0 0 5px 5px;
/* dropdown-menu for toolbar and popover */
/* color palette for toolbar and popover */
}
.note-popover .popover .popover-content > .btn-group,
.note-toolbar > .btn-group {
margin-top: 5px;
margin-left: 0;
margin-right: 5px;
}
.note-popover .popover .popover-content .btn-group .note-table,
.note-toolbar .btn-group .note-table {
min-width: 0;
padding: 5px;
}
.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker,
.note-toolbar .btn-group .note-table .note-dimension-picker {
font-size: 18px;
}
.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,
.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher {
position: absolute !important;
z-index: 3;
width: 10em;
height: 10em;
cursor: pointer;
}
.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,
.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted {
position: relative !important;
z-index: 1;
width: 5em;
height: 5em;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat;
}
.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,
.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted {
position: absolute !important;
z-index: 2;
width: 1em;
height: 1em;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat;
}
.note-popover .popover .popover-content .note-style h1,
.note-toolbar .note-style h1,
.note-popover .popover .popover-content .note-style h2,
.note-toolbar .note-style h2,
.note-popover .popover .popover-content .note-style h3,
.note-toolbar .note-style h3,
.note-popover .popover .popover-content .note-style h4,
.note-toolbar .note-style h4,
.note-popover .popover .popover-content .note-style h5,
.note-toolbar .note-style h5,
.note-popover .popover .popover-content .note-style h6,
.note-toolbar .note-style h6,
.note-popover .popover .popover-content .note-style blockquote,
.note-toolbar .note-style blockquote {
margin: 0;
}
.note-popover .popover .popover-content .note-color .dropdown-toggle,
.note-toolbar .note-color .dropdown-toggle {
width: 20px;
padding-left: 5px;
}
.note-popover .popover .popover-content .note-color .dropdown-menu,
.note-toolbar .note-color .dropdown-menu {
min-width: 340px;
}
.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group,
.note-toolbar .note-color .dropdown-menu .btn-group {
margin: 0;
}
.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group:first-child,
.note-toolbar .note-color .dropdown-menu .btn-group:first-child {
margin: 0 5px;
}
.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,
.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title {
font-size: 12px;
margin: 2px 7px;
text-align: center;
border-bottom: 1px solid #eee;
}
.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,
.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset {
font-size: 11px;
margin: 3px;
padding: 0 3px;
cursor: pointer;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-row,
.note-toolbar .note-color .dropdown-menu .btn-group .note-color-row {
height: 20px;
}
.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset:hover,
.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover {
background: #eee;
}
.note-popover .popover .popover-content .note-para .dropdown-menu,
.note-toolbar .note-para .dropdown-menu {
min-width: 216px;
padding: 5px;
}
.note-popover .popover .popover-content .note-para .dropdown-menu > div:first-child,
.note-toolbar .note-para .dropdown-menu > div:first-child {
margin-right: 5px;
}
.note-popover .popover .popover-content .dropdown-menu,
.note-toolbar .dropdown-menu {
min-width: 90px;
/* dropdown-menu right position */
/* http://forrst.com/posts/Bootstrap_right_positioned_dropdown-2KB */
/* dropdown-menu for selectbox */
}
.note-popover .popover .popover-content .dropdown-menu.right,
.note-toolbar .dropdown-menu.right {
right: 0;
left: auto;
}
.note-popover .popover .popover-content .dropdown-menu.right::before,
.note-toolbar .dropdown-menu.right::before {
right: 9px;
left: auto !important;
}
.note-popover .popover .popover-content .dropdown-menu.right::after,
.note-toolbar .dropdown-menu.right::after {
right: 10px;
left: auto !important;
}
.note-popover .popover .popover-content .dropdown-menu li a i,
.note-toolbar .dropdown-menu li a i {
color: deepskyblue;
visibility: hidden;
}
.note-popover .popover .popover-content .dropdown-menu li a.checked i,
.note-toolbar .dropdown-menu li a.checked i {
visibility: visible;
}
.note-popover .popover .popover-content .note-fontsize-10,
.note-toolbar .note-fontsize-10 {
font-size: 10px;
}
.note-popover .popover .popover-content .note-color-palette,
.note-toolbar .note-color-palette {
line-height: 1;
}
.note-popover .popover .popover-content .note-color-palette div .note-color-btn,
.note-toolbar .note-color-palette div .note-color-btn {
width: 20px;
height: 20px;
padding: 0;
margin: 0;
border: 1px solid #fff;
}
.note-popover .popover .popover-content .note-color-palette div .note-color-btn:hover,
.note-toolbar .note-color-palette div .note-color-btn:hover {
border: 1px solid #000;
}
/* Dialog
------------------------------------------*/
.note-dialog > div {
display: none;
/* BS2's hide pacth. */
}
.note-dialog .form-group {
/* overwrite BS's form-horizontal minus margins */
margin-left: 0;
margin-right: 0;
}
.note-dialog .note-modal-form {
margin: 0;
/* overwrite BS2's form margin bottom */
}
.note-dialog .note-image-dialog .note-dropzone {
min-height: 100px;
font-size: 30px;
line-height: 4;
/* vertical-align */
color: lightgray;
text-align: center;
border: 4px dashed lightgray;
margin-bottom: 10px;
}
.note-dialog .note-help-dialog {
font-size: 12px;
color: #ccc;
background-color: #222 !important;
-webkit-opacity: 0.9;
-khtml-opacity: 0.9;
-moz-opacity: 0.9;
opacity: 0.9;
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=90);
filter: alpha(opacity=90);
/* BS2's background pacth. */
background: transparent;
border: none;
}
.note-dialog .note-help-dialog .modal-content {
background: transparent;
border: 1px solid white;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.note-dialog .note-help-dialog a {
font-size: 12px;
color: white;
}
.note-dialog .note-help-dialog .title {
color: white;
font-size: 14px;
font-weight: bold;
padding-bottom: 5px;
margin-bottom: 10px;
border-bottom: white 1px solid;
}
.note-dialog .note-help-dialog .modal-close {
font-size: 14px;
color: #dddd00;
cursor: pointer;
}
.note-dialog .note-help-dialog .text-center {
margin: 10px 0 0;
}
.note-dialog .note-help-dialog .note-shortcut {
padding-top: 8px;
padding-bottom: 8px;
}
.note-dialog .note-help-dialog .note-shortcut-row {
margin-right: -5px;
margin-left: -5px;
}
.note-dialog .note-help-dialog .note-shortcut-col {
padding-right: 5px;
padding-left: 5px;
}
.note-dialog .note-help-dialog .note-shortcut-title {
font-size: 13px;
font-weight: bold;
color: #dddd00;
}
.note-dialog .note-help-dialog .note-shortcut-key {
font-family: "Courier New";
color: #dddd00;
text-align: right;
}
/* Handle
------------------------------------------*/
.note-handle {
/* control selection */
}
.note-handle .note-control-selection {
position: absolute;
display: none;
border: 1px solid black;
}
.note-handle .note-control-selection > div {
position: absolute;
}
.note-handle .note-control-selection .note-control-selection-bg {
width: 100%;
height: 100%;
background-color: black;
-webkit-opacity: 0.3;
-khtml-opacity: 0.3;
-moz-opacity: 0.3;
opacity: 0.3;
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30);
filter: alpha(opacity=30);
}
.note-handle .note-control-selection .note-control-handle {
width: 7px;
height: 7px;
border: 1px solid black;
}
.note-handle .note-control-selection .note-control-holder {
width: 7px;
height: 7px;
border: 1px solid black;
}
.note-handle .note-control-selection .note-control-sizing {
width: 7px;
height: 7px;
border: 1px solid black;
background-color: white;
}
.note-handle .note-control-selection .note-control-nw {
top: -5px;
left: -5px;
border-right: none;
border-bottom: none;
}
.note-handle .note-control-selection .note-control-ne {
top: -5px;
right: -5px;
border-bottom: none;
border-left: none;
}
.note-handle .note-control-selection .note-control-sw {
bottom: -5px;
left: -5px;
border-top: none;
border-right: none;
}
.note-handle .note-control-selection .note-control-se {
right: -5px;
bottom: -5px;
cursor: se-resize;
}
.note-handle .note-control-selection .note-control-selection-info {
right: 0;
bottom: 0;
padding: 5px;
margin: 5px;
color: white;
background-color: black;
font-size: 12px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-opacity: 0.7;
-khtml-opacity: 0.7;
-moz-opacity: 0.7;
opacity: 0.7;
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
filter: alpha(opacity=70);
}

View File

@@ -0,0 +1,459 @@
@import "elements.less";
/* Theme Variables
------------------------------------------*/
@border-color: #a9a9a9;
@background-color: #f5f5f5;
/* Frame Mode Layout
------------------------------------------*/
.note-editor {
border: 1px solid @border-color;
position: relative;
/* dropzone */
@dropzone-color: lightskyblue;
@dropzone-active-color: darken(@dropzone-color, 30);
.note-dropzone {
position: absolute;
display: none;
z-index: 1;
border: 2px dashed @dropzone-color;
color: @dropzone-color;
background-color: white;
opacity: 0.95;
pointer-event: none;
.note-dropzone-message {
display: table-cell;
vertical-align: middle;
text-align: center;
font-size: 28px;
font-weight: bold;
}
&.hover {
border: 2px dashed @dropzone-active-color;
color: @dropzone-active-color;
}
}
&.dragover .note-dropzone {
display: table;
}
.note-toolbar {
background-color: @background-color;
border-bottom: 1px solid @border-color;
}
/* fullscreen mode */
&.fullscreen {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1050; /* bs3 modal-backdrop: 1030, bs2: 1040 */
.note-editable {
background-color: white;
}
.note-resizebar {
display: none;
}
}
/* codeview mode */
&.codeview {
.note-editable {
display: none;
}
.note-codable {
display: block;
}
}
/* statusbar */
.note-statusbar {
background-color: @background-color;
.note-resizebar {
height: 8px;
width: 100%;
border-top: 1px solid @border-color;
cursor: ns-resize;
.note-icon-bar {
width: 20px;
margin: 1px auto;
border-top: 1px solid @border-color;
}
}
}
/* editable */
.note-editable[contenteditable=true]:empty:not(:focus):before {
content:attr(data-placeholder);
color: #a9a9a9;
}
.note-editable {
padding: 10px;
overflow: auto;
outline: none;
}
.note-editable[contenteditable="false"] {
background-color: #e5e5e5;
}
/* codeable */
.note-codable {
display: none;
width: 100%;
padding: 10px;
border: none;
box-shadow: none;
font-family: Menlo, Monaco, monospace, sans-serif;
font-size: 14px;
color: #ccc;
background-color: #222;
resize: none;
/* override BS2 default style */
.box-sizing(border-box);
.rounded(0);
margin-bottom: 0;
}
}
/* Air Mode Layout
------------------------------------------*/
.note-air-editor {
outline: none;
}
/* Popover
------------------------------------------*/
.note-popover .popover {
max-width: none;
.popover-content {
a {
display: inline-block;
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; /* for FF */
vertical-align: middle; /* for FF */
}
}
& .arrow {
left: 20px;
}
}
/* Popover and Toolbar (Button container)
------------------------------------------*/
.note-popover .popover .popover-content, .note-toolbar {
margin: 0;
padding: 0 0 5px 5px;
&>.btn-group {
margin-top: 5px;
margin-left: 0;
margin-right: 5px;
}
.btn-group {
.note-table {
min-width: 0;
padding: 5px;
.note-dimension-picker {
font-size: 18px;
.note-dimension-picker-mousecatcher {
position: absolute !important;
z-index: 3;
width: 10em;
height: 10em;
cursor: pointer;
}
.note-dimension-picker-unhighlighted {
position: relative !important;
z-index: 1;
width: 5em;
height: 5em;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat;
}
.note-dimension-picker-highlighted {
position: absolute !important;
z-index: 2;
width: 1em;
height: 1em;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat;
}
}
}
}
.note-style {
h1, h2, h3, h4, h5, h6, blockquote {
margin: 0;
}
}
.note-color {
.dropdown-toggle {
width: 20px;
padding-left: 5px;
}
.dropdown-menu {
min-width: 340px;
.btn-group {
margin: 0;
&:first-child {
margin: 0 5px;
}
.note-palette-title {
font-size: 12px;
margin: 2px 7px;
text-align: center;
border-bottom: 1px solid #eee;
}
.note-color-reset {
font-size: 11px;
margin: 3px;
padding: 0 3px;
cursor: pointer;
.rounded(5px);
}
.note-color-row {
height: 20px;
}
.note-color-reset:hover {
background: #eee;
}
}
}
}
.note-para {
.dropdown-menu {
min-width: 216px;
padding: 5px;
&>div:first-child {
margin-right: 5px;
}
}
}
/* dropdown-menu for toolbar and popover */
.dropdown-menu {
min-width: 90px;
/* dropdown-menu right position */
/* http://forrst.com/posts/Bootstrap_right_positioned_dropdown-2KB */
&.right {
right: 0;
left: auto;
&::before { right: 9px; left: auto !important; }
&::after { right: 10px; left: auto !important; }
}
/* dropdown-menu for selectbox */
li a i {
color: deepskyblue;
visibility: hidden;
}
li a.checked i {
visibility: visible;
}
}
.note-fontsize-10 {
font-size: 10px;
}
/* color palette for toolbar and popover */
.note-color-palette {
line-height: 1;
div {
.note-color-btn {
width: 20px;
height: 20px;
padding: 0;
margin: 0;
border: 1px solid #fff;
}
.note-color-btn:hover {
border: 1px solid #000;
}
}
}
}
/* Dialog
------------------------------------------*/
.note-dialog {
&>div {
display: none; /* BS2's hide pacth. */
}
.form-group { /* overwrite BS's form-horizontal minus margins */
margin-left: 0;
margin-right: 0;
}
.note-modal-form {
margin: 0; /* overwrite BS2's form margin bottom */
}
.note-image-dialog {
.note-dropzone {
min-height: 100px;
font-size: 30px;
line-height: 4; /* vertical-align */
color: lightgray;
text-align: center;
border: 4px dashed lightgray;
margin-bottom: 10px;
}
}
.note-help-dialog {
@note-shortcut-hl: #dd0;
font-size: 12px;
color: #ccc;
background-color: #222 !important;
.opacity(0.9);
.modal-content {
background: transparent;
border: 1px solid white;
.box-shadow(none);
.rounded(5px);
}
/* BS2's background pacth. */
background: transparent;
border: none;
a {
font-size: 12px;
color: white;
}
.title {
color: white;
font-size: 14px;
font-weight: bold;
padding-bottom: 5px;
margin-bottom: 10px;
border-bottom: white 1px solid;
}
.modal-close {
font-size: 14px;
color: @note-shortcut-hl;
cursor: pointer;
}
.text-center {
margin: 10px 0 0;
}
.note-shortcut {
padding-top: 8px;
padding-bottom: 8px;
&-row {
margin-right: -5px;
margin-left: -5px;
}
&-col {
padding-right: 5px;
padding-left: 5px;
}
&-title {
font-size: 13px;
font-weight: bold;
color: @note-shortcut-hl;
}
&-key {
font-family: "Courier New";
color: @note-shortcut-hl;
text-align: right;
}
}
}
}
/* Handle
------------------------------------------*/
.note-handle {
/* control selection */
.note-control-selection {
position: absolute;
display: none;
border: 1px solid black;
&>div { position: absolute; }
.note-control-selection-bg {
width: 100%;
height: 100%;
background-color: black;
.opacity(0.30)
}
.note-control-handle {
width: 7px;
height: 7px;
border: 1px solid black;
}
.note-control-holder {
.note-control-handle;
}
.note-control-sizing {
.note-control-handle;
background-color: white;
}
.note-control-nw {
top: -5px;
left: -5px;
border-right: none;
border-bottom: none;
}
.note-control-ne {
top: -5px;
right: -5px;
border-bottom: none;
border-left: none;
}
.note-control-sw {
bottom: -5px;
left: -5px;
border-top: none;
border-right: none;
}
.note-control-se {
right: -5px;
bottom: -5px;
cursor: se-resize;
}
.note-control-selection-info {
right: 0;
bottom: 0;
padding: 5px;
margin: 5px;
color: white;
background-color: black;
font-size: 12px;
.rounded(5px);
.opacity(0.7);
}
}
}