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

ErrorFormTooltip accessibility #4652

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

Conversation

domihustinova
Copy link
Contributor

@domihustinova domihustinova commented Mar 7, 2025

Part of https://kiwicom.atlassian.net/browse/FEPLT-2247

Description by Callstackai

This PR updates the ErrorFormTooltip component by removing the helpClosable prop and adjusting related components accordingly. It also includes updates to documentation and tests reflecting these changes.

Diagrams of code changes
sequenceDiagram
    participant User
    participant FormComponent
    participant ErrorFormTooltip
    participant Tooltip

    Note over FormComponent: Components affected:<br/>InputField, InputFile, InputGroup,<br/>InputSelect, Select, Textarea

    User->>FormComponent: Interacts with form component
    FormComponent->>ErrorFormTooltip: Shows help/error tooltip
    
    alt Help tooltip shown
        ErrorFormTooltip->>Tooltip: isHelp=true, shown=true
        Note over Tooltip: Tooltip closes on:<br/>1. Outside click<br/>2. Input blur
    else Error tooltip shown
        ErrorFormTooltip->>Tooltip: shown=true
        Note over Tooltip: Tooltip displays error message
    end

    Note over ErrorFormTooltip: Removed helpClosable prop<br/>Simplified tooltip behavior
    
    User->>FormComponent: Clicks outside or blurs input
    FormComponent->>ErrorFormTooltip: onShown(false)
    ErrorFormTooltip->>Tooltip: Hide tooltip
Loading
Files Changed
FileSummary
docs/src/documentation/05-development/04-migration-guides/01-v22.mdxAdded migration guide for transitioning from Orbit v21 to v22, detailing the removal of the helpClosable prop.
packages/orbit-components/src/ErrorFormTooltip/Tooltip/index.tsxRemoved helpClosable prop from ErrorFormTooltip and adjusted related logic.
packages/orbit-components/src/ErrorFormTooltip/__tests__/index.test.tsxUpdated tests to reflect the removal of the helpClosable prop.
packages/orbit-components/src/ErrorFormTooltip/types.d.tsRemoved helpClosable from the props interface.
packages/orbit-components/src/ErrorForms.stories.tsxRemoved helpClosable from story definitions.
packages/orbit-components/src/InputField/InputField.stories.tsxRemoved helpClosable from the InputField story.
packages/orbit-components/src/InputFile/InputFile.stories.tsxRemoved helpClosable from InputFile story.
packages/orbit-components/src/InputGroup/InputGroup.stories.tsxRemoved helpClosable from InputGroup story.
packages/orbit-components/src/InputSelect/InputSelect.stories.tsxRemoved helpClosable from InputSelect story.
packages/orbit-components/src/Textarea/Textarea.stories.tsxRemoved helpClosable from Textarea story.

This PR includes files in programming languages that we currently do not support. We have not reviewed files with the extensions .mdx, .md. See list of supported languages.

Copy link
Contributor

github-actions bot commented Mar 7, 2025

Storybook staging is available at https://kiwicom-orbit-domi-error-tooltip-a11y.surge.sh

Playroom staging is available at https://kiwicom-orbit-domi-error-tooltip-a11y.surge.sh/playroom

Copy link
Contributor

github-actions bot commented Mar 7, 2025

Size Change: -276 B (-0.06%)

Total Size: 463 kB

