UNPKG

saxi

Version:

Drive the AxiDraw pen plotter

8 lines (7 loc) 12.3 kB
{ "version": 3, "sources": ["../../src/style.css"], "sourcesContent": [":root {\n --teal: #75D5CD;\n --teal-light: #DCF4F2;\n --teal-dark: #3F9991;\n --purple: #8E75B6;\n --purple-light: #E3DCED;\n --purple-dark: #604987;\n --red: #DE7272;\n --panel-width: 260px;\n}\n\nbody {\n font-family: 'Work Sans', sans-serif;\n font-size: 14px;\n color: var(--purple);\n background-color: #f6f6f6;\n}\n\nbody, html, #app {\n height: 100%;\n margin: 0;\n}\n\nbody.dragover {\n background-color: var(--teal);\n}\n\n* {\n box-sizing: border-box;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nstrong {\n font-weight: 900;\n}\n\n.root {\n display: flex;\n align-items: stretch;\n height: 100%;\n}\n\npath {\n stroke: black;\n fill: transparent;\n}\n\n.preview-area {\n position: relative;\n flex: 1 1 auto;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n}\n\n.preview {\n box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.2);\n overflow: hidden;\n background-color: white;\n position: relative;\n}\n\n.preview-loader {\n align-items: center;\n background: rgba(0, 0, 0, 0.2);\n color: whitesmoke;\n display: flex;\n font-size: 36px;\n font-weight: bold;\n height: 100%;\n justify-content: center;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.preview > svg {\n display: block;\n contain: strict;\n}\n\n.preview > svg:not(:first-child) {\n position: absolute;\n transform: translateZ(0.001px);\n top: 0;\n left: 0;\n}\n\n.dragover .drag-target {\n opacity: 0;\n}\n\n.drag-target {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.2);\n}\n\n.drag-target-message {\n display: flex;\n justify-content: center;\n align-items: center;\n color: whitesmoke;\n font-weight: bold;\n font-size: 36px;\n}\n\n.control-panel {\n position: relative;\n flex: 0 0 var(--panel-width);\n width: var(--panel-width);\n background-color: white;\n overflow-y: auto;\n\n box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.2);\n}\n\n.control-panel-bottom {\n position: fixed;\n bottom: 0;\n width: var(--panel-width);\n padding-bottom: 0.5rem;\n background-color: white;\n}\n\n.control-panel-bottom .section-header {\n padding-top: 0.25rem;\n}\n\n.saxi-title {\n margin: 0 1rem;\n padding-top: 0.5rem;\n font-size: 36px;\n font-weight: 900;\n text-align: center;\n user-select: none;\n}\n.disconnected .saxi-title {\n text-decoration-line: line-through;\n}\n\n.section-header {\n margin-bottom: 1rem;\n padding: 0.5rem 0;\n border-bottom: 1px solid var(--purple-light);\n font-size: 18px;\n font-weight: 900;\n text-align: center;\n user-select: none;\n}\n\n.section-body {\n padding: 0 1rem;\n}\n\n/* INPUTS */\n\nform {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\nlabel {\n font-size: 10px;\n text-align: center;\n line-height: 1.6;\n user-select: none;\n}\n\ninput[type=number] {\n width: 100%;\n padding: 0.3rem;\n margin-bottom: 0.5rem;\n border: 1px solid var(--purple);\n font-family: 'Work Sans', sans-serif;\n font-size: 14px;\n color: var(--purple);\n background-color: white;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);\n outline: none;\n}\n\ninput[type=checkbox] {\n position: relative;\n appearance: none;\n -webkit-appearance: none;\n width: 18px;\n height: 18px;\n margin: 0 0.5rem 0 0;\n border: 1px solid var(--purple);\n background-color: white;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);\n outline: none;\n cursor: pointer;\n}\n\ninput[type=checkbox]:checked:after {\n display: block;\n position: absolute;\n top: 3px;\n right: 3px;\n bottom: 3px;\n left: 3px;\n content: '';\n background-color: var(--purple);\n}\n\nbutton, select {\n width: 100%;\n margin-bottom: 0.5rem;\n padding: 0.4rem;\n font-family: 'Work Sans', sans-serif;\n font-size: 14px;\n font-weight: 700;\n background-color: white;\n color: var(--purple);\n border: 1px solid var(--purple);\n border-radius: 0;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n outline: none;\n}\n\nbutton:not(:disabled):hover,\nbutton:not(:disabled):focus,\nselect:not(:disabled):hover,\nselect:focus,\ninput[type=number]:hover,\ninput[type=number]:focus,\ninput[type=checkbox]:focus {\n box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.25);\n}\n\nbutton:not(:disabled):active {\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25), inset 2px 2px 5px rgba(0, 0, 0, 0.2);\n background-color: #fafafa;\n color: var(--purple-dark);\n}\n\n/* button-link is a button element that looks like a link */\nbutton.button-link {\n display: block;\n padding: 0;\n border: none;\n font-size: 10px;\n text-decoration: none;\n background-color: transparent;\n box-shadow: none;\n font-weight: 400;\n}\n\nbutton.button-link:hover,\nbutton.button-link:active,\nbutton.button-link:focus {\n box-shadow: none;\n background-color: transparent;\n text-decoration: underline;\n}\n\nselect {\n height: 30px;\n appearance: none;\n -webkit-appearance: none;\n}\n\nselect[multiple]:focus option:checked {\n background: var(--purple);\n color: white;\n}\n\n.flex button,\n.flex label {\n width: calc(50% - 0.25rem);\n align-self: flex-end;\n}\n\n.flex-checkbox {\n display: flex;\n align-items: center;\n margin-bottom: 0.5rem;\n}\n\n/* PEN section */\n\n.pen-label {\n width: calc(50% - 0.25rem);\n}\n\n/* PAPER section */\n\n.paper-sizes {\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n}\n\n.paper-label {\n width: 44%;\n margin-bottom: 0;\n}\n\n.paper-sizes__swap {\n width: 10%;\n margin-bottom: 16px;\n cursor: pointer;\n fill: var(--purple);\n}\n.paper-sizes__swap:hover {\n fill: var(--purple-dark);\n}\n\n.layer-select {\n height: 100px;\n background-color: white;\n border: 1px solid var(--purple);\n color: var(--purple);\n}\n.layer-select:hover {\n background-color: white;\n cursor: default;\n}\n\n.spacer {\n height: 200px;\n}\n\n/* MORE section */\n\nsummary {\n outline: none;\n cursor: pointer;\n}\n\nsummary:focus {\n color: var(--purple-dark);\n}\n\n.horizontal-labels label {\n display: block;\n position: relative;\n}\n.horizontal-labels label::after {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 28px;\n border-right: 1px solid var(--purple);\n}\n\n.horizontal-labels img {\n position: absolute;\n padding: 4px;\n width: 28px;\n height: 28px;\n border-right: 1px solid var(--purple);\n /*opacity: 0.5;*/\n}\n.horizontal-labels input {\n padding-left: 32px;\n}\n\n/* PLOT section */\n\n.duration {\n display: flex;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n}\n\n.section-body__plot button {\n padding: 0.4rem;\n font-size: 18px;\n}\n.section-body__plot button:disabled {\n /*background-color: var(--purple-light);*/\n /*color: var(--purple-light);*/\n cursor: default;\n}\n\n.replan-button {\n /*color: var(--purple);*/\n}\n\n.plot-button {\n color: white;\n background-color: var(--teal);\n border: 1px solid var(--teal-dark);\n}\n.plot-button:not(:disabled):active {\n color: white;\n background-color: var(--teal);\n}\n.plot-button:disabled {\n color: var(--teal-light);\n background-color: white;\n}\n.plot-button--plotting {\n background-color: var(--teal-light);\n}\n\n.button-row {\n display: flex;\n}\n.button-row > *:not(:first-child) {\n margin-left: 10px;\n}\n\n.cancel-button {\n background-color: white;\n color: var(--purple-light);\n}\n.cancel-button--active {\n color: var(--purple);\n}\n\n\n/* UTILS */\n\n.purple { color: var(--purple); }\n.teal { color: var(--teal); }\n.teal-dark { color: var(--teal-dark); }\n.red { color: var(--red); }\n\n.reg { font-weight: 400; }\n\n.flex {\n display: flex;\n justify-content: space-between;\n}\n\n.info-disconnected {\n text-align: center;\n color: var(--red);\n}\n"], "mappings": "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", "names": [] }