@keenmate/pure-admin-core 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +77 -7
  2. package/dist/css/main.css +792 -431
  3. package/package.json +1 -1
  4. package/snippets/customization.html +1 -1
  5. package/snippets/layout.html +4 -4
  6. package/snippets/manifest.json +0 -50
  7. package/snippets/profile.html +51 -3
  8. package/src/scss/_base-css-variables.scss +432 -422
  9. package/src/scss/_core.scss +105 -105
  10. package/src/scss/_fonts.scss +0 -14
  11. package/src/scss/_variables.scss +12 -14
  12. package/src/scss/core-components/_alerts.scss +7 -7
  13. package/src/scss/core-components/_base.scss +3 -3
  14. package/src/scss/core-components/_buttons.scss +425 -425
  15. package/src/scss/core-components/_callouts.scss +139 -139
  16. package/src/scss/core-components/_cards.scss +321 -321
  17. package/src/scss/core-components/_checkbox-lists.scss +2 -2
  18. package/src/scss/core-components/_code.scss +4 -4
  19. package/src/scss/core-components/_command-palette.scss +518 -518
  20. package/src/scss/core-components/_comparison.scss +3 -3
  21. package/src/scss/core-components/_file-selector.scss +780 -780
  22. package/src/scss/core-components/_forms.scss +16 -16
  23. package/src/scss/core-components/_layout.scss +15 -15
  24. package/src/scss/core-components/_lists.scss +7 -7
  25. package/src/scss/core-components/_logic-tree.scss +280 -280
  26. package/src/scss/core-components/_modals.scss +2 -2
  27. package/src/scss/core-components/_notifications.scss +7 -7
  28. package/src/scss/core-components/_pagers.scss +3 -3
  29. package/src/scss/core-components/_popconfirm.scss +1 -1
  30. package/src/scss/core-components/_profile.scss +400 -389
  31. package/src/scss/core-components/_scrollbars.scss +40 -40
  32. package/src/scss/core-components/_settings-panel.scss +5 -5
  33. package/src/scss/core-components/_statistics.scss +6 -6
  34. package/src/scss/core-components/_tables.scss +566 -566
  35. package/src/scss/core-components/_tabs.scss +493 -493
  36. package/src/scss/core-components/_timeline.scss +15 -15
  37. package/src/scss/core-components/_toasts.scss +4 -4
  38. package/src/scss/core-components/_tooltips.scss +8 -8
  39. package/src/scss/core-components/_utilities.scss +11 -30
  40. package/src/scss/core-components/_web-components-theme.scss +294 -294
  41. package/src/scss/core-components/badges/_composite-badge-variants.scss +3 -3
  42. package/src/scss/core-components/badges/_labels.scss +1 -1
  43. package/src/scss/core-components/forms/_checkboxes-radios.scss +2 -2
  44. package/src/scss/core-components/forms/_form-inputs.scss +4 -4
  45. package/src/scss/core-components/forms/_form-layout.scss +2 -2
  46. package/src/scss/core-components/forms/_form-states.scss +1 -1
  47. package/src/scss/core-components/forms/_input-wrapper.scss +1 -1
  48. package/src/scss/core-components/forms/_query-editor.scss +17 -17
  49. package/src/scss/core-components/layout/_layout-container.scss +1 -1
  50. package/src/scss/core-components/layout/_navbar-elements.scss +1 -1
  51. package/src/scss/core-components/layout/_sidebar.scss +5 -5
  52. package/src/scss/utilities.scss +24 -0
  53. package/src/scss/variables/_base.scss +20 -10
  54. package/src/scss/variables/_colors.scss +7 -6
  55. package/src/scss/variables/_components.scss +8 -11
  56. package/src/scss/variables/_index.scss +11 -7
  57. package/src/scss/variables/_spacing.scss +12 -0
  58. package/src/scss/variables/_typography.scss +2 -2
  59. package/dist/fonts/Delivery/Delivery_W_Bd.woff2 +0 -0
  60. package/dist/fonts/Delivery/Delivery_W_BdIt.woff2 +0 -0
  61. package/dist/fonts/Delivery/Delivery_W_CdBlk.woff2 +0 -0
  62. package/dist/fonts/Delivery/Delivery_W_CdLt.woff2 +0 -0
  63. package/dist/fonts/Delivery/Delivery_W_It.woff2 +0 -0
  64. package/dist/fonts/Delivery/Delivery_W_Lt.woff2 +0 -0
  65. package/dist/fonts/Delivery/Delivery_W_LtIt.woff2 +0 -0
  66. package/dist/fonts/Delivery/Delivery_W_Rg.woff2 +0 -0
  67. package/src/scss/themes/_dark-base.scss +0 -207
  68. package/src/scss/themes/audi-light.scss +0 -341
  69. package/src/scss/themes/audi.scss +0 -303
  70. package/src/scss/themes/corporate.scss +0 -229
  71. package/src/scss/themes/dark-blue.scss +0 -165
  72. package/src/scss/themes/dark-green.scss +0 -169
  73. package/src/scss/themes/dark-red.scss +0 -173
  74. package/src/scss/themes/dark.scss +0 -158
  75. package/src/scss/themes/express.scss +0 -294
  76. package/src/scss/themes/minimal.scss +0 -134