Filename Size Change
packages/orbit-components/lib/ErrorFormTooltip/index.js 394 B -13 B (-3.19%)
packages/orbit-components/lib/ErrorFormTooltip/Tooltip/index.js 1.45 kB -176 B (-10.86%) 👏
packages/orbit-components/lib/icons/ColoredImessage.js 695 B +2 B (+0.29%)
packages/orbit-components/lib/icons/ColoredTelegram.js 820 B -2 B (-0.24%)
packages/orbit-components/lib/InputField/index.js 2.76 kB -15 B (-0.54%)
packages/orbit-components/lib/InputFile/index.js 1.71 kB -11 B (-0.64%)
packages/orbit-components/lib/InputGroup/index.js 1.96 kB -19 B (-0.96%)
packages/orbit-components/lib/SegmentedSwitch/index.js 930 B -13 B (-1.38%)
packages/orbit-components/lib/Select/index.js 2.06 kB -14 B (-0.68%)
packages/orbit-components/lib/Textarea/index.js 1.44 kB -15 B (-1.03%)
ℹ️ View Unchanged
Filename Size
packages/orbit-components/lib/Accordion/AccordionContext.js 333 B
packages/orbit-components/lib/Accordion/AccordionSection/components/SectionContent.js 289 B
packages/orbit-components/lib/Accordion/AccordionSection/components/SectionFooter.js 420 B
packages/orbit-components/lib/Accordion/AccordionSection/components/SectionHeader.js 760 B
packages/orbit-components/lib/Accordion/AccordionSection/index.js 819 B
packages/orbit-components/lib/Accordion/index.js 652 B
packages/orbit-components/lib/AirportIllustration/index.js 354 B
packages/orbit-components/lib/Alert/AlertButton/consts.js 374 B
packages/orbit-components/lib/Alert/AlertButton/helpers/getAlertButtonBoxShadow.js 576 B
packages/orbit-components/lib/Alert/AlertButton/helpers/getAlertButtonIconForeground.js 267 B
packages/orbit-components/lib/Alert/AlertButton/helpers/getAlertButtonStyles.js 505 B
packages/orbit-components/lib/Alert/AlertButton/helpers/getAlertButtonTypeToken.js 771 B
packages/orbit-components/lib/Alert/AlertButton/index.js 621 B
packages/orbit-components/lib/Alert/consts.js 295 B
packages/orbit-components/lib/Alert/index.js 1.62 kB
packages/orbit-components/lib/Badge/consts.js 268 B
packages/orbit-components/lib/Badge/index.js 695 B
packages/orbit-components/lib/BadgeList/BadgeListItem/index.js 986 B
packages/orbit-components/lib/BadgeList/consts.js 266 B
packages/orbit-components/lib/BadgeList/index.js 337 B
packages/orbit-components/lib/Box/helpers/getBackground.js 220 B
packages/orbit-components/lib/Box/helpers/getBorderRadius.js 212 B
packages/orbit-components/lib/Box/helpers/getColor.js 210 B
packages/orbit-components/lib/Box/helpers/getElevation.js 209 B
packages/orbit-components/lib/Box/helpers/getMargin.js 351 B
packages/orbit-components/lib/Box/helpers/getOverflow.js 207 B
packages/orbit-components/lib/Box/helpers/getPadding.js 355 B
packages/orbit-components/lib/Box/helpers/getPosition.js 206 B
packages/orbit-components/lib/Box/helpers/getTextAlign.js 215 B
packages/orbit-components/lib/Box/helpers/getWrap.js 211 B
packages/orbit-components/lib/Box/helpers/index.js 607 B
packages/orbit-components/lib/Box/helpers/tailwindClasses.js 1.32 kB
packages/orbit-components/lib/Box/index.js 2.02 kB
packages/orbit-components/lib/Breadcrumbs/BreadcrumbsItem/index.js 924 B
packages/orbit-components/lib/Breadcrumbs/index.js 851 B
packages/orbit-components/lib/Button/consts.js 337 B
packages/orbit-components/lib/Button/index.js 1.21 kB
packages/orbit-components/lib/ButtonGroup/index.js 346 B
packages/orbit-components/lib/ButtonLink/consts.js 289 B
packages/orbit-components/lib/ButtonLink/helpers/getButtonLinkCommonProps.js 271 B
packages/orbit-components/lib/ButtonLink/helpers/getButtonLinkIconForeground.js 432 B
packages/orbit-components/lib/ButtonLink/helpers/getButtonLinkStyles.js 474 B
packages/orbit-components/lib/ButtonLink/helpers/getButtonLinkTypeToken.js 388 B
packages/orbit-components/lib/ButtonLink/index.js 918 B
packages/orbit-components/lib/ButtonMobileStore/consts.js 342 B
packages/orbit-components/lib/ButtonMobileStore/index.js 623 B
packages/orbit-components/lib/CallOutBanner/index.js 743 B
packages/orbit-components/lib/Card/CardSection/components/Expandable.js 375 B
packages/orbit-components/lib/Card/CardSection/index.js 1.3 kB
packages/orbit-components/lib/Card/components/Header.js 788 B
packages/orbit-components/lib/Card/index.js 860 B
packages/orbit-components/lib/CarrierLogo/consts.js 343 B
packages/orbit-components/lib/CarrierLogo/index.js 1.28 kB
packages/orbit-components/lib/Checkbox/index.js 1.38 kB
packages/orbit-components/lib/ChoiceGroup/components/Feedback.js 554 B
packages/orbit-components/lib/ChoiceGroup/components/FilterWrapper.js 634 B
packages/orbit-components/lib/ChoiceGroup/consts.js 236 B
packages/orbit-components/lib/ChoiceGroup/index.js 1.11 kB
packages/orbit-components/lib/Collapse/index.js 1.24 kB
packages/orbit-components/lib/common/consts.js 225 B
packages/orbit-components/lib/common/getFieldDataState.js 134 B
packages/orbit-components/lib/common/keyMaps.js 203 B
packages/orbit-components/lib/common/placements.js 431 B
packages/orbit-components/lib/common/tailwind/alignContent.js 563 B
packages/orbit-components/lib/common/tailwind/alignItems.js 536 B
packages/orbit-components/lib/common/tailwind/backgroundColor.js 2.33 kB
packages/orbit-components/lib/common/tailwind/color.js 2.33 kB
packages/orbit-components/lib/common/tailwind/direction.js 510 B
packages/orbit-components/lib/common/tailwind/display.js 648 B
packages/orbit-components/lib/common/tailwind/grow.js 405 B
packages/orbit-components/lib/common/tailwind/index.js 530 B
packages/orbit-components/lib/common/tailwind/justify.js 544 B
packages/orbit-components/lib/common/tailwind/margin.js 2.06 kB
packages/orbit-components/lib/common/tailwind/padding.js 1.71 kB
packages/orbit-components/lib/common/tailwind/shrink.js 418 B
packages/orbit-components/lib/common/tailwind/spaceAfter.js 506 B
packages/orbit-components/lib/common/tailwind/spacing.js 1.7 kB
packages/orbit-components/lib/common/tailwind/textAlign.js 506 B
packages/orbit-components/lib/common/tailwind/wrap.js 414 B
packages/orbit-components/lib/CountryFlag/consts.js 1.5 kB
packages/orbit-components/lib/CountryFlag/index.js 847 B
packages/orbit-components/lib/Coupon/index.js 374 B
packages/orbit-components/lib/defaultTheme.js 211 B
packages/orbit-components/lib/Dialog/index.js 1.53 kB
packages/orbit-components/lib/Drawer/components/DrawerClose.js 376 B
packages/orbit-components/lib/Drawer/consts.js 181 B
packages/orbit-components/lib/Drawer/index.js 1.63 kB
packages/orbit-components/lib/ErrorFormTooltip/hooks/useErrorTooltip.js 318 B
packages/orbit-components/lib/FeatureIcon/consts.js 236 B
packages/orbit-components/lib/FeatureIcon/index.js 543 B
packages/orbit-components/lib/FormLabel/index.js 650 B
packages/orbit-components/lib/fromPlainObject.js 147 B
packages/orbit-components/lib/getTokens.js 144 B
packages/orbit-components/lib/Heading/consts.js 423 B
packages/orbit-components/lib/Heading/index.js 829 B
packages/orbit-components/lib/Heading/twClasses.js 834 B
packages/orbit-components/lib/Hide/index.js 379 B
packages/orbit-components/lib/hooks/useBoundingRect/index.js 427 B
packages/orbit-components/lib/hooks/useClickOutside/index.js 331 B
packages/orbit-components/lib/hooks/useEventListener/index.js 525 B
packages/orbit-components/lib/hooks/useFocusTrap/consts.js 215 B
packages/orbit-components/lib/hooks/useFocusTrap/index.js 648 B
packages/orbit-components/lib/hooks/useIntersect/index.js 424 B
packages/orbit-components/lib/hooks/useInterval/index.js 276 B
packages/orbit-components/lib/hooks/useIsMounted/index.js 269 B
packages/orbit-components/lib/hooks/useIsMountedRef/index.js 210 B
packages/orbit-components/lib/hooks/useLockScrolling/index.js 557 B
packages/orbit-components/lib/hooks/useLockScrolling/lock-scrolling.js 2.31 kB
packages/orbit-components/lib/hooks/useMediaQuery/index.js 951 B
packages/orbit-components/lib/hooks/usePrevious/index.js 257 B
packages/orbit-components/lib/hooks/useRandomId/index.js 239 B
packages/orbit-components/lib/hooks/useStateWithCallback/index.js 262 B
packages/orbit-components/lib/hooks/useStateWithTimeout/index.js 356 B
packages/orbit-components/lib/hooks/useTheme/index.js 240 B
packages/orbit-components/lib/hooks/useToggle/index.js 266 B
packages/orbit-components/lib/HorizontalScroll/helpers.js 199 B
packages/orbit-components/lib/HorizontalScroll/index.js 1.7 kB
packages/orbit-components/lib/HorizontalScroll/useScroll.js 1.01 kB
packages/orbit-components/lib/Icon/consts.js 307 B
packages/orbit-components/lib/Icon/createIcon.js 349 B
packages/orbit-components/lib/Icon/helpers/whiteListProps.js 252 B
packages/orbit-components/lib/Icon/IconList.js 670 B
packages/orbit-components/lib/Icon/index.js 856 B
packages/orbit-components/lib/icons/Accommodation.js 509 B
packages/orbit-components/lib/icons/AccountCircle.js 608 B
packages/orbit-components/lib/icons/Admin.js 804 B
packages/orbit-components/lib/icons/Ai.js 646 B
packages/orbit-components/lib/icons/AirConditioning.js 1.01 kB
packages/orbit-components/lib/icons/Airplane.js 781 B
packages/orbit-components/lib/icons/AirplaneDown.js 661 B
packages/orbit-components/lib/icons/AirplaneLanding.js 826 B
packages/orbit-components/lib/icons/AirplaneLandingLight.js 770 B
packages/orbit-components/lib/icons/AirplaneReturn.js 788 B
packages/orbit-components/lib/icons/AirplaneTakeoff.js 851 B
packages/orbit-components/lib/icons/AirplaneTakeoffLight.js 781 B
packages/orbit-components/lib/icons/AirplaneUp.js 664 B
packages/orbit-components/lib/icons/AirplaneUpOff.js 751 B
packages/orbit-components/lib/icons/AirportSecurity.js 615 B
packages/orbit-components/lib/icons/Alert.js 508 B
packages/orbit-components/lib/icons/AlertCircle.js 444 B
packages/orbit-components/lib/icons/AlertOctagon.js 413 B
packages/orbit-components/lib/icons/All.js 659 B
packages/orbit-components/lib/icons/AmbulanceLight.js 833 B
packages/orbit-components/lib/icons/Android.js 610 B
packages/orbit-components/lib/icons/Anywhere.js 920 B
packages/orbit-components/lib/icons/Apple.js 602 B
packages/orbit-components/lib/icons/AppNotification.js 787 B
packages/orbit-components/lib/icons/ArrowBack.js 388 B
packages/orbit-components/lib/icons/ArrowDown.js 465 B
packages/orbit-components/lib/icons/ArrowUp.js 450 B
packages/orbit-components/lib/icons/Atm.js 754 B
packages/orbit-components/lib/icons/Attachment.js 547 B
packages/orbit-components/lib/icons/BaggageCabin.js 675 B
packages/orbit-components/lib/icons/BaggageCabinLight.js 507 B
packages/orbit-components/lib/icons/BaggageCabinNone.js 744 B
packages/orbit-components/lib/icons/BaggageCabinNoneLight.js 649 B
packages/orbit-components/lib/icons/BaggageChecked10.js 633 B
packages/orbit-components/lib/icons/BaggageChecked10Light.js 533 B
packages/orbit-components/lib/icons/BaggageChecked10NoneLight.js 665 B
packages/orbit-components/lib/icons/BaggageChecked20.js 628 B
packages/orbit-components/lib/icons/BaggageChecked20Light.js 527 B
packages/orbit-components/lib/icons/BaggageChecked20NoneLight.js 677 B
packages/orbit-components/lib/icons/BaggageChecked30.js 645 B
packages/orbit-components/lib/icons/BaggageChecked30Light.js 540 B
packages/orbit-components/lib/icons/BaggageCheckedNone.js 754 B
packages/orbit-components/lib/icons/BaggageCheckedNoneLight.js 719 B
packages/orbit-components/lib/icons/BaggagePersonal.js 940 B
packages/orbit-components/lib/icons/BaggagePersonalLight.js 508 B
packages/orbit-components/lib/icons/BaggagePersonalNone.js 981 B
packages/orbit-components/lib/icons/BaggagePersonalNoneLight.js 646 B
packages/orbit-components/lib/icons/BaggageRecheck.js 593 B
packages/orbit-components/lib/icons/BaggageSet.js 799 B
packages/orbit-components/lib/icons/BaggageSetLight.js 661 B
packages/orbit-components/lib/icons/BaggageStorage.js 752 B
packages/orbit-components/lib/icons/Bank.js 602 B
packages/orbit-components/lib/icons/BillingDetails.js 666 B
packages/orbit-components/lib/icons/BoardingGate.js 781 B
packages/orbit-components/lib/icons/Boat.js 951 B
packages/orbit-components/lib/icons/Bookmark.js 476 B
packages/orbit-components/lib/icons/Bug.js 876 B
packages/orbit-components/lib/icons/Bus.js 715 B
packages/orbit-components/lib/icons/Cake.js 827 B
packages/orbit-components/lib/icons/Calendar.js 569 B
packages/orbit-components/lib/icons/CalendarAnytime.js 632 B
packages/orbit-components/lib/icons/CalendarDuration.js 626 B
packages/orbit-components/lib/icons/CalendarLight.js 667 B
packages/orbit-components/lib/icons/CalendarRange.js 618 B
packages/orbit-components/lib/icons/CalendarTripLength.js 663 B
packages/orbit-components/lib/icons/Camera.js 633 B
packages/orbit-components/lib/icons/Car.js 736 B
packages/orbit-components/lib/icons/CarDoor.js 478 B
packages/orbit-components/lib/icons/CareKiwiCom.js 546 B
packages/orbit-components/lib/icons/CarRental.js 1.03 kB
packages/orbit-components/lib/icons/Chart.js 539 B
packages/orbit-components/lib/icons/Chat.js 471 B
packages/orbit-components/lib/icons/Check.js 399 B
packages/orbit-components/lib/icons/CheckCircle.js 433 B
packages/orbit-components/lib/icons/ChevronBackward.js 421 B
packages/orbit-components/lib/icons/ChevronDoubleBackward.js 445 B
packages/orbit-components/lib/icons/ChevronDoubleForward.js 434 B
packages/orbit-components/lib/icons/ChevronDown.js 413 B
packages/orbit-components/lib/icons/ChevronForward.js 428 B
packages/orbit-components/lib/icons/ChevronUp.js 418 B
packages/orbit-components/lib/icons/Child.js 784 B
packages/orbit-components/lib/icons/ChildFriendly.js 670 B
packages/orbit-components/lib/icons/Circle.js 334 B
packages/orbit-components/lib/icons/CircleEmpty.js 397 B
packages/orbit-components/lib/icons/CircleFilled.js 432 B
packages/orbit-components/lib/icons/CircleSmall.js 343 B
packages/orbit-components/lib/icons/CircleSmallEmpty.js 369 B
packages/orbit-components/lib/icons/City.js 582 B
packages/orbit-components/lib/icons/Clock.js 464 B
packages/orbit-components/lib/icons/Close.js 446 B
packages/orbit-components/lib/icons/CloseCircle.js 487 B
packages/orbit-components/lib/icons/Cocktail.js 715 B
packages/orbit-components/lib/icons/Code.js 496 B
packages/orbit-components/lib/icons/CodeKiwi.js 430 B
packages/orbit-components/lib/icons/Coffee.js 521 B
packages/orbit-components/lib/icons/ColoredFacebook.js 626 B
packages/orbit-components/lib/icons/ColoredMessenger.js 787 B
packages/orbit-components/lib/icons/ColoredSignal.js 1.05 kB
packages/orbit-components/lib/icons/ColoredViber.js 1.36 kB
packages/orbit-components/lib/icons/ColoredWhatsapp.js 858 B
packages/orbit-components/lib/icons/ColorPicker.js 586 B
packages/orbit-components/lib/icons/Compare.js 677 B
packages/orbit-components/lib/icons/Compass.js 479 B
packages/orbit-components/lib/icons/ContactEmail.js 864 B
packages/orbit-components/lib/icons/Copy.js 536 B
packages/orbit-components/lib/icons/CreditCard.js 497 B
packages/orbit-components/lib/icons/CustomerSupport.js 625 B
packages/orbit-components/lib/icons/Dashboard.js 702 B
packages/orbit-components/lib/icons/Deals.js 464 B
packages/orbit-components/lib/icons/DealsV2.js 633 B
packages/orbit-components/lib/icons/DeviceDesktop.js 507 B
packages/orbit-components/lib/icons/DeviceMobile.js 413 B
packages/orbit-components/lib/icons/Diamond.js 619 B
packages/orbit-components/lib/icons/DiscountLight.js 479 B
packages/orbit-components/lib/icons/Document.js 581 B
packages/orbit-components/lib/icons/Download.js 514 B
packages/orbit-components/lib/icons/Duplicate.js 668 B
packages/orbit-components/lib/icons/Edit.js 478 B
packages/orbit-components/lib/icons/EditOff.js 557 B
packages/orbit-components/lib/icons/Email.js 596 B
packages/orbit-components/lib/icons/Entertainment.js 520 B
packages/orbit-components/lib/icons/Exchange.js 1.01 kB
packages/orbit-components/lib/icons/Facebook.js 495 B
packages/orbit-components/lib/icons/FamilyAll.js 669 B
packages/orbit-components/lib/icons/FamilyHalf.js 704 B
packages/orbit-components/lib/icons/Feedback.js 475 B
packages/orbit-components/lib/icons/Filters.js 599 B
packages/orbit-components/lib/icons/Flash.js 478 B
packages/orbit-components/lib/icons/FlightDirect.js 451 B
packages/orbit-components/lib/icons/FlightMulticity.js 508 B
packages/orbit-components/lib/icons/FlightNomad.js 692 B
packages/orbit-components/lib/icons/FlightReturn.js 581 B
packages/orbit-components/lib/icons/FlightServices.js 682 B
packages/orbit-components/lib/icons/Fuel.js 659 B
packages/orbit-components/lib/icons/FullScreen.js 619 B
packages/orbit-components/lib/icons/FullScreenOff.js 661 B
packages/orbit-components/lib/icons/Gallery.js 695 B
packages/orbit-components/lib/icons/GenderMan.js 1.06 kB
packages/orbit-components/lib/icons/GenderWoman.js 1.21 kB
packages/orbit-components/lib/icons/Github.js 682 B
packages/orbit-components/lib/icons/Google.js 663 B
packages/orbit-components/lib/icons/GooglePlay.js 492 B
packages/orbit-components/lib/icons/GpsFixed.js 513 B
packages/orbit-components/lib/icons/GpsIos.js 419 B
packages/orbit-components/lib/icons/GpsNotFixed.js 491 B
packages/orbit-components/lib/icons/GpsOff.js 824 B
packages/orbit-components/lib/icons/Grid.js 570 B
packages/orbit-components/lib/icons/Guarantee.js 654 B
packages/orbit-components/lib/icons/Gym.js 544 B
packages/orbit-components/lib/icons/Heart.js 476 B
packages/orbit-components/lib/icons/HeartOutline.js 610 B
packages/orbit-components/lib/icons/History.js 522 B
packages/orbit-components/lib/icons/HospitalSignLight.js 427 B
packages/orbit-components/lib/icons/Inbox.js 415 B
packages/orbit-components/lib/icons/index.js 6.01 kB
packages/orbit-components/lib/icons/Infant.js 1.19 kB
packages/orbit-components/lib/icons/InformationCircle.js 529 B
packages/orbit-components/lib/icons/InformationCircleLight.js 474 B
packages/orbit-components/lib/icons/Instagram.js 1.02 kB
packages/orbit-components/lib/icons/Insurance.js 452 B
packages/orbit-components/lib/icons/InsuranceConfirmed.js 539 B
packages/orbit-components/lib/icons/InsuranceOff.js 507 B
packages/orbit-components/lib/icons/Invoice.js 691 B
packages/orbit-components/lib/icons/ItemCompleted.js 541 B
packages/orbit-components/lib/icons/Kiwicom.js 888 B
packages/orbit-components/lib/icons/KiwiComGuarantee.js 560 B
packages/orbit-components/lib/icons/LegalExpertsLight.js 1.11 kB
packages/orbit-components/lib/icons/Leisure.js 1.07 kB
packages/orbit-components/lib/icons/Link.js 629 B
packages/orbit-components/lib/icons/Linkedin.js 542 B
packages/orbit-components/lib/icons/List.js 381 B
packages/orbit-components/lib/icons/Location.js 419 B
packages/orbit-components/lib/icons/LocationA.js 587 B
packages/orbit-components/lib/icons/LocationAdd.js 497 B
packages/orbit-components/lib/icons/LocationB.js 608 B
packages/orbit-components/lib/icons/LocationC.js 569 B
packages/orbit-components/lib/icons/LocationD.js 542 B
packages/orbit-components/lib/icons/LocationE.js 524 B
packages/orbit-components/lib/icons/LocationF.js 560 B
packages/orbit-components/lib/icons/LocationG.js 616 B
packages/orbit-components/lib/icons/LocationH.js 502 B
packages/orbit-components/lib/icons/LocationI.js 436 B
packages/orbit-components/lib/icons/LocationJ.js 511 B
packages/orbit-components/lib/icons/Lock.js 467 B
packages/orbit-components/lib/icons/LockOpen.js 576 B
packages/orbit-components/lib/icons/Logout.js 602 B
packages/orbit-components/lib/icons/Lounge.js 597 B
packages/orbit-components/lib/icons/Map.js 637 B
packages/orbit-components/lib/icons/Markdown.js 539 B
packages/orbit-components/lib/icons/Meal.js 793 B
packages/orbit-components/lib/icons/MealLight.js 620 B
packages/orbit-components/lib/icons/MedicalInsuranceLight.js 953 B
packages/orbit-components/lib/icons/MedicalProtectionLight.js 694 B
packages/orbit-components/lib/icons/MenuCircle.js 437 B
packages/orbit-components/lib/icons/MenuHamburger.js 449 B
packages/orbit-components/lib/icons/MenuKebab.js 350 B
packages/orbit-components/lib/icons/MenuMeatballs.js 354 B
packages/orbit-components/lib/icons/Messages.js 547 B
packages/orbit-components/lib/icons/MessagesOutline.js 604 B
packages/orbit-components/lib/icons/Minus.js 334 B
packages/orbit-components/lib/icons/MinusCircle.js 371 B
packages/orbit-components/lib/icons/Money.js 593 B
packages/orbit-components/lib/icons/MoneyTransferIn.js 608 B
packages/orbit-components/lib/icons/MoneyTransferOut.js 606 B
packages/orbit-components/lib/icons/Moon.js 450 B
packages/orbit-components/lib/icons/MusicalInstruments.js 871 B
packages/orbit-components/lib/icons/NewWindow.js 559 B
packages/orbit-components/lib/icons/NoFlash.js 547 B
packages/orbit-components/lib/icons/NoGuarantee.js 650 B
packages/orbit-components/lib/icons/Nonstop.js 657 B
packages/orbit-components/lib/icons/NoRefund.js 946 B
packages/orbit-components/lib/icons/NoRescheduling.js 619 B
packages/orbit-components/lib/icons/Notification.js 462 B
packages/orbit-components/lib/icons/NotificationAdd.js 646 B
packages/orbit-components/lib/icons/NotificationOff.js 567 B
packages/orbit-components/lib/icons/NotificationOn.js 670 B
packages/orbit-components/lib/icons/NoWifiLight.js 674 B
packages/orbit-components/lib/icons/OnlineCheckin.js 523 B
packages/orbit-components/lib/icons/OnlineCheckinOff.js 582 B
packages/orbit-components/lib/icons/Outlook.js 701 B
packages/orbit-components/lib/icons/Paid.js 617 B
packages/orbit-components/lib/icons/Parking.js 440 B
packages/orbit-components/lib/icons/Partners.js 1.69 kB
packages/orbit-components/lib/icons/Passenger.js 503 B
packages/orbit-components/lib/icons/PassengerAdd.js 697 B
packages/orbit-components/lib/icons/PassengerOutline.js 725 B
packages/orbit-components/lib/icons/PassengerRemove.js 642 B
packages/orbit-components/lib/icons/Passengers.js 711 B
packages/orbit-components/lib/icons/Passport.js 855 B
packages/orbit-components/lib/icons/Pet.js 484 B
packages/orbit-components/lib/icons/Pharmacy.js 526 B
packages/orbit-components/lib/icons/Phone.js 437 B
packages/orbit-components/lib/icons/PhoneUpdatesLight.js 591 B
packages/orbit-components/lib/icons/Pin.js 499 B
packages/orbit-components/lib/icons/PinOutline.js 631 B
packages/orbit-components/lib/icons/Placeholder.js 333 B
packages/orbit-components/lib/icons/Play.js 418 B
packages/orbit-components/lib/icons/Playground.js 680 B
packages/orbit-components/lib/icons/Plus.js 430 B
packages/orbit-components/lib/icons/PlusCircle.js 467 B
packages/orbit-components/lib/icons/PlusMinus.js 384 B
packages/orbit-components/lib/icons/Pool.js 724 B
packages/orbit-components/lib/icons/PowerPlug.js 675 B
packages/orbit-components/lib/icons/PowerPlugOff.js 806 B
packages/orbit-components/lib/icons/PriceChange.js 699 B
packages/orbit-components/lib/icons/PriorityBoarding.js 600 B
packages/orbit-components/lib/icons/PriorityBoardingLight.js 511 B
packages/orbit-components/lib/icons/Profit.js 690 B
packages/orbit-components/lib/icons/PromoCode.js 512 B
packages/orbit-components/lib/icons/QrCode.js 875 B
packages/orbit-components/lib/icons/QuestionCircle.js 512 B
packages/orbit-components/lib/icons/Radar.js 554 B
packages/orbit-components/lib/icons/RadiusSearch.js 699 B
packages/orbit-components/lib/icons/RebookingLight.js 689 B
packages/orbit-components/lib/icons/RebookingNoneLight.js 760 B
packages/orbit-components/lib/icons/Refund.js 665 B
packages/orbit-components/lib/icons/RefundLight.js 567 B
packages/orbit-components/lib/icons/RefundNoneLight.js 724 B
packages/orbit-components/lib/icons/Relax.js 702 B
packages/orbit-components/lib/icons/Reload.js 578 B
packages/orbit-components/lib/icons/Remove.js 563 B
packages/orbit-components/lib/icons/Replace.js 608 B
packages/orbit-components/lib/icons/Restaurant.js 515 B
packages/orbit-components/lib/icons/RouteNoStops.js 433 B
packages/orbit-components/lib/icons/RouteOneStop.js 451 B
packages/orbit-components/lib/icons/RouteTwoStops.js 475 B
packages/orbit-components/lib/icons/Ryanair.js 1.27 kB
packages/orbit-components/lib/icons/Search.js 393 B
packages/orbit-components/lib/icons/Seat.js 606 B
packages/orbit-components/lib/icons/SeatAisle.js 646 B
packages/orbit-components/lib/icons/SeatAisleLight.js 991 B
packages/orbit-components/lib/icons/SeatDefaultLight.js 836 B
packages/orbit-components/lib/icons/SeatExtraLegroom.js 659 B
packages/orbit-components/lib/icons/SeatLight.js 691 B
packages/orbit-components/lib/icons/SeatWindow.js 696 B
packages/orbit-components/lib/icons/SeatWindowLight.js 955 B
packages/orbit-components/lib/icons/Security.js 531 B
packages/orbit-components/lib/icons/SelfTransfer.js 893 B
packages/orbit-components/lib/icons/Send.js 458 B
packages/orbit-components/lib/icons/Settings.js 652 B
packages/orbit-components/lib/icons/Share.js 514 B
packages/orbit-components/lib/icons/ShareAndroid.js 512 B
packages/orbit-components/lib/icons/ShareAndroidOutline.js 613 B
packages/orbit-components/lib/icons/ShareIos.js 566 B
packages/orbit-components/lib/icons/ShieldCheckLight.js 551 B
packages/orbit-components/lib/icons/Shopping.js 624 B
packages/orbit-components/lib/icons/ShowLess.js 487 B
packages/orbit-components/lib/icons/ShowMore.js 488 B
packages/orbit-components/lib/icons/Sightseeing.js 568 B
packages/orbit-components/lib/icons/Sign.js 569 B
packages/orbit-components/lib/icons/Smoking.js 595 B
packages/orbit-components/lib/icons/SmokingOff.js 690 B
packages/orbit-components/lib/icons/Sms.js 1 kB
packages/orbit-components/lib/icons/Sort.js 518 B
packages/orbit-components/lib/icons/Sort2.js 492 B
packages/orbit-components/lib/icons/Spa.js 960 B
packages/orbit-components/lib/icons/SportEquipment.js 825 B
packages/orbit-components/lib/icons/Sports.js 687 B
packages/orbit-components/lib/icons/Stackoverflow.js 764 B
packages/orbit-components/lib/icons/StarEmpty.js 595 B
packages/orbit-components/lib/icons/StarFull.js 493 B
packages/orbit-components/lib/icons/Subway.js 848 B
packages/orbit-components/lib/icons/Suitcase.js 532 B
packages/orbit-components/lib/icons/Sun.js 617 B
packages/orbit-components/lib/icons/Sunrise.js 556 B
packages/orbit-components/lib/icons/Taxi.js 883 B
packages/orbit-components/lib/icons/Terminal.js 854 B
packages/orbit-components/lib/icons/TermsAndConditions.js 884 B
packages/orbit-components/lib/icons/ThumbDown.js 608 B
packages/orbit-components/lib/icons/ThumbUp.js 621 B
packages/orbit-components/lib/icons/Ticket.js 525 B
packages/orbit-components/lib/icons/TicketOutline.js 739 B
packages/orbit-components/lib/icons/Tiktok.js 498 B
packages/orbit-components/lib/icons/Timelapse.js 448 B
packages/orbit-components/lib/icons/Timer.js 651 B
packages/orbit-components/lib/icons/Tips.js 701 B
packages/orbit-components/lib/icons/Toilets.js 755 B
packages/orbit-components/lib/icons/Train.js 777 B
packages/orbit-components/lib/icons/Transmission.js 482 B
packages/orbit-components/lib/icons/Trip.js 717 B
packages/orbit-components/lib/icons/TripUpdatesLight.js 567 B
packages/orbit-components/lib/icons/Uber.js 477 B
packages/orbit-components/lib/icons/Upload.js 512 B
packages/orbit-components/lib/icons/UserGroup.js 883 B
packages/orbit-components/lib/icons/UserMultipleLight.js 549 B
packages/orbit-components/lib/icons/UserSingleLight.js 438 B
packages/orbit-components/lib/icons/Visa.js 577 B
packages/orbit-components/lib/icons/Visibility.js 674 B
packages/orbit-components/lib/icons/VisibilityOff.js 846 B
packages/orbit-components/lib/icons/Walk.js 620 B
packages/orbit-components/lib/icons/Wallet.js 575 B
packages/orbit-components/lib/icons/Wheelchair.js 659 B
packages/orbit-components/lib/icons/Wifi.js 608 B
packages/orbit-components/lib/icons/WifiLight.js 476 B
packages/orbit-components/lib/icons/WifiOff.js 761 B
packages/orbit-components/lib/icons/X.js 424 B
packages/orbit-components/lib/icons/Youtube.js 465 B
packages/orbit-components/lib/Illustration/index.js 335 B
packages/orbit-components/lib/index.js 2.49 kB
packages/orbit-components/lib/Inline/consts.js 242 B
packages/orbit-components/lib/Inline/helpers.js 900 B
packages/orbit-components/lib/Inline/index.js 731 B
packages/orbit-components/lib/InputField/consts.js 383 B
packages/orbit-components/lib/InputField/InputTags/index.js 671 B
packages/orbit-components/lib/InputGroup/consts.js 160 B
packages/orbit-components/lib/InputSelect/helpers.js 400 B
packages/orbit-components/lib/InputSelect/index.js 3.56 kB
packages/orbit-components/lib/InputSelect/InputSelectOption/index.js 503 B
packages/orbit-components/lib/Itinerary/context.js 445 B
packages/orbit-components/lib/Itinerary/index.js 524 B
packages/orbit-components/lib/Itinerary/ItineraryBadgeList/index.js 561 B
packages/orbit-components/lib/Itinerary/ItineraryBadgeList/ItineraryBadgeListItem.js 594 B
packages/orbit-components/lib/Itinerary/ItinerarySegment/context.js 449 B
packages/orbit-components/lib/Itinerary/ItinerarySegment/index.js 1.01 kB
packages/orbit-components/lib/Itinerary/ItinerarySegment/ItineraryIcon.js 909 B
packages/orbit-components/lib/Itinerary/ItinerarySegment/ItinerarySegmentBanner/index.js 684 B
packages/orbit-components/lib/Itinerary/ItinerarySegment/ItinerarySegmentDetail/index.js 1.68 kB
packages/orbit-components/lib/Itinerary/ItinerarySegment/ItinerarySegmentStop/index.js 1.21 kB
packages/orbit-components/lib/Itinerary/ItinerarySeparator/Divider.js 1.27 kB
packages/orbit-components/lib/Itinerary/ItinerarySeparator/index.js 549 B
packages/orbit-components/lib/Itinerary/ItineraryStatus/consts.js 211 B
packages/orbit-components/lib/Itinerary/ItineraryStatus/index.js 1.23 kB
packages/orbit-components/lib/Itinerary/ItineraryText/index.js 696 B
packages/orbit-components/lib/Layout/consts.js 462 B
packages/orbit-components/lib/Layout/index.js 591 B
packages/orbit-components/lib/Layout/LayoutColumn/index.js 467 B
packages/orbit-components/lib/LinkList/index.js 605 B
packages/orbit-components/lib/List/consts.js 237 B
packages/orbit-components/lib/List/index.js 658 B
packages/orbit-components/lib/List/ListItem/index.js 494 B
packages/orbit-components/lib/ListChoice/index.js 982 B
packages/orbit-components/lib/Loading/consts.js 236 B
packages/orbit-components/lib/Loading/index.js 1.29 kB
packages/orbit-components/lib/Modal/consts.js 245 B
packages/orbit-components/lib/Modal/helpers/useModalContextFunctions.js 220 B
packages/orbit-components/lib/Modal/index.js 4.32 kB
packages/orbit-components/lib/Modal/ModalCloseButton/index.js 357 B
packages/orbit-components/lib/Modal/ModalContext.js 464 B
packages/orbit-components/lib/Modal/ModalFooter/index.js 1.1 kB
packages/orbit-components/lib/Modal/ModalHeader/index.js 1.15 kB
packages/orbit-components/lib/Modal/ModalSection/index.js 834 B
packages/orbit-components/lib/NavigationBar/index.js 1.27 kB
packages/orbit-components/lib/NotificationBadge/index.js 393 B
packages/orbit-components/lib/OrbitProvider/index.js 870 B
packages/orbit-components/lib/OrbitProvider/QueryContext/index.js 306 B
packages/orbit-components/lib/OrbitProvider/QueryContext/Provider.js 317 B
packages/orbit-components/lib/OrbitProvider/RandomId/Provider.js 365 B
packages/orbit-components/lib/OrbitProvider/ThemeProvider/Provider.js 307 B
packages/orbit-components/lib/Pagination/components/ActiveButton.js 390 B
packages/orbit-components/lib/Pagination/components/CompactPages.js 518 B
packages/orbit-components/lib/Pagination/components/PageButtonLink.js 310 B
packages/orbit-components/lib/Pagination/components/Pages.js 412 B
packages/orbit-components/lib/Pagination/consts.js 190 B
packages/orbit-components/lib/Pagination/index.js 945 B
packages/orbit-components/lib/Popover/components/ContentWrapper.js 2.23 kB
packages/orbit-components/lib/Popover/consts.js 107 B
packages/orbit-components/lib/Popover/index.js 1.44 kB
packages/orbit-components/lib/Portal/index.js 467 B
packages/orbit-components/lib/primitives/BadgePrimitive/index.js 658 B
packages/orbit-components/lib/primitives/ButtonPrimitive/common/consts.js 399 B
packages/orbit-components/lib/primitives/ButtonPrimitive/common/createRel.js 262 B
packages/orbit-components/lib/primitives/ButtonPrimitive/common/getCommonProps.js 504 B
packages/orbit-components/lib/primitives/ButtonPrimitive/common/getIconContainer.js 504 B
packages/orbit-components/lib/primitives/ButtonPrimitive/common/getPadding.js 483 B
packages/orbit-components/lib/primitives/ButtonPrimitive/common/getSizeToken.js 373 B
packages/orbit-components/lib/primitives/ButtonPrimitive/index.js 2.25 kB
packages/orbit-components/lib/primitives/ButtonPrimitive/sizes.js 317 B
packages/orbit-components/lib/primitives/IllustrationPrimitive/IllustrationPrimitiveList.js 491 B
packages/orbit-components/lib/primitives/IllustrationPrimitive/index.js 970 B
packages/orbit-components/lib/primitives/MobileDialogPrimitive/components/DialogContent.js 1.12 kB
packages/orbit-components/lib/primitives/MobileDialogPrimitive/index.js 851 B
packages/orbit-components/lib/primitives/TooltipPrimitive/components/TooltipContent.js 1.72 kB
packages/orbit-components/lib/primitives/TooltipPrimitive/components/TooltipWrapper.js 502 B
packages/orbit-components/lib/primitives/TooltipPrimitive/index.js 1.11 kB
packages/orbit-components/lib/Radio/index.js 1.16 kB
packages/orbit-components/lib/Seat/components/primitives/Edge.js 378 B
packages/orbit-components/lib/Seat/components/primitives/SymbolUnavailable.js 269 B
packages/orbit-components/lib/Seat/components/primitives/Text.js 463 B
packages/orbit-components/lib/Seat/components/primitives/TransitionPathFill.js 540 B
packages/orbit-components/lib/Seat/components/primitives/TransitionPathStroke.js 521 B
packages/orbit-components/lib/Seat/components/SeatCircle.js 4.47 kB
packages/orbit-components/lib/Seat/components/SeatLegend/index.js 661 B
packages/orbit-components/lib/Seat/components/SeatNormal.js 936 B
packages/orbit-components/lib/Seat/components/SeatSmall.js 937 B
packages/orbit-components/lib/Seat/consts.js 257 B
packages/orbit-components/lib/Seat/index.js 1.01 kB
packages/orbit-components/lib/SegmentedSwitch/SwitchSegment/index.js 898 B
packages/orbit-components/lib/Separator/index.js 999 B
packages/orbit-components/lib/ServiceLogo/consts.js 809 B
packages/orbit-components/lib/ServiceLogo/index.js 647 B
packages/orbit-components/lib/Skeleton/index.js 310 B
packages/orbit-components/lib/Skeleton/presets/Button.js 364 B
packages/orbit-components/lib/Skeleton/presets/Card.js 346 B
packages/orbit-components/lib/Skeleton/presets/Image.js 366 B
packages/orbit-components/lib/Skeleton/presets/index.js 210 B
packages/orbit-components/lib/Skeleton/presets/List.js 385 B
packages/orbit-components/lib/Skeleton/presets/Text.js 377 B
packages/orbit-components/lib/Skeleton/Svg.js 1.12 kB
packages/orbit-components/lib/SkipLink/index.js 614 B
packages/orbit-components/lib/SkipNavigation/index.js 1.13 kB
packages/orbit-components/lib/Slider/components/Bar/index.js 786 B
packages/orbit-components/lib/Slider/components/Handle/index.js 1.09 kB
packages/orbit-components/lib/Slider/components/Histogram/index.js 774 B
packages/orbit-components/lib/Slider/consts.js 207 B
packages/orbit-components/lib/Slider/index.js 2.67 kB
packages/orbit-components/lib/Slider/utils/calculateCountOf.js 294 B
packages/orbit-components/lib/Slider/utils/index.js 1.38 kB
packages/orbit-components/lib/SmartPassIllustrations/illustrations/IllustrationWrapper.js 597 B
packages/orbit-components/lib/SmartPassIllustrations/illustrations/SmartPassV1.js 4.62 kB
packages/orbit-components/lib/SmartPassIllustrations/illustrations/SmartPassV2.js 4.51 kB
packages/orbit-components/lib/SmartPassIllustrations/illustrations/SmartPassV3.js 3.37 kB
packages/orbit-components/lib/SmartPassIllustrations/illustrations/SmartPassV4.js 2.64 kB
packages/orbit-components/lib/SmartPassIllustrations/illustrations/SmartPassV5.js 2.96 kB
packages/orbit-components/lib/SmartPassIllustrations/index.js 238 B
packages/orbit-components/lib/SocialButton/consts.js 330 B
packages/orbit-components/lib/SocialButton/helpers/getSocialButtonBoxShadow.js 558 B
packages/orbit-components/lib/SocialButton/helpers/getSocialButtonIcon.js 395 B
packages/orbit-components/lib/SocialButton/helpers/getSocialButtonIconForeground.js 268 B
packages/orbit-components/lib/SocialButton/helpers/getSocialButtonStyles.js 501 B
packages/orbit-components/lib/SocialButton/helpers/getSocialButtonTypeToken.js 557 B
packages/orbit-components/lib/SocialButton/index.js 717 B
packages/orbit-components/lib/Stack/index.js 1.55 kB
packages/orbit-components/lib/Stepper/index.js 742 B
packages/orbit-components/lib/Stepper/StepperStateless/index.js 1.36 kB
packages/orbit-components/lib/StopoverArrow/consts.js 186 B
packages/orbit-components/lib/StopoverArrow/index.js 1.22 kB
packages/orbit-components/lib/Switch/index.js 949 B
packages/orbit-components/lib/Table/consts.js 214 B
packages/orbit-components/lib/Table/index.js 1.3 kB
packages/orbit-components/lib/Table/TableBody/index.js 294 B
packages/orbit-components/lib/Table/TableCell/consts.js 396 B
packages/orbit-components/lib/Table/TableCell/index.js 651 B
packages/orbit-components/lib/Table/TableFooter/index.js 295 B
packages/orbit-components/lib/Table/TableHead/index.js 299 B
packages/orbit-components/lib/Table/TableRow/index.js 283 B
packages/orbit-components/lib/Tabs/components/Tab/consts.js 199 B
packages/orbit-components/lib/Tabs/components/Tab/index.js 1.1 kB
packages/orbit-components/lib/Tabs/components/TabList/index.js 835 B
packages/orbit-components/lib/Tabs/components/TabPanel/index.js 667 B
packages/orbit-components/lib/Tabs/components/TabPanels/index.js 415 B
packages/orbit-components/lib/Tabs/index.js 425 B
packages/orbit-components/lib/Tabs/TabContext.js 539 B
packages/orbit-components/lib/Tag/consts.js 217 B
packages/orbit-components/lib/Tag/index.js 1.23 kB
packages/orbit-components/lib/Text/consts.js 505 B
packages/orbit-components/lib/Text/helpers/twClasses.js 666 B
packages/orbit-components/lib/Text/index.js 677 B
packages/orbit-components/lib/Textarea/consts.js 178 B
packages/orbit-components/lib/TextLink/consts.js 319 B
packages/orbit-components/lib/TextLink/helpers/twClasses.js 679 B
packages/orbit-components/lib/TextLink/index.js 1.23 kB
packages/orbit-components/lib/Tile/components/TileContent/index.js 432 B
packages/orbit-components/lib/Tile/components/TileExpandable/index.js 870 B
packages/orbit-components/lib/Tile/components/TileHeader/index.js 1.01 kB
packages/orbit-components/lib/Tile/components/TileWrapper/index.js 700 B
packages/orbit-components/lib/Tile/index.js 725 B
packages/orbit-components/lib/TileGroup/index.js 504 B
packages/orbit-components/lib/Timeline/index.js 762 B
packages/orbit-components/lib/Timeline/TimelineContext.js 522 B
packages/orbit-components/lib/Timeline/TimelineStep/components/ProgressLine.js 722 B
packages/orbit-components/lib/Timeline/TimelineStep/components/TextWrapper.js 333 B
packages/orbit-components/lib/Timeline/TimelineStep/components/TimelineStepDesktop.js 813 B
packages/orbit-components/lib/Timeline/TimelineStep/components/TimelineStepMobile.js 621 B
packages/orbit-components/lib/Timeline/TimelineStep/components/TypeIcon.js 872 B
packages/orbit-components/lib/Timeline/TimelineStep/consts.js 171 B
packages/orbit-components/lib/Timeline/TimelineStep/index.js 688 B
packages/orbit-components/lib/Toast/consts.js 241 B
packages/orbit-components/lib/Toast/hooks/useSwipe.js 787 B
packages/orbit-components/lib/Toast/index.js 269 B
packages/orbit-components/lib/Toast/ToastMessage.js 1.25 kB
packages/orbit-components/lib/Toast/ToastRoot.js 774 B
packages/orbit-components/lib/Tooltip/consts.js 175 B
packages/orbit-components/lib/Tooltip/index.js 617 B
packages/orbit-components/lib/Truncate/index.js 422 B
packages/orbit-components/lib/utils/boundingClientRect/index.js 366 B
packages/orbit-components/lib/utils/cloneWithTooltip/index.js 206 B
packages/orbit-components/lib/utils/debounce/index.js 186 B
packages/orbit-components/lib/utils/Grid/index.js 1.51 kB
packages/orbit-components/lib/utils/handleKeyDown/index.js 210 B
packages/orbit-components/lib/utils/layout/consts.js 479 B
packages/orbit-components/lib/utils/layout/index.js 630 B
packages/orbit-components/lib/utils/mediaQuery/index.js 363 B
packages/orbit-components/lib/utils/mergeRefs/index.js 259 B
packages/orbit-components/lib/utils/randomID/index.js 194 B
packages/orbit-components/lib/utils/rtl/index.js 237 B
packages/orbit-components/lib/utils/scroll/index.js 244 B
packages/orbit-components/lib/utils/Slide/index.js 1.24 kB
packages/orbit-components/lib/utils/transition/index.js 336 B
packages/orbit-components/lib/utils/validateDecrement/index.js 221 B
packages/orbit-components/lib/utils/validateIncrement/index.js 220 B
packages/orbit-components/lib/Wizard/index.js 1.22 kB
packages/orbit-components/lib/Wizard/WizardContext.js 448 B
packages/orbit-components/lib/Wizard/WizardStep.js 1.46 kB
packages/orbit-components/lib/Wizard/WizardStepIcon.js 713 B

