juxscript 1.1.166 → 1.1.168

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.
@@ -1103,4 +1103,358 @@ button.jux-button:active,
1103
1103
 
1104
1104
  .dark .jux-menu-chevron {
1105
1105
  color: #a1a1aa;
1106
+ }
1107
+
1108
+ /* ═══════════════════════════════════════════════════════════════════
1109
+ * DATAFRAME COMPONENT
1110
+ * ═══════════════════════════════════════════════════════════════════ */
1111
+
1112
+ .jux-dataframe {
1113
+ display: flex;
1114
+ flex-direction: column;
1115
+ gap: 0.75rem;
1116
+ width: 100%;
1117
+ }
1118
+
1119
+ .jux-dataframe-upload {
1120
+ margin-bottom: 0.25rem;
1121
+ }
1122
+
1123
+ .jux-dataframe-status {
1124
+ display: flex;
1125
+ align-items: center;
1126
+ padding: 0.5rem 0.75rem;
1127
+ font-size: 0.8125rem;
1128
+ font-weight: 500;
1129
+ border-radius: 0.375rem;
1130
+ border: 1px solid #e4e4e7;
1131
+ background: #fafafa;
1132
+ color: #71717a;
1133
+ transition: all 0.2s ease;
1134
+ }
1135
+
1136
+ .jux-dataframe-status-success {
1137
+ background: #f0fdf4;
1138
+ border-color: #bbf7d0;
1139
+ color: #15803d;
1140
+ }
1141
+
1142
+ .jux-dataframe-status-loading {
1143
+ background: #fefce8;
1144
+ border-color: #fde68a;
1145
+ color: #a16207;
1146
+ }
1147
+
1148
+ .jux-dataframe-status-error {
1149
+ background: #fef2f2;
1150
+ border-color: #fecaca;
1151
+ color: #dc2626;
1152
+ }
1153
+
1154
+ .jux-dataframe-status-empty {
1155
+ background: #fafafa;
1156
+ border-color: #e4e4e7;
1157
+ color: #a1a1aa;
1158
+ }
1159
+
1160
+ /* DataFrame Filter */
1161
+ .jux-dataframe-filter {
1162
+ position: relative;
1163
+ display: flex;
1164
+ align-items: center;
1165
+ width: 100%;
1166
+ }
1167
+
1168
+ .jux-dataframe-filter-icon {
1169
+ position: absolute;
1170
+ left: 0.75rem;
1171
+ top: 50%;
1172
+ transform: translateY(-50%);
1173
+ color: #a1a1aa;
1174
+ pointer-events: none;
1175
+ display: flex;
1176
+ align-items: center;
1177
+ }
1178
+
1179
+ .jux-dataframe-filter-input {
1180
+ padding-left: 2.25rem !important;
1181
+ }
1182
+
1183
+ /* ═══════════════════════════════════════════════════════════════════
1184
+ * FILE UPLOAD (Shadcn styled)
1185
+ * ═══════════════════════════════════════════════════════════════════ */
1186
+
1187
+ .jux-fileupload {
1188
+ gap: 0.5rem;
1189
+ }
1190
+
1191
+ .jux-fileupload-button-container {
1192
+ display: flex;
1193
+ align-items: center;
1194
+ gap: 0.5rem;
1195
+ }
1196
+
1197
+ .jux-fileupload-button {
1198
+ display: inline-flex;
1199
+ align-items: center;
1200
+ justify-content: center;
1201
+ white-space: nowrap;
1202
+ border-radius: 0.375rem;
1203
+ font-size: 0.875rem;
1204
+ font-weight: 500;
1205
+ height: 2.5rem;
1206
+ padding: 0 1rem;
1207
+ cursor: pointer;
1208
+ transition: all 0.15s ease;
1209
+ border: 1px solid #e4e4e7;
1210
+ background: #ffffff;
1211
+ color: #09090b;
1212
+ }
1213
+
1214
+ .jux-fileupload-button:hover {
1215
+ background: #f4f4f5;
1216
+ color: #18181b;
1217
+ }
1218
+
1219
+ .jux-fileupload-button:disabled {
1220
+ pointer-events: none;
1221
+ opacity: 0.5;
1222
+ }
1223
+
1224
+ .jux-fileupload-icon {
1225
+ display: flex;
1226
+ align-items: center;
1227
+ color: #71717a;
1228
+ }
1229
+
1230
+ .jux-fileupload-list {
1231
+ display: flex;
1232
+ flex-direction: column;
1233
+ gap: 0.25rem;
1234
+ }
1235
+
1236
+ .jux-fileupload-item {
1237
+ display: flex;
1238
+ align-items: center;
1239
+ gap: 0.5rem;
1240
+ padding: 0.375rem 0.75rem;
1241
+ background: #f4f4f5;
1242
+ border: 1px solid #e4e4e7;
1243
+ border-radius: 0.375rem;
1244
+ font-size: 0.8125rem;
1245
+ color: #09090b;
1246
+ }
1247
+
1248
+ .jux-fileupload-filename {
1249
+ flex: 1;
1250
+ font-weight: 500;
1251
+ overflow: hidden;
1252
+ text-overflow: ellipsis;
1253
+ white-space: nowrap;
1254
+ }
1255
+
1256
+ .jux-fileupload-filesize {
1257
+ color: #a1a1aa;
1258
+ font-size: 0.75rem;
1259
+ flex-shrink: 0;
1260
+ }
1261
+
1262
+ .jux-fileupload-remove {
1263
+ background: transparent;
1264
+ border: none;
1265
+ color: #a1a1aa;
1266
+ cursor: pointer;
1267
+ font-size: 1rem;
1268
+ padding: 0 0.25rem;
1269
+ line-height: 1;
1270
+ border-radius: 0.25rem;
1271
+ transition: all 0.15s;
1272
+ }
1273
+
1274
+ .jux-fileupload-remove:hover {
1275
+ color: #ef4444;
1276
+ background: #fef2f2;
1277
+ }
1278
+
1279
+ /* ═══════════════════════════════════════════════════════════════════
1280
+ * TABLE ENHANCEMENTS
1281
+ * ═══════════════════════════════════════════════════════════════════ */
1282
+
1283
+ .jux-table-wrapper {
1284
+ width: 100%;
1285
+ overflow-x: auto;
1286
+ }
1287
+
1288
+ .jux-table-filter {
1289
+ display: flex;
1290
+ height: 2.5rem;
1291
+ width: 100%;
1292
+ border-radius: 0.375rem;
1293
+ border: 1px solid #e4e4e7;
1294
+ background: #ffffff;
1295
+ padding: 0.5rem 0.75rem;
1296
+ font-size: 0.875rem;
1297
+ color: #09090b;
1298
+ outline: none;
1299
+ transition: all 0.15s ease;
1300
+ box-sizing: border-box;
1301
+ margin-bottom: 0.75rem;
1302
+ }
1303
+
1304
+ .jux-table-filter::placeholder {
1305
+ color: #a1a1aa;
1306
+ }
1307
+
1308
+ .jux-table-filter:focus {
1309
+ border-color: #18181b;
1310
+ box-shadow: 0 0 0 2px #18181b, 0 0 0 4px rgba(24, 24, 27, 0.1);
1311
+ }
1312
+
1313
+ .jux-table-pagination {
1314
+ margin-top: 0.75rem;
1315
+ display: flex;
1316
+ gap: 0.375rem;
1317
+ justify-content: center;
1318
+ align-items: center;
1319
+ padding: 0.5rem 0;
1320
+ }
1321
+
1322
+ .jux-table-pagination button {
1323
+ display: inline-flex;
1324
+ align-items: center;
1325
+ justify-content: center;
1326
+ white-space: nowrap;
1327
+ border-radius: 0.375rem;
1328
+ font-size: 0.875rem;
1329
+ font-weight: 500;
1330
+ height: 2.25rem;
1331
+ padding: 0 0.875rem;
1332
+ cursor: pointer;
1333
+ transition: all 0.15s ease;
1334
+ border: 1px solid #e4e4e7;
1335
+ background: #ffffff;
1336
+ color: #09090b;
1337
+ }
1338
+
1339
+ .jux-table-pagination button:hover:not(:disabled) {
1340
+ background: #f4f4f5;
1341
+ color: #18181b;
1342
+ }
1343
+
1344
+ .jux-table-pagination button:disabled {
1345
+ pointer-events: none;
1346
+ opacity: 0.5;
1347
+ }
1348
+
1349
+ .jux-table-pagination span {
1350
+ font-size: 0.875rem;
1351
+ color: #71717a;
1352
+ padding: 0 0.75rem;
1353
+ }
1354
+
1355
+ /* Table hoverable rows */
1356
+ .jux-table-hoverable tbody tr {
1357
+ transition: background-color 0.1s ease;
1358
+ }
1359
+
1360
+ .jux-table-hoverable tbody tr:hover {
1361
+ background-color: #f4f4f5 !important;
1362
+ }
1363
+
1364
+ /* Selection highlight override for shadcn */
1365
+ .jux-table-row-selected {
1366
+ background-color: #eff6ff !important;
1367
+ }
1368
+
1369
+ .jux-table-row-selected:hover {
1370
+ background-color: #dbeafe !important;
1371
+ }
1372
+
1373
+ /* ═══════════════════════════════════════════════════════════════════
1374
+ * DARK MODE - DATAFRAME / FILEUPLOAD / TABLE
1375
+ * ═══════════════════════════════════════════════════════════════════ */
1376
+
1377
+ .dark .jux-dataframe-status {
1378
+ background: #18181b;
1379
+ border-color: #27272a;
1380
+ color: #a1a1aa;
1381
+ }
1382
+
1383
+ .dark .jux-dataframe-status-success {
1384
+ background: #052e16;
1385
+ border-color: #166534;
1386
+ color: #4ade80;
1387
+ }
1388
+
1389
+ .dark .jux-dataframe-status-loading {
1390
+ background: #422006;
1391
+ border-color: #a16207;
1392
+ color: #facc15;
1393
+ }
1394
+
1395
+ .dark .jux-dataframe-status-error {
1396
+ background: #450a0a;
1397
+ border-color: #991b1b;
1398
+ color: #f87171;
1399
+ }
1400
+
1401
+ .dark .jux-fileupload-button {
1402
+ border-color: #27272a;
1403
+ background: #09090b;
1404
+ color: #fafafa;
1405
+ }
1406
+
1407
+ .dark .jux-fileupload-button:hover {
1408
+ background: #27272a;
1409
+ }
1410
+
1411
+ .dark .jux-fileupload-item {
1412
+ background: #18181b;
1413
+ border-color: #27272a;
1414
+ color: #fafafa;
1415
+ }
1416
+
1417
+ .dark .jux-fileupload-filesize {
1418
+ color: #71717a;
1419
+ }
1420
+
1421
+ .dark .jux-table-filter {
1422
+ border-color: #27272a;
1423
+ background: #09090b;
1424
+ color: #fafafa;
1425
+ }
1426
+
1427
+ .dark .jux-table-filter::placeholder {
1428
+ color: #52525b;
1429
+ }
1430
+
1431
+ .dark .jux-table-filter:focus {
1432
+ border-color: #fafafa;
1433
+ box-shadow: 0 0 0 2px #fafafa, 0 0 0 4px rgba(250, 250, 250, 0.1);
1434
+ }
1435
+
1436
+ .dark .jux-table-pagination button {
1437
+ border-color: #27272a;
1438
+ background: #09090b;
1439
+ color: #fafafa;
1440
+ }
1441
+
1442
+ .dark .jux-table-pagination button:hover:not(:disabled) {
1443
+ background: #27272a;
1444
+ }
1445
+
1446
+ .dark .jux-table-pagination span {
1447
+ color: #71717a;
1448
+ }
1449
+
1450
+ .dark .jux-table-hoverable tbody tr:hover {
1451
+ background-color: #27272a !important;
1452
+ }
1453
+
1454
+ .dark .jux-table-row-selected {
1455
+ background-color: #172554 !important;
1456
+ }
1457
+
1458
+ .dark .jux-table-row-selected:hover {
1459
+ background-color: #1e3a5f !important;
1106
1460
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.1.166",
3
+ "version": "1.1.168",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "index.js",