This commit is contained in:
hyojun.choi 2024-11-05 15:51:51 +09:00
commit 7025a46f4c
6 changed files with 3157 additions and 3337 deletions

View File

@ -39,6 +39,7 @@ export default function Playground() {
const [color, setColor] = useState('#ff0000') const [color, setColor] = useState('#ff0000')
const [textInput, setTextInput] = useState('') const [textInput, setTextInput] = useState('')
const [numberInput, setNumberInput] = useState(null)
const [radioInput, setRadioInput] = useState('') const [radioInput, setRadioInput] = useState('')
const [checkboxInput, setCheckboxInput] = useState([]) const [checkboxInput, setCheckboxInput] = useState([])
const [selectedValue, setSelectedValue] = useState('') const [selectedValue, setSelectedValue] = useState('')
@ -48,6 +49,9 @@ export default function Playground() {
useEffect(() => { useEffect(() => {
console.log('textInput:', textInput) console.log('textInput:', textInput)
}, [textInput]) }, [textInput])
useEffect(() => {
console.log('numberInput:', numberInput)
}, [numberInput])
useEffect(() => { useEffect(() => {
console.log('radioInput:', radioInput) console.log('radioInput:', radioInput)
}, [radioInput]) }, [radioInput])
@ -161,8 +165,19 @@ export default function Playground() {
> >
QInput TextInput DATA RESET QInput TextInput DATA RESET
</button> </button>
<QInput type="text" value={textInput} onChange={setTextInput} /> <QInput type="text" placeholder="placeholder" value={textInput} onChange={setTextInput} />
<QInput type="text" value={textInput} onChange={setTextInput} readOnly="true" /> <QInput type="text" placeholder="read only" value={textInput} onChange={setTextInput} readOnly="true" />
<br />
<button
className="btn-frame deepgray"
onClick={() => {
setNumberInput(null)
}}
>
QInput NumberInput DATA RESET
</button>
<QInput type="number" placeholder="placeholder" value={numberInput} onChange={setNumberInput} />
<QInput type="number" placeholder="read only" value={numberInput} onChange={setNumberInput} readOnly="true" />
<br /> <br />
<button <button
className="btn-frame deepgray" className="btn-frame deepgray"
@ -185,7 +200,7 @@ export default function Playground() {
<button <button
className="btn-frame deepgray" className="btn-frame deepgray"
onClick={() => { onClick={() => {
setCheckboxInput('') setCheckboxInput([])
}} }}
> >
QInput Checkbox DATA RESET QInput Checkbox DATA RESET

View File

@ -2,7 +2,7 @@
import { useCallback } from 'react' import { useCallback } from 'react'
export default function QInput({ type, readOnly = false, options = [], value, onChange }) { export default function QInput({ type, className, ref, id, readOnly = false, options = [], placeholder, value, onChange }) {
// options = options || [ // options = options || [
// { // {
// id: 'one', // id: 'one',
@ -21,11 +21,11 @@ export default function QInput({ type, readOnly = false, options = [], value, on
// }, // },
// ] // ]
const handleChange = useCallback( const handleRadioCheckboxChange = useCallback(
(e, optionValue) => { (e, optionValue) => {
if (type === 'radio') { if (type === 'radio') {
onChange(e.target.value) onChange(e.target.value)
} else { } else if (type === 'checkbox') {
const newValue = value.includes(optionValue) ? value.filter((v) => v !== optionValue) : [...value, optionValue] const newValue = value.includes(optionValue) ? value.filter((v) => v !== optionValue) : [...value, optionValue]
onChange(newValue) onChange(newValue)
} }
@ -33,21 +33,61 @@ export default function QInput({ type, readOnly = false, options = [], value, on
[type, value, onChange], [type, value, onChange],
) )
const handleTextChange = useCallback( const handleTextNumberChange = useCallback(
(e) => { (e) => {
if (type === 'text') {
onChange(e.target.value) onChange(e.target.value)
} else if (type === 'number') {
onChange(Number(e.target.value))
}
}, },
[onChange], [type, onChange],
) )
// type=number , ,
const checkInputNumber = (e) => {
const value = e.target.value
const key = e.key
const allowKeys = ['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'Tab', 'Enter', 'Control'] // 'ArrowUp', 'ArrowDown',
if (key >= '0' && key <= '9') {
return
}
if (key === '.' && !value.includes('.') && value.length > 0 && !isNaN(Number(value))) {
return
}
if (key === '-' && !value.includes('-') && value.length > 0) {
return
}
if (allowKeys.includes(key)) {
return
}
if (key === 'a' || key === 'c' || key === 'v' || key === 'x' || key === 'z') {
return
}
e.preventDefault()
}
// input type : text, number
const inputTextNumber = () => {
return ( return (
<> <input
{type === 'text' ? ( type={type}
<div className="mb5"> className={`input-light ${className ? className : ''}`}
<input type={type} className="input-light" readOnly={readOnly ? true : false} value={value} onChange={handleTextChange} /> ref={ref}
</div> id={id}
) : type === 'radio' || type === 'checkbox' ? ( readOnly={readOnly ? true : false}
<div className="flx mb5"> placeholder={placeholder}
value={value === 0 ? 0 : value || ''}
onChange={handleTextNumberChange}
onKeyDown={type === 'number' ? checkInputNumber : undefined}
/>
)
}
// input type : radio, checkbox
const inputRadioCheckbox = () => {
return (
<div className="flx">
{options?.map((option) => ( {options?.map((option) => (
<div key={option.name} className={`d-${type}-radio light mr5`}> <div key={option.name} className={`d-${type}-radio light mr5`}>
<input <input
@ -56,13 +96,14 @@ export default function QInput({ type, readOnly = false, options = [], value, on
value={option.value} value={option.value}
id={option.id} id={option.id}
checked={type === 'radio' ? value === option.value : value.includes(option.value)} checked={type === 'radio' ? value === option.value : value.includes(option.value)}
onChange={(e) => handleChange(e, option.value)} onChange={(e) => handleRadioCheckboxChange(e, option.value)}
/> />
<label htmlFor={option.id}>{option.name}</label> <label htmlFor={option.id}>{option.name}</label>
</div> </div>
))} ))}
</div> </div>
) : null}
</>
) )
} }
return <>{type === 'text' || type === 'number' ? inputTextNumber() : type === 'radio' || type === 'checkbox' ? inputRadioCheckbox() : null}</>
}

View File

@ -60,7 +60,7 @@ export default function FlowDirectionSetting(props) {
}, [compasDeg]) }, [compasDeg])
return ( return (
<WithDraggable isShow={true} pos={pos}> <WithDraggable isShow={true} pos={pos}>
<div className={`modal-pop-wrap lx mount`}> <div className={`modal-pop-wrap ml mount`}>
<div className="modal-head"> <div className="modal-head">
<h1 className="title">{getMessage('modal.shape.flow.direction.setting')} </h1> <h1 className="title">{getMessage('modal.shape.flow.direction.setting')} </h1>
<button className="modal-close" onClick={() => closePopup(id)}> <button className="modal-close" onClick={() => closePopup(id)}>
@ -103,6 +103,7 @@ export default function FlowDirectionSetting(props) {
<label htmlFor="ra02">{getMessage('modal.shape.flow.direction.setting.orientation.24')}</label> <label htmlFor="ra02">{getMessage('modal.shape.flow.direction.setting.orientation.24')}</label>
</div> </div>
</div> </div>
<div className="draw-flow-wrap">
<div className="compas-box"> <div className="compas-box">
<div className="compas-box-inner"> <div className="compas-box-inner">
{Array.from({ length: 180 / 15 + 1 }).map((dot, index) => ( {Array.from({ length: 180 / 15 + 1 }).map((dot, index) => (
@ -130,6 +131,7 @@ export default function FlowDirectionSetting(props) {
</div> </div>
</div> </div>
</div> </div>
</div>
<div className="grid-btn-wrap"> <div className="grid-btn-wrap">
<button className="btn-frame modal act">{getMessage('modal.common.save')}</button> <button className="btn-frame modal act">{getMessage('modal.common.save')}</button>
</div> </div>

View File

@ -180,8 +180,10 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, set
</tr> </tr>
<tr> <tr>
<th> <th>
<div className="tip-wrap">
{getMessage('modal.placement.initial.setting.size')} {getMessage('modal.placement.initial.setting.size')}
<button className="tooltip" onClick={() => setShowSizeGuidModal(true)}></button> <button className="tooltip" onClick={() => setShowSizeGuidModal(true)}></button>
</div>
</th> </th>
<td> <td>
<div className="pop-form-radio"> <div className="pop-form-radio">
@ -252,8 +254,10 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, set
</tr> </tr>
<tr> <tr>
<th> <th>
<div className="tip-wrap">
{getMessage('modal.placement.initial.setting.roof.material')} {getMessage('modal.placement.initial.setting.roof.material')}
<button className="tooltip" onClick={() => setShowMaterialGuidModal(true)}></button> <button className="tooltip" onClick={() => setShowMaterialGuidModal(true)}></button>
</div>
</th> </th>
<td> <td>
<div className="placement-option"> <div className="placement-option">

View File

@ -26,14 +26,14 @@
min-width: 1280px; min-width: 1280px;
padding-bottom: 0; padding-bottom: 0;
background-color: #383838; background-color: #383838;
transition: padding 0.17s ease-in-out; transition: padding .17s ease-in-out;
z-index: 999; z-index: 999;
.canvas-menu-inner{ .canvas-menu-inner{
position: relative; position: relative;
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 40px 0 20px; padding: 0 40px 0 20px;
background-color: #2c2c2c; background-color: #2C2C2C;
height: 46.8px; height: 46.8px;
z-index: 999; z-index: 999;
.canvas-menu-list{ .canvas-menu-list{
@ -53,7 +53,7 @@
font-weight: 600; font-weight: 600;
padding: 15px 20px; padding: 15px 20px;
opacity: 0.55; opacity: 0.55;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
.menu-icon{ .menu-icon{
display: block; display: block;
width: 14px; width: 14px;
@ -62,27 +62,13 @@
background-position: center; background-position: center;
background-size: contain; background-size: contain;
margin-right: 10px; margin-right: 10px;
&.con00 { &.con00{background-image: url(/static/images/canvas/menu_icon00.svg);}
background-image: url(/static/images/canvas/menu_icon00.svg); &.con01{background-image: url(/static/images/canvas/menu_icon01.svg);}
} &.con02{background-image: url(/static/images/canvas/menu_icon02.svg);}
&.con01 { &.con03{background-image: url(/static/images/canvas/menu_icon03.svg);}
background-image: url(/static/images/canvas/menu_icon01.svg); &.con04{background-image: url(/static/images/canvas/menu_icon04.svg);}
} &.con05{background-image: url(/static/images/canvas/menu_icon05.svg);}
&.con02 { &.con06{background-image: url(/static/images/canvas/menu_icon06.svg);}
background-image: url(/static/images/canvas/menu_icon02.svg);
}
&.con03 {
background-image: url(/static/images/canvas/menu_icon03.svg);
}
&.con04 {
background-image: url(/static/images/canvas/menu_icon04.svg);
}
&.con05 {
background-image: url(/static/images/canvas/menu_icon05.svg);
}
&.con06 {
background-image: url(/static/images/canvas/menu_icon06.svg);
}
} }
} }
&.active{ &.active{
@ -114,43 +100,25 @@
width: 30px; width: 30px;
height: 30px; height: 30px;
border-radius: 2px; border-radius: 2px;
background-color: #3d3d3d; background-color: #3D3D3D;
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 15px 15px; background-size: 15px 15px;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
&.btn01 { &.btn01{background-image: url(../../public/static/images/canvas/side_icon03.svg);}
background-image: url(../../public/static/images/canvas/side_icon03.svg); &.btn02{background-image: url(../../public/static/images/canvas/side_icon02.svg);}
} &.btn03{background-image: url(../../public/static/images/canvas/side_icon01.svg);}
&.btn02 { &.btn04{background-image: url(../../public/static/images/canvas/side_icon04.svg);}
background-image: url(../../public/static/images/canvas/side_icon02.svg); &.btn05{background-image: url(../../public/static/images/canvas/side_icon05.svg);}
} &.btn06{background-image: url(../../public/static/images/canvas/side_icon06.svg);}
&.btn03 { &.btn07{background-image: url(../../public/static/images/canvas/side_icon07.svg);}
background-image: url(../../public/static/images/canvas/side_icon01.svg); &.btn08{background-image: url(../../public/static/images/canvas/side_icon08.svg);}
} &.btn09{background-image: url(../../public/static/images/canvas/side_icon09.svg);}
&.btn04 {
background-image: url(../../public/static/images/canvas/side_icon04.svg);
}
&.btn05 {
background-image: url(../../public/static/images/canvas/side_icon05.svg);
}
&.btn06 {
background-image: url(../../public/static/images/canvas/side_icon06.svg);
}
&.btn07 {
background-image: url(../../public/static/images/canvas/side_icon07.svg);
}
&.btn08 {
background-image: url(../../public/static/images/canvas/side_icon08.svg);
}
&.btn09 {
background-image: url(../../public/static/images/canvas/side_icon09.svg);
}
&:hover{ &:hover{
background-color: #1083e3; background-color: #1083E3;
} }
&.active{ &.active{
background-color: #1083e3; background-color: #1083E3;
} }
} }
} }
@ -166,18 +134,10 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: contain; background-size: contain;
&.ico01 { &.ico01{background-image: url(../../public/static/images/canvas/ico-flx01.svg);}
background-image: url(../../public/static/images/canvas/ico-flx01.svg); &.ico02{background-image: url(../../public/static/images/canvas/ico-flx02.svg);}
} &.ico03{background-image: url(../../public/static/images/canvas/ico-flx03.svg);}
&.ico02 { &.ico04{background-image: url(../../public/static/images/canvas/ico-flx04.svg);}
background-image: url(../../public/static/images/canvas/ico-flx02.svg);
}
&.ico03 {
background-image: url(../../public/static/images/canvas/ico-flx03.svg);
}
&.ico04 {
background-image: url(../../public/static/images/canvas/ico-flx04.svg);
}
} }
.name{ .name{
font-size: 12px; font-size: 12px;
@ -207,16 +167,16 @@
button{ button{
margin-left: auto; margin-left: auto;
height: 100%; height: 100%;
background-color: #4b4b4b; background-color: #4B4B4B;
font-size: 13px; font-size: 13px;
font-weight: 400; font-weight: 400;
color: #fff; color: #fff;
padding: 0 7.5px; padding: 0 7.5px;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
} }
&.on{ &.on{
button{ button{
background-color: #1083e3; background-color: #1083E3;
} }
} }
} }
@ -225,7 +185,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 10px; gap: 10px;
background-color: #3d3d3d; background-color: #3D3D3D;
border-radius: 2px; border-radius: 2px;
width: 100px; width: 100px;
height: 30px; height: 30px;
@ -258,7 +218,7 @@
background-color: #383838; background-color: #383838;
width: 100%; width: 100%;
height: 50px; height: 50px;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
.canvas-depth2-inner{ .canvas-depth2-inner{
display: flex; display: flex;
align-items: center; align-items: center;
@ -310,7 +270,7 @@
align-items: center; align-items: center;
margin-right: 34px; margin-right: 34px;
height: 100%; height: 100%;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
button{ button{
position: relative; position: relative;
font-size: 12px; font-size: 12px;
@ -350,7 +310,7 @@
// canvas-layout // canvas-layout
.canvas-content{ .canvas-content{
padding-top: 46.8px; padding-top: 46.8px;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
.canvas-frame{ .canvas-frame{
height: calc(100vh - 129.3px); height: calc(100vh - 129.3px);
} }
@ -368,11 +328,11 @@
top: 92.8px; top: 92.8px;
left: 0; left: 0;
display: flex; display: flex;
background-color: #1c1c1c; background-color: #1C1C1C;
border-top: 1px solid #000; border-top: 1px solid #000;
width: 100%; width: 100%;
min-width: 1280px; min-width: 1280px;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
z-index: 99; z-index: 99;
&.active{ &.active{
top: calc(92.8px + 50px); top: calc(92.8px + 50px);
@ -388,14 +348,14 @@
padding: 9.6px 20px; padding: 9.6px 20px;
border-right:1px solid #000; border-right:1px solid #000;
min-width: 0; min-width: 0;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
span{ span{
display: flex; display: flex;
align-items: center; align-items: center;
width: 100%; width: 100%;
font-size: 12px; font-size: 12px;
font-family: 'Pretendard', sans-serif; font-family: 'Pretendard', sans-serif;
color: #aaa; color: #AAA;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
@ -433,9 +393,9 @@
justify-content: center; justify-content: center;
width: 45px; width: 45px;
padding: 13.5px 0; padding: 13.5px 0;
background-color: #1c1c1c; background-color: #1C1C1C;
border-right: 1px solid #000; border-right: 1px solid #000;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
span{ span{
display: block; display: block;
width: 9px; width: 9px;
@ -453,9 +413,9 @@
.canvas-frame{ .canvas-frame{
position: relative; position: relative;
// height: calc(100% - 36.5px); // height: calc(100% - 36.5px);
background-color: #f4f4f7; background-color: #F4F4F7;
overflow: auto; overflow: auto;
transition: all 0.17s ease-in-out; transition: all .17s ease-in-out;
// &::-webkit-scrollbar { // &::-webkit-scrollbar {
// width: 10px; // width: 10px;
// height: 10px; // height: 10px;
@ -490,7 +450,7 @@
min-width: 1280px; min-width: 1280px;
height: 46px; height: 46px;
border-bottom: 1px solid #000; border-bottom: 1px solid #000;
background: #2c2c2c; background: #2C2C2C;
z-index: 999; z-index: 999;
.sub-header-inner{ .sub-header-inner{
display: flex; display: flex;
@ -513,9 +473,7 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
&.drawing { &.drawing{background-image: url(../../public/static/images/main/drawing_icon.svg);}
background-image: url(../../public/static/images/main/drawing_icon.svg);
}
} }
} }
&:after{ &:after{
@ -526,7 +484,7 @@
transform: translateY(-50%); transform: translateY(-50%);
width: 1px; width: 1px;
height: 16px; height: 16px;
background-color: #d9d9d9; background-color: #D9D9D9;
} }
&:first-child{ &:first-child{
padding-left: 0; padding-left: 0;
@ -556,7 +514,7 @@
span{ span{
display: flex; display: flex;
font-size: 12px; font-size: 12px;
color: #aaa; color: #AAA;
font-weight: normal; font-weight: normal;
cursor: default; cursor: default;
} }
@ -614,8 +572,8 @@
.sub-table-box{ .sub-table-box{
padding: 20px; padding: 20px;
border-radius: 6px; border-radius: 6px;
border: 1px solid #e9eaed; border: 1px solid #E9EAED;
background: #fff; background: #FFF;
box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.02); box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.02);
.table-box-title-wrap{ .table-box-title-wrap{
display: flex; display: flex;
@ -638,7 +596,7 @@
position: relative; position: relative;
font-size: 15px; font-size: 15px;
font-weight: 600; font-weight: 600;
color: #1083e3; color: #1083E3;
padding-left: 10px; padding-left: 10px;
&::before{ &::before{
content: ''; content: '';
@ -648,7 +606,7 @@
transform: translateY(-50%); transform: translateY(-50%);
width: 1px; width: 1px;
height: 11px; height: 11px;
background-color: #d9d9d9; background-color: #D9D9D9;
} }
} }
.option{ .option{
@ -669,7 +627,7 @@
span{ span{
font-weight: 600; font-weight: 600;
&.red{ &.red{
color: #e23d70; color: #E23D70;
} }
} }
&:after{ &:after{
@ -680,17 +638,10 @@
transform: translateY(-50%); transform: translateY(-50%);
width: 1px; width: 1px;
height: 11px; height: 11px;
background-color: #d9d9d9; background-color: #D9D9D9;
}
&:first-child {
padding-left: 0;
}
&:last-child {
padding-right: 0;
&::after {
display: none;
}
} }
&:first-child{padding-left: 0;}
&:last-child{padding-right: 0;&::after{display: none;}}
} }
} }
} }
@ -783,7 +734,7 @@
width: 105px; width: 105px;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
background-color: #f4f4f7; background-color: #F4F4F7;
border-radius: 100px; border-radius: 100px;
text-align: center; text-align: center;
font-size: 13px; font-size: 13px;
@ -798,12 +749,12 @@
&.blue{ &.blue{
font-size: 16px; font-size: 16px;
font-weight: 700; font-weight: 700;
color: #1083e3; color: #1083E3;
} }
&.red{ &.red{
font-size: 16px; font-size: 16px;
font-weight: 700; font-weight: 700;
color: #d72a2a; color: #D72A2A;
} }
} }
} }
@ -817,11 +768,11 @@
padding: 10px; padding: 10px;
.btn-area{ .btn-area{
padding-bottom: 15px; padding-bottom: 15px;
border-bottom: 1px solid #ecf0f4; border-bottom: 1px solid #ECF0F4;
.file-upload{ .file-upload{
display: inline-block; display: inline-block;
height: 30px; height: 30px;
background-color: #94a0ad; background-color: #94A0AD;
padding: 0 10px; padding: 0 10px;
border-radius: 2px; border-radius: 2px;
font-size: 13px; font-size: 13px;
@ -829,9 +780,9 @@
color: #fff; color: #fff;
font-weight: 500; font-weight: 500;
cursor: pointer; cursor: pointer;
transition: background 0.15s ease-in-out; transition: background .15s ease-in-out;
&:hover{ &:hover{
background-color: #607f9a; background-color: #607F9A;
} }
} }
} }
@ -855,7 +806,7 @@
span{ span{
position: relative; position: relative;
font-size: 13px; font-size: 13px;
color: #45576f; color: #45576F;
font-weight: 400; font-weight: 400;
white-space: nowrap; white-space: nowrap;
padding-right: 55px; padding-right: 55px;
@ -881,8 +832,8 @@
display: block; display: block;
width: 20px; width: 20px;
height: 20px; height: 20px;
background-color: #94a0ad; background-color: #94A0AD;
border: 1px solid #94a0ad; border: 1px solid #94A0AD;
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-image: url(../../public/static/images/canvas/estiment_arr.svg); background-image: url(../../public/static/images/canvas/estiment_arr.svg);
@ -893,8 +844,8 @@
} }
&.on{ &.on{
background-color: #fff; background-color: #fff;
border-color: #c2d0dd; border-color: #C2D0DD;
background-image: url(../../public/static/images/canvas/estiment_arr_color.svg); background-image: url(../../public/static/images/canvas/estiment_arr_color.svg)
} }
} }
.estimate-check-wrap{ .estimate-check-wrap{
@ -902,7 +853,7 @@
display: block; display: block;
} }
&.hide{ &.hide{
border-bottom: 1px solid #ecf0f4; border-bottom: 1px solid #ECF0F4;
margin-bottom: 15px; margin-bottom: 15px;
.estimate-check-inner{ .estimate-check-inner{
display: none; display: none;
@ -917,17 +868,17 @@
margin-bottom: 30px; margin-bottom: 30px;
.special-note-check-item{ .special-note-check-item{
padding: 14px 10px; padding: 14px 10px;
border: 1px solid #ecf0f4; border: 1px solid #ECF0F4;
margin-top: -1px; margin-top: -1px;
margin-right: -1px; margin-right: -1px;
&.act{ &.act{
background-color: #f7f9fa; background-color: #F7F9FA;
} }
} }
} }
.calculation-estimate{ .calculation-estimate{
border: 1px solid #ecf0f4; border: 1px solid #ECF0F4;
border-radius: 3px; border-radius: 3px;
padding: 24px; padding: 24px;
max-height: 350px; max-height: 350px;
@ -941,13 +892,13 @@
dt{ dt{
font-size: 13px; font-size: 13px;
font-weight: 600; font-weight: 600;
color: #1083e3; color: #1083E3;
margin-bottom: 15px; margin-bottom: 15px;
} }
dd{ dd{
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
color: #45576f; color: #45576F;
margin-bottom: 8px; margin-bottom: 8px;
&:last-child{ &:last-child{
margin-bottom: 0; margin-bottom: 0;
@ -979,7 +930,7 @@
.product-price-tit{ .product-price-tit{
font-size: 13px; font-size: 13px;
font-weight: 400; font-weight: 400;
color: #45576f; color: #45576F;
margin-right: 10px; margin-right: 10px;
} }
.select-wrap{ .select-wrap{
@ -1017,7 +968,7 @@
transform: translateY(-50%); transform: translateY(-50%);
width: 1px; width: 1px;
height: 12px; height: 12px;
background-color: #d9d9d9; background-color: #D9D9D9;
} }
&:first-child{ &:first-child{
padding-left: 0; padding-left: 0;
@ -1029,7 +980,7 @@
padding-right: 0; padding-right: 0;
} }
&.item01{ &.item01{
color: #3bbb48; color: #3BBB48;
span{ span{
background-image: url(../../public/static/images/sub/open_ico.svg); background-image: url(../../public/static/images/sub/open_ico.svg);
} }
@ -1041,13 +992,13 @@
} }
} }
&.item03{ &.item03{
color: #0191c9; color: #0191C9;
span{ span{
background-image: url(../../public/static/images/sub/attachment_ico.svg); background-image: url(../../public/static/images/sub/attachment_ico.svg);
} }
} }
&.item04{ &.item04{
color: #f16a6a; color: #F16A6A;
span{ span{
background-image: url(../../public/static/images/sub/click_check_ico.svg); background-image: url(../../public/static/images/sub/click_check_ico.svg);
} }
@ -1109,23 +1060,23 @@
table{ table{
table-layout: fixed; table-layout: fixed;
border-collapse:collapse; border-collapse:collapse;
border: 1px solid #ecf0f4; border: 1px solid #ECF0F4;
border-radius: 4px; border-radius: 4px;
thead{ thead{
th{ th{
padding: 4.5px 0; padding: 4.5px 0;
border-bottom: 1px solid #ecf0f4; border-bottom: 1px solid #ECF0F4;
text-align: center; text-align: center;
font-size: 13px; font-size: 13px;
color: #45576f; color: #45576F;
font-weight: 500; font-weight: 500;
background-color: #f8f9fa; background-color: #F8F9FA;
} }
} }
tbody{ tbody{
td{ td{
font-size: 13px; font-size: 13px;
color: #45576f; color: #45576F;
text-align: center; text-align: center;
padding: 4.5px 0; padding: 4.5px 0;
} }
@ -1139,13 +1090,13 @@
.simulation-tit-wrap{ .simulation-tit-wrap{
flex: none; flex: none;
padding-right: 40px; padding-right: 40px;
border-right: 1px solid #eeeeee; border-right: 1px solid #EEEEEE;
span{ span{
display: block; display: block;
position: relative; position: relative;
padding-left: 60px; padding-left: 60px;
font-size: 15px; font-size: 15px;
color: #14324f; color: #14324F;
font-weight: 600; font-weight: 600;
&::before{ &::before{
content: ''; content: '';
@ -1173,7 +1124,7 @@
} }
dd{ dd{
font-size: 12px; font-size: 12px;
color: #45576f; color: #45576F;
font-weight: 400; font-weight: 400;
line-height: 24px; line-height: 24px;
} }
@ -1181,8 +1132,7 @@
margin-bottom: 0; margin-bottom: 0;
} }
} }
ul, ul, ol{
ol {
list-style: unset; list-style: unset;
} }
} }
@ -1191,10 +1141,10 @@
.module-total{ .module-total{
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #f8f9fa; background-color: #F8F9FA;
padding: 9px 0; padding: 9px 0;
margin-right: 4px; margin-right: 4px;
border: 1px solid #ecf0f4; border: 1px solid #ECF0F4;
border-top: none; border-top: none;
.total-title{ .total-title{
flex: 1; flex: 1;
@ -1217,7 +1167,7 @@
.information-help-wrap{ .information-help-wrap{
display: flex; display: flex;
padding: 24px; padding: 24px;
background-color: #f4f4f4; background-color: #F4F4F4;
border-radius: 4px; border-radius: 4px;
margin-bottom: 15px; margin-bottom: 15px;
.information-help-tit-wrap{ .information-help-tit-wrap{
@ -1225,7 +1175,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
padding-right: 40px; padding-right: 40px;
border-right: 1px solid #e0e0e3; border-right: 1px solid #E0E0E3;
.help-tit-icon{ .help-tit-icon{
width: 40px; width: 40px;
height: 40px; height: 40px;
@ -1237,7 +1187,7 @@
.help-tit{ .help-tit{
font-size: 13px; font-size: 13px;
font-weight: 600; font-weight: 600;
color: #45576f; color: #45576F;
} }
} }
.information-help-guide{ .information-help-guide{
@ -1246,7 +1196,7 @@
display: block; display: block;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
color: #45576f; color: #45576F;
margin-bottom: 7px; margin-bottom: 7px;
&:last-child{ &:last-child{
margin-bottom: 0; margin-bottom: 0;
@ -1260,7 +1210,7 @@
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 10px 0 30px 0; padding: 10px 0 30px 0;
border-bottom: 1px solid #e5e5e5; border-bottom: 1px solid #E5E5E5;
margin-bottom: 24px; margin-bottom: 24px;
.community-search-box{ .community-search-box{
position: relative; position: relative;
@ -1279,7 +1229,7 @@
font-weight: 400; font-weight: 400;
color: #101010; color: #101010;
&::placeholder{ &::placeholder{
color: #c8c8c8; color: #C8C8C8;
} }
} }
.community-search-ico{ .community-search-ico{
@ -1298,10 +1248,10 @@
.community-search-keyword{ .community-search-keyword{
font-size: 13px; font-size: 13px;
font-weight: 400; font-weight: 400;
color: #45576f; color: #45576F;
span{ span{
font-weight: 600; font-weight: 600;
color: #f16a6a; color: #F16A6A;
} }
} }
} }
@ -1316,15 +1266,15 @@
align-items: center; align-items: center;
padding: 24px; padding: 24px;
border-radius: 4px; border-radius: 4px;
border: 1px solid #e5e5e5; border: 1px solid #E5E5E5;
background: #fff; background: #FFF;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
.file-item-info{ .file-item-info{
.item-num{ .item-num{
display: inline-block; display: inline-block;
padding: 6px 17.5px; padding: 6px 17.5px;
border-radius: 60px; border-radius: 60px;
background-color: #f4f4f7; background-color: #F4F4F7;
font-size: 13px; font-size: 13px;
font-weight: 600; font-weight: 600;
color: #101010; color: #101010;
@ -1356,7 +1306,7 @@
} }
} }
&:hover{ &:hover{
background-color: #f4f4f7; background-color: #F4F4F7;
} }
} }
} }
@ -1369,7 +1319,7 @@
height: 148px; height: 148px;
padding: 24px; padding: 24px;
border-radius: 4px; border-radius: 4px;
border: 1px solid #e5e5e5; border: 1px solid #E5E5E5;
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
color: #344356; color: #344356;
@ -1381,8 +1331,8 @@
align-items: center; align-items: center;
width: 200px; width: 200px;
height: 30px; height: 30px;
background-color: #fafafa; background-color: #FAFAFA;
border: 1px solid #eee; border: 1px solid #EEE;
padding: 0 10px; padding: 0 10px;
input{ input{
font-size: 13px; font-size: 13px;
@ -1506,4 +1456,5 @@
} }
} }
} }
} }

View File

@ -5,24 +5,12 @@ $pop-normal-size: 12px;
$alert-color: #101010; $alert-color: #101010;
@keyframes mountpop{ @keyframes mountpop{
from { from{opacity: 0; scale: 0.95;}
opacity: 0; to{opacity: 1; scale: 1;}
scale: 0.95;
}
to {
opacity: 1;
scale: 1;
}
} }
@keyframes unmountpop{ @keyframes unmountpop{
from { from{opacity: 1; scale: 1;}
opacity: 1; to{opacity: 0; scale: 0.95;}
scale: 1;
}
to {
opacity: 0;
scale: 0.95;
}
} }
.normal-font{ .normal-font{
@ -94,10 +82,10 @@ $alert-color: #101010;
width: 800px; width: 800px;
} }
&.mount{ &.mount{
animation: mountpop 0.17s ease-in-out forwards; animation: mountpop .17s ease-in-out forwards;
} }
&.unmount{ &.unmount{
animation: unmountpop 0.17s ease-in-out forwards; animation: unmountpop .17s ease-in-out forwards;
} }
&.alert{ &.alert{
position: absolute; position: absolute;
@ -202,7 +190,7 @@ $alert-color: #101010;
} }
} }
.outer-line-wrap{ .outer-line-wrap{
border-top: 1px solid #3c3c3c; border-top: 1px solid #3C3C3C;
margin-top: 10px; margin-top: 10px;
padding-top: 15px; padding-top: 15px;
margin-bottom: 15px; margin-bottom: 15px;
@ -224,7 +212,7 @@ $alert-color: #101010;
.adsorption-point{ .adsorption-point{
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #3a3a3a; background-color: #3A3A3A;
border-radius: 3px; border-radius: 3px;
padding-left: 11px; padding-left: 11px;
overflow: hidden; overflow: hidden;
@ -245,7 +233,7 @@ $alert-color: #101010;
&.act{ &.act{
i{ i{
color: $pop-color; color: $pop-color;
background-color: #1083e3; background-color: #1083E3;
} }
} }
} }
@ -265,7 +253,7 @@ $alert-color: #101010;
display: flex; display: flex;
align-items: center; align-items: center;
background-color: transparent; background-color: transparent;
border: 1px solid #3d3d3d; border: 1px solid #3D3D3D;
border-radius: 2px; border-radius: 2px;
padding: 15px 10px; padding: 15px 10px;
gap: 20px; gap: 20px;
@ -292,9 +280,7 @@ $alert-color: #101010;
} }
} }
.select-form{ .select-form{
.sort-select { .sort-select{width: 100%;}
width: 100%;
}
} }
.grid-select{ .grid-select{
flex: 1; flex: 1;
@ -339,6 +325,7 @@ $alert-color: #101010;
color: $pop-color; color: $pop-color;
font-weight: $pop-normal-weight; font-weight: $pop-normal-weight;
padding-bottom: 15px; padding-bottom: 15px;
} }
.grid-direction{ .grid-direction{
display: flex; display: flex;
@ -355,17 +342,11 @@ $alert-color: #101010;
background-position: center; background-position: center;
background-size: 16px 15px; background-size: 16px 15px;
border-radius: 50%; border-radius: 50%;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
opacity: 0.6; opacity: 0.6;
&.down { &.down{transform: rotate(180deg);}
transform: rotate(180deg); &.left{transform: rotate(-90deg);}
} &.right{transform: rotate(90deg);}
&.left {
transform: rotate(-90deg);
}
&.right {
transform: rotate(90deg);
}
&:hover, &:hover,
&.act{ &.act{
opacity: 1; opacity: 1;
@ -452,11 +433,10 @@ $alert-color: #101010;
} }
&.light{ &.light{
padding: 0; padding: 0;
th, th,td{
td {
color: $alert-color; color: $alert-color;
border-bottom: none; border-bottom: none;
border-top: 1px solid #efefef; border-top: 1px solid #EFEFEF;
} }
th{ th{
padding: 14px 0; padding: 14px 0;
@ -502,6 +482,7 @@ $alert-color: #101010;
color: $pop-color; color: $pop-color;
font-weight: $pop-normal-weight; font-weight: $pop-normal-weight;
} }
} }
.img-edit-wrap{ .img-edit-wrap{
@ -517,7 +498,7 @@ $alert-color: #101010;
background-color: #fff; background-color: #fff;
border-radius: 2px; border-radius: 2px;
cursor: pointer; cursor: pointer;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
.img-edit{ .img-edit{
width: 16px; width: 16px;
height: 16px; height: 16px;
@ -537,6 +518,7 @@ $alert-color: #101010;
margin-left: 10px; margin-left: 10px;
input{ input{
flex: 1; flex: 1;
} }
.img-check{ .img-check{
flex: none; flex: none;
@ -562,12 +544,8 @@ $alert-color: #101010;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
&.fail { &.fail{background-image: url(../../public/static/images/canvas/img_check_fail.svg);}
background-image: url(../../public/static/images/canvas/img_check_fail.svg); &.success{background-image: url(../../public/static/images/canvas/img_check_success.svg);}
}
&.success {
background-image: url(../../public/static/images/canvas/img_check_success.svg);
}
} }
} }
@ -647,7 +625,7 @@ $alert-color: #101010;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
width: 50%; width: 50%;
background-color: #3d3d3d; background-color: #3D3D3D;
border-radius: 2px ; border-radius: 2px ;
} }
} }
@ -655,7 +633,7 @@ $alert-color: #101010;
// 외벽선 속성 설정 // 외벽선 속성 설정
.properties-guide{ .properties-guide{
font-size: $pop-normal-size; font-size: $pop-normal-size;
color: #aaa; color: #AAA;
font-weight: $pop-normal-weight; font-weight: $pop-normal-weight;
margin-bottom: 14px; margin-bottom: 14px;
} }
@ -684,17 +662,17 @@ $alert-color: #101010;
color: #fff; color: #fff;
font-weight: 700; font-weight: 700;
border-radius: 2px; border-radius: 2px;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
&.green{ &.green{
background-color: #305941; background-color: #305941;
border: 1px solid #45cd7d; border: 1px solid #45CD7D;
&:hover{ &:hover{
background-color: #3a6b4e; background-color: #3a6b4e;
} }
} }
&.blue{ &.blue{
background-color: #2e5360; background-color: #2E5360;
border: 1px solid #3fbae6; border: 1px solid #3FBAE6;
&:hover{ &:hover{
background-color: #365f6e; background-color: #365f6e;
} }
@ -716,8 +694,8 @@ $alert-color: #101010;
justify-content: center; justify-content: center;
width: 100%; width: 100%;
padding: 13px; padding: 13px;
background-color: #3d3d3d; background-color: #3D3D3D;
transition: background 0.15s ease-in-out; transition: background .15s ease-in-out;
img{ img{
max-width: 100%; max-width: 100%;
} }
@ -728,17 +706,13 @@ $alert-color: #101010;
color: $pop-color; color: $pop-color;
margin-top: 10px; margin-top: 10px;
text-align: center; text-align: center;
transition: color 0.15s ease-in-out; transition: color .15s ease-in-out;
} }
.shape-menu-box{ .shape-menu-box{
&.act, &.act,
&:hover{ &:hover{
.shape-box { .shape-box{background-color: #008BFF;}
background-color: #008bff; .shape-title{color: #008BFF;}
}
.shape-title {
color: #008bff;
}
} }
} }
} }
@ -753,7 +727,7 @@ $alert-color: #101010;
} }
.discrimination-box{ .discrimination-box{
padding: 16px 12px; padding: 16px 12px;
border: 1px solid #3d3d3d; border: 1px solid #3D3D3D;
border-radius: 2px; border-radius: 2px;
} }
@ -786,12 +760,12 @@ $alert-color: #101010;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 5px; padding: 5px;
background-color: #3d3d3d; background-color: #3D3D3D;
border: 1px solid #3d3d3d; border: 1px solid #3D3D3D;
border-radius: 2px; border-radius: 2px;
cursor: pointer; cursor: pointer;
&.act{ &.act{
border: 1px solid #ed0004; border: 1px solid #ED0004;
} }
} }
&:last-child{ &:last-child{
@ -890,7 +864,7 @@ $alert-color: #101010;
border: 1px solid #646464; border: 1px solid #646464;
border-radius: 2px; border-radius: 2px;
padding: 0 10px; padding: 0 10px;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
i{ i{
height: 15px; height: 15px;
display: block; display: block;
@ -898,7 +872,7 @@ $alert-color: #101010;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
&.allocation01{ &.allocation01{
background-image: url(../../public/static/images/canvas/allocation_icon01_white.svg); background-image: url(../../public/static/images/canvas/allocation_icon01_white.svg);
width: 15px; width: 15px;
@ -951,9 +925,7 @@ $alert-color: #101010;
height: 34px; height: 34px;
background-color: #373737; background-color: #373737;
border: 1px solid #676767; border: 1px solid #676767;
transition: transition: background .15s ease-in-out, border .15s ease-in-out;
background 0.15s ease-in-out,
border 0.15s ease-in-out;
.shape-box{ .shape-box{
display: flex; display: flex;
justify-content: center; justify-content: center;
@ -965,8 +937,8 @@ $alert-color: #101010;
} }
&.act, &.act,
&:hover{ &:hover{
border-color: #008bff; border-color: #008BFF;
background-color: #008bff; background-color: #008BFF;
} }
} }
} }
@ -981,27 +953,18 @@ $alert-color: #101010;
.library-btn{ .library-btn{
width: 100%; width: 100%;
height: 34px; height: 34px;
border: 1px solid #6c6c6c; border: 1px solid #6C6C6C;
border-radius: 2px; border-radius: 2px;
background-color: #373737; background-color: #373737;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
&.ico01 { &.ico01{background-image: url(../../public/static/images/canvas/shape_labrary01.svg); background-size: 19px 18px;}
background-image: url(../../public/static/images/canvas/shape_labrary01.svg); &.ico02{background-image: url(../../public/static/images/canvas/shape_labrary02.svg); background-size: 15px 20px;}
background-size: 19px 18px; &.ico03{background-image: url(../../public/static/images/canvas/shape_labrary03.svg); background-size: 19px 16px;}
}
&.ico02 {
background-image: url(../../public/static/images/canvas/shape_labrary02.svg);
background-size: 15px 20px;
}
&.ico03 {
background-image: url(../../public/static/images/canvas/shape_labrary03.svg);
background-size: 19px 16px;
}
&:hover{ &:hover{
border-color: #1083e3; border-color: #1083E3;
background-color: #1083e3; background-color: #1083E3;
} }
} }
} }
@ -1087,27 +1050,11 @@ $alert-color: #101010;
position: absolute; position: absolute;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
color: #b1b1b1; color: #B1B1B1;
&.top { &.top{top: 0; left: 50%; transform: translateX(-50%);}
top: 0; &.right{top: 50%; right: 0; transform: translateY(-50%);}
left: 50%; &.bottom{bottom: 0; left: 50%; transform: translateX(-50%);}
transform: translateX(-50%); &.left{top: 50%; left: 0; transform: translateY(-50%);}
}
&.right {
top: 50%;
right: 0;
transform: translateY(-50%);
}
&.bottom {
bottom: 0;
left: 50%;
transform: translateX(-50%);
}
&.left {
top: 50%;
left: 0;
transform: translateY(-50%);
}
} }
.plane-btn{ .plane-btn{
position: absolute; position: absolute;
@ -1119,27 +1066,11 @@ $alert-color: #101010;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
border-radius: 50%; border-radius: 50%;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
&.up { &.up{top: 22px; left: 50%; transform: translateX(-50%);}
top: 22px; &.right{top: 50%; right: 32px; transform: translateY(-50%) rotate(90deg);}
left: 50%; &.down{bottom: 22px; left: 50%; transform: translateX(-50%) rotate(180deg);}
transform: translateX(-50%); &.left{top: 50%; left: 32px; transform: translateY(-50%) rotate(270deg);}
}
&.right {
top: 50%;
right: 32px;
transform: translateY(-50%) rotate(90deg);
}
&.down {
bottom: 22px;
left: 50%;
transform: translateX(-50%) rotate(180deg);
}
&.left {
top: 50%;
left: 32px;
transform: translateY(-50%) rotate(270deg);
}
&:hover, &:hover,
&.act{ &.act{
background-color: #fff; background-color: #fff;
@ -1205,7 +1136,7 @@ $alert-color: #101010;
.warning{ .warning{
font-size: $pop-normal-size; font-size: $pop-normal-size;
font-weight: $pop-normal-weight; font-weight: $pop-normal-weight;
color: #ffafaf; color: #FFAFAF;
} }
// 속성 변경 // 속성 변경
@ -1226,6 +1157,10 @@ $alert-color: #101010;
.object-direction-wrap{ .object-direction-wrap{
flex: 1; flex: 1;
} }
&:first-child{
flex: none;
width: 195px;
}
} }
} }
@ -1257,157 +1192,37 @@ $alert-color: #101010;
top: 12.5px; top: 12.5px;
left: 50%; left: 50%;
font-size: 11px; font-size: 11px;
color: #8b8b8b; color: #8B8B8B;
font-weight: 500; font-weight: 500;
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-use-select: none; -ms-use-select: none;
user-select: none; user-select: none;
} }
&:nth-child(1) { &:nth-child(1) { transform: rotate(180deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(180deg);}}
transform: rotate(180deg) translate(-50%, -50%); &:nth-child(2) { transform: rotate(195deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(165deg);}}
i { &:nth-child(3) { transform: rotate(210deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(150deg);}}
transform: translateX(-50%) rotate(180deg); &:nth-child(4) { transform: rotate(225deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(135deg);}}
} &:nth-child(5) { transform: rotate(240deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(120deg);}}
} &:nth-child(6) { transform: rotate(255deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(105deg);}}
&:nth-child(2) { &:nth-child(7) { transform: rotate(270deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(90deg);}}
transform: rotate(195deg) translate(-50%, -50%); &:nth-child(8) { transform: rotate(285deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(75deg);}}
i { &:nth-child(9) { transform: rotate(300deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(60deg);}}
transform: translateX(-50%) rotate(165deg); &:nth-child(10) { transform: rotate(315deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(45deg);}}
} &:nth-child(11) { transform: rotate(330deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(30deg);}}
} &:nth-child(12) { transform: rotate(345deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(15deg);}}
&:nth-child(3) { &:nth-child(13) { transform: rotate(0deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(0deg);}}
transform: rotate(210deg) translate(-50%, -50%); &:nth-child(14) { transform: rotate(15deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-15deg);}}
i { &:nth-child(15) { transform: rotate(30deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-30deg);}}
transform: translateX(-50%) rotate(150deg); &:nth-child(16) { transform: rotate(45deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-45deg);}}
} &:nth-child(17) { transform: rotate(60deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-60deg);}}
} &:nth-child(18) { transform: rotate(75deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-75deg);}}
&:nth-child(4) { &:nth-child(19) { transform: rotate(90deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-90deg);}}
transform: rotate(225deg) translate(-50%, -50%); &:nth-child(20) { transform: rotate(105deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-105deg);}}
i { &:nth-child(21) { transform: rotate(120deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-120deg);}}
transform: translateX(-50%) rotate(135deg); &:nth-child(22) { transform: rotate(135deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-135deg);}}
} &:nth-child(23) { transform: rotate(150deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-150deg);}}
} &:nth-child(24) { transform: rotate(165deg) translate(-50%, -50%); i{transform: translateX(-50%) rotate(-165deg);}}
&:nth-child(5) {
transform: rotate(240deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(120deg);
}
}
&:nth-child(6) {
transform: rotate(255deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(105deg);
}
}
&:nth-child(7) {
transform: rotate(270deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(90deg);
}
}
&:nth-child(8) {
transform: rotate(285deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(75deg);
}
}
&:nth-child(9) {
transform: rotate(300deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(60deg);
}
}
&:nth-child(10) {
transform: rotate(315deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(45deg);
}
}
&:nth-child(11) {
transform: rotate(330deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(30deg);
}
}
&:nth-child(12) {
transform: rotate(345deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(15deg);
}
}
&:nth-child(13) {
transform: rotate(0deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(0deg);
}
}
&:nth-child(14) {
transform: rotate(15deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-15deg);
}
}
&:nth-child(15) {
transform: rotate(30deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-30deg);
}
}
&:nth-child(16) {
transform: rotate(45deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-45deg);
}
}
&:nth-child(17) {
transform: rotate(60deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-60deg);
}
}
&:nth-child(18) {
transform: rotate(75deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-75deg);
}
}
&:nth-child(19) {
transform: rotate(90deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-90deg);
}
}
&:nth-child(20) {
transform: rotate(105deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-105deg);
}
}
&:nth-child(21) {
transform: rotate(120deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-120deg);
}
}
&:nth-child(22) {
transform: rotate(135deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-135deg);
}
}
&:nth-child(23) {
transform: rotate(150deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-150deg);
}
}
&:nth-child(24) {
transform: rotate(165deg) translate(-50%, -50%);
i {
transform: translateX(-50%) rotate(-165deg);
}
}
&.act{ &.act{
&::after{ &::after{
content: ''; content: '';
@ -1418,6 +1233,7 @@ $alert-color: #101010;
width: 5px; width: 5px;
height: 5px; height: 5px;
background-color: #fff; background-color: #fff;
border-radius: 50%;
} }
i{ i{
color: #fff; color: #fff;
@ -1442,6 +1258,10 @@ $alert-color: #101010;
} }
} }
.draw-flow-wrap{
margin: 10px 0;
}
// 지붕모듈선택 // 지붕모듈선택
.roof-module-tab{ .roof-module-tab{
display: flex; display: flex;
@ -1456,13 +1276,13 @@ $alert-color: #101010;
border-radius: 2px; border-radius: 2px;
background-color: transparent; background-color: transparent;
font-size: 12px; font-size: 12px;
color: #aaa; color: #AAA;
text-align: center; text-align: center;
cursor: default; cursor: default;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
&.act{ &.act{
background-color: #1083e3; background-color: #1083E3;
border: 1px solid #1083e3; border: 1px solid #1083E3;
color: #fff; color: #fff;
font-weight: 500; font-weight: 500;
} }
@ -1475,7 +1295,7 @@ $alert-color: #101010;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
background-image: url(../../public/static/images/canvas/module_tab_arr.svg); background-image: url(../../public/static/images/canvas/module_tab_arr.svg);
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
&.act{ &.act{
background-image: url(../../public/static/images/canvas/module_tab_arr_white.svg); background-image: url(../../public/static/images/canvas/module_tab_arr_white.svg);
} }
@ -1501,16 +1321,14 @@ $alert-color: #101010;
transform: translateX(-50%); transform: translateX(-50%);
width: 1px; width: 1px;
height: 6px; height: 6px;
background-color: #8b8b8b; background-color: #8B8B8B;
} }
} }
i{ i{
top: 32px; top: 32px;
} }
&.act{ &.act{
i { i{color: #8B8B8B;}
color: #8b8b8b;
}
} }
} }
} }
@ -1542,7 +1360,7 @@ $alert-color: #101010;
height: 30px; height: 30px;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
transition: all 0.15s ease-in-out; transition: all .15s ease-in-out;
&:first-child{ &:first-child{
border-left: 1px solid #505050; border-left: 1px solid #505050;
} }
@ -1556,7 +1374,7 @@ $alert-color: #101010;
.module-table-box{ .module-table-box{
flex: 1; flex: 1;
background-color: #3d3d3d; background-color: #3D3D3D;
border-radius: 2px; border-radius: 2px;
.module-table-inner{ .module-table-inner{
padding: 10px; padding: 10px;
@ -1569,7 +1387,7 @@ $alert-color: #101010;
padding: 10px 0; padding: 10px 0;
font-size: 12px; font-size: 12px;
color: #fff; color: #fff;
border-bottom: 1px solid #4d4d4d; border-bottom: 1px solid #4D4D4D;
} }
.eaves-keraba-table{ .eaves-keraba-table{
width: 100%; width: 100%;
@ -1592,7 +1410,7 @@ $alert-color: #101010;
.warning-guide{ .warning-guide{
padding: 20px; padding: 20px;
.warning{ .warning{
color: #ffcaca; color: #FFCACA;
max-height: 55px; max-height: 55px;
overflow-y: auto; overflow-y: auto;
padding-right: 30px; padding-right: 30px;
@ -1601,7 +1419,7 @@ $alert-color: #101010;
background-color: transparent; background-color: transparent;
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
background-color: #d9d9d9; background-color: #D9D9D9;
} }
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
background-color: transparent; background-color: transparent;
@ -1612,7 +1430,7 @@ $alert-color: #101010;
.module-self-table{ .module-self-table{
display: table; display: table;
border-top: 1px solid #4d4d4d; border-top: 1px solid #4D4D4D;
border-collapse: collapse; border-collapse: collapse;
width: 100%; width: 100%;
.self-table-item{ .self-table-item{
@ -1621,7 +1439,7 @@ $alert-color: #101010;
.self-item-th{ .self-item-th{
display: table-cell; display: table-cell;
vertical-align: middle; vertical-align: middle;
border-bottom: 1px solid #4d4d4d; border-bottom: 1px solid #4D4D4D;
} }
.self-item-th{ .self-item-th{
width: 60px; width: 60px;
@ -1649,7 +1467,7 @@ $alert-color: #101010;
.hexagonal-wrap{ .hexagonal-wrap{
.hexagonal-item{ .hexagonal-item{
padding: 15px 0; padding: 15px 0;
border-bottom: 1px solid #4d4d4d; border-bottom: 1px solid #4D4D4D;
&:first-child{ &:first-child{
padding-top: 0; padding-top: 0;
} }
@ -1687,7 +1505,7 @@ $alert-color: #101010;
background-color: transparent; background-color: transparent;
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
background-color: #d9d9d9; background-color: #D9D9D9;
} }
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
background-color: transparent; background-color: transparent;
@ -1705,7 +1523,7 @@ $alert-color: #101010;
gap: 5px; gap: 5px;
min-height: 60px; min-height: 60px;
padding: 12px; padding: 12px;
border: 1px solid rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.20);
span{ span{
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
@ -1738,7 +1556,7 @@ $alert-color: #101010;
background-color: transparent; background-color: transparent;
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
background-color: #d9d9d9; background-color: #D9D9D9;
} }
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
background-color: transparent; background-color: transparent;
@ -1797,10 +1615,10 @@ $alert-color: #101010;
height: 16px; height: 16px;
&.pink{ &.pink{
border: 2px solid #ce1c9c; border: 2px solid #ce1c9c;
background-color: #16417d; background-color: #16417D;
} }
&.white{ &.white{
border: 2px solid #fff; border: 2px solid #FFF;
background-color: #001027; background-color: #001027;
} }
} }
@ -1825,7 +1643,7 @@ $alert-color: #101010;
.react-colorful__pointer{ .react-colorful__pointer{
width: 15px; width: 15px;
height: 15px; height: 15px;
border: 4px solid #fff; border: 4px solid #Fff;
} }
.react-colorful__saturation{ .react-colorful__saturation{
border-radius: 2px; border-radius: 2px;
@ -1915,6 +1733,7 @@ $alert-color: #101010;
min-height: 80px; min-height: 80px;
background-color: #fff; background-color: #fff;
} }
} }
// 치수선 설정 // 치수선 설정
@ -2034,22 +1853,10 @@ $alert-color: #101010;
border-radius: 50%; border-radius: 50%;
} }
} }
&:nth-child(1) { &:nth-child(1){ top: 0; left: 0; }
top: 0; &:nth-child(2){ top: 0; right: 0; }
left: 0; &:nth-child(3){ bottom: 0; left: 0; }
} &:nth-child(4){ bottom: 0; right: 0; }
&:nth-child(2) {
top: 0;
right: 0;
}
&:nth-child(3) {
bottom: 0;
left: 0;
}
&:nth-child(4) {
bottom: 0;
right: 0;
}
} }
.size-box{ .size-box{
position: absolute; position: absolute;