compressed-size-action

Copy link

cloudflare-workers-and-pages bot commented Mar 7, 2025

Deploying orbit with  Cloudflare Pages  Cloudflare Pages

Latest commit: 805f7fe
Status: ✅  Deploy successful!
Preview URL: https://ee036703.orbit.pages.dev
Branch Preview URL: https://domi-error-tooltip-a11y.orbit.pages.dev

View logs

@domihustinova domihustinova force-pushed the domi/error-tooltip-a11y branch from 77de0f4 to c026478 Compare March 7, 2025 14:47
Copy link

@callstackai callstackai bot left a comment

Choose a reason for hiding this comment

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

Key Issues

The lack of error handling and validation props in InputGroup components could lead to incomplete error state management and accessibility issues. The ariaHidden prop defaults to hiding the chevron icon from screen readers, potentially affecting accessibility if the icon indicates collapse state. Changing label type from Common.Translation to string may cause type errors and break existing code relying on translation objects.

@DSil DSil self-requested a review March 10, 2025 11:28
@domihustinova domihustinova force-pushed the domi/error-tooltip-a11y branch from 9e89908 to 6a178ea Compare March 10, 2025 22:10
Copy link
Collaborator

@DSil DSil left a comment

Choose a reason for hiding this comment

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

On the ErrorForm.stories file, please remove the TextLink elements from inside the tooltip. We don't want to encourage using links inside tooltips 🙂

