@q1travel/design-system 0.6.0 → 0.7.0
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/contracts/button-api-compatibility.md +11 -1
- package/dist-pkg/design-system.d.ts +48 -12
- package/dist-pkg/design-system.js +1830 -1585
- package/dist-pkg/style.css +242 -1
- package/package.json +1 -1
package/dist-pkg/style.css
CHANGED
|
@@ -6629,6 +6629,207 @@ a.q1-card:focus-visible {
|
|
|
6629
6629
|
color: var(--q1-color-text-secondary);
|
|
6630
6630
|
}
|
|
6631
6631
|
|
|
6632
|
+
/* Search Dialog:受控搜索弹层,输入框持有焦点并以 aria-activedescendant 导航结果。 */
|
|
6633
|
+
.search-dialog__trigger {
|
|
6634
|
+
display: inline-flex;
|
|
6635
|
+
}
|
|
6636
|
+
.search-dialog {
|
|
6637
|
+
position: fixed;
|
|
6638
|
+
inset: 0;
|
|
6639
|
+
z-index: 80;
|
|
6640
|
+
display: flex;
|
|
6641
|
+
align-items: flex-start;
|
|
6642
|
+
justify-content: center;
|
|
6643
|
+
padding: var(--q1-space-6) var(--q1-space-4);
|
|
6644
|
+
}
|
|
6645
|
+
.search-dialog__backdrop {
|
|
6646
|
+
position: absolute;
|
|
6647
|
+
inset: 0;
|
|
6648
|
+
border: 0;
|
|
6649
|
+
background: color-mix(in srgb, var(--q1-color-shadow) 45%, transparent);
|
|
6650
|
+
cursor: default;
|
|
6651
|
+
}
|
|
6652
|
+
.search-dialog__panel {
|
|
6653
|
+
position: relative;
|
|
6654
|
+
display: flex;
|
|
6655
|
+
flex-direction: column;
|
|
6656
|
+
width: min(640px, calc(100vw - 2 * var(--q1-space-4)));
|
|
6657
|
+
max-height: calc(100dvh - 2 * var(--q1-space-6));
|
|
6658
|
+
overflow: hidden;
|
|
6659
|
+
border: 1px solid var(--q1-color-border-overlay);
|
|
6660
|
+
border-radius: var(--q1-radius-4);
|
|
6661
|
+
background: var(--q1-color-bg-panel);
|
|
6662
|
+
box-shadow: var(--q1-shadow-modal);
|
|
6663
|
+
}
|
|
6664
|
+
.search-dialog__search {
|
|
6665
|
+
display: flex;
|
|
6666
|
+
flex: none;
|
|
6667
|
+
align-items: center;
|
|
6668
|
+
gap: var(--q1-space-3);
|
|
6669
|
+
padding: var(--q1-space-3) var(--q1-space-4);
|
|
6670
|
+
border-bottom: 1px solid var(--q1-color-border);
|
|
6671
|
+
}
|
|
6672
|
+
.search-dialog__field {
|
|
6673
|
+
display: flex;
|
|
6674
|
+
min-width: 0;
|
|
6675
|
+
min-height: 44px;
|
|
6676
|
+
flex: 1 1 auto;
|
|
6677
|
+
align-items: center;
|
|
6678
|
+
gap: var(--q1-space-2);
|
|
6679
|
+
padding-inline: var(--q1-space-3);
|
|
6680
|
+
border-radius: var(--q1-radius-2);
|
|
6681
|
+
color: var(--q1-color-text-secondary);
|
|
6682
|
+
}
|
|
6683
|
+
.search-dialog__field:has(.search-dialog__input:focus-visible) {
|
|
6684
|
+
box-shadow: var(--q1-shadow-focus);
|
|
6685
|
+
}
|
|
6686
|
+
.search-dialog__input {
|
|
6687
|
+
min-width: 0;
|
|
6688
|
+
min-height: 44px;
|
|
6689
|
+
flex: 1 1 auto;
|
|
6690
|
+
padding: 0;
|
|
6691
|
+
border: 0;
|
|
6692
|
+
background: transparent;
|
|
6693
|
+
color: var(--q1-color-text-primary);
|
|
6694
|
+
font: inherit;
|
|
6695
|
+
font-size: var(--q1-font-size-copy-16);
|
|
6696
|
+
}
|
|
6697
|
+
.search-dialog__input:focus-visible {
|
|
6698
|
+
outline: none;
|
|
6699
|
+
box-shadow: none;
|
|
6700
|
+
}
|
|
6701
|
+
.search-dialog__close {
|
|
6702
|
+
display: grid;
|
|
6703
|
+
width: 44px;
|
|
6704
|
+
height: 44px;
|
|
6705
|
+
flex: none;
|
|
6706
|
+
place-items: center;
|
|
6707
|
+
border: 0;
|
|
6708
|
+
border-radius: var(--q1-radius-2);
|
|
6709
|
+
background: transparent;
|
|
6710
|
+
color: var(--q1-color-text-secondary);
|
|
6711
|
+
cursor: pointer;
|
|
6712
|
+
transition: transform 120ms cubic-bezier(0.23, 1, 0.32, 1);
|
|
6713
|
+
}
|
|
6714
|
+
.search-dialog__close:hover {
|
|
6715
|
+
background: var(--q1-color-bg-subtle);
|
|
6716
|
+
color: var(--q1-color-text-primary);
|
|
6717
|
+
}
|
|
6718
|
+
.search-dialog__close:active,
|
|
6719
|
+
.search-dialog__clear:active {
|
|
6720
|
+
transform: scale(0.97);
|
|
6721
|
+
}
|
|
6722
|
+
.search-dialog__close:focus-visible,
|
|
6723
|
+
.search-dialog__clear:focus-visible,
|
|
6724
|
+
.search-dialog__option:focus-visible {
|
|
6725
|
+
outline: none;
|
|
6726
|
+
box-shadow: var(--q1-shadow-focus);
|
|
6727
|
+
}
|
|
6728
|
+
.search-dialog__body {
|
|
6729
|
+
min-height: 0;
|
|
6730
|
+
overflow-y: auto;
|
|
6731
|
+
overscroll-behavior: contain;
|
|
6732
|
+
padding: var(--q1-space-2);
|
|
6733
|
+
}
|
|
6734
|
+
.search-dialog__group + .search-dialog__group {
|
|
6735
|
+
margin-top: var(--q1-space-2);
|
|
6736
|
+
padding-top: var(--q1-space-2);
|
|
6737
|
+
border-top: 1px solid var(--q1-color-border);
|
|
6738
|
+
}
|
|
6739
|
+
.search-dialog__heading {
|
|
6740
|
+
padding: var(--q1-space-2) var(--q1-space-3);
|
|
6741
|
+
color: var(--q1-color-text-secondary);
|
|
6742
|
+
font-size: var(--q1-font-size-label-13);
|
|
6743
|
+
font-weight: var(--q1-font-weight-semibold);
|
|
6744
|
+
line-height: var(--q1-line-height-label-13);
|
|
6745
|
+
}
|
|
6746
|
+
.search-dialog__option {
|
|
6747
|
+
display: flex;
|
|
6748
|
+
width: 100%;
|
|
6749
|
+
min-height: 44px;
|
|
6750
|
+
flex-direction: column;
|
|
6751
|
+
justify-content: center;
|
|
6752
|
+
gap: 0;
|
|
6753
|
+
padding: var(--q1-space-1) var(--q1-space-3);
|
|
6754
|
+
border: 0;
|
|
6755
|
+
border-radius: var(--q1-radius-2);
|
|
6756
|
+
background: transparent;
|
|
6757
|
+
color: var(--q1-color-text-primary);
|
|
6758
|
+
font: inherit;
|
|
6759
|
+
text-align: left;
|
|
6760
|
+
cursor: pointer;
|
|
6761
|
+
}
|
|
6762
|
+
.search-dialog__option--active {
|
|
6763
|
+
background: var(--q1-color-bg-subtle);
|
|
6764
|
+
}
|
|
6765
|
+
@media (hover: hover) and (pointer: fine) {
|
|
6766
|
+
.search-dialog__option:hover {
|
|
6767
|
+
background: var(--q1-color-bg-subtle);
|
|
6768
|
+
}
|
|
6769
|
+
}
|
|
6770
|
+
.search-dialog__option--disabled {
|
|
6771
|
+
color: var(--q1-color-text-muted);
|
|
6772
|
+
cursor: not-allowed;
|
|
6773
|
+
opacity: 0.65;
|
|
6774
|
+
}
|
|
6775
|
+
.search-dialog__option-label {
|
|
6776
|
+
font-size: var(--q1-font-size-copy-14);
|
|
6777
|
+
font-weight: var(--q1-font-weight-medium);
|
|
6778
|
+
line-height: var(--q1-line-height-copy-14);
|
|
6779
|
+
}
|
|
6780
|
+
.search-dialog__option-description {
|
|
6781
|
+
color: var(--q1-color-text-secondary);
|
|
6782
|
+
font-size: var(--q1-font-size-label-13);
|
|
6783
|
+
line-height: var(--q1-line-height-label-13);
|
|
6784
|
+
}
|
|
6785
|
+
.search-dialog__empty {
|
|
6786
|
+
display: grid;
|
|
6787
|
+
justify-items: center;
|
|
6788
|
+
gap: var(--q1-space-4);
|
|
6789
|
+
padding: var(--q1-space-8) var(--q1-space-4);
|
|
6790
|
+
color: var(--q1-color-text-secondary);
|
|
6791
|
+
text-align: center;
|
|
6792
|
+
}
|
|
6793
|
+
.search-dialog__empty p {
|
|
6794
|
+
margin: 0;
|
|
6795
|
+
}
|
|
6796
|
+
.search-dialog__clear {
|
|
6797
|
+
min-height: 44px;
|
|
6798
|
+
padding: var(--q1-space-2) var(--q1-space-4);
|
|
6799
|
+
border: 1px solid var(--q1-color-border-strong);
|
|
6800
|
+
border-radius: var(--q1-radius-2);
|
|
6801
|
+
background: var(--q1-color-bg-panel);
|
|
6802
|
+
color: var(--q1-color-action-primary);
|
|
6803
|
+
font: inherit;
|
|
6804
|
+
cursor: pointer;
|
|
6805
|
+
transition: transform 120ms cubic-bezier(0.23, 1, 0.32, 1);
|
|
6806
|
+
}
|
|
6807
|
+
.search-dialog__clear:hover {
|
|
6808
|
+
background: var(--q1-color-bg-subtle);
|
|
6809
|
+
}
|
|
6810
|
+
@media (max-width: 480px) {
|
|
6811
|
+
.search-dialog {
|
|
6812
|
+
padding: var(--q1-space-4);
|
|
6813
|
+
}
|
|
6814
|
+
.search-dialog__panel {
|
|
6815
|
+
max-height: calc(100dvh - 2 * var(--q1-space-4));
|
|
6816
|
+
}
|
|
6817
|
+
.search-dialog__trigger-control {
|
|
6818
|
+
min-width: 44px;
|
|
6819
|
+
min-height: 44px;
|
|
6820
|
+
}
|
|
6821
|
+
}
|
|
6822
|
+
@media (prefers-reduced-motion: reduce) {
|
|
6823
|
+
.search-dialog,
|
|
6824
|
+
.search-dialog__panel,
|
|
6825
|
+
.search-dialog__close,
|
|
6826
|
+
.search-dialog__clear {
|
|
6827
|
+
animation: none;
|
|
6828
|
+
transition: none;
|
|
6829
|
+
transform: none;
|
|
6830
|
+
}
|
|
6831
|
+
}
|
|
6832
|
+
|
|
6632
6833
|
/* Modal 模态框:阻断页面的对话框 */
|
|
6633
6834
|
.modal-btn {
|
|
6634
6835
|
padding: var(--q1-space-2) var(--q1-space-4);
|
|
@@ -7378,6 +7579,45 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
7378
7579
|
padding-inline-start: var(--q1-space-6);
|
|
7379
7580
|
}
|
|
7380
7581
|
|
|
7582
|
+
.q1-navigation--horizontal {
|
|
7583
|
+
--q1-navigation-row-min-height: 44px;
|
|
7584
|
+
|
|
7585
|
+
display: flex;
|
|
7586
|
+
align-items: center;
|
|
7587
|
+
gap: var(--q1-space-1);
|
|
7588
|
+
width: 100%;
|
|
7589
|
+
overflow-x: auto;
|
|
7590
|
+
overscroll-behavior-inline: contain;
|
|
7591
|
+
}
|
|
7592
|
+
|
|
7593
|
+
.q1-navigation--horizontal > .q1-navigation__item-row {
|
|
7594
|
+
flex: none;
|
|
7595
|
+
}
|
|
7596
|
+
|
|
7597
|
+
.q1-navigation--horizontal .q1-navigation__item {
|
|
7598
|
+
flex: none;
|
|
7599
|
+
padding-inline: var(--q1-space-2);
|
|
7600
|
+
color: var(--q1-color-text-secondary);
|
|
7601
|
+
transition:
|
|
7602
|
+
color 120ms cubic-bezier(0.23, 1, 0.32, 1),
|
|
7603
|
+
background-color 120ms cubic-bezier(0.23, 1, 0.32, 1);
|
|
7604
|
+
}
|
|
7605
|
+
|
|
7606
|
+
.q1-navigation--horizontal .q1-navigation__item--active {
|
|
7607
|
+
color: var(--q1-color-action-primary);
|
|
7608
|
+
}
|
|
7609
|
+
|
|
7610
|
+
@media (hover: hover) and (pointer: fine) {
|
|
7611
|
+
.q1-navigation--horizontal .q1-navigation__item:hover:not([aria-disabled='true']):not(:disabled) {
|
|
7612
|
+
color: var(--q1-color-text-primary);
|
|
7613
|
+
background: var(--q1-color-bg-subtle);
|
|
7614
|
+
}
|
|
7615
|
+
|
|
7616
|
+
.q1-navigation--horizontal .q1-navigation__item--active:hover:not([aria-disabled='true']):not(:disabled) {
|
|
7617
|
+
color: var(--q1-color-action-primary);
|
|
7618
|
+
}
|
|
7619
|
+
}
|
|
7620
|
+
|
|
7381
7621
|
@media (pointer: coarse) {
|
|
7382
7622
|
.q1-navigation {
|
|
7383
7623
|
--q1-navigation-row-min-height: 44px;
|
|
@@ -7395,7 +7635,8 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
7395
7635
|
}
|
|
7396
7636
|
|
|
7397
7637
|
@media (prefers-reduced-motion: reduce) {
|
|
7398
|
-
.q1-navigation__group-chevron
|
|
7638
|
+
.q1-navigation__group-chevron,
|
|
7639
|
+
.q1-navigation--horizontal .q1-navigation__item {
|
|
7399
7640
|
transition: none;
|
|
7400
7641
|
}
|
|
7401
7642
|
}
|