Denomination Widget

A Flutter widget for formatting and displaying currency denominations. It provides a convenient way to display monetary amounts with appropriate currency symbols and formatting rules.

Features

  • Supports multiple coin and bill denominations.
  • Customizable formatting rules for displaying amounts.

Getting started

To use this package, add denomination as a dependency in your pubspec.yaml file.

from the package authors, and more.

Example usage

  shape: RoundedRectangleBorder(
    side: BorderSide(width: 2, color: Colors.white),
    borderRadius: BorderRadius.circular(8),
  ),
  child: Denomination(
    autoFocus: denominationFocus,
    primaryButtonLabel: 'Proceed',
    title: Text(
      'Transfer funds to cashier',
      style: GoogleFonts.inter(
        color: Colors.black,
        fontSize: 20,
        fontWeight: FontWeight.bold,
      ),
    ),
    onSubmit: (Denominations values) {
      setState(() {
        denominations = values.toJson();
      });
      handleOnTransferFunds();
    },
    amount: double.tryParse(amountController.text.replaceAll(',', '')) ?? 0,
    child: Column(
      mainAxisAlignment: MainAxisAlignment.start,
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        const Gap(20),
        Text(
          'Get notified of activity',
          style: GoogleFonts.inter(
            fontSize: 14,
            color: Color(0xFF6B7280),
          ),
        ),
        Gap(10.h),
        const Gap(10),
        Text(
          'Amount',
          style: labelTextStyle,
        ),
        const Gap(10),
        SizedBox(
          width: 580,
          height: 59,
          child: TextFormField(
            focusNode: amountFocusNode,
            onFieldSubmitted: (value) {
              remarksfocusNode.requestFocus();
            },
            onChanged: (value) {
              setState(() {});
            },
            inputFormatters: [
              CurrencyInputFormatter(
                mantissaLength: 2,
                useSymbolPadding: true,
              ),
            ],
            controller: amountController,
            style: fieldTextStyle,
            decoration: inputDecoration,
          ),
        ),
        const Gap(10),
        Text(
          'Remarks',
          style: labelTextStyle,
        ),
        const Gap(10),
        SizedBox(
          width: 580,
          height: 50,
          child: TextFormField(
            onFieldSubmitted: (value) {
              setState(() {
                denominationFocus = true;
              });
            },
            focusNode: remarksfocusNode,
            style: fieldTextStyle,
            decoration: inputDecoration,
          ),
        ),
        const Gap(20),
      ],
    ),
  ),
)```

Libraries

denomination