@domihustinova domihustinova force-pushed the domi/error-tooltip-a11y branch from 6a178ea to 8cdbeb6 Compare March 12, 2025 10:53
Copy link
Contributor

LLM Analysis of PR Changes

Pull Request Analysis - /pull/4652 - ErrorFormTooltip accessibility

1. Summary of the changes:

This pull request focuses on improving the accessibility of the ErrorFormTooltip component in the Orbit component library by removing the helpClosable prop. This prop previously allowed developers to control whether the help tooltip could be closed by clicking the close icon within the tooltip itself.

The key changes are:

  • Removal of helpClosable prop: The helpClosable prop has been removed from the ErrorFormTooltip component and all components that internally use it (InputField, InputFile, InputGroup, InputSelect, Select, Textarea).
  • Simplified Tooltip behavior: The tooltip is now always closable by clicking outside the tooltip or when the associated input element loses focus. The explicit close button within the help tooltip has been removed.
  • Accessibility Enhancement: The removal aims to improve accessibility by enforcing a consistent and standard tooltip behavior where tooltips close on outside interaction, which is generally expected by users. aria-hidden attribute is added to improve screen reader experience.
  • Documentation Updates: A migration guide for v22 has been added to document this breaking change. Documentation for affected components has been updated to remove mentions of helpClosable.
  • Code Review Workflow Update: The GitHub Actions code review workflow has been updated to include reopened PRs and use Portkey API keys for LLM analysis.
  • Minor code adjustments: Test files, storybook examples, and component implementations have been updated to reflect the removal of the helpClosable prop.
  • Version Downgrade (Potentially Unintentional): package.json and CHANGELOG.md files in babel-plugin-orbit-components and orbit-components packages show a version downgrade, which is unusual for a feature branch and needs investigation.
  • Icon Snapshot Updates: Visual snapshot updates for Icon and InputField components suggest potential minor rendering changes, possibly due to dependency updates or the removal of the close button in tooltips.
  • Drawer Test Adjustment: A test in Drawer component tests has been slightly adjusted to clarify backdrop click behavior for closing.

