@quidgest/ui 0.16.19 → 0.16.21

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 (41) hide show
  1. package/dist/manifest/components.json +2 -0
  2. package/dist/ui.css +289 -10
  3. package/dist/ui.esm.js +5132 -4825
  4. package/dist/ui.js +19 -19
  5. package/dist/ui.min.css +1 -1
  6. package/dist/ui.min.js +718 -692
  7. package/dist/ui.scss +264 -15
  8. package/esm/components/QAvatar/QAvatar.d.ts +23 -0
  9. package/esm/components/QAvatar/QAvatar.d.ts.map +1 -0
  10. package/esm/components/QAvatar/QAvatar.vue.js +49 -0
  11. package/esm/components/QAvatar/QAvatar.vue2.js +4 -0
  12. package/esm/components/QAvatar/index.d.ts +31 -0
  13. package/esm/components/QAvatar/index.d.ts.map +1 -0
  14. package/esm/components/QAvatar/index.js +6 -0
  15. package/esm/components/QAvatar/types.d.ts +30 -0
  16. package/esm/components/QAvatar/types.d.ts.map +1 -0
  17. package/esm/components/QCarousel/QCarousel.d.ts +44 -0
  18. package/esm/components/QCarousel/QCarousel.d.ts.map +1 -0
  19. package/esm/components/QCarousel/QCarousel.vue.js +355 -0
  20. package/esm/components/QCarousel/QCarousel.vue2.js +4 -0
  21. package/esm/components/QCarousel/constants.d.ts +14 -0
  22. package/esm/components/QCarousel/constants.d.ts.map +1 -0
  23. package/esm/components/QCarousel/constants.js +16 -0
  24. package/esm/components/QCarousel/index.d.ts +119 -0
  25. package/esm/components/QCarousel/index.d.ts.map +1 -0
  26. package/esm/components/QCarousel/index.js +6 -0
  27. package/esm/components/QCarousel/types.d.ts +79 -0
  28. package/esm/components/QCarousel/types.d.ts.map +1 -0
  29. package/esm/components/QCombobox/QCombobox.d.ts +4 -4
  30. package/esm/components/QCombobox/index.d.ts +10 -10
  31. package/esm/components/QGrid/QRow.d.ts +1 -1
  32. package/esm/components/QGrid/index.d.ts +3 -3
  33. package/esm/components/QSelect/QSelect.d.ts +4 -4
  34. package/esm/components/QSelect/index.d.ts +10 -10
  35. package/esm/components/QTextArea/QTextArea.d.ts +1 -1
  36. package/esm/components/QTextArea/index.d.ts +3 -3
  37. package/esm/components/index.d.ts +2 -0
  38. package/esm/components/index.d.ts.map +1 -1
  39. package/esm/components/index.js +102 -98
  40. package/esm/index.d.ts +2 -0
  41. package/package.json +1 -1
