@mixtint/primer-view-components 0.78.0 → 0.84.5

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.
Files changed (71) hide show
  1. package/README.md +20 -1
  2. package/app/assets/javascripts/components/primer/alpha/tree_view/tree_view.d.ts +1 -0
  3. package/app/assets/javascripts/components/primer/open_project/avatar_fallback.d.ts +28 -0
  4. package/app/assets/javascripts/components/primer/primer.d.ts +2 -0
  5. package/app/assets/javascripts/lib/primer/forms/character_counter.d.ts +41 -0
  6. package/app/assets/javascripts/lib/primer/forms/primer_text_area.d.ts +13 -0
  7. package/app/assets/javascripts/lib/primer/forms/primer_text_field.d.ts +2 -0
  8. package/app/assets/javascripts/primer_view_components.js +1 -1
  9. package/app/assets/javascripts/primer_view_components.js.map +1 -1
  10. package/app/assets/styles/primer_view_components.css +343 -22
  11. package/app/assets/styles/primer_view_components.css.map +1 -1
  12. package/app/components/primer/alpha/action_bar_element.js +68 -77
  13. package/app/components/primer/alpha/action_list.css +1 -1
  14. package/app/components/primer/alpha/action_list.js +1 -1
  15. package/app/components/primer/alpha/action_menu/action_menu_element.js +5 -1
  16. package/app/components/primer/alpha/dialog.css +12 -0
  17. package/app/components/primer/alpha/dialog.css.json +2 -1
  18. package/app/components/primer/alpha/segmented_control.js +1 -1
  19. package/app/components/primer/alpha/select_panel_element.js +4 -2
  20. package/app/components/primer/alpha/tab_nav.css +8 -1
  21. package/app/components/primer/alpha/tab_nav.css.json +1 -0
  22. package/app/components/primer/alpha/toggle_switch.js +1 -1
  23. package/app/components/primer/alpha/tool_tip.js +13 -6
  24. package/app/components/primer/alpha/tree_view/tree_view.d.ts +1 -0
  25. package/app/components/primer/alpha/tree_view/tree_view.js +24 -17
  26. package/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.js +1 -1
  27. package/app/components/primer/alpha/tree_view/tree_view_include_fragment_element.js +1 -1
  28. package/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.js +25 -2
  29. package/app/components/primer/alpha/x_banner.js +1 -1
  30. package/app/components/primer/beta/avatar_stack.css +21 -31
  31. package/app/components/primer/beta/avatar_stack.css.json +7 -4
  32. package/app/components/primer/beta/blankslate.css +7 -0
  33. package/app/components/primer/beta/blankslate.css.json +1 -0
  34. package/app/components/primer/beta/details_toggle_element.js +1 -1
  35. package/app/components/primer/beta/nav_list.js +1 -1
  36. package/app/components/primer/beta/nav_list_group_element.js +1 -1
  37. package/app/components/primer/beta/state.css +1 -2
  38. package/app/components/primer/beta/timeline_item.css +2 -1
  39. package/app/components/primer/dialog_helper.js +24 -9
  40. package/app/components/primer/open_project/avatar_fallback.d.ts +28 -0
  41. package/app/components/primer/open_project/avatar_fallback.js +105 -0
  42. package/app/components/primer/open_project/avatar_stack.css +29 -0
  43. package/app/components/primer/open_project/avatar_stack.css.json +10 -0
  44. package/app/components/primer/open_project/border_box/collapsible_header.css +72 -10
  45. package/app/components/primer/open_project/border_box/collapsible_header.css.json +9 -2
  46. package/app/components/primer/open_project/inline_message.css +42 -0
  47. package/app/components/primer/open_project/inline_message.css.json +13 -0
  48. package/app/components/primer/open_project/page_header.css +40 -3
  49. package/app/components/primer/open_project/page_header.css.json +8 -1
  50. package/app/components/primer/open_project/pagination.css +87 -0
  51. package/app/components/primer/open_project/pagination.css.json +24 -0
  52. package/app/components/primer/primer.d.ts +2 -0
  53. package/app/components/primer/primer.js +2 -0
  54. package/app/components/primer/scrollable_region.js +1 -1
  55. package/app/lib/primer/forms/character_counter.d.ts +41 -0
  56. package/app/lib/primer/forms/character_counter.js +114 -0
  57. package/app/lib/primer/forms/primer_multi_input.js +1 -1
  58. package/app/lib/primer/forms/primer_text_area.d.ts +13 -0
  59. package/app/lib/primer/forms/primer_text_area.js +53 -0
  60. package/app/lib/primer/forms/primer_text_field.d.ts +2 -0
  61. package/app/lib/primer/forms/primer_text_field.js +17 -3
  62. package/app/lib/primer/forms/toggle_switch_input.js +1 -1
  63. package/package.json +23 -22
  64. package/static/arguments.json +234 -2
  65. package/static/audited_at.json +6 -0
  66. package/static/classes.json +27 -2
  67. package/static/constants.json +66 -1
  68. package/static/form_previews.json +15 -0
  69. package/static/info_arch.json +821 -82
  70. package/static/previews.json +432 -9
  71. package/static/statuses.json +6 -0
@@ -563,7 +563,7 @@ nav-list {
563
563
  .ActionListItem-visual,
564
564
  .ActionListItem-action {
565
565
  display: flex;
566
- min-height: var(--control-medium-lineBoxHeight);
566
+ min-height: var(--base-size-20);
567
567
  color: var(--fgColor-muted);
568
568
  pointer-events: none;
569
569
  fill: var(--fgColor-muted);
@@ -1595,6 +1595,18 @@ dialog.Overlay:not([open]) {
1595
1595
  border-radius: unset !important;
1596
1596
  flex-grow: 1;
1597
1597
  }
1598
+
1599
+ .Overlay--fullscreen-whenNarrow {
1600
+ position: fixed;
1601
+ top: 0;
1602
+ left: 0;
1603
+ width: 100vw;
1604
+ max-width: none !important;
1605
+ height: 100vh;
1606
+ max-height: none !important;
1607
+ margin: 0;
1608
+ border-radius: unset !important;
1609
+ }
1598
1610
  }
1599
1611
 
1600
1612
  @keyframes Overlay--motion-slideDown {
@@ -2930,9 +2942,16 @@ dialog.Overlay:not([open]) {
2930
2942
  display: flex;
2931
2943
  /* stylelint-disable-next-line primer/spacing */
2932
2944
  margin-bottom: calc(var(--borderWidth-thin) * -1);
2933
- overflow: hidden;
2945
+ overflow-x: auto;
2946
+ overflow-y: hidden;
2947
+
2948
+ /* stylelint-disable-next-line selector-max-type */
2934
2949
  }
2935
2950
 
2951
+ .tabnav-tabs > li {
2952
+ flex-shrink: 0;
2953
+ }
2954
+
2936
2955
  .tabnav-tab {
2937
2956
  display: inline-block;
2938
2957
  flex-shrink: 0;
@@ -4947,6 +4966,12 @@ a.tabnav-extra:hover {
4947
4966
  height: var(--base-size-64);
4948
4967
  }
4949
4968
 
4969
+ /* stylelint-disable selector-max-specificity */
4970
+
4971
+ /* The selector-max-specificity rule is disabled here because the nested selectors
4972
+ in AvatarStack require high specificity to properly override default styles and
4973
+ achieve the intended visual stacking. */
4974
+
4950
4975
  /* AvatarStack */
4951
4976
 
4952
4977
  /* Stacked avatars can be used to show who is participating in thread when
@@ -5012,19 +5037,37 @@ a.tabnav-extra:hover {
5012
5037
  opacity: 0;
5013
5038
  }
5014
5039
 
5015
- .AvatarStack-body:hover .avatar {
5040
+ /* stylelint-disable-next-line selector-max-type */
5041
+
5042
+ .AvatarStack-body span:nth-child(n + 4) .avatar {
5043
+ display: none;
5044
+ opacity: 0;
5045
+ }
5046
+
5047
+ :is(.AvatarStack-body:hover:not([data-disable-expand]),.AvatarStack-body:focus-within:not([data-disable-expand])) .avatar {
5016
5048
  margin-right: var(--base-size-4);
5017
5049
  }
5018
5050
 
5019
- .AvatarStack-body:hover .avatar:nth-child(n + 4) {
5051
+ :is(.AvatarStack-body:hover:not([data-disable-expand]),.AvatarStack-body:focus-within:not([data-disable-expand])) .avatar:nth-child(n + 4) {
5052
+ display: flex;
5053
+ opacity: 1;
5054
+ }
5055
+
5056
+ /* stylelint-disable-next-line selector-max-type */
5057
+
5058
+ :is(.AvatarStack-body:hover:not([data-disable-expand]),.AvatarStack-body:focus-within:not([data-disable-expand])) span:nth-child(n + 4) .avatar {
5020
5059
  display: flex;
5021
5060
  opacity: 1;
5022
5061
  }
5023
5062
 
5024
- .AvatarStack-body:hover .avatar-more {
5063
+ :is(.AvatarStack-body:hover:not([data-disable-expand]),.AvatarStack-body:focus-within:not([data-disable-expand])) .avatar-more {
5025
5064
  display: none !important;
5026
5065
  }
5027
5066
 
5067
+ .AvatarStack-body[data-disable-expand] {
5068
+ position: relative;
5069
+ }
5070
+
5028
5071
  .avatar.avatar-more {
5029
5072
  z-index: 1;
5030
5073
  margin-right: 0;
@@ -5058,7 +5101,7 @@ a.tabnav-extra:hover {
5058
5101
  flex-direction: row-reverse;
5059
5102
  }
5060
5103
 
5061
- :is(.AvatarStack--right .AvatarStack-body):hover .avatar {
5104
+ :is(.AvatarStack--right .AvatarStack-body):hover:not([data-disable-expand]) .avatar {
5062
5105
  margin-right: 0;
5063
5106
  margin-left: var(--base-size-4);
5064
5107
  }
@@ -5389,6 +5432,8 @@ a.tabnav-extra:hover {
5389
5432
  .blankslate p {
5390
5433
  font-size: var(--text-body-size-large);
5391
5434
  color: var(--fgColor-muted);
5435
+ max-width: 56rem;
5436
+ margin: auto;
5392
5437
  }
5393
5438
 
5394
5439
  /* stylelint-disable-next-line selector-max-type */
@@ -5427,6 +5472,11 @@ a.tabnav-extra:hover {
5427
5472
  margin-bottom: var(--base-size-4);
5428
5473
  font-size: var(--text-title-size-medium);
5429
5474
  font-weight: var(--text-title-weight-medium);
5475
+ text-wrap: balance;
5476
+ }
5477
+
5478
+ .blankslate-description {
5479
+ text-wrap: balance;
5430
5480
  }
5431
5481
 
5432
5482
  .blankslate-action {
@@ -6723,7 +6773,7 @@ select-panel dialog::backdrop {
6723
6773
  font-size: var(--text-body-size-medium);
6724
6774
  font-weight: var(--base-text-weight-medium);
6725
6775
  /* stylelint-disable-next-line primer/typography */
6726
- line-height: var(--control-medium-lineBoxHeight);
6776
+ line-height: var(--base-size-20);
6727
6777
  text-align: center;
6728
6778
  white-space: nowrap;
6729
6779
  /* stylelint-disable-next-line primer/borders */
@@ -6734,7 +6784,6 @@ select-panel dialog::backdrop {
6734
6784
  .State,
6735
6785
  .State--draft {
6736
6786
  color: var(--fgColor-onEmphasis);
6737
- /* stylelint-disable-next-line primer/colors */
6738
6787
  background-color: var(--bgColor-draft-emphasis, var(--bgColor-neutral-emphasis));
6739
6788
  border: var(--borderWidth-thin) solid transparent;
6740
6789
  box-shadow: var(--boxShadow-thin) var(--borderColor-draft-emphasis, var(--borderColor-neutral-emphasis));
@@ -6930,7 +6979,8 @@ select-panel dialog::backdrop {
6930
6979
  .TimelineItem-body {
6931
6980
  min-width: 0;
6932
6981
  max-width: 100%;
6933
- margin-top: var(--base-size-4);
6982
+ /* stylelint-disable-next-line primer/spacing */
6983
+ margin-top: calc(var(--base-size-4) + 1px);
6934
6984
  color: var(--fgColor-muted);
6935
6985
  flex: auto;
6936
6986
  }
@@ -7063,6 +7113,47 @@ select-panel dialog::backdrop {
7063
7113
 
7064
7114
  /* OP specifics */
7065
7115
 
7116
+ /* stylelint-disable selector-max-type, selector-max-specificity */
7117
+
7118
+ /* Type selectors are required for the avatar-fallback custom element wrapper.
7119
+ Specificity overrides are needed to properly style nested avatar stacking. */
7120
+
7121
+ /* OpenProject AvatarStack - styles for avatar-fallback wrapper elements */
7122
+
7123
+ /* Make avatar-fallback invisible to layout - inner img acts as direct child */
7124
+
7125
+ .AvatarStack-body avatar-fallback {
7126
+ display: contents;
7127
+ }
7128
+
7129
+ /*
7130
+ * Z-index stacking for avatars inside avatar-fallback wrappers.
7131
+ * The base CSS uses .avatar:first-child/:last-child but those selectors
7132
+ * don't match when .avatar is inside avatar-fallback (not a direct child).
7133
+ */
7134
+
7135
+ .AvatarStack-body avatar-fallback:first-child .avatar {
7136
+ z-index: 3;
7137
+ }
7138
+
7139
+ .AvatarStack-body avatar-fallback:nth-child(2) .avatar {
7140
+ z-index: 2;
7141
+ }
7142
+
7143
+ /* Hide 4th+ wrapped avatars */
7144
+
7145
+ .AvatarStack-body avatar-fallback:nth-child(n + 4) {
7146
+ display: none;
7147
+ opacity: 0;
7148
+ }
7149
+
7150
+ /* Show all on hover/focus */
7151
+
7152
+ :is(.AvatarStack-body:hover:not([data-disable-expand]),.AvatarStack-body:focus-within:not([data-disable-expand])) avatar-fallback:nth-child(n + 4) {
7153
+ display: contents;
7154
+ opacity: 1;
7155
+ }
7156
+
7066
7157
  /* OP PageHeader */
7067
7158
 
7068
7159
  .PageHeader {
@@ -7135,6 +7226,39 @@ select-panel dialog::backdrop {
7135
7226
  justify-content: flex-end;
7136
7227
  display: flex;
7137
7228
  align-items: center;
7229
+ color: var(--fgColor-default);
7230
+ }
7231
+
7232
+ /* OpenProject legacy form markup inside header actions: match Primer / dark theme */
7233
+
7234
+ .PageHeader-actions .form--label {
7235
+ color: var(--fgColor-muted);
7236
+ min-width: 0;
7237
+ max-width: none;
7238
+ flex-grow: 0;
7239
+ padding: 0;
7240
+ margin: 0;
7241
+ white-space: nowrap;
7242
+ font-size: var(--text-body-size-medium);
7243
+ line-height: var(--control-medium-lineBoxHeight);
7244
+ }
7245
+
7246
+ .PageHeader-actions select.form--select {
7247
+ color: var(--fgColor-default);
7248
+ background-color: var(--control-bgColor-rest);
7249
+ border-color: var(--borderColor-default);
7250
+ }
7251
+
7252
+ .PageHeader-actions select.form--select:focus,
7253
+ .PageHeader-actions select.form--select:active {
7254
+ border-color: var(--fgColor-accent);
7255
+ outline: none;
7256
+ }
7257
+
7258
+ .PageHeader-actions select.form--select option,
7259
+ .PageHeader-actions select.form--select optgroup {
7260
+ background-color: var(--bgColor-default);
7261
+ color: var(--fgColor-default);
7138
7262
  }
7139
7263
 
7140
7264
  .PageHeader-breadcrumbs {
@@ -7159,11 +7283,15 @@ select-panel dialog::backdrop {
7159
7283
  }
7160
7284
  }
7161
7285
 
7162
- /* Match the title bar height with the toggle menu button for proper vertical alignment */
7286
+ /* Match the title bar and actions height with the toggle menu button for proper vertical alignment */
7163
7287
 
7164
7288
  .PageHeader--noBreadcrumb .PageHeader-titleBar {
7165
- line-height: var(--control-small-size);
7166
- }
7289
+ line-height: var(--control-small-size);
7290
+ }
7291
+
7292
+ .PageHeader--noBreadcrumb .PageHeader-actions {
7293
+ height: var(--control-small-size);
7294
+ }
7167
7295
 
7168
7296
  /* CSS for DragHandle */
7169
7297
 
@@ -7236,6 +7364,49 @@ select-panel dialog::backdrop {
7236
7364
  max-width: min(960px, 100vw - 2rem);
7237
7365
  }
7238
7366
 
7367
+ .InlineMessage {
7368
+ display: grid;
7369
+ /* stylelint-disable-next-line primer/typography */
7370
+ font-size: var(--inline-message-fontSize);
7371
+ /* stylelint-disable-next-line primer/typography */
7372
+ line-height: var(--inline-message-lineHeight);
7373
+ /* stylelint-disable-next-line primer/colors */
7374
+ color: var(--inline-message-fgColor);
7375
+ column-gap: 0.5rem;
7376
+ grid-template-columns: auto 1fr;
7377
+ align-items: start;
7378
+ }
7379
+
7380
+ .InlineMessage[data-size='small'] {
7381
+ --inline-message-fontSize: var(--text-body-size-small);
7382
+ --inline-message-lineHeight: var(--text-body-lineHeight-small, 1.6666);
7383
+ }
7384
+
7385
+ .InlineMessage[data-size='medium'] {
7386
+ --inline-message-fontSize: var(--text-body-size-medium);
7387
+ --inline-message-lineHeight: var(--text-body-lineHeight-medium, 1.4285);
7388
+ }
7389
+
7390
+ .InlineMessage[data-variant='warning'] {
7391
+ --inline-message-fgColor: var(--fgColor-attention);
7392
+ }
7393
+
7394
+ .InlineMessage[data-variant='critical'] {
7395
+ --inline-message-fgColor: var(--fgColor-danger);
7396
+ }
7397
+
7398
+ .InlineMessage[data-variant='success'] {
7399
+ --inline-message-fgColor: var(--fgColor-success);
7400
+ }
7401
+
7402
+ .InlineMessage[data-variant='unavailable'] {
7403
+ --inline-message-fgColor: var(--fgColor-muted);
7404
+ }
7405
+
7406
+ .InlineMessageIcon {
7407
+ min-height: calc(var(--inline-message-lineHeight) * var(--inline-message-fontSize));
7408
+ }
7409
+
7239
7410
  /* CSS for SubHeader */
7240
7411
 
7241
7412
  .SubHeader {
@@ -7349,23 +7520,85 @@ select-panel dialog::backdrop {
7349
7520
  /* CSS for BorderBox::CollapsibleHeader */
7350
7521
 
7351
7522
  .CollapsibleHeader {
7352
- cursor: pointer;
7353
- display: flex;
7354
- align-items: center;
7523
+ display: block;
7524
+ container-name: collapsible-header-container;
7525
+ container-type: inline-size;
7355
7526
  }
7356
7527
 
7357
7528
  .Box:has(.CollapsibleHeader--collapsed) {
7358
- border-bottom-left-radius: 0;
7359
- border-bottom-right-radius: 0;
7360
- border-bottom-width: var(--borderWidth-thicker);
7529
+ border-bottom-left-radius: 0;
7530
+ border-bottom-right-radius: 0;
7531
+ border-bottom-width: var(--borderWidth-thicker);
7361
7532
  }
7362
7533
 
7363
- .Box:has(.CollapsibleHeader--collapsed) .Box-row,.Box:has(.CollapsibleHeader--collapsed) .Box-body,.Box:has(.CollapsibleHeader--collapsed) .Box-footer {
7364
- display: none;
7365
- }
7534
+ .Box:has(.CollapsibleHeader--collapsed) .Box-list,.Box:has(.CollapsibleHeader--collapsed) .Box-body,.Box:has(.CollapsibleHeader--collapsed) .Box-footer {
7535
+ display: none;
7536
+ }
7537
+
7538
+ .CollapsibleHeader-triggerArea {
7539
+ cursor: pointer;
7540
+ -webkit-user-select: none;
7541
+ user-select: none;
7542
+ display: flex;
7543
+ flex-wrap: nowrap;
7544
+ align-items: center;
7545
+ column-gap: var(--stack-gap-normal);
7546
+ row-gap: var(--base-size-4);
7547
+ overflow: hidden;
7548
+ }
7549
+
7550
+ .CollapsibleHeader > .CollapsibleHeader-triggerArea {
7551
+ flex: 1;
7552
+ }
7553
+
7554
+ @container collapsible-header-container (width < 544px) {
7555
+ .CollapsibleHeader-triggerArea {
7556
+ flex-direction: column;
7557
+ align-items: flex-start;
7558
+ }
7366
7559
 
7367
- .CollapsibleHeader--triggerArea {
7560
+ .CollapsibleHeader[data-collapsed] .CollapsibleHeader-description {
7561
+ display: none;
7562
+ }
7563
+
7564
+ .CollapsibleHeader-description {
7368
7565
  width: 100%;
7566
+ }
7567
+ }
7568
+
7569
+ .CollapsibleHeader--multi-line .CollapsibleHeader-triggerArea {
7570
+ flex-direction: column;
7571
+ align-items: flex-start;
7572
+ }
7573
+
7574
+ .CollapsibleHeader--multi-line.CollapsibleHeader[data-collapsed] .CollapsibleHeader-description {
7575
+ display: none;
7576
+ }
7577
+
7578
+ .CollapsibleHeader--multi-line .CollapsibleHeader-description {
7579
+ overflow: visible;
7580
+ text-overflow: initial;
7581
+ white-space: normal;
7582
+ width: 100%;
7583
+ }
7584
+
7585
+ .CollapsibleHeader-title-line {
7586
+ flex-basis: 66%;
7587
+ display: flex;
7588
+ align-items: center;
7589
+ gap: var(--stack-gap-condensed);
7590
+ overflow: hidden;
7591
+ max-width: 100%;
7592
+ }
7593
+
7594
+ .CollapsibleHeader-description {
7595
+ flex: 1;
7596
+ min-width: 0;
7597
+ overflow: hidden;
7598
+ text-overflow: ellipsis;
7599
+ white-space: nowrap;
7600
+ -webkit-user-select: text;
7601
+ user-select: text;
7369
7602
  }
7370
7603
 
7371
7604
  /* CSS for CollapsibleSection */
@@ -7373,3 +7606,91 @@ select-panel dialog::backdrop {
7373
7606
  .CollapsibleSection--triggerArea {
7374
7607
  cursor: pointer;
7375
7608
  }
7609
+
7610
+ .Page {
7611
+ min-width: var(--base-size-32);
7612
+ height: var(--base-size-32);
7613
+ padding: var(--base-size-8) var(--base-size-6);
7614
+ margin-right: var(--base-size-4);
7615
+ color: var(--fgColor-default);
7616
+ white-space: nowrap;
7617
+ vertical-align: middle;
7618
+ cursor: pointer;
7619
+ border-radius: var(--borderRadius-medium,.375rem);
7620
+ transition: background-color 0.2s cubic-bezier(0.3, 0, 0.5, 1);
7621
+ display: inline-flex;
7622
+ align-items: center;
7623
+ justify-content: center;
7624
+ }
7625
+
7626
+ .Page[rel='prev'] > svg,
7627
+ .Page[rel='next'] > svg {
7628
+ height: var(--base-size-16);
7629
+ width: var(--base-size-16);
7630
+ }
7631
+
7632
+ .Page[rel='prev'] > svg {
7633
+ margin-inline-end: var(--base-size-4);
7634
+ }
7635
+
7636
+ .Page[rel='next'] > svg {
7637
+ margin-inline-start: var(--base-size-4);
7638
+ }
7639
+
7640
+ .Page:last-child {
7641
+ margin-right: 0;
7642
+ }
7643
+
7644
+ .Page:hover,
7645
+ .Page:focus {
7646
+ -webkit-text-decoration: none;
7647
+ text-decoration: none;
7648
+ background-color: var(--control-transparent-bgColor-hover);
7649
+ outline: 0;
7650
+ transition-duration: 0.1s;
7651
+ }
7652
+
7653
+ .Page:focus-visible {
7654
+ outline: 2px solid var(--bgColor-accent-emphasis);
7655
+ }
7656
+
7657
+ .Page:active {
7658
+ border-color: var(--borderColor-muted);
7659
+ }
7660
+
7661
+ .Page[rel='prev'],
7662
+ .Page[rel='next'] {
7663
+ color: var(--fgColor-accent);
7664
+ }
7665
+
7666
+ .Page[aria-current],
7667
+ .Page[aria-current]:hover {
7668
+ color: var(--fgColor-onEmphasis);
7669
+ background-color: var(--bgColor-accent-emphasis);
7670
+ border-color: transparent;
7671
+ }
7672
+
7673
+ .Page[aria-current]:focus-visible {
7674
+ outline: 2px solid var(--bgColor-accent-emphasis);
7675
+ box-shadow: inset 0 0 0 var(--base-size-2) var(--fgColor-onEmphasis);
7676
+ }
7677
+
7678
+ .Page[aria-hidden],
7679
+ .Page[aria-hidden]:hover,
7680
+ .Page[role='presentation'],
7681
+ .Page[role='presentation']:hover {
7682
+ color: var(--fgColor-disabled);
7683
+ cursor: default;
7684
+ background-color: transparent;
7685
+ }
7686
+
7687
+ .PaginationContainer {
7688
+ margin: var(--base-size-16) 0;
7689
+ text-align: center;
7690
+ }
7691
+
7692
+ @media (max-width: 543.98px){
7693
+ .Page:not([rel='prev']):not([rel='next']) {
7694
+ display: none;
7695
+ }
7696
+ }