antoniandre / splitpanes

A Vue 3 (and 2) reliable, simple and touch-ready panes splitter / resizer.
https://antoniandre.github.io/splitpanes
MIT License
1.91k stars 169 forks source link

Automatic RTL detection #167

Open Tal500 opened 2 years ago

Tal500 commented 2 years ago

Following #89, I am wondering why can't the library detect automatically whether it's in RTL or not. The discussion has started because of the following discussion in the Svelte port of this library.

The idea I said there is to detect automatically the direction by the expression getComputedStyle(container).direction === 'rtl', instead of the manual API property rtl (discussed there in more details). I am a native Hebrew speaker, so I have an experience with those types of issues.

Sometimes it is even essential to detect this automatically, since the component using this library might be contained in a different component, which allow the end user switch dynamically the text direction (e.g. changing the language from English to Hebrew shall change the text direction from LTR to RTL), and the inner component might not be aware of this change, so it couldn't change the API property rtl.

If for some reason(that makes no sense for me) you'd like to give the user a control to override this automatic RTL detection, I'm suggesting then to convert the type of the API property rtl to boolean | undefined, with a default value of undefined (meaning automatic detection).

I would like to here your opinion 🙂