olu 1.0.0 copy "olu: ^1.0.0" to clipboard
olu: ^1.0.0 copied to clipboard

RTL-first Flutter UI kit with zero dependencies — Arabic typography (kashida, tajweed, bidi), responsive Bento grids, and RTL-aware carousels.

1.0.0 #

First public release.

OLUText #

  • Drop-in Text/RichText replacement with full API parity (softWrap, locale, strutStyle, selection APIs).
  • Smart global justify via OLUTextAlign.justify — kashida (Arabic), word-spacing (Hebrew), Flutter justify (Latin/CJK).
  • Kashida exclusions — sacred words (الله, اللّٰه, محمد, …) and hamza words (شيء, …) are never stretched; harakat-safe insertion; kashidaExclusions, maxKashidaPerLine, kashidaDensity.
  • Script-aware typography via LocaleTypography (Arabic/Hebrew 1.65, Latin 1.35, CJK 1.5); letterSpacing guards; FontFeature liga/calt; OLUTextVariant.mushaf.
  • Public bidi utilities — OLUBidi.isolateLtr, isolateRtl, normalizeMixed.
  • Mixed-script spans with baseline alignment (Arabic/Latin/CJK); OLUText.auto() script detection.
  • Rich spans: OLUTextSpan, OLUHebrewSpan, OLUCjkSpan, OLULinkSpan, OLUIconSpan, OLUEmojiSpan.
  • Tajweed coloring — OLUTajweedSpan + OLUTajweedBuilder.mergeSpans (same-color run grouping); phase B per-glyph OLUText.tajweed + OLUTajweedRule via custom painter.
  • Font-aware kashida — auto tatweel width scaling for Uthmanic/Quranic fonts; optional kashidaTatweelScale.
  • CJK keep-all — OLUCjkText.preventMidWordBreaks + preventCjkMidWordBreaks on OLUText.
  • Persian/Urdu — detected as Arabic script; verified via ScriptDetector (exported).
  • Arabic text utils — OLUArabicText (removeDiacritics, normalizeArabic, containsSacredPhrase).
  • Visual effects: gradient, shadows, stroke, animated gradient via OLUText.styled / OLUText.gradient.
  • Marquee scrolling via OLUText.marquee.
  • Selection mitigations — default selectionHeightStyle: includeLineSpacingMiddle; forceTextDirection.

OLUBento #

  • Smart grid packing with RTL auto-mirroring, scroll, responsive breakpoints, drag reorder.
  • OLUBentoThemeData theme extension for tile radius, padding, gaps, skeleton colors.
  • Base shell OLUBentoTile with loading/error/empty states.
  • Preset tiles (16): Hero, Stat, Media, Banner, List, CTA, Icon, Chart, Profile, Progress, ProgressRing, Quote, Event, Alert, Rating, Toggle.
  • OLUBentoLayouts.fullCatalog() — demo grid with all tile types.
  • Layout helpers: OLUBentoLayouts, OLUBentoSpans, exported BentoGridPacker.

OLUCarousel #

  • RTL-aware swipe physics with direction-correct indicators and arrows.
  • OLUCarouselThemeData theme extension for gap, viewport, indicator, and arrow styling.
  • OLUCarouselController — programmatic next/previous/animateToPage with realIndex notifier.
  • Autoplay with pause-on-touch and pause-on-manual-navigate.
  • Infinite loop via virtual page indexing.
  • Indicator styles: glass dots (tappable), bar progress, numeric fraction.
  • Page transforms: scale and parallax via OLUCarouselEnlargeStrategy.
  • Preset slides (6): Hero, Image, Product, Text, Stat, CTA.
  • OLUCarouselLayouts.hero3(), .productStrip(), .fullCatalog().

Core #

  • Zero external dependencies; theme-only colors; RepaintBoundary on all widgets.
0
likes
160
points
4
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

RTL-first Flutter UI kit with zero dependencies — Arabic typography (kashida, tajweed, bidi), responsive Bento grids, and RTL-aware carousels.

Repository (GitHub)
View/report issues

Topics

#rtl #arabic #typography #bento #carousel

License

MIT (license)

Dependencies

flutter

More

Packages that depend on olu