@dnax/ui 0.0.34 → 0.0.36

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/styles/main.css CHANGED
@@ -2440,6 +2440,15 @@ html.dark body {
2440
2440
  margin-left: -1px;
2441
2441
  }
2442
2442
 
2443
+ .q-btn-group--stretch {
2444
+ /* stretch : la racine doit faire 100 % de large. Sinon `display: inline-flex`
2445
+ réduit le groupe à la taille de son contenu et `flex: 1 1 auto` sur les
2446
+ boutons (règle ci-dessous) n'a aucun effet. Même correctif que QTabs
2447
+ (`.q-tabs--stretch`) — un simple `class="w-full"` côté consommateur
2448
+ contournait le problème. */
2449
+ width: 100%;
2450
+ }
2451
+
2443
2452
  .q-btn-group--stretch > .q-btn {
2444
2453
  flex: 1 1 auto;
2445
2454
  }
@@ -2451,10 +2460,23 @@ html.dark body {
2451
2460
  vertical-align: middle;
2452
2461
  }
2453
2462
 
2463
+ .q-btn-actions--stretch {
2464
+ /* stretch : la racine doit elle-même faire 100 % de large, sinon son parent
2465
+ `inline-flex` « shrink-to-fit » l'épouse au contenu et le `width: 100%` du
2466
+ QBtn interne (`.q-btn--stretch`) n'a pas de référentiel → rien ne s'étire.
2467
+ Même correctif que QTabs (`.q-tabs--stretch`). */
2468
+ width: 100%;
2469
+ }
2470
+
2454
2471
  .q-btn-actions__caret {
2455
2472
  width: 1em;
2456
2473
  height: 1em;
2457
2474
  flex-shrink: 0;
2475
+ /* Caret toujours à l'extrémité DROITE du bouton : quand le bouton est plus
2476
+ large que son contenu (stretch / largeur fixe type 400px), la marge auto
2477
+ absorbe l'espace libre et colle le chevron au bord — sans toucher aux
2478
+ boutons à taille naturelle (aucun espace libre → aucun effet). */
2479
+ margin-left: auto;
2458
2480
  transition: transform 0.2s ease;
2459
2481
  }
2460
2482
 
@@ -3954,6 +3976,117 @@ html.dark body {
3954
3976
  height: 2px;
3955
3977
  }
3956
3978
 
3979
+ /* ===== QBreadcrumbs ===== */
3980
+ .q-breadcrumbs {
3981
+ --q-breadcrumbs-gutter: 8px;
3982
+ --q-breadcrumbs-color: rgb(0 0 0 / 0.6);
3983
+ --q-breadcrumbs-sep-color: rgb(0 0 0 / 0.42);
3984
+ --q-breadcrumbs-active-color: var(--primary);
3985
+
3986
+ font-size: 14px;
3987
+ line-height: 1.5;
3988
+ color: var(--foreground);
3989
+ }
3990
+
3991
+ .dark .q-breadcrumbs {
3992
+ --q-breadcrumbs-color: rgb(255 255 255 / 0.66);
3993
+ --q-breadcrumbs-sep-color: rgb(255 255 255 / 0.42);
3994
+ }
3995
+
3996
+ .q-breadcrumbs__list {
3997
+ display: flex;
3998
+ align-items: center;
3999
+ flex-wrap: wrap;
4000
+ gap: var(--q-breadcrumbs-gutter);
4001
+ margin: 0;
4002
+ padding: 0;
4003
+ list-style: none;
4004
+ }
4005
+
4006
+ .q-breadcrumbs--center .q-breadcrumbs__list {
4007
+ justify-content: center;
4008
+ }
4009
+
4010
+ .q-breadcrumbs--right .q-breadcrumbs__list {
4011
+ justify-content: flex-end;
4012
+ }
4013
+
4014
+ .q-breadcrumbs__item {
4015
+ display: inline-flex;
4016
+ align-items: center;
4017
+ min-width: 0;
4018
+ color: var(--q-breadcrumbs-color);
4019
+ transition: color 0.15s ease;
4020
+ }
4021
+
4022
+ .q-breadcrumbs__item--last {
4023
+ color: var(--q-breadcrumbs-active-color);
4024
+ font-weight: 600;
4025
+ }
4026
+
4027
+ .q-breadcrumbs__el {
4028
+ display: inline-flex;
4029
+ align-items: center;
4030
+ gap: 6px;
4031
+ max-width: 100%;
4032
+ color: inherit;
4033
+ text-decoration: none;
4034
+ cursor: default;
4035
+ transition: color 0.15s ease;
4036
+ }
4037
+
4038
+ .q-breadcrumbs__el svg {
4039
+ width: 1.15em;
4040
+ height: 1.15em;
4041
+ flex-shrink: 0;
4042
+ }
4043
+
4044
+ .q-breadcrumbs__el-icon {
4045
+ display: inline-flex;
4046
+ }
4047
+
4048
+ a.q-breadcrumbs__el {
4049
+ cursor: pointer;
4050
+ }
4051
+
4052
+ a.q-breadcrumbs__el:hover {
4053
+ color: var(--q-breadcrumbs-active-color);
4054
+ text-decoration: underline;
4055
+ text-underline-offset: 3px;
4056
+ }
4057
+
4058
+ .q-breadcrumbs__el:focus-visible {
4059
+ outline: 2px solid var(--q-breadcrumbs-active-color);
4060
+ outline-offset: 2px;
4061
+ border-radius: 4px;
4062
+ }
4063
+
4064
+ .q-breadcrumbs__el--disabled {
4065
+ opacity: 0.45;
4066
+ pointer-events: none;
4067
+ }
4068
+
4069
+ .q-breadcrumbs__separator {
4070
+ display: inline-flex;
4071
+ align-items: center;
4072
+ flex-shrink: 0;
4073
+ color: var(--q-breadcrumbs-sep-color);
4074
+ user-select: none;
4075
+ }
4076
+
4077
+ .q-breadcrumbs__separator svg {
4078
+ width: 1em;
4079
+ height: 1em;
4080
+ }
4081
+
4082
+ .q-breadcrumbs--dense {
4083
+ font-size: 12.5px;
4084
+ }
4085
+
4086
+ .q-breadcrumbs--dense .q-breadcrumbs__el {
4087
+ gap: 4px;
4088
+ }
4089
+
3957
4090
  /* ===== QSeparator ===== */
3958
4091
  .q-separator {
3959
4092
  border: none;
@@ -10651,3 +10784,46 @@ html.dark body {
10651
10784
  .q-board--dense .q-board__cell-label {
10652
10785
  font-size: 9px;
10653
10786
  }
10787
+
10788
+ /* ===== v-ripple — onde « material ripple » =====
10789
+ Conteneur injecté par la directive dans l'élément hôte (position absolute,
10790
+ 100 %×100 %, overflow hidden + border-radius: inherit → l'onde est clippée à
10791
+ la forme de l'hôte, sans imposer `overflow: hidden` au consommateur).
10792
+ La pastille utilise `currentColor` par défaut ; `v-ripple:primary` ou
10793
+ `{ color }` posent la couleur en inline (tokens → var(--token)). */
10794
+ .q-ripple {
10795
+ position: absolute;
10796
+ top: 0;
10797
+ left: 0;
10798
+ width: 100%;
10799
+ height: 100%;
10800
+ z-index: 0;
10801
+ contain: strict;
10802
+ overflow: hidden;
10803
+ border-radius: inherit;
10804
+ color: inherit;
10805
+ pointer-events: none;
10806
+ }
10807
+
10808
+ .q-ripple__inner {
10809
+ position: absolute;
10810
+ top: 0;
10811
+ left: 0;
10812
+ border-radius: 50%;
10813
+ background: currentColor;
10814
+ opacity: 0;
10815
+ pointer-events: none;
10816
+ will-change: transform, opacity;
10817
+ }
10818
+
10819
+ .q-ripple__inner--enter {
10820
+ transition:
10821
+ transform 0.225s cubic-bezier(0.4, 0, 0.2, 1),
10822
+ opacity 0.1s cubic-bezier(0.4, 0, 0.2, 1);
10823
+ }
10824
+
10825
+ .q-ripple__inner--leave {
10826
+ transition:
10827
+ transform 0.225s cubic-bezier(0.4, 0, 0.2, 1),
10828
+ opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
10829
+ }