@dnax/ui 0.0.46 → 0.0.48

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.
@@ -39,9 +39,9 @@ interface Props {
39
39
  type?: "button" | "submit" | "reset"
40
40
  /** Rend un lien natif <a> */
41
41
  href?: string
42
- /** Fond transparent, texte coloré */
42
+ /** Fond transparent, texte coloré. Gagne sur `outline` (designs exclusifs) */
43
43
  flat?: boolean
44
- /** Fond transparent + bordure */
44
+ /** Fond transparent + bordure (ignoré si `flat`, cf. Quasar : le design `flat` retire aussi la bordure) */
45
45
  outline?: boolean
46
46
  /** Supprime l'ombre portée */
47
47
  unelevated?: boolean
@@ -110,8 +110,7 @@ const btnClasses = computed(() =>
110
110
  btnVariants({ size: sizeVariant.value }),
111
111
  isTokenColor(props.color) && `q-btn--${props.color}`,
112
112
  isTokenColor(props.textColor) && `q-btn--text-${props.textColor}`,
113
- props.flat && "q-btn--flat",
114
- props.outline && "q-btn--outline",
113
+ props.flat ? "q-btn--flat" : props.outline && "q-btn--outline",
115
114
  props.unelevated && "q-btn--unelevated",
116
115
  props.dense && "q-btn--dense",
117
116
  effectiveRadius.value === true && "q-btn--rounded",
@@ -9,7 +9,7 @@ interface Props {
9
9
  maxWidth?: string | number
10
10
  /** Supprime la largeur max (pleine largeur, padding conservé) */
11
11
  fluid?: boolean
12
- /** Padding horizontal (défaut 16px) */
12
+ /** Padding horizontal (défaut 12px) */
13
13
  padding?: string
14
14
  /** Effet d'arrière-plan : "grid" | "aurora" | "star" | "falling-stars" | "flickering-grid" | "interactive-grid" | "wave" (vagues qui glissent) */
15
15
  backgroundEffect?:
@@ -57,7 +57,7 @@ interface Props {
57
57
  const props = withDefaults(defineProps<Props>(), {
58
58
  maxWidth: "1200px",
59
59
  fluid: false,
60
- padding: "16px",
60
+ padding: "12px",
61
61
  })
62
62
 
63
63
  const IMG_FIT = new Set(["cover", "contain", "fill", "none", "scale-down"])
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnax/ui",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "module": "index.ts",
5
5
  "description": "UI design System",
6
6
  "type": "module",
package/styles/main.css CHANGED
@@ -320,10 +320,6 @@ body {
320
320
  --muted: #1c2128;
321
321
  --border: rgb(255 255 255 / 0.12);
322
322
  --q-table-border: rgb(255 255 255 / 0.12);
323
- /* Opaque (4 % de blanc composé sur la surface) : un en-tête sticky ne doit pas
324
- laisser voir les lignes qui défilent dessous. Fallback avant color-mix. */
325
- --q-table-header-bg: #1f242b;
326
- --q-table-header-bg: color-mix(in srgb, #fff 4%, var(--card, #161b22));
327
323
  --q-table-hover-bg: rgb(255 255 255 / 0.06);
328
324
  --q-sidebar-border: rgb(255 255 255 / 0.12);
329
325
  --q-translucent-bg: #0f1115;
@@ -3218,10 +3214,10 @@ html.dark body {
3218
3214
  /* ===== QTable ===== */
3219
3215
  .q-table {
3220
3216
  --q-table-border: rgb(0 0 0 / 0.1);
3221
- /* Opaque : 3 % de noir **composé sur la surface** (un en-tête sticky laissait
3222
- sinon voir les lignes qui défilent dessous). Fallback avant color-mix. */
3223
- --q-table-header-bg: #f7f7f7;
3224
- --q-table-header-bg: color-mix(in srgb, #000 3%, #fff);
3217
+ /* En-tête : la MÊME surface que le tableau (blanc en clair, carte en sombre) — il se
3218
+ distingue par sa bordure basse, pas par un fond grisé. Opaque par construction,
3219
+ donc un en-tête collant ne laisse pas voir les lignes qui défilent dessous. */
3220
+ --q-table-header-bg: var(--card, #fff);
3225
3221
  --q-table-hover-bg: rgb(0 0 0 / 0.04);
3226
3222
 
3227
3223
  position: relative;
@@ -3245,8 +3241,8 @@ html.dark body {
3245
3241
 
3246
3242
  .q-table--dark {
3247
3243
  --q-table-border: rgb(255 255 255 / 0.15);
3248
- --q-table-header-bg: #2b2b2b;
3249
- --q-table-header-bg: color-mix(in srgb, #fff 6%, #1d1d1d);
3244
+ /* = la surface du tableau dans cette variante (cf. `background-color` ci-dessous) */
3245
+ --q-table-header-bg: #1d1d1d;
3250
3246
  --q-table-hover-bg: rgb(255 255 255 / 0.06);
3251
3247
  background-color: #1d1d1d;
3252
3248
  color: #fff;
@@ -4449,11 +4445,15 @@ a.q-breadcrumbs__el:hover {
4449
4445
  transition: background-color 0.15s ease;
4450
4446
  }
4451
4447
 
4452
- .q-sidebar__menu-button:hover {
4448
+ /* Hover : uniquement sur un item NON actif — sans le `:not(...)`, la règle `:hover`
4449
+ (spécificité 0,2,0) écrasait l'état actif `.q-sidebar__menu-button--active`
4450
+ (0,1,0) : au survol, le fond passait au gris et le texte blanc du primaire devenait
4451
+ illisible. Un item actif garde donc son apparence au survol. */
4452
+ .q-sidebar__menu-button:hover:not(.q-sidebar__menu-button--active) {
4453
4453
  background-color: rgb(0 0 0 / 0.05);
4454
4454
  }
4455
4455
 
4456
- .q-sidebar--dark .q-sidebar__menu-button:hover {
4456
+ .q-sidebar--dark .q-sidebar__menu-button:hover:not(.q-sidebar__menu-button--active) {
4457
4457
  background-color: rgb(255 255 255 / 0.08);
4458
4458
  }
4459
4459
 
@@ -7311,7 +7311,7 @@ a.q-breadcrumbs__el:hover {
7311
7311
  width: 100%;
7312
7312
  max-width: var(--q-container-max, 1200px);
7313
7313
  margin-inline: auto;
7314
- padding-inline: var(--q-container-pad, 16px);
7314
+ padding-inline: var(--q-container-pad, 12px);
7315
7315
  }
7316
7316
 
7317
7317
  .q-container--fluid {
@@ -9146,11 +9146,14 @@ a.q-breadcrumbs__el:hover {
9146
9146
  width: 17px;
9147
9147
  height: 17px;
9148
9148
  }
9149
- .q-tiptap__tool:hover:not(:disabled) {
9149
+ /* Hover : jamais sur un bouton actif (même règle que QSidebarMenuButton — sans le
9150
+ `:not(...)`, `:hover` (0,2,0) écrasait `.q-tiptap__tool--active` (0,1,0) : le bouton
9151
+ actif perdait son fond et sa couleur primaire au survol). */
9152
+ .q-tiptap__tool:hover:not(:disabled):not(.q-tiptap__tool--active) {
9150
9153
  background-color: rgb(0 0 0 / 0.06);
9151
9154
  color: var(--q-tiptap-text);
9152
9155
  }
9153
- .dark .q-tiptap__tool:hover:not(:disabled) {
9156
+ .dark .q-tiptap__tool:hover:not(:disabled):not(.q-tiptap__tool--active) {
9154
9157
  background-color: rgb(255 255 255 / 0.08);
9155
9158
  }
9156
9159
  .q-tiptap__tool--active {
@@ -9505,11 +9508,12 @@ a.q-breadcrumbs__el:hover {
9505
9508
  width: 15px;
9506
9509
  height: 15px;
9507
9510
  }
9508
- .q-tiptap__bubble-btn:hover:not(:disabled) {
9511
+ /* Idem : un bouton de bulle actif garde son apparence au survol */
9512
+ .q-tiptap__bubble-btn:hover:not(:disabled):not(.q-tiptap__bubble-btn--active) {
9509
9513
  background-color: rgb(0 0 0 / 0.06);
9510
9514
  color: var(--q-tiptap-text);
9511
9515
  }
9512
- .dark .q-tiptap__bubble-btn:hover:not(:disabled) {
9516
+ .dark .q-tiptap__bubble-btn:hover:not(:disabled):not(.q-tiptap__bubble-btn--active) {
9513
9517
  background-color: rgb(255 255 255 / 0.08);
9514
9518
  }
9515
9519
  .q-tiptap__bubble-btn--active {