Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(kit): InputSlider refactor to new Textfield #10288

Open
wants to merge 20 commits into
base: main
Choose a base branch
from

Conversation

nsbarsukov
Copy link
Member

@nsbarsukov nsbarsukov commented Jan 30, 2025

<tui-textfield tuiInputSlider [(ngModel)]="value">
  <input
    tuiInputNumber
    prefix="$"
    postfix="%"
    [min]="0"
    [max]="100"
    [tuiNumberFormat]="{precision: 3}"
  />

  <input
    tuiSlider
    type="range"
    [keySteps]="keySteps"
    [segments]="segments"
    [step]="step"
  />
</tui-textfield>

@nsbarsukov nsbarsukov self-assigned this Jan 30, 2025
Copy link

lumberjack-bot bot commented Jan 30, 2025

Failed tests ❌

Before (main) ← Diff → After (local)

tests-kit-slider-slider.pw-49273-e-value-formController-1000-chromium-retry2/08-slider-formControl-1000.diff.png
tests-kit-slider-slider.pw-58856-ge-value-formController-750-chromium-retry2/08-slider-formControl-750.diff.png
tests-kit-slider-slider.pw-58d4c-ge-value-formController-500-chromium-retry2/08-slider-formControl-500.diff.png
tests-kit-slider-slider.pw-b2ca8-ange-value-formController-0-chromium-retry2/08-slider-formControl-0.diff.png
tests-kit-input-slider-inp-64258-stfix-input-is-NOT-focused--chromium-retry2/input-slider-content-visible.diff.png
tests-demo-demo.pw-Demo-components-input-slider-chromium-retry2/components-input-slider/1.diff.png
tests-demo-demo.pw-Demo-components-slider-chromium-retry2/components-slider/3.diff.png
tests-demo-demo.pw-Demo-components-input-slider-webkit-retry2/components-input-slider/1.diff.png
tests-demo-demo.pw-Demo-components-slider-webkit-retry2/components-slider/3.diff.png
tests-kit-input-slider-inp-64258-stfix-input-is-NOT-focused--webkit-retry2/input-slider-content-visible.diff.png
tests-kit-slider-slider.pw-49273-e-value-formController-1000-webkit-retry2/08-slider-formControl-1000.diff.png
tests-kit-slider-slider.pw-58856-ge-value-formController-750-webkit-retry2/08-slider-formControl-750.diff.png
tests-kit-slider-slider.pw-58d4c-ge-value-formController-500-webkit-retry2/08-slider-formControl-500.diff.png
tests-kit-slider-slider.pw-b2ca8-ange-value-formController-0-webkit-retry2/08-slider-formControl-0.diff.png

(updated for commit fa0f7a9)

Copy link
Contributor

github-actions bot commented Jan 30, 2025

Visit the preview URL for this PR (updated for commit fa0f7a9):

https://taiga-previews-demo--pr10288-new-input-slider-demo-dzrh1ind.web.app

(expires Fri, 14 Feb 2025 14:28:33 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 73dddc3c665194f3e11f18c16aeb71af4c289c37

Copy link

codecov bot commented Jan 30, 2025

Codecov Report

Attention: Patch coverage is 40.38462% with 62 lines in your changes missing coverage. Please review.

Project coverage is 65.48%. Comparing base (15da31b) to head (fa0f7a9).
Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
.../components/input-slider/input-slider.component.ts 16.66% 45 Missing ⚠️
projects/cdk/classes/value-transformer.ts 20.00% 4 Missing ⚠️
.../components/input-number/input-number.component.ts 0.00% 4 Missing ⚠️
projects/kit/components/slider/slider.component.ts 0.00% 4 Missing ⚠️
projects/cdk/classes/control.ts 0.00% 2 Missing ⚠️
...rojects/kit/components/slider/helpers/key-steps.ts 66.66% 2 Missing ⚠️
...nents/slider/helpers/slider-key-steps.directive.ts 95.23% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10288      +/-   ##
==========================================
- Coverage   65.65%   65.48%   -0.17%     
==========================================
  Files        1246     1249       +3     
  Lines       16308    16388      +80     
  Branches     2352     2383      +31     
==========================================
+ Hits        10707    10732      +25     
- Misses       5391     5490      +99     
+ Partials      210      166      -44     
Flag Coverage Δ
summary 65.48% <40.38%> (-0.17%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

bundlemon bot commented Jan 30, 2025

BundleMon

Files updated (2)
Status Path Size Limits
demo/browser/main.(hash).js
311.22KB (+1.11KB +0.36%) +10%
demo/browser/runtime.(hash).js
47.16KB (+216B +0.45%) +10%
Unchanged files (3)
Status Path Size Limits
demo/browser/vendor.(hash).js
260.29KB +10%
demo/browser/styles.(hash).css
20.93KB +10%
demo/browser/polyfills.(hash).js
11.18KB +10%

Total files change +1.32KB +0.2%

Groups updated (1)
Status Path Size Limits
demo/browser/*..js
8.08MB (+73.27KB +0.89%) -

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@nsbarsukov nsbarsukov force-pushed the new-input-slider branch 2 times, most recently from 8d5e2c5 to 8c0c7df Compare January 31, 2025 09:26
@nsbarsukov nsbarsukov changed the title [WIP] feat(kit): new version of InputSlider [WIP] feat(kit): InputSlider refactor to new Textfield Feb 3, 2025
@nsbarsukov nsbarsukov force-pushed the new-input-slider branch 2 times, most recently from 18e15b8 to 55b4fb8 Compare February 3, 2025 14:43
protected onStep(coefficient: number): void {
const slider = this.slider();

if (this.textfield.focused() && slider) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When can it not be focused? Why do we use slider value? Can we just use value?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When can it not be focused?

You are right. I'll drop this check

Why do we use slider value? Can we just use value?

Unfortunately, it is required for [keySteps]-case

private readonly slider = signal<TuiSliderComponent | null>(null);
protected readonly textfield = inject(TuiTextfieldComponent);

protected min = computed(() => this.inputNumber()?.min() ?? 0);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wish we could get rid of this trick somehow, since because we use computed here we have a mess with types inside slider

);

return (newValuePercentage * (max - min)) / 100 + min;
public set keySteps(steps: TuiKeySteps) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can maybe inject the other directive and use its transformer instead of this setter?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be overwritten on every input change.
I could use effect instead.

Is this solution is better

private readonly keyStepsBase = inject(TuiSliderKeyStepsBase);
protected readonly $ = effect(
    () => (this.transformer = this.keyStepsBase.transformer()),
);

than this one ?

private readonly slider = inject<TuiSliderComponent>(
    forwardRef(() => TuiSliderComponent),
);

@Input()
public set keySteps(steps: TuiKeySteps) {
    this.transformer = tuiCreateKeyStepsTransformer(steps, this.slider);
}


public get max(): number {
return Number(this.el.max || 100);
return (range && (this.value - this.min()) / range) || 0;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why change that part? Seemed easier to read as a one-liner to me :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Native slider behaves in the such way

it('is set to zero when `min`-property equals to `max`-property', () => {
testComponent.min = 25;
testComponent.max = 25;
testComponent.formController = new FormControl(25);
fixture.detectChanges();
expect(testComponent.formControllerComponentRef.valueRatio).toBe(0);
expect(
getFillPercentage(
testComponent.formControllerElementRef.nativeElement,
'0%',
),
).toBe('0%');

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I mean why moving range in a separate const? Why not:

return (this.value - this.min()) / (this.max() - this.min()) || 0;

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not interchangeable code.
If this.max() - this.min() return 0 => all division returns Infinity.

projects/kit/components/slider/slider.component.ts Outdated Show resolved Hide resolved
projects/kit/components/slider/slider.component.ts Outdated Show resolved Hide resolved
@nsbarsukov nsbarsukov force-pushed the new-input-slider branch 2 times, most recently from ddca910 to d27417d Compare February 6, 2025 13:02
@nsbarsukov nsbarsukov changed the title [WIP] feat(kit): InputSlider refactor to new Textfield feat(kit): InputSlider refactor to new Textfield Feb 6, 2025
Copy link
Contributor

github-actions bot commented Feb 7, 2025

Playwright test results

failed  48 failed
passed  2046 passed
flaky  1 flaky
skipped  83 skipped

Details

report  Open report ↗︎
stats  2178 tests across 73 suites
duration  43 minutes, 56 seconds
commit  05c1843

Failed tests

chromium › tests/deep/deep-select.pw.spec.ts › Deep / Select › /components/input-slider
chromium › tests/deep/deep-select.pw.spec.ts › Deep / Select › /legacy/input-slider
webkit › tests/deep/deep-select.pw.spec.ts › Deep / Select › /components/input-slider
webkit › tests/deep/deep-select.pw.spec.ts › Deep / Select › /legacy/input-slider
chromium › tests/deep/deep-toggle.pw.spec.ts › Deep / Toggle › /components/input-slider
chromium › tests/deep/deep-toggle.pw.spec.ts › Deep / Toggle › /legacy/input-slider
webkit › tests/deep/deep-toggle.pw.spec.ts › Deep / Toggle › /components/input-slider
webkit › tests/deep/deep-toggle.pw.spec.ts › Deep / Toggle › /legacy/input-slider
chromium › tests/demo/demo.pw.spec.ts › Demo › /components/input-slider
chromium › tests/demo/demo.pw.spec.ts › Demo › /legacy/input-slider
chromium › tests/demo/demo.pw.spec.ts › Demo › /components/slider
webkit › tests/demo/demo.pw.spec.ts › Demo › /components/input-slider
webkit › tests/demo/demo.pw.spec.ts › Demo › /legacy/input-slider
webkit › tests/demo/demo.pw.spec.ts › Demo › /components/slider
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › positive numbers › cannot type number less than [min] property
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › positive numbers › cannot even type minus if [min] is positive
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › positive numbers › cannot set value less than [min] using ArrowDown
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › positive numbers › cannot type number less than [min] property
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › positive numbers › cannot even type minus if [min] is positive
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › positive numbers › cannot set value less than [min] using ArrowDown
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › negative numbers › can type negative number more than [min]
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › negative numbers › cannot type negative number less than [min]
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › negative numbers › can type negative number more than [min]
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › negative numbers › cannot type negative number less than [min]
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › if [min]-property equals to [max]-property › pressing ArrowUp does not change value
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › if [min]-property equals to [max]-property › pressing ArrowDown does not change value
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › if [min]-property equals to [max]-property › pressing ArrowUp does not change value
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [min] prop › if [min]-property equals to [max]-property › pressing ArrowDown does not change value
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [disabled] prop › disables both textfield and slider when host component has disabled state
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [disabled] prop › disables both textfield and slider when host component has disabled state
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [readonly] prop › keyboard arrows ArrowUp/ArrowDown does not change textfield/slider value
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › [readonly] prop › keyboard arrows ArrowUp/ArrowDown does not change textfield/slider value
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › props › [content] prop › hide [content] when input is focused
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › props › [content] prop › [content] is not overlapped by [prefix]/[postfix] (input is NOT focused)
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › props › [content] prop › hide [content] when input is focused
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › props › [content] prop › [content] is not overlapped by [prefix]/[postfix] (input is NOT focused)
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › textfield => slider synchronization › typing new value inside text input also change slider position
chromium › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › textfield => slider synchronization › pressing ArrowUp/ArrowDown change textfield value and slider position
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › textfield => slider synchronization › typing new value inside text input also change slider position
webkit › tests/kit/input-slider/input-slider.pw.spec.ts › InputSlider › textfield => slider synchronization › pressing ArrowUp/ArrowDown change textfield value and slider position
chromium › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › formController › => 0
chromium › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › formController › => 500
chromium › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › formController › => 750
chromium › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › formController › => 1000
webkit › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › formController › => 0
webkit › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › formController › => 500
webkit › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › formController › => 750
webkit › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › formController › => 1000

Flaky tests

webkit › tests/demo/demo.pw.spec.ts › Demo › /layout/card-medium

Skipped tests

webkit › tests/addon-commerce/input-card-group.pw.spec.ts › InputCardGroup › Examples › input card grouped with validation
webkit › tests/addon-commerce/input-card-group.pw.spec.ts › InputCardGroup › Examples › input card grouped with saved cards
webkit › tests/addon-commerce/input-card-group.pw.spec.ts › InputCardGroup › Examples › expired field should be clickable after reset of prefilled value
webkit › tests/addon-doc/navigation.pw.spec.ts › Navigation › anchor links navigation works › scroll to "tui-doc-example"
webkit › tests/addon-doc/navigation.pw.spec.ts › Navigation › anchor links navigation works › scroll to "tui-doc-code"
webkit › tests/addon-doc/navigation.pw.spec.ts › Navigation › anchor links navigation works › scroll after click on link with anchor
webkit › tests/addon-doc/navigation.pw.spec.ts › Navigation › getting started / [light mode]
webkit › tests/addon-doc/navigation.pw.spec.ts › Navigation › getting started / [dark mode]
webkit › tests/core/data-list/data-list.pw.spec.ts › DataList › Submenu
webkit › tests/core/data-list/data-list.pw.spec.ts › DataList › Form control
webkit › tests/core/data-list/data-list.pw.spec.ts › DataList › Complex
webkit › tests/core/data-list/data-list.pw.spec.ts › DataList › Options with long text
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › Dialog with confirmation works › Prompt
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › Dialog with confirmation works › Pristine form does not show confirmation
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › Dialog with confirmation works › Dirty form shows confirmation
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › Dialog with confirmation works › Form is reset to pristine
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › A dialog and a nested dialog are open correctly
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › Mobile dialog works
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › Dialog with directive works
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › Show simple
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 320x480 › Show simple + custom button
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › Dialog with confirmation works › Prompt
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › Dialog with confirmation works › Pristine form does not show confirmation
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › Dialog with confirmation works › Dirty form shows confirmation
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › Dialog with confirmation works › Form is reset to pristine
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › A dialog and a nested dialog are open correctly
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › Mobile dialog works
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › Dialog with directive works
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › Show simple
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 720x900 › Show simple + custom button
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › Dialog with confirmation works › Prompt
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › Dialog with confirmation works › Pristine form does not show confirmation
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › Dialog with confirmation works › Dirty form shows confirmation
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › Dialog with confirmation works › Form is reset to pristine
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › A dialog and a nested dialog are open correctly
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › Mobile dialog works
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › Dialog with directive works
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › Show simple
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1024x900 › Show simple + custom button
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › Dialog with confirmation works › Prompt
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › Dialog with confirmation works › Pristine form does not show confirmation
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › Dialog with confirmation works › Dirty form shows confirmation
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › Dialog with confirmation works › Form is reset to pristine
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › A dialog and a nested dialog are open correctly
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › Mobile dialog works
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › Dialog with directive works
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › Show simple
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › 1620x1024 › Show simple + custom button
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › Prompt - 320x480
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › Prompt - 720x900
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › Prompt - 1024x900
webkit › tests/core/dialogs/dialogs.pw.spec.ts › Dialogs › Prompt - 1620x1024
webkit › tests/core/surface/surface.pw.spec.ts › Surface › Layers
webkit › tests/kit/carousel/carousel.pw.spec.ts › Carousel › should show next item after drag
webkit › tests/kit/dropdown-hover/dropdown-hover.pw.spec.ts › DropdownHover › Examples › With DropdownMobile › Closes dropdown on click on overlay
webkit › tests/kit/dropdown-hover/dropdown-hover.pw.spec.ts › DropdownHover › Examples › With DropdownMobile › Opens mobile version of dropdown on the 2nd time click
webkit › tests/kit/input-number/input-number.pw.spec.ts › InputNumber › API › [prefix] & [postfix] props › [prefix]="$" & [postfix]="" › textfield does not contain any digit (only suffixes) => clear inputNumber.textfield value on blur
webkit › tests/kit/input-number/input-number.pw.spec.ts › InputNumber › API › [prefix] & [postfix] props › [prefix]="" & [postfix]="kg" › textfield does not contain any digit (only suffixes) => clear inputNumber.textfield value on blur
webkit › tests/kit/input-number/input-number.pw.spec.ts › InputNumber › API › [prefix] & [postfix] props › [prefix]="$" & [postfix]="kg" › textfield does not contain any digit (only suffixes) => clear inputNumber.textfield value on blur
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › change selected range on click › click on the beginning of the track changes only nearest (left) slider
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › change selected range on click › click on the end of the track changes only nearest (right) slider
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › change selected range on click › click between two thumbs triggers only nearest thumb
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › basic range (from 0 to 1000 with 250 steps). Initial value [0, 250] › pressing of Arrow Right increases by one step (after focus on right slider)
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › basic range (from 0 to 1000 with 250 steps). Initial value [0, 250] › pressing of Arrow Right increases by one step (after focus on left slider)
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › basic range (from 0 to 1000 with 250 steps). Initial value [0, 250] › pressing of Arrow Left decreases by one step (after setting right thumb active via click)
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › basic range (from 0 to 1000 with 250 steps). Initial value [0, 250] › cannot set left thumb more than right thumb (by Arrow Right)
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › basic range (from 0 to 1000 with 250 steps). Initial value [0, 250] › cannot set right thumb less than left thumb (by ArrowLeft)
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › range with keySteps (from 0 to 1M) with 8 steps. Initial value [0, 100_000] › ArrowUp increases value of the focused slider
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › range with keySteps (from 0 to 1M) with 8 steps. Initial value [0, 100_000] › ArrowDown decreases value of the focused slider
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › range with keySteps (from 0 to 1M) with 8 steps. Initial value [0, 100_000] › cannot set position of the LEFT slider MORE THAN position of the RIGHT slider (by ArrowUp)
webkit › tests/kit/range/range.pw.spec.ts › TuiRange › examples page › keyboard interactions › range with keySteps (from 0 to 1M) with 8 steps. Initial value [0, 100_000] › cannot set position of the RIGHT slider LESS THAN position of the LEFT slider (by ArrowDown)
webkit › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › ngModel › decrease value by 1 step
webkit › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › ngModel › increase value by 1 step
webkit › tests/kit/slider/slider.pw.spec.ts › Slider › programmatically change value › ngModel › increase value by 2 steps
webkit › tests/kit/tabs/tabs.pw.spec.ts › Tabs › Examples › complex › no extra margin after the last tab
webkit › tests/kit/tabs/tabs.pw.spec.ts › Tabs › Examples › complex › shows only a single dropdown for the nested item (with [tuiDropdown]) inside more section
webkit › tests/layout/navigation.pw.spec.ts › Navigation › Show settings in aside
webkit › tests/layout/navigation.pw.spec.ts › Navigation › Show hint in aside
webkit › tests/layout/navigation.pw.spec.ts › Navigation › A12y
webkit › tests/legacy/input-time/input-time.pw.spec.ts › InputTime › API › items are passed › the dropdown is visible when the input is focused
webkit › tests/legacy/input-time/input-time.pw.spec.ts › InputTime › API › items are passed › the dropdown is configured for s size
webkit › tests/legacy/input-time/input-time.pw.spec.ts › InputTime › API › items are passed › the dropdown is configured for m size
webkit › tests/legacy/input-time/input-time.pw.spec.ts › InputTime › API › items are passed › the dropdown is configured for l size

@nsbarsukov nsbarsukov marked this pull request as ready for review February 10, 2025 10:07
@nsbarsukov nsbarsukov requested a review from a team as a code owner February 10, 2025 10:07
@nsbarsukov nsbarsukov requested review from MarsiBarsi, waterplea, vladimirpotekhin and mdlufy and removed request for a team February 10, 2025 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants