nexa-ui-kit 0.11.8 → 0.11.9

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.
@@ -212,12 +212,269 @@ const startResize = (e) => { if (!props.resizableColumns) return; const field =
212
212
  </tbody>
213
213
  </table>
214
214
  </div>
215
- <div v-if="paginator" class="n-dt-paginator-wrap">
216
- <NPaginator :first="internalFirst.value" :rows="internalRows.value" :totalRecords="totalRecords.value" :rowsPerPageOptions="rowsPerPageOptions" @page="onPage" />
217
- </div>
218
- </div>
219
- </template>
220
-
215
+ <div v-if="paginator" class="n-dt-paginator-wrap">
216
+ <NPaginator :first="internalFirst.value" :rows="internalRows.value" :totalRecords="totalRecords.value" :rowsPerPageOptions="rowsPerPageOptions" @page="onPage" />
217
+ </div>
218
+ </div>
219
+ </template>
220
+
221
+
221
222
  <style scoped>
222
- .n-dt {
223
223
  border: 1px solid var(--n-color-border);
224
224
  border-radius: var(--n-radius-lg);
225
225
  background: var(--n-color-surface);
226
226
  overflow: hidden;
227
227
  font-family: var(--n-font-sans);
228
228
  border-color: var(--n-color-border);
229
229
  border: 1px solid var(--n-color-border);
230
230
  display: flex;
231
231
  align-items: center;
232
232
  justify-content: space-between;
233
233
  padding: 0.75rem 1rem;
234
234
  border-bottom: 1px solid var(--n-color-border);
235
235
  display: flex;
236
236
  align-items: center;
237
237
  gap: 0.5rem;
238
238
  color: var(--n-color-text-muted);
239
239
  width: 260px;
240
240
  max-width: 100%;
241
241
  background: transparent;
242
242
  border: 1px solid var(--n-color-border);
243
243
  border-radius: var(--n-radius-md);
244
244
  padding: 0.45rem 0.75rem;
245
245
  color: var(--n-color-text);
246
246
  font-size: var(--n-text-sm);
247
247
  outline: none;
248
248
  box-sizing: border-box;
249
249
  transition: border-color 0.15s ease;
250
250
  border-color: var(--n-color-primary);
251
251
  width: 100%;
252
252
  overflow: auto;
253
253
  border-radius: inherit;
254
254
  width: 100%;
255
255
  border-collapse: collapse;
256
256
  table-layout: fixed;
257
257
  background-color: var(--n-color-surface);) 0%, var(--n-color-surface) 100%);
258
258
  position: relative;
259
259
  padding: 0.65rem 0.85rem;
260
260
  border-bottom: 2px solid var(--n-color-border);
261
261
  color: var(--n-color-text-secondary);
262
262
  font-size: var(--n-text-sm);
263
263
  font-weight: var(--n-weight-semibold);
264
264
  user-select: none;
265
265
  vertical-align: middle;
266
266
  text-align: left;
267
267
  background: var(--n-color-surface);
268
268
  transition: background 0.15s ease;
269
269
  cursor: pointer;
270
270
  background: var(--n-color-glass);
271
271
  text-align: right;
272
272
  text-align: center;
273
273
  width: 3rem;
274
274
  text-align: center;
275
275
  display: flex;
276
276
  align-items: center;
277
277
  gap: 0.35rem;
278
278
  justify-content: flex-end;
279
279
  justify-content: center;
280
280
  overflow: hidden;
281
281
  text-overflow: ellipsis;
282
282
  white-space: nowrap;
283
283
  letter-spacing: 0.02em;
284
284
  text-transform: uppercase;
285
285
  font-size: 0.6875rem;
286
286
  display: inline-flex;
287
287
  flex-direction: column;
288
288
  align-items: center;
289
289
  gap: 0;
290
290
  line-height: 1;
291
291
  margin-left: auto;
292
292
  flex-shrink: 0;
293
293
  display: block;
294
294
  color: var(--n-color-border);
295
295
  transition: color 0.15s ease;
296
296
  margin: -3px 0;
297
297
  color: var(--n-color-primary);