2. Potential issues or bugs you notice:

  • Accessibility Impact: While the change is described as for accessibility, it's important to explicitly verify if removing the close button truly improves accessibility for all users, especially those who rely heavily on keyboard navigation or screen readers. While implicit closing is standard tooltip behavior, ensure there are no regressions in keyboard focus management and screen reader announcements. The addition of aria-hidden={!shown} is a positive step.
  • Breaking Change Impact: Removing helpClosable is a breaking change. While documented in the migration guide, developers relying on helpClosable={false} to keep help tooltips persistently visible might be affected. Ensure the migration guide is prominent and clearly explains the change and its implications.
  • Version Downgrade Mystery: The version downgrades in package.json and CHANGELOG.md in multiple packages are highly unusual and concerning. This should be investigated immediately to determine if it's intentional (and if so, why) or accidental. If accidental, these need to be reverted as they can lead to incorrect package versions being published.
  • Drawer Test Change: The change in the Drawer test description from "clicked outside" to "clicked on backdrop" is good for clarity, but ensure the test logic itself accurately reflects the intended behavior of closing the Drawer when clicking on the backdrop/overlay and not just anywhere "outside" the content area.
  • Icon Deletion: The deletion of user-multiple-light.svg icon is not explicitly mentioned in the PR title or description. It's important to understand why this icon was removed and if it was intentional and justified. If it was used elsewhere, its removal could be a breaking change or introduce visual regressions.

