@keenmate/pure-admin-core 2.3.1 → 2.3.3

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 (70) hide show
  1. package/README.md +30 -9
  2. package/dist/css/main.css +205 -190
  3. package/package.json +1 -1
  4. package/snippets/buttons.html +375 -365
  5. package/snippets/command-palette.html +15 -13
  6. package/src/scss/_base-css-variables.scss +10 -0
  7. package/src/scss/_core.scss +121 -121
  8. package/src/scss/core-components/_alerts.scss +227 -227
  9. package/src/scss/core-components/_badges.scss +16 -16
  10. package/src/scss/core-components/_base.scss +125 -125
  11. package/src/scss/core-components/_buttons.scss +31 -16
  12. package/src/scss/core-components/_callouts.scss +152 -152
  13. package/src/scss/core-components/_cards.scss +488 -488
  14. package/src/scss/core-components/_checkbox-lists.scss +289 -289
  15. package/src/scss/core-components/_code.scss +141 -141
  16. package/src/scss/core-components/_command-palette.scss +518 -509
  17. package/src/scss/core-components/_comparison.scss +172 -172
  18. package/src/scss/core-components/_data-display.scss +9 -9
  19. package/src/scss/core-components/_data-viz.scss +9 -9
  20. package/src/scss/core-components/_detail-panel.scss +1 -1
  21. package/src/scss/core-components/_file-selector.scss +780 -780
  22. package/src/scss/core-components/_filter-card.scss +58 -58
  23. package/src/scss/core-components/_forms.scss +16 -16
  24. package/src/scss/core-components/_grid.scss +293 -293
  25. package/src/scss/core-components/_layout.scss +15 -15
  26. package/src/scss/core-components/_lists.scss +211 -211
  27. package/src/scss/core-components/_loaders.scss +277 -277
  28. package/src/scss/core-components/_logic-tree.scss +280 -280
  29. package/src/scss/core-components/_modals.scss +203 -203
  30. package/src/scss/core-components/_notifications.scss +320 -320
  31. package/src/scss/core-components/_pagers.scss +141 -141
  32. package/src/scss/core-components/_popconfirm.scss +170 -170
  33. package/src/scss/core-components/_profile.scss +405 -405
  34. package/src/scss/core-components/_scrollbars.scss +40 -40
  35. package/src/scss/core-components/_settings-panel.scss +141 -141
  36. package/src/scss/core-components/_statistics.scss +200 -201
  37. package/src/scss/core-components/_tables.scss +900 -900
  38. package/src/scss/core-components/_tabs.scss +504 -504
  39. package/src/scss/core-components/_timeline.scss +589 -589
  40. package/src/scss/core-components/_toasts.scss +425 -425
  41. package/src/scss/core-components/_tooltips.scss +605 -605
  42. package/src/scss/core-components/_utilities.scss +1 -1
  43. package/src/scss/core-components/_web-components-theme.scss +21 -21
  44. package/src/scss/core-components/badges/_badge-base.scss +121 -121
  45. package/src/scss/core-components/badges/_badge-group.scss +25 -25
  46. package/src/scss/core-components/badges/_composite-badge-variants.scss +396 -396
  47. package/src/scss/core-components/badges/_composite-badge.scss +70 -70
  48. package/src/scss/core-components/badges/_index.scss +10 -10
  49. package/src/scss/core-components/badges/_labels.scss +155 -155
  50. package/src/scss/core-components/forms/_checkboxes-radios.scss +205 -205
  51. package/src/scss/core-components/forms/_form-inputs.scss +3 -3
  52. package/src/scss/core-components/forms/_form-layout.scss +66 -66
  53. package/src/scss/core-components/forms/_form-states.scss +115 -115
  54. package/src/scss/core-components/forms/_index.scss +12 -12
  55. package/src/scss/core-components/forms/_input-groups.scss +154 -154
  56. package/src/scss/core-components/forms/_input-wrapper.scss +89 -89
  57. package/src/scss/core-components/forms/_query-editor.scss +313 -313
  58. package/src/scss/core-components/layout/_index.scss +11 -11
  59. package/src/scss/core-components/layout/_layout-container.scss +168 -168
  60. package/src/scss/core-components/layout/_layout-responsive.scss +99 -99
  61. package/src/scss/core-components/layout/_navbar-elements.scss +250 -250
  62. package/src/scss/core-components/layout/_navbar.scss +83 -83
  63. package/src/scss/core-components/layout/_sidebar-states.scss +237 -237
  64. package/src/scss/core-components/layout/_sidebar.scss +234 -234
  65. package/src/scss/main.scss +7 -7
  66. package/src/scss/utilities.scss +740 -740
  67. package/src/scss/variables/_base.scss +228 -228
  68. package/src/scss/variables/_components.scss +748 -748
  69. package/src/scss/variables/_layout.scss +65 -65
  70. package/src/scss/variables/_typography.scss +37 -37
@@ -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-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
- }
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: var(--pa-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: var(--pa-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: var(--pa-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: var(--pa-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: var(--pa-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
+ }