@q1travel/design-system 0.7.0 → 0.7.1

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.
@@ -1111,6 +1111,17 @@
1111
1111
  background: var(--q1-color-bg-panel);
1112
1112
  box-shadow: var(--q1-shadow-popover);
1113
1113
  }
1114
+ .menu__popup[data-state] {
1115
+ --menu-motion-duration-enter: 180ms;
1116
+ --menu-motion-duration-exit: 140ms;
1117
+ --menu-motion-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
1118
+
1119
+ opacity: 1;
1120
+ transform: translateY(0) scale(1);
1121
+ transition:
1122
+ opacity var(--menu-motion-duration-enter) var(--menu-motion-ease-out),
1123
+ transform var(--menu-motion-duration-enter) var(--menu-motion-ease-out);
1124
+ }
1114
1125
  .menu__popup--start {
1115
1126
  left: 0;
1116
1127
  }
@@ -1124,6 +1135,46 @@
1124
1135
  .menu__popup--top {
1125
1136
  bottom: calc(100% + var(--q1-space-2));
1126
1137
  }
1138
+ .menu__popup[data-state].menu__popup--start.menu__popup--bottom {
1139
+ transform-origin: left top;
1140
+ }
1141
+ .menu__popup[data-state].menu__popup--end.menu__popup--bottom {
1142
+ transform-origin: right top;
1143
+ }
1144
+ .menu__popup[data-state].menu__popup--start.menu__popup--top {
1145
+ transform-origin: left bottom;
1146
+ }
1147
+ .menu__popup[data-state].menu__popup--end.menu__popup--top {
1148
+ transform-origin: right bottom;
1149
+ }
1150
+ .menu__popup[data-state='closed'] {
1151
+ opacity: 0;
1152
+ pointer-events: none;
1153
+ transition-duration: var(--menu-motion-duration-exit);
1154
+ }
1155
+ .menu__popup--bottom[data-state='closed'] {
1156
+ transform: translateY(calc(0px - var(--q1-space-1))) scale(0.98);
1157
+ }
1158
+ .menu__popup--top[data-state='closed'] {
1159
+ transform: translateY(var(--q1-space-1)) scale(0.98);
1160
+ }
1161
+ @starting-style {
1162
+ .menu__popup[data-state='open'] {
1163
+ opacity: 0;
1164
+ }
1165
+ .menu__popup--bottom[data-state='open'] {
1166
+ transform: translateY(calc(0px - var(--q1-space-1))) scale(0.98);
1167
+ }
1168
+ .menu__popup--top[data-state='open'] {
1169
+ transform: translateY(var(--q1-space-1)) scale(0.98);
1170
+ }
1171
+ }
1172
+ @media (prefers-reduced-motion: reduce) {
1173
+ .menu__popup[data-state] {
1174
+ transform: none;
1175
+ transition: none;
1176
+ }
1177
+ }
1127
1178
  .menu__item {
1128
1179
  display: flex;
1129
1180
  align-items: center;
@@ -7671,7 +7722,8 @@ a.q1-navigation__item[aria-disabled='true'] {
7671
7722
  .q1-context-switcher__trigger:focus-visible,
7672
7723
  .q1-context-switcher__popup:focus-visible,
7673
7724
  .q1-context-switcher__item:focus-visible,
7674
- .q1-context-switcher__action:focus-visible {
7725
+ .q1-context-switcher__action:focus-visible,
7726
+ .q1-context-switcher__popup[role='dialog'] input[type='search']:focus-visible {
7675
7727
  outline: none;
7676
7728
  box-shadow: var(--q1-shadow-focus);
7677
7729
  }
@@ -7740,6 +7792,29 @@ a.q1-navigation__item[aria-disabled='true'] {
7740
7792
  box-shadow: var(--q1-shadow-popover);
7741
7793
  }
7742
7794
 
7795
+ .q1-context-switcher__popup[role='dialog'] {
7796
+ opacity: 1;
7797
+ transform: translateY(0) scale(1);
7798
+ transform-origin: top center;
7799
+ transition:
7800
+ opacity 150ms ease,
7801
+ transform 150ms ease;
7802
+ }
7803
+
7804
+ .q1-context-switcher__popup[role='dialog'][data-side='top'] {
7805
+ transform-origin: bottom center;
7806
+ }
7807
+
7808
+ @starting-style {
7809
+ .q1-context-switcher__popup[role='dialog'] {
7810
+ opacity: 0;
7811
+ }
7812
+
7813
+ body:not(:has(.q1-context-switcher__trigger:focus-visible)) .q1-context-switcher__popup[role='dialog'] {
7814
+ transform: translateY(-2px) scale(.98);
7815
+ }
7816
+ }
7817
+
7743
7818
  .q1-context-switcher__groups {
7744
7819
  min-height: 0;
7745
7820
  overflow-y: auto;
@@ -7747,6 +7822,42 @@ a.q1-navigation__item[aria-disabled='true'] {
7747
7822
  padding: var(--q1-space-2);
7748
7823
  }
7749
7824
 
7825
+ .q1-context-switcher__popup[role='dialog'] .q1-context-switcher__groups {
7826
+ display: grid;
7827
+ overflow-y: hidden;
7828
+ }
7829
+
7830
+ .q1-context-switcher__popup[role='dialog'] input[type='search'] {
7831
+ width: 100%;
7832
+ min-width: 0;
7833
+ min-height: 44px;
7834
+ margin-block: var(--q1-space-1);
7835
+ border: 1px solid var(--q1-color-border);
7836
+ border-radius: var(--q1-radius-2);
7837
+ background: var(--q1-color-bg-panel);
7838
+ padding: var(--q1-space-2) var(--q1-space-3);
7839
+ color: var(--q1-color-text-primary);
7840
+ font: inherit;
7841
+ }
7842
+
7843
+ .q1-context-switcher__popup[role='dialog'] input[type='search']::placeholder {
7844
+ color: var(--q1-color-text-muted);
7845
+ }
7846
+
7847
+ .q1-context-switcher__popup[role='dialog'] [role='listbox'] {
7848
+ min-height: 0;
7849
+ max-block-size: calc(var(--q1-space-24) + var(--q1-space-24) + var(--q1-space-16));
7850
+ overflow-x: hidden;
7851
+ overflow-y: auto;
7852
+ overscroll-behavior: contain;
7853
+ }
7854
+
7855
+ .q1-context-switcher__popup[role='dialog'] [role='status'] {
7856
+ min-width: 0;
7857
+ padding: var(--q1-space-2);
7858
+ color: var(--q1-color-text-secondary);
7859
+ }
7860
+
7750
7861
  .q1-context-switcher__group + .q1-context-switcher__group {
7751
7862
  margin-top: var(--q1-space-2);
7752
7863
  padding-top: var(--q1-space-2);
@@ -7754,6 +7865,9 @@ a.q1-navigation__item[aria-disabled='true'] {
7754
7865
  }
7755
7866
 
7756
7867
  .q1-context-switcher__group-label {
7868
+ display: flex;
7869
+ justify-content: space-between;
7870
+ gap: var(--q1-space-2);
7757
7871
  padding: var(--q1-space-1) var(--q1-space-2);
7758
7872
  color: var(--q1-color-text-muted);
7759
7873
  font-size: var(--q1-font-size-label-13);
@@ -7764,6 +7878,10 @@ a.q1-navigation__item[aria-disabled='true'] {
7764
7878
  white-space: nowrap;
7765
7879
  }
7766
7880
 
7881
+ .q1-context-switcher__popup[role='dialog'] .q1-context-switcher__group-label {
7882
+ color: var(--q1-color-text-secondary);
7883
+ }
7884
+
7767
7885
  .q1-context-switcher__item,
7768
7886
  .q1-context-switcher__action {
7769
7887
  display: flex;
@@ -7801,6 +7919,7 @@ a.q1-navigation__item[aria-disabled='true'] {
7801
7919
  }
7802
7920
 
7803
7921
  .q1-context-switcher__item[aria-checked='true'] .q1-context-switcher__item-label,
7922
+ .q1-context-switcher__item[aria-selected='true'] .q1-context-switcher__item-label,
7804
7923
  .q1-context-switcher__check {
7805
7924
  color: var(--q1-color-action-primary);
7806
7925
  }
@@ -7830,6 +7949,10 @@ a.q1-navigation__item[aria-disabled='true'] {
7830
7949
  }
7831
7950
 
7832
7951
  @media (prefers-reduced-motion: reduce) {
7952
+ .q1-context-switcher__popup[role='dialog'] {
7953
+ transition: none;
7954
+ }
7955
+
7833
7956
  .q1-context-switcher__chevron {
7834
7957
  transition: none;
7835
7958
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@q1travel/design-system",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist-pkg/design-system.js",
@@ -56,6 +56,7 @@
56
56
  "@types/react": "^19.2.17",
57
57
  "@types/react-dom": "^19.2.3",
58
58
  "@vitejs/plugin-react": "^5.0.0",
59
+ "axe-core": "4.10.2",
59
60
  "typescript": "^5.8.0",
60
61
  "vite": "^7.0.0",
61
62
  "vite-plugin-dts": "^4.5.0"