3. Suggestions for improvements:

  • Accessibility Rationale: In the PR description or commit message, explicitly state the accessibility reasoning behind removing the helpClosable prop and the close button. Explain how this change is expected to improve accessibility, referencing accessibility guidelines or best practices if possible. If there was an accessibility audit or specific user feedback driving this change, mention it.
  • Version Downgrade Clarification: Thoroughly investigate and clarify the version downgrades. If they are unintentional, revert them. If there's a valid reason for downgrading, document it clearly in the PR description and commit message. This is crucial to avoid publishing incorrect package versions.
  • Comprehensive Testing: While the diff includes minor test adjustments, ensure more comprehensive testing for the ErrorFormTooltip and affected components without the close button. Focus on accessibility testing (keyboard navigation, screen reader compatibility), user interaction testing (implicit close behavior), and visual regression testing to confirm the removal doesn't introduce unintended visual changes beyond the expected tooltip appearance.
  • Migration Guide Prominence: Make sure the v22 migration guide is easily discoverable in the Orbit documentation, perhaps on the main migration guides page and in release notes.
  • Icon Deletion Justification: Explain the removal of user-multiple-light.svg icon in the PR description or commit message. If it was deprecated or replaced, clearly state the reason. If it was accidentally deleted, it needs to be restored.
  • Consider a Non-Breaking Alternative (If Feasible): If there's a strong use case for persistently visible help tooltips, consider if there's a non-breaking way to achieve this, perhaps through a different prop name or a separate component variation, instead of completely removing the closable control. However, if the goal is to enforce standard tooltip behavior for accessibility and consistency, removal might be the correct approach.

