Add new alignment icons and enhance dropdown components

- Introduced new alignment icons: AlignRightIcon, AlignJustifyIcon, AlignLeftIcon, FlexRowIcon, FlexColumnIcon, FlexRowReverseIcon, and FlexColumnReverseIcon.
- Updated MainScene to ensure loading progress is displayed correctly.
- Enhanced DataDetailedDropdown to include click outside functionality for closing the dropdown and improved eye dropper icon interaction.
- Created a new DataSourceSelector component for selecting data sources with an optional eye dropper feature.
- Cleaned up InputWithDropDown component by removing unnecessary whitespace.
- Improved styles in _simulationDashBoard.scss for better layout and responsiveness, including new design sections and alignment options.
This commit is contained in:
Nalvazhuthi
2025-12-16 18:01:17 +05:30
parent a06768e0f2
commit a9df8d98bb
8 changed files with 1252 additions and 996 deletions

View File

@@ -272,6 +272,17 @@
box-shadow: 0px 4px 8px rgba(60, 60, 67, 0.1019607843);
z-index: 3;
display: flex;
flex-direction: column;
gap: 11px;
min-width: 280px;
height: fit-content;
min-width: 320px;
min-height: 60vh;
padding: 12px;
.header {
display: flex;
justify-content: space-between;
@@ -296,6 +307,223 @@
}
}
.icon {
display: flex;
}
.design-section {
padding: 4px;
outline: 1px solid var(--border-color);
outline-offset: -1px;
border-radius: 12px;
background: var(--background-color);
padding: 14px 12px;
display: flex;
flex-direction: column;
gap: 11px;
.value-field-container {
padding: 0;
margin: 0;
// padding: 6px 0px;
}
.select-type {
display: flex;
.type {
flex: 1;
padding: 4px 0;
text-align: center;
border-radius: 100px;
&.active {
background-color: var(--background-color-button);
}
}
}
.position-canvas {
background: #8D70AD33;
height: 110px;
border-radius: 17px;
display: flex;
justify-content: center;
align-items: center;
position: relative;
.canvas {
width: 60%;
height: 27px;
background: #E0DFFF80;
// position: relative;
.value {
position: absolute;
input {
// border: none;
// outline: none;
width: 20px;
background: transparent;
}
&:nth-child(1) {
top: 20px;
left: 50%;
transform: translateX(-50%);
}
&:nth-child(2) {
top: 50%;
right: 35px;
transform: translateY(-50%);
}
&:nth-child(3) {
bottom: 20px;
left: 50%;
transform: translateX(-50%);
}
&:nth-child(4) {
top: 50%;
left: 35px;
transform: translateY(-50%);
}
}
}
}
.alignments-section {
display: flex;
justify-content: center;
gap: 7px;
.section {
border-radius: 100px;
padding: 6px;
display: flex;
gap: 10px;
width: fit-content;
}
.icon {
&.active {
background-color: var(--background-color-button);
border-radius: 2px;
}
}
}
.input-range-container {
margin: 0;
padding: 0;
}
.data-picker {
display: flex;
justify-content: space-between;
align-items: center;
.label {
width: 50%;
white-space: nowrap;
}
input[type="color"] {
width: 42px;
padding: 0;
background: transparent;
outline: none;
}
.left {
width: 100%;
display: flex;
align-items: center;
gap: 6px;
.colorValue {
width: 100%;
background: linear-gradient(90.85deg, rgba(240, 228, 255, 0.3) 3.6%, rgba(211, 174, 253, 0.3) 96.04%);
text-align: center;
padding: 4px 0;
border-radius: 100px;
}
}
}
.design-section-footer {
display: flex;
gap: 7px;
label,
.input {
width: auto;
}
input {
width: 40px;
}
.input-range-container,
.value-field-container {
width: 100%;
display: flex;
gap: 6px;
.input-container {
width: 100%;
display: flex;
gap: 6px;
input[type="range"] {
margin: 0;
width: 70px;
}
}
}
}
}
.datas {
// width: 100% ;
display: flex;
justify-content: space-between;
align-items: center;
.datas__label,
.datas__class {
flex: 1;
}
}
.type-switch {
display: flex;
padding: 6px 12px;
.type {
flex: 1;
text-align: center;
padding: 4px 0;
border-radius: 19px;
cursor: pointer;
&.active {
background: var(--background-color-button);
}
}
}
&.data-model-panel {
left: 20px;
top: 50px;
@@ -311,131 +539,137 @@
}
}
&.block-editor-panel {
display: flex;
flex-direction: column;
gap: 11px;
min-width: 280px;
height: fit-content;
min-width: 320px;
min-height: 60vh;
padding: 12px;
// h4 {
// color: #4caf50;
// }
.type-switch {
display: flex;
padding: 6px 12px;
.type {
flex: 1;
text-align: center;
padding: 4px 0;
border-radius: 19px;
cursor: pointer;
&.active {
background: var(--background-color-button);
}
}
}
.data-details {
.design-section-wrapper {
display: flex;
flex-direction: column;
gap: 6px;
.data-wrapper {
display: flex;
flex-direction: column;
gap: 6px;
padding: 6px 12px;
.value-field-container {
margin: 0;
padding: 0;
}
.label,
.input.default {
width: auto;
flex: 1;
}
}
.data-details {
display: flex;
flex-direction: column;
gap: 6px;
.data-wrapper {
display: flex;
flex-direction: column;
gap: 6px;
padding: 6px 12px;
.value-field-container {
margin: 0;
padding: 0;
.label,
.input.default {
width: auto;
flex: 1;
}
.data {
display: flex;
justify-content: center;
align-items: center;
gap: 9px;
.datas_label,
.regularDropdown-container {
flex: 1;
}
input,
.input-wrapper {
background: transparent;
}
}
.data-mapping {
.data {
display: flex;
justify-content: center;
align-items: center;
gap: 9px;
.datas_label,
.regularDropdown-container {
flex: 1;
}
}
}
.data-mapping {
display: flex;
flex-direction: column;
gap: 9px;
background: var(--background-color);
border: 1px solid var(--border-color);
box-shadow: var(--box-shadow-medium);
padding: 15px 12px;
border-radius: 25px;
.heading {
text-align: center;
}
.type-switch {}
.fields-wrapper {
display: flex;
flex-direction: column;
gap: 9px;
background: var(--background-color);
border: 1px solid var(--border-color);
box-shadow: var(--box-shadow-medium);
padding: 15px 12px;
border-radius: 25px;
gap: 6px;
.heading {
text-align: center;
}
.type-switch {
padding: 0;
}
.fields-wrapper {
.datas {
width: 100%;
display: flex;
flex-direction: column;
gap: 2px;
align-items: center;
// padding: 6px 12px;
.datas {
width: 100%;
display: flex;
align-items: center;
padding: 6px 12px;
.datas__label,
.datas__class {
flex: 1;
}
.datas__label {
flex: 0.8;
}
.datas__class {
display: flex;
align-items: center;
gap: 4px;
}
.datas__label,
.datas__class {
flex: 1;
}
.add-field {
.datas__label {
flex: 0.8;
}
.datas__class {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
gap: 4px;
svg path {
stroke: #CCACFF !important;
.icon {
display: flex;
padding: 3px;
border-radius: 2px;
&.active {
background: var(--background-color-button);
}
}
.label {
color: #CCACFF;
.regularDropdown-container {
.icon {
padding: 0;
}
}
}
}
.add-field {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
svg path {
stroke: #CCACFF !important;
}
.label {
color: #CCACFF;
}
}
}
}
}
@@ -443,9 +677,33 @@
&.element-editor-panel {
right: 20px;
top: 50px;
min-width: 300px;
// min-width: 300px;
max-height: 84vh;
overflow: auto;
max-width: 320px;
.appearance {
.design-datas-wrapper {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px 16px;
.value-field-container {
label {
width: 80%;
text-wrap: nowrap;
}
}
}
}
.footer {
text-align: center;
color: #CCACFF;
}
}
}
@@ -679,9 +937,18 @@
.input-wrapper {
width: 100%;
background: transparent;
}
.icon {
display: flex;
padding: 2px;
border-radius: 2px;
&.active {
background: var(--background-color-button);
}
cursor: pointer;
}
}
@@ -700,6 +967,7 @@
.input {
display: flex;
justify-content: space-between;
align-items: center;
padding: 4px 8px;
}