298
298
  color: var(--n-color-primary);
299
299
  color: var(--n-color-text-muted);
300
300
  position: absolute;
301
301
  right: 0;
302
302
  top: 0;
303
303
  bottom: 0;
304
304
  width: 6px;
305
305
  cursor: col-resize;
306
306
  background: transparent;
307
307
  transition: background 0.15s ease;
308
308
  background: var(--n-color-primary);
309
309
  opacity: 0.4;
310
310
  border-bottom: 1px solid var(--n-color-border);
311
311
  padding: 0.5rem 0.6rem;
312
312
  background: var(--n-color-surface);
313
313
  width: 100%;
314
314
  max-width: 100%;
315
315
  display: block;
316
316
  background: var(--n-color-bg);
317
317
  border: 1px solid var(--n-color-border);
318
318
  border-radius: var(--n-radius-sm);
319
319
  padding: 0.3rem 0.45rem;
320
320
  color: var(--n-color-text);
321
321
  font-size: var(--n-text-xs);
322
322
  outline: none;
323
323
  box-sizing: border-box;
324
324
  transition: border-color 0.15s ease;
325
325
  border-color: var(--n-color-primary);
326
326
  transition: background 0.2s cubic-bezier(0.16, 1, 0.3, 1);
327
327
  background: color-mix(in srgb, var(--n-color-primary) 6%, var(--n-color-surface));
328
328
  background: var(--n-color-primary-light);
329
329
  outline: none;
330
330
  background: var(--n-color-primary-light);
331
331
  filter: brightness(0.96);
332
332
  background: color-mix(in srgb, var(--n-color-glass) 50%, var(--n-color-surface));
333
333
  background: color-mix(in srgb, var(--n-color-primary) 6%, var(--n-color-surface));
334
334
  background: var(--n-color-primary-light);
335
335
  padding: 0.6rem 0.85rem;
336
336
  border-bottom: 1px solid var(--n-color-border);
337
337
  color: var(--n-color-text);
338
338
  font-size: var(--n-text-sm);
339
339
  vertical-align: middle;
340
340
  text-align: left;
341
341
  text-align: right;
342
342
  text-align: center;
343
343
  width: 3rem;
344
344
  text-align: center;
345
345
  width: 20px;
346
346
  height: 20px;
347
347
  border: 2px solid var(--n-color-border);
348
348
  border-radius: 5px;
349
349
  background: transparent;
350
350
  cursor: pointer;
351
351
  display: inline-flex;
352
352
  align-items: center;
353
353
  justify-content: center;
354
354
  padding: 0;
355
355
  transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
356
356
  color: transparent;
357
357
  background: var(--n-color-primary);
358
358
  border-color: var(--n-color-primary);
359
359
  color: white;
360
360
  border-color: var(--n-color-primary);
361
361
  animation: n-dt-check-pop 0.25s cubic-bezier(0.16, 1, 0.3, 1);
362
362
  0% { transform: scale(0); }
363
363
  50% { transform: scale(1.15); }
364
364
  100% { transform: scale(1); }
365
365
  padding: 2rem 1rem;
366
366
  text-align: center;
367
367
  color: var(--n-color-text-muted);
368
368
  font-size: var(--n-text-sm);
369
369
  padding: 0.4rem 0.6rem;
370
370
  font-size: var(--n-text-xs);
371
371
  padding: 0.85rem 1rem;
372
372
  font-size: var(--n-text-base);
373
373
  border-top: 1px solid var(--n-color-border);
374
374
  background: var(--n-color-surface-alt, var(--n-color-surface));
375
375
  border-top: none;
376
376
  background: transparent;
377
+ .n-dt {
378
+ border: 1px solid var(--n-color-border);
379
+ border-radius: var(--n-radius-lg);
380
+ background: var(--n-color-surface);
381
+ overflow: hidden;
382
+ font-family: var(--n-font-sans);
383
+ }
384
+ .n-dt.is-grid {
385
+ border-color: var(--n-color-border);
386
+ }
387
+ .n-dt.is-grid .n-dt-th,
388
+ .n-dt.is-grid .n-dt-td {
389
+ border: 1px solid var(--n-color-border);
390
+ }
391
+ .n-dt-toolbar {
392
+ display: flex;
393
+ align-items: center;
394
+ justify-content: space-between;
395
+ padding: 0.75rem 1rem;
396
+ border-bottom: 1px solid var(--n-color-border);
397
+ }
398
+ .n-dt-global {
399
+ display: flex;
400
+ align-items: center;
401
+ gap: 0.5rem;
402
+ color: var(--n-color-text-muted);
403
+ }
404
+ .n-dt-global-input {
405
+ width: 260px;
406
+ max-width: 100%;
407
+ background: transparent;
408
+ border: 1px solid var(--n-color-border);
409
+ border-radius: var(--n-radius-md);
410
+ padding: 0.45rem 0.75rem;
411
+ color: var(--n-color-text);
412
+ font-size: var(--n-text-sm);
413
+ outline: none;
414
+ box-sizing: border-box;
415
+ transition: border-color var(--n-transition-fast), box-shadow var(--n-transition-fast);
416
+ }
417
+ .n-dt-global-input:focus {
418
+ border-color: var(--n-color-primary);
419
+ box-shadow: var(--n-ring-primary);
420
+ }
421
+ .n-dt-wrapper {
422
+ width: 100%;
423
+ overflow: auto;
424
+ border-radius: inherit;
425
+ }
426
+ .n-dt-table {
427
+ width: 100%;
428
+ border-collapse: collapse;
429
+ table-layout: fixed;
430
+ }
431
+ .n-dt-thead {
432
+ background-color: var(--n-color-surface-alt);
433
+ }
434
+ .n-dt-th {
435
+ position: relative;
436
+ padding: 0.75rem 1rem;
437
+ border-bottom: 1px solid var(--n-color-border);
438
+ color: var(--n-color-text);
439
+ font-size: var(--n-text-sm);
440
+ font-weight: 600;
441
+ user-select: none;
442
+ vertical-align: middle;
443
+ text-align: left;
444
+ background: var(--n-color-surface-alt);
445
+ transition: background-color var(--n-transition-fast);
446
+ }
447
+ .n-dt-th.is-sortable {
448
+ cursor: pointer;
449
+ }
450
+ .n-dt-th.is-sortable:hover {
451
+ background-color: var(--n-color-surface-hover);
452
+ }
453
+ .n-dt-th.is-right {
454
+ text-align: right;
455
+ }
456
+ .n-dt-th.is-center {
457
+ text-align: center;
458
+ }
459
+ .n-dt-th.is-selection {
460
+ width: 3rem;
461
+ text-align: center;
462
+ }
463
+ .n-dt-th-content {
464
+ display: flex;
465
+ align-items: center;
466
+ gap: 0.5rem;
467
+ }
468
+ .n-dt-th.is-right .n-dt-th-content {
469
+ justify-content: flex-end;
470
+ }
471
+ .n-dt-th.is-center .n-dt-th-content {
472
+ justify-content: center;
473
+ }
474
+ .n-dt-th-text {
475
+ overflow: hidden;
476
+ text-overflow: ellipsis;
477
+ white-space: nowrap;
478
+ letter-spacing: normal;
479
+ }
480
+ .n-dt-sort {
481
+ display: inline-flex;
482
+ flex-direction: column;
483
+ align-items: center;
484
+ gap: 0;
485
+ line-height: 1;
486
+ margin-left: auto;
487
+ flex-shrink: 0;
488
+ }
489
+ .n-dt-sort-arrow {
490
+ display: block;
491
+ color: var(--n-color-text-muted);
492
+ transition: color var(--n-transition-fast);
493
+ margin: -3px 0;
494
+ }
495
+ .n-dt-sort-arrow-up.is-on,
496
+ .n-dt-sort-arrow-down.is-on {
497
+ color: var(--n-color-primary);
498
+ }
499
+ .n-dt-th.is-sortable:hover .n-dt-sort-arrow:not(.is-on) {
500
+ color: var(--n-color-text);
501
+ }
502
+ .n-dt-resizer {
503
+ position: absolute;
504
+ right: 0;
505
+ top: 0;
506
+ bottom: 0;
507
+ width: 4px;
508
+ cursor: col-resize;
509
+ background: transparent;
510
+ transition: background-color var(--n-transition-fast);
511
+ }
512
+ .n-dt-resizer:hover {
513
+ background-color: var(--n-color-primary);
514
+ }
515
+ .n-dt-filter-row .n-dt-th {
516
+ border-bottom: 1px solid var(--n-color-border);
517
+ padding: 0.5rem 1rem;
518
+ background-color: var(--n-color-surface-alt);
519
+ }
520
+ .n-dt-filter {
521
+ width: 100%;
522
+ max-width: 100%;
523
+ display: block;
524
+ background: var(--n-color-surface);
525
+ border: 1px solid var(--n-color-border);
526
+ border-radius: var(--n-radius-sm);
527
+ padding: 0.375rem 0.5rem;
528
+ color: var(--n-color-text);
529
+ font-size: var(--n-text-xs);
530
+ outline: none;
531
+ box-sizing: border-box;
532
+ transition: border-color var(--n-transition-fast), box-shadow var(--n-transition-fast);
533
+ }
534
+ .n-dt-filter:focus {
535
+ border-color: var(--n-color-primary);
536
+ box-shadow: var(--n-ring-primary);
537
+ }
538
+ .n-dt-tbody .n-dt-row {
539
+ background-color: var(--n-color-surface);
540
+ transition: background-color var(--n-transition-fast), color var(--n-transition-fast);
541
+ }
542
+ .n-dt-tbody .n-dt-row.is-hover:hover {
543
+ background-color: var(--n-color-surface-hover);
544
+ }
545
+ .n-dt-tbody .n-dt-row.is-selected {
546
+ background-color: var(--n-color-primary-light);
547
+ color: var(--n-color-primary-text);
548
+ }
549
+ .n-dt-tbody .n-dt-row.is-selected .n-dt-td {
550
+ color: var(--n-color-primary-active);
551
+ }
552
+ .n-dt-table.is-striped .n-dt-tbody .n-dt-row:nth-child(even) {
553
+ background-color: var(--n-color-surface-alt);
554
+ }
555
+ .n-dt-table.is-striped .n-dt-tbody .n-dt-row:nth-child(even).is-hover:hover {
556
+ background-color: var(--n-color-surface-hover);
557
+ }
558
+ .n-dt-td {
559
+ padding: 0.75rem 1rem;
560
+ border-bottom: 1px solid var(--n-color-border);
561
+ color: var(--n-color-text);
562
+ font-size: var(--n-text-sm);
563
+ vertical-align: middle;
564
+ text-align: left;
565
+ }
566
+ .n-dt-td.is-right {
567
+ text-align: right;
568
+ }
569
+ .n-dt-td.is-center {
570
+ text-align: center;
571
+ }
572
+ .n-dt-td.is-selection {
573
+ width: 3rem;
574
+ text-align: center;
575
+ }
576
+ .n-dt-selectbox {
577
+ width: 20px;
578
+ height: 20px;
579
+ border: 2px solid var(--n-color-border);
580
+ border-radius: var(--n-radius-sm);
581
+ background: transparent;
582
+ cursor: pointer;
583
+ display: inline-flex;
584
+ align-items: center;
585
+ justify-content: center;
586
+ padding: 0;
587
+ transition: background-color var(--n-transition-fast), border-color var(--n-transition-fast), box-shadow var(--n-transition-fast);
588
+ color: transparent;
589
+ }
590
+ .n-dt-selectbox.is-checked {
591
+ background-color: var(--n-color-primary);
592
+ border-color: var(--n-color-primary);
593
+ color: #fff;
594
+ }
595
+ .n-dt-selectbox:hover:not(.is-checked) {
596
+ border-color: var(--n-color-primary);
597
+ }
598
+ .n-dt-selectbox:focus-visible {
599
+ outline: none;
600
+ box-shadow: var(--n-ring-primary);
601
+ }
602
+ .n-dt-selectbox.is-checked svg {
603
+ animation: n-dt-check-pop 0.2s ease-out;
604
+ }
605
+ @keyframes n-dt-check-pop {
606
+ 0% { transform: scale(0.5); }
607
+ 50% { transform: scale(1.2); }
608
+ 100% { transform: scale(1); }
609
+ }
610
+ .n-dt-empty-row .n-dt-empty {
611
+ padding: 2rem 1rem;
612
+ text-align: center;
613
+ color: var(--n-color-text-muted);
614
+ font-size: var(--n-text-sm);
615
+ }
616
+ .n-dt-sm .n-dt-th,
617
+ .n-dt-sm .n-dt-td {
618
+ padding: 0.5rem 0.75rem;
619
+ font-size: var(--n-text-xs);
620
+ }
621
+ .n-dt-lg .n-dt-th,
622
+ .n-dt-lg .n-dt-td {
623
+ padding: 1rem 1.25rem;
624
+ font-size: var(--n-text-base);
625
+ }
626
+ .n-dt-paginator-wrap {
627
+ border-top: 1px solid var(--n-color-border);
628
+ background: var(--n-color-surface-alt);
629
+ }
630
+ .n-dt-paginator-wrap :deep(.n-paginator) {
631
+ border-top: none;
632
+ background: transparent;
633
+ }
377
634
  </style>
@@ -127,5 +127,5 @@ _sfc_main.__hmrId = 'NModal_nexa'
127
127
 
128
128
  export default _sfc_main
129
129
 
130
- const __style = `.n-modal-root[data-v-46af727f]{
131
130
  position: fixed;
132
131
  top: 0;
133
132
  left: 0;
134
133
  width: 100vw;
135
134
  height: 100vh;
136
135
  display: flex;
137
136
  align-items: center;
138
137
  justify-content: center;
139
138
  z-index: var(--n-z-modal);
140
139
  position: absolute;
141
140
  top: 0;
142
141
  left: 0;
143
142
  width: 100%;
144
143
  height: 100%;
145
144
  background: var(--n-color-overlay);
146
145
  backdrop-filter: blur(8px);
147
146
  opacity: 0;
148
147
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
149
148
  opacity: 1;
150
149
  position: relative;
151
150
  width: 90%;
152
151
  background: var(--n-color-surface);
153
152
  backdrop-filter: blur(20px);
154
153
  -webkit-backdrop-filter: blur(20px);
155
154
  border: 1px solid var(--n-color-glass-border);
156
155
  border-radius: var(--n-radius-2xl);
157
156
  box-shadow: var(--n-shadow-xl), var(--n-shadow-glow-primary), 0 0 0 1px var(--n-color-glass-border);
158
157
  transform: scale(0.9) translateY(20px);
159
158
  opacity: 0;
160
159
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
161
160
  overflow: hidden;
162
161
  outline: none;
163
162
  max-height: 85vh;
164
163
  display: flex;
165
164
  flex-direction: column;
166
165
  transform: scale(1) translateY(0);
167
166
  opacity: 1;
168
167
  padding: var(--n-space-6) var(--n-space-8);
169
168
  border-bottom: 1px solid var(--n-color-border);
170
169
  display: flex;
171
170
  justify-content: space-between;
172
171
  align-items: center;
173
172
  flex-shrink: 0;
174
173
  margin: 0;
175
174
  font-size: var(--n-text-xl);
176
175
  font-weight: var(--n-weight-bold);
177
176
  color: var(--n-color-text);
178
177
  background: transparent;
179
178
  border: none;
180
179
  color: var(--n-color-text-secondary);
181
180
  font-size: 1.75rem;
182
181
  cursor: pointer;
183
182
  transition: color var(--n-transition-fast); cubic-bezier(0.34, 1.56, 0.64, 1);
184
183
  padding: 0;
185
184
  line-height: 1;
186
185
  width: 44px;
187
186
  height: 44px;
188
187
  display: flex;
189
188
  align-items: center;
190
189
  justify-content: center;
191
190
  border-radius: var(--n-radius-lg);
192
191
  flex-shrink: 0;
193
192
  color: var(--n-color-text);
194
193
  background: var(--n-color-glass-hover);
195
194
  transform: scale(0.95);
196
195
  outline: 2px solid var(--n-color-primary);
197
196
  outline-offset: 2px;
198
197
  padding: var(--n-space-8);
199
198
  color: var(--n-color-text-secondary);
200
199
  overflow-y: auto;
201
200
  overflow-x: hidden;
202
201
  flex: 1;
203
202
  padding: var(--n-space-5) var(--n-space-8);
204
203
  background: var(--n-color-glass);
205
204
  border-top: 1px solid var(--n-color-border);
206
205
  display: flex;
207
206
  justify-content: flex-end;
208
207
  gap: var(--n-space-4);
209
208
  flex-shrink: 0;
209
+ const __style = `.n-modal-root[data-v-46af727f]{
210
210
  position: fixed;
211
211
  top: 0;
212
212
  left: 0;
213
213
  width: 100vw;
214
214
  height: 100vh;
215
215
  display: flex;
216
216
  align-items: center;
217
217
  justify-content: center;
218
218
  z-index: var(--n-z-modal);
219
219
  position: absolute;
220
220
  top: 0;
221
221
  left: 0;
222
222
  width: 100%;
223
223
  height: 100%;
224
224
  background: var(--n-color-overlay);
225
225
  backdrop-filter: blur(8px);
226
226
  opacity: 0;
227
227
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
228
228
  opacity: 1;
229
229
  position: relative;
230
230
  width: 90%;
231
231
  background: var(--n-color-surface);
232
232
  backdrop-filter: blur(20px);
233
233
  -webkit-backdrop-filter: blur(20px);
234
234
  border: 1px solid var(--n-color-glass-border);
235
235
  border-radius: var(--n-radius-2xl);
236
236
  box-shadow: var(--n-shadow-xl), var(--n-shadow-glow-primary), 0 0 0 1px var(--n-color-glass-border);
237
237
  transform: scale(0.9) translateY(20px);
238
238
  opacity: 0;
239
239
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
240
240
  overflow: hidden;
241
241
  outline: none;
242
242
  max-height: 85vh;
243
243
  display: flex;
244
244
  flex-direction: column;
245
245
  transform: scale(1) translateY(0);
246
246
  opacity: 1;
247
247
  padding: var(--n-space-6) var(--n-space-8);
248
248
  border-bottom: 1px solid var(--n-color-border);
249
249
  display: flex;
250
250
  justify-content: space-between;
251
251
  align-items: center;
252
252
  flex-shrink: 0;
253
253
  margin: 0;
254
254
  font-size: var(--n-text-xl);
255
255
  font-weight: var(--n-weight-bold);
256
256
  color: var(--n-color-text);
257
257
  background: transparent;
258
258
  border: none;
259
259
  color: var(--n-color-text-secondary);
260
260
  font-size: 1.75rem;
261
261
  cursor: pointer;
262
262
  transition: color var(--n-transition-fast) cubic-bezier(0.34, 1.56, 0.64, 1);
263
263
  padding: 0;
264
264
  line-height: 1;
265
265
  width: 44px;
266
266
  height: 44px;
267
267
  display: flex;
268
268
  align-items: center;
269
269
  justify-content: center;
270
270
  border-radius: var(--n-radius-lg);
271
271
  flex-shrink: 0;
272
272
  color: var(--n-color-text);
273
273
  background: var(--n-color-glass-hover);
274
274
  transform: scale(0.95);
275
275
  outline: 2px solid var(--n-color-primary);
276
276
  outline-offset: 2px;
277
277
  padding: var(--n-space-8);
278
278
  color: var(--n-color-text-secondary);
279
279
  overflow-y: auto;
280
280
  overflow-x: hidden;
281
281
  flex: 1;
282
282
  padding: var(--n-space-5) var(--n-space-8);
283
283
  background: var(--n-color-glass);
284
284
  border-top: 1px solid var(--n-color-border);
285
285
  display: flex;
286
286
  justify-content: flex-end;
287
287
  gap: var(--n-space-4);
288
288
  flex-shrink: 0;
289
289
  injectStyle('data-v-46af727f', __style)