question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. ItΒ collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Ionic 4.0.0 RTL issues

See original GitHub issue

This issue is to collect and keep track of RTL bugs vs. master so we can make sure to properly update and fix them.

Below are:

  • a list of some utilities presenting issues in RC.0,
  • and a list of components with tests included in the test suite.

Legend

Symbol Description
βœ… Tested. Found compliant.
β˜‘οΈ Tested. Initially not compliant or Regression. Solved by PR specified in description.
❓ Not necessarily an issue, or not a core-specific issue, or design decision.
⚠️ Not tested. Help needed.
❌ Tested. Not completely compliant. Should list the defects.

Fixed issues

CSS Utilities

  • βœ… Text Alignment: text-start, text-end, text-justify, & their responsive versions
  • β˜‘οΈ Float Elements: float-start, float-end, & their responsive versions (regression: https://github.com/ionic-team/ionic/issues/17012#issuecomment-455384111) (PR #18315 solves issue in Chrome)
  • βœ… Element Padding: padding-start, padding-end
  • βœ… Element Margin: margin-start, margin-end
  • βœ… Flex Container Properties: justify-content-start, justify-content-end

Grid

  • βœ… Offsetting columns (iOS/MD) (PR: #16702)
  • βœ… Push and pull (iOS/MD) (PR: #16702)

Components

  • βœ… action-sheet
  • alert:
  • βœ… anchor
  • βœ… avatar
  • βœ… badge
  • βœ… button
    • βœ… slotted icon in button in iOS
    • βœ… slotted icon in button in MD
  • βœ… buttons
  • βœ… card
  • βœ… card-header
  • βœ… checkbox
  • βœ… chip
  • βœ… content
  • datetime
    • β˜‘οΈ picker in iOS/MD: fix start/end columns’ horizontal positioning when there are 2 or 3 picker columns (PR #18339)
    • β˜‘οΈ with floating or stacked label: the datetime text should stay in the document flow (regression) (PR #18340)
    • βœ… picker in iOS/MD: keep the order of columns as in LTR when using time and/or DD/MM/YYYY date format (see #16294) (PR: #17018)
  • fab
    • β˜‘οΈ horizontal position: position ion-fab correctly (PR #18325)
  • βœ… fab-button
  • βœ… footer
  • βœ… grid
    • βœ… col offsets, push, and pulls: fix offsets, pushs and pulls (PR: #16702)
  • βœ… header
  • βœ… icon (PR #17196)
    • βœ… arrow icons in iOS: automatic invert
    • βœ… arrow icons in MD: automatic invert
    • βœ… flip-rtl: add property to flip icons
    • βœ… detail-icon: use correct direction (β€œ<” instead of β€œ>”) (see #14958) (PR: #17016 REVERTED) (PR #17196)
  • βœ… img
  • βœ… infinite-scroll
  • βœ… input (specific floating label issues are listed in the relevant components, and the issue with label and input vertical alignment is not specific to RTL)
  • βœ… item (specific select, range, and floating label issues in relevant components)
  • item sliding
    • β˜‘οΈ swiping direction: fix swiping direction & buttons positions (#14328) (#18366)
  • label
    • β˜‘οΈ position=β€œfloating” in iOS/MD: fix horizontal floating position relative to ion-item (PR #18315)
  • βœ… list
  • βœ… loading
  • menu
  • βœ… menu-button
  • βœ… modal
  • βœ… nav
  • βœ… nav-pop
  • βœ… nav-push
  • βœ… nav-set-root
  • βœ… note
  • βœ… picker
  • popover
    • βœ… position in MD: position properly (PR: #16745)
    • β˜‘οΈ enter animation in MD: invert animation direction (PRs #17382 + #17645)
  • progress-bar
    • β˜‘οΈ default and reverse directions: both are the same; one of them should be inverted (PR #17464)
    • β˜‘οΈ indeterminate / buffer: fix animations (PR #17464)
  • βœ… radio
  • βœ… radio-group
  • range
    • β˜‘οΈ active range section in iOS/MD: fix position (PR #17384)
    • β˜‘οΈ knobs in iOS/MD: fix position (PR #17384)
    • β˜‘οΈ pins in MD: fix (background) position (PR #18321)
  • βœ… refresher
  • βœ… reorder-group
  • βœ… ripple-effect
  • searchbar (#15884)
    • βœ… cancel icon in MD: invert? Maybe not since the cancelButtonIcon property allows setting own icon? ➑️icon is now inverted thanks to PR #17196
    • β˜‘οΈ cancel icon in MD: invert horizontal position (PR #18325)
    • β˜‘οΈ clear icon in iOS: invert horizontal position (PR #18325)
    • β˜‘οΈ clear icon in MD: invert horizontal position (PR #18325)
    • β˜‘οΈ search icon in iOS: invert horizontal position (PR #18325)
    • β˜‘οΈ search icon in MD: invert horizontal position (PR #18325)
  • segment
    • β˜‘οΈ first and last buttons in iOS: fix borders (PR #18326)
    • ❌ border in Safari: border width is not switching
  • select
    • β˜‘οΈ select icon in iOS: fix position of the inner element (#18315)
    • βœ… AlertController interface: same issues than alert component
  • βœ… skeleton-text
  • βœ… slides
  • βœ… spinner
  • βœ… split-pane
  • tab-bar
    • β˜‘οΈ badges: invert horizontal position (PR #18325 solves issue in Chrome)
  • βœ… tabs
  • βœ… text
  • βœ… textarea (label and input vertical alignment issue is not specific to RTL)
  • βœ… thumbnail
  • βœ… toast
  • toggle
  • toolbar (#15357) (PR #17196)
    • βœ… back button in iOS: use correct direction (β€œ>” instead of β€œ<”)
    • βœ… back button in MD: use correct direction (β€œ->” instead of β€œ<-”)
  • βœ… virtual-scroll
  • swipe to go back

Existing Issues as of 4.4.1

  • item-divider
    • ❌ slots margins in MD: in both slot="start" and slot="end", a small 2px margin appears on one side in LTR, but not on the opposite side in RTL (see https://i.imgur.com/4W5TFs2.png for an illustration of the problem: the box model shows the slotted ion-button))
  • menu
  • tab-bar
    • ❌ badges in Safari: invert horizontal position
  • text
    • ❌ Float Elements: float-start, float-end, & their responsive versions in Safari

Contributing

Please help with the untested components, or double-check the tested ones if you feel like it. Thank you for the contribution anyway!

If you’re not familiar with the included test suite:

  1. Fork the Ionic repo;
  2. Use the master branch;
  3. Setup your local copy;
  4. Run the test suite locally;
  5. When you navigate to the component you want to test, you can add ?rtl=true to the url in order to check the RTL version;
  6. Submit a comment with the issue.

See the contributing documentation for more information.

You can also test your own app using @ionic/angular@dev

Issue Analytics

  • State:open
  • Created 5 years ago
  • Reactions:30
  • Comments:130 (48 by maintainers)

github_iconTop GitHub Comments

6reactions
brandyscarneycommented, May 21, 2019

Fixes!

I’ve merged the following fixes for RTL that will make it into the release tomorrow (4.4.1):

  • floating/stacked labels are now positioning properly
  • range pin has the arrow on the bottom instead of on the right like previously
  • searchbar buttons are positioning properly
  • tab badge is positioning properly (in Chrome only at the moment)
  • fab buttons are positioning properly
  • toggle icon is in correct place and not going out of bounds
  • segment border is flipped so that it targets the proper first and last buttons in iOS

Latest Dev Build

I released a dev build if you’d like to try it sooner: 4.5.0-dev.201905212141.24e9cf0

Known Bugs

I went through all of this list and I found the following are absolutely still bugs:

  • tab-button badges (broken in Safari)
  • item sliding direction
  • button in item (slot end in item is broken by the margin-left unset, likely in the padding-horizontal mixin)
  • datetime text is not aligning with the label

Need Verification

I did not get a chance to check the following:

  • datetime multiple columns
  • menu / menu-toggle

If anyone could please let me know if there is something I’ve missed or if you have done any debugging and might know where the problem is for some of these it would be very helpful. Thank you!

5reactions
Newbie012commented, Feb 5, 2019

@abennouna Seems like your repo has solved most of my RTL issues (haven’t found a bug yet).

Read more comments on GitHub >

github_iconTop Results From Across the Web

What does "RTL" mean in Ionic 4.0.0 RTL? - Ionic Forum
I keep seeing β€œRTL” as the current version of Ionic, in Github and on here, e.g. here https://github.com/ionic-team/ionic/issues/17012.
Read more >
Adam Bradley on Twitter: "Ionic 4.0.0-rc.1 out! Reduces ionic ...
Ionic 4.0.0 -rc.1 out! Reduces ionic/angular main bundle size a bit more, sped up the startup time, and fixed some more bugs in...
Read more >
ionic-calender-3 - npm
version 0.5.x depends on Ionic (>=4.0.0-rc.1), also supports Ionic 5.0.0. Version 0.6.x depends on Ionic (>=5.1.0) and Angular (>=9.1.0).
Read more >
Npm Error - No matching version found for - Stack Overflow
Same problem now after npm install -g ionic@latest which takes it up to v.3.12.0 ... npm complains that there "is no matching version...
Read more >
@ionic/core | Yarn - Package Manager
Ionic is an open source app development toolkit for building modern, fast, ... datetime: add flipRTL to monthAndYear dropdown icon (#26378 (13fe669)Β ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found