{"id":22339802,"url":"https://github.com/iagormoraes/react-native-skelleton","last_synced_at":"2025-03-26T09:14:07.797Z","repository":{"id":57340135,"uuid":"359025824","full_name":"iagormoraes/react-native-skelleton","owner":"iagormoraes","description":"A simple skeleton component view","archived":false,"fork":false,"pushed_at":"2021-04-18T16:49:11.000Z","size":20702,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T05:45:25.940Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iagormoraes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-18T02:23:32.000Z","updated_at":"2023-10-15T23:38:02.000Z","dependencies_parsed_at":"2022-08-26T03:41:58.191Z","dependency_job_id":null,"html_url":"https://github.com/iagormoraes/react-native-skelleton","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iagormoraes%2Freact-native-skelleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iagormoraes%2Freact-native-skelleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iagormoraes%2Freact-native-skelleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iagormoraes%2Freact-native-skelleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iagormoraes","download_url":"https://codeload.github.com/iagormoraes/react-native-skelleton/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245623078,"owners_count":20645680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-12-04T07:09:27.928Z","updated_at":"2025-03-26T09:14:07.778Z","avatar_url":"https://github.com/iagormoraes.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-native-skelleton\n\nA skelleton solution done in native view, with it you can wrap any view component to enhance your user experience.\n\n\u003cimg src=\"./rn-skelleton example.gif\" width=\"400px\"/\u003e\n\n## Installation\n\n##### NPM\n```sh\nnpm install react-native-skelleton\n```\n\n##### Yarn\n```sh\nyarn add react-native-skelleton\n```\n\n## Usage\n\n```typescript jsx\nimport SkelletonView from 'react-native-skelleton';\n\n...\nrender() {\n  return(\n    \u003cSkelletonView\n        color=\"#00000000\"\n        repeatCount={-1}\n        repeatMode={1}\n        duration={1000}\n        style={{\n            ...style,\n            backgroundColor: '#C3C3C3',\n        }}\n    \u003e\n  )\n}\n```\n\n### With SkelletonGroupView\n\n```typescript jsx\nimport SkelletonView, { SkelletonGroupView } from 'react-native-skelleton';\n\nrender() {\n  return (\n    \u003cSkelletonGroupView\n      duration={1000}\n      interpolator=\"AccelerateDecelerateInterpolator\"\n      style={style}\n    \u003e\n      \u003cSkelletonView\n        color=\"#888888\"\n        repeatCount={-1}\n        repeatMode={2}\n        style={{\n          ...style,\n          backgroundColor: '#C3C3C3',\n        }}\n      /\u003e\n    \u003c/SkelletonGroupView\u003e\n  )\n}\n```\nThis component accepts any children component class, it will search recursively for the SkelletonView class and animate them.\n\n⚠️ Use this if you to animate a group of skeletons in sync, without it they will not be in sync as the timer is not controlled by the AnimatorSet.\n\n## Props and types\n\n```typescript\nexport enum SkelletonRepeatMode {\n  RESTART = 1,\n  REVERSE = 2,\n}\n\n// default is AccelerateDecelerateInterpolator\nexport type SkelletonInterpolator =\n  | 'AccelerateDecelerateInterpolator'\n  | 'AccelerateInterpolator'\n  | 'AnticipateInterpolator'\n  | 'AnticipateOvershootInterpolator'\n  | 'BounceInterpolator'\n  | 'CycleInterpolator'\n  | 'DecelerateInterpolator'\n  | 'LinearInterpolator'\n  | 'OvershootInterpolator';\n\nexport type SkelletonGroupProps = {\n  children?: React.ReactElement | React.ReactElement[];\n  duration?: number;\n  startDelay?: number;\n  interpolator?: SkelletonInterpolator;\n  style?: ViewStyle;\n};\n\nexport type SkelletonProps = {\n  children?: React.ReactElement | React.ReactElement[];\n  color?: string;\n  autoStart?: boolean;\n  duration?: number;\n  startDelay?: number;\n  repeatDelay?: number;\n  repeatMode?: SkelletonRepeatMode.RESTART | SkelletonRepeatMode.REVERSE;\n  repeatCount?: number;\n  interpolator?: SkelletonInterpolator;\n  style?: ViewStyle;\n};\n```\n\n## Known Issues\n\n- animation between views that are not wrapped with SkelletonGroupView is not 100% in sync.\n- repeatDelay only works without using SkelletonGroupView.\n\n## Contributing\n\nSee the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiagormoraes%2Freact-native-skelleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiagormoraes%2Freact-native-skelleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiagormoraes%2Freact-native-skelleton/lists"}