dental_teeth_selector 0.1.0 copy "dental_teeth_selector: ^0.1.0" to clipboard
dental_teeth_selector: ^0.1.0 copied to clipboard

Interactive dental chart for selecting teeth in Flutter. Supports Universal and European (FDI) numbering, plus fallen teeth.

Dental Teeth Selector ๐Ÿฆท #

Flutter widget to select teeth for dental and medical use.

Supports Universal (ADA, 1โ€“32) and European (FDI / ISO 3950) numbering, plus fallen / missing teeth.

Preview ๐Ÿ“ธ #

Universal numbering
Universal numbering preview
European numbering
European numbering preview

Fallen teeth preview ๐Ÿฆท #

Fallen teeth preview

Install โฌ‡๏ธ #

flutter pub add dental_teeth_selector

Usage ๐Ÿš€ #

Universal (default) #

import 'package:dental_teeth_selector/dental_teeth_selector.dart';

DentalTeethSelector(
  numberingSystem: TeethNumberingSystem.universal, // default
  initiallySelected: const ['8', '9'],
  selectedColor: Colors.teal,
  toothColor: Colors.black,
  numberColor: Colors.black,
  rightLabel: 'Right', // between teeth 1 and 32
  leftLabel: 'Left',   // between teeth 16 and 17
  labelColor: Colors.black54,
  width: 320,
  height: 480,
  onSelected: (teeth) {
    // List<String> => ['8', '9']
  },
)

European (FDI) #

DentalTeethSelector(
  numberingSystem: TeethNumberingSystem.european,
  initiallySelected: const ['11', '21'],
  onSelected: (teeth) {
    // List<String> => ['11', '21']
  },
)

Fallen teeth #

DentalTeethSelector(
  showFallenTeeth: true,
  fallenTeeth: const ['1', '16'], // requires showFallenTeeth: true
  selectingFallenTeeth: markFallenMode, // determine of we are selecting falling teeth or not
  initiallySelected: const ['8', '9'], // must not overlap fallenTeeth
  fallenColor: Colors.red,
  onSelected: (teeth) { /* normal selection */ },
  onFallenChanged: (fallen) { /* updated fallen ids */ },
)

Numbering systems ๐Ÿ”ข #

System Enum value Ids
Universal (ADA) TeethNumberingSystem.universal "1" โ€ฆ "32"
European (FDI / ISO 3950) TeethNumberingSystem.european "11"โ€“"18", "21"โ€“"28", "31"โ€“"38", "41"โ€“"48"

Helpers convertToothId / convertToothIds map between systems.

API โš™๏ธ #

Parameter Description
numberingSystem universal (default) or european (FDI)
onSelected Callback with the current selected tooth ids
initiallySelected Tooth ids selected on first load (match numberingSystem)
showFallenTeeth Enable fallen / missing teeth (default false)
fallenTeeth Fallen tooth ids (requires showFallenTeeth)
selectingFallenTeeth Tap toggles fallen instead of selection
onFallenChanged Callback when fallen set changes
fallenColor Fill for fallen teeth (default red)
selectedColor Fill for selected teeth
toothColor SVG tooth outline stroke color
numberColor Tooth number color
rightLabel Text on patient's right (Universal 1/32, European 18/48)
leftLabel Text on patient's left (Universal 16/17, European 28/38)
labelColor Color for the jaw side labels
width / height Chart size
multiSelect Allow multiple teeth (default true)

Author ๐Ÿงก #

Made With love by Emad Beltaje

10
likes
160
points
187
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Interactive dental chart for selecting teeth in Flutter. Supports Universal and European (FDI) numbering, plus fallen teeth.

Repository (GitHub)
View/report issues

Topics

#dental #teeth #flutter-widget #healthcare #ui

License

MIT (license)

Dependencies

flutter, path_drawing, xml

More

Packages that depend on dental_teeth_selector