@q1travel/design-system 0.30.4 → 0.30.6

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.
@@ -6466,9 +6466,11 @@ a.q1-card:focus-visible {
6466
6466
  padding-right: 72px;
6467
6467
  }
6468
6468
 
6469
- /* Esc 键帽是唯一清除入口:隐藏 WebKit 原生 search ✕,避免双清除(普通 type=search 的 Input 不隐藏)。 */
6469
+ /* SearchInput 可按 Esc 清除;SearchDialog 可按 Esc 关闭或全选删除清空,不另加清除控件。 */
6470
6470
  .search-input__field::-webkit-search-cancel-button,
6471
- .search-input__field::-webkit-search-decoration {
6471
+ .search-dialog__input::-webkit-search-cancel-button,
6472
+ .search-input__field::-webkit-search-decoration,
6473
+ .search-dialog__input::-webkit-search-decoration {
6472
6474
  -webkit-appearance: none;
6473
6475
  appearance: none;
6474
6476
  }
@@ -11452,6 +11454,18 @@ a.q1-navigation__item[aria-disabled='true'] {
11452
11454
  }
11453
11455
  }
11454
11456
 
11457
+ @media (forced-colors: active) {
11458
+ .progress__track {
11459
+ border: calc(var(--q1-space-1) / 4) solid CanvasText;
11460
+ background: Canvas;
11461
+ }
11462
+
11463
+ .progress__fill {
11464
+ forced-color-adjust: none;
11465
+ background: Highlight;
11466
+ }
11467
+ }
11468
+
11455
11469
  /* Optional SearchDialog content slots. */
