<commit_before>@import "../../themes/ionic.globals";

// Content
// --------------------------------------------------

:host {
  /**
   * @prop --background: Background of the content
   *
   * @prop --color: Color of the content
   *
   * @prop --padding-top: Top padding of the content
   * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the content
   * @prop --padding-bottom: Bottom padding of the content
   * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the content
   *
   * @prop --keyboard-offset: Keyboard offset of the content
   *
   * @prop --offset-top: Offset top of the content
   * @prop --offset-bottom: Offset bottom of the content
   */
  --background: #{$background-color};
  --color: #{$text-color};
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-start: 0px;
  --padding-end: 0px;
  --keyboard-offset: 0px;
  --offset-top: 0px;
  --offset-bottom: 0px;
  --overflow: auto;

  display: block;
  position: relative;

  flex: 1;

  width: 100%;
  height: 100%;

  /* stylelint-disable */
  margin: 0 !important;

  padding: 0 !important;
  /* stylelint-enable */

  font-family: $font-family-base;

  contain: size style;
}

:host(.ion-color) .inner-scroll {
  background: current-color(base);
  color: current-color(contrast);
}

// TODO we should remove outer-content in favor of a color
:host(.outer-content) {
  --background: #{$background-color-step-50};
}

#background-content {
  @include position(calc(var(--offset-top) * -1), 0px,calc(var(--offset-bottom) * -1), 0px);

  position: absolute;

  background: var(--background);
}

.inner-scroll {
  @include position(calc(var(--offset-top) * -1), 0px,calc(var(--offset-bottom) * -1), 0px);
  @include padding(calc(var(--padding-top) + var(--offset-top)), var(--padding-end), calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom)), var(--padding-start));

  position: absolute;

  color: var(--color);

  box-sizing: border-box;

  overflow: hidden;
}

.scroll-y,
.scroll-x {
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
  overscroll-behavior: contain;
}

.scroll-y {
  touch-action: pan-y;
  overflow-y: var(--overflow);
}

.scroll-x {
  touch-action: pan-x;
  overflow-x: var(--overflow);
}

.scroll-x.scroll-y {
  touch-action: auto;
}

.overscroll::before,
.overscroll::after {<commit_msg>fix(content): set overscroll-behavior based on the scroll direction (#20011)<commit_after>@import "../../themes/ionic.globals";

// Content
// --------------------------------------------------

:host {
  /**
   * @prop --background: Background of the content
   *
   * @prop --color: Color of the content
   *
   * @prop --padding-top: Top padding of the content
   * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the content
   * @prop --padding-bottom: Bottom padding of the content
   * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the content
   *
   * @prop --keyboard-offset: Keyboard offset of the content
   *
   * @prop --offset-top: Offset top of the content
   * @prop --offset-bottom: Offset bottom of the content
   */
  --background: #{$background-color};
  --color: #{$text-color};
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-start: 0px;
  --padding-end: 0px;
  --keyboard-offset: 0px;
  --offset-top: 0px;
  --offset-bottom: 0px;
  --overflow: auto;

  display: block;
  position: relative;

  flex: 1;

  width: 100%;
  height: 100%;

  /* stylelint-disable */
  margin: 0 !important;

  padding: 0 !important;
  /* stylelint-enable */

  font-family: $font-family-base;

  contain: size style;
}

:host(.ion-color) .inner-scroll {
  background: current-color(base);
  color: current-color(contrast);
}

// TODO we should remove outer-content in favor of a color
:host(.outer-content) {
  --background: #{$background-color-step-50};
}

#background-content {
  @include position(calc(var(--offset-top) * -1), 0px,calc(var(--offset-bottom) * -1), 0px);

  position: absolute;

  background: var(--background);
}

.inner-scroll {
  @include position(calc(var(--offset-top) * -1), 0px,calc(var(--offset-bottom) * -1), 0px);
  @include padding(calc(var(--padding-top) + var(--offset-top)), var(--padding-end), calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom)), var(--padding-start));

  position: absolute;

  color: var(--color);

  box-sizing: border-box;

  overflow: hidden;
}

.scroll-y,
.scroll-x {
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
}

.scroll-y {
  touch-action: pan-y;
  overflow-y: var(--overflow);
  overscroll-behavior-y: contain;
}

.scroll-x {
  touch-action: pan-x;
  overflow-x: var(--overflow);
  overscroll-behavior-x: contain;
}

.scroll-x.scroll-y {
  touch-action: auto;
}

.overscroll::before,
.overscroll::after {
{'fraction_non_alphanumeric': 0.18947368421052632, 'fraction_numerical': 0.011320754716981131, 'mean_word_length': 2.931303669008587, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '355116', 'n_tokens_mistral': 1787, 'n_tokens_neox': 1692, 'n_words': 422}