@@ -1,16 +1,16 @@
1
- /* ========================================
2
- Form Components
3
- Form groups, inputs, selects, textareas, checkboxes, radio buttons, states
4
- ======================================== */
5
-
6
- // ============================================================================
7
- // BACKWARD COMPATIBILITY AGGREGATOR
8
- // This file re-exports all form components from the modular forms/ directory.
9
- // For new code, prefer importing from forms/ directly:
10
- // @use 'forms' as *;
11
- // or specific modules:
12
- // @use 'forms/form-inputs';
13
- // @use 'forms/checkboxes-radios';
14
- // ============================================================================
15
-
16
- @forward 'forms/index';
1
+ /* ========================================
2
+ Form Components
3
+ Form groups, inputs, selects, textareas, checkboxes, radio buttons, states
4
+ ======================================== */
5
+
6
+ // ============================================================================
7
+ // BACKWARD COMPATIBILITY AGGREGATOR
8
+ // This file re-exports all form components from the modular forms/ directory.
9
+ // For new code, prefer importing from forms/ directly:
10
+ // @use 'forms' as *;
11
+ // or specific modules:
12
+ // @use 'forms/form-inputs';
13
+ // @use 'forms/checkboxes-radios';
14
+ // ============================================================================
15
+
16
+ @forward 'forms/index';
@@ -1,15 +1,15 @@
1
- /* ========================================
2
- Layout V2 - Based on Testbench Structure
3
- ======================================== */
4
-
5
- // ============================================================================
6
- // BACKWARD COMPATIBILITY AGGREGATOR
7
- // This file re-exports all layout components from the modular layout/ directory.
8
- // For new code, prefer importing from layout/ directly:
9
- // @use 'layout' as *;
10
- // or specific modules:
11
- // @use 'layout/navbar';
12
- // @use 'layout/sidebar';
13
- // ============================================================================
14
-
15
- @forward 'layout/index';
1
+ /* ========================================
2
+ Layout V2 - Based on Testbench Structure
3
+ ======================================== */
4
+
5
+ // ============================================================================
6
+ // BACKWARD COMPATIBILITY AGGREGATOR
7
+ // This file re-exports all layout components from the modular layout/ directory.
8
+ // For new code, prefer importing from layout/ directly:
9
+ // @use 'layout' as *;
10
+ // or specific modules:
11
+ // @use 'layout/navbar';
12
+ // @use 'layout/sidebar';
13
+ // ============================================================================
14
+
15
+ @forward 'layout/index';
@@ -120,7 +120,7 @@
120
120
 
121
121
  dt {
122
122
  font-weight: $font-weight-semibold;
123
- color: var(--pa-text-primary);
123
+ color: var(--pa-text-color-1);
124
124
  margin-bottom: $spacing-xs;
125
125
  margin-top: $spacing-base;
126
126
 
@@ -132,7 +132,7 @@
132
132
  dd {
133
133
  margin-left: $spacing-lg;
134
134
  margin-bottom: $spacing-sm;
135
- color: var(--pa-text-secondary);
135
+ color: var(--pa-text-color-2);
136
136
  line-height: 1.6;
137
137
  }
138
138
 
@@ -173,7 +173,7 @@
173
173
  }
174
174
 
175
175
  &:hover {
176
- background-color: var(--pa-primary-bg);
176
+ background-color: var(--pa-main-bg);
177
177
  }
178
178
  }
179
179
 
@@ -181,7 +181,7 @@
181
181
  width: $btn-icon-only-size;
182
182
  height: $btn-icon-only-size;
183
183
  border-radius: 50%;
184
- background-color: var(--pa-primary-bg);
184
+ background-color: var(--pa-main-bg);
185
185
  display: flex;
186
186
  align-items: center;
187
187
  justify-content: center;
@@ -194,18 +194,18 @@
194
194
 
195
195
  &__title {
196
196
  font-weight: $font-weight-medium;
197
- color: var(--pa-text-primary);
197
+ color: var(--pa-text-color-1);
198
198
  margin-bottom: $spacing-xs;
199
199
  }
200
200
 
201
201
  &__subtitle {
202
- color: var(--pa-text-secondary);
202
+ color: var(--pa-text-color-2);
203
203
  font-size: $font-size-sm;
204
204
  margin-bottom: $spacing-xs;
205
205
  }
206
206
 
207
207
  &__meta {
208
- color: var(--pa-text-secondary);
208
+ color: var(--pa-text-color-2);
209
209
  font-size: $font-size-xs;
210
210
  }
211
211
  }
@@ -1,280 +1,280 @@
1
- /**
2
- * Logic Tree Renderer - Scratch-style visual query representation
3
- * Renders nested blocks showing logical flow and precedence
4
- */
5
- @use '../variables' as *;
6
-
7
- .pa-logic-tree {
8
- padding: $spacing-base;
9
- background: #f9fafb;
10
- border-radius: $border-radius;
11
- min-height: 6.4rem;
12
- font-family: $body-font-family;
13
-
14
- // Empty state
15
- &__empty {
16
- text-align: center;
17
- color: var(--pa-text-secondary);
18
- padding: $spacing-xl;
19
- font-style: italic;
20
- }
21
-
22
- // Empty branch (incomplete query)
23
- &__empty-branch {
24
- color: var(--pa-text-secondary);
25
- font-style: italic;
26
- padding: $spacing-sm $spacing-md;
27
- background: #f9fafb;
28
- border: 1.6px dashed #d1d5db;
29
- border-radius: $border-radius-sm;
30
- text-align: center;
31
- }
32
-
33
- // Node wrapper
34
- &__node {
35
- margin-bottom: $spacing-sm;
36
-
37
- &:last-child {
38
- margin-bottom: 0;
39
- }
40
- }
41
-
42
- // Block (condition, logical, group)
43
- &__block {
44
- background: #fff;
45
- border: 3.2px solid var(--pa-border-color);
46
- border-radius: $border-radius;
47
- padding: $spacing-sm;
48
- position: relative;
49
- transition: box-shadow 0.32s $easing-smooth;
50
-
51
- &:hover {
52
- box-shadow: $shadow-sm;
53
- }
54
-
55
- // Condition block (field operator value)
56
- &--condition {
57
- background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
58
- border-color: var(--pa-primary-bg);
59
- border-left-width: 6.4px;
60
- }
61
-
62
- // Logical operator blocks
63
- &--logical {
64
- padding: $spacing-md;
65
- background: #fff;
66
- }
67
-
68
- &--and {
69
- border-color: $warning-bg;
70
- background: linear-gradient(135deg, #fff8e1 0%, #ffffff 100%);
71
- }
72
-
73
- &--or {
74
- border-color: $info-bg;
75
- background: linear-gradient(135deg, #e3f2fd 0%, #ffffff 100%);
76
- }
77
-
78
- // Group block (parentheses)
79
- &--group {
80
- border-color: $secondary-bg;
81
- border-style: dashed;
82
- background: linear-gradient(135deg, #f3f4f6 0%, #ffffff 100%);
83
- }
84
- }
85
-
86
- // Block content for conditions
87
- &__block-content {
88
- display: flex;
89
- align-items: center;
90
- gap: $spacing-sm;
91
- flex-wrap: wrap;
92
- }
93
-
94
- // Tree structure container
95
- &__tree-structure {
96
- position: relative;
97
- padding-left: 3.2rem;
98
- }
99
-
100
- // Tree branch (left or right operand)
101
- &__tree-branch {
102
- position: relative;
103
- padding-left: 2.4rem;
104
-
105
- // Vertical line connector
106
- &::before {
107
- content: '';
108
- position: absolute;
109
- left: 0;
110
- top: 0;
111
- bottom: 50%;
112
- width: 3.2px;
113
- background: #94a3b8;
114
- }
115
-
116
- // Horizontal line connector
117
- &::after {
118
- content: '';
119
- position: absolute;
120
- left: 0;
121
- top: 1.6rem;
122
- width: 1.6rem;
123
- height: 3.2px;
124
- background: #94a3b8;
125
- }
126
-
127
- // Left branch - extends vertical line down
128
- &--left {
129
- margin-bottom: 0.8rem;
130
-
131
- &::before {
132
- bottom: 0;
133
- }
134
- }
135
-
136
- // Right branch - no bottom extension
137
- &--right {
138
- margin-top: 0.8rem;
139
- }
140
- }
141
-
142
- // Operator node in tree
143
- &__tree-operator {
144
- position: relative;
145
- padding-left: 2.4rem;
146
- margin: 0.8rem 0;
147
-
148
- // Vertical line through operator
149
- &::before {
150
- content: '';
151
- position: absolute;
152
- left: 0;
153
- top: -0.8rem;
154
- bottom: -0.8rem;
155
- width: 3.2px;
156
- background: #94a3b8;
157
- }
158
-
159
- // Horizontal line to operator
160
- &::after {
161
- content: '';
162
- position: absolute;
163
- left: 0;
164
- top: 50%;
165
- transform: translateY(-50%);
166
- width: 1.6rem;
167
- height: 3.2px;
168
- background: #94a3b8;
169
- }
170
-
171
- .pa-logic-tree__token--logical {
172
- display: inline-block;
173
- background: #fff3e0;
174
- color: #e65100;
175
- border: 3.2px solid #ff9800;
176
- padding: 0.4rem 1.2rem;
177
- border-radius: $border-radius;
178
- font-weight: $font-weight-bold;
179
- text-transform: uppercase;
180
- letter-spacing: 0.05em;
181
- box-shadow: 0 1.6px 4.8px rgba(0, 0, 0, 0.1);
182
- }
183
- }
184
-
185
- // Group label
186
- &__group-label {
187
- font-weight: $font-weight-medium;
188
- font-size: $font-size-sm;
189
- color: var(--pa-text-secondary);
190
- margin-bottom: $spacing-sm;
191
- padding-bottom: $spacing-sm;
192
- border-bottom: 1.6px dashed $border-color;
193
- }
194
-
195
- // Group content (indented)
196
- &__group-content {
197
- padding-left: $spacing-md;
198
- }
199
-
200
- // Token representation (colored badges)
201
- &__token {
202
- display: inline-block;
203
- padding: 0.4rem 0.8rem;
204
- border-radius: $border-radius-sm;
205
- font-size: $font-size-xs;
206
- font-weight: $font-weight-medium;
207
- font-family: $font-stack-mono;
208
- white-space: nowrap;
209
-
210
- // Field token (blue)
211
- &--field {
212
- background: #e3f2fd;
213
- color: #1565c0;
214
- border: 1.6px solid #bbdefb;
215
- }
216
-
217
- // Operator token (gray)
218
- &--operator {
219
- background: #f5f5f5;
220
- color: #616161;
221
- border: 1.6px solid #e0e0e0;
222
- }
223
-
224
- // Value token (green)
225
- &--value {
226
- background: #e8f5e9;
227
- color: #2e7d32;
228
- border: 1.6px solid #c8e6c9;
229
- }
230
-
231
- // Logical token (orange/blue)
232
- &--logical {
233
- background: #fff3e0;
234
- color: #e65100;
235
- border: 1.6px solid #ffe0b2;
236
- font-weight: $font-weight-bold;
237
- text-transform: uppercase;
238
- letter-spacing: 0.05em;
239
- }
240
-
241
- // Paren token (purple)
242
- &--paren {
243
- background: #f3e5f5;
244
- color: #7b1fa2;
245
- border: 1.6px solid #e1bee7;
246
- }
247
- }
248
-
249
- // Animation for tree building
250
- &--animated {
251
- .pa-logic-tree__node {
252
- animation: slideIn 0.48s $easing-smooth;
253
- }
254
-
255
- .pa-logic-tree__block {
256
- animation: fadeIn 0.64s $easing-smooth;
257
- }
258
- }
259
- }
260
-
261
- // Animations
262
- @keyframes slideIn {
263
- from {
264
- opacity: 0;
265
- transform: translateX(-16px);
266
- }
267
- to {
268
- opacity: 1;
269
- transform: translateX(0);
270
- }
271
- }
272
-
273
- @keyframes fadeIn {
274
- from {
275
- opacity: 0;
276
- }
277
- to {
278
- opacity: 1;
279
- }
280
- }
1
+ /**
2
+ * Logic Tree Renderer - Scratch-style visual query representation
3
+ * Renders nested blocks showing logical flow and precedence
4
+ */
5
+ @use '../variables' as *;
6
+
7
+ .pa-logic-tree {
8
+ padding: $spacing-base;
9
+ background: #f9fafb;
10
+ border-radius: $border-radius;
11
+ min-height: 6.4rem;
12
+ font-family: $body-font-family;
13
+
14
+ // Empty state
15
+ &__empty {
16
+ text-align: center;
17
+ color: var(--pa-text-color-2);
18
+ padding: $spacing-xl;
19
+ font-style: italic;
20
+ }
21
+
22
+ // Empty branch (incomplete query)
23
+ &__empty-branch {
24
+ color: var(--pa-text-color-2);
25
+ font-style: italic;
26
+ padding: $spacing-sm $spacing-md;
27
+ background: #f9fafb;
28
+ border: 1.6px dashed #d1d5db;
29
+ border-radius: $border-radius-sm;
30
+ text-align: center;
31
+ }
32
+
33
+ // Node wrapper
34
+ &__node {
35
+ margin-bottom: $spacing-sm;
36
+
37
+ &:last-child {
38
+ margin-bottom: 0;
39
+ }
40
+ }
41
+
42
+ // Block (condition, logical, group)
43
+ &__block {
44
+ background: #fff;
45
+ border: 3.2px solid var(--pa-border-color);
46
+ border-radius: $border-radius;
47
+ padding: $spacing-sm;
48
+ position: relative;
49
+ transition: box-shadow 0.32s $easing-smooth;
50
+
51
+ &:hover {
52
+ box-shadow: $shadow-sm;
53
+ }
54
+
55
+ // Condition block (field operator value)
56
+ &--condition {
57
+ background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
58
+ border-color: var(--pa-main-bg);
59
+ border-left-width: 6.4px;
60
+ }
61
+
62
+ // Logical operator blocks
63
+ &--logical {
64
+ padding: $spacing-md;
65
+ background: #fff;
66
+ }
67
+
68
+ &--and {
69
+ border-color: $warning-bg;
70
+ background: linear-gradient(135deg, #fff8e1 0%, #ffffff 100%);
71
+ }
72
+
73
+ &--or {
74
+ border-color: $info-bg;
75
+ background: linear-gradient(135deg, #e3f2fd 0%, #ffffff 100%);
76
+ }
77
+
78
+ // Group block (parentheses)
79
+ &--group {
80
+ border-color: $secondary-bg;
81
+ border-style: dashed;
82
+ background: linear-gradient(135deg, #f3f4f6 0%, #ffffff 100%);
83
+ }
84
+ }
85
+
86
+ // Block content for conditions
87
+ &__block-content {
88
+ display: flex;
89
+ align-items: center;
90
+ gap: $spacing-sm;
91
+ flex-wrap: wrap;
92
+ }
93
+
94
+ // Tree structure container
95
+ &__tree-structure {
96
+ position: relative;
97
+ padding-left: 3.2rem;
98
+ }
99
+
100
+ // Tree branch (left or right operand)
101
+ &__tree-branch {
102
+ position: relative;
103
+ padding-left: 2.4rem;
104
+
105
+ // Vertical line connector
106
+ &::before {
107
+ content: '';
108
+ position: absolute;
109
+ left: 0;
110
+ top: 0;
111
+ bottom: 50%;
112
+ width: 3.2px;
113
+ background: #94a3b8;
114
+ }
115
+
116
+ // Horizontal line connector
117
+ &::after {
118
+ content: '';
119
+ position: absolute;
120
+ left: 0;
121
+ top: 1.6rem;
122
+ width: 1.6rem;
123
+ height: 3.2px;
124
+ background: #94a3b8;
125
+ }
126
+
127
+ // Left branch - extends vertical line down
128
+ &--left {
129
+ margin-bottom: 0.8rem;
130
+
131
+ &::before {
132
+ bottom: 0;
133
+ }
134
+ }
135
+
136
+ // Right branch - no bottom extension
137
+ &--right {
138
+ margin-top: 0.8rem;
139
+ }
140
+ }
141
+
142
+ // Operator node in tree
143
+ &__tree-operator {
144
+ position: relative;
145
+ padding-left: 2.4rem;
146
+ margin: 0.8rem 0;
147
+
148
+ // Vertical line through operator
149
+ &::before {
150
+ content: '';
151
+ position: absolute;
152
+ left: 0;
153
+ top: -0.8rem;
154
+ bottom: -0.8rem;
155
+ width: 3.2px;
156
+ background: #94a3b8;
157
+ }
158
+
159
+ // Horizontal line to operator
160
+ &::after {
161
+ content: '';
162
+ position: absolute;
163
+ left: 0;
164
+ top: 50%;
165
+ transform: translateY(-50%);
166
+ width: 1.6rem;
167
+ height: 3.2px;
168
+ background: #94a3b8;
169
+ }
170
+
171
+ .pa-logic-tree__token--logical {
172
+ display: inline-block;
173
+ background: #fff3e0;
174
+ color: #e65100;
175
+ border: 3.2px solid #ff9800;
176
+ padding: 0.4rem 1.2rem;
177
+ border-radius: $border-radius;
178
+ font-weight: $font-weight-bold;
179
+ text-transform: uppercase;
180
+ letter-spacing: 0.05em;
181
+ box-shadow: 0 1.6px 4.8px rgba(0, 0, 0, 0.1);
182
+ }
183
+ }
184
+
185
+ // Group label
186
+ &__group-label {
187
+ font-weight: $font-weight-medium;
188
+ font-size: $font-size-sm;
189
+ color: var(--pa-text-color-2);
190
+ margin-bottom: $spacing-sm;
191
+ padding-bottom: $spacing-sm;
192
+ border-bottom: 1.6px dashed $border-color;
193
+ }
194
+
195
+ // Group content (indented)
196
+ &__group-content {
197
+ padding-left: $spacing-md;
198
+ }
199
+
200
+ // Token representation (colored badges)
201
+ &__token {
202
+ display: inline-block;
203
+ padding: 0.4rem 0.8rem;
204
+ border-radius: $border-radius-sm;
205
+ font-size: $font-size-xs;
206
+ font-weight: $font-weight-medium;
207
+ font-family: $font-stack-mono;
208
+ white-space: nowrap;
209
+
210
+ // Field token (blue)
211
+ &--field {
212
+ background: #e3f2fd;
213
+ color: #1565c0;
214
+ border: 1.6px solid #bbdefb;
215
+ }
216
+
217
+ // Operator token (gray)
218
+ &--operator {
219
+ background: #f5f5f5;
220
+ color: #616161;
221
+ border: 1.6px solid #e0e0e0;
222
+ }
223
+
224
+ // Value token (green)
225
+ &--value {
226
+ background: #e8f5e9;
227
+ color: #2e7d32;
228
+ border: 1.6px solid #c8e6c9;
229
+ }
230
+
231
+ // Logical token (orange/blue)
232
+ &--logical {
233
+ background: #fff3e0;
234
+ color: #e65100;
235
+ border: 1.6px solid #ffe0b2;
236
+ font-weight: $font-weight-bold;
237
+ text-transform: uppercase;
238
+ letter-spacing: 0.05em;
239
+ }
240
+
241
+ // Paren token (purple)
242
+ &--paren {
243
+ background: #f3e5f5;
244
+ color: #7b1fa2;
245
+ border: 1.6px solid #e1bee7;
246
+ }
247
+ }
248
+
249
+ // Animation for tree building
250
+ &--animated {
251
+ .pa-logic-tree__node {
252
+ animation: slideIn 0.48s $easing-smooth;
253
+ }
254
+
255
+ .pa-logic-tree__block {
256
+ animation: fadeIn 0.64s $easing-smooth;
257
+ }
258
+ }
259
+ }
260
+
261
+ // Animations
262
+ @keyframes slideIn {
263
+ from {
264
+ opacity: 0;
265
+ transform: translateX(-16px);
266
+ }
267
+ to {
268
+ opacity: 1;
269
+ transform: translateX(0);
270
+ }
271
+ }
272
+
273
+ @keyframes fadeIn {
274
+ from {
275
+ opacity: 0;
276
+ }
277
+ to {
278
+ opacity: 1;
279
+ }
280
+ }