11456
11470
  .search-dialog__section + .search-dialog__section {
11457
11471
  margin-top: var(--q1-space-2);
@@ -14434,31 +14448,31 @@ a.q1-navigation__item[aria-disabled='true'] {
14434
14448
  }
14435
14449
 
14436
14450
  /* inline:卡片与页面分区里的紧凑行。小号图标与标题首行同高居中;重试在行尾,容器变窄时折到说明下方。 */
14437
- .region-error-state--inline {
14451
+ :is(.region-error-state--inline, .region-error-state--strip) {
14438
14452
  display: flex;
14439
14453
  flex-wrap: wrap;
14440
14454
  align-items: center;
14441
14455
  gap: var(--q1-space-3) var(--q1-space-4);
14442
14456
  }
14443
14457
 
14444
- .region-error-state--inline .region-error-state__status {
14458
+ :is(.region-error-state--inline, .region-error-state--strip) .region-error-state__status {
14445
14459
  flex: 1 1 0;
14446
14460
  align-items: flex-start;
14447
14461
  gap: var(--q1-space-3);
14448
14462
  }
14449
14463
 
14450
- .region-error-state--inline .region-error-state__icon {
14464
+ :is(.region-error-state--inline, .region-error-state--strip) .region-error-state__icon {
14451
14465
  width: var(--q1-space-4);
14452
14466
  height: var(--q1-line-height-heading-14);
14453
14467
  }
14454
14468
 
14455
- .region-error-state--inline .region-error-state__title {
14469
+ :is(.region-error-state--inline, .region-error-state--strip) .region-error-state__title {
14456
14470
  font-size: var(--q1-font-size-heading-14);
14457
14471
  font-weight: var(--q1-font-weight-heading-14);
14458
14472
  line-height: var(--q1-line-height-heading-14);
14459
14473
  }
14460
14474
 
14461
- .region-error-state--inline .region-error-state__actions {
14475
+ :is(.region-error-state--inline, .region-error-state--strip) .region-error-state__actions {
14462
14476
  flex: none;
14463
14477
  }
14464
14478
 
@@ -14469,6 +14483,19 @@ a.q1-navigation__item[aria-disabled='true'] {
14469
14483
  }
14470
14484
  }
14471
14485
 
14486
+ /* strip:整宽中性底条,重试始终留在条内右侧。 */
14487
+ .region-error-state--strip {
14488
+ width: 100%;
14489
+ min-inline-size: 0;
14490
+ min-block-size: calc(var(--q1-space-6) * 2);
14491
+ padding-block: var(--q1-space-2);
14492
+ padding-inline: var(--q1-space-4);
14493
+ border-radius: var(--q1-radius-2);
14494
+ background: var(--q1-color-bg-hover);
14495
+ box-sizing: border-box;
14496
+ flex-wrap: nowrap;
14497
+ }
14498
+
14472
14499
  .status-page {
14473
14500
  min-block-size: 100dvh;
14474
14501
  box-sizing: border-box;
@@ -14578,6 +14605,71 @@ a.q1-navigation__item[aria-disabled='true'] {
14578
14605
  .status-page--region .skeleton-illustration__bar::after { animation: none; }
14579
14606
  }
14580
14607
 
14608
+ .aspect-ratio {
14609
+ position: relative;
14610
+ inline-size: 100%;
14611
+ min-inline-size: 0;
14612
+ }
14613
+ .aspect-ratio > * {
14614
+ position: absolute;
14615
+ inset: 0;
14616
+ inline-size: 100%;
14617
+ block-size: 100%;
14618
+ }
14619
+
14620
+ .image {
14621
+ position: relative;
14622
+ display: grid;
14623
+ place-items: center;
14624
+ box-sizing: border-box;
14625
+ inline-size: 100%;
14626
+ min-inline-size: 0;
14627
+ overflow: hidden;
14628
+ border: calc(var(--q1-space-1) / 4) solid var(--q1-color-border);
14629
+ border-radius: var(--q1-radius-2);
14630
+ background: var(--q1-color-bg-subtle);
14631
+ color: var(--q1-color-text-secondary);
14632
+ }
14633
+ .image[data-size='sm'] { inline-size: var(--q1-space-8); block-size: var(--q1-space-8); }
14634
+ .image[data-size='md'] { inline-size: var(--q1-control-height-default); block-size: var(--q1-control-height-default); }
14635
+ .image[data-size='lg'] { inline-size: calc(var(--q1-space-6) * 2); block-size: calc(var(--q1-space-6) * 2); }
14636
+ .image__img {
14637
+ display: block;
14638
+ inline-size: 100%;
14639
+ block-size: auto;
14640
+ min-inline-size: 0;
14641
+ min-block-size: 0;
14642
+ object-fit: contain;
14643
+ object-position: center;
14644
+ }
14645
+ .image[data-fit='cover'] > .image__img { object-fit: cover; }
14646
+ .image[data-size] > .image__img,
14647
+ .aspect-ratio > .image > .image__img { block-size: 100%; }
14648
+ .image[data-state='loading'] > .image__img,
14649
+ .image[data-state='error'] > .image__img { visibility: hidden; }
14650
+ .image[data-state='loading']:not([data-size]),
14651
+ .image[data-state='empty']:not([data-size]),
14652
+ .image[data-state='error']:not([data-size]) { min-block-size: var(--q1-control-height-default); }
14653
+ .image__skeleton {
14654
+ position: absolute;
14655
+ inset: 0;
14656
+ inline-size: 100%;
14657
+ block-size: 100%;
14658
+ border-radius: inherit;
14659
+ }
14660
+ .image__fallback {
14661
+ grid-area: 1 / 1;
14662
+ max-inline-size: 100%;
14663
+ font-size: var(--q1-font-size-label-12);
14664
+ line-height: var(--q1-line-height-label-12);
14665
+ text-align: center;
14666
+ overflow-wrap: anywhere;
14667
+ }
14668
+ .image[data-state='error'] > .image__img { grid-area: 1 / 1; }
14669
+ @media (forced-colors: active) {
14670
+ .image { border-color: CanvasText; color: CanvasText; }
14671
+ }
14672
+
14581
14673
  .hover-card-trigger { display: inline-flex; }
14582
14674
  .hover-card {
14583
14675
  max-width: min(calc(100vw - var(--q1-space-6)), calc(var(--q1-space-8) * 9));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@q1travel/design-system",
3
- "version": "0.30.4",
3
+ "version": "0.30.6",
4
4
  "description": "React components, design tokens, and interface contracts for q1travel products.",
5
5
  "keywords": [
6
6
  "react",