{"id":31941776,"url":"https://github.com/react-component/listy","last_synced_at":"2025-10-14T09:21:32.330Z","repository":{"id":317571918,"uuid":"1030164003","full_name":"react-component/listy","owner":"react-component","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-01T17:52:35.000Z","size":60,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-01T19:23:51.043Z","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/react-component.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ant-design","patreon":null,"open_collective":"ant-design","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-08-01T07:29:43.000Z","updated_at":"2025-10-01T17:47:54.000Z","dependencies_parsed_at":"2025-10-01T19:23:54.702Z","dependency_job_id":"823e67e4-3bb6-4ed2-9ca5-25c7147b8a8b","html_url":"https://github.com/react-component/listy","commit_stats":null,"previous_names":["react-component/listy"],"tags_count":null,"template":false,"template_full_name":"react-component/trigger","purl":"pkg:github/react-component/listy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Flisty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Flisty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Flisty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Flisty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/react-component","download_url":"https://codeload.github.com/react-component/listy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/react-component%2Flisty/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018614,"owners_count":26086404,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-10-14T09:21:30.756Z","updated_at":"2025-10-14T09:21:32.324Z","avatar_url":"https://github.com/react-component.png","language":"TypeScript","funding_links":["https://github.com/sponsors/ant-design","https://opencollective.com/ant-design"],"categories":[],"sub_categories":[],"readme":"# @rc-component/trigger\n\nReact Trigger Component\n\n[![NPM version][npm-image]][npm-url]\n[![npm download][download-image]][download-url]\n[![build status][github-actions-image]][github-actions-url]\n[![Test coverage][codecov-image]][codecov-url]\n[![bundle size][bundlephobia-image]][bundlephobia-url]\n[![dumi][dumi-image]][dumi-url]\n\n[npm-image]: http://img.shields.io/npm/v/@rc-component/trigger.svg?style=flat-square\n[npm-url]: http://npmjs.org/package/@rc-component/trigger\n[github-actions-image]: https://github.com/react-component/trigger/workflows/CI/badge.svg\n[github-actions-url]: https://github.com/react-component/trigger/actions\n[codecov-image]: https://img.shields.io/codecov/c/github/react-component/trigger/master.svg?style=flat-square\n[codecov-url]: https://codecov.io/gh/react-component/trigger/branch/master\n[david-url]: https://david-dm.org/react-component/trigger\n[david-image]: https://david-dm.org/react-component/trigger/status.svg?style=flat-square\n[david-dev-url]: https://david-dm.org/react-component/trigger?type=dev\n[david-dev-image]: https://david-dm.org/react-component/trigger/dev-status.svg?style=flat-square\n[download-image]: https://img.shields.io/npm/dm/@rc-component/trigger.svg?style=flat-square\n[download-url]: https://npmjs.org/package/@rc-component/trigger\n[bundlephobia-url]: https://bundlephobia.com/result?p=@rc-component/trigger\n[bundlephobia-image]: https://badgen.net/bundlephobia/minzip/@rc-component/trigger\n[dumi-image]: https://img.shields.io/badge/docs%20by-dumi-blue?style=flat-square\n[dumi-url]: https://github.com/umijs/dumi\n\n## Install\n\n[![@rc-component/trigger](https://nodei.co/npm/@rc-component/trigger.png)](https://npmjs.org/package/@rc-component/trigger)\n\n## Usage\n\nInclude the default [styling](https://github.com/react-component/trigger/blob/master/assets/index.less#L4:L11) and then:\n\n```js\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Trigger from '@rc-component/trigger';\n\nReactDOM.render(\n  \u003cTrigger\n    action={['click']}\n    popup={\u003cspan\u003epopup\u003c/span\u003e}\n    popupAlign={{\n      points: ['tl', 'bl'],\n      offset: [0, 3],\n    }}\n  \u003e\n    \u003ca href=\"#\"\u003ehover\u003c/a\u003e\n  \u003c/Trigger\u003e,\n  container,\n);\n```\n\n## Compatibility\n\n| [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png\" alt=\"IE / Edge\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eIE / Edge | [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eFirefox | [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eChrome | [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eSafari | [\u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/src/electron/electron_48x48.png\" alt=\"Electron\" width=\"24px\" height=\"24px\" /\u003e](http://godban.github.io/browsers-support-badges/)\u003cbr\u003eElectron |\n| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| IE11, Edge                                                                                                                                                                                                     | last 2 versions                                                                                                                                                                                                  | last 2 versions                                                                                                                                                                                              | last 2 versions                                                                                                                                                                                              | last 2 versions                                                                                                                                                                                                      |\n\n## Example\n\nhttp://localhost:9001\n\n## Development\n\n```\nnpm install\nnpm start\n```\n\n## API\n\n### props\n\n\u003ctable class=\"table table-bordered table-striped\"\u003e\n    \u003cthead\u003e\n    \u003ctr\u003e\n        \u003cth style=\"width: 100px;\"\u003ename\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003etype\u003c/th\u003e\n        \u003cth style=\"width: 50px;\"\u003edefault\u003c/th\u003e\n        \u003cth\u003edescription\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd\u003ealignPoint\u003c/td\u003e\n          \u003ctd\u003ebool\u003c/td\u003e\n          \u003ctd\u003efalse\u003c/td\u003e\n          \u003ctd\u003ePopup will align with mouse position (support action of 'click', 'hover' and 'contextMenu')\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopupClassName\u003c/td\u003e\n          \u003ctd\u003estring\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eadditional className added to popup\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eforceRender\u003c/td\u003e\n          \u003ctd\u003eboolean\u003c/td\u003e\n          \u003ctd\u003efalse\u003c/td\u003e\n          \u003ctd\u003ewhether render popup before first show\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003edestroyPopupOnHide\u003c/td\u003e\n          \u003ctd\u003eboolean\u003c/td\u003e\n          \u003ctd\u003efalse\u003c/td\u003e\n          \u003ctd\u003ewhether destroy popup when hide\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003egetPopupClassNameFromAlign\u003c/td\u003e\n          \u003ctd\u003egetPopupClassNameFromAlign(align: Object):String\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eadditional className added to popup according to align\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eaction\u003c/td\u003e\n          \u003ctd\u003estring[]\u003c/td\u003e\n          \u003ctd\u003e['hover']\u003c/td\u003e\n          \u003ctd\u003ewhich actions cause popup shown. enum of 'hover','click','focus','contextMenu'\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003emouseEnterDelay\u003c/td\u003e\n          \u003ctd\u003enumber\u003c/td\u003e\n          \u003ctd\u003e0\u003c/td\u003e\n          \u003ctd\u003edelay time to show when mouse enter. unit: s.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003emouseLeaveDelay\u003c/td\u003e\n          \u003ctd\u003enumber\u003c/td\u003e\n          \u003ctd\u003e0.1\u003c/td\u003e\n          \u003ctd\u003edelay time to hide when mouse leave. unit: s.\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopupStyle\u003c/td\u003e\n          \u003ctd\u003eObject\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eadditional style of popup\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eprefixCls\u003c/td\u003e\n          \u003ctd\u003eString\u003c/td\u003e\n          \u003ctd\u003erc-trigger-popup\u003c/td\u003e\n          \u003ctd\u003eprefix class name\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopupTransitionName\u003c/td\u003e\n          \u003ctd\u003eString|Object\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003ehttps://github.com/react-component/animate\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003emaskTransitionName\u003c/td\u003e\n          \u003ctd\u003eString|Object\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003ehttps://github.com/react-component/animate\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eonPopupVisibleChange\u003c/td\u003e\n          \u003ctd\u003eFunction\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003ecall when popup visible is changed\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003emask\u003c/td\u003e\n          \u003ctd\u003eboolean\u003c/td\u003e\n          \u003ctd\u003efalse\u003c/td\u003e\n          \u003ctd\u003ewhether to support mask\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003emaskClosable\u003c/td\u003e\n          \u003ctd\u003eboolean\u003c/td\u003e\n          \u003ctd\u003etrue\u003c/td\u003e\n          \u003ctd\u003ewhether to support click mask to hide\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopupVisible\u003c/td\u003e\n          \u003ctd\u003eboolean\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003ewhether popup is visible\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003ezIndex\u003c/td\u003e\n          \u003ctd\u003enumber\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003epopup's zIndex\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003edefaultPopupVisible\u003c/td\u003e\n          \u003ctd\u003eboolean\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003ewhether popup is visible initially\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopupAlign\u003c/td\u003e\n          \u003ctd\u003eObject: alignConfig of [dom-align](https://github.com/yiminghe/dom-align)\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003epopup 's align config\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eonPopupAlign\u003c/td\u003e\n          \u003ctd\u003efunction(popupDomNode, align)\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003ecallback when popup node is aligned\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopup\u003c/td\u003e\n          \u003ctd\u003eReact.Element | function() =\u003e React.Element\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003epopup content\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003egetPopupContainer\u003c/td\u003e\n          \u003ctd\u003egetPopupContainer(): HTMLElement\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003efunction returning html node which will act as popup container\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003egetDocument\u003c/td\u003e\n          \u003ctd\u003egetDocument(): HTMLElement\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003efunction returning document node which will be attached click event to close trigger\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003epopupPlacement\u003c/td\u003e\n          \u003ctd\u003estring\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003euse preset popup align config from builtinPlacements, can be merged by popupAlign prop\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003ebuiltinPlacements\u003c/td\u003e\n          \u003ctd\u003eobject\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003ebuiltin placement align map. used by placement prop\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003estretch\u003c/td\u003e\n          \u003ctd\u003estring\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003eLet popup div stretch with trigger element. enums of 'width', 'minWidth', 'height', 'minHeight'. (You can also mixed with 'height minWidth')\u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Test Case\n\n```\nnpm test\nnpm run coverage\n```\n\nopen coverage/ dir\n\n## License\n\nrc-trigger is released under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freact-component%2Flisty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freact-component%2Flisty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freact-component%2Flisty/lists"}