@dnax/ui 0.0.18 → 0.0.20
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/components/QAutocomplete.vue +46 -2
- package/components/QCol.vue +10 -11
- package/components/QGrid.vue +5 -8
- package/package.json +1 -1
- package/styles/main.css +190 -147
|
@@ -53,6 +53,8 @@ interface Props {
|
|
|
53
53
|
sheetOptions?: QAutocompleteModeOptions
|
|
54
54
|
/** Options spécifiques au mode modal */
|
|
55
55
|
modalOptions?: QAutocompleteModeOptions
|
|
56
|
+
/** En mode sheet, swipe vers le bas sur le header pour fermer */
|
|
57
|
+
swipeToClose?: boolean
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
export interface QAutocompleteModeOptions {
|
|
@@ -86,6 +88,7 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
86
88
|
loading: false,
|
|
87
89
|
noOptionsLabel: "No options to display",
|
|
88
90
|
mode: "inline",
|
|
91
|
+
swipeToClose: false,
|
|
89
92
|
})
|
|
90
93
|
|
|
91
94
|
const emit = defineEmits<{
|
|
@@ -157,6 +160,41 @@ const sheetTitle = computed(
|
|
|
157
160
|
() => modeOptions.value?.title ?? props.title ?? props.label ?? props.placeholder ?? "Select",
|
|
158
161
|
)
|
|
159
162
|
|
|
163
|
+
// — Swipe down pour fermer (mode sheet, opt-in swipe-to-close) —
|
|
164
|
+
const dragging = ref(false)
|
|
165
|
+
let dragStartY = 0
|
|
166
|
+
let dragDy = 0
|
|
167
|
+
const canSwipe = computed(() => props.swipeToClose && props.mode === "sheet")
|
|
168
|
+
|
|
169
|
+
const onDragStart = (e: PointerEvent) => {
|
|
170
|
+
if (!canSwipe.value) return
|
|
171
|
+
;(e.target as HTMLElement).setPointerCapture(e.pointerId)
|
|
172
|
+
dragStartY = e.clientY
|
|
173
|
+
dragDy = 0
|
|
174
|
+
dragging.value = true
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const onDragMove = (e: PointerEvent) => {
|
|
178
|
+
if (!dragging.value) return
|
|
179
|
+
dragDy = Math.max(0, e.clientY - dragStartY)
|
|
180
|
+
if (sheetRef.value) sheetRef.value.style.transform = `translateY(${dragDy}px)`
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const onDragEnd = () => {
|
|
184
|
+
if (!dragging.value) return
|
|
185
|
+
dragging.value = false
|
|
186
|
+
if (dragDy > 80) closePopup()
|
|
187
|
+
else if (sheetRef.value) sheetRef.value.style.transform = ""
|
|
188
|
+
dragDy = 0
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const sheetClasses = computed(() => [
|
|
192
|
+
`q-autocomplete__sheet--${props.mode}`,
|
|
193
|
+
modeOptions.value?.class,
|
|
194
|
+
dragging.value && "q-autocomplete__sheet--dragging",
|
|
195
|
+
canSwipe.value && "q-autocomplete__sheet--swipeable",
|
|
196
|
+
])
|
|
197
|
+
|
|
160
198
|
// — Valeurs des options —
|
|
161
199
|
const getValue = (opt: any): any =>
|
|
162
200
|
typeof props.optionValue === "function" ? props.optionValue(opt) : opt?.[props.optionValue]
|
|
@@ -428,13 +466,19 @@ watch(open, (v) => {
|
|
|
428
466
|
<div
|
|
429
467
|
ref="sheetRef"
|
|
430
468
|
class="q-autocomplete__sheet"
|
|
431
|
-
:class="
|
|
469
|
+
:class="sheetClasses"
|
|
432
470
|
:style="[sheetStyle, modeOptions?.style]"
|
|
433
471
|
role="dialog"
|
|
434
472
|
aria-modal="true"
|
|
435
473
|
:aria-label="sheetTitle"
|
|
436
474
|
>
|
|
437
|
-
<div
|
|
475
|
+
<div
|
|
476
|
+
class="q-autocomplete__sheet-header"
|
|
477
|
+
@pointerdown="onDragStart"
|
|
478
|
+
@pointermove="onDragMove"
|
|
479
|
+
@pointerup="onDragEnd"
|
|
480
|
+
@pointercancel="onDragEnd"
|
|
481
|
+
>
|
|
438
482
|
<span class="q-autocomplete__sheet-title">{{ sheetTitle }}</span>
|
|
439
483
|
<button
|
|
440
484
|
type="button"
|
package/components/QCol.vue
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// QCol — cellule de la grille : <q-col :span="6" :span-md="4" :offset="1">
|
|
3
3
|
// Responsive : span-sm/md/lg/xl et offset-* écrasent la valeur de base au breakpoint.
|
|
4
4
|
import { computed } from "vue"
|
|
5
|
-
import { useGridBreakpoints } from "../lib/breakpoints"
|
|
6
5
|
|
|
7
6
|
type ColSpan = number | "auto"
|
|
8
7
|
|
|
@@ -27,19 +26,19 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
27
26
|
alignSelf: "stretch",
|
|
28
27
|
})
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
// Les classes responsive (span-md-*…) sont TOUJOURS posées — ce sont les
|
|
30
|
+
// @media (min-width) du CSS qui les activent au bon breakpoint (pas de JS).
|
|
32
31
|
const classes = computed(() => ({
|
|
33
32
|
...(props.span !== "auto" ? { [`q-col--span-${props.span}`]: true } : {}),
|
|
34
33
|
...(props.offset ? { [`q-col--offset-${props.offset}`]: true } : {}),
|
|
35
|
-
...(
|
|
36
|
-
...(
|
|
37
|
-
...(
|
|
38
|
-
...(
|
|
39
|
-
...(
|
|
40
|
-
...(
|
|
41
|
-
...(
|
|
42
|
-
...(
|
|
34
|
+
...(props.spanSm !== undefined && props.spanSm !== "auto" ? { [`q-col--span-sm-${props.spanSm}`]: true } : {}),
|
|
35
|
+
...(props.offsetSm ? { [`q-col--offset-sm-${props.offsetSm}`]: true } : {}),
|
|
36
|
+
...(props.spanMd !== undefined && props.spanMd !== "auto" ? { [`q-col--span-md-${props.spanMd}`]: true } : {}),
|
|
37
|
+
...(props.offsetMd ? { [`q-col--offset-md-${props.offsetMd}`]: true } : {}),
|
|
38
|
+
...(props.spanLg !== undefined && props.spanLg !== "auto" ? { [`q-col--span-lg-${props.spanLg}`]: true } : {}),
|
|
39
|
+
...(props.offsetLg ? { [`q-col--offset-lg-${props.offsetLg}`]: true } : {}),
|
|
40
|
+
...(props.spanXl !== undefined && props.spanXl !== "auto" ? { [`q-col--span-xl-${props.spanXl}`]: true } : {}),
|
|
41
|
+
...(props.offsetXl ? { [`q-col--offset-xl-${props.offsetXl}`]: true } : {}),
|
|
43
42
|
}))
|
|
44
43
|
|
|
45
44
|
const style = computed(() => (props.alignSelf !== "stretch" ? { alignSelf: props.alignSelf } : undefined))
|
package/components/QGrid.vue
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
// Mode cellules (Vant) : activé par `column-num` → <q-grid-item> enfants
|
|
5
5
|
// (icône + texte), ex. menu d'app : <q-grid :column-num="4" gutter="8" clickable>
|
|
6
6
|
import { computed } from "vue"
|
|
7
|
-
import { useGridBreakpoints } from "../lib/breakpoints"
|
|
8
7
|
|
|
9
8
|
interface Props {
|
|
10
9
|
/** Nombre de colonnes du layout (défaut : 12) */
|
|
@@ -60,8 +59,6 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
60
59
|
iconColor: "",
|
|
61
60
|
})
|
|
62
61
|
|
|
63
|
-
const bp = useGridBreakpoints()
|
|
64
|
-
|
|
65
62
|
const px = (v: string | number | undefined) =>
|
|
66
63
|
v === undefined ? undefined : typeof v === "number" ? `${v}px` : v
|
|
67
64
|
|
|
@@ -84,12 +81,12 @@ const style = computed<Record<string, string>>(() => {
|
|
|
84
81
|
s.alignItems = props.align
|
|
85
82
|
return s
|
|
86
83
|
})
|
|
87
|
-
|
|
84
|
+
// Classes cols responsive TOUJOURS posées — activées par les @media CSS
|
|
88
85
|
const classes = computed(() => ({
|
|
89
|
-
...(
|
|
90
|
-
...(
|
|
91
|
-
...(
|
|
92
|
-
...(
|
|
86
|
+
...(props.colsSm ? { [`q-grid--cols-sm-${props.colsSm}`]: true } : {}),
|
|
87
|
+
...(props.colsMd ? { [`q-grid--cols-md-${props.colsMd}`]: true } : {}),
|
|
88
|
+
...(props.colsLg ? { [`q-grid--cols-lg-${props.colsLg}`]: true } : {}),
|
|
89
|
+
...(props.colsXl ? { [`q-grid--cols-xl-${props.colsXl}`]: true } : {}),
|
|
93
90
|
"q-grid--cell": isCellMode.value,
|
|
94
91
|
"q-grid--border": isCellMode.value && props.border,
|
|
95
92
|
"q-grid--square": isCellMode.value && props.square,
|
package/package.json
CHANGED
package/styles/main.css
CHANGED
|
@@ -850,6 +850,9 @@ html.dark body {
|
|
|
850
850
|
text-transform: uppercase;
|
|
851
851
|
cursor: pointer;
|
|
852
852
|
user-select: none;
|
|
853
|
+
/* Supprime le délai double-tap/zoom d'iOS qui « avalait » le premier tap
|
|
854
|
+
→ la couleur active et la sélection se font dès le premier clic. */
|
|
855
|
+
touch-action: manipulation;
|
|
853
856
|
transition:
|
|
854
857
|
color 0.2s ease,
|
|
855
858
|
background-color 0.2s ease,
|
|
@@ -857,9 +860,13 @@ html.dark body {
|
|
|
857
860
|
transform 0.15s ease;
|
|
858
861
|
}
|
|
859
862
|
|
|
860
|
-
/* appui au clic : léger aplatissement (prop animated)
|
|
861
|
-
|
|
862
|
-
|
|
863
|
+
/* appui au clic : léger aplatissement (prop animated) — scopé aux devices avec
|
|
864
|
+
souris : sur mobile le scale peut faire sortir le point du doigt de l'élément
|
|
865
|
+
au relâchement et ANNULER le clic (second tap requis). */
|
|
866
|
+
@media (hover: hover) and (pointer: fine) {
|
|
867
|
+
.q-tabs--animated .q-tab:active:not(:disabled) {
|
|
868
|
+
transform: scale(0.94);
|
|
869
|
+
}
|
|
863
870
|
}
|
|
864
871
|
|
|
865
872
|
/* pop du tab actif (overshoot) — spring (défaut) et elastic */
|
|
@@ -1951,9 +1958,9 @@ html.dark body {
|
|
|
1951
1958
|
display: inline-flex;
|
|
1952
1959
|
flex-shrink: 0;
|
|
1953
1960
|
color: rgb(0 0 0 / 0.45);
|
|
1954
|
-
/*
|
|
1955
|
-
|
|
1956
|
-
margin-right:
|
|
1961
|
+
/* espace dédié entre l'icône gauche et la valeur (gap 6px du control + 6px
|
|
1962
|
+
= 12px) — l'icône ne doit jamais être collée au texte */
|
|
1963
|
+
margin-right: 6px;
|
|
1957
1964
|
}
|
|
1958
1965
|
|
|
1959
1966
|
.q-field__clear {
|
|
@@ -3459,6 +3466,22 @@ html.dark body {
|
|
|
3459
3466
|
color: inherit;
|
|
3460
3467
|
border-radius: var(--q-radius);
|
|
3461
3468
|
box-shadow: 0 12px 40px rgb(0 0 0 / 0.3);
|
|
3469
|
+
transition: transform 0.25s ease;
|
|
3470
|
+
}
|
|
3471
|
+
|
|
3472
|
+
/* pendant le swipe : suivi direct, sans transition ni snap */
|
|
3473
|
+
.q-autocomplete__sheet--dragging {
|
|
3474
|
+
transition: none;
|
|
3475
|
+
}
|
|
3476
|
+
|
|
3477
|
+
/* le header est la zone qui attrape le swipe (cursor grab) — seulement si
|
|
3478
|
+
swipe-to-close est actif (classe --swipeable) */
|
|
3479
|
+
.q-autocomplete__sheet--swipeable .q-autocomplete__sheet-header {
|
|
3480
|
+
cursor: grab;
|
|
3481
|
+
touch-action: none;
|
|
3482
|
+
}
|
|
3483
|
+
.q-autocomplete__sheet--dragging .q-autocomplete__sheet-header {
|
|
3484
|
+
cursor: grabbing;
|
|
3462
3485
|
}
|
|
3463
3486
|
.q-autocomplete__overlay--modal .q-autocomplete__sheet {
|
|
3464
3487
|
max-width: 480px;
|
|
@@ -7476,7 +7499,11 @@ html.dark body {
|
|
|
7476
7499
|
}
|
|
7477
7500
|
.q-col {
|
|
7478
7501
|
min-width: 0;
|
|
7479
|
-
|
|
7502
|
+
/* Placement auto par défaut : fallback -1 → calc(0) = 0 → valeur INVALIDE
|
|
7503
|
+
pour grid-column-start → la propriété retombe sur auto et l'item est
|
|
7504
|
+
auto-placé (sinon TOUS les q-col démarreraient en colonne 1 et se
|
|
7505
|
+
superposeraient — une seule colonne visible). */
|
|
7506
|
+
grid-column-start: calc(var(--q-col-offset, -1) + 1);
|
|
7480
7507
|
grid-column-end: span var(--q-col-span, 1);
|
|
7481
7508
|
}
|
|
7482
7509
|
.q-col--span-1 { --q-col-span: 1; }
|
|
@@ -7502,146 +7529,162 @@ html.dark body {
|
|
|
7502
7529
|
.q-col--offset-9 { --q-col-offset: 9; }
|
|
7503
7530
|
.q-col--offset-10 { --q-col-offset: 10; }
|
|
7504
7531
|
.q-col--offset-11 { --q-col-offset: 11; }
|
|
7505
|
-
|
|
7506
|
-
|
|
7507
|
-
|
|
7508
|
-
.q-col--span-sm-
|
|
7509
|
-
.q-col--span-sm-
|
|
7510
|
-
.q-col--span-sm-
|
|
7511
|
-
.q-col--span-sm-
|
|
7512
|
-
.q-col--span-sm-
|
|
7513
|
-
.q-col--span-sm-
|
|
7514
|
-
.q-col--span-sm-
|
|
7515
|
-
.q-col--span-sm-
|
|
7516
|
-
.q-col--span-sm-
|
|
7517
|
-
.q-col--
|
|
7518
|
-
.q-col--
|
|
7519
|
-
.q-col--
|
|
7520
|
-
.q-col--offset-sm-
|
|
7521
|
-
.q-col--offset-sm-
|
|
7522
|
-
.q-col--offset-sm-
|
|
7523
|
-
.q-col--offset-sm-
|
|
7524
|
-
.q-col--offset-sm-
|
|
7525
|
-
.q-col--offset-sm-
|
|
7526
|
-
.q-col--offset-sm-
|
|
7527
|
-
.q-col--offset-sm-
|
|
7528
|
-
.q-
|
|
7529
|
-
.q-
|
|
7530
|
-
.q-
|
|
7531
|
-
.q-grid--cols-sm-
|
|
7532
|
-
.q-grid--cols-sm-
|
|
7533
|
-
.q-grid--cols-sm-
|
|
7534
|
-
.q-grid--cols-sm-
|
|
7535
|
-
.q-grid--cols-sm-
|
|
7536
|
-
.q-grid--cols-sm-
|
|
7537
|
-
.q-grid--cols-sm-
|
|
7538
|
-
.q-grid--cols-sm-
|
|
7539
|
-
.q-grid--cols-sm-
|
|
7540
|
-
.q-
|
|
7541
|
-
.q-
|
|
7542
|
-
.q-
|
|
7543
|
-
|
|
7544
|
-
|
|
7545
|
-
|
|
7546
|
-
|
|
7547
|
-
.q-col--span-md-
|
|
7548
|
-
.q-col--span-md-
|
|
7549
|
-
.q-col--span-md-
|
|
7550
|
-
.q-col--span-md-
|
|
7551
|
-
.q-col--span-md-
|
|
7552
|
-
.q-col--
|
|
7553
|
-
.q-col--
|
|
7554
|
-
.q-col--
|
|
7555
|
-
.q-col--
|
|
7556
|
-
.q-col--
|
|
7557
|
-
.q-col--
|
|
7558
|
-
.q-col--
|
|
7559
|
-
.q-col--offset-md-
|
|
7560
|
-
.q-col--offset-md-
|
|
7561
|
-
.q-col--offset-md-
|
|
7562
|
-
.q-col--offset-md-
|
|
7563
|
-
.q-
|
|
7564
|
-
.q-
|
|
7565
|
-
.q-
|
|
7566
|
-
.q-
|
|
7567
|
-
.q-
|
|
7568
|
-
.q-
|
|
7569
|
-
.q-
|
|
7570
|
-
.q-grid--cols-md-
|
|
7571
|
-
.q-grid--cols-md-
|
|
7572
|
-
.q-grid--cols-md-
|
|
7573
|
-
.q-grid--cols-md-
|
|
7574
|
-
.q-grid--cols-md-
|
|
7575
|
-
.q-
|
|
7576
|
-
.q-
|
|
7577
|
-
.q-
|
|
7578
|
-
.q-
|
|
7579
|
-
.q-
|
|
7580
|
-
.q-
|
|
7581
|
-
.q-
|
|
7582
|
-
|
|
7583
|
-
|
|
7584
|
-
|
|
7585
|
-
|
|
7586
|
-
.q-col--span-lg-
|
|
7587
|
-
.q-col--
|
|
7588
|
-
.q-col--
|
|
7589
|
-
.q-col--
|
|
7590
|
-
.q-col--
|
|
7591
|
-
.q-col--
|
|
7592
|
-
.q-col--
|
|
7593
|
-
.q-col--
|
|
7594
|
-
.q-col--
|
|
7595
|
-
.q-col--
|
|
7596
|
-
.q-col--
|
|
7597
|
-
.q-col--
|
|
7598
|
-
.q-
|
|
7599
|
-
.q-
|
|
7600
|
-
.q-
|
|
7601
|
-
.q-
|
|
7602
|
-
.q-
|
|
7603
|
-
.q-
|
|
7604
|
-
.q-
|
|
7605
|
-
.q-
|
|
7606
|
-
.q-
|
|
7607
|
-
.q-
|
|
7608
|
-
.q-
|
|
7609
|
-
.q-grid--cols-lg-
|
|
7610
|
-
.q-
|
|
7611
|
-
.q-
|
|
7612
|
-
.q-
|
|
7613
|
-
.q-
|
|
7614
|
-
.q-
|
|
7615
|
-
.q-
|
|
7616
|
-
.q-
|
|
7617
|
-
.q-
|
|
7618
|
-
.q-
|
|
7619
|
-
.q-
|
|
7620
|
-
.q-
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
.q-col--
|
|
7626
|
-
.q-col--
|
|
7627
|
-
.q-col--
|
|
7628
|
-
.q-col--
|
|
7629
|
-
.q-col--
|
|
7630
|
-
.q-col--
|
|
7631
|
-
.q-col--
|
|
7632
|
-
.q-col--
|
|
7633
|
-
.q-
|
|
7634
|
-
.q-
|
|
7635
|
-
.q-
|
|
7636
|
-
.q-
|
|
7637
|
-
.q-
|
|
7638
|
-
.q-
|
|
7639
|
-
.q-
|
|
7640
|
-
.q-
|
|
7641
|
-
.q-
|
|
7642
|
-
.q-
|
|
7643
|
-
.q-
|
|
7644
|
-
.q-
|
|
7532
|
+
|
|
7533
|
+
/* breakpoint sm : >= 600px */
|
|
7534
|
+
@media (min-width: 600px) {
|
|
7535
|
+
.q-col--span-sm-1 { --q-col-span: 1; }
|
|
7536
|
+
.q-col--span-sm-2 { --q-col-span: 2; }
|
|
7537
|
+
.q-col--span-sm-3 { --q-col-span: 3; }
|
|
7538
|
+
.q-col--span-sm-4 { --q-col-span: 4; }
|
|
7539
|
+
.q-col--span-sm-5 { --q-col-span: 5; }
|
|
7540
|
+
.q-col--span-sm-6 { --q-col-span: 6; }
|
|
7541
|
+
.q-col--span-sm-7 { --q-col-span: 7; }
|
|
7542
|
+
.q-col--span-sm-8 { --q-col-span: 8; }
|
|
7543
|
+
.q-col--span-sm-9 { --q-col-span: 9; }
|
|
7544
|
+
.q-col--span-sm-10 { --q-col-span: 10; }
|
|
7545
|
+
.q-col--span-sm-11 { --q-col-span: 11; }
|
|
7546
|
+
.q-col--span-sm-12 { --q-col-span: 12; }
|
|
7547
|
+
.q-col--offset-sm-1 { --q-col-offset: 1; }
|
|
7548
|
+
.q-col--offset-sm-2 { --q-col-offset: 2; }
|
|
7549
|
+
.q-col--offset-sm-3 { --q-col-offset: 3; }
|
|
7550
|
+
.q-col--offset-sm-4 { --q-col-offset: 4; }
|
|
7551
|
+
.q-col--offset-sm-5 { --q-col-offset: 5; }
|
|
7552
|
+
.q-col--offset-sm-6 { --q-col-offset: 6; }
|
|
7553
|
+
.q-col--offset-sm-7 { --q-col-offset: 7; }
|
|
7554
|
+
.q-col--offset-sm-8 { --q-col-offset: 8; }
|
|
7555
|
+
.q-col--offset-sm-9 { --q-col-offset: 9; }
|
|
7556
|
+
.q-col--offset-sm-10 { --q-col-offset: 10; }
|
|
7557
|
+
.q-col--offset-sm-11 { --q-col-offset: 11; }
|
|
7558
|
+
.q-grid--cols-sm-1 { --q-grid-cols: 1; }
|
|
7559
|
+
.q-grid--cols-sm-2 { --q-grid-cols: 2; }
|
|
7560
|
+
.q-grid--cols-sm-3 { --q-grid-cols: 3; }
|
|
7561
|
+
.q-grid--cols-sm-4 { --q-grid-cols: 4; }
|
|
7562
|
+
.q-grid--cols-sm-5 { --q-grid-cols: 5; }
|
|
7563
|
+
.q-grid--cols-sm-6 { --q-grid-cols: 6; }
|
|
7564
|
+
.q-grid--cols-sm-7 { --q-grid-cols: 7; }
|
|
7565
|
+
.q-grid--cols-sm-8 { --q-grid-cols: 8; }
|
|
7566
|
+
.q-grid--cols-sm-9 { --q-grid-cols: 9; }
|
|
7567
|
+
.q-grid--cols-sm-10 { --q-grid-cols: 10; }
|
|
7568
|
+
.q-grid--cols-sm-11 { --q-grid-cols: 11; }
|
|
7569
|
+
.q-grid--cols-sm-12 { --q-grid-cols: 12; }
|
|
7570
|
+
}
|
|
7571
|
+
|
|
7572
|
+
/* breakpoint md : >= 1024px */
|
|
7573
|
+
@media (min-width: 1024px) {
|
|
7574
|
+
.q-col--span-md-1 { --q-col-span: 1; }
|
|
7575
|
+
.q-col--span-md-2 { --q-col-span: 2; }
|
|
7576
|
+
.q-col--span-md-3 { --q-col-span: 3; }
|
|
7577
|
+
.q-col--span-md-4 { --q-col-span: 4; }
|
|
7578
|
+
.q-col--span-md-5 { --q-col-span: 5; }
|
|
7579
|
+
.q-col--span-md-6 { --q-col-span: 6; }
|
|
7580
|
+
.q-col--span-md-7 { --q-col-span: 7; }
|
|
7581
|
+
.q-col--span-md-8 { --q-col-span: 8; }
|
|
7582
|
+
.q-col--span-md-9 { --q-col-span: 9; }
|
|
7583
|
+
.q-col--span-md-10 { --q-col-span: 10; }
|
|
7584
|
+
.q-col--span-md-11 { --q-col-span: 11; }
|
|
7585
|
+
.q-col--span-md-12 { --q-col-span: 12; }
|
|
7586
|
+
.q-col--offset-md-1 { --q-col-offset: 1; }
|
|
7587
|
+
.q-col--offset-md-2 { --q-col-offset: 2; }
|
|
7588
|
+
.q-col--offset-md-3 { --q-col-offset: 3; }
|
|
7589
|
+
.q-col--offset-md-4 { --q-col-offset: 4; }
|
|
7590
|
+
.q-col--offset-md-5 { --q-col-offset: 5; }
|
|
7591
|
+
.q-col--offset-md-6 { --q-col-offset: 6; }
|
|
7592
|
+
.q-col--offset-md-7 { --q-col-offset: 7; }
|
|
7593
|
+
.q-col--offset-md-8 { --q-col-offset: 8; }
|
|
7594
|
+
.q-col--offset-md-9 { --q-col-offset: 9; }
|
|
7595
|
+
.q-col--offset-md-10 { --q-col-offset: 10; }
|
|
7596
|
+
.q-col--offset-md-11 { --q-col-offset: 11; }
|
|
7597
|
+
.q-grid--cols-md-1 { --q-grid-cols: 1; }
|
|
7598
|
+
.q-grid--cols-md-2 { --q-grid-cols: 2; }
|
|
7599
|
+
.q-grid--cols-md-3 { --q-grid-cols: 3; }
|
|
7600
|
+
.q-grid--cols-md-4 { --q-grid-cols: 4; }
|
|
7601
|
+
.q-grid--cols-md-5 { --q-grid-cols: 5; }
|
|
7602
|
+
.q-grid--cols-md-6 { --q-grid-cols: 6; }
|
|
7603
|
+
.q-grid--cols-md-7 { --q-grid-cols: 7; }
|
|
7604
|
+
.q-grid--cols-md-8 { --q-grid-cols: 8; }
|
|
7605
|
+
.q-grid--cols-md-9 { --q-grid-cols: 9; }
|
|
7606
|
+
.q-grid--cols-md-10 { --q-grid-cols: 10; }
|
|
7607
|
+
.q-grid--cols-md-11 { --q-grid-cols: 11; }
|
|
7608
|
+
.q-grid--cols-md-12 { --q-grid-cols: 12; }
|
|
7609
|
+
}
|
|
7610
|
+
|
|
7611
|
+
/* breakpoint lg : >= 1440px */
|
|
7612
|
+
@media (min-width: 1440px) {
|
|
7613
|
+
.q-col--span-lg-1 { --q-col-span: 1; }
|
|
7614
|
+
.q-col--span-lg-2 { --q-col-span: 2; }
|
|
7615
|
+
.q-col--span-lg-3 { --q-col-span: 3; }
|
|
7616
|
+
.q-col--span-lg-4 { --q-col-span: 4; }
|
|
7617
|
+
.q-col--span-lg-5 { --q-col-span: 5; }
|
|
7618
|
+
.q-col--span-lg-6 { --q-col-span: 6; }
|
|
7619
|
+
.q-col--span-lg-7 { --q-col-span: 7; }
|
|
7620
|
+
.q-col--span-lg-8 { --q-col-span: 8; }
|
|
7621
|
+
.q-col--span-lg-9 { --q-col-span: 9; }
|
|
7622
|
+
.q-col--span-lg-10 { --q-col-span: 10; }
|
|
7623
|
+
.q-col--span-lg-11 { --q-col-span: 11; }
|
|
7624
|
+
.q-col--span-lg-12 { --q-col-span: 12; }
|
|
7625
|
+
.q-col--offset-lg-1 { --q-col-offset: 1; }
|
|
7626
|
+
.q-col--offset-lg-2 { --q-col-offset: 2; }
|
|
7627
|
+
.q-col--offset-lg-3 { --q-col-offset: 3; }
|
|
7628
|
+
.q-col--offset-lg-4 { --q-col-offset: 4; }
|
|
7629
|
+
.q-col--offset-lg-5 { --q-col-offset: 5; }
|
|
7630
|
+
.q-col--offset-lg-6 { --q-col-offset: 6; }
|
|
7631
|
+
.q-col--offset-lg-7 { --q-col-offset: 7; }
|
|
7632
|
+
.q-col--offset-lg-8 { --q-col-offset: 8; }
|
|
7633
|
+
.q-col--offset-lg-9 { --q-col-offset: 9; }
|
|
7634
|
+
.q-col--offset-lg-10 { --q-col-offset: 10; }
|
|
7635
|
+
.q-col--offset-lg-11 { --q-col-offset: 11; }
|
|
7636
|
+
.q-grid--cols-lg-1 { --q-grid-cols: 1; }
|
|
7637
|
+
.q-grid--cols-lg-2 { --q-grid-cols: 2; }
|
|
7638
|
+
.q-grid--cols-lg-3 { --q-grid-cols: 3; }
|
|
7639
|
+
.q-grid--cols-lg-4 { --q-grid-cols: 4; }
|
|
7640
|
+
.q-grid--cols-lg-5 { --q-grid-cols: 5; }
|
|
7641
|
+
.q-grid--cols-lg-6 { --q-grid-cols: 6; }
|
|
7642
|
+
.q-grid--cols-lg-7 { --q-grid-cols: 7; }
|
|
7643
|
+
.q-grid--cols-lg-8 { --q-grid-cols: 8; }
|
|
7644
|
+
.q-grid--cols-lg-9 { --q-grid-cols: 9; }
|
|
7645
|
+
.q-grid--cols-lg-10 { --q-grid-cols: 10; }
|
|
7646
|
+
.q-grid--cols-lg-11 { --q-grid-cols: 11; }
|
|
7647
|
+
.q-grid--cols-lg-12 { --q-grid-cols: 12; }
|
|
7648
|
+
}
|
|
7649
|
+
|
|
7650
|
+
/* breakpoint xl : >= 1920px */
|
|
7651
|
+
@media (min-width: 1920px) {
|
|
7652
|
+
.q-col--span-xl-1 { --q-col-span: 1; }
|
|
7653
|
+
.q-col--span-xl-2 { --q-col-span: 2; }
|
|
7654
|
+
.q-col--span-xl-3 { --q-col-span: 3; }
|
|
7655
|
+
.q-col--span-xl-4 { --q-col-span: 4; }
|
|
7656
|
+
.q-col--span-xl-5 { --q-col-span: 5; }
|
|
7657
|
+
.q-col--span-xl-6 { --q-col-span: 6; }
|
|
7658
|
+
.q-col--span-xl-7 { --q-col-span: 7; }
|
|
7659
|
+
.q-col--span-xl-8 { --q-col-span: 8; }
|
|
7660
|
+
.q-col--span-xl-9 { --q-col-span: 9; }
|
|
7661
|
+
.q-col--span-xl-10 { --q-col-span: 10; }
|
|
7662
|
+
.q-col--span-xl-11 { --q-col-span: 11; }
|
|
7663
|
+
.q-col--span-xl-12 { --q-col-span: 12; }
|
|
7664
|
+
.q-col--offset-xl-1 { --q-col-offset: 1; }
|
|
7665
|
+
.q-col--offset-xl-2 { --q-col-offset: 2; }
|
|
7666
|
+
.q-col--offset-xl-3 { --q-col-offset: 3; }
|
|
7667
|
+
.q-col--offset-xl-4 { --q-col-offset: 4; }
|
|
7668
|
+
.q-col--offset-xl-5 { --q-col-offset: 5; }
|
|
7669
|
+
.q-col--offset-xl-6 { --q-col-offset: 6; }
|
|
7670
|
+
.q-col--offset-xl-7 { --q-col-offset: 7; }
|
|
7671
|
+
.q-col--offset-xl-8 { --q-col-offset: 8; }
|
|
7672
|
+
.q-col--offset-xl-9 { --q-col-offset: 9; }
|
|
7673
|
+
.q-col--offset-xl-10 { --q-col-offset: 10; }
|
|
7674
|
+
.q-col--offset-xl-11 { --q-col-offset: 11; }
|
|
7675
|
+
.q-grid--cols-xl-1 { --q-grid-cols: 1; }
|
|
7676
|
+
.q-grid--cols-xl-2 { --q-grid-cols: 2; }
|
|
7677
|
+
.q-grid--cols-xl-3 { --q-grid-cols: 3; }
|
|
7678
|
+
.q-grid--cols-xl-4 { --q-grid-cols: 4; }
|
|
7679
|
+
.q-grid--cols-xl-5 { --q-grid-cols: 5; }
|
|
7680
|
+
.q-grid--cols-xl-6 { --q-grid-cols: 6; }
|
|
7681
|
+
.q-grid--cols-xl-7 { --q-grid-cols: 7; }
|
|
7682
|
+
.q-grid--cols-xl-8 { --q-grid-cols: 8; }
|
|
7683
|
+
.q-grid--cols-xl-9 { --q-grid-cols: 9; }
|
|
7684
|
+
.q-grid--cols-xl-10 { --q-grid-cols: 10; }
|
|
7685
|
+
.q-grid--cols-xl-11 { --q-grid-cols: 11; }
|
|
7686
|
+
.q-grid--cols-xl-12 { --q-grid-cols: 12; }
|
|
7687
|
+
}
|
|
7645
7688
|
|
|
7646
7689
|
/* ===== QGrid — mode cellules (Vant Grid) =====
|
|
7647
7690
|
Activé par :column-num — cellules QGridItem en grille égale, avec icône + texte. */
|