SkillAgentSearch skills...

Kartal

extension library for helping while coding application for dart & flutter

Install / Use

/learn @VB10/Kartal
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <a href="https://pub.dev/packages/kartal"><img src="https://img.shields.io/pub/v/kartal.svg" alt="Pub"></a> <a href="https://github.com/vb10/kartal"><img src="https://img.shields.io/github/stars/vb10/kartal.svg?style=flat&logo=github&colorB=deeppink&label=stars" alt="Star on Github"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-purple.svg" alt="License: MIT"></a> <a href="https://www.youtube.com/hardwareandro"><img src="https://img.shields.io/youtube/channel/subscribers/UCdUaAKTLJrPZFStzEJnpQAg" alt="Youtube: HardwareAndro"></a> <a href="https://medium.com/@vbacik-10"> <img src="https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white" alt="Medium: Vbacik"> </a>

</p>

kartal

My birth country is Kartal, so I created an extension to give born more power.

You should look at the example folder if you want to see an example using these extensions.

"Buy Me A Coffee"

Context extension

<img src="https://github.com/VB10/kartal/blob/master/github/context_extension.png?raw=true" alt="Context Extension" width="400"/>

You can use context.border to all.

Border

You can use this extension for border properties with context.border. For example

context.border.lowRadius // it equals to device width divided by 0.02

<details open> <summary>Usages:</summary>
  • context.border.lowRadius // it equals to device width divided by 0.02
  • context.border.normalRadius // it equals to device width divided by 0.05
  • context.border.highRadius // it equals to device width divided by 0.1
  • context.border.normalBorderRadius // it equals to device width divided by 0.05
  • context.border.lowBorderRadius // it equals to device width divided by 0.02
  • context.border.highBorderRadius // it equals to device width divided by 0.1
  • context.border.roundedRectangleBorderLow // it equals to device width divided by 0.02
  • context.border.roundedRectangleAllBorderNormal // it equals to device width divided by 0.05
  • context.border.roundedRectangleBorderNormal // it equals to device width divided by 0.02
  • context.border.roundedRectangleBorderMedium // it equals to device width divided by 0.04
  • context.border.roundedRectangleBorderHigh // it equals to device width divided by 0.1
</details>

Device

You can use for device properties with context.device. For example: context.device.isSmallScreen

<details> <summary> Usages: </summary>
  • context.device.isSmallScreen // The range is defined as 0 <= width < 300.
  • context.device.isMediumScreen // The range is defined as 300 <= width < 600.
  • context.device.isLargeScreen // The range is defined as 600 <= width < 900.
  • context.device.isAndroidDevice // Returns true if the device is an Android device.
  • context.device.isIOSDevice // Returns true if the device is an iOS device.
  • context.device.isWindowsDevice // Returns true if the device is a Windows device.
  • context.device.isLinuxDevice // Returns true if the device is a Linux device.
  • context.device.isMacOSDevice // Returns true if the device is a macOS device.
</details>

General

You can use for general properties with context.general. For example: context.general.appTheme

<details> <summary> Usages: </summary>
  • context.general.mediaQuery (MediaQueryData)
  • context.general.appTheme (ThemeData)
  • context.general.textTheme (TextTheme)
  • context.general.primaryTextTheme (TextTheme)
  • context.general.colorScheme (ColorScheme)
  • context.general.isKeyBoardOpen // Returns true if the keyboard is open.
  • context.general.keyboardPadding // When the keyboard is open, it returns the padding value of the keyboard.
  • context.general.appBrightness (Brightness)
  • context.general.focusNode (FocusNode)
  • context.general.unfocus // Removes focus from the currently focused input field or widget.
</details>

Navigation

<img src="https://github.com/VB10/kartal/blob/master/github/navigation_extension.png?raw=true" alt="Navigation Extension" width="300"/>

You can use for default navigation properties with context.navigation. For example: context.navigation.pop()

<details> <summary> Usages: </summary>
  • context.navigation.pop // Pops the current route off the navigator.
  • popWithRoot /// Pops the current route off the navigator and returns to the root route.
  • navigateName<T extends Object?> // Pushes a named route onto the navigator.
  • navigateToReset<T extends Object?> // Pushes a named route onto the navigator and removes all previous routes.
  • navigateToPage<T extends Object?> // Pushes a new route onto the navigator. </details>

Padding

You can use for padding properties with context.padding. For example: context.padding.low

<details> <summary> Usages: </summary>

low is 0.01, normal is 0.02, medium is 0.04, high is 0.1 of the device height. (Basically, it is a percentage of the device height.)

  • context.padding.low // Add [0.01 percentage of device height ] padding to all sides
  • context.padding.normal// Add [0.02 percentage of device height ] padding to all sides
  • context.padding.medium // Add [0.04 percentage of device height ] padding to all sides
  • context.padding.high // Add [0.1 percentage of device height ] padding to all sides
  • context.padding.horizontalLow // Add [0.01 percentage of device height ] padding to horizontal sides
  • context.padding.horizontalNormal // Add [0.02 percentage of device height ] padding to horizontal sides
  • context.padding.horizontalMedium // Add [0.04 percentage of device height ] padding to horizontal sides
  • context.padding.horizontalHigh // Add [0.1 percentage of device height ] padding to horizontal sides
  • context.padding.verticalLow // Add [0.01 percentage of device height ] padding to vertical sides
  • context.padding.verticalNormal // Add [0.02 percentage of device height ] padding to vertical sides
  • context.padding.verticalMedium // Add [0.04 percentage of device height ] padding to vertical sides
  • context.padding.verticalHigh // Add [0.1 percentage of device height ] padding to vertical sides
  • context.padding.onlyLeftLow // Add [0.01 percentage of device height ] padding to left side
  • context.padding.onlyLeftNormal // Add [0.02 percentage of device height ] padding to left side
  • context.padding.onlyLeftMedium
  • context.padding.onlyLeftHigh // Add [0.1 percentage of device height ] padding to left side
  • context.padding.onlyRightLow // Add [0.01 percentage of device height ] padding to right side
  • context.padding.onlyRightNormal // Add [0.02 percentage of device height ] padding to right side
  • context.padding.onlyRightMedium // Add [0.04 percentage of device height ] padding to right side
  • context.padding.onlyRightHigh // Add [0.1 percentage of device height ] padding to right side
  • context.padding.onlyBottomLow // Add [0.01 percentage of device height ] padding to bottom side
  • context.padding.onlyBottomNormal // Add [0.02 percentage of device height ] padding to bottom side
  • context.padding.onlyBottomMedium // Add [0.04 percentage of device height ] padding to bottom side
  • context.padding.onlyBottomHigh // Add [0.1 percentage of device height ] padding to bottom side
  • context.padding.onlyTopLow // Add [0.01 percentage of device height ] padding to top side
  • context.padding.onlyTopNormal // Add [0.02 percentage of device height ] padding to top side
  • context.padding.onlyTopMedium // Add [0.04 percentage of device height ] padding to top side
  • context.padding.onlyTopHigh // Add [0.1 percentage of device height ] padding to top side
</details>

Size

You can use for size properties with context.sized. For example: context.sized.low

<details> <summary> Usages: </summary>
  • context.sized.height // Height of the current device.
  • context.sized.width // Width of the current device.
  • context.sized.lowValue // 0.01 percentage of the current widget's height.
  • context.sized.normalValue // 0.02 percentage of the current widget's height.
  • context.sized.mediumValue // 0.04 percentage of the current widget's height.
  • context.sized.highValue // 0.1 percentage of the current widget's height.
  • context.sized.dynamicWidth(double val) // Calculates and returns a dynamic width value based on the provided val and the current widget's width.
  • context.sized.dynamicHeight(double val) // Calculates and returns a dynamic height value based on the provided val and the current widget's height.
  • context.sized.emptySizedWidthBoxLow // 0.01 percentage to width empty width box
  • context.sized.emptySizedWidthBoxLow3x // 0.03 percentage of width to empty width box
  • context.sized.emptySizedWidthBoxNormal// 0.05 percentage to width empty width box
  • context.sized.emptySizedWidthBoxHigh // 0.1 percentage to width empty width box
  • context.sized.emptySizedHeightBoxLow // 0.01 percentage to height empty height box
  • context.sized.emptySizedHeightBoxLow3x // 0.03 percentage of height to empty height box
  • context.sized.emptySizedHeightBoxNormal // 0.05 percentage to height empty height box
  • context.sized.emptySizedHeightBoxHigh // 0.1 percentage to height empty height box
</details>

Popup

You can use context.popupManager to all

  • showLoader (Function): A method shows loader indicator by pushing a DialogRoute. Takes optional id, barrierDismissible and widgetBuilder.
  • hideLoader (Function): A method hides current active loader by removing DialogRoute. Takes optional id. If id is not provided will close latest one.

String extension

<img src="https://github.com/VB10/kartal/blob/master/github/string_extension.png?raw=true" alt="String Extension"

View on GitHub
GitHub Stars107
CategoryDevelopment
Updated4d ago
Forks42

Languages

Dart

Security Score

100/100

Audited on Mar 29, 2026

No findings