├── .nvmrc ├── .gitattributes ├── .npmignore ├── src_docs ├── markdown │ ├── keys │ │ ├── space.md │ │ ├── escape.md │ │ ├── end.md │ │ ├── home.md │ │ ├── tab.md │ │ ├── up.md │ │ ├── down.md │ │ └── enter.md │ ├── properties │ │ ├── inputProps.md │ │ ├── onClear.md │ │ ├── onBlur.md │ │ ├── disabled.md │ │ ├── onOpenDropdown.md │ │ ├── onSearchInputBlur.md │ │ ├── onCloseDropdown.md │ │ ├── openOnMount.md │ │ ├── placeholder.md │ │ ├── deselectOnSelectedOptionClick.md │ │ ├── tags.md │ │ ├── multiple.md │ │ ├── clearable.md │ │ ├── closeOnSelectedOptionClick.md │ │ ├── focusToSelectedValue.md │ │ ├── searchable.md │ │ ├── tagRemoveLabelString.md │ │ ├── clearSelectedValueOnDataSourceChange.md │ │ ├── initialValue.md │ │ ├── searchPlaceholder.md │ │ ├── onSearchInputChange.md │ │ ├── customGroupHeadingClass.md │ │ ├── customClass.md │ │ ├── ajaxErrorString.md │ │ ├── noResultsString.md │ │ ├── clearSelectionLabelString.md │ │ ├── customSearchIconClass.md │ │ ├── groupBy.md │ │ ├── clearSearchLabelString.md │ │ ├── optionLabelKey.md │ │ ├── focusOnMount.md │ │ ├── clearSearchOnSelection.md │ │ ├── customLoaderClass.md │ │ ├── hasMorePages.md │ │ ├── onChange.md │ │ ├── keepOpenOnSelection.md │ │ ├── customTagClass.md │ │ ├── controlId.md │ │ ├── customSelectedValueTemplateFunction.md │ │ ├── forceDefaultBrowserScrolling.md │ │ ├── optionValueKey.md │ │ ├── customGroupHeadingTemplateFunction.md │ │ ├── customFilterFunction.md │ │ ├── customOptionTemplateFunction.md │ │ ├── ajaxDataFetch.md │ │ ├── pageDataFetch.md │ │ └── dataSource.md │ ├── js │ │ ├── keys │ │ │ ├── space.json │ │ │ ├── escape.json │ │ │ ├── end.json │ │ │ ├── home.json │ │ │ ├── tab.json │ │ │ ├── up.json │ │ │ ├── down.json │ │ │ └── enter.json │ │ ├── properties │ │ │ ├── inputProps.json │ │ │ ├── onClear.json │ │ │ ├── onBlur.json │ │ │ ├── disabled.json │ │ │ ├── onOpenDropdown.json │ │ │ ├── onSearchInputBlur.json │ │ │ ├── onCloseDropdown.json │ │ │ ├── openOnMount.json │ │ │ ├── placeholder.json │ │ │ ├── tags.json │ │ │ ├── deselectOnSelectedOptionClick.json │ │ │ ├── multiple.json │ │ │ ├── clearable.json │ │ │ ├── closeOnSelectedOptionClick.json │ │ │ ├── focusToSelectedValue.json │ │ │ ├── searchable.json │ │ │ ├── initialValue.json │ │ │ ├── onSearchInputChange.json │ │ │ ├── searchPlaceholder.json │ │ │ ├── tagRemoveLabelString.json │ │ │ ├── clearSelectedValueOnDataSourceChange.json │ │ │ ├── customGroupHeadingClass.json │ │ │ ├── customClass.json │ │ │ ├── clearSelectionLabelString.json │ │ │ ├── ajaxErrorString.json │ │ │ ├── noResultsString.json │ │ │ ├── customSearchIconClass.json │ │ │ ├── optionLabelKey.json │ │ │ ├── clearSearchLabelString.json │ │ │ ├── focusOnMount.json │ │ │ ├── groupBy.json │ │ │ ├── keepOpenOnSelection.json │ │ │ ├── onChange.json │ │ │ ├── clearSearchOnSelection.json │ │ │ ├── customLoaderClass.json │ │ │ ├── hasMorePages.json │ │ │ ├── controlId.json │ │ │ ├── customTagClass.json │ │ │ ├── customSelectedValueTemplateFunction.json │ │ │ ├── forceDefaultBrowserScrolling.json │ │ │ ├── customGroupHeadingTemplateFunction.json │ │ │ ├── optionValueKey.json │ │ │ ├── customFilterFunction.json │ │ │ ├── customOptionTemplateFunction.json │ │ │ ├── ajaxDataFetch.json │ │ │ ├── pageDataFetch.json │ │ │ └── dataSource.json │ │ └── examples │ │ │ ├── basic-example.json │ │ │ ├── disabled-example.json │ │ │ ├── basic-searchable.json │ │ │ ├── multiselect.json │ │ │ ├── tags-example.json │ │ │ ├── custom-filter-function.json │ │ │ ├── on-open-example.json │ │ │ ├── custom-selected-value-template.json │ │ │ ├── basic-ajax.json │ │ │ ├── open-on-mount.json │ │ │ ├── group-by.json │ │ │ ├── custom-template.json │ │ │ ├── paging.json │ │ │ └── localized.json │ └── examples │ │ ├── basic-example.md │ │ ├── disabled-example.md │ │ ├── basic-searchable.md │ │ ├── tags-example.md │ │ ├── multiselect.md │ │ ├── on-open-example.md │ │ ├── custom-filter-function.md │ │ ├── basic-ajax.md │ │ ├── custom-selected-value-template.md │ │ ├── open-on-mount.md │ │ ├── group-by.md │ │ ├── custom-template.md │ │ ├── paging.md │ │ └── localized.md ├── fonts │ ├── aller-bold.eot │ ├── aller-bold.ttf │ ├── aller-bold.woff │ ├── aller-light.eot │ ├── aller-light.ttf │ ├── aller-light.woff │ ├── novecento-bold.eot │ ├── novecento-bold.ttf │ ├── roboto-black.eot │ ├── roboto-black.ttf │ ├── roboto-black.woff │ └── novecento-bold.woff ├── images │ ├── arrow-down.png │ └── octocat-small.png ├── index-bundle.js ├── properties │ ├── tags.js │ ├── onBlur.js │ ├── groupBy.js │ ├── onClear.js │ ├── disabled.js │ ├── multiple.js │ ├── onChange.js │ ├── clearable.js │ ├── controlId.js │ ├── dataSource.js │ ├── searchable.js │ ├── inputProps.js │ ├── customClass.js │ ├── openOnMount.js │ ├── placeholder.js │ ├── focusOnMount.js │ ├── hasMorePages.js │ ├── initialValue.js │ ├── ajaxDataFetch.js │ ├── pageDataFetch.js │ ├── customTagClass.js │ ├── onOpenDropdown.js │ ├── optionLabelKey.js │ ├── optionValueKey.js │ ├── ajaxErrorString.js │ ├── noResultsString.js │ ├── onCloseDropdown.js │ ├── customLoaderClass.js │ ├── onSearchInputBlur.js │ ├── searchPlaceholder.js │ ├── keepOpenOnSelection.js │ ├── onSearchInputChange.js │ ├── customFilterFunction.js │ ├── focusToSelectedValue.js │ ├── tagRemoveLabelString.js │ ├── customSearchIconClass.js │ ├── clearSearchLabelString.js │ ├── clearSearchOnSelection.js │ ├── customGroupHeadingClass.js │ ├── clearSelectionLabelString.js │ ├── closeOnSelectedOptionClick.js │ ├── customOptionTemplateFunction.js │ ├── forceDefaultBrowserScrolling.js │ ├── deselectOnSelectedOptionClick.js │ ├── customGroupHeadingTemplateFunction.js │ ├── customSelectedValueTemplateFunction.js │ └── clearSelectedValueOnDataSourceChange.js ├── keys │ ├── end.js │ ├── tab.js │ ├── up.js │ ├── home.js │ ├── down.js │ ├── enter.js │ ├── space.js │ └── escape.js ├── version-printer.js ├── super-selects │ ├── support │ │ ├── example-output.js │ │ ├── test-page-example-option-template.js │ │ └── groceries.js │ ├── basic-example.js │ ├── disabled.js │ ├── basic-searchable.js │ ├── tags-example.js │ ├── multiselect.js │ ├── basic-ajax.js │ ├── open-on-mount.js │ ├── on-open-callback.js │ ├── custom-selected-value-template.js │ ├── group-by.js │ ├── custom-filter-function.js │ ├── custom-template.js │ ├── paging.js │ └── localized.js ├── all-keys.js ├── scale.fix.js ├── all-examples.js ├── react-super-select-examples.html ├── keyboard-navigation-app.js ├── stylesheets │ ├── rss-docs.css │ └── pygment_trac.css ├── props-app.js ├── live-examples-app.js ├── test-page-app.js ├── test-page.html └── index.html ├── scripts ├── docco_clean.sh ├── docco_build.sh ├── support │ └── version-printer-base.txt └── copy_docco_docs.sh ├── preprocessor.js ├── .babelrc ├── .editorconfig ├── TODO.txt ├── tasks ├── bump.js ├── dev.js ├── release.js └── linting.js ├── .gitignore ├── gulpfile.js ├── bower.json ├── LICENSE.txt ├── gulpconfig.js ├── .eslintrc.json ├── README.md └── package.json /.nvmrc: -------------------------------------------------------------------------------- 1 | v4.1.2 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | lib/* linguist-vendored 2 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | docs_generated/ 2 | src_docs/ 3 | tmp/ 4 | example/ 5 | tasks/ 6 | scripts/ 7 | 8 | -------------------------------------------------------------------------------- /src_docs/markdown/keys/space.md: -------------------------------------------------------------------------------- 1 | The space key mimics the behavior of the [enter](#enter) key 2 | -------------------------------------------------------------------------------- /scripts/docco_clean.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | echo 'removing docco-generated docs/ directory' 4 | rm -rf ./docs 5 | -------------------------------------------------------------------------------- /src_docs/fonts/aller-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/aller-bold.eot -------------------------------------------------------------------------------- /src_docs/fonts/aller-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/aller-bold.ttf -------------------------------------------------------------------------------- /src_docs/fonts/aller-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/aller-bold.woff -------------------------------------------------------------------------------- /src_docs/fonts/aller-light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/aller-light.eot -------------------------------------------------------------------------------- /src_docs/fonts/aller-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/aller-light.ttf -------------------------------------------------------------------------------- /src_docs/images/arrow-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/images/arrow-down.png -------------------------------------------------------------------------------- /src_docs/index-bundle.js: -------------------------------------------------------------------------------- 1 | require('./props-app'); 2 | require('./keyboard-navigation-app'); 3 | require('./version-printer'); 4 | -------------------------------------------------------------------------------- /src_docs/fonts/aller-light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/aller-light.woff -------------------------------------------------------------------------------- /src_docs/fonts/novecento-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/novecento-bold.eot -------------------------------------------------------------------------------- /src_docs/fonts/novecento-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/novecento-bold.ttf -------------------------------------------------------------------------------- /src_docs/fonts/roboto-black.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/roboto-black.eot -------------------------------------------------------------------------------- /src_docs/fonts/roboto-black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/roboto-black.ttf -------------------------------------------------------------------------------- /src_docs/fonts/roboto-black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/roboto-black.woff -------------------------------------------------------------------------------- /src_docs/images/octocat-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/images/octocat-small.png -------------------------------------------------------------------------------- /scripts/docco_build.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | echo 'building annotated source with docco' 4 | docco ./src/react-super-select.js 5 | -------------------------------------------------------------------------------- /src_docs/fonts/novecento-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alsoscotland/react-super-select/HEAD/src_docs/fonts/novecento-bold.woff -------------------------------------------------------------------------------- /src_docs/markdown/keys/escape.md: -------------------------------------------------------------------------------- 1 | #### (Closed Control State) 2 | - *no effect* 3 | 4 | #### (Opened Control State) 5 | - **Close the dropdown** 6 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/inputProps.md: -------------------------------------------------------------------------------- 1 | 2 | (**Object**) *optional* 3 | 4 | Custom props to be applied directly to the input component. 5 | -------------------------------------------------------------------------------- /src_docs/markdown/js/keys/space.json: -------------------------------------------------------------------------------- 1 | {"body":"
The space key mimics the behavior of the enter key
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/onClear.md: -------------------------------------------------------------------------------- 1 | 2 | (**Function**) 3 | 4 | A callback which will be fired when a user manaually clears the selection(s). 5 | -------------------------------------------------------------------------------- /preprocessor.js: -------------------------------------------------------------------------------- 1 | var ReactTools = require('react-tools'); 2 | 3 | module.exports = { 4 | process: function(src) { 5 | return ReactTools.transform(src); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/onBlur.md: -------------------------------------------------------------------------------- 1 | 2 | (**Function**) *required* 3 | 4 | A callback which will fire anytime a blur event occurs on the main trigger div 5 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/disabled.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) **(Default: false)** *optional* 3 | 4 | Whether or not the control is in a disabled state 5 | 6 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/onOpenDropdown.md: -------------------------------------------------------------------------------- 1 | 2 | (**Function**) *optional* 3 | 4 | A callback which will be fired every time the react super select dropdown is opened. -------------------------------------------------------------------------------- /src_docs/markdown/properties/onSearchInputBlur.md: -------------------------------------------------------------------------------- 1 | 2 | (**Function**) *required* 3 | 4 | A callback which will fire anytime a blur event occurs on the search input 5 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/onCloseDropdown.md: -------------------------------------------------------------------------------- 1 | 2 | (**Function**) *optional* 3 | 4 | A callback which will be fired every time the react super select dropdown is closed. 5 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/openOnMount.md: -------------------------------------------------------------------------------- 1 | 2 | (**openOnMount**) (**Boolean**) *optional* 3 | 4 | When set to true, The component will render with the dropdown open on initial render. 5 | 6 | 7 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/placeholder.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**) *optional* 3 | 4 | This string value will be displayed in the main display area of your control when the user has no selected values 5 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/deselectOnSelectedOptionClick.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) **(Default: true)** *optional* 3 | 4 | Whether clicking an already-selected option will deselect it 5 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/tags.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) *optional* 3 | 4 | Whether or not to display your chosen multi-select values as tags. 5 | 6 | (When set, there is no need to set the **multiple** option) 7 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/inputProps.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Object) optional
\nCustom props to be applied directly to the input component.
\n","updatedAt":"2018-06-20T14:29:40.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/onClear.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Function)
\nA callback which will be fired when a user manaually clears the selection(s).
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/multiple.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) *optional* 3 | 4 | Whether or not the control supports multi-selection. 5 | 6 | When using the **tags** display option, this option is redundant 7 | -------------------------------------------------------------------------------- /src_docs/markdown/keys/end.md: -------------------------------------------------------------------------------- 1 | #### (Closed Control State) 2 | - *no effect* 3 | 4 | #### (Opened Control State) 5 | - **Move focus to the last available option** 6 | 7 | Pressing the end key moves focus to the last option in the dropdown 8 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/clearable.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) **(Default: true)** *optional* 3 | 4 | Whether or not the control will render a button in the dropdown trigger which will clear its selected values 5 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/closeOnSelectedOptionClick.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) **(Default: true)** *optional* 3 | 4 | Whether clicking an already-selected option will cause the control to close 5 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/focusToSelectedValue.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) **(Default: true)** *optional* 3 | 4 | whether or not the dropdown list should scroll to (focus) the most recently clicked value 5 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ "react", 3 | ["es2015"], 4 | ["minify", {"mangle": false}] 5 | ], 6 | "plugins": [ 7 | "lodash", 8 | "transform-react-constant-elements" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /src_docs/markdown/keys/home.md: -------------------------------------------------------------------------------- 1 | #### (Closed Control State) 2 | - *no effect* 3 | 4 | #### (Opened Control State) 5 | - **Move focus to first available option** 6 | 7 | Pressing the home key moves focus to the first option in the dropdown 8 | 9 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/onBlur.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Function) required
\nA callback which will fire anytime a blur event occurs on the main trigger div
\n","updatedAt":"2018-02-22T03:49:38.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/searchable.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) *optional* 3 | 4 | Whether or not to show a search bar in the dropdown area which offers text-based filtering of the dataSource options (by label **optionLabelKey**) 5 | -------------------------------------------------------------------------------- /src_docs/properties/tags.js: -------------------------------------------------------------------------------- 1 | var tagsMarkdown = require('../markdown/js/properties/tags').body; 2 | 3 | var tagsProp = { 4 | 5 | nameAttr: "tags", 6 | 7 | renderString: tagsMarkdown 8 | 9 | }; 10 | 11 | module.exports = tagsProp; 12 | -------------------------------------------------------------------------------- /src_docs/keys/end.js: -------------------------------------------------------------------------------- 1 | var endMarkdown = require('../markdown/js/keys/end').body; 2 | 3 | var endKey = { 4 | 5 | nameAttr: "end", 6 | displayName: "End Key", 7 | 8 | renderString: endMarkdown 9 | 10 | }; 11 | 12 | module.exports = endKey; 13 | -------------------------------------------------------------------------------- /src_docs/keys/tab.js: -------------------------------------------------------------------------------- 1 | var tabMarkdown = require('../markdown/js/keys/tab').body; 2 | 3 | var tabKey = { 4 | 5 | nameAttr: "tab", 6 | displayName: "Tab Key", 7 | 8 | renderString: tabMarkdown 9 | 10 | }; 11 | 12 | module.exports = tabKey; 13 | -------------------------------------------------------------------------------- /src_docs/keys/up.js: -------------------------------------------------------------------------------- 1 | var upMarkdown = require('../markdown/js/keys/up').body; 2 | 3 | var upKey = { 4 | 5 | nameAttr: "up", 6 | displayName: "Up Arrow Key", 7 | 8 | renderString: upMarkdown 9 | 10 | }; 11 | 12 | module.exports = upKey; 13 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/disabled.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Boolean) (Default: false) optional
\nWhether or not the control is in a disabled state
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/properties/onBlur.js: -------------------------------------------------------------------------------- 1 | var onBlurMarkdown = require('../markdown/js/properties/onBlur').body; 2 | 3 | var onBlurProp = { 4 | 5 | nameAttr: "onBlur", 6 | 7 | renderString: onBlurMarkdown 8 | 9 | }; 10 | 11 | module.exports = onBlurProp; 12 | -------------------------------------------------------------------------------- /src_docs/keys/home.js: -------------------------------------------------------------------------------- 1 | var homeMarkdown = require('../markdown/js/keys/home').body; 2 | 3 | var homeKey = { 4 | 5 | nameAttr: "home", 6 | displayName: "Home Key", 7 | 8 | renderString: homeMarkdown 9 | 10 | }; 11 | 12 | module.exports = homeKey; 13 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/onOpenDropdown.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Function) optional
\nA callback which will be fired every time the react super select dropdown is opened.
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/onSearchInputBlur.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Function) required
\nA callback which will fire anytime a blur event occurs on the search input
\n","updatedAt":"2018-02-22T03:49:38.000Z"} -------------------------------------------------------------------------------- /src_docs/properties/groupBy.js: -------------------------------------------------------------------------------- 1 | var groupByMarkdown = require('../markdown/js/properties/groupBy').body; 2 | 3 | var groupByProp = { 4 | 5 | nameAttr: "groupBy", 6 | 7 | renderString: groupByMarkdown 8 | 9 | }; 10 | 11 | module.exports = groupByProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/onClear.js: -------------------------------------------------------------------------------- 1 | var onClearMarkdown = require('../markdown/js/properties/onClear').body; 2 | 3 | var onClearProp = { 4 | 5 | nameAttr: "onClear", 6 | 7 | renderString: onClearMarkdown 8 | 9 | }; 10 | 11 | module.exports = onClearProp; 12 | -------------------------------------------------------------------------------- /src_docs/keys/down.js: -------------------------------------------------------------------------------- 1 | var downMarkdown = require('../markdown/js/keys/down').body; 2 | 3 | var downKey = { 4 | 5 | nameAttr: "down", 6 | displayName: "Down Arrow Key", 7 | 8 | renderString: downMarkdown 9 | 10 | }; 11 | 12 | module.exports = downKey; 13 | -------------------------------------------------------------------------------- /src_docs/keys/enter.js: -------------------------------------------------------------------------------- 1 | var enterMarkdown = require('../markdown/js/keys/enter').body; 2 | 3 | var enterKey = { 4 | 5 | nameAttr: "enter", 6 | displayName: "Enter Key", 7 | 8 | renderString: enterMarkdown 9 | 10 | }; 11 | 12 | module.exports = enterKey; 13 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/onCloseDropdown.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Function) optional
\nA callback which will be fired every time the react super select dropdown is closed.
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/keys/space.js: -------------------------------------------------------------------------------- 1 | var spaceMarkdown = require('../markdown/js/keys/space').body; 2 | 3 | var spaceKey = { 4 | 5 | nameAttr: "space", 6 | displayName: "Space Bar Key", 7 | 8 | renderString: spaceMarkdown 9 | 10 | }; 11 | 12 | module.exports = spaceKey; 13 | -------------------------------------------------------------------------------- /src_docs/properties/disabled.js: -------------------------------------------------------------------------------- 1 | var disabledMarkdown = require('../markdown/js/properties/disabled').body; 2 | 3 | var disabledProp = { 4 | 5 | nameAttr: "disabled", 6 | 7 | renderString: disabledMarkdown 8 | 9 | }; 10 | 11 | module.exports = disabledProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/multiple.js: -------------------------------------------------------------------------------- 1 | var multipleMarkdown = require('../markdown/js/properties/multiple').body; 2 | 3 | var multipleProp = { 4 | 5 | nameAttr: "multiple", 6 | 7 | renderString: multipleMarkdown 8 | 9 | }; 10 | 11 | module.exports = multipleProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/onChange.js: -------------------------------------------------------------------------------- 1 | var onChangeMarkdown = require('../markdown/js/properties/onChange').body; 2 | 3 | var onChangeProp = { 4 | 5 | nameAttr: "onChange", 6 | 7 | renderString: onChangeMarkdown 8 | 9 | }; 10 | 11 | module.exports = onChangeProp; 12 | -------------------------------------------------------------------------------- /src_docs/keys/escape.js: -------------------------------------------------------------------------------- 1 | var escapeMarkdown = require('../markdown/js/keys/escape').body; 2 | 3 | var escapeKey = { 4 | 5 | nameAttr: "escape", 6 | displayName: "Escape Key", 7 | 8 | renderString: escapeMarkdown 9 | 10 | }; 11 | 12 | module.exports = escapeKey; 13 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/tagRemoveLabelString.md: -------------------------------------------------------------------------------- 1 | 2 | (**tagRemoveLabelString**) *optional* 3 | 4 | (Used in conjunction with the **tags** option) 5 | 6 | This string will be used as an aria-label for the remove-tag button on each tag (for accesibility). 7 | -------------------------------------------------------------------------------- /src_docs/properties/clearable.js: -------------------------------------------------------------------------------- 1 | var clearableMarkdown = require('../markdown/js/properties/clearable').body; 2 | 3 | var clearableProp = { 4 | 5 | nameAttr: "clearable", 6 | 7 | renderString: clearableMarkdown 8 | 9 | }; 10 | 11 | module.exports = clearableProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/controlId.js: -------------------------------------------------------------------------------- 1 | var controlIdMarkdown = require('../markdown/js/properties/controlId').body; 2 | 3 | var controlIdProp = { 4 | 5 | nameAttr: "controlId", 6 | 7 | renderString: controlIdMarkdown 8 | 9 | }; 10 | 11 | module.exports = controlIdProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/clearSelectedValueOnDataSourceChange.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) **(Default: false)** *optional* 3 | 4 | Whether or not the control's selected value will be cleared if the dataSource prop's value is changed 5 | 6 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/initialValue.md: -------------------------------------------------------------------------------- 1 | 2 | (**Array**|**Object**) *optional* 3 | 4 | The selected value the control will be initialized with 5 | 6 | Must be either an array of option objects or a single option object from your dataSource collection 7 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/searchPlaceholder.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**) *optional* 3 | 4 | (Used in conjunction with the **searchable** option) 5 | 6 | This string will be shown in the dropdown area’s search input field when a user has not entered any characters 7 | -------------------------------------------------------------------------------- /src_docs/properties/dataSource.js: -------------------------------------------------------------------------------- 1 | var dataSourceMarkdown = require('../markdown/js/properties/dataSource').body; 2 | 3 | var dataSourceProp = { 4 | 5 | nameAttr: "dataSource", 6 | 7 | renderString: dataSourceMarkdown 8 | 9 | }; 10 | 11 | module.exports = dataSourceProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/searchable.js: -------------------------------------------------------------------------------- 1 | var searchableMarkdown = require('../markdown/js/properties/searchable').body; 2 | 3 | var searchableProp = { 4 | 5 | nameAttr: "searchable", 6 | 7 | renderString: searchableMarkdown 8 | 9 | }; 10 | 11 | module.exports = searchableProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/openOnMount.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(openOnMount) (Boolean) optional
\nWhen set to true, The component will render with the dropdown open on initial render.
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/placeholder.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(String) optional
\nThis string value will be displayed in the main display area of your control when the user has no selected values
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/onSearchInputChange.md: -------------------------------------------------------------------------------- 1 | 2 | (**Function**) *optional* 3 | 4 | A callback which will be fired every time the react super select's search input field changes. 5 | 6 | It receives one argument, the string value of the current search term 7 | -------------------------------------------------------------------------------- /src_docs/properties/inputProps.js: -------------------------------------------------------------------------------- 1 | var inputPropsMarkdown = require('../markdown/js/properties/inputProps').body; 2 | 3 | var initialValueProp = { 4 | 5 | nameAttr: "inputProps", 6 | 7 | renderString: inputPropsMarkdown 8 | 9 | }; 10 | 11 | module.exports = initialValueProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/customGroupHeadingClass.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**) *optional* 3 | 4 | Used in conjunction with the **groupBy** option. 5 | 6 | This string value will be added as a custom css class to the group headings which are rendered into the dropdown 7 | -------------------------------------------------------------------------------- /src_docs/properties/customClass.js: -------------------------------------------------------------------------------- 1 | var customClassMarkdown = require('../markdown/js/properties/customClass').body; 2 | 3 | var customClassProp = { 4 | 5 | nameAttr: "customClass", 6 | 7 | renderString: customClassMarkdown 8 | 9 | }; 10 | 11 | module.exports = customClassProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/openOnMount.js: -------------------------------------------------------------------------------- 1 | var openOnMountMarkdown = require('../markdown/js/properties/openOnMount').body; 2 | 3 | var openOnMountProp = { 4 | 5 | nameAttr: "openOnMount", 6 | 7 | renderString: openOnMountMarkdown 8 | 9 | }; 10 | 11 | module.exports = openOnMountProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/placeholder.js: -------------------------------------------------------------------------------- 1 | var placeholderMarkdown = require('../markdown/js/properties/placeholder').body; 2 | 3 | var placeholderProp = { 4 | 5 | nameAttr: "placeholder", 6 | 7 | renderString: placeholderMarkdown 8 | 9 | }; 10 | 11 | module.exports = placeholderProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/customClass.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**) *optional* 3 | 4 | This value will be added as a css class to the control’s main wrapping element.You should be able to overide all styling by leading your rules with 5 | 6 | ```css 7 | .r-ss-wrap.{customClass} 8 | ``` 9 | -------------------------------------------------------------------------------- /src_docs/properties/focusOnMount.js: -------------------------------------------------------------------------------- 1 | var focusOnMountMarkdown = require('../markdown/js/properties/focusOnMount').body; 2 | 3 | var focusOnMountProp = { 4 | 5 | nameAttr: "focusOnMount", 6 | 7 | renderString: focusOnMountMarkdown 8 | 9 | }; 10 | 11 | module.exports = focusOnMountProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/hasMorePages.js: -------------------------------------------------------------------------------- 1 | var hasMorePagesMarkdown = require('../markdown/js/properties/hasMorePages').body; 2 | 3 | var hasMorePagesProp = { 4 | 5 | nameAttr: "hasMorePages", 6 | 7 | renderString: hasMorePagesMarkdown 8 | 9 | }; 10 | 11 | module.exports = hasMorePagesProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/initialValue.js: -------------------------------------------------------------------------------- 1 | var initialValueMarkdown = require('../markdown/js/properties/initialValue').body; 2 | 3 | var initialValueProp = { 4 | 5 | nameAttr: "initialValue", 6 | 7 | renderString: initialValueMarkdown 8 | 9 | }; 10 | 11 | module.exports = initialValueProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/js/keys/escape.json: -------------------------------------------------------------------------------- 1 | {"body":"(Boolean) optional
\nWhether or not to display your chosen multi-select values as tags.
\n(When set, there is no need to set the multiple option)
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/properties/ajaxDataFetch.js: -------------------------------------------------------------------------------- 1 | var ajaxDataFetchMarkdown = require('../markdown/js/properties/ajaxDataFetch').body; 2 | 3 | var ajaxDataFetchProp = { 4 | 5 | nameAttr: "ajaxDataFetch", 6 | 7 | renderString: ajaxDataFetchMarkdown 8 | 9 | }; 10 | 11 | module.exports = ajaxDataFetchProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/pageDataFetch.js: -------------------------------------------------------------------------------- 1 | var pageDataFetchMarkdown = require('../markdown/js/properties/pageDataFetch').body; 2 | 3 | var pageDataFetchProp = { 4 | 5 | nameAttr: "pageDataFetch", 6 | 7 | renderString: pageDataFetchMarkdown 8 | 9 | }; 10 | 11 | module.exports = pageDataFetchProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/deselectOnSelectedOptionClick.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Boolean) (Default: true) optional
\nWhether clicking an already-selected option will deselect it
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/multiple.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Boolean) optional
\nWhether or not the control supports multi-selection.
\nWhen using the tags display option, this option is redundant
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/ajaxErrorString.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**) *optional* 3 | 4 | (Used in conjunction with the **ajaxDataFetch** & **pageDataFetch** options) 5 | 6 | This string will be shown as a message in the dropdown area in the event that an ajax request for options data fails 7 | 8 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/noResultsString.md: -------------------------------------------------------------------------------- 1 | 2 | (**String** or **React Element**) *optional* 3 | 4 | A string or React Element value which will be displayed when your dropdown shows no results. (i.e. **dataSource** collection is empty , or **ajaxDataFetch** returns an empty collection) 5 | -------------------------------------------------------------------------------- /src_docs/properties/customTagClass.js: -------------------------------------------------------------------------------- 1 | var customTagClassMarkdown = require('../markdown/js/properties/customTagClass').body; 2 | 3 | var customTagClassProp = { 4 | 5 | nameAttr: "customTagClass", 6 | 7 | renderString: customTagClassMarkdown 8 | 9 | }; 10 | 11 | module.exports = customTagClassProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/onOpenDropdown.js: -------------------------------------------------------------------------------- 1 | var onOpenDropdownMarkdown = require('../markdown/js/properties/onOpenDropdown').body; 2 | 3 | var onOpenDropdownProp = { 4 | 5 | nameAttr: "onOpenDropdown", 6 | 7 | renderString: onOpenDropdownMarkdown 8 | 9 | }; 10 | 11 | module.exports = onOpenDropdownProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/optionLabelKey.js: -------------------------------------------------------------------------------- 1 | var optionLabelKeyMarkdown = require('../markdown/js/properties/optionLabelKey').body; 2 | 3 | var optionLabelKeyProp = { 4 | 5 | nameAttr: "optionLabelKey", 6 | 7 | renderString: optionLabelKeyMarkdown 8 | 9 | }; 10 | 11 | module.exports = optionLabelKeyProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/optionValueKey.js: -------------------------------------------------------------------------------- 1 | var optionValueKeyMarkdown = require('../markdown/js/properties/optionValueKey').body; 2 | 3 | var optionValueKeyProp = { 4 | 5 | nameAttr: "optionValueKey", 6 | 7 | renderString: optionValueKeyMarkdown 8 | 9 | }; 10 | 11 | module.exports = optionValueKeyProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/clearable.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Boolean) (Default: true) optional
\nWhether or not the control will render a button in the dropdown trigger which will clear its selected values
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/properties/ajaxErrorString.js: -------------------------------------------------------------------------------- 1 | var ajaxErrorStringMarkdown = require('../markdown/js/properties/ajaxErrorString').body; 2 | 3 | var ajaxErrorStringProp = { 4 | 5 | nameAttr: "ajaxErrorString", 6 | 7 | renderString: ajaxErrorStringMarkdown 8 | 9 | }; 10 | 11 | module.exports = ajaxErrorStringProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/noResultsString.js: -------------------------------------------------------------------------------- 1 | var noResultsStringMarkdown = require('../markdown/js/properties/noResultsString').body; 2 | 3 | var noResultsStringProp = { 4 | 5 | nameAttr: "noResultsString", 6 | 7 | renderString: noResultsStringMarkdown 8 | 9 | }; 10 | 11 | module.exports = noResultsStringProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/onCloseDropdown.js: -------------------------------------------------------------------------------- 1 | var onCloseDropdownMarkdown = require('../markdown/js/properties/onCloseDropdown').body; 2 | 3 | var onCloseDropdownProp = { 4 | 5 | nameAttr: "onCloseDropdown", 6 | 7 | renderString: onCloseDropdownMarkdown 8 | 9 | }; 10 | 11 | module.exports = onCloseDropdownProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/closeOnSelectedOptionClick.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Boolean) (Default: true) optional
\nWhether clicking an already-selected option will cause the control to close
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/focusToSelectedValue.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Boolean) (Default: true) optional
\nwhether or not the dropdown list should scroll to (focus) the most recently clicked value
\n","updatedAt":"2018-06-29T04:40:00.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/clearSelectionLabelString.md: -------------------------------------------------------------------------------- 1 | 2 | (**clearSelectionLabelString**) *optional* 3 | 4 | (Used in conjunction with the **clearable** option - which defaults to true) 5 | 6 | This string will be used as an aria-label for the clear selection button (for accesibility). 7 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/searchable.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Boolean) optional
\nWhether or not to show a search bar in the dropdown area which offers text-based filtering of the dataSource options (by label optionLabelKey)
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/properties/customLoaderClass.js: -------------------------------------------------------------------------------- 1 | var customLoaderClassMarkdown = require('../markdown/js/properties/customLoaderClass').body; 2 | 3 | var customLoaderClassProp = { 4 | 5 | nameAttr: "customLoaderClass", 6 | 7 | renderString: customLoaderClassMarkdown 8 | 9 | }; 10 | 11 | module.exports = customLoaderClassProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/onSearchInputBlur.js: -------------------------------------------------------------------------------- 1 | var onSearchInputBlurMarkdown = require('../markdown/js/properties/onSearchInputBlur').body; 2 | 3 | var onSearchInputBlurProp = { 4 | 5 | nameAttr: "onSearchInputBlur", 6 | 7 | renderString: onSearchInputBlurMarkdown 8 | 9 | }; 10 | 11 | module.exports = onSearchInputBlurProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/searchPlaceholder.js: -------------------------------------------------------------------------------- 1 | var searchPlaceholderMarkdown = require('../markdown/js/properties/searchPlaceholder').body; 2 | 3 | var searchPlaceholderProp = { 4 | 5 | nameAttr: "searchPlaceholder", 6 | 7 | renderString: searchPlaceholderMarkdown 8 | 9 | }; 10 | 11 | module.exports = searchPlaceholderProp; 12 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | root = true 4 | 5 | [*] 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = false 9 | insert_final_newline = true 10 | indent_style = tab 11 | 12 | [*.json] 13 | indent_style = space 14 | indent_size = 2 15 | -------------------------------------------------------------------------------- /src_docs/properties/keepOpenOnSelection.js: -------------------------------------------------------------------------------- 1 | var keepOpenOnSelectionMarkdown = require('../markdown/js/properties/keepOpenOnSelection').body; 2 | 3 | var keepOpenOnSelectionProp = { 4 | 5 | nameAttr: "keepOpenOnSelection", 6 | 7 | renderString: keepOpenOnSelectionMarkdown 8 | 9 | }; 10 | 11 | module.exports = keepOpenOnSelectionProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/onSearchInputChange.js: -------------------------------------------------------------------------------- 1 | var onSearchInputChangeMarkdown = require('../markdown/js/properties/onSearchInputChange').body; 2 | 3 | var onSearchInputChangeProp = { 4 | 5 | nameAttr: "onSearchInputChange", 6 | 7 | renderString: onSearchInputChangeMarkdown 8 | 9 | }; 10 | 11 | module.exports = onSearchInputChangeProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/customFilterFunction.js: -------------------------------------------------------------------------------- 1 | var customFilterFunctionMarkdown = require('../markdown/js/properties/customFilterFunction').body; 2 | 3 | var customFilterFunctionProp = { 4 | 5 | nameAttr: "customFilterFunction", 6 | 7 | renderString: customFilterFunctionMarkdown 8 | 9 | }; 10 | 11 | module.exports = customFilterFunctionProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/focusToSelectedValue.js: -------------------------------------------------------------------------------- 1 | var focusToSelectedValueMarkdown = require('../markdown/js/properties/focusToSelectedValue').body; 2 | 3 | var focusToSelectedValueProp = { 4 | 5 | nameAttr: "focusToSelectedValue", 6 | 7 | renderString: focusToSelectedValueMarkdown 8 | 9 | }; 10 | 11 | module.exports = focusToSelectedValueProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/tagRemoveLabelString.js: -------------------------------------------------------------------------------- 1 | var tagRemoveLabelStringMarkdown = require('../markdown/js/properties/tagRemoveLabelString').body; 2 | 3 | var tagRemoveLabelStringProp = { 4 | 5 | nameAttr: "tagRemoveLabelString", 6 | 7 | renderString: tagRemoveLabelStringMarkdown 8 | 9 | }; 10 | 11 | module.exports = tagRemoveLabelStringProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/customSearchIconClass.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | (**String**) *optional* 4 | 5 | This value will be added as a css class to the icon element in the search-filtering bar (when **searchable** is true). 6 | This allows you to override the default search icon. 7 | 8 | (By default the icon will be a magnifying glass) 9 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/groupBy.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**|**Object**|**Function**) *optional* 3 | 4 | Allows you to sort your dropdown options into groups by leveraging Lodash’s groupBy function. 5 | 6 | Please reference the [Lodash documentation](https://lodash.com/docs#groupBy) for behavior of groupBy when passed different argument types 7 | 8 | -------------------------------------------------------------------------------- /src_docs/properties/customSearchIconClass.js: -------------------------------------------------------------------------------- 1 | var customSearchIconClassMarkdown = require('../markdown/js/properties/customSearchIconClass').body; 2 | 3 | var customSearchIconClassProp = { 4 | 5 | nameAttr: "customSearchIconClass", 6 | 7 | renderString: customSearchIconClassMarkdown 8 | 9 | }; 10 | 11 | module.exports = customSearchIconClassProp; 12 | -------------------------------------------------------------------------------- /scripts/support/version-printer-base.txt: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom"; 3 | 4 | class VersionPrinter extends React.Component { 5 | render() { 6 | return({RSS_VERSION}); 7 | } 8 | } 9 | 10 | module.exports = VersionPrinter; 11 | ReactDOM.render((Array|Object) optional
\nThe selected value the control will be initialized with
\nMust be either an array of option objects or a single option object from your dataSource collection
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/onSearchInputChange.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Function) optional
\nA callback which will be fired every time the react super select's search input field changes.
\nIt receives one argument, the string value of the current search term
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/searchPlaceholder.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(String) optional
\n(Used in conjunction with the searchable option)
\nThis string will be shown in the dropdown area’s search input field when a user has not entered any characters
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/tagRemoveLabelString.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(tagRemoveLabelString) optional
\n(Used in conjunction with the tags option)
\nThis string will be used as an aria-label for the remove-tag button on each tag (for accesibility).
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/clearSearchLabelString.md: -------------------------------------------------------------------------------- 1 | 2 | (**clearSearchLabelString**) *optional* 3 | 4 | (Used in conjunction with the **searchable** option - which defaults to true) 5 | 6 | This string will be used as an aria-label for the clear search button when a user has entered a value into the search field (for accesibility). 7 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/optionLabelKey.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**) *optional* 3 | 4 | (defaults to using ‘name’ as the key if left undefined) 5 | 6 | This value represents the key in each option object (from the **dataSource** collection) 7 | 8 | This key should map to the value you would like displayed as a label for each option. 9 | 10 | -------------------------------------------------------------------------------- /src_docs/properties/clearSearchLabelString.js: -------------------------------------------------------------------------------- 1 | var clearSearchLabelStringMarkdown = require('../markdown/js/properties/clearSearchLabelString').body; 2 | 3 | var clearSearchLabelStringProp = { 4 | 5 | nameAttr: "clearSearchLabelString", 6 | 7 | renderString: clearSearchLabelStringMarkdown 8 | 9 | }; 10 | 11 | module.exports = clearSearchLabelStringProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/clearSearchOnSelection.js: -------------------------------------------------------------------------------- 1 | var clearSearchOnSelectionMarkdown = require('../markdown/js/properties/clearSearchOnSelection').body; 2 | 3 | var clearSearchOnSelectionProp = { 4 | 5 | nameAttr: "clearSearchOnSelection", 6 | 7 | renderString: clearSearchOnSelectionMarkdown 8 | 9 | }; 10 | 11 | module.exports = clearSearchOnSelectionProp; 12 | -------------------------------------------------------------------------------- /scripts/copy_docco_docs.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | echo 'copying docco css from docs/docco.css to src_docs/stylesheets/docco.css' 4 | cp ./docs/docco.css ./src_docs/stylesheets/docco.css 5 | 6 | echo 'copying annotated src html file from docs/react-super-select.html to src_docs/annotated-source.html' 7 | cp ./docs/react-super-select.html ./src_docs/annotated-source.html 8 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/clearSelectedValueOnDataSourceChange.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(Boolean) (Default: false) optional
\nWhether or not the control's selected value will be cleared if the dataSource prop's value is changed
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/customGroupHeadingClass.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(String) optional
\nUsed in conjunction with the groupBy option.
\nThis string value will be added as a custom css class to the group headings which are rendered into the dropdown
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/focusOnMount.md: -------------------------------------------------------------------------------- 1 | 2 | (**focusOnMount**) (**Boolean**) *optional* (Used in conjunction with the **openOnMount** option) 3 | 4 | When set to true, The component will be given document focus after it mounts 5 | (Forcing focus is only advisable if the user input from the super select control is the main purpose of your page) 6 | 7 | 8 | -------------------------------------------------------------------------------- /src_docs/properties/customGroupHeadingClass.js: -------------------------------------------------------------------------------- 1 | var customGroupHeadingClassMarkdown = require('../markdown/js/properties/customGroupHeadingClass').body; 2 | 3 | var customGroupHeadingClassProp = { 4 | 5 | nameAttr: "customGroupHeadingClass", 6 | 7 | renderString: customGroupHeadingClassMarkdown 8 | 9 | }; 10 | 11 | module.exports = customGroupHeadingClassProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/clearSelectionLabelString.js: -------------------------------------------------------------------------------- 1 | var clearSelectionLabelStringMarkdown = require('../markdown/js/properties/clearSelectionLabelString').body; 2 | 3 | var clearSelectionLabelStringProp = { 4 | 5 | nameAttr: "clearSelectionLabelString", 6 | 7 | renderString: clearSelectionLabelStringMarkdown 8 | 9 | }; 10 | 11 | module.exports = clearSelectionLabelStringProp; 12 | -------------------------------------------------------------------------------- /src_docs/version-printer.js: -------------------------------------------------------------------------------- 1 | var RSS_VERSION = "1.0.23"; 2 | import React from "react"; 3 | import ReactDOM from "react-dom"; 4 | 5 | class VersionPrinter extends React.Component { 6 | render() { 7 | return({RSS_VERSION}); 8 | } 9 | } 10 | 11 | module.exports = VersionPrinter; 12 | ReactDOM.render((String) optional
\nThis value will be added as a css class to the control’s main wrapping element.You should be able to overide all styling by leading your rules with
\n.r-ss-wrap.{customClass}\n\n","updatedAt":"2017-08-07T19:42:41.000Z"}
--------------------------------------------------------------------------------
/src_docs/markdown/js/keys/end.json:
--------------------------------------------------------------------------------
1 | {"body":"Pressing the end key moves focus to the last option in the dropdown
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/keys/home.json: -------------------------------------------------------------------------------- 1 | {"body":"Pressing the home key moves focus to the first option in the dropdown
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/clearSearchOnSelection.md: -------------------------------------------------------------------------------- 1 | 2 | (**clearSearchOnSelection**) (**Boolean**) *optional* 3 | 4 | (Used in conjunction with the **searchable** option) 5 | 6 | When set to true, If a user has entered a search string into the search input and then makes a selection from the filtered result set, the search field will be automatically cleared. 7 | 8 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/customLoaderClass.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**) *optional* 3 | 4 | (Used in conjunction with the **ajaxDataFetch** and **pageDataFetch** options) 5 | 6 | This string value will be added as a css class to the loading icon allowing css overrides. 7 | 8 | (By default the control uses an animated gif spinner which is a base64 background image in css) 9 | -------------------------------------------------------------------------------- /src_docs/properties/closeOnSelectedOptionClick.js: -------------------------------------------------------------------------------- 1 | var closeOnSelectedOptionClickMarkdown = require('../markdown/js/properties/closeOnSelectedOptionClick').body; 2 | 3 | var closeOnSelectedOptionClickProp = { 4 | 5 | nameAttr: "closeOnSelectedOptionClick", 6 | 7 | renderString: closeOnSelectedOptionClickMarkdown 8 | 9 | }; 10 | 11 | module.exports = closeOnSelectedOptionClickProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/clearSelectionLabelString.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(clearSelectionLabelString) optional
\n(Used in conjunction with the clearable option - which defaults to true)
\nThis string will be used as an aria-label for the clear selection button (for accesibility).
\n","updatedAt":"2017-08-24T03:18:18.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/hasMorePages.md: -------------------------------------------------------------------------------- 1 | 2 | (**Function**) *optional* 3 | 4 | (should be provided when using the **pageDataFetch** option) 5 | 6 | This function accepts one argument, a value as described by the **dataSource** option documentation. 7 | 8 | It should return a Boolean value that indicates whether the option data collection has any more pages available for fetching 9 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/ajaxErrorString.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(String) optional
\n(Used in conjunction with the ajaxDataFetch & pageDataFetch options)
\nThis string will be shown as a message in the dropdown area in the event that an ajax request for options data fails
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/properties/customOptionTemplateFunction.js: -------------------------------------------------------------------------------- 1 | var customOptionTemplateFunctionMarkdown = require('../markdown/js/properties/customOptionTemplateFunction').body; 2 | 3 | var customOptionTemplateFunctionProp = { 4 | 5 | nameAttr: "customOptionTemplateFunction", 6 | 7 | renderString: customOptionTemplateFunctionMarkdown 8 | 9 | }; 10 | 11 | module.exports = customOptionTemplateFunctionProp; 12 | -------------------------------------------------------------------------------- /src_docs/properties/forceDefaultBrowserScrolling.js: -------------------------------------------------------------------------------- 1 | var forceDefaultBrowserScrollingMarkdown = require('../markdown/js/properties/forceDefaultBrowserScrolling').body; 2 | 3 | var forceDefaultBrowserScrollingProp = { 4 | 5 | nameAttr: "forceDefaultBrowserScrolling", 6 | 7 | renderString: forceDefaultBrowserScrollingMarkdown 8 | 9 | }; 10 | 11 | module.exports = forceDefaultBrowserScrollingProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/onChange.md: -------------------------------------------------------------------------------- 1 | 2 | (**Function**) *required* 3 | 4 | This is the main callback handler for the control. 5 | 6 | When a user makes selection(s), this handler will be called, the selected option (or when multiple or tags an array of selected values) will be passed to the handler as an argument. 7 | 8 | (The values passed are option objects from the dataSource collection) 9 | -------------------------------------------------------------------------------- /src_docs/properties/deselectOnSelectedOptionClick.js: -------------------------------------------------------------------------------- 1 | var deselectOnSelectedOptionClickMarkdown = require('../markdown/js/properties/deselectOnSelectedOptionClick').body; 2 | 3 | var deselectOnSelectedOptionClickProp = { 4 | 5 | nameAttr: "deselectOnSelectedOptionClick", 6 | 7 | renderString: deselectOnSelectedOptionClickMarkdown 8 | 9 | }; 10 | 11 | module.exports = deselectOnSelectedOptionClickProp; 12 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/noResultsString.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(String or React Element) optional
\nA string or React Element value which will be displayed when your dropdown shows no results. (i.e. dataSource collection is empty , or ajaxDataFetch returns an empty collection)
\n","updatedAt":"2017-08-24T13:33:52.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/properties/keepOpenOnSelection.md: -------------------------------------------------------------------------------- 1 | 2 | (**Boolean**) *optional* 3 | 4 | Whether or not the control should stay open when selections are made 5 | 6 | By default. The control will close when a selection is made. 7 | (In the case of multiple, when a single selection is chosen without the command-key) 8 | 9 | Set this option to true to keep the control open 10 | 11 | -------------------------------------------------------------------------------- /src_docs/markdown/properties/customTagClass.md: -------------------------------------------------------------------------------- 1 | 2 | (**String**) *optional* 3 | 4 | (Used in conjunction with the **tags** option) 5 | 6 | This value will be added as a css class to the wrapper of user-selected options display element when it is displayed as a tag. 7 | 8 | You should be able to overide all tag styling by leading your css rules with 9 | ```css 10 | .r-ss-tag.{customTagClass} 11 | ``` 12 | -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/customSearchIconClass.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(String) optional
\nThis value will be added as a css class to the icon element in the search-filtering bar (when searchable is true). \nThis allows you to override the default search icon.
\n(By default the icon will be a magnifying glass)
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /src_docs/markdown/js/properties/optionLabelKey.json: -------------------------------------------------------------------------------- 1 | {"body":"\n(String) optional
\n(defaults to using ‘name’ as the key if left undefined)
\nThis value represents the key in each option object (from the dataSource collection)
\nThis key should map to the value you would like displayed as a label for each option.
\n","updatedAt":"2017-08-07T19:42:41.000Z"} -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- 1 | TASKS 2 | 3 | 1) tweak/adjust build sequence via npm 4 | 5 | 2) sass watch while working. - possibly with foreman? 6 | 7 | 3) research other aria control options 8 | 9 | 10 | TENTATIVE 11 | 1) list groups should be separately focus-able and navigable? 12 | Change groups to http://www.w3.org/TR/WCAG20-TECHS/H85.html 13 | ex: