{"id":13548003,"url":"https://github.com/chitochi/flutter_inset_shadow","last_synced_at":"2026-02-22T13:02:14.238Z","repository":{"id":42370162,"uuid":"470245795","full_name":"chitochi/flutter_inset_shadow","owner":"chitochi","description":"This package extends BoxShadow and BoxDecoration to support the inset property. [maintainer=@chitochi]","archived":false,"fork":false,"pushed_at":"2024-04-30T09:22:27.000Z","size":321,"stargazers_count":27,"open_issues_count":4,"forks_count":18,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-15T07:19:06.346Z","etag":null,"topics":["box-shadow","flutter","inset-shadow"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/flutter_inset_shadow","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chitochi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-15T16:35:51.000Z","updated_at":"2025-09-01T02:01:31.000Z","dependencies_parsed_at":"2024-01-16T17:55:34.780Z","dependency_job_id":"35a2e334-cb91-4a47-a02e-860b365e8ee6","html_url":"https://github.com/chitochi/flutter_inset_shadow","commit_stats":null,"previous_names":["johynpapin/flutter_inset_shadow","chitochi/flutter_inset_shadow","qoumo/flutter_inset_box_shadow","johynpapin/flutter_inset_box_shadow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chitochi/flutter_inset_shadow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chitochi%2Fflutter_inset_shadow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chitochi%2Fflutter_inset_shadow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chitochi%2Fflutter_inset_shadow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chitochi%2Fflutter_inset_shadow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chitochi","download_url":"https://codeload.github.com/chitochi/flutter_inset_shadow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chitochi%2Fflutter_inset_shadow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29604116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T04:38:07.383Z","status":"ssl_error","status_checked_at":"2026-02-19T04:35:50.016Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["box-shadow","flutter","inset-shadow"],"created_at":"2024-08-01T12:01:04.440Z","updated_at":"2026-02-22T13:02:13.745Z","avatar_url":"https://github.com/chitochi.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# Flutter Inset Shadow\n\nFlutter currently does not support the `inset` property for shadows. This type of shadow is for example used in Neumorphism.\n\nThis package extends `BoxShadow` and `BoxDecoration` to support the `inset` property.\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e **What happened to `flutter_inset_box_shadow`?**\n\u003e\n\u003e Previously, this package was called `flutter_inset_box_shadow`.\n\u003e\n\u003e Unfortunately, I've lost access to the verified publisher, allowing me to publish updates to the package.\n\u003e\n\u003e So I decided to publish the package under a new name.\n\u003e\n\u003e For more information, you can read https://github.com/chitochi/flutter_inset_shadow/issues/7. 😄\n\n## Features\n\n- All properties of `BoxShadow` are supported.\n- If the property of a `BoxShadow` changes during a transition, we first make the old shadow disappear before making the new one appear.\n\n## Example\n\n![A simple neumorphic container](https://raw.githubusercontent.com/chitochi/flutter_inset_shadow/main/example.png)\n\n```dart\nimport 'package:flutter/material.dart' hide BoxDecoration, BoxShadow;\nimport 'package:flutter_inset_shadow/flutter_inset_shadow.dart';\n\nvoid main() {\n  runApp(const ExampleApp());\n}\n\nconst primaryColor = Color(0xFFE0E0E0);\n\nclass ExampleApp extends StatelessWidget {\n  const ExampleApp({super.key});\n\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: 'Example',\n      debugShowCheckedModeBanner: false,\n      home: Scaffold(\n        backgroundColor: primaryColor,\n        body: Center(\n          child: Container(\n            width: 150,\n            height: 150,\n            decoration: BoxDecoration(\n              borderRadius: BorderRadius.circular(50),\n              color: primaryColor,\n              boxShadow: const [\n                BoxShadow(\n                  offset: Offset(-20, -20),\n                  blurRadius: 60,\n                  color: Colors.white,\n                  inset: true,\n                ),\n                BoxShadow(\n                  offset: Offset(20, 20),\n                  blurRadius: 60,\n                  color: Color(0xFFBEBEBE),\n                  inset: true,\n                ),\n              ],\n            ),\n          ),\n        ),\n      ),\n    );\n  }\n}\n```\n\n## Usage\n\nFirst, add the package:\n\n```\nflutter pub add flutter_inset_shadow\n```\n\nThen, import it as follows:\n\n```dart\nimport 'package:flutter/material.dart' hide BoxDecoration, BoxShadow;\nimport 'package:flutter_inset_shadow/flutter_inset_shadow.dart';\n```\n\nIt is necessary to hide `BoxDecoration` and `BoxShadow` because this library replaces them.\n\n`BoxShadow` now has a boolean `inset` property, which is set to `false` by default.\n\n```dart\nreturn Container(\n  decoration: BoxDecoration(\n    boxShadow: [\n      BoxShadow(\n        blurRadius: 5,\n        color: Colors.red,\n      ),\n      BoxShadow(\n        offset: Offset(1, 2),\n        blurRadius: 5,\n        spreadRadius: 2,\n        color: Colors.green,\n        inset: true,\n      ),\n    ],\n  ),\n);\n```\n\n## How does it work?\n\nThe algorithm used is the same as that of Blink, the Chromium rendering engine.\n\nThe idea is that we draw a rectangle hollowed out by another rounded rectangle inside, then we blur this hollowed rectangle.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchitochi%2Fflutter_inset_shadow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchitochi%2Fflutter_inset_shadow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchitochi%2Fflutter_inset_shadow/lists"}