4. Any security concerns:

  • No immediate security concerns are apparent from this diff. The changes primarily focus on component behavior and documentation. However, as always, ensure thorough testing and review to prevent any unintended side effects that could potentially introduce vulnerabilities in the future.

5. Code quality observations:

  • Code Simplification: Removing the helpClosable prop and related logic simplifies the ErrorFormTooltip and its usage, which is generally a positive code quality improvement.
  • Improved Consistency: Enforcing a standard tooltip behavior (implicit close only) can improve the consistency of the Orbit component library and align with common UI patterns, making it more predictable for developers and users.
  • Accessibility Focus: The PR's stated focus on accessibility is commendable. However, the actual accessibility impact needs to be validated and clearly articulated.
  • Clean Code Changes: The code changes related to prop removal and test adjustments appear clean and well-focused.
  • Good Documentation Practice: Adding a migration guide for breaking changes is excellent practice and enhances the developer experience during upgrades.

Overall Feedback:

This pull request seems to be a step in the right direction for improving the accessibility and consistency of the Orbit component library by simplifying the ErrorFormTooltip behavior. The removal of the helpClosable prop and the close button aims for a more standard and implicitly closable tooltip experience, which can be beneficial for accessibility and user experience.

However, the version downgrades are a significant red flag and must be investigated and clarified immediately. Additionally, ensure you thoroughly validate the accessibility improvements, provide clear documentation for the breaking change, and justify the icon deletion. Address the suggestions for improvements provided above to enhance the quality and clarity of this PR before merging.

Copy link
Collaborator

@DSil DSil left a comment

Choose a reason for hiding this comment

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

LGTM. Please organize the commits.

💡 would it make sense to have a codemod to remove the deleted props from the components?

BREAKING CHANGE: The ErrorFormTooltip no longer renders the Close button
as tooltip can not contain interactive elements.
@domihustinova domihustinova force-pushed the domi/error-tooltip-a11y branch from 8cdbeb6 to 59efd48 Compare March 12, 2025 14:35
Copy link
Contributor

LLM Analysis of PR Changes

Okay, I've analyzed the provided Git diff. Here's my feedback:

Pull Request Feedback: /pull/4652 - ErrorFormTooltip accessibility

1. Summary of Changes

This pull request primarily focuses on improving the accessibility and simplifying the API of the ErrorFormTooltip component within the Orbit design system. The key change is the removal of the helpClosable prop from the ErrorFormTooltip and subsequently from components that utilize it, such as InputField, InputFile, InputGroup, InputSelect, Select, and Textarea.

Essentially, this change enforces a consistent behavior for help tooltips: they are now always closable by clicking outside the tooltip or when the associated input element loses focus. The explicit "close" button and the helpClosable prop are removed.

Alongside the code modifications, the pull request includes:

  • Documentation updates: A new migration guide (v22) is created to explain this breaking change and guide users on how to update their code. The older migration guides are also renumbered.
  • Storybook updates: Storybook stories for components using ErrorFormTooltip are updated to remove the helpClosable prop from examples and controls.
  • Test updates: Unit tests for ErrorFormTooltip are adjusted to reflect the removal of the close button and the change in closing mechanism. Visual regression tests are also updated to capture the visual changes.

2. Potential Issues or Bugs

  • Breaking Change: The removal of helpClosable is a breaking change. While this is clearly documented in the migration guide, it's crucial to ensure that users upgrading to v22 are aware of this change and update their code accordingly. The migration guide seems comprehensive, which mitigates this issue.
  • Accessibility Rationale Clarity: While the PR title mentions "accessibility," the diff and migration guide could benefit from explicitly stating the accessibility reasoning behind removing the helpClosable prop. It's implied that making the tooltip consistently closable by outside interactions is more accessible, but explicitly stating this would strengthen the justification for the breaking change. Perhaps the previous implementation where helpClosable was true by default was considered less accessible because it relied on a visible close button, whereas implicit closing via outside click or focus loss is a more standard and expected pattern.
  • Test Adjustment: The test change in ErrorFormTooltip/__tests__/index.test.tsx from clicking the "close" button to clicking the container is correct given the removal of the button. However, it's worth double-checking if this new test strategy adequately covers the intended behavior of closing the tooltip (e.g., ensuring it closes on outside click and focus loss, not just any click within the container might be important depending on the implementation details of useClickOutside).

