@nucleus-suite-pe/core 0.7.0 → 1.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nucleus-suite-pe/core",
3
- "version": "0.7.0",
3
+ "version": "1.0.0",
4
4
  "description": "Capa compartida de la suite Nucleus: sesión única, permisos, tema y marco de aplicación para Angular.",
5
5
  "keywords": [
6
6
  "angular",
package/styles/tokens.css CHANGED
@@ -8,11 +8,106 @@
8
8
  --ac-accent: #7c6cf5;
9
9
  --ac-on-accent: #ffffff;
10
10
 
11
+ --ns-frame-bg: #16132b;
12
+ --ns-frame-raised: #241f42;
13
+ --ns-frame-ink: #ece9fb;
14
+ --ns-frame-muted: #9d95c6;
15
+ --ns-frame-line: #302a54;
16
+ --ns-frame-glow: #8c7ff0;
17
+ --ns-frame-on-glow: #101014;
18
+
19
+ --ns-shadow-1: 0 1px 2px rgb(0 0 0 / 28%);
20
+ --ns-shadow-2: 0 10px 34px rgb(0 0 0 / 45%);
21
+ --ns-accent-wash: #1d1a2b;
22
+ --ns-accent-wash-strong: #2a2444;
23
+ --ns-header-bg: #262433;
24
+ --ns-header-ink: #c2c0ce;
25
+ --ns-header-line: #3a3745;
26
+ --ns-scroll-thumb: color-mix(in srgb, var(--ac-text) 20%, transparent);
27
+ --ns-scroll-thumb-hover: color-mix(in srgb, var(--ac-text) 38%, transparent);
28
+
29
+ --ns-density: 1;
30
+ --ns-cell-y: calc(14px * var(--ns-density));
31
+ --ns-head-y: calc(13px * var(--ns-density));
32
+ --ns-nav-y: calc(9px * var(--ns-density));
33
+ --ns-form-gap-y: calc(18px * var(--ns-density));
34
+ --ns-control-y: calc(0.55rem * var(--ns-density));
35
+
11
36
  --ac-font: 'Space Grotesk', sans-serif;
12
37
  --ac-radius-pill: 999px;
13
38
  --ac-radius-box: 4px;
14
39
  }
15
40
 
41
+ .ns-frame {
42
+ --ac-bg: var(--ns-frame-bg);
43
+ --ac-surface: var(--ns-frame-raised);
44
+ --ac-surface-alt: var(--ns-frame-raised);
45
+ --ac-text: var(--ns-frame-ink);
46
+ --ac-text-muted: var(--ns-frame-muted);
47
+ --ac-border: var(--ns-frame-line);
48
+ --ac-accent: var(--ns-frame-glow);
49
+ --ac-on-accent: var(--ns-frame-on-glow);
50
+ --ns-scroll-thumb: color-mix(in srgb, var(--ns-frame-ink) 22%, transparent);
51
+ --ns-scroll-thumb-hover: color-mix(in srgb, var(--ns-frame-ink) 42%, transparent);
52
+
53
+ background: var(--ns-frame-bg);
54
+ color: var(--ns-frame-ink);
55
+ }
56
+
57
+ .ns-frame .p-button-text.p-button-secondary {
58
+ color: var(--ns-frame-muted);
59
+ }
60
+
61
+ .ns-frame .p-button-text.p-button-secondary:not(:disabled):hover {
62
+ background: var(--ns-frame-raised);
63
+ color: var(--ns-frame-ink);
64
+ }
65
+
66
+ .ns-frame .p-select {
67
+ background: var(--ns-frame-raised);
68
+ border-color: var(--ns-frame-line);
69
+ color: var(--ns-frame-ink);
70
+ }
71
+
72
+ .ns-frame .p-select:not(.p-disabled):hover {
73
+ border-color: var(--ns-frame-glow);
74
+ }
75
+
76
+ .ns-frame .p-select-label {
77
+ color: var(--ns-frame-ink);
78
+ }
79
+
80
+ .ns-frame .p-select-label.p-placeholder,
81
+ .ns-frame .p-select-dropdown {
82
+ color: var(--ns-frame-muted);
83
+ }
84
+
85
+ .ns-frame .p-avatar {
86
+ background: var(--ns-frame-raised);
87
+ color: var(--ns-frame-ink);
88
+ }
89
+
90
+ .ns-frame .p-skeleton {
91
+ background: color-mix(in srgb, var(--ns-frame-ink) 12%, transparent);
92
+ }
93
+
94
+ .p-drawer-mask:has(.ns-settings-drawer) {
95
+ background: transparent;
96
+ backdrop-filter: none;
97
+ pointer-events: none;
98
+ }
99
+
100
+ .ns-flush-popover.p-popover .p-popover-content {
101
+ overflow: hidden;
102
+ padding: 0;
103
+ border-radius: inherit;
104
+ }
105
+
106
+ .ns-settings-drawer.p-drawer {
107
+ border-left: 1px solid var(--ac-border);
108
+ pointer-events: auto;
109
+ }
110
+
16
111
  html,
17
112
  body {
18
113
  margin: 0;
@@ -31,6 +126,33 @@ input {
31
126
  font-family: inherit;
32
127
  }
33
128
 
129
+ * {
130
+ scrollbar-width: thin;
131
+ scrollbar-color: var(--ns-scroll-thumb) transparent;
132
+ }
133
+
134
+ *::-webkit-scrollbar {
135
+ width: 11px;
136
+ height: 11px;
137
+ }
138
+
139
+ *::-webkit-scrollbar-track,
140
+ *::-webkit-scrollbar-corner {
141
+ background: transparent;
142
+ }
143
+
144
+ *::-webkit-scrollbar-thumb {
145
+ border: 3px solid transparent;
146
+ border-radius: 999px;
147
+ background: var(--ns-scroll-thumb);
148
+ background-clip: padding-box;
149
+ }
150
+
151
+ *::-webkit-scrollbar-thumb:hover {
152
+ background: var(--ns-scroll-thumb-hover);
153
+ background-clip: padding-box;
154
+ }
155
+
34
156
  ::selection {
35
157
  background: var(--ac-accent);
36
158
  color: var(--ac-on-accent);
@@ -55,19 +177,21 @@ input {
55
177
  border: 1px solid var(--ac-border);
56
178
  border-radius: 12px;
57
179
  overflow: hidden;
58
- background: color-mix(in srgb, var(--ac-surface) 70%, transparent);
180
+ background: var(--ac-surface);
181
+ box-shadow: var(--ns-shadow-1);
59
182
  }
60
183
 
61
184
  .ns-table .p-datatable-table-container {
185
+ overflow-x: auto;
62
186
  border-radius: 12px;
63
187
  }
64
188
 
65
189
  .ns-table .p-datatable-thead > tr > th {
66
- padding: 13px 18px;
190
+ padding: var(--ns-head-y) 18px;
67
191
  border: 0;
68
- border-bottom: 1px solid var(--ac-border);
69
- background: color-mix(in srgb, var(--ac-surface-alt) 60%, transparent);
70
- color: var(--ac-text-muted);
192
+ border-bottom: 2px solid var(--ns-header-line);
193
+ background: var(--ns-header-bg);
194
+ color: var(--ns-header-ink);
71
195
  font-size: 11px;
72
196
  font-weight: 600;
73
197
  letter-spacing: 0.07em;
@@ -80,9 +204,9 @@ input {
80
204
  }
81
205
 
82
206
  .ns-table .p-datatable-tbody > tr > td {
83
- padding: 14px 18px;
207
+ padding: var(--ns-cell-y) 18px;
84
208
  border: 0;
85
- border-bottom: 1px solid color-mix(in srgb, var(--ac-border) 45%, transparent);
209
+ border-bottom: 1px solid var(--ac-border);
86
210
  font-size: 13px;
87
211
  }
88
212
 
@@ -91,7 +215,15 @@ input {
91
215
  }
92
216
 
93
217
  .ns-table .p-datatable-tbody > tr:hover > td {
94
- background: color-mix(in srgb, var(--ac-accent) 7%, transparent);
218
+ background: var(--ns-accent-wash);
219
+ }
220
+
221
+ .ns-table .p-datatable-tbody > tr:hover > td:first-child {
222
+ box-shadow: inset 2px 0 0 var(--ac-accent);
223
+ }
224
+
225
+ .ns-table .p-datatable-tbody > tr:hover .actions .p-button-secondary:not(:disabled) {
226
+ color: var(--ac-accent);
95
227
  }
96
228
 
97
229
  .ns-table .p-datatable-tbody > tr.is-inactive > td {
@@ -116,6 +248,7 @@ input {
116
248
 
117
249
  .ns-crumbs .p-breadcrumb-item:last-child .p-breadcrumb-item-label {
118
250
  color: var(--ac-text);
251
+ font-size: 15px;
119
252
  font-weight: 600;
120
253
  }
121
254
 
@@ -126,7 +259,7 @@ input {
126
259
  .ns-form-grid {
127
260
  display: grid;
128
261
  grid-template-columns: 1fr;
129
- gap: 18px 20px;
262
+ gap: var(--ns-form-gap-y) 20px;
130
263
  }
131
264
 
132
265
  .ns-form-grid .ns-field {
@@ -165,19 +298,23 @@ input {
165
298
  text-transform: none;
166
299
  }
167
300
 
168
- .ns-form-grid .is-size-xs :is(input, textarea, .p-select, .p-inputtext) {
301
+ .ns-form-grid .is-size-xs
302
+ :is(input, textarea, .p-select, .p-inputtext, nucleus-icon-picker):not(.p-select-filter) {
169
303
  max-width: 6rem;
170
304
  }
171
305
 
172
- .ns-form-grid .is-size-sm :is(input, textarea, .p-select, .p-inputtext) {
306
+ .ns-form-grid .is-size-sm
307
+ :is(input, textarea, .p-select, .p-inputtext, nucleus-icon-picker):not(.p-select-filter) {
173
308
  max-width: 11rem;
174
309
  }
175
310
 
176
- .ns-form-grid .is-size-md :is(input, textarea, .p-select, .p-inputtext) {
311
+ .ns-form-grid .is-size-md
312
+ :is(input, textarea, .p-select, .p-inputtext, nucleus-icon-picker):not(.p-select-filter) {
177
313
  max-width: 17rem;
178
314
  }
179
315
 
180
- .ns-form-grid .is-size-lg :is(input, textarea, .p-select, .p-inputtext) {
316
+ .ns-form-grid .is-size-lg
317
+ :is(input, textarea, .p-select, .p-inputtext, nucleus-icon-picker):not(.p-select-filter) {
181
318
  max-width: 26rem;
182
319
  }
183
320
 
@@ -232,3 +369,86 @@ input {
232
369
  .ns-form-grid.is-cap-1 .ns-field {
233
370
  grid-column: 1 / -1;
234
371
  }
372
+
373
+ .p-select-overlay .p-select-header {
374
+ padding: 10px 10px 6px;
375
+ }
376
+
377
+ .p-select-overlay .p-select-header .p-iconfield {
378
+ position: relative;
379
+ display: block;
380
+ width: 100%;
381
+ }
382
+
383
+ .p-select-overlay .p-select-filter {
384
+ width: 100%;
385
+ padding-right: 38px;
386
+ }
387
+
388
+ .p-select-overlay .p-select-header .p-inputicon {
389
+ position: absolute;
390
+ top: 50%;
391
+ right: 13px;
392
+ display: inline-flex;
393
+ align-items: center;
394
+ margin: 0;
395
+ color: var(--ac-text-muted);
396
+ pointer-events: none;
397
+ transform: translateY(-50%);
398
+ }
399
+
400
+ .p-select-overlay .p-select-header .p-inputicon svg {
401
+ width: 15px;
402
+ height: 15px;
403
+ }
404
+
405
+ .ns-context .p-select {
406
+ border-radius: var(--ac-radius-pill);
407
+ }
408
+
409
+ .ns-context .p-select-label {
410
+ padding: 6px 4px 6px 12px;
411
+ font-size: 12px;
412
+ }
413
+
414
+ .ns-context .p-select-dropdown {
415
+ width: 28px;
416
+ }
417
+
418
+ .p-skeleton {
419
+ background: color-mix(in srgb, var(--ac-text) 10%, transparent);
420
+ }
421
+
422
+ .ns-table .is-skeleton > td {
423
+ padding-block: 16px;
424
+ }
425
+
426
+ .ns-tree-toggle {
427
+ display: inline-flex;
428
+ flex: none;
429
+ align-items: center;
430
+ justify-content: center;
431
+ width: 18px;
432
+ height: 18px;
433
+ padding: 0;
434
+ border: 0;
435
+ border-radius: 4px;
436
+ background: transparent;
437
+ color: var(--ac-text-muted);
438
+ cursor: pointer;
439
+ }
440
+
441
+ .ns-tree-toggle:hover {
442
+ background: color-mix(in srgb, var(--ac-text) 10%, transparent);
443
+ color: var(--ac-text);
444
+ }
445
+
446
+ .ns-tree-toggle i {
447
+ font-size: 11px;
448
+ }
449
+
450
+ .ns-tree-spacer {
451
+ display: inline-block;
452
+ flex: none;
453
+ width: 18px;
454
+ }