{"id":17473733,"url":"https://github.com/nitesh9001/multi-nested-select","last_synced_at":"2025-03-03T10:31:29.523Z","repository":{"id":57750231,"uuid":"525388611","full_name":"nitesh9001/multi-nested-select","owner":"nitesh9001","description":"npm package for a react-ui library which provide nested list option selector for continent, country and state ","archived":false,"fork":false,"pushed_at":"2023-01-13T04:13:08.000Z","size":1106,"stargazers_count":5,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-25T05:02:41.535Z","etag":null,"topics":["checkbox-selection","country-dropdown","country-list","country-selector","country-state-address","css","group-selection","multi-select","nested-select","nested-selection","nested-structures","npm-package","react-library","reactjs","select-multiple","select-option","state-list-drawable","state-selectors","typescript","webpack"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/multi-nested-select","language":"JavaScript","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/nitesh9001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-16T13:20:19.000Z","updated_at":"2023-11-08T22:12:05.000Z","dependencies_parsed_at":"2023-02-09T14:32:39.434Z","dependency_job_id":null,"html_url":"https://github.com/nitesh9001/multi-nested-select","commit_stats":null,"previous_names":["nitesh9001/nested-select"],"tags_count":3,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitesh9001%2Fmulti-nested-select","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitesh9001%2Fmulti-nested-select/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitesh9001%2Fmulti-nested-select/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitesh9001%2Fmulti-nested-select/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nitesh9001","download_url":"https://codeload.github.com/nitesh9001/multi-nested-select/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240420956,"owners_count":19798502,"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":["checkbox-selection","country-dropdown","country-list","country-selector","country-state-address","css","group-selection","multi-select","nested-select","nested-selection","nested-structures","npm-package","react-library","reactjs","select-multiple","select-option","state-list-drawable","state-selectors","typescript","webpack"],"created_at":"2024-10-18T18:06:48.320Z","updated_at":"2025-03-03T10:31:28.999Z","avatar_url":"https://github.com/nitesh9001.png","language":"JavaScript","readme":"# REACT MULTI-NESTED-SELECT DROPDOWN \n\n![npm](https://img.shields.io/npm/v/multi-nested-select)\n![License](https://img.shields.io/npm/l/multiselect-react-dropdown.svg)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/multi-nested-select)\n![npm](https://img.shields.io/npm/dw/multi-nested-select)\n![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/npm/multi-nested-select)\n\n\n💥💥💥 **React Library for SCREEN RECORDER . Tiny and Efficient. [Check it Out](https://www.npmjs.com/package/recorderweb)** 💥💥💥\n\n\n## Description\n\nA React component which provides multi select functionality for nested option list of continent -\u003e country -\u003e state with various features like selection limit, CSS customization, checkbox, search option, disable preselected values, control nested level keyboard navigation for accessibility, chip select, delete selected, limit chip count, leading and trailing icon for search box, placeholder context and grouping features. Also it has feature to behave like normal dropdown(means single select dropdown).\n\n\n\u003cdiv\u003e\n  \u003cdiv style=\"display: flex;\"\u003e\n   \u003cimg src=\"./images/ss_4.png\" width=\"150\"/\u003e\n    \u003cimg src=\"./images/ss_9.png\" width=\"250\" /\u003e\n  \u003c/div\u003e\n  \u003cdiv style=\"display: flex;\"\u003e\n    \u003cimg src=\"./images/ss8.png\" width=\"150\" /\u003e \n    \u003cimg src=\"./images/ss_7.png\" width=\"150\" /\u003e\n    \u003cimg src=\"./images/ss_6.png\" width=\"150\" /\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\n\n## 🎉🎉 New features in \u003e=1.1.7\n✨ Easy to use  \n🍃 Light weight  \n🚀 Typescript  \n\n\n## 🏳️‍🌈 Getting Started \n\n## 1. Installation 🔧\n```\nnpm install multi-nested-select\n\nyarn add multi-nested-select\n```\n----\n## 2. Demo 👁️\n[React-multi-nested-select-dropdown](https://codesandbox.io/s/multi-select-nested-options-5eyyu4?file=/src/App.js)\n\n----\n## 3. Basic Usage 📑\n```js\nimport NestedSelect from \"multi-nested-select\";;\n\n\ncallbackFunction(selectedItem) {\n    ...\n}\n\nonChange(e_selected) {\n    ...\n}\n\n\u003cNestedSelect\n    buttonContent=\"Done\" // For custom text for button\n    enableButton={true}  // To show or hide the button \n    state={true}         // show the nested level state \n    continent={true}     // show and hide the continent \n    chip={true}          // show and hide the chip \n    onChange={(val) =\u003e onChange(val)}  // while adding/removing this onchange will call\n    callback={(val) =\u003e callbackFunction(val)}  //on submit or save button callback()\n/\u003e\n\n\n\n```\n\n----\n\n## 4. Props 💬\n\n| Prop  | Type  | Default | Description |\n|:--------- | :---- | :----   |:----  |\n| `callback` | `function` | `(val) =\u003e {}` | Callback function will invoked on click of save button\n| `onSearch` | `function` | `(val) =\u003e {}` | Callback function will invoked on change of input feild event (similar to onChange). Params are searchValue\n| `onChange` | `function` | `(val) =\u003e {}` | Callback function will invoked on selection or removal of options. Params are selectedList.\n| `onViewmore` | `function` | `(val) =\u003e {}` | Callback function will invoked on click on view more (only when `chip` is true).\n| `onChipDelete` | `function` | `(val) =\u003e {}` | Callback function will invoked on deletion of chip. (only when `chip` is true).\n| `disabled` | `boolean` | `false` | Make it `true` to disable the select input feild.\n| `selectedValue` | `array` | `[]` | Default value to persist in dropdown\n| `showCustomList` | `array` | `[]` | Dropdown array list according to showCustomList.\n| `error` | `bool` | `false` | To display error on input field.\n| `helperText` | `string` | `\"\"` | To display the helper text for input.\n| `expandChip` | `bool` | `true` | To display chip expand and collapse option\n| `showCheckbox` | `bool` | `true` | To display checkbox option in the dropdown\n| `omitSelected` | `bool` | `false` | To unselect the selected when clicked outside of dropdown. \n| `selectLimit` | `number` | `-1` | You can limit the number of items that can be selected in a dropdown\n| `placeholder` | `string` | `Select Area` | Placeholder text\n| `buttonContent` | `string` | `Save Selected` | To display the button text content`\n| `disable` | `bool` | `false` | to disaled / enabled the button \n| `selectAllOption` | `bool` | `false` | to enable \"All regions\" select option to select in one go\n| `width` | `number` | `360` | width of the component.\n| `height` | `number` | `260` | height of the dropdown.\n| `chip` | `bool` | `false` | view selected option as chip.\n| `chipCount` | `number` | `5` | chip count displayed on input.\n| `placeholderCtx` | `bool` | `true` | enabale/ disable placeholderctx after option select.\n| `enableButton` | `bool` | `true` | Make it `false` to hide the button.\n| `trailing` | `bool` | `true` | Make it `false` to hide the trailing message ex- 0 of 24 selected'.\n| `leading` | `bool` | `true` | Make it `false` to hide the leading icon in search box'.\n| `trailingIcon` | `bool` | `true` | Make it `false` to hide the trailing icon in search box'.\n| `state` | `bool` | `true` | Option to show or hide the state option list .make it `false` to hide state list.\n| `continent` | `bool` | `true` | Option to show or hide the continent option list .make it `false` to hide continent list.\n| `id` | `string` | `''` | Id for the search container / input field..\n| `buttonClass` | `string` | `''` | styling for the save button(this is className).\n| `dropDownClass` | `string` | `''` | styling for the dropdown(this is className).\n| `inputClass` | `string` | `''` | styling for the input field wrapper with trailing icon or leading icons(this is className).\n| `style` | `object` | `{}` | CSS Customization for multi-nested-select input fields.\n| `...props` | `attribute` | `''` | pass any attribute other than above listed, it will default assigned to input feild as their own attributes.\n----\n\n\n## 5. CSS Customization 🌈\n\n```css\nFor customization of CSS we have provide className based support \n\n* For input box -- \nPass props as inputClass= \" ... your class name... \"\n\u003cSelectCountry \n  inputClass=\"myCustom_text\"\n/\u003e\n\n\n* For drop-Down box -- \nPass props as dropDownClass= \"... your class name... \"\n\u003cSelectCountry \n  dropDownClass=\"myCustom_dropbox\"\n/\u003e\n\n* For drop-Down box -- \nPass props as dropDownClass= \"... your class name... \"\n\u003cSelectCountry \n  buttonClass=\"myCustom_button\"\n/\u003e\n\nNow create your own .css or .scss file to define that class style according to your need.\n\nEx -\n\nCreate `custom.css` file in your repo\n\n\n.myCustom_dropbox{\n    height: 200px;\n    z-index: 1000;\n}\n\n```\n\n----\n\n## 8. Licence 📜\nMIT\n\n## 9. Development\nThis package is build with typescript, react js and webpack .\n\n## 10. Contributions\nContributions are welcome, please open an issue and preferrably file a pull request.\n\nOpening Issue Please share sample code using codesandbox.com or stackblitz.com to help me re-produce the issue.\n\n\n\u003c!-- \u003ca href=\"https://www.buymeacoffee.com/niteshsingY\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e --\u003e\n\n\n## 11. Playground\nhttps://codesandbox.io/s/multi-select-nested-options-5eyyu4?file=/src/App.js","funding_links":["https://www.buymeacoffee.com/niteshsingY"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitesh9001%2Fmulti-nested-select","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnitesh9001%2Fmulti-nested-select","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitesh9001%2Fmulti-nested-select/lists"}