3. Suggestions for Improvements

  • Explicit Accessibility Rationale: In both the migration guide and as a code comment in ErrorFormTooltip/Tooltip/index.tsx, explicitly state the accessibility benefits of removing helpClosable. For example: "The helpClosable prop has been removed to improve accessibility. Tooltips are now consistently closed by clicking outside or when the input loses focus, providing a more predictable and standard user experience for all users, including those using assistive technologies."
  • Code Comment in Tooltip/index.tsx: Add a concise comment in packages/orbit-components/src/ErrorFormTooltip/Tooltip/index.tsx explaining why the close button and helpClosable prop were removed, linking it to accessibility and consistent user experience.
  • Verify Test Coverage: Double-check the updated test in ErrorFormTooltip/__tests__/index.test.tsx to ensure it thoroughly tests the closing behavior, especially if the useClickOutside hook is used for closing. Confirm it correctly simulates an "outside click" or focus loss if that's the intended closing mechanism.
  • Consider a Non-Breaking Approach (If Feasible and if there was a strong reason for helpClosable in the first place): Though likely not necessary given the nature of the change, and since it is already implemented as breaking, in general for future changes: if the goal was primarily accessibility, consider if a non-breaking change could have achieved the same result. For example, instead of removing helpClosable, perhaps always rendering the tooltip closable via outside click/focus loss, and making helpClosable=false simply hide the explicit close button, while still allowing implicit closing. However, given the simplification of the API and likely minor usage of helpClosable=false, removing the prop is probably the cleaner and more sensible approach in this case.

4. Security Concerns

  • No security concerns are identified in this diff. The changes are purely related to UI presentation and component API simplification.

5. Code Quality Observations

  • Clean Code: The code changes are clean and well-structured. Removing the prop and associated logic simplifies the component code, which is a positive step.
  • Consistency: The changes maintain consistency with the existing codebase in terms of coding style and component structure.
  • Documentation and Testing: The inclusion of a migration guide, updated storybook examples, and updated tests demonstrates good attention to code quality and maintainability.
  • API Simplification: Removing the helpClosable prop simplifies the API of the ErrorFormTooltip and related components. This makes the components easier to understand and use, especially for new developers. If the functionality provided by helpClosable was rarely used or caused confusion, its removal is a good improvement.

Overall:

This pull request appears to be a well-thought-out and executed change that improves the accessibility and simplifies the API of the ErrorFormTooltip component. The breaking change is appropriately documented, and the code quality is good.

Recommendations:

  • Address suggestion 3.1 and 3.2: Explicitly state the accessibility rationale in the migration guide and in a code comment.
  • Address suggestion 3.3: Verify the test coverage for the tooltip closing behavior.

After addressing these minor suggestions, the pull request looks good to be merged.

Copy link

@callstackai callstackai bot left a comment

Choose a reason for hiding this comment

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

Key Issues

The use of aria-hidden={!shown} conflicts with aria-live="polite", as it prevents screen readers from announcing changes when the tooltip is hidden.

Comment on lines 75 to +76
aria-live="polite"
aria-hidden={!shown}
Copy link

Choose a reason for hiding this comment

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

🐛 Possible Bug
Setting aria-hidden={!shown} while maintaining aria-live="polite" is contradictory. When the tooltip is hidden, screen readers won't announce changes due to aria-hidden, making aria-live ineffective.

Suggested change
aria-live="polite"
aria-hidden={!shown}
aria-live="polite"

BREAKING CHANGE: The InputField component no longer accepts the helpClosable prop,
since the help tooltip no longer renders the Close button.
BREAKING CHANGE: The InputFile component no longer accepts the helpClosable prop,
since the help tooltip no longer renders the Close button.
BREAKING CHANGE: The InputGroup component no longer accepts the helpClosable prop,
since the help tooltip no longer renders the Close button.
BREAKING CHANGE: The InputSelect component no longer accepts the helpClosable prop,
since the help tooltip no longer renders the Close button.
BREAKING CHANGE: The Select component no longer accepts the helpClosable prop,
since the help tooltip no longer renders the Close button.
BREAKING CHANGE: The Textarea component no longer accepts the helpClosable prop,
since the help tooltip no longer renders the Close button.
@domihustinova domihustinova force-pushed the domi/error-tooltip-a11y branch from 59efd48 to 805f7fe Compare March 12, 2025 15:02
Copy link
Contributor

LLM Analysis of PR Changes

Okay, I've analyzed the provided Git diff from pull request /pull/4652. Here's my feedback:

Pull Request Analysis - Orbit #4652: ErrorFormTooltip accessibility

1. Summary of Changes

This pull request primarily focuses on improving the accessibility of the ErrorFormTooltip component by removing the helpClosable prop. This change has several implications:

  • Removal of helpClosable prop: The helpClosable prop is removed from the ErrorFormTooltip component and all components that internally use it (InputField, InputFile, InputGroup, InputSelect, Select, Textarea).
  • Consistent Tooltip Behavior: The help tooltip will now always close when the user clicks outside the tooltip or when the associated input element loses focus. This makes the tooltip behavior more consistent and predictable.
  • Documentation Update: A new migration guide (v22) is added to document this breaking change and guide users on how to update their code. The existing migration guides are also renumbered.
  • AirportIllustration Update: Minor updates to AirportIllustration to remove the default alt prop and align documentation and tests with this change.
  • Code Cleanup: Removal of close button related logic from ErrorFormTooltip/Tooltip component and corresponding prop and test updates.
  • Snapshot Updates: Updates to component snapshots to reflect the visual changes.

2. Potential Issues or Bugs

  • Accessibility Justification: While the PR title suggests an accessibility improvement, the diff itself doesn't explicitly state why removing helpClosable improves accessibility. It's important to understand the reasoning behind this change. Was the helpClosable prop causing accessibility issues? Is the new behavior inherently more accessible? It would be beneficial to have a clear explanation of the accessibility rationale in the PR description or commit message.
  • Unexpected Behavior for Users Relying on helpClosable={false}: Developers who were intentionally using helpClosable={false} to keep the help tooltip persistently visible will experience a breaking change. While documented in the migration guide, it's crucial to ensure this change doesn't negatively impact critical use cases where persistent help was desired. Consider if there were valid use cases for persistent help tooltips and if this change adequately addresses them or if alternative solutions were considered.
  • Test Coverage for New Behavior: Ensure that the existing tests and potentially new tests adequately cover the new tooltip behavior (auto-closing on outside click/focus loss). Verify that accessibility aspects of this new behavior are also tested, potentially through integration or end-to-end tests.

3. Suggestions for Improvements

  • Clarify Accessibility Rationale: Explicitly state the accessibility reasons for removing helpClosable in the PR description and/or migration guide. Mention if this change is based on accessibility guidelines (WCAG) or user testing feedback. Understanding the "why" is crucial.
  • Accessibility Testing/Verification: It would be beneficial to include results of accessibility testing (e.g., with screen readers, keyboard navigation) to demonstrate that the new tooltip behavior is indeed more accessible than the previous implementation with helpClosable.
  • Code Comment in Tooltip Component: Add a brief comment in the ErrorFormTooltip/Tooltip/index.tsx component explaining why the close button logic was removed and how the tooltip is now closed (outside click/focus loss). This will improve code maintainability and understanding for future developers.
  • Review Snapshot Changes Carefully: Visually inspect the updated snapshots in InputField.ct.tsx-snapshots and potentially other components to ensure that the changes are intentional and do not introduce any unintended visual regressions. Pay close attention to the tooltip's appearance and positioning after the changes.

4. Security Concerns

  • No security concerns are identified in this diff. The changes appear to be focused on UI component behavior and documentation, and do not introduce any apparent security vulnerabilities.

5. Code Quality Observations

  • Code Consistency: The changes are applied consistently across all relevant components, removing the helpClosable prop and related logic wherever it was used. This promotes consistency within the codebase.
  • Code Clarity: The code changes themselves are relatively straightforward and easy to understand. Removing code generally improves clarity.
  • Documentation Quality: The addition of a dedicated v22 migration guide is excellent. It clearly explains the breaking change and provides practical "before and after" examples, making the migration process easier for users. Renumbering existing migration guides is also good for organization.
  • Test Updates: The test updates appear to be in line with the code changes, removing tests related to the helpClosable prop. This is expected. However, ensure sufficient testing remains for the core tooltip functionality and the new auto-close behavior, especially concerning accessibility.

Overall Feedback:

This pull request seems to be a positive step towards improving the accessibility and consistency of the ErrorFormTooltip component. Removing the helpClosable prop and standardizing the tooltip closing behavior likely simplifies the component's logic and makes it more predictable for users.

Actionable Feedback Summary:

  • Request Clarification on Accessibility Rationale: Ask the PR author to explicitly explain the accessibility benefits of removing helpClosable.
  • Recommend Accessibility Verification & Testing: Suggest including accessibility testing results to support the claim of improved accessibility and ensure the new behavior is indeed accessible.
  • Suggest Adding Code Comment: Recommend adding a code comment in ErrorFormTooltip/Tooltip/index.tsx to explain the change in closing behavior.
  • Advise Careful Review of Snapshot Changes: Emphasize the importance of visually reviewing the updated component snapshots to avoid visual regressions.

By addressing these points, the pull request can be further strengthened and ensure a smooth and positive experience for users migrating to Orbit v22.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants