This is a modified fork of shadcn_flutter and includes resources & merged code from Phosphor Icons & Ionicons. It is designed for quickly creating apps.

Documentation | Pub.dev | GitHub

Forked / Modified Packages

Initial Setup

Note: This guide below only showcases new features & changes. Please refer to shadcn_flutter docs to see how to use that package through arcane.

main.dart

void main() => runApp(MyApp());


class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) => ArcaneApp(
      theme: ArcaneTheme(scheme: ContrastedColorScheme.fromScheme(ColorSchemes.zinc)),
      home: HomeScreen()
  );
}

pubspec.yaml

dependencies: 
  arcane: VERSION
flutter:
  uses-material-design: true
  fonts:
    - family: RadixIcons
      fonts:
      - asset: "packages/arcane/resources/icons/RadixIcons.otf"
    - family: BootstrapIcons
      fonts:
        - asset: "packages/arcane/resources/icons/BootstrapIcons.otf"
    - family: "GeistSans"
      fonts:
        - asset: "packages/arcane/resources/fonts/Geist-Black.otf"
          weight: 800
        - asset: "packages/arcane/resources/fonts/Geist-Bold.otf"
          weight: 700
        - asset: "packages/arcane/resources/fonts/Geist-Light.otf"
          weight: 300
        - asset: "packages/arcane/resources/fonts/Geist-Medium.otf"
          weight: 500
        - asset: "packages/arcane/resources/fonts/Geist-SemiBold.otf"
          weight: 600
        - asset: "packages/arcane/resources/fonts/Geist-Thin.otf"
          weight: 100
        - asset: "packages/arcane/resources/fonts/Geist-UltraBlack.otf"
          weight: 900
        - asset: "packages/arcane/resources/fonts/Geist-UltraLight.otf"
          weight: 200
        - asset: "packages/arcane/resources/fonts/Geist-Regular.otf"
          weight: 400
    - family: "GeistMono"
      fonts:
        - asset: "packages/arcane/resources/fonts/GeistMono-Black.otf"
          weight: 800
        - asset: "packages/arcane/resources/fonts/GeistMono-Bold.otf"
          weight: 700
        - asset: "packages/arcane/resources/fonts/GeistMono-Light.otf"
          weight: 300
        - asset: "packages/arcane/resources/fonts/GeistMono-Medium.otf"
          weight: 500
        - asset: "packages/arcane/resources/fonts/GeistMono-Regular.otf"
          weight: 400
        - asset: "packages/arcane/resources/fonts/GeistMono-SemiBold.otf"
          weight: 600
        - asset: "packages/arcane/resources/fonts/GeistMono-Thin.otf"
          weight: 100
        - asset: "packages/arcane/resources/fonts/GeistMono-UltraBlack.otf"
          weight: 900
        - asset: "packages/arcane/resources/fonts/GeistMono-UltraLight.otf"
          weight: 200

Libraries

arcane
component/adaptive
component/app
component/bar
component/basic_card
component/bottom_navigation_bar
component/center_body
component/checkbox
component/dialog/command
component/dialog/confirm
component/dialog/confirm_text
component/dialog/dialog
component/dialog/email
component/dialog/text
component/fab
component/glass
component/gutter
component/icon_button
component/icons
component/image
component/radio_cards
component/screen/abstract_screen
component/screen/fill_screen
component/screen/settings_screen
component/screen/sliver_screen
component/section
component/selector
component/sheet
component/tile
component/toast
generated/arcane_shadcn/shadcn_flutter
generated/arcane_shadcn/src/animation
generated/arcane_shadcn/src/collection
generated/arcane_shadcn/src/components/animation
generated/arcane_shadcn/src/components/chart/tracker
generated/arcane_shadcn/src/components/control/button
generated/arcane_shadcn/src/components/control/clickable
generated/arcane_shadcn/src/components/control/command
generated/arcane_shadcn/src/components/control/hover
generated/arcane_shadcn/src/components/control/scrollbar
generated/arcane_shadcn/src/components/control/scrollview
generated/arcane_shadcn/src/components/debug
generated/arcane_shadcn/src/components/display/avatar
generated/arcane_shadcn/src/components/display/badge
generated/arcane_shadcn/src/components/display/calendar
generated/arcane_shadcn/src/components/display/chip
generated/arcane_shadcn/src/components/display/circular_progress_indicator
generated/arcane_shadcn/src/components/display/code_snippet
generated/arcane_shadcn/src/components/display/divider
generated/arcane_shadcn/src/components/display/dot_indicator
generated/arcane_shadcn/src/components/display/keyboard_shortcut
generated/arcane_shadcn/src/components/display/linear_progress_indicator
generated/arcane_shadcn/src/components/display/number_ticker
generated/arcane_shadcn/src/components/display/progress
generated/arcane_shadcn/src/components/display/skeleton
generated/arcane_shadcn/src/components/display/spinner
generated/arcane_shadcn/src/components/form/autocomplete
generated/arcane_shadcn/src/components/form/checkbox
generated/arcane_shadcn/src/components/form/chip_input
generated/arcane_shadcn/src/components/form/color_picker
generated/arcane_shadcn/src/components/form/date_picker
generated/arcane_shadcn/src/components/form/file_input
generated/arcane_shadcn/src/components/form/file_picker
generated/arcane_shadcn/src/components/form/form
generated/arcane_shadcn/src/components/form/form_field
generated/arcane_shadcn/src/components/form/image
generated/arcane_shadcn/src/components/form/input_otp
generated/arcane_shadcn/src/components/form/number_input
generated/arcane_shadcn/src/components/form/phone_input
generated/arcane_shadcn/src/components/form/radio_group
generated/arcane_shadcn/src/components/form/select
generated/arcane_shadcn/src/components/form/slider
generated/arcane_shadcn/src/components/form/sortable
generated/arcane_shadcn/src/components/form/star_rating
generated/arcane_shadcn/src/components/form/switch
generated/arcane_shadcn/src/components/form/text_area
generated/arcane_shadcn/src/components/form/text_field
generated/arcane_shadcn/src/components/form/time_picker
generated/arcane_shadcn/src/components/form/validated
generated/arcane_shadcn/src/components/icon/icon
generated/arcane_shadcn/src/components/icon/triple_dots
generated/arcane_shadcn/src/components/layout/accordion
generated/arcane_shadcn/src/components/layout/alert
generated/arcane_shadcn/src/components/layout/basic
generated/arcane_shadcn/src/components/layout/card
generated/arcane_shadcn/src/components/layout/card_image
generated/arcane_shadcn/src/components/layout/collapsible
generated/arcane_shadcn/src/components/layout/dialog/alert_dialog
generated/arcane_shadcn/src/components/layout/focus_outline
generated/arcane_shadcn/src/components/layout/media_query
generated/arcane_shadcn/src/components/layout/outlined_container
generated/arcane_shadcn/src/components/layout/overflow_marquee
generated/arcane_shadcn/src/components/layout/pixel_snapped_gap
generated/arcane_shadcn/src/components/layout/resizable
generated/arcane_shadcn/src/components/layout/scaffold
generated/arcane_shadcn/src/components/layout/stage_container
generated/arcane_shadcn/src/components/layout/stepper
generated/arcane_shadcn/src/components/layout/steps
generated/arcane_shadcn/src/components/layout/timeline
generated/arcane_shadcn/src/components/layout/tree
generated/arcane_shadcn/src/components/locale/shadcn_localizations
generated/arcane_shadcn/src/components/menu/context_menu
generated/arcane_shadcn/src/components/navigation/pagination
generated/arcane_shadcn/src/components/navigation/tab_list
generated/arcane_shadcn/src/components/navigation/tabs
generated/arcane_shadcn/src/components/overlay/dialog
generated/arcane_shadcn/src/components/overlay/drawer
generated/arcane_shadcn/src/components/overlay/hover_card
generated/arcane_shadcn/src/components/overlay/overlay
generated/arcane_shadcn/src/components/overlay/popover
generated/arcane_shadcn/src/components/overlay/refresh_trigger
generated/arcane_shadcn/src/components/overlay/toast
generated/arcane_shadcn/src/components/overlay/tooltip
generated/arcane_shadcn/src/components/text/selectable
generated/arcane_shadcn/src/components/text/text
generated/arcane_shadcn/src/icons/bootstrap_icons
generated/arcane_shadcn/src/icons/radix_icons
generated/arcane_shadcn/src/platform/platform_implementations_web
generated/arcane_shadcn/src/platform_interface
generated/arcane_shadcn/src/shadcn_app
generated/arcane_shadcn/src/theme/color_scheme
generated/arcane_shadcn/src/theme/generated_colors
generated/arcane_shadcn/src/theme/generated_themes
generated/arcane_shadcn/src/theme/theme
generated/arcane_shadcn/src/theme/typography
generated/arcane_shadcn/src/util
util/blur
util/extensions
util/sliver
util/theme