@@ -1,11 +1,13 @@
1
1
  [
2
2
  "QAccordion",
3
3
  "QAccordionItem",
4
+ "QAvatar",
4
5
  "QBadge",
5
6
  "QBadgeIndicator",
6
7
  "QButton",
7
8
  "QButtonGroup",
8
9
  "QCard",
10
+ "QCarousel",
9
11
  "QCheckbox",
10
12
  "QCheckboxLabel",
11
13
  "QCollapsible",
package/dist/ui.css CHANGED
@@ -405,6 +405,45 @@ a:focus {
405
405
  height: fit-content;
406
406
  }
407
407
 
408
+ .q-avatar {
409
+ --q-avatar-size: 48px;
410
+ display: flex;
411
+ align-items: center;
412
+ justify-content: center;
413
+ overflow: hidden;
414
+ box-sizing: border-box;
415
+ font-size: 1rem;
416
+ width: var(--q-avatar-size);
417
+ height: var(--q-avatar-size);
418
+ border-radius: 50%; /* Default shape: circle */
419
+ background-color: var(--q-avatar-color, var(--q-theme-neutral-light));
420
+ color: var(--q-avatar-text-color);
421
+ }
422
+ .q-avatar-img {
423
+ display: block;
424
+ width: 100%;
425
+ height: 100%;
426
+ -o-object-fit: cover;
427
+ object-fit: cover;
428
+ }
429
+ .q-avatar-initials {
430
+ font-size: 1em;
431
+ font-weight: bold;
432
+ text-align: center;
433
+ -webkit-user-select: none;
434
+ -moz-user-select: none;
435
+ user-select: none;
436
+ }
437
+ .q-avatar--small {
438
+ --q-avatar-size: 32px;
439
+ }
440
+ .q-avatar--large {
441
+ --q-avatar-size: 64px;
442
+ }
443
+ .q-avatar--square {
444
+ border-radius: 0;
445
+ }
446
+
408
447
  .q-badge {
409
448
  display: inline-flex;
410
449
  border-width: 1px;
@@ -1031,6 +1070,246 @@ a:focus {
1031
1070
  --card-width: 100%;
1032
1071
  }
1033
1072
 
1073
+ .q-carousel {
1074
+ --q-carousel-height: 360px;
1075
+ position: relative;
1076
+ overflow: hidden;
1077
+ width: 100%;
1078
+ height: var(--q-carousel-height);
1079
+ border-radius: 0.25rem;
1080
+ background-color: var(--q-theme-neutral-light);
1081
+ outline: none;
1082
+ }
1083
+
1084
+ .q-carousel__track {
1085
+ display: flex;
1086
+ width: 100%;
1087
+ height: 100%;
1088
+ will-change: transform;
1089
+ }
1090
+
1091
+ .q-carousel__slide {
1092
+ flex: 0 0 100%;
1093
+ width: 100%;
1094
+ height: 100%;
1095
+ position: relative;
1096
+ cursor: pointer;
1097
+ -webkit-user-select: none;
1098
+ -moz-user-select: none;
1099
+ user-select: none;
1100
+ overflow: hidden;
1101
+ }
1102
+
1103
+ .q-carousel__image {
1104
+ width: 100%;
1105
+ height: 100%;
1106
+ -o-object-fit: cover;
1107
+ object-fit: cover;
1108
+ }
1109
+
1110
+ /* Captions (centered, above indicators) */
1111
+ .q-carousel__caption-global {
1112
+ position: absolute;
1113
+ bottom: 3.5rem;
1114
+ left: 50%;
1115
+ transform: translateX(-50%);
1116
+ text-align: center;
1117
+ color: white;
1118
+ z-index: 20;
1119
+ max-width: 80%;
1120
+ }
1121
+
1122
+ .q-carousel__title {
1123
+ margin: 0 0 0.25rem;
1124
+ font-size: 2rem;
1125
+ font-weight: 600;
1126
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
1127
+ }
1128
+
1129
+ .q-carousel__subtitle {
1130
+ margin: 0;
1131
+ font-size: 1.1rem;
1132
+ opacity: 0.9;
1133
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
1134
+ }
1135
+
1136
+ /* Indicators - horizontal bars */
1137
+ .q-carousel__indicators {
1138
+ position: absolute;
1139
+ bottom: 1rem;
1140
+ left: 50%;
1141
+ transform: translateX(-50%);
1142
+ display: flex;
1143
+ gap: 0.5rem;
1144
+ margin: 0;
1145
+ padding: 0;
1146
+ list-style: none;
1147
+ z-index: 10;
1148
+ }
1149
+
1150
+ .q-carousel__indicator {
1151
+ position: relative; /* Needed for pseudo-element positioning */
1152
+ width: 30px;
1153
+ height: 4px;
1154
+ border-radius: 2px;
1155
+ background-color: rgba(255, 255, 255, 0.5);
1156
+ cursor: pointer;
1157
+ transition: all 0.3s ease;
1158
+ overflow: hidden; /* Hide overflow of the progress bar */
1159
+ }
1160
+
1161
+ .q-carousel__indicator:hover {
1162
+ background-color: rgba(255, 255, 255, 0.8);
1163
+ }
1164
+
1165
+ .q-carousel__indicator--active {
1166
+ background-color: white;
1167
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
1168
+ }
1169
+
1170
+ /* Progress bar for active indicator */
1171
+ .q-carousel__indicator--active::before {
1172
+ content: "";
1173
+ position: absolute;
1174
+ top: 0;
1175
+ left: 0;
1176
+ height: 100%;
1177
+ background-color: rgba(0, 0, 0, 0.2); /* A slightly darker shade to show progress */
1178
+ width: var(--q-carousel-progress-width); /* Controlled by progressValue */
1179
+ transition: width 0.05s linear; /* Smooth, linear transition */
1180
+ will-change: width;
1181
+ }
1182
+
1183
+ /* Controls */
1184
+ .q-carousel__control {
1185
+ position: absolute;
1186
+ top: 50%;
1187
+ transform: translateY(-50%);
1188
+ background: rgba(0, 0, 0, 0.5);
1189
+ border: none;
1190
+ border-radius: 50%;
1191
+ width: 48px;
1192
+ height: 48px;
1193
+ display: flex;
1194
+ align-items: center;
1195
+ justify-content: center;
1196
+ cursor: pointer;
1197
+ z-index: 10;
1198
+ -webkit-backdrop-filter: blur(4px);
1199
+ backdrop-filter: blur(4px);
1200
+ color: white;
1201
+ }
1202
+
1203
+ .q-carousel__control:hover {
1204
+ background: rgba(0, 0, 0, 0.7);
1205
+ }
1206
+
1207
+ .q-carousel__control--prev {
1208
+ left: 1rem;
1209
+ }
1210
+
1211
+ .q-carousel__control--next {
1212
+ right: 1rem;
1213
+ }
1214
+
1215
+ .q-carousel__control-icon.q-icon {
1216
+ width: 24px;
1217
+ height: 24px;
1218
+ }
1219
+
1220
+ .q-carousel__skeleton {
1221
+ position: relative;
1222
+ width: 100%;
1223
+ height: 100%;
1224
+ }
1225
+
1226
+ .q-carousel__skeleton-caption {
1227
+ position: absolute;
1228
+ bottom: 20%;
1229
+ left: 50%;
1230
+ transform: translateX(-50%);
1231
+ display: flex;
1232
+ flex-direction: column;
1233
+ align-items: center;
1234
+ gap: 8px;
1235
+ width: 100%;
1236
+ max-width: 600px;
1237
+ }
1238
+
1239
+ .q-carousel__skeleton-controls {
1240
+ position: absolute;
1241
+ top: 50%;
1242
+ left: 0;
1243
+ right: 0;
1244
+ display: flex;
1245
+ justify-content: space-between;
1246
+ padding: 0 16px;
1247
+ transform: translateY(-50%);
1248
+ }
1249
+
1250
+ .q-carousel__skeleton-caption .q-skeleton-loader__bone,
1251
+ .q-carousel__skeleton-controls .q-skeleton-loader__bone {
1252
+ background-color: var(--q-theme-neutral);
1253
+ }
1254
+
1255
+ .q-carousel__empty-container {
1256
+ display: flex;
1257
+ align-items: center;
1258
+ justify-content: center;
1259
+ width: 100%;
1260
+ height: 100%;
1261
+ }
1262
+
1263
+ .q-carousel__sr-only {
1264
+ position: absolute;
1265
+ width: 1px;
1266
+ height: 1px;
1267
+ padding: 0;
1268
+ margin: -1px;
1269
+ overflow: hidden;
1270
+ clip: rect(0, 0, 0, 0);
1271
+ white-space: nowrap;
1272
+ border: 0;
1273
+ }
1274
+
1275
+ @media (max-width: 768px) {
1276
+ .q-carousel {
1277
+ --q-carousel-height: 300px;
1278
+ }
1279
+ .q-carousel__caption-global {
1280
+ bottom: 3rem;
1281
+ max-width: 90%;
1282
+ }
1283
+ .q-carousel__title {
1284
+ font-size: 1.5rem;
1285
+ }
1286
+ .q-carousel__subtitle {
1287
+ font-size: 1rem;
1288
+ }
1289
+ .q-carousel__control {
1290
+ width: 40px;
1291
+ height: 40px;
1292
+ }
1293
+ .q-carousel__control-icon svg {
1294
+ width: 16px;
1295
+ height: 16px;
1296
+ }
1297
+ .q-carousel__control--prev {
1298
+ left: 0.5rem;
1299
+ }
1300
+ .q-carousel__control--next {
1301
+ right: 0.5rem;
1302
+ }
1303
+ }
1304
+ .q-carousel:focus-visible {
1305
+ outline: 2px solid rgb(var(--q-theme-info-rgb)/50%);
1306
+ }
1307
+
1308
+ .q-carousel__control:focus-visible,
1309
+ .q-carousel__indicator:focus-visible {
1310
+ outline: 2px solid rgb(var(--q-theme-info-rgb)/50%);
1311
+ }
1312
+
1034
1313
  .q-checkbox {
1035
1314
  --box-size: 1.15rem;
1036
1315
  --icon-color: var(--q-theme-on-primary);
@@ -2977,27 +3256,27 @@ a:focus {
2977
3256
  }
2978
3257
 
2979
3258
  /* Breakpoint max-widths */
2980
- @media (width >= 576px) {
3259
+ @media (min-width: 576px) {
2981
3260
  .q-container:not(.q-container--fluid) {
2982
3261
  max-width: 540px;
2983
3262
  }
2984
3263
  }
2985
- @media (width >= 768px) {
3264
+ @media (min-width: 768px) {
2986
3265
  .q-container:not(.q-container--fluid) {
2987
3266
  max-width: 720px;
2988
3267
  }
2989
3268
  }
2990
- @media (width >= 992px) {
3269
+ @media (min-width: 992px) {
2991
3270
  .q-container:not(.q-container--fluid) {
2992
3271
  max-width: 960px;
2993
3272
  }
2994
3273
  }
2995
- @media (width >= 1200px) {
3274
+ @media (min-width: 1200px) {
2996
3275
  .q-container:not(.q-container--fluid) {
2997
3276
  max-width: 1140px;
2998
3277
  }
2999
3278
  }
3000
- @media (width >= 1400px) {
3279
+ @media (min-width: 1400px) {
3001
3280
  .q-container:not(.q-container--fluid) {
3002
3281
  max-width: 1320px;
3003
3282
  }
@@ -3134,7 +3413,7 @@ a:focus {
3134
3413
  max-width: 100%;
3135
3414
  }
3136
3415
 
3137
- @media (width >= 600px) {
3416
+ @media (min-width: 576px) {
3138
3417
  .q-col-sm-1 {
3139
3418
  flex: 0 0 8.3333333333%;
3140
3419
  max-width: 8.3333333333%;
@@ -3184,7 +3463,7 @@ a:focus {
3184
3463
  max-width: 100%;
3185
3464
  }
3186
3465
  }
3187
- @media (width >= 960px) {
3466
+ @media (min-width: 768px) {
3188
3467
  .q-col-md-1 {
3189
3468
  flex: 0 0 8.3333333333%;
3190
3469
  max-width: 8.3333333333%;
@@ -3234,7 +3513,7 @@ a:focus {
3234
3513
  max-width: 100%;
3235
3514
  }
3236
3515
  }
3237
- @media (width >= 1280px) {
3516
+ @media (min-width: 992px) {
3238
3517
  .q-col-lg-1 {
3239
3518
  flex: 0 0 8.3333333333%;
3240
3519
  max-width: 8.3333333333%;
@@ -3284,7 +3563,7 @@ a:focus {
3284
3563
  max-width: 100%;
3285
3564
  }
3286
3565
  }
3287
- @media (width >= 1920px) {
3566
+ @media (min-width: 1200px) {
3288
3567
  .q-col-xl-1 {
3289
3568
  flex: 0 0 8.3333333333%;
3290
3569
  max-width: 8.3333333333%;
@@ -3334,7 +3613,7 @@ a:focus {
3334
3613
  max-width: 100%;
3335
3614
  }
3336
3615
  }
3337
- @media (width >= 2560px) {
3616
+ @media (min-width: 1400px) {
3338
3617
  .q-col-xxl-1 {
3339
3618
  flex: 0 0 8.3333333333%;
3340
3619
  max-width: 8.3333333333%;