Showing preview only (3,079K chars total). Download the full file or copy to clipboard to get everything.
Repository: select2/select2
Branch: develop
Commit: 595494a72fee
Files: 606
Total size: 2.8 MB
Directory structure:
gitextract_va9wzm3m/
├── .editorconfig
├── .github/
│ ├── CONTRIBUTING.md
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── stale.yml
│ └── workflows/
│ ├── docs-deploy.yml
│ ├── main.yml
│ └── package-deploy.yml
├── .gitignore
├── .jshintignore
├── .jshintrc
├── CHANGELOG.md
├── Gruntfile.js
├── LICENSE.md
├── README.md
├── bower.json
├── component.json
├── composer.json
├── dist/
│ ├── css/
│ │ └── select2.css
│ └── js/
│ ├── i18n/
│ │ ├── af.js
│ │ ├── ar.js
│ │ ├── az.js
│ │ ├── bg.js
│ │ ├── bn.js
│ │ ├── bs.js
│ │ ├── ca.js
│ │ ├── cs.js
│ │ ├── da.js
│ │ ├── de.js
│ │ ├── dsb.js
│ │ ├── el.js
│ │ ├── en.js
│ │ ├── eo.js
│ │ ├── es.js
│ │ ├── et.js
│ │ ├── eu.js
│ │ ├── fa.js
│ │ ├── fi.js
│ │ ├── fr.js
│ │ ├── gl.js
│ │ ├── he.js
│ │ ├── hi.js
│ │ ├── hr.js
│ │ ├── hsb.js
│ │ ├── hu.js
│ │ ├── hy.js
│ │ ├── id.js
│ │ ├── is.js
│ │ ├── it.js
│ │ ├── ja.js
│ │ ├── ka.js
│ │ ├── km.js
│ │ ├── ko.js
│ │ ├── lb.js
│ │ ├── lt.js
│ │ ├── lv.js
│ │ ├── mk.js
│ │ ├── ms.js
│ │ ├── nb.js
│ │ ├── ne.js
│ │ ├── nl.js
│ │ ├── pa.js
│ │ ├── pl.js
│ │ ├── ps.js
│ │ ├── pt-BR.js
│ │ ├── pt.js
│ │ ├── ro.js
│ │ ├── ru.js
│ │ ├── sk.js
│ │ ├── sl.js
│ │ ├── sq.js
│ │ ├── sr-Cyrl.js
│ │ ├── sr.js
│ │ ├── sv.js
│ │ ├── te.js
│ │ ├── th.js
│ │ ├── tk.js
│ │ ├── tr.js
│ │ ├── ug.js
│ │ ├── uk.js
│ │ ├── vi.js
│ │ ├── zh-CN.js
│ │ └── zh-TW.js
│ ├── select2.full.js
│ └── select2.js
├── docs/
│ ├── LICENSE.md
│ ├── README.md
│ ├── accounts/
│ │ └── .gitkeep
│ ├── blueprints.yaml
│ ├── config/
│ │ ├── plugins/
│ │ │ ├── anchors.yaml
│ │ │ ├── highlight.yaml
│ │ │ └── simplesearch.yaml
│ │ ├── site.yaml
│ │ └── system.yaml
│ ├── data/
│ │ └── .gitkeep
│ ├── localhost/
│ │ └── config/
│ │ ├── security.yaml
│ │ └── system.yaml
│ ├── pages/
│ │ ├── 01.getting-started/
│ │ │ ├── 01.installation/
│ │ │ │ └── docs.md
│ │ │ ├── 02.basic-usage/
│ │ │ │ └── docs.md
│ │ │ ├── 03.builds-and-modules/
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ ├── 02.troubleshooting/
│ │ │ ├── 01.getting-help/
│ │ │ │ └── docs.md
│ │ │ ├── 02.common-problems/
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ ├── 03.configuration/
│ │ │ ├── 01.options-api/
│ │ │ │ └── docs.md
│ │ │ ├── 02.defaults/
│ │ │ │ └── docs.md
│ │ │ ├── 03.data-attributes/
│ │ │ │ └── docs.md
│ │ │ └── docs.md
│ │ ├── 04.appearance/
│ │ │ └── docs.md
│ │ ├── 05.options/
│ │ │ └── docs.md
│ │ ├── 06.data-sources/
│ │ │ ├── 01.formats/
│ │ │ │ └── docs.md
│ │ │ ├── 02.ajax/
│ │ │ │ └── docs.md
│ │ │ ├── 03.arrays/
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ ├── 07.dropdown/
│ │ │ └── docs.md
│ │ ├── 08.selections/
│ │ │ └── docs.md
│ │ ├── 09.tagging/
│ │ │ └── docs.md
│ │ ├── 10.placeholders/
│ │ │ └── docs.md
│ │ ├── 11.searching/
│ │ │ └── docs.md
│ │ ├── 12.programmatic-control/
│ │ │ ├── 01.add-select-clear-items/
│ │ │ │ └── docs.md
│ │ │ ├── 02.retrieving-selections/
│ │ │ │ └── docs.md
│ │ │ ├── 03.methods/
│ │ │ │ └── docs.md
│ │ │ ├── 04.events/
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ ├── 13.i18n/
│ │ │ └── docs.md
│ │ ├── 14.advanced/
│ │ │ ├── 01.adapters-and-decorators/
│ │ │ │ └── docs.md
│ │ │ ├── 02.default-adapters/
│ │ │ │ ├── 01.selection/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.array/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 03.ajax/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 04.data/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 05.results/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 06.dropdown/
│ │ │ │ │ └── docs.md
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ └── 15.upgrading/
│ │ ├── 01.new-in-40/
│ │ │ └── docs.md
│ │ ├── 02.migrating-from-35/
│ │ │ └── docs.md
│ │ └── chapter.md
│ ├── plugins/
│ │ ├── .gitkeep
│ │ ├── anchors/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── anchors.php
│ │ │ ├── anchors.yaml
│ │ │ └── blueprints.yaml
│ │ ├── breadcrumbs/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── breadcrumbs.php
│ │ │ ├── breadcrumbs.yaml
│ │ │ ├── classes/
│ │ │ │ └── breadcrumbs.php
│ │ │ ├── css/
│ │ │ │ └── breadcrumbs.css
│ │ │ └── templates/
│ │ │ └── partials/
│ │ │ └── breadcrumbs.html.twig
│ │ ├── error/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── cli/
│ │ │ │ └── LogCommand.php
│ │ │ ├── error.php
│ │ │ ├── error.yaml
│ │ │ ├── languages.yaml
│ │ │ ├── pages/
│ │ │ │ └── error.md
│ │ │ └── templates/
│ │ │ ├── error.html.twig
│ │ │ └── error.json.twig
│ │ ├── highlight/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── css/
│ │ │ │ ├── agate.css
│ │ │ │ ├── androidstudio.css
│ │ │ │ ├── arduino-light.css
│ │ │ │ ├── arta.css
│ │ │ │ ├── ascetic.css
│ │ │ │ ├── atelier-cave.dark.css
│ │ │ │ ├── atelier-cave.light.css
│ │ │ │ ├── atelier-dune.dark.css
│ │ │ │ ├── atelier-dune.light.css
│ │ │ │ ├── atelier-estuary.dark.css
│ │ │ │ ├── atelier-estuary.light.css
│ │ │ │ ├── atelier-forest.dark.css
│ │ │ │ ├── atelier-forest.light.css
│ │ │ │ ├── atelier-heath.dark.css
│ │ │ │ ├── atelier-heath.light.css
│ │ │ │ ├── atelier-lakeside.dark.css
│ │ │ │ ├── atelier-lakeside.light.css
│ │ │ │ ├── atelier-plateau.dark.css
│ │ │ │ ├── atelier-plateau.light.css
│ │ │ │ ├── atelier-savanna.dark.css
│ │ │ │ ├── atelier-savanna.light.css
│ │ │ │ ├── atelier-seaside.dark.css
│ │ │ │ ├── atelier-seaside.light.css
│ │ │ │ ├── atelier-sulphurpool.dark.css
│ │ │ │ ├── atelier-sulphurpool.light.css
│ │ │ │ ├── brown-paper.css
│ │ │ │ ├── codepen-embed.css
│ │ │ │ ├── color-brewer.css
│ │ │ │ ├── dark.css
│ │ │ │ ├── darkula.css
│ │ │ │ ├── default.css
│ │ │ │ ├── docco.css
│ │ │ │ ├── far.css
│ │ │ │ ├── foundation.css
│ │ │ │ ├── github-gist.css
│ │ │ │ ├── github.css
│ │ │ │ ├── googlecode.css
│ │ │ │ ├── grayscale.css
│ │ │ │ ├── hopscotch.css
│ │ │ │ ├── hybrid.css
│ │ │ │ ├── idea.css
│ │ │ │ ├── ir-black.css
│ │ │ │ ├── kimbie.dark.css
│ │ │ │ ├── kimbie.light.css
│ │ │ │ ├── learn.css
│ │ │ │ ├── magula.css
│ │ │ │ ├── mono-blue.css
│ │ │ │ ├── monokai-sublime.css
│ │ │ │ ├── monokai.css
│ │ │ │ ├── obsidian.css
│ │ │ │ ├── paraiso-dark.css
│ │ │ │ ├── paraiso-light.css
│ │ │ │ ├── paraiso.dark.css
│ │ │ │ ├── paraiso.light.css
│ │ │ │ ├── pojoaque.css
│ │ │ │ ├── railscasts.css
│ │ │ │ ├── rainbow.css
│ │ │ │ ├── school-book.css
│ │ │ │ ├── solarized-dark.css
│ │ │ │ ├── solarized-light.css
│ │ │ │ ├── sunburst.css
│ │ │ │ ├── tomorrow-night-blue.css
│ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ ├── tomorrow-night-eighties.css
│ │ │ │ ├── tomorrow-night.css
│ │ │ │ ├── tomorrow.css
│ │ │ │ ├── vs.css
│ │ │ │ ├── xcode.css
│ │ │ │ └── zenburn.css
│ │ │ ├── highlight.php
│ │ │ ├── highlight.yaml
│ │ │ └── js/
│ │ │ └── highlight.pack.js
│ │ ├── problems/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── css/
│ │ │ │ ├── problems.css
│ │ │ │ └── template.css
│ │ │ ├── html/
│ │ │ │ └── problems.html
│ │ │ ├── problems.php
│ │ │ └── problems.yaml
│ │ └── simplesearch/
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── blueprints.yaml
│ │ ├── css/
│ │ │ └── simplesearch.css
│ │ ├── js/
│ │ │ └── simplesearch.js
│ │ ├── languages.yaml
│ │ ├── pages/
│ │ │ └── simplesearch.md
│ │ ├── simplesearch.php
│ │ ├── simplesearch.yaml
│ │ └── templates/
│ │ ├── partials/
│ │ │ ├── simplesearch_base.html.twig
│ │ │ ├── simplesearch_item.html.twig
│ │ │ └── simplesearch_searchbox.html.twig
│ │ ├── simplesearch_results.html.twig
│ │ └── simplesearch_results.json.twig
│ └── themes/
│ ├── .gitkeep
│ ├── learn2/
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── blueprints/
│ │ │ ├── chapter.yaml
│ │ │ └── docs.yaml
│ │ ├── blueprints.yaml
│ │ ├── css/
│ │ │ ├── nucleus-ie10.css
│ │ │ ├── nucleus-ie9.css
│ │ │ └── pure-0.5.0/
│ │ │ └── grids-min.css
│ │ ├── css-compiled/
│ │ │ ├── nucleus.css
│ │ │ └── theme.css
│ │ ├── js/
│ │ │ ├── learn.js
│ │ │ └── modernizr.custom.71422.js
│ │ ├── languages.yaml
│ │ ├── learn2.php
│ │ ├── learn2.yaml
│ │ ├── scss/
│ │ │ ├── configuration/
│ │ │ │ ├── nucleus/
│ │ │ │ │ ├── _base.scss
│ │ │ │ │ ├── _breakpoints.scss
│ │ │ │ │ ├── _core.scss
│ │ │ │ │ ├── _layout.scss
│ │ │ │ │ ├── _nav.scss
│ │ │ │ │ └── _typography.scss
│ │ │ │ └── theme/
│ │ │ │ ├── _base.scss
│ │ │ │ ├── _bullets.scss
│ │ │ │ └── _colors.scss
│ │ │ ├── nucleus/
│ │ │ │ ├── _core.scss
│ │ │ │ ├── _flex.scss
│ │ │ │ ├── _forms.scss
│ │ │ │ ├── _typography.scss
│ │ │ │ ├── functions/
│ │ │ │ │ ├── _base.scss
│ │ │ │ │ ├── _direction.scss
│ │ │ │ │ └── _range.scss
│ │ │ │ ├── mixins/
│ │ │ │ │ ├── _base.scss
│ │ │ │ │ ├── _breakpoints.scss
│ │ │ │ │ └── _utilities.scss
│ │ │ │ └── particles/
│ │ │ │ ├── _align-text.scss
│ │ │ │ └── _visibility.scss
│ │ │ ├── nucleus.scss
│ │ │ ├── theme/
│ │ │ │ ├── _bullets.scss
│ │ │ │ ├── _buttons.scss
│ │ │ │ ├── _configuration.scss
│ │ │ │ ├── _core.scss
│ │ │ │ ├── _custom.scss
│ │ │ │ ├── _fonts.scss
│ │ │ │ ├── _forms.scss
│ │ │ │ ├── _header.scss
│ │ │ │ ├── _main.scss
│ │ │ │ ├── _nav.scss
│ │ │ │ ├── _scrollbar.scss
│ │ │ │ ├── _tables.scss
│ │ │ │ ├── _tooltips.scss
│ │ │ │ ├── _typography.scss
│ │ │ │ └── modules/
│ │ │ │ ├── _base.scss
│ │ │ │ └── _buttons.scss
│ │ │ ├── theme.scss
│ │ │ └── vendor/
│ │ │ ├── bourbon/
│ │ │ │ ├── _bourbon-deprecated-upcoming.scss
│ │ │ │ ├── _bourbon.scss
│ │ │ │ ├── addons/
│ │ │ │ │ ├── _button.scss
│ │ │ │ │ ├── _clearfix.scss
│ │ │ │ │ ├── _directional-values.scss
│ │ │ │ │ ├── _ellipsis.scss
│ │ │ │ │ ├── _font-family.scss
│ │ │ │ │ ├── _hide-text.scss
│ │ │ │ │ ├── _html5-input-types.scss
│ │ │ │ │ ├── _position.scss
│ │ │ │ │ ├── _prefixer.scss
│ │ │ │ │ ├── _rem.scss
│ │ │ │ │ ├── _retina-image.scss
│ │ │ │ │ ├── _size.scss
│ │ │ │ │ ├── _timing-functions.scss
│ │ │ │ │ ├── _triangle.scss
│ │ │ │ │ └── _word-wrap.scss
│ │ │ │ ├── css3/
│ │ │ │ │ ├── _animation.scss
│ │ │ │ │ ├── _appearance.scss
│ │ │ │ │ ├── _backface-visibility.scss
│ │ │ │ │ ├── _background-image.scss
│ │ │ │ │ ├── _background.scss
│ │ │ │ │ ├── _border-image.scss
│ │ │ │ │ ├── _border-radius.scss
│ │ │ │ │ ├── _box-sizing.scss
│ │ │ │ │ ├── _calc.scss
│ │ │ │ │ ├── _columns.scss
│ │ │ │ │ ├── _filter.scss
│ │ │ │ │ ├── _flex-box.scss
│ │ │ │ │ ├── _font-face.scss
│ │ │ │ │ ├── _font-feature-settings.scss
│ │ │ │ │ ├── _hidpi-media-query.scss
│ │ │ │ │ ├── _hyphens.scss
│ │ │ │ │ ├── _image-rendering.scss
│ │ │ │ │ ├── _keyframes.scss
│ │ │ │ │ ├── _linear-gradient.scss
│ │ │ │ │ ├── _perspective.scss
│ │ │ │ │ ├── _placeholder.scss
│ │ │ │ │ ├── _radial-gradient.scss
│ │ │ │ │ ├── _transform.scss
│ │ │ │ │ ├── _transition.scss
│ │ │ │ │ └── _user-select.scss
│ │ │ │ ├── functions/
│ │ │ │ │ ├── _assign.scss
│ │ │ │ │ ├── _color-lightness.scss
│ │ │ │ │ ├── _flex-grid.scss
│ │ │ │ │ ├── _golden-ratio.scss
│ │ │ │ │ ├── _grid-width.scss
│ │ │ │ │ ├── _modular-scale.scss
│ │ │ │ │ ├── _px-to-em.scss
│ │ │ │ │ ├── _px-to-rem.scss
│ │ │ │ │ ├── _strip-units.scss
│ │ │ │ │ ├── _tint-shade.scss
│ │ │ │ │ ├── _transition-property-name.scss
│ │ │ │ │ └── _unpack.scss
│ │ │ │ ├── helpers/
│ │ │ │ │ ├── _convert-units.scss
│ │ │ │ │ ├── _gradient-positions-parser.scss
│ │ │ │ │ ├── _is-num.scss
│ │ │ │ │ ├── _linear-angle-parser.scss
│ │ │ │ │ ├── _linear-gradient-parser.scss
│ │ │ │ │ ├── _linear-positions-parser.scss
│ │ │ │ │ ├── _linear-side-corner-parser.scss
│ │ │ │ │ ├── _radial-arg-parser.scss
│ │ │ │ │ ├── _radial-gradient-parser.scss
│ │ │ │ │ ├── _radial-positions-parser.scss
│ │ │ │ │ ├── _render-gradients.scss
│ │ │ │ │ ├── _shape-size-stripper.scss
│ │ │ │ │ └── _str-to-num.scss
│ │ │ │ └── settings/
│ │ │ │ ├── _prefixer.scss
│ │ │ │ └── _px-to-em.scss
│ │ │ └── color-schemer/
│ │ │ ├── _color-schemer.scss
│ │ │ └── color-schemer/
│ │ │ ├── _cmyk.scss
│ │ │ ├── _color-adjustments.scss
│ │ │ ├── _color-schemer.scss
│ │ │ ├── _colorblind.scss
│ │ │ ├── _comparison.scss
│ │ │ ├── _equalize.scss
│ │ │ ├── _harmonize.scss
│ │ │ ├── _interpolation.scss
│ │ │ ├── _mix.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _ryb.scss
│ │ │ └── _tint-shade.scss
│ │ ├── scss.sh
│ │ └── templates/
│ │ ├── chapter.html.twig
│ │ ├── default.html.twig
│ │ ├── docs.html.twig
│ │ ├── error.html.twig
│ │ └── partials/
│ │ ├── analytics.html.twig
│ │ ├── base.html.twig
│ │ ├── github_link.html.twig
│ │ ├── github_note.html.twig
│ │ ├── logo.html.twig
│ │ ├── metadata.html.twig
│ │ ├── page.html.twig
│ │ └── sidebar.html.twig
│ └── site/
│ ├── css/
│ │ ├── s2-docs.css
│ │ └── theme.css
│ ├── images/
│ │ └── manifest.json
│ ├── js/
│ │ └── data-fill-from.js
│ ├── site.yaml
│ └── templates/
│ └── partials/
│ ├── base.html.twig
│ ├── js/
│ │ └── source-states.html.twig
│ ├── logo.html.twig
│ └── sidebar.html.twig
├── package.json
├── src/
│ ├── js/
│ │ ├── banner.end.js
│ │ ├── banner.start.js
│ │ ├── jquery.mousewheel.shim.js
│ │ ├── jquery.select2.js
│ │ ├── jquery.shim.js
│ │ ├── select2/
│ │ │ ├── core.js
│ │ │ ├── data/
│ │ │ │ ├── ajax.js
│ │ │ │ ├── array.js
│ │ │ │ ├── base.js
│ │ │ │ ├── maximumInputLength.js
│ │ │ │ ├── maximumSelectionLength.js
│ │ │ │ ├── minimumInputLength.js
│ │ │ │ ├── select.js
│ │ │ │ ├── tags.js
│ │ │ │ └── tokenizer.js
│ │ │ ├── defaults.js
│ │ │ ├── diacritics.js
│ │ │ ├── dropdown/
│ │ │ │ ├── attachBody.js
│ │ │ │ ├── attachContainer.js
│ │ │ │ ├── closeOnSelect.js
│ │ │ │ ├── dropdownCss.js
│ │ │ │ ├── hidePlaceholder.js
│ │ │ │ ├── infiniteScroll.js
│ │ │ │ ├── minimumResultsForSearch.js
│ │ │ │ ├── search.js
│ │ │ │ ├── selectOnClose.js
│ │ │ │ ├── stopPropagation.js
│ │ │ │ └── tagsSearchHighlight.js
│ │ │ ├── dropdown.js
│ │ │ ├── i18n/
│ │ │ │ ├── af.js
│ │ │ │ ├── ar.js
│ │ │ │ ├── az.js
│ │ │ │ ├── bg.js
│ │ │ │ ├── bn.js
│ │ │ │ ├── bs.js
│ │ │ │ ├── ca.js
│ │ │ │ ├── cs.js
│ │ │ │ ├── da.js
│ │ │ │ ├── de.js
│ │ │ │ ├── dsb.js
│ │ │ │ ├── el.js
│ │ │ │ ├── en.js
│ │ │ │ ├── eo.js
│ │ │ │ ├── es.js
│ │ │ │ ├── et.js
│ │ │ │ ├── eu.js
│ │ │ │ ├── fa.js
│ │ │ │ ├── fi.js
│ │ │ │ ├── fr.js
│ │ │ │ ├── gl.js
│ │ │ │ ├── he.js
│ │ │ │ ├── hi.js
│ │ │ │ ├── hr.js
│ │ │ │ ├── hsb.js
│ │ │ │ ├── hu.js
│ │ │ │ ├── hy.js
│ │ │ │ ├── id.js
│ │ │ │ ├── is.js
│ │ │ │ ├── it.js
│ │ │ │ ├── ja.js
│ │ │ │ ├── ka.js
│ │ │ │ ├── km.js
│ │ │ │ ├── ko.js
│ │ │ │ ├── lb.js
│ │ │ │ ├── lt.js
│ │ │ │ ├── lv.js
│ │ │ │ ├── mk.js
│ │ │ │ ├── ms.js
│ │ │ │ ├── nb.js
│ │ │ │ ├── ne.js
│ │ │ │ ├── nl.js
│ │ │ │ ├── pa.js
│ │ │ │ ├── pl.js
│ │ │ │ ├── ps.js
│ │ │ │ ├── pt-BR.js
│ │ │ │ ├── pt.js
│ │ │ │ ├── ro.js
│ │ │ │ ├── ru.js
│ │ │ │ ├── sk.js
│ │ │ │ ├── sl.js
│ │ │ │ ├── sq.js
│ │ │ │ ├── sr-Cyrl.js
│ │ │ │ ├── sr.js
│ │ │ │ ├── sv.js
│ │ │ │ ├── te.js
│ │ │ │ ├── th.js
│ │ │ │ ├── tk.js
│ │ │ │ ├── tr.js
│ │ │ │ ├── ug.js
│ │ │ │ ├── uk.js
│ │ │ │ ├── vi.js
│ │ │ │ ├── zh-CN.js
│ │ │ │ └── zh-TW.js
│ │ │ ├── keys.js
│ │ │ ├── options.js
│ │ │ ├── results.js
│ │ │ ├── selection/
│ │ │ │ ├── allowClear.js
│ │ │ │ ├── base.js
│ │ │ │ ├── clickMask.js
│ │ │ │ ├── eventRelay.js
│ │ │ │ ├── multiple.js
│ │ │ │ ├── placeholder.js
│ │ │ │ ├── search.js
│ │ │ │ ├── selectionCss.js
│ │ │ │ ├── single.js
│ │ │ │ └── stopPropagation.js
│ │ │ ├── translation.js
│ │ │ └── utils.js
│ │ ├── wrapper.end.js
│ │ └── wrapper.start.js
│ └── scss/
│ ├── _dropdown.scss
│ ├── _multiple.scss
│ ├── _single.scss
│ ├── core.scss
│ ├── mixins/
│ │ └── _gradients.scss
│ └── theme/
│ ├── classic/
│ │ ├── _defaults.scss
│ │ ├── _multiple.scss
│ │ ├── _single.scss
│ │ └── layout.scss
│ └── default/
│ ├── _multiple.scss
│ ├── _single.scss
│ └── layout.scss
└── tests/
├── a11y/
│ └── selection-tests.js
├── data/
│ ├── array-tests.js
│ ├── base-tests.js
│ ├── maximumInputLength-tests.js
│ ├── maximumSelectionLength-tests.js
│ ├── minimumInputLength-tests.js
│ ├── select-tests.js
│ ├── tags-tests.js
│ └── tokenizer-tests.js
├── dropdown/
│ ├── dropdownCss-tests.js
│ ├── dropdownParent-tests.js
│ ├── positioning-tests.js
│ ├── search-a11y-tests.js
│ ├── search-tests.js
│ ├── selectOnClose-tests.js
│ └── stopPropagation-tests.js
├── helpers.js
├── integration/
│ ├── dom-changes.js
│ ├── jquery-calls.js
│ └── select2-methods.js
├── integration-jq1.html
├── integration-jq2.html
├── integration-jq3.html
├── integration-jq4.html
├── options/
│ ├── ajax-tests.js
│ ├── data-tests.js
│ ├── element-tests.js
│ ├── translation-tests.js
│ └── width-tests.js
├── results/
│ ├── a11y-tests.js
│ ├── focusing-tests.js
│ ├── infiniteScroll-tests.js
│ └── option-tests.js
├── selection/
│ ├── allowClear-tests.js
│ ├── focusing-tests.js
│ ├── multiple-tests.js
│ ├── openOnKeyDown-tests.js
│ ├── placeholder-tests.js
│ ├── search-a11y-tests.js
│ ├── search-placeholder-tests.js
│ ├── search-tests.js
│ ├── selectionCss-tests.js
│ ├── single-tests.js
│ └── stopPropagation-tests.js
├── unit-jq1.html
├── unit-jq2.html
├── unit-jq3.html
├── unit-jq4.html
├── utils/
│ ├── data-tests.js
│ ├── decorator-tests.js
│ └── escapeMarkup-tests.js
└── vendor/
├── jquery-1.12.4.js
├── jquery-2.2.4.js
├── jquery-3.4.1.js
├── jquery-4.0.0-beta.2.js
├── jquery.mockjax-2.7.0-beta.0.js
├── qunit-2.22.0.css
└── qunit-2.22.0.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
[*]
indent_style = space
end_of_line = lf
[*.js]
indent_size = 2
================================================
FILE: .github/CONTRIBUTING.md
================================================
# Guidelines for Getting Help with Select2
**Before** you open a new issue, you must **read these guidelines.** If it is evident from your issue that you failed to research your question properly, **your issue may be closed** without being answered.
## Troubleshooting
There are some common problems that developers may encounter when using working with Select2 for the first time. **If you are new to Select2**, please consult the [common problems](https://select2.org/troubleshooting/common-problems) section of the documentation first.
If you don't find what you're looking for there, then please check the the [forums](https://forums.select2.org), [Stack Overflow](https://stackoverflow.com/questions/tagged/jquery-select2) and [existing issues](https://github.com/select2/select2/issues?utf8=%E2%9C%93&q=is%3Aissue), both opened and closed. Your question may have already been asked and answered before!
## Asking for Help
In general, the Github issue tracker should **only** be used for **bug reports** and **feature requests**. If you're just having trouble getting something to work, you should ask in the [forums](https://forums.select2.org) or on [Stack Overflow](https://stackoverflow.com) instead.
### Rules for all community platforms
1. Be polite, civil and respectful. Select2 is built and maintained entirely by volunteers.
2. If you are not conversationally proficient in English, **do not just post a machine translation** (e.g. Google Translate). Post in your native language, so that others who speak your language can help. You may post a machine translation below it for the general community to decipher.
3. Any code snippets should be formatted using [Markdown code fences](https://learn.userfrosting.com/troubleshooting/getting-help#use-markdown-to-format-blocks-of-code) and properly indented. Poorly formatted code is difficult to read and reflects badly on you as a programmer.
4. Check what you write for spelling and grammar issues. If you want others to take the time to read your question carefully, you must write your question carefully.
5. When possible create and link to a [minimal, complete, and verifiable](https://stackoverflow.com/help/mcve) example by cloning our [JSBin template](http://jsbin.com/goqagokoye/edit?html,js,output). Code dumps, zip files, etc are NOT acceptable.
6. Include relevant screenshots or animations, if possible. Drag your screenshots directly into the forums or issue tracker text box. They will automatically be uploaded and the Markdown to display them will be generated. Avoid third-party image hosts, or links which require extra clicks to view the image.
### Stack Overflow
Tag your question with the `jquery-select2` tag, and optionally with tags relevant to other technologies involved, such as `jquery` or another client-side framework. You should also mention the version of Select2 that you are using.
### GitHub Issue Tracker
We really appreciate clear bug reports that _consistently_ show an issue _within Select2_. If you are reporting a bug, you **must** follow these steps:
1. Make sure that your issue is a bug or feature request. General usage and troubleshooting questions should be directed to the [forums](https://forums.select2.org) or [Stack Overflow](https://stackoverflow.com/questions/tagged/jquery-select2). Issues asking for general support WILL BE CLOSED automatically.
2. Search the current issues, both open and closed, for a similar issue. If the bug is still present but the relevant issue has been closed, you may ask us to reopen the issue. Duplicate issues will be closed automatically.
3. Make sure that you are using the latest stable version of Select2 (see the [release history](https://github.com/select2/select2/releases)). Old minor/patch versions will not be supported.
4. State the steps needed to reproduce the problem.
5. Report any errors in detail. Vague issues like "it doesn't work when I do this" are not helpful. Show that you have put some effort into identifying the cause of the error. Check your [browser console](https://learn.userfrosting.com/troubleshooting/debugging#client-side-debugging) for any Javascript error messages.
6. Mention your version of Select2, as well as the browser(s) and operating system(s) in which the problem occurs.
Requesting features in Select2
------------------------------
Select2 is a large library that carries with it a lot of functionality. Because
of this, many feature requests will not be implemented in the core library.
Before starting work on a major feature for Select2, **post to the [forums](https://forums.select2.org) first** or you may risk spending a considerable amount of
time on something which the project developers are not interested in bringing
into the project.
# Contributing to Select2
Select2 is made up of multiple submodules that all come together to make the
standard and extended builds that are available to users. The build system uses
Node.js to manage and compile the submodules, all of which is done using the
Grunt build system.
### Installing development dependencies
Select2 can be built and developed on any system which supports Node.js. You can download Node.js at
[their website][nodejs].
All other required Node.js packages can be installed using [npm][npm], which comes bundled alongside Node.js.
```bash
cd /path/to/select2/repo
npm install
```
You may need to install `libsass` on your system if it is not already available in order to build the SASS files which generate the CSS for themes and the main component.
### Building the Select2 component
Select2 uses the [Grunt][grunt] build task system and defines a few custom
tasks for common routines. One of them is the `compile` task, which compiles
the JavaScript and CSS and produces the final files.
```bash
cd /path/to/select2/repo
grunt compile
```
You can also generate the minified versions (`.min.js` files) by executing the
`minify` task after compiling.
```bash
cd /path/to/select2/repo
grunt minify
```
### Running tests
Select2 uses the QUnit test system to test individual components.
```bash
cd /path/to/selct2/repo
grunt test
```
### Setting up the documentation repo
The documentation for Select2 is maintained in a [separate repository](https://github.com/select2/docs). Select2.org is built with the flat-file CMS [Grav](http://getgrav.org), using their [RTFM skeleton](https://github.com/getgrav/grav-skeleton-rtfm-site#rtfm-skeleton).
The documentation files themselves are written in Markdown, and can be found in the `pages/` subdirectory. You can submit pull requests to the `develop` branch of the repo.
If you'd like to set up a local instance of the entire documentation website, you must first have a web server (Nginx, Apache, etc) and PHP installed locally. Then, follow these steps:
#### Step 1 - Install Grav
This application uses the [Grav](https://learn.getgrav.org/) CMS. This repository does not contain a full Grav installation - rather, it just contains the contents of Grav's `user` directory, which is where all of our content, themes, and assets live. This was done as per the [recommendation on Grav's blog](https://getgrav.org/blog/developing-with-github-part-2), to make it easier to deploy changes to the live server.
To install this website on your computer, first [install grav core](https://getgrav.org/downloads) in a project folder called `select2-docs` under your webserver's document root folder. Then, find the `user` folder inside of your project folder. Delete the contents of the `user` folder and clone this repository directly into the user folder.
When you're done it might look something like this:
```
htdocs/
└── select2-docs/
├── assets/
├── ...
├── user/
├── .git
├── accounts/
├── assets/
├── config/
└── ...
└── ...
```
#### Step 2
Grav needs your webserver to be able to write to certain directories. Make sure that `backup/`, `cache/`, `images/`, `logs/`, and `tmp/` are all writeable by the user account under which your webserver runs.
#### Step 3
Visit the local installation in your browser! For example, [http://localhost/select2-docs](http://localhost/select2-docs).
### Submitting a pull request
We use GitHub's pull request system for submitting patches. Here are some
guidelines to follow when creating the pull request for your fix.
1. Make sure to create a ticket for your pull request. This will serve as the
bug ticket, and any discussion about the bug will take place there. Your pull
request will be focused on the specific changes that fix the bug.
2. Make sure to reference the ticket you are fixing within your pull request.
This will allow us to close off the ticket once we merge the pull request, or
follow up on the ticket if there are any related blocking issues.
3. Explain why the specific change was made. Not everyone who is reviewing your
pull request will be familiar with the problem it is fixing.
4. Run your tests first. If your tests aren't passing, the pull request won't
be able to be merged. If you're breaking existing tests, make sure that you
aren't causing any breaking changes.
5. Only include source changes (`src/`). Do not make changes directly to files in the `dist`
directory.
By following these steps, you will make it easier for your pull request to be
reviewed and eventually merged.
Triaging issues and pull requests
---------------------------------
Anyone can help the project maintainers triage issues and review pull requests.
### Handling new issues
Select2 regularly receives new issues which need to be tested and organized.
When a new issue that comes in that is similar to another existing issue, it
should be checked to make sure it is not a duplicate. Duplicates issues should
be marked by replying to the issue with "Duplicate of #[issue number]" where
`[issue number]` is the url or issue number for the existing issue. This will
allow the project maintainers to quickly close off additional issues and keep
the discussion focused within a single issue.
If you can test issues that are reported to Select2 that contain test cases and
confirm under what conditions bugs happen, that will allow others to identify
what causes a bug quicker.
### Reviewing pull requests
It is very common for pull requests to be opened for issues that contain a clear
solution to the problem. These pull requests should be rigorously reviewed by
the community before being accepted. If you are not sure about a piece of
submitted code, or know of a better way to do something, do not hesitate to make
a comment on the pull request.
### Reviving old tickets
If you come across tickets which have not been updated for a while, you are encouraged to revive them. If you do, please include more information in your comment on the issue. Common bugs and feature requests are more likely to be fixed, whether it is by the community or the
developers, so keeping tickets up to date is encouraged.
Licensing
---------
It should also be made clear that **all code contributed to Select** must be
licensable under the [MIT license][licensing]. Code that cannot be released
under this license **cannot be accepted** into the project.
[grunt]: http://gruntjs.com/
[isolated-case]: http://css-tricks.com/6263-reduced-test-cases/
[issue-search]: https://github.com/select2/select2/search?q=&type=Issues
[issue-tracker]: https://github.com/select2/select2/issues
[licensing]: https://github.com/select2/select2/blob/master/LICENSE.md
[nodejs]: https://nodejs.org/
[npm]: https://www.npmjs.com/
================================================
FILE: .github/FUNDING.yml
================================================
github: kevin-brown
open_collective: select2
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
STOP!
Before you open an issue:
1. Make sure that your issue is a BUG or FEATURE REQUEST. General usage and troubleshooting questions should be directed to the [forums](https://forums.select2.org) or [Stack Overflow](https://stackoverflow.com/questions/tagged/jquery-select2). Issues asking for general support WILL BE CLOSED automatically.
2. Search the current issues, both open and closed, for a similar issue. If the bug is still present but the relevant issue has been closed, you may ask us to reopen the issue. Duplicate issues will be closed automatically.
3. Make sure that you are using the latest stable version of Select2 (see the [release history](https://github.com/select2/select2/releases)). Old minor/patch versions will not be supported.
If you are CERTAIN that it is appropriate to open a new issue, you must:
1. Create and link to a [minimal, complete, and verifiable](https://stackoverflow.com/help/mcve) example by cloning our [JSBin template](http://jsbin.com/goqagokoye/edit?html,js,output). Code dumps, zip files, etc are NOT acceptable.
2. Any additional code snippets should be formatted using [Markdown code fences](https://learn.userfrosting.com/troubleshooting/getting-help#use-markdown-to-format-blocks-of-code) and properly indented. Poorly formatted code is difficult to read and reflects badly on you as a programmer.
3. Include relevant screenshots or animations, if possible. Drag your screenshots directly into this text box. They will automatically be uploaded and the Markdown to display them will be generated. Avoid third-party image hosts, or links which require extra clicks to view the image.
4. If you are not conversationally proficient in English, do NOT just post a machine translation (e.g. Google Translate) to GitHub. Get help in crafting your question, either via the [forums](https://forums.select2.org) or in [chat](https://webchat.freenode.net/?channels=select2). If all else fails, you may post your bug report or feature request in your native language, with a machine translation below that. We will tag it with `translation-needed` so that others who speak your language can find it.
5. State the steps needed to reproduce the problem.
6. Mention your version of Select2, as well as the browser(s) and operating system(s) in which the problem occurs.
7. Clear out this placeholder text.
Issues that ignore these rules will be closed without further comment!
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
This pull request includes a
- [ ] Bug fix
- [ ] New feature
- [ ] Translation
The following changes were made
-
-
-
If this is related to an existing ticket, include a link to it as well.
================================================
FILE: .github/stale.yml
================================================
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# List of labels that will prevent an issue from going stale
exemptLabels:
- "confirmed bug"
- "accessibility"
# Issues with these labels will never be considered stale
# Label to use when marking an issue as stale
staleLabel: "status: stale"
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
================================================
FILE: .github/workflows/docs-deploy.yml
================================================
name: Documentation Deployment
on: release
jobs:
grav:
name: Deploy Grav
runs-on: ubuntu-latest
steps:
- uses: maddox/actions/sleep@master
with:
args: "180"
- uses: actions/checkout@v1
- name: Copy to documentation server
uses: maxheld83/rsync@v0.1.0
env:
USERNAME: ${{ secrets.DOCUMENTATION_SSH_USERNAME }}
SSH_PRIVATE_KEY: ${{ secrets.DOCUMENTATION_SSH_KEY }}
HOST_NAME: ${{ secrets.DOCUMENTATION_SSH_HOST }}
SSH_PUBLIC_KEY: not-needed
HOST_IP: not-needed
HOST_FINGERPRINT: not-needed
with:
args: "docs/ $USERNAME@$HOST_NAME:/var/www/select2-docs/user/"
================================================
FILE: .github/workflows/main.yml
================================================
name: CI
on: [push, pull_request]
jobs:
linting:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 20
uses: actions/setup-node@v1
with:
node-version: 20
- name: npm install
run: npm install
- name: Run linting
run: grunt compile lint
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- run: sudo apt update
- run: sudo apt install -y chromium-browser
- uses: actions/checkout@v1
- name: Use Node.js 20
uses: actions/setup-node@v1
with:
node-version: 20
- name: npm install
run: npm install
- name: Run tests
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: "1"
PUPPETEER_EXECUTABLE_PATH: "/usr/bin/chromium-browser"
run: grunt compile test
minification:
name: Minification
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 20
uses: actions/setup-node@v1
with:
node-version: 20
- name: npm install
run: npm install
- name: Run minification
run: grunt compile minify
================================================
FILE: .github/workflows/package-deploy.yml
================================================
name: Package Deployment
on:
push:
branches:
- develop
- master
release: ~
jobs:
deploy_github:
name: GitHub Package Registry
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 20
uses: actions/setup-node@v1
with:
node-version: 20
registry-url: https://npm.pkg.github.com/
scope: '@select2'
- name: Rename package to include private scope
run: "sed -i -e 's#\"name\": \"select2\"#\"name\": \"@select2/select2\"#' package.json"
- name: npm install
run: npm install
- name: Run linting, tests, minify
run: grunt
- name: Deploy (release)
if: github.event_name == 'release'
run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Deploy (release candidate)
if: github.event_name == 'push'
run: 'sed -i -E "s/\"version\": \"(.+)\",/\"version\": \"\1-commit-$GITHUB_SHA\",/" package.json && npm publish --tag next'
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
GITHUB_SHA: ${{github.sha}}
deploy_npm:
name: NPM
if: github.event_name == 'release'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node.js 20
uses: actions/setup-node@v1
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
- name: npm install
run: npm install
- name: Run linting, tests, minify
run: grunt
- name: Deploy (release)
run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
================================================
FILE: .gitignore
================================================
node_modules
dist/js/i18n/build.txt
.sass-cache
================================================
FILE: .jshintignore
================================================
src/js/banner.*.js
src/js/wrapper.*.js
tests/vendor/*.js
tests/helpers.js
================================================
FILE: .jshintrc
================================================
{
"bitwise": true,
"camelcase": true,
"curly": true,
"es3": true,
"eqnull": true,
"freeze": true,
"globals": {
"console": false,
"define": false,
"document": false,
"MockContainer": false,
"QUnit": false,
"require": false,
"window": false
},
"indent": 2,
"noarg": true,
"nonew": true,
"quotmark": "single",
"undef": true
}
================================================
FILE: CHANGELOG.md
================================================
# Change Log
## 4.1.0 (unreleased)
### Breaking changes
* The minimum jQuery version supported is the latest version in the 1.x, 2.x, and 3.x series (#5525, #5955)
* Removed support for legacy Internet Explorer (versions older than IE 11) (#5834)
* Removed modules deprecated in 4.0.0 (#5815)
* Removed legacy support for `<input />` tags
* Removed legacy support for `initSelection`
* Removed legacy support for `query`
* Removed old `select2/compat/matcher` module
* Removed undocumented CSS-related options (#5815)
* Removed `dropdownCss` option
* Removed `adaptDropdownCss` option
* Removed `containerCss` option
* Removed `adaptContainerCss` option
* The `containerCssClass` option has been renamed to `selectionCssClass` (#5815, #5847)
* Significant changes to the HTML/CSS for the selection area impacting custom themes (#5842)
* New CSS classes for the dropdown results to better target highlighted / selected results (#5841)
* The search box in the selection area for multiple selects has been changed from an `<input />` to a `<textarea>` to support pasting multiple lines (#5806)
* Change tab key to select the currently highlighted option instead of just closing (#5759)
* Tags will be highlighted first in the results even if other options have been selected (#5812)
### New features / improvements
* `dropdownCssClass` and `selectionCssClass` are now available in all builds of Select2 (#5815)
* Calls to get the currently selected options are now considerably faster on large datasets (#5775)
* Selected results in the dropdown should now be properly announced to screen readers (#5841)
* Significant improvements were made to make the selection area accessible (#5824, #5842, #5916, #5942, #5973)
* Allow pasting multiple lines into the search field for tokenization (#5806)
### Bug fixes
* Resize the selection search on close to properly display the placeholder (#5766)
* Change internal data ID generation to be more unique and prevent conflicts with numeric IDs (#5840)
* Internet Explorer 11 no longer steals focus of search box while tagging (#5842)
* Fix slow memory leak caused by not clearing cache on destroy (#5965)
### Translations
* Add Esperanto translation (`eo`) (#5823)
* Add Punjabi translations (`pa`) (#5831)
* Add Telugu translations (`te`) (#5881)
* Updated Hungarian translations (`hu`) for 4.1.0 changes (#5970)
### Miscellaneous
* The `amdLanguageBase` option no longer has an effect because the full build does not include any dynamically loaded modules (#5815)
## 4.0.13
### New features / improvements
* Trigger `input` event before `change` events (#4649)
* Feed back the keypress code that was responsible for the 'close' event (#5513)
* Only trigger `selection:update` once on DOM change events (#5734)
### Bug fixes
* Prevent opening of disabled elements (#5751)
### Documentation
* Fix "edit this page" links in docs (#5689)
### Miscellaneous
* Registered Select2 on Open Collective (#5700, #5721, #5741)
## 4.0.12
### Bug fixes
* Fixes incorrect offset when using the Shadow DOM and styling the `<html>` element (#5682)
### Miscellaneous
* Replace cdnjs with jsDelivr in the documentation (#5687)
* Fix incorrect provider for the automated NPM deployment (#5686)
## 4.0.11
### Bug fixes
* Fixes jQuery migrate error when getting offset when dropdownParent not in document (#5584)
### Miscellaneous
* Enable GitHub actions for CI (#5591)
* Documentation has been moved into and is deployed from the code repository (#5638)
* Remove Travis CI integration (#5665)
## 4.0.10
### New features / improvements
* Support passing in a selector for `dropdownParent` option (#5622)
### Bug fixes
* Fix bug where dropdowns pointing upwards were incorrectly positioned (#5621)
## 4.0.9
### New features / improvements
* Mirror disabled state through aria-disabled on selection (#5579)
* Select2 now clears the internal ID when it is destroyed (#5587)
* Set the main ARIA 1.1 roles and properties for comboboxes (#5582)
* The `language` option now has a clearly defined fallback chain (#5602)
### Bug fixes
* Do not propagate click when search box is not empty (#5580)
* Fix `maximumSelectionLength` being ignored by `closeOnSelect` (#5581)
* Fix generated options not receiving result IDs (#5586)
* Remove selection title attribute if text is empty (#5589)
* Reposition dropdown whenever items are selected (#5590)
* Fix dropdown positioning when displayed above with messages (#5592)
* Fix search box expanding width of container (#5595)
* `allowClear` no longer shifts selections to a new line (#5603)
### Translations
* Fix error in German translations (#5604)
### Miscellaneous
* Updated development grunt version so it no longer shows as vulnerable (#5597)
* Remove unused variables (#5554)
## 4.0.8
### New features / improvements
* Test against and fix compatibility with jQuery 3.4.1 (#5531)
* Results respect disabled state of `<option>` (#5560)
* Add `computedstyle` option for calculating the width (#5559)
### Bug fixes
* Fix tag creation being broken in 4.0.7 (#5558)
* Fix infinite scroll when the scrollbar is not visible (#5575)
* Revert change to focusing behaviour in 4.0.6 (#5576)
### Translations
* Fix wording in French translations (#5521)
### Miscellaneous
* Update grunt-contrib-qunit to latest version (#5530)
* Removed unused `.select2-selection__placeholder` CSS definitions for multiple selects (#5508)
* Remove deprecated jQuery shorthand (#5564)
## 4.0.7
### New features/improvements
- Do not close on select if Ctrl or Meta (Cmd) keys being held (#5222)
### Bug fixes
- Fixed issue where single select boxes would automatically reopen when they were closed (#5490, #5492)
### Miscellaneous
- Move almost and jquery-mousewheel to devDependencies (#5489)
## 4.0.6
### New features/improvements
- Add style property to package.json (#5019)
- Implement `clear` and `clearing` events (#5058)
- Add `scrollAfterSelect` option (#5150)
- Add missing diacritics (#4118, #4337, #5464)
### Bug fixes
- Fix up arrow error when there are no options in dropdown (#5127)
- Add `;` before beginning of factory wrapper (#5089)
- Fix IE11 issue with select losing focus after selecting an item (#4860)
- Clear tooltip from `select2-selection__rendered` when selection is cleared (#4640, #4746)
- Fix keyboard not closing when closing dropdown on iOS 10 (#4680)
- User-defined types not normalized properly when passed in as data (#4632)
- Perform deep merge for `Defaults.set()` (#4364)
- Fix "the results could not be loaded" displaying during AJAX request (#4356)
- Cache objects in `Utils.__cache` instead of using `$.data` (#4346, #5486)
- Removing the double event binding registration of `selection:update` (#4306)
#### Accessibility
- Improve `.select2-hidden-accessible` (#4908)
- Add role and aria-readonly attributes to single selection dropdown value (#4881)
### Translations
- Add Turkmen translations (`tk`) (#5125)
- Fix error in French translations (#5122)
- Add Albanian translation (`sq`) (#5199)
- Add Georgian translation (`ka`) (#5179)
- Add Nepali translation (`ne`) (#5295)
- Add Bangla translation (`bn`) (#5248)
- Add `removeAllItems` translation for clear "x" title (#5291)
- Fix wording in Vietnamese translations (#5387)
- Fix error in Russian translation (#5401)
### Miscellaneous
- Remove duplicate CSS selector in classic theme (#5115)
## 4.0.5
### Bug fixes
- Replace `autocapitalize=off` with `autocapitalize=none` (#4994)
### Translations
- Vietnamese: remove an unnecessary quote mark (#5059)
- Czech: Add missing commas and periods (#5052)
- Spanish: Update the 'errorLoading' message (#5032)
- Fix typo in Romanian (#5005)
- Improve French translation (#4988)
- Add Pashto translation (`ps`) (#4960)
- Add translations for lower and upper Sorbian (`dsb` and `hsb`) (#4949)
- Updates to Slovak (#4915)
- Fixed Norwegian `inputTooShort` message (#4817, 4896)
- Add Afrikaans translation (`af`) (#4850)
- Add Bosnian translation (`bs`) (#4504)
## 4.0.4
### New features / Improvements
- Make tag matching case insensitive [https://github.com/select2/select2/commit/cb9a90457867ffb14c7b1550bb67e872e0a5c2dd, https://github.com/select2/select2/commit/1167bace78cd3b1a918c1b04f3bac54674eab62b]
- Support selecting options with blank or `0` option values [https://github.com/select2/select2/commit/16b4840c0e2df0461998e3b464ee0a546173950d, https://github.com/select2/select2/commit/0358ee528765157234643d289bce6b8ca5889c72]
### Bug fixes
- Fix issue with entire form losing focus when tabbing away from a Select2 control (#4419)
- Fix UMD support for CommonJS [https://github.com/select2/select2/commit/45a877345482956021161203ac789c25f40a7d5e]
### Documentation
- Github Pages documentation has been deprecated, replaced with https://github.com/select2/docs
- Add django-autocomplete-light to integrations [https://github.com/select2/select2/pull/4597]
- Correct typo in options page [https://github.com/select2/select2/pull/4389]
- Correct misspelling in AJAX query parameters example [https://github.com/select2/select2/pull/4435]
- "highlight" should be "focus" in focus example [https://github.com/select2/select2/pull/4441]
- Correct misspelling in `<select>` serialization example [https://github.com/select2/select2/pull/4538]
- Correct typos in documentation [https://github.com/select2/select2/pull/4663]
### Translations
- Add `errorLoading` Hungarian translation [https://github.com/select2/select2/commit/7d1d13352321e21670ff1c6cba7413aa264fd57a]
- Add `errorLoading` German translation [https://github.com/select2/select2/commit/4df965219ea4c39147fde9335bc260840465933a]
- Add Slovene language [https://github.com/select2/select2/commit/8e6422c570a87da8d89c45daf0d253695a943c84]
- Add `errorLoading` Galician translation [https://github.com/select2/select2/commit/8fcc6202c37f4e06d951342bf142a3b906b6b8e3]
- Add `errorLoading` Thai translation [https://github.com/select2/select2/commit/625fc78ee616baedf64aa37357403b4b72c7363c]
- Add `searching` and `errorLoading` Finnish translations [https://github.com/select2/select2/pull/4730]
- Add `errorLoading` Turkish translation [https://github.com/select2/select2/commit/fd4a0825315c7055347726d5818c999279f96ff8, https://github.com/select2/select2/commit/751b36767f9f28b9de9428d5e8035c9a404915d9]
- Add Armenian language [https://github.com/select2/select2/commit/f6fa52dcc02341df1523f50348f2effc54ee2911]
## 4.0.3
This is the third bugfix release of Select2 4.0.0. It builds upon the [second bugfix release](https://github.com/select2/select2/releases/tag/4.0.2) and fixes many common issues.
### New features / Improvements
- The old `dropdownAutoWidth` option now properly works [https://github.com/select2/select2/commit/fe26b083eb830836061de1458e483782cefef424]
- A `focus` event on the original `<select>` is now handled [https://github.com/select2/select2/commit/31e7a1d4c52ed7477769fcad5d15166ae3c9b4d0]
- Adding and removing options now refreshes the selection automatically [https://github.com/select2/select2/commit/ea79a197e0ffe55aa600eed6d18cbd1c804c3176]
### Bug fixes
- `select2('option')` no longer mutate the arguments when working on multiple elements [https://github.com/select2/select2/commit/c2c1aeef31c95c6df5545c900a4e1782d712497c]
- Better detect aborted requests [https://github.com/select2/select2/commit/cfb66f5e4f71a56c46a6890c5dde4b7f24f11fa8]
- New options are now properly created during tokenization [https://github.com/select2/select2/commit/3b8cd2e36990e695e4cb4b966c8658e7ca1574dc]
- Fix positioning bug with non-static parents for the dropdown [https://github.com/select2/select2/pull/4267]
- Infinite scrolling no longer resets the keyboard focus [https://github.com/select2/select2/commit/e897d008a672da262ba84cee2a144578696ada29, https://github.com/select2/select2/commit/9f581285d88128b29a01fc1e5fd2d445d610b553]
- `selectOnClose` now works properly with `closeOnSelect` [https://github.com/select2/select2/commit/481c43883e23874e9c35879d173eb8cc5b994b12]
- Apply `ajax.delay` to empty search terms as well [https://github.com/select2/select2/commit/4b9e02f02211248be25ac4c16d4635cf38237bb9]
### Documentation
- Added example for attaching event listeners [https://github.com/select2/select2/commit/84d6b5d840f7f4e6b7a2fb3f08424bf5495c876d]
- Correct link to the [Select2 Bootstrap Theme](https://github.com/select2/select2-bootstrap-theme) [https://github.com/select2/select2/pull/4318]
- Added example for using a `<label>` [https://github.com/select2/select2/commit/3bc7f4ac78b58eff8cd17b3273596638c3c9c5c1]
- Add documentation for `ajax.url` [https://github.com/select2/select2/commit/5a831afb9a7d46e8f20aec21164cfbfd182024de]
- Added favicon [https://github.com/select2/select2/pull/4379]
### Translations
- Add Khmer translation [https://github.com/select2/select2/pull/4246]
- Added Norwegian bokmaal for `errorLoading` [https://github.com/select2/select2/pull/4259]
- Fixed pluralization in Lithuanian translation [https://github.com/select2/select2/commit/5b5eddd183c87bf43165b3a98e03eabe10e9fa58]
- Add French translation for `errorLoading` [https://github.com/select2/select2/commit/b1ea28bb7d8c02b3b352f558031ccfc8041122eb]
- Add Greek translation [https://github.com/select2/select2/pull/4139]
## 4.0.2
This is the second bugfix release of Select2 4.0.0. It builds upon the [first release candidate of Select2 4.0.2](https://github.com/select2/select2/releases/tag/4.0.2-rc.1) with some minor improvements.
### New features / Improvements
- Added `insertTag` option to control the placement of the `tags` option [https://github.com/select2/select2/pull/4008]
- Added handler for AJAX errors [https://github.com/select2/select2/issues/3501]
- Added insertTag to control the tag position [https://github.com/select2/select2/pull/4008]
### Bug fixes
- Fixed positioning issues with static dropdown parents [https://github.com/select2/select2/issues/3970]
- Fixed existing selections not always being respected with array data [https://github.com/select2/select2/issues/3990]
- Sanitize automatically generated ids so CSS identifiers can be used [https://github.com/select2/select2/issues/3618]
- Recursively apply defaults so AJAX defaults can be set [https://github.com/select2/select2/commit/983cd8e765c5345bfe7d3bdcc3b0c882a35461ca]
- No need to recalculate the top of the dropdown twice [https://github.com/select2/select2/pull/4155]
### Documentation
- Updated Bootstrap and Font Awesome dependencies [https://github.com/select2/select2/commit/a5e539b509778eabeb8ce79e191b3ee1e81f6deb, https://github.com/select2/select2/commit/81a4a68b113e0d3e0fb1d0f8b1c33ae1b48ba04f, https://github.com/select2/select2/commit/6369f5f173fb81ec692213782945cc737e248da5]
- Use Jekyll's highlighting instead of prettify [https://github.com/select2/select2/commit/54441e6a22be3969dd934ccb769f5d7dde684bfb, https://github.com/select2/select2/commit/74387b98632c75b06d15d83ad5359b9daf0f5dcb, https://github.com/select2/select2/commit/a126b53b4c90fac33b5d855894647cd8bcac3558, https://github.com/select2/select2/commit/75163d67cb80e4279965a97e9eeda5b171806085]
- Corrected responsive width example to properly show it working [https://github.com/select2/select2/commit/63d531a9c0ab51f05327492a56f3245777762b45]
- Replaced protocol-relative URLs with HTTPS protocol [https://github.com/select2/select2/pull/4127]
- Code snippets for mapping `id` and `text` [https://github.com/select2/select2/issues/4086]
- Document how to trigger `change` just for Select2 [https://github.com/select2/select2/issues/3620]
- Added notes about DOM events [https://github.com/select2/select2/commit/37dbe059fce4578b46b7561e6243b7fdc63ac002]
### Translations
- Correct Romanian translation [https://github.com/select2/select2/commit/72d905f9e026d49e7c600f37a1ce742c404654d7]
## 4.0.1
This is the first bugfix release of Select2 4.0.0. It builds upon the [first release candidate of Select2 4.0.1](https://github.com/select2/select2/releases/tag/4.0.1-rc.1) with some minor improvements.
### New features / improvements
- The option container is now passed in as the second argument when templating selections using `templateResult` [https://github.com/select2/select2/commit/dc516e7073605723be59bc727b96a3b3dea1ae5a]
- The option container is now passed in as the second argument when templating selections using `templateSelection` [https://github.com/select2/select2/pull/3324]
- You can immediately start typing to search when tabbing into a multiple select [https://github.com/select2/select2/commit/02cca7baa7b78e73cdcf393172ee3a54be387167, https://github.com/select2/select2/commit/79cdcc0956e242c1ce642bbaa93e538c54f4be0]
- All parameters passed in for AJAX requests are now set as query string parameters by default [https://github.com/select2/select2/issues/3548]
### Bug fixes
- The search box will now be properly sized after removing a selection [https://github.com/select2/select2/commit/5f80c5d9f81f3c5398c3e6e3e84fd6c67c8873f1]
- Dropdown results will now be spoken by screen readers [https://github.com/select2/select2/commit/9fae3d74e373fc646da4e39a0c2ab11efa808c3f]
- Options are now properly cloned when initializing multiple instances at once [https://github.com/select2/select2/commit/3c8366e8769233a6b20ade934fe629279e7be6ff]
- `selectOnClose` and now be used with `closeOnSelect` without getting a stack overflow [https://github.com/select2/select2/commit/393ca4cf7f7f7097d3a994bda3dbf195e945eba1]
- Fixed positioning with non-static parents [https://github.com/select2/select2/commit/c9216b4b966653dd63a67e815b47899ef5325298]
- Fixed bug where multiple selects with placeholders were buggy in IE [https://github.com/select2/select2/issues/3300]
- Fixed bug where AJAX selects could not be initialized with array data [https://github.com/select2/select2/pull/3375]
- `:all:` is now correctly removed when used in `containerCss` and `dropdownCss` options [https://github.com/select2/select2/pull/3464]
- Fixed bug where the multiple select search box would appear on the left in RTL mode [https://github.com/select2/select2/pull/3502]
- Change ALT + UP to close the dropdown instead of opening it [https://github.com/select2/select2/commit/d2346cc33186c2a00fa2dad29e8e559c42bfea00]
- Fix focus issue with the multiple select search box when the `change` event was triggered [https://github.com/select2/select2/commit/698fe7b9e187e182f679aa679eb8b0ecb64a846b, https://github.com/select2/select2/commit/88503d2c67dc7f4fb9395a17f17edfe4948cf738, https://github.com/select2/select2/commit/dd2990adead92593a2dffff6ae004ea8b647d130]
- Fix bug in `ArrayAdapter` where the existing `<option>` data would be used instead of the array data [https://github.com/select2/select2/pull/3565]
- Remove random call to `$dropdownContainer.width()` in the `AttachBody` decorator [https://github.com/select2/select2/pull/3654]
- Fix memory leak in `AttachBody` decorator [https://github.com/select2/select2/commit/671f5a2ce21005090e0b69059799cd3dd1fbbf84]
- Selections can no longer be removed when Select2 is in a disabled state [https://github.com/select2/select2/commit/68d068f1d2c7722d011d285a291d1f974bf09772, https://github.com/select2/select2/commit/7d8f86cbf85ebd2179195ff6a2a7a1c5dcb9da58]
- Remove redundant `open` event trigger [https://github.com/select2/select2/pull/3507]
- Correct references to `this` in `ajax.data` and `ajax.url` callback functions [https://github.com/select2/select2/issues/3361]
- Apply select2('option') calls on all elements [https://github.com/select2/select2/pull/3495]
### Design
- Fixed original `<select>` not always being hidden correctly in some cases [https://github.com/select2/select2/pull/3301]
- Fix potential issue with Bootstrap's gradients in Internet Explorer [https://github.com/select2/select2/pull/3307]
- Improve compatibility with Zurb Foundation [https://github.com/select2/select2/pull/3290]
- Remove padding on mobile safari search field in multiple selects [https://github.com/select2/select2/pull/3605]
- Fix the clear button appearing beneath long text [https://github.com/select2/select2/issues/3306]
- Migrate the CSS classes for the "Loading more results" message to BEM [https://github.com/select2/select2/issues/3889]
- Fix inline search not displaying properly in Safari [https://github.com/select2/select2/issues/3459]
### Documentation
- New documentation theme designed by @fk [https://github.com/select2/select2/pull/3376, https://github.com/select2/select2/pull/3467, https://github.com/select2/select2/pull/3488]
- Update ajax example to reflect pagination [https://github.com/select2/select2/pull/3357]
- Fix incorrect option name in `maxiumSelectionLength` example [https://github.com/select2/select2/pull/3454]
- Fix typos in the disabled mode/results examples [https://github.com/select2/select2/pull/3665]
- Fix `Option` parameters in the 4.0 announcement [https://github.com/select2/select2/pull/3547]
- Fix invalid JSON in the tags example within the 4.0 announcement [https://github.com/select2/select2/pull/3637]
### Translations
- Added Cyrillic variant of the Serbian language [https://github.com/select2/select2/pull/3943]
- Corrected Thai "no results found" translation [https://github.com/select2/select2/pull/3782]
- Swapped the `inputTooLong` and `inputTooShort` messages in the Galician translation [https://github.com/select2/select2/pull/3291]
- Fix improper grammar in Dutch translation [https://github.com/select2/select2/pull/3692]
- Add Japanese translation [https://github.com/select2/select2/pull/3477]
- Polish translation: Fixed typo in maximum selected message [https://github.com/select2/select2/pull/3587]
- Add Malay translation [https://github.com/select2/select2/pull/3635]
- Add `errorLoading` for Indonesian translation [https://github.com/select2/select2/pull/3635]
- Correct grammar issues in Hebrew translation [https://github.com/select2/select2/pull/3911]
- Add `errorLoading` for Danish translation [https://github.com/select2/select2/pull/3870]
- Add Arabic translation [https://github.com/select2/select2/pull/3859]
## 4.0.0
This builds upon [the second release candidate](https://github.com/select2/select2/tree/4.0.0-rc.2), **so review all previous release notes** before upgrading from previous versions of Select2.
### Supported environments
- jQuery 1.7.2+
- Modern browsers (Chrome, Firefox, Safari)
- Internet Explorer 8+
### New features
- Fully compatible with AMD and UMD based loaders.
- Advanced plugin system that [uses custom adapters](https://select2.org/advanced/adapters-and-decorators).
- Full support for `jQuery.noConflict`.
- A `<select>` is the recommended element and [can be used for all options](https://select2.org/upgrading/migrating-from-35#no-more-hidden-input-tags). There is limited backwards-compatible support for the `<input>` element in [full builds](https://select2.org/getting-started/builds-and-modules).
- [Declarative configuration through `data-*` attributes](https://select2.org/configuration/data-attributes)
- Easy to configure theme system and new default theme
- You can use more specific locales (like `en-US`) and Select2 will be able to determine what translation files to load.
### Breaking changes
- Select2 now uses the MIT license
- [The full build](https://select2.org/getting-started/builds-and-modules) of Select2 no longer includes jQuery - You must include jQuery separately on your page.
- Select2 will prevent the inner scrolling of modals (and other scrollable containers) when it is open to prevent the UI from breaking. [Read more at the commit.](https://github.com/select2/select2/commit/003d6053a9fff587c688008397e7d5824463fe99)
- jQuery is no longer listed as a dependency in the `bower.json`/`component.json` files.
- [`<select>` has replaced `<input type="hidden" />`](https://select2.org/upgrading/migrating-from-35#no-more-hidden-input-tags) for **all options** (_including remote data_)
- The [`matcher` has been revamped](https://select2.org/upgrading/migrating-from-35#advanced-matching-of-searches) to include full context, a compatibility module (`select2/compat/matcher`) has been created
- The [display always reflects the order](https://select2.org/upgrading/migrating-from-35#display-reflects-the-actual-order-of-the-values) data is sent to the server
- The click mask is no longer the default (again). You can get back the old functionality by wrapping your `selectionAdapter` with the `ClickMask` (`select2/selection/clickMask`) decorator.
- Select2 no longer stops the propagation of events happening within the dropdown and selection. You can use the `StopPropagation` modules available in the [full builds](https://select2.org/getting-started/builds-and-modules) to prevent this. [https://github.com/select2/select2/commit/8f8140e3b00c5d5bb232455137c4c633d7da4275]
- The enter key no longer toggles the state of multiple select items in the results, but instead will only select them. Use CTRL + Space instead to toggle the state. [https://github.com/select2/select2/commit/017c20109471fa5b835603faf5dc37f7c2c2ea45]
- Warnings will now be triggered in the developer console if Select2 detects an unsupported configuration.
#### Options
- The default value of the `width` option has been changed from `style` to `resolve`.
- The `copy` value for the `width` option has been renamed to `style`.
##### Renamed
- `formatSelection` -> `templateSelection`
- `formatResult` -> `templateResult`
- `sortResults` -> `sorter`
- `createSearchChoice` -> `createTag`
- `selectOnBlur` -> `selectOnClose`
- `ajax.jsonpCallback` -> `ajax.jsonp`
- `ajax.results` -> `ajax.processResults`
- `tags: [array,of,data]` -> `data: [array,of,data], tags: true`
- `placeholderOption` has been replaced by `placeholder.id` (`placeholder` -> `placeholder.text`)
##### [Internationalization](https://select2.org/i18n)
- `formatNoMatches` -> `language.noMatches`
- `formatSearching` -> `language.searching`
- `formatInputTooShort` -> `language.inputTooShort`
- `formatInputTooLong` -> `language.inputTooLong`
- `formatAjaxError` -> `language.errorLoading`
- `formatLoading` -> `language.loadingMore`
- `formatSelectionTooBig` -> `language.maximumSelected`
##### Deprecated/Removed
- `initSelection` - This is [no longer needed](https://select2.org/upgrading/migrating-from-35#removed-the-requirement-of-initselection) with `<select>` tags. Limited backwards compatibility in the [full build](https://select2.org/getting-started/builds-and-modules).
- `id` - Data objects should now always have `id` and `text` attributes that are strings, use [`$.map`](https://api.jquery.com/jquery.map/) when migrating
- `query` - Use a [custom data adapter](https://select2.org/upgrading/migrating-from-35#custom-data-adapters-instead-of-query) instead. Limited backwards compatibility in the [full build](https://select2.org/getting-started/builds-and-modules).
- `ajax.params` - All parameters passed to `ajax` will be passed to the AJAX data transport function
#### Methods
##### Renamed
- `.select2("val", [value])` -> `.val([value])`
- `.select2("enable", !disabled)` -> `.prop("disabled", disabled)`
##### Removed
- `.select2("onSortStart")` and `.select2("onSortEnd")` - A custom [selection adapter](https://select2.org/advanced/default-adapters/selection) should be created instead
- `.select2("data", data)` - Create the `<option>` tags for the objects that you would like to set, and set the `.val` to select them
- `.select2("readonly")` - There is [no way to make a `<select>` element read-only](http://stackoverflow.com/q/368813/359284), disable it instead
#### Events
##### New
- `select2:closing` is triggered before the dropdown is closed
- `select2:select` is triggered when an option is selected
##### Renamed
- `select2-close` is now `select2:close`
- `select2-open` is now `select2:open`
- `select2-opening` is now `select2:opening`
- `select2-selecting` is now `select2:selecting`
- `select2-removed` is now `select2:unselect`
- `select2-removing` is now `select2:unselecting`
##### Removed
- `select2-clearing` has been removed in favor of `select2:unselecting`
- `select2-highlight`
- `select2-loaded`
- `select2-focus` - Use the native `focus` event instead
- `select2-blur` - Use the native `blur` event instead
- All extra properties from the `change` event were removed
- `val` can be retrieved with `$element.val()` instead
- `added` can be retrieved by listening to `select2:select`
- `removed` can be retrieved by listening to `select2:unselect`
================================================
FILE: Gruntfile.js
================================================
const sass = require('sass');
module.exports = function (grunt) {
// Full list of files that must be included by RequireJS
includes = [
'jquery.select2',
'almond',
'jquery-mousewheel' // shimmed for non-full builds
];
fullIncludes = [
'jquery',
'select2/dropdown/attachContainer',
'select2/dropdown/stopPropagation',
'select2/selection/stopPropagation'
].concat(includes);
var i18nModules = [];
var i18nPaths = {};
var i18nFiles = grunt.file.expand({
cwd: 'src/js'
}, 'select2/i18n/*.js');
var testFiles = grunt.file.expand('tests/**/*.html');
var testUrls = testFiles.map(function (filePath) {
return 'http://localhost:9999/' + filePath;
});
var testBuildNumber = "unknown";
if (process.env.TRAVIS_JOB_ID) {
testBuildNumber = "travis-" + process.env.TRAVIS_JOB_ID;
} else {
var currentTime = new Date();
testBuildNumber = "manual-" + currentTime.getTime();
}
for (var i = 0; i < i18nFiles.length; i++) {
var file = i18nFiles[i];
var name = file.split('.')[0];
i18nModules.push({
name: name
});
i18nPaths[name] = '../../' + name;
}
var minifiedBanner = '/*! Select2 <%= package.version %> | https://github.com/select2/select2/blob/master/LICENSE.md */';
grunt.initConfig({
package: grunt.file.readJSON('package.json'),
concat: {
'dist': {
options: {
banner: grunt.file.read('src/js/wrapper.start.js'),
},
src: [
'dist/js/select2.js',
'src/js/wrapper.end.js'
],
dest: 'dist/js/select2.js'
},
'dist.full': {
options: {
banner: grunt.file.read('src/js/wrapper.start.js'),
},
src: [
'dist/js/select2.full.js',
'src/js/wrapper.end.js'
],
dest: 'dist/js/select2.full.js'
}
},
connect: {
tests: {
options: {
base: '.',
hostname: '127.0.0.1',
port: 9999
}
}
},
uglify: {
'dist': {
src: 'dist/js/select2.js',
dest: 'dist/js/select2.min.js',
options: {
banner: minifiedBanner
}
},
'dist.full': {
src: 'dist/js/select2.full.js',
dest: 'dist/js/select2.full.min.js',
options: {
banner: minifiedBanner
}
}
},
qunit: {
all: {
options: {
urls: testUrls
}
}
},
jshint: {
options: {
jshintrc: true,
reporterOutput: ''
},
code: {
src: ['src/js/**/*.js']
},
tests: {
src: ['tests/**/*.js']
}
},
sass: {
dist: {
options: {
implementation: sass,
outputStyle: 'compressed'
},
files: {
'dist/css/select2.min.css': [
'src/scss/core.scss',
'src/scss/theme/default/layout.css'
]
}
},
dev: {
options: {
implementation: sass,
outputStyle: 'expanded'
},
files: {
'dist/css/select2.css': [
'src/scss/core.scss',
'src/scss/theme/default/layout.css'
]
}
}
},
requirejs: {
'dist': {
options: {
baseUrl: 'src/js',
optimize: 'none',
name: 'select2/core',
out: 'dist/js/select2.js',
include: includes,
namespace: 'S2',
paths: {
'almond': require.resolve('almond').slice(0, -3),
'jquery': 'jquery.shim',
'jquery-mousewheel': 'jquery.mousewheel.shim'
},
wrap: {
startFile: 'src/js/banner.start.js',
endFile: 'src/js/banner.end.js'
}
}
},
'dist.full': {
options: {
baseUrl: 'src/js',
optimize: 'none',
name: 'select2/core',
out: 'dist/js/select2.full.js',
include: fullIncludes,
namespace: 'S2',
paths: {
'almond': require.resolve('almond').slice(0, -3),
'jquery': 'jquery.shim',
'jquery-mousewheel': require.resolve('jquery-mousewheel').slice(0, -3)
},
wrap: {
startFile: 'src/js/banner.start.js',
endFile: 'src/js/banner.end.js'
}
}
},
'i18n': {
options: {
baseUrl: 'src/js/select2/i18n',
dir: 'dist/js/i18n',
paths: i18nPaths,
modules: i18nModules,
namespace: 'S2',
wrap: {
start: minifiedBanner + grunt.file.read('src/js/banner.start.js'),
end: grunt.file.read('src/js/banner.end.js')
}
}
}
},
watch: {
js: {
files: [
'src/js/select2/**/*.js',
'tests/**/*.js'
],
tasks: [
'compile',
'test',
'minify'
]
},
css: {
files: [
'src/scss/**/*.scss'
],
tasks: [
'compile',
'minify'
]
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-sass');
grunt.registerTask('default', ['compile', 'test', 'lint', 'minify']);
grunt.registerTask('compile', [
'requirejs:dist', 'requirejs:dist.full', 'requirejs:i18n',
'concat:dist', 'concat:dist.full',
'sass:dev'
]);
grunt.registerTask('minify', ['uglify', 'sass:dist']);
grunt.registerTask('lint', ['jshint']);
grunt.registerTask('test', ['connect:tests', 'qunit']);
};
================================================
FILE: LICENSE.md
================================================
The MIT License (MIT)
Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: README.md
================================================
Select2
=======
![Build Status][github-actions-image]
[](https://opencollective.com/select2)
[][jsdelivr]
[][cdnjs]
Select2 is a jQuery-based replacement for select boxes. It supports searching,
remote data sets, and pagination of results.
To get started, check out examples and documentation at
https://select2.org/
Use cases
---------
* Enhancing native selects with search.
* Enhancing native selects with a better multi-select interface.
* Loading data from JavaScript: easily load items via AJAX and have them
searchable.
* Nesting optgroups: native selects only support one level of nesting. Select2
does not have this restriction.
* Tagging: ability to add new items on the fly.
* Working with large, remote datasets: ability to partially load a dataset based
on the search term.
* Paging of large datasets: easy support for loading more pages when the results
are scrolled to the end.
* Templating: support for custom rendering of results and selections.
Browser compatibility
---------------------
* IE 8+
* Chrome 8+
* Firefox 10+
* Safari 3+
* Opera 10.6+
Usage
-----
You can source Select2 directly from a CDN like [jsDelivr][jsdelivr] or
[cdnjs][cdnjs], [download it from this GitHub repo][releases], or use one of
the integrations below.
Integrations
------------
Third party developers have created plugins for platforms which allow Select2 to be integrated more natively and quickly. For many platforms, additional plugins are not required because Select2 acts as a standard `<select>` box.
Plugins
* [Backdrop CMS][backdrop-cms] - [backdrop-select2]
* [Django]
- [django-autocomplete-light]
- [django-easy-select2]
- [django-select2]
* [Drupal] - [drupal-select2]
* [Meteor] - [meteor-select2]
* [Ruby on Rails][ruby-on-rails] - [select2-rails]
* [Wicket] - [wicketstuff-select2]
* [Yii 2][yii2] - [yii2-widget-select2]
* [Angularjs][angularjs] - [mdr-angular-select2]
Themes
- [Bootstrap 3][bootstrap3] - [select2-bootstrap-theme]
- [Bootstrap 4][bootstrap4] - [select2-bootstrap4-theme]
- [Bootstrap 5](https://getbootstrap.com/docs/5.0) - [select2-bootstrap-5-theme](https://github.com/apalfrey/select2-bootstrap-5-theme)
- [Flat UI][flat-ui] - [select2-flat-theme]
Missing an integration? Modify this `README` and make a pull request back here to Select2 on GitHub.
Internationalization (i18n)
---------------------------
Select2 supports multiple languages by simply including the right language JS
file (`dist/js/i18n/it.js`, `dist/js/i18n/nl.js`, etc.) after
`dist/js/select2.js`.
Missing a language? Just copy `src/js/select2/i18n/en.js`, translate it, and
make a pull request back to Select2 here on GitHub.
Documentation
-------------
The documentation for Select2 is available
[online at the documentation website][documentation] and is located within the
[`docs` directory of this repository][documentation-directory].
Community
---------
You can find out about the different ways to get in touch with the Select2
community at the [Select2 community page][community].
Copyright and license
---------------------
The license is available within the repository in the [LICENSE][license] file.
Contributors
------------
### Code Contributors
This project exists thanks to all the people who contribute. [[Contribute](.github/CONTRIBUTING.md)].
<a href="https://github.com/select2/select2/graphs/contributors"><img src="https://opencollective.com/select2/contributors.svg?width=890&button=false" /></a>
### Financial Contributors
Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/select2/contribute)]
#### Individuals
<a href="https://opencollective.com/select2"><img src="https://opencollective.com/select2/individuals.svg?width=890"></a>
#### Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/select2/contribute)]
<a href="https://opencollective.com/select2/organization/0/website"><img src="https://opencollective.com/select2/organization/0/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/1/website"><img src="https://opencollective.com/select2/organization/1/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/2/website"><img src="https://opencollective.com/select2/organization/2/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/3/website"><img src="https://opencollective.com/select2/organization/3/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/4/website"><img src="https://opencollective.com/select2/organization/4/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/5/website"><img src="https://opencollective.com/select2/organization/5/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/6/website"><img src="https://opencollective.com/select2/organization/6/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/7/website"><img src="https://opencollective.com/select2/organization/7/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/8/website"><img src="https://opencollective.com/select2/organization/8/avatar.svg"></a>
<a href="https://opencollective.com/select2/organization/9/website"><img src="https://opencollective.com/select2/organization/9/avatar.svg"></a>
[cdnjs]: http://www.cdnjs.com/libraries/select2
[community]: https://select2.org/getting-help
[documentation]: https://select2.org
[documentation-directory]: https://github.com/select2/select2/tree/develop/docs
[freenode]: https://freenode.net/
[github-actions-image]: https://github.com/select2/select2/workflows/CI/badge.svg
[jsdelivr]: https://www.jsdelivr.com/package/npm/select2
[license]: LICENSE.md
[releases]: https://github.com/select2/select2/releases
[angularjs]: https://angularjs.org/
[backdrop-cms]: https://backdropcms.org/
[backdrop-select2]: https://backdropcms.org/project/select2
[bootstrap3]: https://getbootstrap.com/
[bootstrap4]: https://getbootstrap.com/
[django]: https://www.djangoproject.com/
[django-autocomplete-light]: https://github.com/yourlabs/django-autocomplete-light
[django-easy-select2]: https://github.com/asyncee/django-easy-select2
[django-select2]: https://github.com/codingjoe/django-select2
[drupal]: https://www.drupal.org/
[drupal-select2]: https://www.drupal.org/project/select2
[flat-ui]: http://designmodo.github.io/Flat-UI/
[mdr-angular-select2]: https://github.com/modulr/mdr-angular-select2
[meteor]: https://www.meteor.com/
[meteor-select2]: https://github.com/nate-strauser/meteor-select2
[ruby-on-rails]: http://rubyonrails.org/
[select2-bootstrap-theme]: https://github.com/select2/select2-bootstrap-theme
[select2-bootstrap4-theme]: https://github.com/ttskch/select2-bootstrap4-theme
[select2-flat-theme]: https://github.com/techhysahil/select2-Flat_Theme
[select2-rails]: https://github.com/argerim/select2-rails
[vue.js]: http://vuejs.org/
[select2-vue]: http://vuejs.org/examples/select2.html
[wicket]: https://wicket.apache.org/
[wicketstuff-select2]: https://github.com/wicketstuff/core/tree/master/select2-parent
[yii2]: http://www.yiiframework.com/
[yii2-widget-select2]: https://github.com/kartik-v/yii2-widget-select2
================================================
FILE: bower.json
================================================
{
"name": "select2",
"description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
"main": [
"dist/js/select2.js",
"src/scss/core.scss"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "git@github.com:select2/select2.git"
}
}
================================================
FILE: component.json
================================================
{
"name": "select2",
"repo": "select/select2",
"description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
"version": "4.1.0-rc.0",
"demo": "https://select2.org/",
"keywords": [
"jquery"
],
"main": "dist/js/select2.js",
"styles": [
"dist/css/select2.css"
],
"scripts": [
"dist/js/select2.js",
"dist/js/i18n/*.js"
],
"license": "MIT"
}
================================================
FILE: composer.json
================================================
{
"name": "select2/select2",
"description": "Select2 is a jQuery based replacement for select boxes.",
"type": "component",
"homepage": "https://select2.org/",
"license": "MIT",
"extra": {
"component": {
"scripts": [
"dist/js/select2.js"
],
"styles": [
"dist/css/select2.css"
],
"files": [
"dist/js/select2.js",
"dist/js/i18n/*.js",
"dist/css/select2.css"
]
}
}
}
================================================
FILE: dist/css/select2.css
================================================
.select2-container {
box-sizing: border-box;
display: inline-block;
margin: 0;
position: relative;
vertical-align: middle;
}
.select2-container .select2-selection--single {
box-sizing: border-box;
cursor: pointer;
display: block;
height: 28px;
user-select: none;
-webkit-user-select: none;
}
.select2-container .select2-selection--single .select2-selection__rendered {
display: block;
padding-left: 8px;
padding-right: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.select2-container .select2-selection--single .select2-selection__clear {
background-color: transparent;
border: none;
font-size: 1em;
}
.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
padding-right: 8px;
padding-left: 20px;
}
.select2-container .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 32px;
user-select: none;
-webkit-user-select: none;
}
.select2-container .select2-selection--multiple .select2-selection__rendered {
display: inline;
list-style: none;
padding: 0;
}
.select2-container .select2-selection--multiple .select2-selection__clear {
background-color: transparent;
border: none;
font-size: 1em;
}
.select2-container .select2-search--inline .select2-search__field {
box-sizing: border-box;
border: none;
font-size: 100%;
margin-top: 5px;
margin-left: 5px;
padding: 0;
max-width: 100%;
resize: none;
height: 18px;
vertical-align: bottom;
font-family: sans-serif;
overflow: hidden;
word-break: keep-all;
}
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none;
}
.select2-dropdown {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
box-sizing: border-box;
display: block;
position: absolute;
left: -100000px;
width: 100%;
z-index: 1051;
}
.select2-results {
display: block;
}
.select2-results__options {
list-style: none;
margin: 0;
padding: 0;
}
.select2-results__option {
padding: 6px;
user-select: none;
-webkit-user-select: none;
}
.select2-results__option--selectable {
cursor: pointer;
}
.select2-container--open .select2-dropdown {
left: 0;
}
.select2-container--open .select2-dropdown--above {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.select2-container--open .select2-dropdown--below {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.select2-search--dropdown {
display: block;
padding: 4px;
}
.select2-search--dropdown .select2-search__field {
padding: 4px;
width: 100%;
box-sizing: border-box;
}
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none;
}
.select2-search--dropdown.select2-search--hide {
display: none;
}
.select2-close-mask {
border: 0;
margin: 0;
padding: 0;
display: block;
position: fixed;
left: 0;
top: 0;
min-height: 100%;
min-width: 100%;
height: auto;
width: auto;
opacity: 0;
z-index: 99;
background-color: #fff;
filter: alpha(opacity=0);
}
.select2-hidden-accessible {
border: 0 !important;
clip: rect(0 0 0 0) !important;
-webkit-clip-path: inset(50%) !important;
clip-path: inset(50%) !important;
height: 1px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
white-space: nowrap !important;
}
.select2-container--default .select2-selection--single {
background-color: #fff;
border: 1px solid #aaa;
border-radius: 4px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px;
}
.select2-container--default .select2-selection--single .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold;
height: 26px;
margin-right: 20px;
padding-right: 0px;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
color: #999;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 26px;
position: absolute;
top: 1px;
right: 1px;
width: 20px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
border-color: #888 transparent transparent transparent;
border-style: solid;
border-width: 5px 4px 0 4px;
height: 0;
left: 50%;
margin-left: -4px;
margin-top: -2px;
position: absolute;
top: 50%;
width: 0;
}
.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
float: left;
}
.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
left: 1px;
right: auto;
}
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #eee;
cursor: default;
}
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
display: none;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px;
}
.select2-container--default .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
cursor: text;
padding-bottom: 5px;
padding-right: 5px;
position: relative;
}
.select2-container--default .select2-selection--multiple.select2-selection--clearable {
padding-right: 25px;
}
.select2-container--default .select2-selection--multiple .select2-selection__clear {
cursor: pointer;
font-weight: bold;
height: 20px;
margin-right: 10px;
margin-top: 5px;
position: absolute;
right: 0;
padding: 1px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #aaa;
border-radius: 4px;
box-sizing: border-box;
display: inline-block;
margin-left: 5px;
margin-top: 5px;
padding: 0;
padding-left: 20px;
position: relative;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: bottom;
white-space: nowrap;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
cursor: default;
padding-left: 2px;
padding-right: 5px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
background-color: transparent;
border: none;
border-right: 1px solid #aaa;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
color: #999;
cursor: pointer;
font-size: 1em;
font-weight: bold;
padding: 0 4px;
position: absolute;
left: 0;
top: 0;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover, .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus {
background-color: #f1f1f1;
color: #333;
outline: none;
}
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
margin-left: 5px;
margin-right: auto;
}
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__display {
padding-left: 5px;
padding-right: 2px;
}
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
border-left: 1px solid #aaa;
border-right: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__clear {
float: left;
margin-left: 10px;
margin-right: auto;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: solid black 1px;
outline: 0;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #eee;
cursor: default;
}
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
display: none;
}
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa;
}
.select2-container--default .select2-search--inline .select2-search__field {
background: transparent;
border: none;
outline: 0;
box-shadow: none;
-webkit-appearance: textfield;
}
.select2-container--default .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto;
}
.select2-container--default .select2-results__option .select2-results__option {
padding-left: 1em;
}
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
padding-left: 0;
}
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
margin-left: -1em;
padding-left: 2em;
}
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -2em;
padding-left: 3em;
}
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -3em;
padding-left: 4em;
}
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -4em;
padding-left: 5em;
}
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -5em;
padding-left: 6em;
}
.select2-container--default .select2-results__option--group {
padding: 0;
}
.select2-container--default .select2-results__option--disabled {
color: #999;
}
.select2-container--default .select2-results__option--selected {
background-color: #ddd;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
background-color: #5897fb;
color: white;
}
.select2-container--default .select2-results__group {
cursor: default;
display: block;
padding: 6px;
}
.select2-container--classic .select2-selection--single {
background-color: #f7f7f7;
border: 1px solid #aaa;
border-radius: 4px;
outline: 0;
background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFEEEEEE", GradientType=0);
}
.select2-container--classic .select2-selection--single:focus {
border: 1px solid #5897fb;
}
.select2-container--classic .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px;
}
.select2-container--classic .select2-selection--single .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold;
height: 26px;
margin-right: 20px;
}
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
color: #999;
}
.select2-container--classic .select2-selection--single .select2-selection__arrow {
background-color: #ddd;
border: none;
border-left: 1px solid #aaa;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
height: 26px;
position: absolute;
top: 1px;
right: 1px;
width: 20px;
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE", endColorstr="#FFCCCCCC", GradientType=0);
}
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
border-color: #888 transparent transparent transparent;
border-style: solid;
border-width: 5px 4px 0 4px;
height: 0;
left: 50%;
margin-left: -4px;
margin-top: -2px;
position: absolute;
top: 50%;
width: 0;
}
.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear {
float: left;
}
.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow {
border: none;
border-right: 1px solid #aaa;
border-radius: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
left: 1px;
right: auto;
}
.select2-container--classic.select2-container--open .select2-selection--single {
border: 1px solid #5897fb;
}
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
background: transparent;
border: none;
}
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px;
}
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0;
background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFEEEEEE", GradientType=0);
}
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE", endColorstr="#FFFFFFFF", GradientType=0);
}
.select2-container--classic .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
cursor: text;
outline: 0;
padding-bottom: 5px;
padding-right: 5px;
}
.select2-container--classic .select2-selection--multiple:focus {
border: 1px solid #5897fb;
}
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
display: none;
}
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #aaa;
border-radius: 4px;
display: inline-block;
margin-left: 5px;
margin-top: 5px;
padding: 0;
}
.select2-container--classic .select2-selection--multiple .select2-selection__choice__display {
cursor: default;
padding-left: 2px;
padding-right: 5px;
}
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
background-color: transparent;
border: none;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
color: #888;
cursor: pointer;
font-size: 1em;
font-weight: bold;
padding: 0 4px;
}
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #555;
outline: none;
}
.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
margin-left: 5px;
margin-right: auto;
}
.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__display {
padding-left: 5px;
padding-right: 2px;
}
.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.select2-container--classic.select2-container--open .select2-selection--multiple {
border: 1px solid #5897fb;
}
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.select2-container--classic .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa;
outline: 0;
}
.select2-container--classic .select2-search--inline .select2-search__field {
outline: 0;
box-shadow: none;
}
.select2-container--classic .select2-dropdown {
background-color: white;
border: 1px solid transparent;
}
.select2-container--classic .select2-dropdown--above {
border-bottom: none;
}
.select2-container--classic .select2-dropdown--below {
border-top: none;
}
.select2-container--classic .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto;
}
.select2-container--classic .select2-results__option--group {
padding: 0;
}
.select2-container--classic .select2-results__option--disabled {
color: grey;
}
.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable {
background-color: #3875d7;
color: white;
}
.select2-container--classic .select2-results__group {
cursor: default;
display: block;
padding: 6px;
}
.select2-container--classic.select2-container--open .select2-dropdown {
border-color: #5897fb;
}
================================================
FILE: dist/js/i18n/af.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/ar.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeItem:function(){return"قم بإزالة العنصر"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/az.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/bg.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/bn.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/bs.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/ca.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/cs.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/da.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/de.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"},removeItem:function(){return"Element entfernen"},search:function(){return"Suchen"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/dsb.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/el.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/en.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"},removeItem:function(){return"Remove item"},search:function(){return"Search"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/eo.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/eo",[],function(){return{errorLoading:function(){return"La rezultoj ne povas esti ŝargitaj."},inputTooLong:function(n){var e=n.input.length-n.maximum,r="Bonvolu forigi "+e+" signo";return r+=1==e?"n":"jn"},inputTooShort:function(n){return"Bv. enigi "+(n.minimum-n.input.length)+" aŭ pli multajn signojn"},loadingMore:function(){return"Ŝargado de pliaj rezultoj…"},maximumSelected:function(n){var e="Vi povas elekti nur "+n.maximum+" ero";return 1==n.maximum?e+="n":e+="jn",e},noResults:function(){return"Neniuj rezultoj trovitaj"},searching:function(){return"Serĉado…"},removeAllItems:function(){return"Forigi ĉiujn erojn"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/es.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"},removeItem:function(){return"Eliminar elemento"},search:function(){return"Buscar"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/et.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/eu.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/fa.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها میتوانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجهای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/fi.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/fr.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les éléments"},removeItem:function(){return"Supprimer l'élément"},search:function(){return"Rechercher"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/gl.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/he.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/hi.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/hr.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/hsb.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/hu.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"},removeItem:function(){return"Elem eltávolítása"},search:function(){return"Keresés"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/hy.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/id.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Sedang mencari…"},removeAllItems:function(){return"Hapus semua item"},removeItem:function(){return"Hapus item"},search:function(){return"Cari"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/is.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/it.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"},removeItem:function(){return"Rimuovi oggetto"},search:function(){return"Ricerca"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/ja.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/ka.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/km.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/ko.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/lb.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lb",[],function(){return{errorLoading:function(){return"D'Resultater konnten net geluede ginn."},inputTooLong:function(e){return"Läscht "+(e.input.length-e.maximum)+" Schrëftzeechen"},inputTooShort:function(e){return"Tippt mindestens "+(e.minimum-e.input.length)+" Schrëftzeechen an"},loadingMore:function(){return"Méi Resultater lueden…"},maximumSelected:function(e){return"Dir kennt nëmmen "+e.maximum+" Element"+(e.maximum>1?"er":"")+" auswielen"},noResults:function(){return"Keng Resultater fonnt"},searching:function(){return"Sichen…"},removeAllItems:function(){return"All Elementer läschen"},removeItem:function(){return"Element läschen"},search:function(){return"Sichen"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/lt.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/lv.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/mk.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/ms.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/nb.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/ne.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/nl.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/pa.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pa",[],function(){return{errorLoading:function(){return"ਨਤੀਜੇ ਲੋਡ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ ।"},inputTooLong:function(n){var e=n.input.length-n.maximum;return"ਕ੍ਰਿਪਾ ਕਰਕੇ "+e+(1!=e?" ਅੱਖਰਾਂ ਨੂੰ ":" ਅੱਖਰ ")+"ਮਿਟਾਓ ।"},inputTooShort:function(n){var e=n.minimum-n.input.length;return"ਕ੍ਰਿਪਾ ਕਰਕੇ "+e+" ਜਾਂ "+e+" ਤੋਂ ਵੱਧ"+(e>1?" ਅੱਖਰਾਂ ":" ਅੱਖਰ ")+"ਦੀ ਵਰਤੋਂ ਕਰੋ ।"},loadingMore:function(){return"ਹੋਰ ਨਤੀਜੇ ਲੋਡ ਹੋ ਰਹੇ ਹਨ ...।"},maximumSelected:function(n){var e="ਤੁਸੀਂ ਸਿਰਫ਼ "+n.maximum+" ਨਤੀਜਾ ਚੁਣ ਸਕਦੇ ਹੋ ।";return 1!=n.maximum&&(e="ਤੁਸੀਂ ਸਿਰਫ਼ "+n.maximum+" ਨਤੀਜੇ ਚੁਣ ਸਕਦੇ ਹੋ ।"),e},noResults:function(){return"ਨਤੀਜਾ ਨਹੀਂ ਮਿਲ ਰਿਹਾ ਹੈ ।"},searching:function(){return"ਖ਼ੋਜ ਕਰ ਰਹੇਂ ਹਾਂ ...।"},removeAllItems:function(){return"ਸਾਰੇ ਨਤੀਜੇ ਮਿਟਾਓ ।"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/pl.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie elementy"},removeItem:function(){return"Usuń element"},search:function(){return"Szukaj"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/ps.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/pt-BR.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"},removeItem:function(){return"Remover item"},search:function(){return"Buscar"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/pt.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"},removeItem:function(){return"Remover iten"},search:function(){return"Procurar"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/ro.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți "+t+" caracter";return 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/ru.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"},removeItem:function(){return"Удалить элемент"},search:function(){return"Поиск"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/sk.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/sl.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/sq.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/sr-Cyrl.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/sr.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/sv.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/te.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/te",[],function(){return{errorLoading:function(){return"ఫలితాలు చూపించలేకపోతున్నాము"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e;return r+=1!=e?" అక్షరాలు తొలిగించండి":" అక్షరం తొలిగించండి"},inputTooShort:function(n){return n.minimum-n.input.length+" లేక మరిన్ని అక్షరాలను జోడించండి"},loadingMore:function(){return"మరిన్ని ఫలితాలు…"},maximumSelected:function(n){var e="మీరు "+n.maximum;return 1!=n.maximum?e+=" అంశాల్ని మాత్రమే ఎంచుకోగలరు":e+=" అంశాన్ని మాత్రమే ఎంచుకోగలరు",e},noResults:function(){return"ఫలితాలు లేవు"},searching:function(){return"శోధిస్తున్నాము…"},removeAllItems:function(){return"అన్ని అంశాల్ని తొలిగించండి"},removeItem:function(){return"తొలిగించు"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/th.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/tk.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}();
================================================
FILE: dist/js/i18n/tr.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"},removeItem:function(){return"Bu öğeyi kaldır"},search:function(){return"Ara"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/ug.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ug",[],function(){return{errorLoading:function(){return"نەتىجىنى يۈكلىيەلمىدى."},inputTooLong:function(n){return n.input.length-n.maximum+" ھەرپ-بەلگىنى ئۆچۈرۈۋېتىڭ."},inputTooShort:function(n){return"كەم دېگەندە "+(n.minimum-n.input.length)+" ھەرپ-بەلگە كىرگۈزۈڭ."},loadingMore:function(){return"تېخىمۇ كۆپ نەتىجىلەرنى يۈكلەۋاتىدۇ..."},maximumSelected:function(n){return"پەقەت "+n.maximum+" ئەزانى تاللىيالايسىز"},noResults:function(){return"ھېچقانداق نەتىجە تېپىلمىدى"},searching:function(){return"ئىزدەۋاتىدۇ..."},removeAllItems:function(){return"ھەممە ئەزانى ئۆچۈرۈش"},removeItem:function(){return"ئەزا ئۆچۈرۈش"},search:function(){return"ئىزدەش"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/uk.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/uk",[],function(){function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5?u:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(e){return"Будь ласка, видаліть "+(e.input.length-e.maximum)+" "+n(e.maximum,"літеру","літери","літер")},inputTooShort:function(n){return"Будь ласка, введіть "+(n.minimum-n.input.length)+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(e){return"Ви можете вибрати лише "+e.maximum+" "+n(e.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/vi.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/zh-CN.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}();
================================================
FILE: dist/js/i18n/zh-TW.js
================================================
/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{errorLoading:function(){return"無法載入結果。"},inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"},removeItem:function(){return"刪除項目"}}}),n.define,n.require}();
================================================
FILE: dist/js/select2.full.js
================================================
/*!
* Select2 4.1.0-rc.0
* https://select2.github.io
*
* Released under the MIT license
* https://github.com/select2/select2/blob/master/LICENSE.md
*/
;(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof module === 'object' && module.exports) {
// Node/CommonJS
module.exports = function (root, jQuery) {
if (jQuery === undefined) {
// require('jQuery') returns a factory that requires window to
// build a jQuery instance, we normalize how we use modules
// that require this pattern but the window provided is a noop
// if it's defined (how jquery works)
if (typeof window !== 'undefined') {
jQuery = require('jquery');
}
else {
jQuery = require('jquery')(root);
}
}
factory(jQuery);
return jQuery;
};
} else {
// Browser globals
factory(jQuery);
}
} (function (jQuery) {
// This is needed so we can catch the AMD loader configuration and use it
// The inner file should be wrapped (by `banner.start.js`) in a function that
// returns the AMD loader references.
var S2 =(function () {
// Restore the Select2 AMD loader so it can be used
// Needed mostly in the language files, where the loader is not inserted
if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
var S2 = jQuery.fn.select2.amd;
}
var S2;(function () { if (!S2 || !S2.requirejs) {
if (!S2) { S2 = {}; } else { require = S2; }
/**
* @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
* Released under MIT license, http://github.com/requirejs/almond/LICENSE
*/
//Going sloppy to avoid 'use strict' string cost, but strict practices should
//be followed.
/*global setTimeout: false */
var requirejs, require, define;
(function (undef) {
var main, req, makeMap, handlers,
defined = {},
waiting = {},
config = {},
defining = {},
hasOwn = Object.prototype.hasOwnProperty,
aps = [].slice,
jsSuffixRegExp = /\.js$/;
function hasProp(obj, prop) {
return hasOwn.call(obj, prop);
}
/**
* Given a relative module name, like ./something, normalize it to
* a real name that can be mapped to a path.
* @param {String} name the relative name
* @param {String} baseName a real name that the name arg is relative
* to.
* @returns {String} normalized name
*/
function normalize(name, baseName) {
var nameParts, nameSegment, mapValue, foundMap, lastIndex,
foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
baseParts = baseName && baseName.split("/"),
map = config.map,
starMap = (map && map['*']) || {};
//Adjust any relative paths.
if (name) {
name = name.split('/');
lastIndex = name.length - 1;
// If wanting node ID compatibility, strip .js from end
// of IDs. Have to do this here, and not in nameToUrl
// because node allows either .js or non .js to map
// to same file.
if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
}
// Starts with a '.' so need the baseName
if (name[0].charAt(0) === '.' && baseParts) {
//Convert baseName to array, and lop off the last part,
//so that . matches that 'directory' and not name of the baseName's
//module. For instance, baseName of 'one/two/three', maps to
//'one/two/three.js', but we want the directory, 'one/two' for
//this normalization.
normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
name = normalizedBaseParts.concat(name);
}
//start trimDots
for (i = 0; i < name.length; i++) {
part = name[i];
if (part === '.') {
name.splice(i, 1);
i -= 1;
} else if (part === '..') {
// If at the start, or previous value is still ..,
// keep them so that when converted to a path it may
// still work when converted to a path, even though
// as an ID it is less than ideal. In larger point
// releases, may be better to just kick out an error.
if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
continue;
} else if (i > 0) {
name.splice(i - 1, 2);
i -= 2;
}
}
}
//end trimDots
name = name.join('/');
}
//Apply map config if available.
if ((baseParts || starMap) && map) {
nameParts = name.split('/');
for (i = nameParts.length; i > 0; i -= 1) {
nameSegment = nameParts.slice(0, i).join("/");
if (baseParts) {
//Find the longest baseName segment match in the config.
//So, do joins on the biggest to smallest lengths of baseParts.
for (j = baseParts.length; j > 0; j -= 1) {
mapValue = map[baseParts.slice(0, j).join('/')];
//baseName segment has config, find if it has one for
//this name.
if (mapValue) {
mapValue = mapValue[nameSegment];
if (mapValue) {
//Match, update name to the new value.
foundMap = mapValue;
foundI = i;
break;
}
}
}
}
if (foundMap) {
break;
}
//Check for a star map match, but just hold on to it,
//if there is a shorter segment match later in a matching
//config, then favor over this star map.
if (!foundStarMap && starMap && starMap[nameSegment]) {
foundStarMap = starMap[nameSegment];
starI = i;
}
}
if (!foundMap && foundStarMap) {
foundMap = foundStarMap;
foundI = starI;
}
if (foundMap) {
nameParts.splice(0, foundI, foundMap);
name = nameParts.join('/');
}
}
return name;
}
function makeRequire(relName, forceSync) {
return function () {
//A version of a require function that passes a moduleName
//value for items that may need to
//look up paths relative to the moduleName
var args = aps.call(arguments, 0);
//If first arg is not require('string'), and there is only
//one arg, it is the array form without a callback. Insert
//a null so that the following concat is correct.
if (typeof args[0] !== 'string' && args.length === 1) {
args.push(null);
}
return req.apply(undef, args.concat([relName, forceSync]));
};
}
function makeNormalize(relName) {
return function (name) {
return normalize(name, relName);
};
}
function makeLoad(depName) {
return function (value) {
defined[depName] = value;
};
}
function callDep(name) {
if (hasProp(waiting, name)) {
var args = waiting[name];
delete waiting[name];
defining[name] = true;
main.apply(undef, args);
}
if (!hasProp(defined, name) && !hasProp(defining, name)) {
throw new Error('No ' + name);
}
return defined[name];
}
//Turns a plugin!resource to [plugin, resource]
//with the plugin being undefined if the name
//did not have a plugin prefix.
function splitPrefix(name) {
var prefix,
index = name ? name.indexOf('!') : -1;
if (index > -1) {
prefix = name.substring(0, index);
name = name.substring(index + 1, name.length);
}
return [prefix, name];
}
//Creates a parts array for a relName where first part is plugin ID,
//second part is resource ID. Assumes relName has already been normalized.
function makeRelParts(relName) {
return relName ? splitPrefix(relName) : [];
}
/**
* Makes a name map, normalizing the name, and using a plugin
* for normalization if necessary. Grabs a ref to plugin
* too, as an optimization.
*/
makeMap = function (name, relParts) {
var plugin,
parts = splitPrefix(name),
prefix = parts[0],
relResourceName = relParts[1];
name = parts[1];
if (prefix) {
prefix = normalize(prefix, relResourceName);
plugin = callDep(prefix);
}
//Normalize according
if (prefix) {
if (plugin && plugin.normalize) {
name = plugin.normalize(name, makeNormalize(relResourceName));
} else {
name = normalize(name, relResourceName);
}
} else {
name = normalize(name, relResourceName);
parts = splitPrefix(name);
prefix = parts[0];
name = parts[1];
if (prefix) {
plugin = callDep(prefix);
}
}
//Using ridiculous property names for space reasons
return {
f: prefix ? prefix + '!' + name : name, //fullName
n: name,
pr: prefix,
p: plugin
};
};
function makeConfig(name) {
return function () {
return (config && config.config && config.config[name]) || {};
};
}
handlers = {
require: function (name) {
return makeRequire(name);
},
exports: function (name) {
var e = defined[name];
if (typeof e !== 'undefined') {
return e;
} else {
return (defined[name] = {});
}
},
module: function (name) {
return {
id: name,
uri: '',
exports: defined[name],
config: makeConfig(name)
};
}
};
main = function (name, deps, callback, relName) {
var cjsModule, depName, ret, map, i, relParts,
args = [],
callbackType = typeof callback,
usingExports;
//Use name if no relName
relName = relName || name;
relParts = makeRelParts(relName);
//Call the callback to define the module, if necessary.
if (callbackType === 'undefined' || callbackType === 'function') {
//Pull out the defined dependencies and pass the ordered
//values to the callback.
//Default to [require, exports, module] if no deps
deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
for (i = 0; i < deps.length; i += 1) {
map = makeMap(deps[i], relParts);
depName = map.f;
//Fast path CommonJS standard dependencies.
if (depName === "require") {
args[i] = handlers.require(name);
} else if (depName === "exports") {
//CommonJS module spec 1.1
args[i] = handlers.exports(name);
usingExports = true;
} else if (depName === "module") {
//CommonJS module spec 1.1
cjsModule = args[i] = handlers.module(name);
} else if (hasProp(defined, depName) ||
hasProp(waiting, depName) ||
hasProp(defining, depName)) {
args[i] = callDep(depName);
} else if (map.p) {
map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
args[i] = defined[depName];
} else {
throw new Error(name + ' missing ' + depName);
}
}
ret = callback ? callback.apply(defined[name], args) : undefined;
if (name) {
//If setting exports via "module" is in play,
//favor that over return value and exports. After that,
//favor a non-undefined return value over exports use.
if (cjsModule && cjsModule.exports !== undef &&
cjsModule.exports !== defined[name]) {
defined[name] = cjsModule.exports;
} else if (ret !== undef || !usingExports) {
//Use the return value from the function.
defined[name] = ret;
}
}
} else if (name) {
//May just be an object definition for the module. Only
//worry about defining if have a module name.
defined[name] = callback;
}
};
requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
if (typeof deps === "string") {
if (handlers[deps]) {
//callback in this case is really relName
return handlers[deps](callback);
}
//Just return the module wanted. In this scenario, the
//deps arg is the module name, and second arg (if passed)
//is just the relName.
//Normalize module name, if it contains . or ..
return callDep(makeMap(deps, makeRelParts(callback)).f);
} else if (!deps.splice) {
//deps is a config object, not an array.
config = deps;
if (config.deps) {
req(config.deps, config.callback);
}
if (!callback) {
return;
}
if (callback.splice) {
//callback is an array, which means it is a dependency list.
//Adjust args if there are dependencies
deps = callback;
callback = relName;
relName = null;
} else {
deps = undef;
}
}
//Support require(['a'])
callback = callback || function () {};
//If relName is a function, it is an errback handler,
//so remove it.
if (typeof relName === 'function') {
relName = forceSync;
forceSync = alt;
}
//Simulate async callback;
if (forceSync) {
main(undef, deps, callback, relName);
} else {
//Using a non-zero value because of concern for what old browsers
//do, and latest browsers "upgrade" to 4 if lower value is used:
//http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
//If want a value immediately, use require('id') instead -- something
//that works in almond on the global level, but not guaranteed and
//unlikely to work in other AMD implementations.
setTimeout(function () {
main(undef, deps, callback, relName);
}, 4);
}
return req;
};
/**
* Just drops the config on the floor, but returns req in case
* the config return value is used.
*/
req.config = function (cfg) {
return req(cfg);
};
/**
* Expose module registry for debugging and tooling
*/
requirejs._defined = defined;
define = function (name, deps, callback) {
if (typeof name !== 'string') {
throw new Error('See almond README: incorrect module build, no module name');
}
//This module may not have dependencies
if (!deps.splice) {
//deps is not an array, so probably means
//an object literal or factory function for
//the value. Adjust args.
callback = deps;
deps = [];
}
if (!hasProp(defined, name) && !hasProp(waiting, name)) {
waiting[name] = [name, deps, callback];
}
};
define.amd = {
jQuery: true
};
}());
S2.requirejs = requirejs;S2.require = require;S2.define = define;
}
}());
S2.define("almond", function(){});
/* global jQuery:false, $:false */
S2.define('jquery',[],function () {
var _$ = jQuery || $;
if (_$ == null && console && console.error) {
console.error(
'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
'found. Make sure that you are including jQuery before Select2 on your ' +
'web page.'
);
}
return _$;
});
S2.define('select2/utils',[
'jquery'
], function ($) {
var Utils = {};
Utils.Extend = function (ChildClass, SuperClass) {
var __hasProp = {}.hasOwnProperty;
function BaseConstructor () {
this.constructor = ChildClass;
}
for (var key in SuperClass) {
if (__hasProp.call(SuperClass, key)) {
ChildClass[key] = SuperClass[key];
}
}
BaseConstructor.prototype = SuperClass.prototype;
ChildClass.prototype = new BaseConstructor();
ChildClass.__super__ = SuperClass.prototype;
return ChildClass;
};
function getMethods (theClass) {
var proto = theClass.prototype;
var methods = [];
for (var methodName in proto) {
var m = proto[methodName];
if (typeof m !== 'function') {
continue;
}
if (methodName === 'constructor') {
continue;
}
methods.push(methodName);
}
return methods;
}
Utils.Decorate = function (SuperClass, DecoratorClass) {
var decoratedMethods = getMethods(DecoratorClass);
var superMethods = getMethods(SuperClass);
function DecoratedClass () {
var unshift = Array.prototype.unshift;
var argCount = DecoratorClass.prototype.constructor.length;
var calledConstructor = SuperClass.prototype.constructor;
if (argCount > 0) {
unshift.call(arguments, SuperClass.prototype.constructor);
calledConstructor = DecoratorClass.prototype.constructor;
}
calledConstructor.apply(this, arguments);
}
DecoratorClass.displayName = SuperClass.displayName;
function ctr () {
this.constructor = DecoratedClass;
}
DecoratedClass.prototype = new ctr();
for (var m = 0; m < superMethods.length; m++) {
var superMethod = superMethods[m];
DecoratedClass.prototype[superMethod] =
SuperClass.prototype[superMethod];
}
var calledMethod = function (methodName) {
// Stub out the original method if it's not decorating an actual method
var originalMethod = function () {};
if (methodName in DecoratedClass.prototype) {
originalMethod = DecoratedClass.prototype[methodName];
}
var decoratedMethod = DecoratorClass.prototype[methodName];
return function () {
var unshift = Array.prototype.unshift;
unshift.call(arguments, originalMethod);
return decoratedMethod.apply(this, arguments);
};
};
for (var d = 0; d < decoratedMethods.length; d++) {
var decoratedMethod = decoratedMethods[d];
DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
}
return DecoratedClass;
};
var Observable = function () {
this.listeners = {};
};
Observable.prototype.on = function (event, callback) {
this.listeners = this.listeners || {};
if (event in this.listeners) {
this.listeners[event].push(callback);
} else {
this.listeners[event] = [callback];
}
};
Observable.prototype.trigger = function (event) {
var slice = Array.prototype.slice;
var params = slice.call(arguments, 1);
this.listeners = this.listeners || {};
// Params should always come in as an array
if (params == null) {
params = [];
}
// If there are no arguments to the event, use a temporary object
if (params.length === 0) {
params.push({});
}
// Set the `_type` of the first object to the event
params[0]._type = event;
if (event in this.listeners) {
this.invoke(this.listeners[event], slice.call(arguments, 1));
}
if ('*' in this.listeners) {
this.invoke(this.listeners['*'], arguments);
}
};
Observable.prototype.invoke = function (listeners, params) {
for (var i = 0, len = listeners.length; i < len; i++) {
listeners[i].apply(this, params);
}
};
Utils.Observable = Observable;
Utils.generateChars = function (length) {
var chars = '';
for (var i = 0; i < length; i++) {
var randomChar = Math.floor(Math.random() * 36);
chars += randomChar.toString(36);
}
return chars;
};
Utils.bind = function (func, context) {
return function () {
func.apply(context, arguments);
};
};
Utils._convertData = function (data) {
for (var originalKey in data) {
var keys = originalKey.split('-');
var dataLevel = data;
if (keys.length === 1) {
continue;
}
for (var k = 0; k < keys.length; k++) {
var key = keys[k];
// Lowercase the first letter
// By default, dash-separated becomes camelCase
key = key.substring(0, 1).toLowerCase() + key.substring(1);
if (!(key in dataLevel)) {
dataLevel[key] = {};
}
if (k == keys.length - 1) {
dataLevel[key] = data[originalKey];
}
dataLevel = dataLevel[key];
}
delete data[originalKey];
}
return data;
};
Utils.hasScroll = function (index, el) {
// Adapted from the function created by @ShadowScripter
// and adapted by @BillBarry on the Stack Exchange Code Review website.
// The original code can be found at
// http://codereview.stackexchange.com/q/13338
// and was designed to be used with the Sizzle selector engine.
var $el = $(el);
var overflowX = el.style.overflowX;
var overflowY = el.style.overflowY;
//Check both x and y declarations
if (overflowX === overflowY &&
(overflowY === 'hidden' || overflowY === 'visible')) {
return false;
}
if (overflowX === 'scroll' || overflowY === 'scroll') {
return true;
}
return ($el.innerHeight() < el.scrollHeight ||
$el.innerWidth() < el.scrollWidth);
};
Utils.escapeMarkup = function (markup) {
var replaceMap = {
'\\': '\',
'&': '&',
'<': '<',
'>': '>',
'"': '"',
'\'': ''',
'/': '/'
};
// Do not try to escape the markup if it's not a string
if (typeof markup !== 'string') {
return markup;
}
return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
return replaceMap[match];
});
};
// Cache objects in Utils.__cache instead of $.data (see #4346)
Utils.__cache = {};
var id = 0;
Utils.GetUniqueElementId = function (element) {
// Get a unique element Id. If element has no id,
// creates a new unique number, stores it in the id
// attribute and returns the new id with a prefix.
// If an id already exists, it simply returns it with a prefix.
var select2Id = element.getAttribute('data-select2-id');
if (select2Id != null) {
return select2Id;
}
// If element has id, use it.
if (element.id) {
select2Id = 'select2-data-' + element.id;
} else {
select2Id = 'select2-data-' + (++id).toString() +
'-' + Utils.generateChars(4);
}
element.setAttribute('data-select2-id', select2Id);
return select2Id;
};
Utils.StoreData = function (element, name, value) {
// Stores an item in the cache for a specified element.
// name is the cache key.
var id = Utils.GetUniqueElementId(element);
if (!Utils.__cache[id]) {
Utils.__cache[id] = {};
}
Utils.__cache[id][name] = value;
};
Utils.GetData = function (element, name) {
// Retrieves a value from the cache by its key (name)
// name is optional. If no name specified, return
// all cache items for the specified element.
// and for a specified element.
var id = Utils.GetUniqueElementId(element);
if (name) {
if (Utils.__cache[id]) {
if (Utils.__cache[id][name] != null) {
return Utils.__cache[id][name];
}
return $(element).data(name); // Fallback to HTML5 data attribs.
}
return $(element).data(name); // Fallback to HTML5 data attribs.
} else {
return Utils.__cache[id];
}
};
Utils.RemoveData = function (element) {
// Removes all cached items for a specified element.
var id = Utils.GetUniqueElementId(element);
if (Utils.__cache[id] != null) {
delete Utils.__cache[id];
}
element.removeAttribute('data-select2-id');
};
Utils.copyNonInternalCssClasses = function (dest, src) {
var classes;
var destinationClasses = dest.getAttribute('class').trim().split(/\s+/);
destinationClasses = destinationClasses.filter(function (clazz) {
// Save all Select2 classes
return clazz.indexOf('select2-') === 0;
});
var sourceClasses = src.getAttribute('class').trim().split(/\s+/);
sourceClasses = sourceClasses.filter(function (clazz) {
// Only copy non-Select2 classes
return clazz.indexOf('select2-') !== 0;
});
var replacements = destinationClasses.concat(sourceClasses);
dest.setAttribute('class', replacements.join(' '));
};
return Utils;
});
S2.define('select2/results',[
'jquery',
'./utils'
], function ($, Utils) {
function Results ($element, options, dataAdapter) {
this.$element = $element;
this.data = dataAdapter;
this.options = options;
Results.__super__.constructor.call(this);
}
Utils.Extend(Results, Utils.Observable);
Results.prototype.render = function () {
var $results = $(
'<ul class="select2-results__options" role="listbox"></ul>'
);
if (this.options.get('multiple')) {
$results.attr('aria-multiselectable', 'true');
}
this.$results = $results;
return $results;
};
Results.prototype.clear = function () {
this.$results.empty();
};
Results.prototype.displayMessage = function (params) {
var escapeMarkup = this.options.get('escapeMarkup');
this.clear();
this.hideLoading();
var $message = $(
'<li role="alert" aria-live="assertive"' +
' class="select2-results__option"></li>'
);
var message = this.options.get('translations').get(params.message);
$message.append(
escapeMarkup(
message(params.args)
)
);
$message[0].className += ' select2-results__message';
this.$results.append($message);
};
Results.prototype.hideMessages = function () {
this.$results.find('.select2-results__message').remove();
};
Results.prototype.append = function (data) {
this.hideLoading();
var $options = [];
if (data.results == null || data.results.length === 0) {
if (this.$results.children().length === 0) {
this.trigger('results:message', {
message: 'noResults'
});
}
return;
}
data.results = this.sort(data.results);
for (var d = 0; d < data.results.length; d++) {
var item = data.results[d];
var $option = this.option(item);
$options.push($option);
}
this.$results.append($options);
};
Results.prototype.position = function ($results, $dropdown) {
var $resultsContainer = $dropdown.find('.select2-results');
$resultsContainer.append($results);
};
Results.prototype.sort = function (data) {
var sorter = this.options.get('sorter');
return sorter(data);
};
Results.prototype.highlightFirstItem = function () {
var $options = this.$results
.find('.select2-results__option--selectable');
var $selected = $options.filter('.select2-results__option--selected');
// Check if there are any selected options
if ($selected.length > 0) {
// If there are selected options, highlight the first
$selected.first().trigger('mouseenter');
} else {
// If there are no selected options, highlight the first option
// in the dropdown
$options.first().trigger('mouseenter');
}
this.ensureHighlightVisible();
};
Results.prototype.setClasses = function () {
var self = this;
this.data.current(function (selected) {
var selectedIds = selected.map(function (s) {
return s.id.toString();
});
var $options = self.$results
.find('.select2-results__option--selectable');
$options.each(function () {
var $option = $(this);
var item = Utils.GetData(this, 'data');
// id needs to be converted to a string when comparing
var id = '' + item.id;
if ((item.element != null && item.element.selected) ||
(item.element == null && selectedIds.indexOf(id) > -1)) {
this.classList.add('select2-results__option--selected');
$option.attr('aria-selected', 'true');
} else {
this.classList.remove('select2-results__option--selected');
$option.attr('aria-selected', 'false');
}
});
});
};
Results.prototype.showLoading = function (params) {
this.hideLoading();
var loadingMore = this.options.get('translations').get('searching');
var loading = {
disabled: true,
loading: true,
text: loadingMore(params)
};
var $loading = this.option(loading);
$loading.className += ' loading-results';
this.$results.prepend($loading);
};
Results.prototype.hideLoading = function () {
this.$results.find('.loading-results').remove();
};
Results.prototype.option = function (data) {
var option = document.createElement('li');
option.classList.add('select2-results__option');
option.classList.add('select2-results__option--selectable');
var attrs = {
'role': 'option'
};
var matches = window.Element.prototype.matches ||
window.Element.prototype.msMatchesSelector ||
window.Element.prototype.webkitMatchesSelector;
if ((data.element != null && matches.call(data.element, ':disabled')) ||
(data.element == null && data.disabled)) {
attrs['aria-disabled'] = 'true';
option.classList.remove('select2-results__option--selectable');
option.classList.add('select2-results__option--disabled');
}
if (data.id == null) {
option.classList.remove('select2-results__option--selectable');
}
if (data._resultId != null) {
option.id = data._resultId;
}
if (data.title) {
option.title = data.title;
}
if (data.children) {
attrs.role = 'group';
attrs['aria-label'] = data.text;
option.classList.remove('select2-results__option--selectable');
option.classList.add('select2-results__option--group');
}
for (var attr in attrs) {
var val = attrs[attr];
option.setAttribute(attr, val);
}
if (data.children) {
var $option = $(option);
var label = document.createElement('strong');
label.className = 'select2-results__group';
this.template(data, label);
var $children = [];
for (var c = 0; c < data.children.length; c++) {
var child = data.children[c];
var $child = this.option(child);
$children.push($child);
}
var $childrenContainer = $('<ul></ul>', {
'class': 'select2-results__options select2-results__options--nested',
'role': 'none'
});
$childrenContainer.append($children);
$option.append(label);
$option.append($childrenContainer);
} else {
this.template(data, option);
}
Utils.StoreData(option, 'data', data);
return option;
};
Results.prototype.bind = function (container, $container) {
var self = this;
var id = container.id + '-results';
this.$results.attr('id', id);
container.on('results:all', function (params) {
self.clear();
self.append(params.data);
if (container.isOpen()) {
self.setClasses();
self.highlightFirstItem();
}
});
container.on('results:append', function (params) {
self.append(params.data);
if (container.isOpen()) {
self.setClasses();
}
});
container.on('query', function (params) {
self.hideMessages();
self.showLoading(params);
});
container.on('select', function () {
if (!container.isOpen()) {
return;
}
self.setClasses();
if (self.options.get('scrollAfterSelect')) {
self.highlightFirstItem();
}
});
container.on('unselect', function () {
if (!container.isOpen()) {
return;
}
self.setClasses();
if (self.options.get('scrollAfterSelect')) {
self.highlightFirstItem();
}
});
container.on('open', function () {
// When the dropdown is open, aria-expended="true"
self.$results.attr('aria-expanded', 'true');
self.$results.attr('aria-hidden', 'false');
self.setClasses();
self.ensureHighlightVisible();
});
container.on('close', function () {
// When the dropdown is closed, aria-expended="false"
self.$results.attr('aria-expanded', 'false');
self.$results.attr('aria-hidden', 'true');
self.$results[0].removeAttribute('aria-activedescendant');
});
container.on('results:toggle', function () {
var $highlighted = self.getHighlightedResults();
if ($highlighted.length === 0) {
return;
}
$highlighted.trigger('mouseup');
});
container.on('results:select', function () {
var $highlighted = self.getHighlightedResults();
if ($highlighted.length === 0) {
return;
}
var data = Utils.GetData($highlighted[0], 'data');
if ($highlighted.hasClass('select2-results__option--selected')) {
self.trigger('close', {});
} else {
self.trigger('select', {
data: data
});
}
});
container.on('results:previous', function () {
var $highlighted = self.getHighlightedResults();
var $options = self.$results.find('.select2-results__option--selectable');
var currentIndex = $options.index($highlighted);
// If we are already at the top, don't move further
// If no options, currentIndex will be -1
if (currentIndex <= 0) {
return;
}
var nextIndex = currentIndex - 1;
// If none are highlighted, highlight the first
if ($highlighted.length === 0) {
nextIndex = 0;
}
var $next = $options.eq(nextIndex);
$next.trigger('mouseenter');
var currentOffset = self.$results.offset().top;
var nextTop = $next.offset().top;
var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
if (nextIndex === 0) {
self.$results.scrollTop(0);
} else if (nextTop - currentOffset < 0) {
self.$results.scrollTop(nextOffset);
}
});
container.on('results:next', function () {
var $highlighted = self.getHighlightedResults();
var $options = self.$results.find('.select2-results__option--selectable');
var currentIndex = $options.index($highlighted);
var nextIndex = currentIndex + 1;
// If we are at the last option, stay there
if (nextIndex >= $options.length) {
return;
}
var $next = $options.eq(nextIndex);
$next.trigger('mouseenter');
var currentOffset = self.$results.offset().top +
self.$results.outerHeight(false);
var nextBottom = $next.offset().top + $next.outerHeight(false);
var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
if (nextIndex === 0) {
self.$results.scrollTop(0);
} else if (nextBottom > currentOffset) {
self.$results.scrollTop(nextOffset);
}
});
container.on('results:focus', function (params) {
params.element[0].classList.add('select2-results__option--highlighted');
params.element[0].setAttribute('aria-selected', 'true');
});
container.on('results:message', function (params) {
self.displayMessage(params);
});
if ($.fn.mousewheel) {
this.$results.on('mousewheel', function (e) {
var top = self.$results.scrollTop();
var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
if (isAtTop) {
self.$results.scrollTop(0);
e.preventDefault();
e.stopPropagation();
} else if (isAtBottom) {
self.$results.scrollTop(
self.$results.get(0).scrollHeight - self.$results.height()
);
e.preventDefault();
e.stopPropagation();
}
});
}
this.$results.on('mouseup', '.select2-results__option--selectable',
function (evt) {
var $this = $(this);
var data = Utils.GetData(this, 'data');
if ($this.hasClass('select2-results__option--selected')) {
if (self.options.get('multiple')) {
self.trigger('unselect', {
originalEvent: evt,
data: data
});
} else {
self.trigger('close', {
originalEvent: evt,
data: data
});
}
return;
}
self.trigger('select', {
originalEvent: evt,
data: data
});
});
this.$results.on('mouseenter', '.select2-results__option--selectable',
function (evt) {
var data = Utils.GetData(this, 'data');
self.getHighlightedResults()
.removeClass('select2-results__option--highlighted')
.attr('aria-selected', 'false');
self.trigger('results:focus', {
data: data,
element: $(this)
});
});
};
Results.prototype.getHighlightedResults = function () {
var $highlighted = this.$results
.find('.select2-results__option--highlighted');
return $highlighted;
};
Results.prototype.destroy = function () {
this.$results.remove();
};
Results.prototype.ensureHighlightVisible = function () {
var $highlighted = this.getHighlightedResults();
if ($highlighted.length === 0) {
return;
}
var $options = this.$results.find('.select2-results__option--selectable');
var currentIndex = $options.index($highlighted);
var currentOffset = this.$results.offset().top;
var nextTop = $highlighted.offset().top;
var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
var offsetDelta = nextTop - currentOffset;
nextOffset -= $highlighted.outerHeight(false) * 2;
if (currentIndex <= 2) {
this.$results.scrollTop(0);
} else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
this.$results.scrollTop(nextOffset);
}
};
Results.prototype.template = function (result, container) {
var template = this.options.get('templateResult');
var escapeMarkup = this.options.get('escapeMarkup');
var content = template(result, container);
if (content == null) {
container.style.display = 'none';
} else if (typeof content === 'string') {
container.innerHTML = escapeMarkup(content);
} else {
$(container).append(content);
}
};
return Results;
});
S2.define('select2/keys',[
], function () {
var KEYS = {
BACKSPACE: 8,
TAB: 9,
ENTER: 13,
SHIFT: 16,
CTRL: 17,
ALT: 18,
ESC: 27,
SPACE: 32,
PAGE_UP: 33,
PAGE_DOWN: 34,
END: 35,
HOME: 36,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
DELETE: 46
};
return KEYS;
});
S2.define('select2/selection/base',[
'jquery',
'../utils',
'../keys'
], function ($, Utils, KEYS) {
function BaseSelection ($element, options) {
this.$element = $element;
this.options = options;
BaseSelection.__super__.constructor.call(this);
}
Utils.Extend(BaseSelection, Utils.Observable);
BaseSelection.prototype.render = function () {
var $selection = $(
'<span class="select2-selection" role="combobox" ' +
' aria-haspopup="true" aria-expanded="false">' +
'</span>'
);
this._tabindex = 0;
if (Utils.GetData(this.$element[0], 'old-tabindex') != null) {
this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex');
} else if (this.$element.attr('tabindex') != null) {
this._tabindex = this.$element.attr('tabindex');
}
$selection.attr('title', this.$element.attr('title'));
$selection.attr('tabindex', this._tabindex);
$selection.attr('aria-disabled', 'false');
this.$selection = $selection;
return $selection;
};
BaseSelection.prototype.bind = function (container, $container) {
var self = this;
var resultsId = container.id + '-results';
this.container = container;
this.$selection.on('focus', function (evt) {
self.trigger('focus', evt);
});
this.$selection.on('blur', function (evt) {
self._handleBlur(evt);
});
this.$selection.on('keydown', function (evt) {
self.trigger('keypress', evt);
if (evt.which === KEYS.SPACE) {
evt.preventDefault();
}
});
container.on('results:focus', function (params) {
self.$selection.attr('aria-activedescendant', params.data._resultId);
});
container.on('selection:update', function (params) {
self.update(params.data);
});
container.on('open', function () {
// When the dropdown is open, aria-expanded="true"
self.$selection.attr('aria-expanded', 'true');
self.$selection.attr('aria-owns', resultsId);
self._attachCloseHandler(container);
});
container.on('close', function () {
// When the dropdown is closed, aria-expanded="false"
self.$selection.attr('aria-expanded', 'false');
self.$selection[0].removeAttribute('aria-activedescendant');
self.$selection[0].removeAttribute('aria-owns');
self.$selection.trigger('focus');
self._detachCloseHandler(container);
});
container.on('enable', function () {
self.$selection.attr('tabindex', self._tabindex);
self.$selection.attr('aria-disabled', 'false');
});
container.on('disable', function () {
self.$selection.attr('tabindex', '-1');
self.$selection.attr('aria-disabled', 'true');
});
};
BaseSelection.prototype._handleBlur = function (evt) {
var self = this;
// This needs to be delayed as the active element is the body when the tab
// key is pressed, possibly along with others.
window.setTimeout(function () {
// Don't trigger `blur` if the focus is still in the selection
if (
(document.activeElement == self.$selection[0]) ||
($.contains(self.$selection[0], document.activeElement))
) {
return;
}
self.trigger('blur', evt);
}, 1);
};
BaseSelection.prototype._attachCloseHandler = function (container) {
$(document.body).on('mousedown.select2.' + container.id, function (e) {
var $target = $(e.target);
var $select = $target.closest('.select2');
var $all = $('.select2.select2-container--open');
$all.each(function () {
if (this == $select[0]) {
return;
}
var $element = Utils.GetData(this, 'element');
$element.select2('close');
});
});
};
BaseSelection.prototype._detachCloseHandler = function (container) {
$(document.body).off('mousedown.select2.' + container.id);
};
BaseSelection.prototype.position = function ($selection, $container) {
var $selectionContainer = $container.find('.selection');
$selectionContainer.append($selection);
};
BaseSelection.prototype.destroy = function () {
this._detachCloseHandler(this.container);
};
BaseSelection.prototype.update = function (data) {
throw new Error('The `update` method must be defined in child classes.');
};
/**
* Helper method to abstract the "enabled" (not "disabled") state of this
* object.
*
* @return {true} if the instance is not disabled.
* @return {false} if the instance is disabled.
*/
BaseSelection.prototype.isEnabled = function () {
return !this.isDisabled();
};
/**
* Helper method to abstract the "disabled" state of this object.
*
* @return {true} if the disabled option is true.
* @return {false} if the disabled option is false.
*/
BaseSelection.prototype.isDisabled = function () {
return this.options.get('disabled');
};
return BaseSelection;
});
S2.define('select2/selection/single',[
'jquery',
'./base',
'../utils',
'../keys'
], function ($, BaseSelection, Utils, KEYS) {
function SingleSelection () {
SingleSelection.__super__.constructor.apply(this, arguments);
}
Utils.Extend(SingleSelection, BaseSelection);
SingleSelection.prototype.render = function () {
var $selection = SingleSelection.__super__.render.call(this);
$selection[0].classList.add('select2-selection--single');
$selection.html(
'<span class="select2-selection__rendered"></span>' +
'<span class="select2-selection__arrow" role="presentation">' +
'<b role="presentation"></b>' +
'</span>'
);
return $selection;
};
SingleSelection.prototype.bind = function (container, $container) {
var self = this;
SingleSelection.__super__.bind.apply(this, arguments);
var id = container.id + '-container';
this.$selection.find('.select2-selection__rendered')
.attr('id', id)
.attr('role', 'textbox')
.attr('aria-readonly', 'true');
this.$selection.attr('aria-labelledby', id);
this.$selection.attr('aria-controls', id);
this.$selection.on('mousedown', function (evt) {
// Only respond to left clicks
if (evt.which !== 1) {
return;
}
self.trigger('toggle', {
originalEvent: evt
});
});
this.$selection.on('focus', function (evt) {
// User focuses on the container
});
this.$selection.on('blur', function (evt) {
// User exits the container
});
container.on('focus', function (evt) {
if (!container.isOpen()) {
self.$selection.trigger('focus');
}
});
};
SingleSelection.prototype.clear = function () {
var $rendered = this.$selection.find('.select2-selection__rendered');
$rendered.empty();
$rendered[0].removeAttribute('title'); // clear tooltip on empty
};
SingleSelection.prototype.display = function (data, container) {
var template = this.options.get('templateSelection');
var escapeMarkup = this.options.get('escapeMarkup');
return escapeMarkup(template(data, container));
};
SingleSelection.prototype.selectionContainer = function () {
return $('<span></span>');
};
SingleSelection.prototype.update = function (data) {
if (data.length === 0) {
this.clear();
return;
}
var selection = data[0];
var $rendered = this.$selection.find('.select2-selection__rendered');
var formatted = this.display(selection, $rendered);
$rendered.empty().append(formatted);
var title = selection.title || selection.text;
if (title) {
$rendered.attr('title', title);
} else {
$rendered[0].removeAttribute('title');
}
};
return SingleSelection;
});
S2.define('select2/selection/multiple',[
'jquery',
'./base',
'../utils'
], function ($, BaseSelection, Utils) {
function MultipleSelection ($element, options) {
MultipleSelection.__super__.constructor.apply(this, arguments);
}
Utils.Extend(MultipleSelection, BaseSelection);
MultipleSelection.prototype.render = function () {
var $selection = MultipleSelection.__super__.render.call(this);
$selection[0].classList.add('select2-selection--multiple');
$selection.html(
'<ul class="select2-selection__rendered"></ul>'
);
return $selection;
};
MultipleSelection.prototype.bind = function (container, $container) {
var self = this;
MultipleSelection.__super__.bind.apply(this, arguments);
var id = container.id + '-container';
this.$selection.find('.select2-selection__rendered').attr('id', id);
this.$selection.on('click', function (evt) {
self.trigger('toggle', {
originalEvent: evt
});
});
this.$selection.on(
'click',
'.select2-selection__choice__remove',
function (evt) {
// Ignore the event if it is disabled
if (self.isDisabled()) {
return;
}
var $remove = $(this);
var $selection = $remove.parent();
var data = Utils.GetData($selection[0], 'data');
self.trigger('unselect', {
originalEvent: evt,
data: data
});
}
);
this.$selection.on(
'keydown',
'.select2-selection__choice__remove',
function (evt) {
// Ignore the event if it is disabled
if (self.isDisabled()) {
return;
}
evt.stopPropagation();
}
);
};
MultipleSelection.prototype.clear = function () {
var $rendered = this.$selection.find('.select2-selection__rendered');
$rendered.empty();
$rendered.removeAttr('title');
};
MultipleSelection.prototype.display = function (data, container) {
var template = this.options.get('templateSelection');
var escapeMarkup = this.options.get('escapeMarkup');
return escapeMarkup(template(data, container));
};
MultipleSelection.prototype.selectionContainer = function () {
var $container = $(
'<li class="select2-selection__choice">' +
'<button type="button" class="select2-selection__choice__remove" ' +
'tabindex="-1">' +
'<span aria-hidden="true">×</span>' +
'</
gitextract_va9wzm3m/
├── .editorconfig
├── .github/
│ ├── CONTRIBUTING.md
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── stale.yml
│ └── workflows/
│ ├── docs-deploy.yml
│ ├── main.yml
│ └── package-deploy.yml
├── .gitignore
├── .jshintignore
├── .jshintrc
├── CHANGELOG.md
├── Gruntfile.js
├── LICENSE.md
├── README.md
├── bower.json
├── component.json
├── composer.json
├── dist/
│ ├── css/
│ │ └── select2.css
│ └── js/
│ ├── i18n/
│ │ ├── af.js
│ │ ├── ar.js
│ │ ├── az.js
│ │ ├── bg.js
│ │ ├── bn.js
│ │ ├── bs.js
│ │ ├── ca.js
│ │ ├── cs.js
│ │ ├── da.js
│ │ ├── de.js
│ │ ├── dsb.js
│ │ ├── el.js
│ │ ├── en.js
│ │ ├── eo.js
│ │ ├── es.js
│ │ ├── et.js
│ │ ├── eu.js
│ │ ├── fa.js
│ │ ├── fi.js
│ │ ├── fr.js
│ │ ├── gl.js
│ │ ├── he.js
│ │ ├── hi.js
│ │ ├── hr.js
│ │ ├── hsb.js
│ │ ├── hu.js
│ │ ├── hy.js
│ │ ├── id.js
│ │ ├── is.js
│ │ ├── it.js
│ │ ├── ja.js
│ │ ├── ka.js
│ │ ├── km.js
│ │ ├── ko.js
│ │ ├── lb.js
│ │ ├── lt.js
│ │ ├── lv.js
│ │ ├── mk.js
│ │ ├── ms.js
│ │ ├── nb.js
│ │ ├── ne.js
│ │ ├── nl.js
│ │ ├── pa.js
│ │ ├── pl.js
│ │ ├── ps.js
│ │ ├── pt-BR.js
│ │ ├── pt.js
│ │ ├── ro.js
│ │ ├── ru.js
│ │ ├── sk.js
│ │ ├── sl.js
│ │ ├── sq.js
│ │ ├── sr-Cyrl.js
│ │ ├── sr.js
│ │ ├── sv.js
│ │ ├── te.js
│ │ ├── th.js
│ │ ├── tk.js
│ │ ├── tr.js
│ │ ├── ug.js
│ │ ├── uk.js
│ │ ├── vi.js
│ │ ├── zh-CN.js
│ │ └── zh-TW.js
│ ├── select2.full.js
│ └── select2.js
├── docs/
│ ├── LICENSE.md
│ ├── README.md
│ ├── accounts/
│ │ └── .gitkeep
│ ├── blueprints.yaml
│ ├── config/
│ │ ├── plugins/
│ │ │ ├── anchors.yaml
│ │ │ ├── highlight.yaml
│ │ │ └── simplesearch.yaml
│ │ ├── site.yaml
│ │ └── system.yaml
│ ├── data/
│ │ └── .gitkeep
│ ├── localhost/
│ │ └── config/
│ │ ├── security.yaml
│ │ └── system.yaml
│ ├── pages/
│ │ ├── 01.getting-started/
│ │ │ ├── 01.installation/
│ │ │ │ └── docs.md
│ │ │ ├── 02.basic-usage/
│ │ │ │ └── docs.md
│ │ │ ├── 03.builds-and-modules/
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ ├── 02.troubleshooting/
│ │ │ ├── 01.getting-help/
│ │ │ │ └── docs.md
│ │ │ ├── 02.common-problems/
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ ├── 03.configuration/
│ │ │ ├── 01.options-api/
│ │ │ │ └── docs.md
│ │ │ ├── 02.defaults/
│ │ │ │ └── docs.md
│ │ │ ├── 03.data-attributes/
│ │ │ │ └── docs.md
│ │ │ └── docs.md
│ │ ├── 04.appearance/
│ │ │ └── docs.md
│ │ ├── 05.options/
│ │ │ └── docs.md
│ │ ├── 06.data-sources/
│ │ │ ├── 01.formats/
│ │ │ │ └── docs.md
│ │ │ ├── 02.ajax/
│ │ │ │ └── docs.md
│ │ │ ├── 03.arrays/
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ ├── 07.dropdown/
│ │ │ └── docs.md
│ │ ├── 08.selections/
│ │ │ └── docs.md
│ │ ├── 09.tagging/
│ │ │ └── docs.md
│ │ ├── 10.placeholders/
│ │ │ └── docs.md
│ │ ├── 11.searching/
│ │ │ └── docs.md
│ │ ├── 12.programmatic-control/
│ │ │ ├── 01.add-select-clear-items/
│ │ │ │ └── docs.md
│ │ │ ├── 02.retrieving-selections/
│ │ │ │ └── docs.md
│ │ │ ├── 03.methods/
│ │ │ │ └── docs.md
│ │ │ ├── 04.events/
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ ├── 13.i18n/
│ │ │ └── docs.md
│ │ ├── 14.advanced/
│ │ │ ├── 01.adapters-and-decorators/
│ │ │ │ └── docs.md
│ │ │ ├── 02.default-adapters/
│ │ │ │ ├── 01.selection/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.array/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 03.ajax/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 04.data/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 05.results/
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 06.dropdown/
│ │ │ │ │ └── docs.md
│ │ │ │ └── docs.md
│ │ │ └── chapter.md
│ │ └── 15.upgrading/
│ │ ├── 01.new-in-40/
│ │ │ └── docs.md
│ │ ├── 02.migrating-from-35/
│ │ │ └── docs.md
│ │ └── chapter.md
│ ├── plugins/
│ │ ├── .gitkeep
│ │ ├── anchors/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── anchors.php
│ │ │ ├── anchors.yaml
│ │ │ └── blueprints.yaml
│ │ ├── breadcrumbs/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── breadcrumbs.php
│ │ │ ├── breadcrumbs.yaml
│ │ │ ├── classes/
│ │ │ │ └── breadcrumbs.php
│ │ │ ├── css/
│ │ │ │ └── breadcrumbs.css
│ │ │ └── templates/
│ │ │ └── partials/
│ │ │ └── breadcrumbs.html.twig
│ │ ├── error/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── cli/
│ │ │ │ └── LogCommand.php
│ │ │ ├── error.php
│ │ │ ├── error.yaml
│ │ │ ├── languages.yaml
│ │ │ ├── pages/
│ │ │ │ └── error.md
│ │ │ └── templates/
│ │ │ ├── error.html.twig
│ │ │ └── error.json.twig
│ │ ├── highlight/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── css/
│ │ │ │ ├── agate.css
│ │ │ │ ├── androidstudio.css
│ │ │ │ ├── arduino-light.css
│ │ │ │ ├── arta.css
│ │ │ │ ├── ascetic.css
│ │ │ │ ├── atelier-cave.dark.css
│ │ │ │ ├── atelier-cave.light.css
│ │ │ │ ├── atelier-dune.dark.css
│ │ │ │ ├── atelier-dune.light.css
│ │ │ │ ├── atelier-estuary.dark.css
│ │ │ │ ├── atelier-estuary.light.css
│ │ │ │ ├── atelier-forest.dark.css
│ │ │ │ ├── atelier-forest.light.css
│ │ │ │ ├── atelier-heath.dark.css
│ │ │ │ ├── atelier-heath.light.css
│ │ │ │ ├── atelier-lakeside.dark.css
│ │ │ │ ├── atelier-lakeside.light.css
│ │ │ │ ├── atelier-plateau.dark.css
│ │ │ │ ├── atelier-plateau.light.css
│ │ │ │ ├── atelier-savanna.dark.css
│ │ │ │ ├── atelier-savanna.light.css
│ │ │ │ ├── atelier-seaside.dark.css
│ │ │ │ ├── atelier-seaside.light.css
│ │ │ │ ├── atelier-sulphurpool.dark.css
│ │ │ │ ├── atelier-sulphurpool.light.css
│ │ │ │ ├── brown-paper.css
│ │ │ │ ├── codepen-embed.css
│ │ │ │ ├── color-brewer.css
│ │ │ │ ├── dark.css
│ │ │ │ ├── darkula.css
│ │ │ │ ├── default.css
│ │ │ │ ├── docco.css
│ │ │ │ ├── far.css
│ │ │ │ ├── foundation.css
│ │ │ │ ├── github-gist.css
│ │ │ │ ├── github.css
│ │ │ │ ├── googlecode.css
│ │ │ │ ├── grayscale.css
│ │ │ │ ├── hopscotch.css
│ │ │ │ ├── hybrid.css
│ │ │ │ ├── idea.css
│ │ │ │ ├── ir-black.css
│ │ │ │ ├── kimbie.dark.css
│ │ │ │ ├── kimbie.light.css
│ │ │ │ ├── learn.css
│ │ │ │ ├── magula.css
│ │ │ │ ├── mono-blue.css
│ │ │ │ ├── monokai-sublime.css
│ │ │ │ ├── monokai.css
│ │ │ │ ├── obsidian.css
│ │ │ │ ├── paraiso-dark.css
│ │ │ │ ├── paraiso-light.css
│ │ │ │ ├── paraiso.dark.css
│ │ │ │ ├── paraiso.light.css
│ │ │ │ ├── pojoaque.css
│ │ │ │ ├── railscasts.css
│ │ │ │ ├── rainbow.css
│ │ │ │ ├── school-book.css
│ │ │ │ ├── solarized-dark.css
│ │ │ │ ├── solarized-light.css
│ │ │ │ ├── sunburst.css
│ │ │ │ ├── tomorrow-night-blue.css
│ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ ├── tomorrow-night-eighties.css
│ │ │ │ ├── tomorrow-night.css
│ │ │ │ ├── tomorrow.css
│ │ │ │ ├── vs.css
│ │ │ │ ├── xcode.css
│ │ │ │ └── zenburn.css
│ │ │ ├── highlight.php
│ │ │ ├── highlight.yaml
│ │ │ └── js/
│ │ │ └── highlight.pack.js
│ │ ├── problems/
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── css/
│ │ │ │ ├── problems.css
│ │ │ │ └── template.css
│ │ │ ├── html/
│ │ │ │ └── problems.html
│ │ │ ├── problems.php
│ │ │ └── problems.yaml
│ │ └── simplesearch/
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── blueprints.yaml
│ │ ├── css/
│ │ │ └── simplesearch.css
│ │ ├── js/
│ │ │ └── simplesearch.js
│ │ ├── languages.yaml
│ │ ├── pages/
│ │ │ └── simplesearch.md
│ │ ├── simplesearch.php
│ │ ├── simplesearch.yaml
│ │ └── templates/
│ │ ├── partials/
│ │ │ ├── simplesearch_base.html.twig
│ │ │ ├── simplesearch_item.html.twig
│ │ │ └── simplesearch_searchbox.html.twig
│ │ ├── simplesearch_results.html.twig
│ │ └── simplesearch_results.json.twig
│ └── themes/
│ ├── .gitkeep
│ ├── learn2/
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── blueprints/
│ │ │ ├── chapter.yaml
│ │ │ └── docs.yaml
│ │ ├── blueprints.yaml
│ │ ├── css/
│ │ │ ├── nucleus-ie10.css
│ │ │ ├── nucleus-ie9.css
│ │ │ └── pure-0.5.0/
│ │ │ └── grids-min.css
│ │ ├── css-compiled/
│ │ │ ├── nucleus.css
│ │ │ └── theme.css
│ │ ├── js/
│ │ │ ├── learn.js
│ │ │ └── modernizr.custom.71422.js
│ │ ├── languages.yaml
│ │ ├── learn2.php
│ │ ├── learn2.yaml
│ │ ├── scss/
│ │ │ ├── configuration/
│ │ │ │ ├── nucleus/
│ │ │ │ │ ├── _base.scss
│ │ │ │ │ ├── _breakpoints.scss
│ │ │ │ │ ├── _core.scss
│ │ │ │ │ ├── _layout.scss
│ │ │ │ │ ├── _nav.scss
│ │ │ │ │ └── _typography.scss
│ │ │ │ └── theme/
│ │ │ │ ├── _base.scss
│ │ │ │ ├── _bullets.scss
│ │ │ │ └── _colors.scss
│ │ │ ├── nucleus/
│ │ │ │ ├── _core.scss
│ │ │ │ ├── _flex.scss
│ │ │ │ ├── _forms.scss
│ │ │ │ ├── _typography.scss
│ │ │ │ ├── functions/
│ │ │ │ │ ├── _base.scss
│ │ │ │ │ ├── _direction.scss
│ │ │ │ │ └── _range.scss
│ │ │ │ ├── mixins/
│ │ │ │ │ ├── _base.scss
│ │ │ │ │ ├── _breakpoints.scss
│ │ │ │ │ └── _utilities.scss
│ │ │ │ └── particles/
│ │ │ │ ├── _align-text.scss
│ │ │ │ └── _visibility.scss
│ │ │ ├── nucleus.scss
│ │ │ ├── theme/
│ │ │ │ ├── _bullets.scss
│ │ │ │ ├── _buttons.scss
│ │ │ │ ├── _configuration.scss
│ │ │ │ ├── _core.scss
│ │ │ │ ├── _custom.scss
│ │ │ │ ├── _fonts.scss
│ │ │ │ ├── _forms.scss
│ │ │ │ ├── _header.scss
│ │ │ │ ├── _main.scss
│ │ │ │ ├── _nav.scss
│ │ │ │ ├── _scrollbar.scss
│ │ │ │ ├── _tables.scss
│ │ │ │ ├── _tooltips.scss
│ │ │ │ ├── _typography.scss
│ │ │ │ └── modules/
│ │ │ │ ├── _base.scss
│ │ │ │ └── _buttons.scss
│ │ │ ├── theme.scss
│ │ │ └── vendor/
│ │ │ ├── bourbon/
│ │ │ │ ├── _bourbon-deprecated-upcoming.scss
│ │ │ │ ├── _bourbon.scss
│ │ │ │ ├── addons/
│ │ │ │ │ ├── _button.scss
│ │ │ │ │ ├── _clearfix.scss
│ │ │ │ │ ├── _directional-values.scss
│ │ │ │ │ ├── _ellipsis.scss
│ │ │ │ │ ├── _font-family.scss
│ │ │ │ │ ├── _hide-text.scss
│ │ │ │ │ ├── _html5-input-types.scss
│ │ │ │ │ ├── _position.scss
│ │ │ │ │ ├── _prefixer.scss
│ │ │ │ │ ├── _rem.scss
│ │ │ │ │ ├── _retina-image.scss
│ │ │ │ │ ├── _size.scss
│ │ │ │ │ ├── _timing-functions.scss
│ │ │ │ │ ├── _triangle.scss
│ │ │ │ │ └── _word-wrap.scss
│ │ │ │ ├── css3/
│ │ │ │ │ ├── _animation.scss
│ │ │ │ │ ├── _appearance.scss
│ │ │ │ │ ├── _backface-visibility.scss
│ │ │ │ │ ├── _background-image.scss
│ │ │ │ │ ├── _background.scss
│ │ │ │ │ ├── _border-image.scss
│ │ │ │ │ ├── _border-radius.scss
│ │ │ │ │ ├── _box-sizing.scss
│ │ │ │ │ ├── _calc.scss
│ │ │ │ │ ├── _columns.scss
│ │ │ │ │ ├── _filter.scss
│ │ │ │ │ ├── _flex-box.scss
│ │ │ │ │ ├── _font-face.scss
│ │ │ │ │ ├── _font-feature-settings.scss
│ │ │ │ │ ├── _hidpi-media-query.scss
│ │ │ │ │ ├── _hyphens.scss
│ │ │ │ │ ├── _image-rendering.scss
│ │ │ │ │ ├── _keyframes.scss
│ │ │ │ │ ├── _linear-gradient.scss
│ │ │ │ │ ├── _perspective.scss
│ │ │ │ │ ├── _placeholder.scss
│ │ │ │ │ ├── _radial-gradient.scss
│ │ │ │ │ ├── _transform.scss
│ │ │ │ │ ├── _transition.scss
│ │ │ │ │ └── _user-select.scss
│ │ │ │ ├── functions/
│ │ │ │ │ ├── _assign.scss
│ │ │ │ │ ├── _color-lightness.scss
│ │ │ │ │ ├── _flex-grid.scss
│ │ │ │ │ ├── _golden-ratio.scss
│ │ │ │ │ ├── _grid-width.scss
│ │ │ │ │ ├── _modular-scale.scss
│ │ │ │ │ ├── _px-to-em.scss
│ │ │ │ │ ├── _px-to-rem.scss
│ │ │ │ │ ├── _strip-units.scss
│ │ │ │ │ ├── _tint-shade.scss
│ │ │ │ │ ├── _transition-property-name.scss
│ │ │ │ │ └── _unpack.scss
│ │ │ │ ├── helpers/
│ │ │ │ │ ├── _convert-units.scss
│ │ │ │ │ ├── _gradient-positions-parser.scss
│ │ │ │ │ ├── _is-num.scss
│ │ │ │ │ ├── _linear-angle-parser.scss
│ │ │ │ │ ├── _linear-gradient-parser.scss
│ │ │ │ │ ├── _linear-positions-parser.scss
│ │ │ │ │ ├── _linear-side-corner-parser.scss
│ │ │ │ │ ├── _radial-arg-parser.scss
│ │ │ │ │ ├── _radial-gradient-parser.scss
│ │ │ │ │ ├── _radial-positions-parser.scss
│ │ │ │ │ ├── _render-gradients.scss
│ │ │ │ │ ├── _shape-size-stripper.scss
│ │ │ │ │ └── _str-to-num.scss
│ │ │ │ └── settings/
│ │ │ │ ├── _prefixer.scss
│ │ │ │ └── _px-to-em.scss
│ │ │ └── color-schemer/
│ │ │ ├── _color-schemer.scss
│ │ │ └── color-schemer/
│ │ │ ├── _cmyk.scss
│ │ │ ├── _color-adjustments.scss
│ │ │ ├── _color-schemer.scss
│ │ │ ├── _colorblind.scss
│ │ │ ├── _comparison.scss
│ │ │ ├── _equalize.scss
│ │ │ ├── _harmonize.scss
│ │ │ ├── _interpolation.scss
│ │ │ ├── _mix.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _ryb.scss
│ │ │ └── _tint-shade.scss
│ │ ├── scss.sh
│ │ └── templates/
│ │ ├── chapter.html.twig
│ │ ├── default.html.twig
│ │ ├── docs.html.twig
│ │ ├── error.html.twig
│ │ └── partials/
│ │ ├── analytics.html.twig
│ │ ├── base.html.twig
│ │ ├── github_link.html.twig
│ │ ├── github_note.html.twig
│ │ ├── logo.html.twig
│ │ ├── metadata.html.twig
│ │ ├── page.html.twig
│ │ └── sidebar.html.twig
│ └── site/
│ ├── css/
│ │ ├── s2-docs.css
│ │ └── theme.css
│ ├── images/
│ │ └── manifest.json
│ ├── js/
│ │ └── data-fill-from.js
│ ├── site.yaml
│ └── templates/
│ └── partials/
│ ├── base.html.twig
│ ├── js/
│ │ └── source-states.html.twig
│ ├── logo.html.twig
│ └── sidebar.html.twig
├── package.json
├── src/
│ ├── js/
│ │ ├── banner.end.js
│ │ ├── banner.start.js
│ │ ├── jquery.mousewheel.shim.js
│ │ ├── jquery.select2.js
│ │ ├── jquery.shim.js
│ │ ├── select2/
│ │ │ ├── core.js
│ │ │ ├── data/
│ │ │ │ ├── ajax.js
│ │ │ │ ├── array.js
│ │ │ │ ├── base.js
│ │ │ │ ├── maximumInputLength.js
│ │ │ │ ├── maximumSelectionLength.js
│ │ │ │ ├── minimumInputLength.js
│ │ │ │ ├── select.js
│ │ │ │ ├── tags.js
│ │ │ │ └── tokenizer.js
│ │ │ ├── defaults.js
│ │ │ ├── diacritics.js
│ │ │ ├── dropdown/
│ │ │ │ ├── attachBody.js
│ │ │ │ ├── attachContainer.js
│ │ │ │ ├── closeOnSelect.js
│ │ │ │ ├── dropdownCss.js
│ │ │ │ ├── hidePlaceholder.js
│ │ │ │ ├── infiniteScroll.js
│ │ │ │ ├── minimumResultsForSearch.js
│ │ │ │ ├── search.js
│ │ │ │ ├── selectOnClose.js
│ │ │ │ ├── stopPropagation.js
│ │ │ │ └── tagsSearchHighlight.js
│ │ │ ├── dropdown.js
│ │ │ ├── i18n/
│ │ │ │ ├── af.js
│ │ │ │ ├── ar.js
│ │ │ │ ├── az.js
│ │ │ │ ├── bg.js
│ │ │ │ ├── bn.js
│ │ │ │ ├── bs.js
│ │ │ │ ├── ca.js
│ │ │ │ ├── cs.js
│ │ │ │ ├── da.js
│ │ │ │ ├── de.js
│ │ │ │ ├── dsb.js
│ │ │ │ ├── el.js
│ │ │ │ ├── en.js
│ │ │ │ ├── eo.js
│ │ │ │ ├── es.js
│ │ │ │ ├── et.js
│ │ │ │ ├── eu.js
│ │ │ │ ├── fa.js
│ │ │ │ ├── fi.js
│ │ │ │ ├── fr.js
│ │ │ │ ├── gl.js
│ │ │ │ ├── he.js
│ │ │ │ ├── hi.js
│ │ │ │ ├── hr.js
│ │ │ │ ├── hsb.js
│ │ │ │ ├── hu.js
│ │ │ │ ├── hy.js
│ │ │ │ ├── id.js
│ │ │ │ ├── is.js
│ │ │ │ ├── it.js
│ │ │ │ ├── ja.js
│ │ │ │ ├── ka.js
│ │ │ │ ├── km.js
│ │ │ │ ├── ko.js
│ │ │ │ ├── lb.js
│ │ │ │ ├── lt.js
│ │ │ │ ├── lv.js
│ │ │ │ ├── mk.js
│ │ │ │ ├── ms.js
│ │ │ │ ├── nb.js
│ │ │ │ ├── ne.js
│ │ │ │ ├── nl.js
│ │ │ │ ├── pa.js
│ │ │ │ ├── pl.js
│ │ │ │ ├── ps.js
│ │ │ │ ├── pt-BR.js
│ │ │ │ ├── pt.js
│ │ │ │ ├── ro.js
│ │ │ │ ├── ru.js
│ │ │ │ ├── sk.js
│ │ │ │ ├── sl.js
│ │ │ │ ├── sq.js
│ │ │ │ ├── sr-Cyrl.js
│ │ │ │ ├── sr.js
│ │ │ │ ├── sv.js
│ │ │ │ ├── te.js
│ │ │ │ ├── th.js
│ │ │ │ ├── tk.js
│ │ │ │ ├── tr.js
│ │ │ │ ├── ug.js
│ │ │ │ ├── uk.js
│ │ │ │ ├── vi.js
│ │ │ │ ├── zh-CN.js
│ │ │ │ └── zh-TW.js
│ │ │ ├── keys.js
│ │ │ ├── options.js
│ │ │ ├── results.js
│ │ │ ├── selection/
│ │ │ │ ├── allowClear.js
│ │ │ │ ├── base.js
│ │ │ │ ├── clickMask.js
│ │ │ │ ├── eventRelay.js
│ │ │ │ ├── multiple.js
│ │ │ │ ├── placeholder.js
│ │ │ │ ├── search.js
│ │ │ │ ├── selectionCss.js
│ │ │ │ ├── single.js
│ │ │ │ └── stopPropagation.js
│ │ │ ├── translation.js
│ │ │ └── utils.js
│ │ ├── wrapper.end.js
│ │ └── wrapper.start.js
│ └── scss/
│ ├── _dropdown.scss
│ ├── _multiple.scss
│ ├── _single.scss
│ ├── core.scss
│ ├── mixins/
│ │ └── _gradients.scss
│ └── theme/
│ ├── classic/
│ │ ├── _defaults.scss
│ │ ├── _multiple.scss
│ │ ├── _single.scss
│ │ └── layout.scss
│ └── default/
│ ├── _multiple.scss
│ ├── _single.scss
│ └── layout.scss
└── tests/
├── a11y/
│ └── selection-tests.js
├── data/
│ ├── array-tests.js
│ ├── base-tests.js
│ ├── maximumInputLength-tests.js
│ ├── maximumSelectionLength-tests.js
│ ├── minimumInputLength-tests.js
│ ├── select-tests.js
│ ├── tags-tests.js
│ └── tokenizer-tests.js
├── dropdown/
│ ├── dropdownCss-tests.js
│ ├── dropdownParent-tests.js
│ ├── positioning-tests.js
│ ├── search-a11y-tests.js
│ ├── search-tests.js
│ ├── selectOnClose-tests.js
│ └── stopPropagation-tests.js
├── helpers.js
├── integration/
│ ├── dom-changes.js
│ ├── jquery-calls.js
│ └── select2-methods.js
├── integration-jq1.html
├── integration-jq2.html
├── integration-jq3.html
├── integration-jq4.html
├── options/
│ ├── ajax-tests.js
│ ├── data-tests.js
│ ├── element-tests.js
│ ├── translation-tests.js
│ └── width-tests.js
├── results/
│ ├── a11y-tests.js
│ ├── focusing-tests.js
│ ├── infiniteScroll-tests.js
│ └── option-tests.js
├── selection/
│ ├── allowClear-tests.js
│ ├── focusing-tests.js
│ ├── multiple-tests.js
│ ├── openOnKeyDown-tests.js
│ ├── placeholder-tests.js
│ ├── search-a11y-tests.js
│ ├── search-placeholder-tests.js
│ ├── search-tests.js
│ ├── selectionCss-tests.js
│ ├── single-tests.js
│ └── stopPropagation-tests.js
├── unit-jq1.html
├── unit-jq2.html
├── unit-jq3.html
├── unit-jq4.html
├── utils/
│ ├── data-tests.js
│ ├── decorator-tests.js
│ └── escapeMarkup-tests.js
└── vendor/
├── jquery-1.12.4.js
├── jquery-2.2.4.js
├── jquery-3.4.1.js
├── jquery-4.0.0-beta.2.js
├── jquery.mockjax-2.7.0-beta.0.js
├── qunit-2.22.0.css
└── qunit-2.22.0.js
SYMBOL INDEX (807 symbols across 79 files)
FILE: dist/js/i18n/bs.js
function e (line 3) | function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100...
FILE: dist/js/i18n/cs.js
function e (line 3) | function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři"...
FILE: dist/js/i18n/hr.js
function n (line 3) | function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100...
FILE: dist/js/i18n/lt.js
function n (line 3) | function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10...
FILE: dist/js/i18n/lv.js
function e (line 3) | function e(e,n,u,i){return 11===e?n:e%10==1?u:i}
FILE: dist/js/i18n/ru.js
function n (line 3) | function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}
FILE: dist/js/i18n/sr-Cyrl.js
function n (line 3) | function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100...
FILE: dist/js/i18n/sr.js
function n (line 3) | function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100...
FILE: dist/js/i18n/uk.js
function n (line 3) | function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5...
FILE: dist/js/select2.full.js
function hasProp (line 65) | function hasProp(obj, prop) {
function normalize (line 77) | function normalize(name, baseName) {
function makeRequire (line 187) | function makeRequire(relName, forceSync) {
function makeNormalize (line 204) | function makeNormalize(relName) {
function makeLoad (line 210) | function makeLoad(depName) {
function callDep (line 216) | function callDep(name) {
function splitPrefix (line 233) | function splitPrefix(name) {
function makeRelParts (line 245) | function makeRelParts(relName) {
function makeConfig (line 293) | function makeConfig(name) {
function BaseConstructor (line 509) | function BaseConstructor () {
function getMethods (line 526) | function getMethods (theClass) {
function DecoratedClass (line 552) | function DecoratedClass () {
function ctr (line 570) | function ctr () {
function Results (line 856) | function Results ($element, options, dataAdapter) {
function BaseSelection (line 1430) | function BaseSelection ($element, options) {
function SingleSelection (line 1610) | function SingleSelection () {
function MultipleSelection (line 1718) | function MultipleSelection ($element, options) {
function Placeholder (line 1872) | function Placeholder (decorated, $element, options) {
function AllowClear (line 1933) | function AllowClear () { }
function Search (line 2057) | function Search (decorated, $element, options) {
function SelectionCSS (line 2298) | function SelectionCSS () { }
function EventRelay (line 2326) | function EventRelay () { }
function Translation (line 2376) | function Translation (dict) {
function BaseAdapter (line 3263) | function BaseAdapter ($element, options) {
function SelectAdapter (line 3306) | function SelectAdapter ($element, options) {
function ArrayAdapter (line 3604) | function ArrayAdapter ($element, options) {
function onlyItem (line 3643) | function onlyItem (item) {
function AjaxAdapter (line 3688) | function AjaxAdapter ($element, options) {
function request (line 3749) | function request () {
function Tags (line 3801) | function Tags (decorated, $element, options) {
function wrapper (line 3840) | function wrapper (obj, child) {
function Tokenizer (line 3932) | function Tokenizer (decorated, $element, options) {
function createAndSelect (line 3952) | function createAndSelect (data) {
function select (line 3975) | function select (data) {
function MinimumInputLength (line 4049) | function MinimumInputLength (decorated, $e, options) {
function MaximumInputLength (line 4080) | function MaximumInputLength (decorated, $e, options) {
function MaximumSelectionLength (line 4112) | function MaximumSelectionLength (decorated, $e, options) {
function Dropdown (line 4168) | function Dropdown ($element, options) {
function Search (line 4210) | function Search () { }
function HidePlaceholder (line 4329) | function HidePlaceholder (decorated, $element, options, dataAdapter) {
function InfiniteScroll (line 4372) | function InfiniteScroll (decorated, $element, options, dataAdapter) {
function AttachBody (line 4466) | function AttachBody (decorated, $element, options) {
function countResults (line 4726) | function countResults (data) {
function MinimumResultsForSearch (line 4742) | function MinimumResultsForSearch (decorated, $element, options, dataAdap...
function SelectOnClose (line 4766) | function SelectOnClose () { }
function CloseOnSelect (line 4817) | function CloseOnSelect () { }
function DropdownCSS (line 4853) | function DropdownCSS () { }
function TagsSearchHighlight (line 4881) | function TagsSearchHighlight () { }
function Defaults (line 5019) | function Defaults () {
function stripDiacritics (line 5206) | function stripDiacritics (text) {
function matcher (line 5215) | function matcher (params, data) {
function upperCaseLetter (line 5387) | function upperCaseLetter(_, letter) {
function Options (line 5410) | function Options (options, $element) {
function upperCaseLetter (line 5480) | function upperCaseLetter(_, letter) {
function AttachContainer (line 6152) | function AttachContainer (decorated, $element, options) {
function StopPropagation (line 6171) | function StopPropagation () { }
function StopPropagation (line 6210) | function StopPropagation () { }
function handler (line 6338) | function handler(event) {
function nullLowestDelta (line 6451) | function nullLowestDelta() {
function shouldAdjustOldDeltas (line 6455) | function shouldAdjustOldDeltas(orgEvent, absDelta) {
FILE: dist/js/select2.js
function hasProp (line 65) | function hasProp(obj, prop) {
function normalize (line 77) | function normalize(name, baseName) {
function makeRequire (line 187) | function makeRequire(relName, forceSync) {
function makeNormalize (line 204) | function makeNormalize(relName) {
function makeLoad (line 210) | function makeLoad(depName) {
function callDep (line 216) | function callDep(name) {
function splitPrefix (line 233) | function splitPrefix(name) {
function makeRelParts (line 245) | function makeRelParts(relName) {
function makeConfig (line 293) | function makeConfig(name) {
function BaseConstructor (line 509) | function BaseConstructor () {
function getMethods (line 526) | function getMethods (theClass) {
function DecoratedClass (line 552) | function DecoratedClass () {
function ctr (line 570) | function ctr () {
function Results (line 856) | function Results ($element, options, dataAdapter) {
function BaseSelection (line 1430) | function BaseSelection ($element, options) {
function SingleSelection (line 1610) | function SingleSelection () {
function MultipleSelection (line 1718) | function MultipleSelection ($element, options) {
function Placeholder (line 1872) | function Placeholder (decorated, $element, options) {
function AllowClear (line 1933) | function AllowClear () { }
function Search (line 2057) | function Search (decorated, $element, options) {
function SelectionCSS (line 2298) | function SelectionCSS () { }
function EventRelay (line 2326) | function EventRelay () { }
function Translation (line 2376) | function Translation (dict) {
function BaseAdapter (line 3263) | function BaseAdapter ($element, options) {
function SelectAdapter (line 3306) | function SelectAdapter ($element, options) {
function ArrayAdapter (line 3604) | function ArrayAdapter ($element, options) {
function onlyItem (line 3643) | function onlyItem (item) {
function AjaxAdapter (line 3688) | function AjaxAdapter ($element, options) {
function request (line 3749) | function request () {
function Tags (line 3801) | function Tags (decorated, $element, options) {
function wrapper (line 3840) | function wrapper (obj, child) {
function Tokenizer (line 3932) | function Tokenizer (decorated, $element, options) {
function createAndSelect (line 3952) | function createAndSelect (data) {
function select (line 3975) | function select (data) {
function MinimumInputLength (line 4049) | function MinimumInputLength (decorated, $e, options) {
function MaximumInputLength (line 4080) | function MaximumInputLength (decorated, $e, options) {
function MaximumSelectionLength (line 4112) | function MaximumSelectionLength (decorated, $e, options) {
function Dropdown (line 4168) | function Dropdown ($element, options) {
function Search (line 4210) | function Search () { }
function HidePlaceholder (line 4329) | function HidePlaceholder (decorated, $element, options, dataAdapter) {
function InfiniteScroll (line 4372) | function InfiniteScroll (decorated, $element, options, dataAdapter) {
function AttachBody (line 4466) | function AttachBody (decorated, $element, options) {
function countResults (line 4726) | function countResults (data) {
function MinimumResultsForSearch (line 4742) | function MinimumResultsForSearch (decorated, $element, options, dataAdap...
function SelectOnClose (line 4766) | function SelectOnClose () { }
function CloseOnSelect (line 4817) | function CloseOnSelect () { }
function DropdownCSS (line 4853) | function DropdownCSS () { }
function TagsSearchHighlight (line 4881) | function TagsSearchHighlight () { }
function Defaults (line 5019) | function Defaults () {
function stripDiacritics (line 5206) | function stripDiacritics (text) {
function matcher (line 5215) | function matcher (params, data) {
function upperCaseLetter (line 5387) | function upperCaseLetter(_, letter) {
function Options (line 5410) | function Options (options, $element) {
function upperCaseLetter (line 5480) | function upperCaseLetter(_, letter) {
FILE: docs/plugins/anchors/anchors.php
class AnchorsPlugin (line 8) | class AnchorsPlugin extends Plugin
method getSubscribedEvents (line 13) | public static function getSubscribedEvents()
method onPluginsInitialized (line 23) | public function onPluginsInitialized()
method onPageInitialized (line 38) | public function onPageInitialized()
method onTwigSiteVariables (line 52) | public function onTwigSiteVariables()
FILE: docs/plugins/breadcrumbs/breadcrumbs.php
class BreadcrumbsPlugin (line 6) | class BreadcrumbsPlugin extends Plugin
method getSubscribedEvents (line 11) | public static function getSubscribedEvents()
method onPluginsInitialized (line 21) | public function onPluginsInitialized()
method onTwigTemplatePaths (line 37) | public function onTwigTemplatePaths()
method onTwigSiteVariables (line 45) | public function onTwigSiteVariables()
FILE: docs/plugins/breadcrumbs/classes/breadcrumbs.php
class Breadcrumbs (line 6) | class Breadcrumbs
method __construct (line 18) | public function __construct($config)
method get (line 28) | public function get()
method build (line 41) | protected function build()
FILE: docs/plugins/error/cli/LogCommand.php
class LogCommand (line 13) | class LogCommand extends ConsoleCommand
method configure (line 40) | protected function configure()
method serve (line 66) | protected function serve()
method parseLine (line 97) | protected function parseLine($line)
FILE: docs/plugins/error/error.php
class ErrorPlugin (line 11) | class ErrorPlugin extends Plugin
method getSubscribedEvents (line 16) | public static function getSubscribedEvents()
method onPageNotFound (line 30) | public function onPageNotFound(Event $event)
method onGetPageTemplates (line 51) | public function onGetPageTemplates(Event $event)
method onTwigTemplatePaths (line 61) | public function onTwigTemplatePaths()
FILE: docs/plugins/highlight/highlight.php
class HighlightPlugin (line 8) | class HighlightPlugin extends Plugin
method getSubscribedEvents (line 13) | public static function getSubscribedEvents()
method onPageInitialized (line 23) | public function onPageInitialized()
method onTwigSiteVariables (line 47) | public function onTwigSiteVariables()
FILE: docs/plugins/highlight/js/highlight.pack.js
function n (line 2) | function n(e){return e.replace(/&/gm,"&").replace(/</gm,"<").repl...
function t (line 2) | function t(e){return e.nodeName.toLowerCase()}
function r (line 2) | function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}
function a (line 2) | function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}
function i (line 2) | function i(e){var n,t,r,i=e.className+" ";if(i+=e.parentNode?e.parentNod...
function o (line 2) | function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t...
function u (line 2) | function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i...
function c (line 2) | function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[...
function s (line 2) | function s(e){function n(e){return e&&e.source||e}function t(t,r){return...
function l (line 2) | function l(e,t,a,i){function o(e,n){for(var t=0;t<n.c.length;t++)if(r(n....
function f (line 2) | function f(e,t){t=t||x.languages||Object.keys(R);var r={r:0,value:n(e)},...
function g (line 2) | function g(e){return x.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,fun...
function h (line 2) | function h(e,n,t){var r=n?w[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)...
function p (line 2) | function p(e){var n=i(e);if(!a(n)){var t;x.useBR?(t=document.createEleme...
function d (line 2) | function d(e){x=o(x,e)}
function b (line 2) | function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("...
function v (line 2) | function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener(...
function m (line 2) | function m(n,t){var r=R[n]=t(e);r.aliases&&r.aliases.forEach(function(e)...
function N (line 2) | function N(){return Object.keys(R)}
function E (line 2) | function E(e){return e=(e||"").toLowerCase(),R[e]||R[w[e]]}
FILE: docs/plugins/problems/problems.php
class ProblemsPlugin (line 8) | class ProblemsPlugin extends Plugin
method getSubscribedEvents (line 17) | public static function getSubscribedEvents()
method onFatalException (line 25) | public function onFatalException()
method onPluginsInitialized (line 38) | public function onPluginsInitialized()
method renderProblems (line 69) | protected function renderProblems()
method getListRow (line 128) | protected function getListRow($status, $text)
method problemChecker (line 142) | protected function problemChecker()
FILE: docs/plugins/simplesearch/simplesearch.php
class SimplesearchPlugin (line 15) | class SimplesearchPlugin extends Plugin
method getSubscribedEvents (line 35) | public static function getSubscribedEvents()
method onGetPageTemplates (line 47) | public function onGetPageTemplates(Event $event)
method onTwigTemplatePaths (line 58) | public function onTwigTemplatePaths()
method onPluginsInitialized (line 66) | public function onPluginsInitialized()
method onPagesInitialized (line 82) | public function onPagesInitialized()
method checkForPermissions (line 237) | public function checkForPermissions($collection)
method onTwigSiteVariables (line 286) | public function onTwigSiteVariables()
method matchText (line 303) | private function matchText($haystack, $needle) {
method notFound (line 324) | private function notFound($query, $page, $taxonomies)
FILE: docs/themes/learn2/js/learn.js
function getScrollBarWidth (line 2) | function getScrollBarWidth() {
function setMenuHeight (line 28) | function setMenuHeight() {
function fallbackMessage (line 32) | function fallbackMessage(action) {
function delayed (line 64) | function delayed() {
function adjustForScrollbar (line 237) | function adjustForScrollbar() {
FILE: docs/themes/learn2/js/modernizr.custom.71422.js
function z (line 4) | function z(a){j.cssText=a}
function A (line 4) | function A(a,b){return z(m.join(a+";")+(b||""))}
function B (line 4) | function B(a,b){return typeof a===b}
function C (line 4) | function C(a,b){return!!~(""+a).indexOf(b)}
function D (line 4) | function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return...
function E (line 4) | function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a...
function F (line 4) | function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o....
function l (line 4) | function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("hea...
function m (line 4) | function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}
function n (line 4) | function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}
function o (line 4) | function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));va...
function p (line 4) | function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a...
function q (line 4) | function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.crea...
function r (line 4) | function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.ha...
function d (line 4) | function d(a){return"[object Function]"==o.call(a)}
function e (line 4) | function e(a){return"string"==typeof a}
function f (line 4) | function f(){}
function g (line 4) | function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}
function h (line 4) | function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCs...
function i (line 4) | function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1...
function j (line 4) | function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++...
function k (line 4) | function k(){var a=B;return a.loader={load:j,i:0},a}
function b (line 4) | function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:...
function g (line 4) | function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop()...
function h (line 4) | function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[]....
FILE: docs/themes/learn2/learn2.php
class Learn2 (line 6) | class Learn2 extends Theme
FILE: src/js/select2/data/ajax.js
function AjaxAdapter (line 6) | function AjaxAdapter ($element, options) {
function request (line 67) | function request () {
FILE: src/js/select2/data/array.js
function ArrayAdapter (line 6) | function ArrayAdapter ($element, options) {
function onlyItem (line 45) | function onlyItem (item) {
FILE: src/js/select2/data/base.js
function BaseAdapter (line 4) | function BaseAdapter ($element, options) {
FILE: src/js/select2/data/maximumInputLength.js
function MaximumInputLength (line 4) | function MaximumInputLength (decorated, $e, options) {
FILE: src/js/select2/data/maximumSelectionLength.js
function MaximumSelectionLength (line 4) | function MaximumSelectionLength (decorated, $e, options) {
FILE: src/js/select2/data/minimumInputLength.js
function MinimumInputLength (line 4) | function MinimumInputLength (decorated, $e, options) {
FILE: src/js/select2/data/select.js
function SelectAdapter (line 6) | function SelectAdapter ($element, options) {
FILE: src/js/select2/data/tags.js
function Tags (line 4) | function Tags (decorated, $element, options) {
function wrapper (line 43) | function wrapper (obj, child) {
FILE: src/js/select2/data/tokenizer.js
function Tokenizer (line 4) | function Tokenizer (decorated, $element, options) {
function createAndSelect (line 24) | function createAndSelect (data) {
function select (line 47) | function select (data) {
FILE: src/js/select2/defaults.js
function Defaults (line 56) | function Defaults () {
function stripDiacritics (line 243) | function stripDiacritics (text) {
function matcher (line 252) | function matcher (params, data) {
function upperCaseLetter (line 424) | function upperCaseLetter(_, letter) {
FILE: src/js/select2/dropdown.js
function Dropdown (line 5) | function Dropdown ($element, options) {
FILE: src/js/select2/dropdown/attachBody.js
function AttachBody (line 5) | function AttachBody (decorated, $element, options) {
FILE: src/js/select2/dropdown/attachContainer.js
function AttachContainer (line 4) | function AttachContainer (decorated, $element, options) {
FILE: src/js/select2/dropdown/closeOnSelect.js
function CloseOnSelect (line 4) | function CloseOnSelect () { }
FILE: src/js/select2/dropdown/dropdownCss.js
function DropdownCSS (line 4) | function DropdownCSS () { }
FILE: src/js/select2/dropdown/hidePlaceholder.js
function HidePlaceholder (line 4) | function HidePlaceholder (decorated, $element, options, dataAdapter) {
FILE: src/js/select2/dropdown/infiniteScroll.js
function InfiniteScroll (line 4) | function InfiniteScroll (decorated, $element, options, dataAdapter) {
FILE: src/js/select2/dropdown/minimumResultsForSearch.js
function countResults (line 4) | function countResults (data) {
function MinimumResultsForSearch (line 20) | function MinimumResultsForSearch (decorated, $element, options, dataAdap...
FILE: src/js/select2/dropdown/search.js
function Search (line 4) | function Search () { }
FILE: src/js/select2/dropdown/selectOnClose.js
function SelectOnClose (line 4) | function SelectOnClose () { }
FILE: src/js/select2/dropdown/stopPropagation.js
function StopPropagation (line 4) | function StopPropagation () { }
FILE: src/js/select2/dropdown/tagsSearchHighlight.js
function TagsSearchHighlight (line 4) | function TagsSearchHighlight () { }
FILE: src/js/select2/i18n/bs.js
function ending (line 3) | function ending (count, one, some, many) {
FILE: src/js/select2/i18n/cs.js
function small (line 3) | function small (count, masc) {
FILE: src/js/select2/i18n/hr.js
function character (line 3) | function character (n) {
FILE: src/js/select2/i18n/lt.js
function ending (line 4) | function ending(count, one, few, other) {
FILE: src/js/select2/i18n/lv.js
function ending (line 3) | function ending (count, eleven, singular, other) {
FILE: src/js/select2/i18n/ru.js
function ending (line 3) | function ending (count, one, couple, more) {
FILE: src/js/select2/i18n/sr-Cyrl.js
function ending (line 3) | function ending (count, one, some, many) {
FILE: src/js/select2/i18n/sr.js
function ending (line 3) | function ending (count, one, some, many) {
FILE: src/js/select2/i18n/uk.js
function ending (line 3) | function ending (count, one, couple, more) {
FILE: src/js/select2/options.js
function Options (line 6) | function Options (options, $element) {
function upperCaseLetter (line 76) | function upperCaseLetter(_, letter) {
FILE: src/js/select2/results.js
function Results (line 5) | function Results ($element, options, dataAdapter) {
FILE: src/js/select2/selection/allowClear.js
function AllowClear (line 6) | function AllowClear () { }
FILE: src/js/select2/selection/base.js
function BaseSelection (line 6) | function BaseSelection ($element, options) {
FILE: src/js/select2/selection/clickMask.js
function ClickMask (line 4) | function ClickMask () { }
FILE: src/js/select2/selection/eventRelay.js
function EventRelay (line 4) | function EventRelay () { }
FILE: src/js/select2/selection/multiple.js
function MultipleSelection (line 6) | function MultipleSelection ($element, options) {
FILE: src/js/select2/selection/placeholder.js
function Placeholder (line 4) | function Placeholder (decorated, $element, options) {
FILE: src/js/select2/selection/search.js
function Search (line 6) | function Search (decorated, $element, options) {
FILE: src/js/select2/selection/selectionCss.js
function SelectionCSS (line 4) | function SelectionCSS () { }
FILE: src/js/select2/selection/single.js
function SingleSelection (line 7) | function SingleSelection () {
FILE: src/js/select2/selection/stopPropagation.js
function StopPropagation (line 4) | function StopPropagation () { }
FILE: src/js/select2/translation.js
function Translation (line 5) | function Translation (dict) {
FILE: src/js/select2/utils.js
function BaseConstructor (line 9) | function BaseConstructor () {
function getMethods (line 26) | function getMethods (theClass) {
function DecoratedClass (line 52) | function DecoratedClass () {
function ctr (line 70) | function ctr () {
FILE: tests/data/maximumInputLength-tests.js
function MaximumInputStub (line 8) | function MaximumInputStub () {
FILE: tests/data/minimumInputLength-tests.js
function StubData (line 8) | function StubData () {
FILE: tests/helpers.js
function MockContainer (line 10) | function MockContainer () {
FILE: tests/selection/openOnKeyDown-tests.js
function buildKeyDownEvent (line 15) | function buildKeyDownEvent (keyCode, eventProps) {
function testAbled (line 37) | function testAbled(isEnabled, testName, keyCode, eventProps, fn) {
function testEnabled (line 67) | function testEnabled (testName, keyCode, eventProps, fn) {
function testDisabled (line 75) | function testDisabled (testName, keyCode, eventProps, fn) {
function assertOpened (line 87) | function assertOpened (assert, select2) {
function assertNotOpened (line 99) | function assertNotOpened (assert, select2) {
FILE: tests/utils/decorator-tests.js
function BaseClass (line 6) | function BaseClass () {}
function DecoratorClass (line 12) | function DecoratorClass () {}
function BaseClass (line 26) | function BaseClass () {
function DecoratorClass (line 34) | function DecoratorClass (decorated) {
function BaseClass (line 51) | function BaseClass () {}
function DecoratorClass (line 57) | function DecoratorClass () {}
function BaseClass (line 71) | function BaseClass () {
function DecoratorClass (line 79) | function DecoratorClass () {}
function BaseClass (line 93) | function BaseClass () {}
function DecoratorClass (line 99) | function DecoratorClass (decorated) {}
function BaseClass (line 113) | function BaseClass () {
function DecoratorClass (line 121) | function DecoratorClass (decorated) {
function BaseClass (line 140) | function BaseClass (testArgument) {
function MiddleClass (line 149) | function MiddleClass (decorated, testArgument) {
function DecoratorClass (line 160) | function DecoratorClass (decorated, testArgument) {
FILE: tests/vendor/jquery-1.12.4.js
function isArrayLike (line 563) | function isArrayLike( obj ) {
function Sizzle (line 772) | function Sizzle( selector, context, results, seed ) {
function createCache (line 912) | function createCache() {
function markFunction (line 930) | function markFunction( fn ) {
function assert (line 939) | function assert( fn ) {
function addHandle (line 961) | function addHandle( attrs, handler ) {
function siblingCheck (line 976) | function siblingCheck( a, b ) {
function createInputPseudo (line 1003) | function createInputPseudo( type ) {
function createButtonPseudo (line 1014) | function createButtonPseudo( type ) {
function createPositionalPseudo (line 1025) | function createPositionalPseudo( fn ) {
function testContext (line 1048) | function testContext( context ) {
function setFilters (line 2093) | function setFilters() {}
function toSelector (line 2164) | function toSelector( tokens ) {
function addCombinator (line 2174) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2232) | function elementMatcher( matchers ) {
function multipleContexts (line 2246) | function multipleContexts( selector, contexts, results ) {
function condense (line 2255) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2276) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2369) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2427) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function winnow (line 2765) | function winnow( elements, qualifier, not ) {
function sibling (line 3078) | function sibling( cur, dir ) {
function createOptions (line 3159) | function createOptions( options ) {
function detach (line 3595) | function detach() {
function completed (line 3609) | function completed() {
function dataAttr (line 3779) | function dataAttr( elem, key, data ) {
function isEmptyDataObject (line 3813) | function isEmptyDataObject( obj ) {
function internalData (line 3829) | function internalData( elem, name, data, pvt /* Internal Use Only */ ) {
function internalRemoveData (line 3921) | function internalRemoveData( elem, name, pvt ) {
function adjustCSS (line 4314) | function adjustCSS( elem, prop, valueParts, tween ) {
function createSafeFragment (line 4444) | function createSafeFragment( document ) {
function getAll (line 4548) | function getAll( context, tag ) {
function setGlobalEval (line 4577) | function setGlobalEval( elems, refElements ) {
function fixDefaultChecked (line 4593) | function fixDefaultChecked( elem ) {
function buildFragment (line 4599) | function buildFragment( elems, context, scripts, selection, ignored ) {
function returnTrue (line 4759) | function returnTrue() {
function returnFalse (line 4763) | function returnFalse() {
function safeActiveElement (line 4769) | function safeActiveElement() {
function on (line 4775) | function on( elem, types, selector, data, fn, one ) {
function manipulationTarget (line 5890) | function manipulationTarget( elem, content ) {
function disableScript (line 5900) | function disableScript( elem ) {
function restoreScript (line 5904) | function restoreScript( elem ) {
function cloneCopyEvent (line 5914) | function cloneCopyEvent( src, dest ) {
function fixCloneNodeIssues (line 5941) | function fixCloneNodeIssues( src, dest ) {
function domManip (line 6009) | function domManip( collection, args, callback, ignored ) {
function remove (line 6106) | function remove( elem, selector, keepData ) {
function actualDisplay (line 6442) | function actualDisplay( name, doc ) {
function defaultDisplay (line 6458) | function defaultDisplay( nodeName ) {
function computeStyleTests (line 6607) | function computeStyleTests() {
function addGetHookIf (line 6819) | function addGetHookIf( conditionFn, hookFn ) {
function vendorPropName (line 6862) | function vendorPropName( name ) {
function showHide (line 6881) | function showHide( elements, show ) {
function setPositiveNumber (line 6938) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 6947) | function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight (line 6991) | function getWidthOrHeight( elem, name, extra ) {
function Tween (line 7374) | function Tween( elem, options, prop, end, easing ) {
function createFxNow (line 7498) | function createFxNow() {
function genFx (line 7506) | function genFx( type, includeWidth ) {
function createTween (line 7526) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 7540) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 7685) | function propFilter( props, specialEasing ) {
function Animation (line 7722) | function Animation( elem, properties, options ) {
function getClass (line 8803) | function getClass( elem ) {
function addToPrefiltersOrTransports (line 9115) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 9149) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 9178) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 9198) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 9255) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 9753) | function done( status, nativeStatusText, responses, headers ) {
function getDisplay (line 9985) | function getDisplay( elem ) {
function filterHidden (line 9989) | function filterHidden( elem ) {
function buildParams (line 10027) | function buildParams( prefix, obj, traditional, add ) {
function createStandardXHR (line 10346) | function createStandardXHR() {
function createActiveXHR (line 10352) | function createActiveXHR() {
function getWindow (line 10682) | function getWindow( elem ) {
FILE: tests/vendor/jquery-2.2.4.js
function isArrayLike (line 529) | function isArrayLike( obj ) {
function Sizzle (line 738) | function Sizzle( selector, context, results, seed ) {
function createCache (line 878) | function createCache() {
function markFunction (line 896) | function markFunction( fn ) {
function assert (line 905) | function assert( fn ) {
function addHandle (line 927) | function addHandle( attrs, handler ) {
function siblingCheck (line 942) | function siblingCheck( a, b ) {
function createInputPseudo (line 969) | function createInputPseudo( type ) {
function createButtonPseudo (line 980) | function createButtonPseudo( type ) {
function createPositionalPseudo (line 991) | function createPositionalPseudo( fn ) {
function testContext (line 1014) | function testContext( context ) {
function setFilters (line 2059) | function setFilters() {}
function toSelector (line 2130) | function toSelector( tokens ) {
function addCombinator (line 2140) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2198) | function elementMatcher( matchers ) {
function multipleContexts (line 2212) | function multipleContexts( selector, contexts, results ) {
function condense (line 2221) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2242) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2335) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2393) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function winnow (line 2731) | function winnow( elements, qualifier, not ) {
function sibling (line 3038) | function sibling( cur, dir ) {
function createOptions (line 3114) | function createOptions( options ) {
function completed (line 3549) | function completed() {
function Data (line 3660) | function Data() {
function dataAttr (line 3870) | function dataAttr( elem, key, data ) {
function adjustCSS (line 4187) | function adjustCSS( elem, prop, valueParts, tween ) {
function getAll (line 4276) | function getAll( context, tag ) {
function setGlobalEval (line 4293) | function setGlobalEval( elems, refElements ) {
function buildFragment (line 4309) | function buildFragment( elems, context, scripts, selection, ignored ) {
function returnTrue (line 4430) | function returnTrue() {
function returnFalse (line 4434) | function returnFalse() {
function safeActiveElement (line 4440) | function safeActiveElement() {
function on (line 4446) | function on( elem, types, selector, data, fn, one ) {
function manipulationTarget (line 5138) | function manipulationTarget( elem, content ) {
function disableScript (line 5148) | function disableScript( elem ) {
function restoreScript (line 5152) | function restoreScript( elem ) {
function cloneCopyEvent (line 5164) | function cloneCopyEvent( src, dest ) {
function fixInput (line 5199) | function fixInput( src, dest ) {
function domManip (line 5212) | function domManip( collection, args, callback, ignored ) {
function remove (line 5302) | function remove( elem, selector, keepData ) {
function actualDisplay (line 5593) | function actualDisplay( name, doc ) {
function defaultDisplay (line 5609) | function defaultDisplay( nodeName ) {
function computeStyleTests (line 5705) | function computeStyleTests() {
function curCSS (line 5795) | function curCSS( elem, name, computed ) {
function addGetHookIf (line 5845) | function addGetHookIf( conditionFn, hookFn ) {
function vendorPropName (line 5882) | function vendorPropName( name ) {
function setPositiveNumber (line 5901) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 5913) | function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight (line 5957) | function getWidthOrHeight( elem, name, extra ) {
function showHide (line 6002) | function showHide( elements, show ) {
function Tween (line 6341) | function Tween( elem, options, prop, end, easing ) {
function createFxNow (line 6465) | function createFxNow() {
function genFx (line 6473) | function genFx( type, includeWidth ) {
function createTween (line 6493) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 6507) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 6643) | function propFilter( props, specialEasing ) {
function Animation (line 6680) | function Animation( elem, properties, options ) {
function getClass (line 7369) | function getClass( elem ) {
function addToPrefiltersOrTransports (line 8025) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 8059) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 8088) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 8108) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8166) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 8671) | function done( status, nativeStatusText, responses, headers ) {
function buildParams (line 8924) | function buildParams( prefix, obj, traditional, add ) {
function getWindow (line 9490) | function getWindow( elem ) {
FILE: tests/vendor/jquery-3.4.1.js
function DOMEval (line 98) | function DOMEval( code, node, doc ) {
function toType (line 128) | function toType( obj ) {
function isArrayLike (line 496) | function isArrayLike( obj ) {
function Sizzle (line 729) | function Sizzle( selector, context, results, seed ) {
function createCache (line 871) | function createCache() {
function markFunction (line 889) | function markFunction( fn ) {
function assert (line 898) | function assert( fn ) {
function addHandle (line 920) | function addHandle( attrs, handler ) {
function siblingCheck (line 935) | function siblingCheck( a, b ) {
function createInputPseudo (line 961) | function createInputPseudo( type ) {
function createButtonPseudo (line 972) | function createButtonPseudo( type ) {
function createDisabledPseudo (line 983) | function createDisabledPseudo( disabled ) {
function createPositionalPseudo (line 1039) | function createPositionalPseudo( fn ) {
function testContext (line 1062) | function testContext( context ) {
function setFilters (line 2150) | function setFilters() {}
function toSelector (line 2221) | function toSelector( tokens ) {
function addCombinator (line 2231) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2295) | function elementMatcher( matchers ) {
function multipleContexts (line 2309) | function multipleContexts( selector, contexts, results ) {
function condense (line 2318) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2339) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2432) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2490) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function nodeName (line 2826) | function nodeName( elem, name ) {
function winnow (line 2836) | function winnow( elements, qualifier, not ) {
function sibling (line 3131) | function sibling( cur, dir ) {
function createOptions (line 3218) | function createOptions( options ) {
function Identity (line 3443) | function Identity( v ) {
function Thrower (line 3446) | function Thrower( ex ) {
function adoptValue (line 3450) | function adoptValue( value, resolve, reject, noValue ) {
function resolve (line 3543) | function resolve( depth, deferred, handler, special ) {
function completed (line 3908) | function completed() {
function fcamelCase (line 4003) | function fcamelCase( all, letter ) {
function camelCase (line 4010) | function camelCase( string ) {
function Data (line 4027) | function Data() {
function getData (line 4196) | function getData( data ) {
function dataAttr (line 4221) | function dataAttr( elem, key, data ) {
function adjustCSS (line 4554) | function adjustCSS( elem, prop, valueParts, tween ) {
function getDefaultDisplay (line 4622) | function getDefaultDisplay( elem ) {
function showHide (line 4645) | function showHide( elements, show ) {
function getAll (line 4746) | function getAll( context, tag ) {
function setGlobalEval (line 4771) | function setGlobalEval( elems, refElements ) {
function buildFragment (line 4787) | function buildFragment( elems, context, scripts, selection, ignored ) {
function returnTrue (line 4908) | function returnTrue() {
function returnFalse (line 4912) | function returnFalse() {
function expectSync (line 4922) | function expectSync( elem, type ) {
function safeActiveElement (line 4929) | function safeActiveElement() {
function on (line 4935) | function on( elem, types, selector, data, fn, one ) {
function leverageNative (line 5420) | function leverageNative( el, type, expectSync ) {
function manipulationTarget (line 5791) | function manipulationTarget( elem, content ) {
function disableScript (line 5802) | function disableScript( elem ) {
function restoreScript (line 5806) | function restoreScript( elem ) {
function cloneCopyEvent (line 5816) | function cloneCopyEvent( src, dest ) {
function fixInput (line 5851) | function fixInput( src, dest ) {
function domManip (line 5864) | function domManip( collection, args, callback, ignored ) {
function remove (line 5956) | function remove( elem, selector, keepData ) {
function computeStyleTests (line 6249) | function computeStyleTests() {
function roundPixelMeasures (line 6293) | function roundPixelMeasures( measure ) {
function curCSS (line 6338) | function curCSS( elem, name, computed ) {
function addGetHookIf (line 6391) | function addGetHookIf( conditionFn, hookFn ) {
function vendorPropName (line 6416) | function vendorPropName( name ) {
function finalPropName (line 6431) | function finalPropName( name ) {
function setPositiveNumber (line 6457) | function setPositiveNumber( elem, value, subtract ) {
function boxModelAdjustment (line 6469) | function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, ...
function getWidthOrHeight (line 6537) | function getWidthOrHeight( elem, dimension, extra ) {
function Tween (line 6904) | function Tween( elem, options, prop, end, easing ) {
function schedule (line 7027) | function schedule() {
function createFxNow (line 7040) | function createFxNow() {
function genFx (line 7048) | function genFx( type, includeWidth ) {
function createTween (line 7068) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 7082) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 7254) | function propFilter( props, specialEasing ) {
function Animation (line 7291) | function Animation( elem, properties, options ) {
function stripAndCollapse (line 8006) | function stripAndCollapse( value ) {
function getClass (line 8012) | function getClass( elem ) {
function classesToArray (line 8016) | function classesToArray( value ) {
function buildParams (line 8638) | function buildParams( prefix, obj, traditional, add ) {
function addToPrefiltersOrTransports (line 8792) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 8826) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 8855) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 8875) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8933) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 9448) | function done( status, nativeStatusText, responses, headers ) {
FILE: tests/vendor/jquery-4.0.0-beta.2.js
function toType (line 65) | function toType( obj ) {
function isWindow (line 75) | function isWindow( obj ) {
function isArrayLike (line 79) | function isArrayLike( obj ) {
function DOMEval (line 101) | function DOMEval( code, node, doc ) {
function nodeName (line 522) | function nodeName( elem, name ) {
function createCache (line 611) | function createCache() {
function testContext (line 633) | function testContext( context ) {
function unescapeSelector (line 697) | function unescapeSelector( sel ) {
function selectorError (line 701) | function selectorError( msg ) {
function tokenize (line 709) | function tokenize( selector, parseOnly ) {
function toSelector (line 864) | function toSelector( tokens ) {
function access (line 876) | function access( elems, fn, key, value, chainable, emptyGet, raw ) {
function fcssescape (line 1044) | function fcssescape( ch, asCodePoint ) {
function sortOrder (line 1071) | function sortOrder( a, b ) {
function find (line 1209) | function find( selector, context, results, seed ) {
function markFunction (line 1340) | function markFunction( fn ) {
function createInputPseudo (line 1349) | function createInputPseudo( type ) {
function createButtonPseudo (line 1359) | function createButtonPseudo( type ) {
function createDisabledPseudo (line 1370) | function createDisabledPseudo( disabled ) {
function createPositionalPseudo (line 1425) | function createPositionalPseudo( fn ) {
function setDocument (line 1447) | function setDocument( node ) {
function setFilters (line 1975) | function setFilters() {}
function addCombinator (line 1979) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2041) | function elementMatcher( matchers ) {
function multipleContexts (line 2055) | function multipleContexts( selector, contexts, results ) {
function condense (line 2064) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2085) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2184) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2252) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function compile (line 2374) | function compile( selector, match /* Internal Use Only */ ) {
function select (line 2415) | function select( selector, context, results, seed ) {
function dir (line 2503) | function dir( elem, dir, until ) {
function siblings (line 2518) | function siblings( n, elem ) {
function isObviousHtml (line 2536) | function isObviousHtml( input ) {
function winnow (line 2543) | function winnow( elements, qualifier, not ) {
function sibling (line 2836) | function sibling( cur, dir ) {
function createOptions (line 2926) | function createOptions( options ) {
function Identity (line 3150) | function Identity( v ) {
function Thrower (line 3153) | function Thrower( ex ) {
function adoptValue (line 3157) | function adoptValue( value, resolve, reject, noValue ) {
function resolve (line 3248) | function resolve( depth, deferred, handler, special ) {
function completed (line 3611) | function completed() {
function fcamelCase (line 3637) | function fcamelCase( _all, letter ) {
function camelCase (line 3642) | function camelCase( string ) {
function acceptData (line 3649) | function acceptData( owner ) {
function Data (line 3660) | function Data() {
function getData (line 3828) | function getData( data ) {
function dataAttr (line 3853) | function dataAttr( elem, key, data ) {
function isHiddenWithinTree (line 4130) | function isHiddenWithinTree( elem, el ) {
function isAutoPx (line 4167) | function isAutoPx( prop ) {
function adjustCSS (line 4176) | function adjustCSS( elem, prop, valueParts, tween ) {
function cssCamelCase (line 4248) | function cssCamelCase( string ) {
function getDefaultDisplay (line 4254) | function getDefaultDisplay( elem ) {
function showHide (line 4277) | function showHide( elements, show ) {
function getAll (line 4383) | function getAll( context, tag ) {
function setGlobalEval (line 4409) | function setGlobalEval( elems, refElements ) {
function buildFragment (line 4424) | function buildFragment( elems, context, scripts, selection, ignored ) {
function disableScript (line 4510) | function disableScript( elem ) {
function restoreScript (line 4514) | function restoreScript( elem ) {
function domManip (line 4524) | function domManip( collection, args, callback, ignored ) {
function returnTrue (line 4613) | function returnTrue() {
function returnFalse (line 4617) | function returnFalse() {
function on (line 4621) | function on( elem, types, selector, data, fn, one ) {
function leverageNative (line 5101) | function leverageNative( el, type, isSetup ) {
function focusMappedHandler (line 5330) | function focusMappedHandler( nativeEvent ) {
function manipulationTarget (line 5479) | function manipulationTarget( elem, content ) {
function cloneCopyEvent (line 5489) | function cloneCopyEvent( src, dest ) {
function remove (line 5513) | function remove( elem, selector, keepData ) {
function getStyles (line 5791) | function getStyles( elem ) {
function swap (line 5808) | function swap( elem, options, callback ) {
function curCSS (line 5828) | function curCSS( elem, name, computed ) {
function vendorPropName (line 5891) | function vendorPropName( name ) {
function finalPropName (line 5906) | function finalPropName( name ) {
function setPositiveNumber (line 5992) | function setPositiveNumber( _elem, value, subtract ) {
function boxModelAdjustment (line 6004) | function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, ...
function getWidthOrHeight (line 6075) | function getWidthOrHeight( elem, dimension, extra ) {
function Tween (line 6379) | function Tween( elem, options, prop, end, easing ) {
function schedule (line 6489) | function schedule() {
function createFxNow (line 6502) | function createFxNow() {
function genFx (line 6510) | function genFx( type, includeWidth ) {
function createTween (line 6530) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 6544) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 6712) | function propFilter( props, specialEasing ) {
function Animation (line 6749) | function Animation( elem, properties, options ) {
function stripAndCollapse (line 7297) | function stripAndCollapse( value ) {
function getClass (line 7302) | function getClass( elem ) {
function classesToArray (line 7306) | function classesToArray( value ) {
function buildParams (line 7838) | function buildParams( prefix, obj, traditional, add ) {
function addToPrefiltersOrTransports (line 7990) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 8024) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 8053) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 8073) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8131) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 8653) | function done( status, nativeStatusText, responses, headers ) {
function canUseScriptTag (line 9023) | function canUseScriptTag( s ) {
FILE: tests/vendor/jquery.mockjax-2.7.0-beta.0.js
function parseXML (line 45) | function parseXML(xml) {
function isMockDataEqual (line 77) | function isMockDataEqual( mock, live ) {
function getQueryParams (line 120) | function getQueryParams(queryString) {
function isDefaultSetting (line 155) | function isDefaultSetting(handler, property) {
function getMockForRequest (line 160) | function getMockForRequest( handler, requestSettings ) {
function isPosNum (line 241) | function isPosNum(value) {
function parseResponseTimeOpt (line 245) | function parseResponseTimeOpt(responseTime) {
function _xhrSend (line 259) | function _xhrSend(mockHandler, requestSettings, origSettings) {
function xhr (line 384) | function xhr(mockHandler, requestSettings, origSettings, origHandler) {
function processJsonpMock (line 443) | function processJsonpMock( requestSettings, mockHandler, origSettings ) {
function processJsonpUrl (line 477) | function processJsonpUrl( requestSettings ) {
function processJsonpRequest (line 489) | function processJsonpRequest( requestSettings, mockHandler, origSettings...
function completeJsonpCall (line 538) | function completeJsonpCall( requestSettings, mockHandler, callbackContex...
function createJsonpCallback (line 559) | function createJsonpCallback( requestSettings, mockHandler, origSettings...
function jsonpSuccess (line 586) | function jsonpSuccess(requestSettings, callbackContext, mockHandler) {
function jsonpComplete (line 599) | function jsonpComplete(requestSettings, callbackContext) {
function handleAjax (line 620) | function handleAjax( url, origSettings ) {
function copyUrlParameters (line 772) | function copyUrlParameters(mockHandler, origSettings) {
function clearByUrl (line 806) | function clearByUrl(url) {
FILE: tests/vendor/qunit-2.22.0.js
function _arrayLikeToArray (line 12) | function _arrayLikeToArray(r, a) {
function _arrayWithHoles (line 17) | function _arrayWithHoles(r) {
function _arrayWithoutHoles (line 20) | function _arrayWithoutHoles(r) {
function _classCallCheck (line 23) | function _classCallCheck(a, n) {
function _defineProperties (line 26) | function _defineProperties(e, r) {
function _createClass (line 32) | function _createClass(e, r, t) {
function _createForOfIteratorHelper (line 37) | function _createForOfIteratorHelper(r, e) {
function _iterableToArray (line 85) | function _iterableToArray(r) {
function _iterableToArrayLimit (line 88) | function _iterableToArrayLimit(r, l) {
function _nonIterableRest (line 115) | function _nonIterableRest() {
function _nonIterableSpread (line 118) | function _nonIterableSpread() {
function _slicedToArray (line 121) | function _slicedToArray(r, e) {
function _toConsumableArray (line 124) | function _toConsumableArray(r) {
function _toPrimitive (line 127) | function _toPrimitive(t, r) {
function _toPropertyKey (line 137) | function _toPropertyKey(t) {
function _typeof (line 141) | function _typeof(o) {
function _unsupportedIterableToArray (line 150) | function _unsupportedIterableToArray(r, a) {
function getGlobalThis (line 173) | function getGlobalThis() {
method size (line 287) | get size() {
function diff$1 (line 301) | function diff$1(a, b) {
function objectValues (line 329) | function objectValues(obj) {
function objectValuesSubset (line 349) | function objectValuesSubset(obj, model) {
function extend (line 368) | function extend(a, b, undefOnly) {
function objectType (line 380) | function objectType(obj) {
function is (line 413) | function is(type, obj) {
function generateHash (line 419) | function generateHash(module, testName) {
function errorString (line 442) | function errorString(error) {
function escapeText (line 455) | function escapeText(str) {
function useStrictEquality (line 484) | function useStrictEquality(a, b) {
function useObjectValueEquality (line 487) | function useObjectValueEquality(a, b) {
function compareConstructors (line 490) | function compareConstructors(a, b) {
function getConstructor (line 494) | function getConstructor(obj) {
function getRegExpFlags (line 505) | function getRegExpFlags(regexp) {
function typeEquiv (line 694) | function typeEquiv(a, b) {
function innerEquiv (line 708) | function innerEquiv(a, b) {
function equiv (line 721) | function equiv(a, b) {
function readFlatPreconfigBoolean (line 861) | function readFlatPreconfigBoolean(val, dest) {
function readFlatPreconfigNumber (line 866) | function readFlatPreconfigNumber(val, dest) {
function readFlatPreconfigString (line 871) | function readFlatPreconfigString(val, dest) {
function readFlatPreconfigStringArray (line 876) | function readFlatPreconfigStringArray(val, dest) {
function readFlatPreconfig (line 881) | function readFlatPreconfig(obj) {
function quote (line 919) | function quote(str) {
function literal (line 922) | function literal(o) {
function join (line 925) | function join(pre, arr, post) {
function array (line 937) | function array(arr, stack) {
function isArray (line 950) | function isArray(obj) {
function SuiteReport (line 1176) | function SuiteReport(name, parentSuite) {
function isParentModuleInQueue (line 1294) | function isParentModuleInQueue() {
function createModule (line 1304) | function createModule(name, testEnvironment, modifiers) {
function setHookFromEnvironment (line 1348) | function setHookFromEnvironment(hooks, environment, name) {
function makeSetHook (line 1355) | function makeSetHook(module, hookName) {
function processModule (line 1363) | function processModule(name, options, scope) {
function module$1 (line 1405) | function module$1(name, options, scope) {
function extractStacktrace (line 1492) | function extractStacktrace(e, offset) {
function sourceFromStacktrace (line 1516) | function sourceFromStacktrace(offset) {
function Assert (line 1532) | function Assert(testContext) {
function validateExpectedExceptionArgs (line 1904) | function validateExpectedExceptionArgs(expected, message, assertionMetho...
function validateException (line 1925) | function validateException(actual, expected, message) {
function emit (line 1989) | function emit(eventName, data) {
function on (line 2011) | function on(eventName, callback) {
function commonjsRequire (line 2032) | function commonjsRequire (path) {
function finallyConstructor (line 2072) | function finallyConstructor(callback) {
function allSettled (line 2087) | function allSettled(arr) {
function isArray (line 2131) | function isArray(x) {
function noop (line 2134) | function noop() {}
function bind (line 2137) | function bind(fn, thisArg) {
function Promise (line 2147) | function Promise(fn) {
function handle (line 2160) | function handle(self, deferred) {
function resolve (line 2185) | function resolve(self, newValue) {
function reject (line 2208) | function reject(self, newValue) {
function finale (line 2213) | function finale(self) {
function Handler (line 2230) | function Handler(onFulfilled, onRejected, promise) {
function doResolve (line 2242) | function doResolve(fn, self) {
function res (line 2278) | function res(i, val) {
function registerLoggingCallbacks (line 2350) | function registerLoggingCallbacks(obj) {
function runLoggingCallbacks (line 2370) | function runLoggingCallbacks(key, args) {
function TestReport (line 2395) | function TestReport(name, suite, options) {
function Test (line 2486) | function Test(settings) {
function getNotStartedModules (line 2585) | function getNotStartedModules(startModule) {
method stack (line 2601) | get stack() {
function runTest (line 2661) | function runTest(test) {
function processGlobalhooks (line 2741) | function processGlobalhooks(test) {
function processHooks (line 2748) | function processHooks(test, module) {
method source (line 2863) | get source() {
function logSuiteEnd (line 2888) | function logSuiteEnd(module) {
function runTest (line 2927) | function runTest() {
function release (line 3090) | function release() {
function moduleChainIdMatch (line 3177) | function moduleChainIdMatch(testModule, selectedId) {
function moduleChainNameMatch (line 3189) | function moduleChainNameMatch(testModule, selectedModule) {
function pushFailure (line 3237) | function pushFailure() {
function saveGlobal (line 3246) | function saveGlobal() {
function checkPollution (line 3260) | function checkPollution() {
function addTest (line 3274) | function addTest(settings) {
function addOnlyTest (line 3281) | function addOnlyTest(settings) {
function test (line 3294) | function test(testName, callback) {
function makeEachTestName (line 3300) | function makeEachTestName(testName, argument) {
function runEach (line 3303) | function runEach(data, eachFn) {
function internalRecover (line 3401) | function internalRecover(test) {
function internalStart (line 3410) | function internalStart(test) {
function collectTests (line 3433) | function collectTests(module) {
function allTestsExecuted (line 3449) | function allTestsExecuted(module) {
function lastTestWithinModuleExecuted (line 3458) | function lastTestWithinModuleExecuted(module) {
function incrementTestsRun (line 3463) | function incrementTestsRun(module) {
function incrementTestsIgnored (line 3469) | function incrementTestsIgnored(module) {
function exportQUnit (line 3477) | function exportQUnit(QUnit) {
function ConsoleReporter (line 3520) | function ConsoleReporter(runner) {
function PerfReporter (line 3593) | function PerfReporter(runner) {
function run (line 3694) | function run(arr, str) {
function chain (line 3709) | function chain(has, keys) {
function init (line 3742) | function init(open, close) {
function prettyYamlValue (line 3791) | function prettyYamlValue(value) {
function decycledShallowClone (line 3878) | function decycledShallowClone(object) {
function TapReporter (line 3907) | function TapReporter(runner) {
function makeAddGlobalHook (line 4025) | function makeAddGlobalHook(hookName) {
function unitSamplerGenerator (line 4041) | function unitSamplerGenerator(seed) {
function ProcessingQueue (line 4061) | function ProcessingQueue(test) {
function onUncaughtException (line 4274) | function onUncaughtException(error) {
function onWindowError (line 4319) | function onWindowError(details) {
function DiffMatchPatch (line 4360) | function DiffMatchPatch() {}
function diffHalfMatchI (line 4702) | function diffHalfMatchI(longtext, shorttext, i) {
function diffLinesToCharsMunge (line 5163) | function diffLinesToCharsMunge(text) {
function diff (line 5330) | function diff(o, n) {
function scheduleBegin (line 5460) | function scheduleBegin() {
function unblockAndAdvanceQueue (line 5472) | function unblockAndAdvanceQueue() {
function begin (line 5476) | function begin() {
function storeFixture (line 5522) | function storeFixture() {
function resetFixture (line 5536) | function resetFixture() {
function getUrlParams (line 5610) | function getUrlParams() {
function decodeQueryParam (line 5630) | function decodeQueryParam(param) {
function fuzzysortNew (line 5641) | function fuzzysortNew(instanceOptions) {
function cleanup (line 6299) | function cleanup() {
function defaultScoreFn (line 6305) | function defaultScoreFn(a) {
function getValue (line 6320) | function getValue(obj, prop) {
function isObj (line 6330) | function isObj(x) {
function n (line 6339) | function n() {
function trim (line 6401) | function trim(string) {
function addEvent (line 6408) | function addEvent(elem, type, fn) {
function removeEvent (line 6411) | function removeEvent(elem, type, fn) {
function addEvents (line 6414) | function addEvents(elems, type, fn) {
function hasClass (line 6420) | function hasClass(elem, name) {
function addClass (line 6423) | function addClass(elem, name) {
function toggleClass (line 6428) | function toggleClass(elem, name, force) {
function removeClass (line 6435) | function removeClass(elem, name) {
function id (line 6446) | function id(name) {
function abortTests (line 6449) | function abortTests() {
function interceptNavigation (line 6458) | function interceptNavigation(ev) {
function getUrlConfigHtml (line 6468) | function getUrlConfigHtml() {
function toolbarChanged (line 6511) | function toolbarChanged() {
function setUrl (line 6566) | function setUrl(params) {
function applyUrlParams (line 6587) | function applyUrlParams() {
function toolbarUrlConfigContainer (line 6597) | function toolbarUrlConfigContainer() {
function abortTestsButton (line 6605) | function abortTestsButton() {
function toolbarLooseFilter (line 6612) | function toolbarLooseFilter() {
function createModuleListItem (line 6631) | function createModuleListItem(moduleId, name, checked) {
function moduleListHtml (line 6639) | function moduleListHtml(results) {
function toolbarModuleFilter (line 6655) | function toolbarModuleFilter(beginDetails) {
function appendToolbar (line 6836) | function appendToolbar(beginDetails) {
function appendHeader (line 6850) | function appendHeader() {
function appendBanner (line 6856) | function appendBanner() {
function appendTestResults (line 6862) | function appendTestResults() {
function appendFilteredTest (line 6882) | function appendFilteredTest() {
function appendUserAgent (line 6889) | function appendUserAgent() {
function appendInterface (line 6896) | function appendInterface(beginDetails) {
function appendTest (line 6920) | function appendTest(name, testId, moduleName) {
function getRerunFailedHtml (line 6961) | function getRerunFailedHtml(failedTests) {
function getNameHtml (line 7016) | function getNameHtml(name, module) {
function getProgressHtml (line 7024) | function getProgressHtml(stats) {
function stripHtml (line 7037) | function stripHtml(string) {
Condensed preview — 606 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,231K chars).
[
{
"path": ".editorconfig",
"chars": 66,
"preview": "[*]\nindent_style = space\nend_of_line = lf\n\n[*.js]\nindent_size = 2\n"
},
{
"path": ".github/CONTRIBUTING.md",
"chars": 11576,
"preview": "# Guidelines for Getting Help with Select2\n\n**Before** you open a new issue, you must **read these guidelines.** If it "
},
{
"path": ".github/FUNDING.yml",
"chars": 45,
"preview": "github: kevin-brown\nopen_collective: select2\n"
},
{
"path": ".github/ISSUE_TEMPLATE.md",
"chars": 2426,
"preview": "\nSTOP!\n\nBefore you open an issue:\n\n1. Make sure that your issue is a BUG or FEATURE REQUEST. General usage and troubles"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 193,
"preview": "This pull request includes a\n\n- [ ] Bug fix\n- [ ] New feature\n- [ ] Translation\n\nThe following changes were made\n\n-\n-\n-\n"
},
{
"path": ".github/stale.yml",
"chars": 769,
"preview": "# Number of days of inactivity before an issue becomes stale\ndaysUntilStale: 60\n# Number of days of inactivity before a "
},
{
"path": ".github/workflows/docs-deploy.yml",
"chars": 702,
"preview": "name: Documentation Deployment\n\non: release\n\njobs:\n grav:\n name: Deploy Grav\n runs-on: ubuntu-latest\n steps:\n "
},
{
"path": ".github/workflows/main.yml",
"chars": 1206,
"preview": "name: CI\n\non: [push, pull_request]\n\njobs:\n linting:\n name: Linting\n runs-on: ubuntu-latest\n steps:\n - use"
},
{
"path": ".github/workflows/package-deploy.yml",
"chars": 1683,
"preview": "name: Package Deployment\n\non:\n push:\n branches:\n - develop\n - master\n release: ~\n\njobs:\n deploy_github:\n"
},
{
"path": ".gitignore",
"chars": 48,
"preview": "node_modules\ndist/js/i18n/build.txt\n.sass-cache\n"
},
{
"path": ".jshintignore",
"chars": 74,
"preview": "src/js/banner.*.js\nsrc/js/wrapper.*.js\ntests/vendor/*.js\ntests/helpers.js\n"
},
{
"path": ".jshintrc",
"chars": 377,
"preview": "{\n \"bitwise\": true,\n \"camelcase\": true,\n \"curly\": true,\n \"es3\": true,\n \"eqnull\": true,\n \"freeze\": true,\n \"globals"
},
{
"path": "CHANGELOG.md",
"chars": 28530,
"preview": "# Change Log\n\n## 4.1.0 (unreleased)\n\n### Breaking changes\n\n* The minimum jQuery version supported is the latest version "
},
{
"path": "Gruntfile.js",
"chars": 5928,
"preview": "const sass = require('sass');\n\nmodule.exports = function (grunt) {\n // Full list of files that must be included by Requ"
},
{
"path": "LICENSE.md",
"chars": 1124,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors\n\nPermission is hereb"
},
{
"path": "README.md",
"chars": 7524,
"preview": "Select2\n=======\n![Build Status][github-actions-image]\n[{if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ar.js",
"chars": 821,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/az.js",
"chars": 702,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/bg.js",
"chars": 825,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/bn.js",
"chars": 887,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/bs.js",
"chars": 959,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ca.js",
"chars": 893,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/cs.js",
"chars": 1232,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/da.js",
"chars": 824,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/de.js",
"chars": 946,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/dsb.js",
"chars": 999,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/el.js",
"chars": 956,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/en.js",
"chars": 921,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/eo.js",
"chars": 862,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/es.js",
"chars": 1001,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/et.js",
"chars": 797,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/eu.js",
"chars": 868,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/fa.js",
"chars": 839,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/fi.js",
"chars": 793,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/fr.js",
"chars": 999,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/gl.js",
"chars": 918,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/he.js",
"chars": 850,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/hi.js",
"chars": 847,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/hr.js",
"chars": 850,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/hsb.js",
"chars": 996,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/hu.js",
"chars": 897,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/hy.js",
"chars": 831,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/id.js",
"chars": 849,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/is.js",
"chars": 789,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/it.js",
"chars": 977,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ja.js",
"chars": 694,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ka.js",
"chars": 821,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/km.js",
"chars": 780,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ko.js",
"chars": 711,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/lb.js",
"chars": 917,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/lt.js",
"chars": 930,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/lv.js",
"chars": 886,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/mk.js",
"chars": 878,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ms.js",
"chars": 811,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/nb.js",
"chars": 777,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ne.js",
"chars": 907,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/nl.js",
"chars": 902,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/pa.js",
"chars": 969,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/pl.js",
"chars": 1011,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ps.js",
"chars": 893,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/pt-BR.js",
"chars": 951,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/pt.js",
"chars": 957,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ro.js",
"chars": 921,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ru.js",
"chars": 1068,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/sk.js",
"chars": 1260,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/sl.js",
"chars": 915,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/sq.js",
"chars": 890,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/sr-Cyrl.js",
"chars": 960,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/sr.js",
"chars": 957,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/sv.js",
"chars": 781,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/te.js",
"chars": 924,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/th.js",
"chars": 770,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/tk.js",
"chars": 753,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/tr.js",
"chars": 843,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/ug.js",
"chars": 889,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/uk.js",
"chars": 957,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/vi.js",
"chars": 736,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/zh-CN.js",
"chars": 666,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/i18n/zh-TW.js",
"chars": 700,
"preview": "/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n\n!function(){if(jQuery&&jQuery.fn&"
},
{
"path": "dist/js/select2.full.js",
"chars": 167880,
"preview": "/*!\n * Select2 4.1.0-rc.0\n * https://select2.github.io\n *\n * Released under the MIT license\n * https://github.com/select"
},
{
"path": "dist/js/select2.js",
"chars": 157729,
"preview": "/*!\n * Select2 4.1.0-rc.0\n * https://select2.github.io\n *\n * Released under the MIT license\n * https://github.com/select"
},
{
"path": "docs/LICENSE.md",
"chars": 18646,
"preview": "Attribution 4.0 International\n\n=======================================================================\n\nCreative Commons"
},
{
"path": "docs/README.md",
"chars": 1837,
"preview": "# select2.org\n\nhttps://select2.org\n\nThis is the repository for the documentation for Select2. It is built with the flat"
},
{
"path": "docs/accounts/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "docs/blueprints.yaml",
"chars": 523,
"preview": "name: RTFM Site\nversion: 1.0.2\ndescription: \"RTFM is a sample documentation site using the `learn2` theme. This skeleto"
},
{
"path": "docs/config/plugins/anchors.yaml",
"chars": 52,
"preview": "selectors: '#body h2, #body h3, #body h4, #body h5'\n"
},
{
"path": "docs/config/plugins/highlight.yaml",
"chars": 13,
"preview": "theme: learn\n"
},
{
"path": "docs/config/plugins/simplesearch.yaml",
"chars": 108,
"preview": "enabled: true\nbuilt_in_css: false\nroute: /search\ntemplate: simplesearch_results\nfilters:\n category: docs\n"
},
{
"path": "docs/config/site.yaml",
"chars": 340,
"preview": "title: Select2 - The jQuery replacement for select boxes \nmetadata:\n description: Select2 is a jQuery based replaceme"
},
{
"path": "docs/config/system.yaml",
"chars": 467,
"preview": "home:\n alias: '/getting-started'\n\npages:\n theme: site\n markdown_extra: true\n process:\n markdown: true\n twig: f"
},
{
"path": "docs/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "docs/localhost/config/security.yaml",
"chars": 21,
"preview": "salt: dc7HfDXRG0WT48\n"
},
{
"path": "docs/localhost/config/system.yaml",
"chars": 114,
"preview": "assets:\n css_pipeline: false\n js_pipeline: false\n\ntwig:\n cache: true\n debug: true\n\ndebugger:\n enabled: false\n"
},
{
"path": "docs/pages/01.getting-started/01.installation/docs.md",
"chars": 2213,
"preview": "---\ntitle: Installation\ntaxonomy:\n category: docs\n---\n\nIn order to use Select2, you must include the compiled JavaScr"
},
{
"path": "docs/pages/01.getting-started/02.basic-usage/docs.md",
"chars": 2958,
"preview": "---\ntitle: Basic usage\ntaxonomy:\n category: docs\nprocess:\n twig: true\nnever_cache_twig: true\n---\n\n## Single select"
},
{
"path": "docs/pages/01.getting-started/03.builds-and-modules/docs.md",
"chars": 3198,
"preview": "---\ntitle: Builds and modules\ntaxonomy:\n category: docs\nprocess:\n twig: true\n---\n\n## The different Select2 builds\n"
},
{
"path": "docs/pages/01.getting-started/chapter.md",
"chars": 2696,
"preview": "---\ntitle: Getting Started\ntaxonomy:\n category: docs\nprocess:\n twig: true\ntwig_first: true\n---\n\n\nmetadata:\n description: Select2 provides extensive support for populating dropdown item"
},
{
"path": "docs/pages/06.data-sources/03.arrays/docs.md",
"chars": 1688,
"preview": "---\ntitle: Arrays\ntaxonomy:\n category: docs\nprocess:\n twig: true\nnever_cache_twig: true\n---\n\n## Loading array data"
},
{
"path": "docs/pages/06.data-sources/chapter.md",
"chars": 274,
"preview": "---\ntitle: Data sources\ntaxonomy:\n category: docs\n---\n\n# Data sources\n\nIn addition to handling `<option>` elements th"
},
{
"path": "docs/pages/07.dropdown/docs.md",
"chars": 5282,
"preview": "---\ntitle: Dropdown\ntaxonomy:\n category: docs\nprocess:\n twig: true\nnever_cache_twig: true\n---\n\nThis chapter covers"
},
{
"path": "docs/pages/08.selections/docs.md",
"chars": 3252,
"preview": "---\ntitle: Selections\ntaxonomy:\n category: docs\nprocess:\n twig: true\nnever_cache_twig: true\n---\n\nWhen an option is"
},
{
"path": "docs/pages/09.tagging/docs.md",
"chars": 3735,
"preview": "---\ntitle: Dynamic option creation\ntaxonomy:\n category: docs\nprocess:\n twig: true\nnever_cache_twig: true\n---\n\nIn a"
},
{
"path": "docs/pages/10.placeholders/docs.md",
"chars": 4065,
"preview": "---\ntitle: Placeholders\ntaxonomy:\n category: docs\nprocess:\n twig: true\nnever_cache_twig: true\n---\n\nSelect2 support"
},
{
"path": "docs/pages/11.searching/docs.md",
"chars": 6752,
"preview": "---\ntitle: Search\ntaxonomy:\n category: docs\nprocess:\n twig: true\nnever_cache_twig: true\n---\n\nA search box is added"
},
{
"path": "docs/pages/12.programmatic-control/01.add-select-clear-items/docs.md",
"chars": 3891,
"preview": "---\ntitle: Add, select, or clear items\nmetadata:\n description: Programmatically adding, selecting, and clearing optio"
},
{
"path": "docs/pages/12.programmatic-control/02.retrieving-selections/docs.md",
"chars": 1729,
"preview": "---\ntitle: Retrieving selections\nmetadata:\n description: There are two ways to programmatically access the current se"
},
{
"path": "docs/pages/12.programmatic-control/03.methods/docs.md",
"chars": 4068,
"preview": "---\ntitle: Methods\nmetadata:\n description: Select2 has several built-in methods that allow programmatic control of th"
},
{
"path": "docs/pages/12.programmatic-control/04.events/docs.md",
"chars": 5745,
"preview": "---\ntitle: Events\nmetadata:\n description: Listening to Select2's built-in events, and manually triggering events on t"
},
{
"path": "docs/pages/12.programmatic-control/chapter.md",
"chars": 252,
"preview": "---\ntitle: Programmatic control\nmetadata:\n description: Programmatically adding and selecting items, getting the curr"
},
{
"path": "docs/pages/13.i18n/docs.md",
"chars": 3481,
"preview": "---\ntitle: Internationalization\ntaxonomy:\n category: docs\nprocess:\n twig: true\nnever_cache_twig: true\n---\n\n{% do a"
},
{
"path": "docs/pages/14.advanced/01.adapters-and-decorators/docs.md",
"chars": 6050,
"preview": "---\ntitle: Adapters and Decorators\ntaxonomy:\n category: docs\n---\n\nStarting in version 4.0, Select2 uses the [Adapter "
},
{
"path": "docs/pages/14.advanced/02.default-adapters/01.selection/docs.md",
"chars": 1144,
"preview": "---\ntitle: Selection\ntaxonomy:\n category: docs\n---\n\nSelect2 provides the `SingleSelection` and `MultipleSelection` ad"
},
{
"path": "docs/pages/14.advanced/02.default-adapters/02.array/docs.md",
"chars": 209,
"preview": "---\ntitle: Array\ntaxonomy:\n category: docs\n---\n\nThe `ArrayAdapter` implements support for creating results based on a"
},
{
"path": "docs/pages/14.advanced/02.default-adapters/03.ajax/docs.md",
"chars": 215,
"preview": "---\ntitle: Ajax\ntaxonomy:\n category: docs\n---\n\nThe `AjaxAdapter` implements support for creating results [from remote"
},
{
"path": "docs/pages/14.advanced/02.default-adapters/04.data/docs.md",
"chars": 2113,
"preview": "---\ntitle: SelectAdapter\ntaxonomy:\n category: docs\n---\n\nSelect2 provides the `SelectAdapter` as a default implementat"
},
{
"path": "docs/pages/14.advanced/02.default-adapters/05.results/docs.md",
"chars": 706,
"preview": "---\ntitle: Results\ntaxonomy:\n category: docs\n---\n\nThe `ResultsAdapter` controls the list of results that the user can"
},
{
"path": "docs/pages/14.advanced/02.default-adapters/06.dropdown/docs.md",
"chars": 1756,
"preview": "---\ntitle: Dropdown\ntaxonomy:\n category: docs\n---\n\nThe dropdown adapter defines the main container that the dropdown "
},
{
"path": "docs/pages/14.advanced/02.default-adapters/docs.md",
"chars": 187,
"preview": "---\ntitle: Built-in adapters\ntaxonomy:\n category: docs\n---\n\nThis section describes the built-in adapters for Select2,"
},
{
"path": "docs/pages/14.advanced/chapter.md",
"chars": 94,
"preview": "---\ntitle: Advanced\ntaxonomy:\n category: docs\n---\n\n# Advanced Features and Developer Guide\n"
},
{
"path": "docs/pages/15.upgrading/01.new-in-40/docs.md",
"chars": 2892,
"preview": "---\ntitle: What's new in 4.0\ntaxonomy:\n category: docs\n---\n\nThe 4.0 release of Select2 is the result of three years o"
},
{
"path": "docs/pages/15.upgrading/02.migrating-from-35/docs.md",
"chars": 19587,
"preview": "---\ntitle: Migrating from Select2 3.5\ntaxonomy:\n category: docs\n---\n\nSelect2 offers limited backwards compatibility w"
},
{
"path": "docs/pages/15.upgrading/chapter.md",
"chars": 75,
"preview": "---\ntitle: Upgrading\ntaxonomy:\n category: docs\n---\n\n# Upgrading Select2\n"
},
{
"path": "docs/plugins/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "docs/plugins/anchors/CHANGELOG.md",
"chars": 541,
"preview": "# v1.5.1\n## 07/14/2016\n\n1. [](#improved)\n * Translate some blueprint options\n\n# v1.5.0\n## 01/06/2016\n\n1. [](#improved"
},
{
"path": "docs/plugins/anchors/LICENSE",
"chars": 1071,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Grav\n\nPermission is hereby granted, free of charge, to any person obtaining a "
},
{
"path": "docs/plugins/anchors/README.md",
"chars": 3135,
"preview": "# Grav Anchors Plugin\n\n\n`anchors` is a [Grav](http://github.com/getgrav/grav) plugin that provides automatic header anch"
},
{
"path": "docs/plugins/anchors/anchors.php",
"chars": 2566,
"preview": "<?php\nnamespace Grav\\Plugin;\n\nuse \\Grav\\Common\\Plugin;\nuse \\Grav\\Common\\Grav;\nuse \\Grav\\Common\\Page\\Page;\n\nclass Anchors"
},
{
"path": "docs/plugins/anchors/anchors.yaml",
"chars": 629,
"preview": "enabled: true # enable or disable the plugin\nactive: true # active by default, if false"
},
{
"path": "docs/plugins/anchors/blueprints.yaml",
"chars": 2178,
"preview": "name: Anchors\nversion: 1.5.1\ndescription: \"This plugin provides automatic header anchors via the [anchorjs](http://bryan"
},
{
"path": "docs/plugins/breadcrumbs/CHANGELOG.md",
"chars": 800,
"preview": "# v1.5.1\n## xx/xx/2016\n\n1. [](#improved)\n * Removed Grav trait in favor of `Grav::instance()`\n\n# v1.5.0\n## 07/14/2016"
},
{
"path": "docs/plugins/breadcrumbs/LICENSE",
"chars": 1071,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Grav\n\nPermission is hereby granted, free of charge, to any person obtaining a "
},
{
"path": "docs/plugins/breadcrumbs/README.md",
"chars": 4458,
"preview": "# Grav Breadcrumbs Plugin\n\n\n\n`Breadcrumbs` is a [Grav](http://github.com/getgrav/grav"
},
{
"path": "docs/plugins/breadcrumbs/blueprints.yaml",
"chars": 1709,
"preview": "name: Breadcrumbs\nversion: 1.5.0\ndescription: The **Breadcrumbs** plugin provides a simple method to display the depth o"
},
{
"path": "docs/plugins/breadcrumbs/breadcrumbs.php",
"chars": 1312,
"preview": "<?php\nnamespace Grav\\Plugin;\n\nuse \\Grav\\Common\\Plugin;\n\nclass BreadcrumbsPlugin extends Plugin\n{\n /**\n * @return "
},
{
"path": "docs/plugins/breadcrumbs/breadcrumbs.yaml",
"chars": 144,
"preview": "enabled: true\nshow_all: true\nbuilt_in_css: true\ninclude_home: true\nicon_home: ''\nicon_divider_classes: 'fa fa-angle-righ"
},
{
"path": "docs/plugins/breadcrumbs/classes/breadcrumbs.php",
"chars": 1297,
"preview": "<?php\nnamespace Grav\\Plugin;\n\nuse Grav\\Common\\Grav;\n\nclass Breadcrumbs\n{\n\n /**\n * @var array\n */\n protecte"
},
{
"path": "docs/plugins/breadcrumbs/css/breadcrumbs.css",
"chars": 295,
"preview": "#breadcrumbs {\n height: 3rem;\n line-height: 3rem;\n padding-left: 3rem;\n}\n#breadcrumbs span {\n display: inlin"
},
{
"path": "docs/plugins/breadcrumbs/templates/partials/breadcrumbs.html.twig",
"chars": 1114,
"preview": "{% set crumbs = breadcrumbs.get() %}\n{% set breadcrumbs_config = config.plugins.breadcrumbs %}\n{% set divider = breadcru"
},
{
"path": "docs/plugins/error/CHANGELOG.md",
"chars": 1006,
"preview": "# v1.6.0\n## 10/19/2016\n\n1. [](#improved)\n * Added Croatian translation\n * Improved `autoescape: true` support\n1. ["
},
{
"path": "docs/plugins/error/LICENSE",
"chars": 1071,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Grav\n\nPermission is hereby granted, free of charge, to any person obtaining a "
},
{
"path": "docs/plugins/error/README.md",
"chars": 5189,
"preview": "# Grav Error Plugin\n\n\n\n`error` is a [Grav](http://github.com/getgrav/grav) Plugi"
},
{
"path": "docs/plugins/error/blueprints.yaml",
"chars": 678,
"preview": "name: Error\nversion: 1.6.0\ndescription: Displays the error page.\nicon: warning\nauthor:\n name: Team Grav\n email: devs@g"
},
{
"path": "docs/plugins/error/cli/LogCommand.php",
"chars": 3190,
"preview": "<?php\nnamespace Grav\\Plugin\\Console;\n\nuse Grav\\Console\\ConsoleCommand;\nuse Symfony\\Component\\Console\\Input\\InputArgument"
},
{
"path": "docs/plugins/error/error.php",
"chars": 1599,
"preview": "<?php\nnamespace Grav\\Plugin;\n\nuse Grav\\Common\\Plugin;\nuse Grav\\Common\\Grav;\nuse Grav\\Common\\Page\\Page;\nuse Grav\\Common\\P"
},
{
"path": "docs/plugins/error/error.yaml",
"chars": 38,
"preview": "enabled: true\nroutes:\n 404: '/error'\n"
},
{
"path": "docs/plugins/error/languages.yaml",
"chars": 1131,
"preview": "en:\n PLUGIN_ERROR:\n ERROR: \"Error\"\n ERROR_MESSAGE: \"Woops. Looks like this page doesn't exist.\"\nde:\n PLUGIN_ERRO"
},
{
"path": "docs/plugins/error/pages/error.md",
"chars": 189,
"preview": "---\ntitle: Page not Found\nrobots: noindex,nofollow\ntemplate: error\nroutable: false\nhttp_response_code: 404\ntwig_first: t"
},
{
"path": "docs/plugins/error/templates/error.html.twig",
"chars": 101,
"preview": "<h1>{{ 'PLUGIN_ERROR.ERROR'|t }} {{ header.http_response_code }}</h1>\n\n<p>{{ page.content|raw }}</p>\n"
},
{
"path": "docs/plugins/error/templates/error.json.twig",
"chars": 36,
"preview": "{{ page.content|json_encode()|raw }}"
},
{
"path": "docs/plugins/highlight/CHANGELOG.md",
"chars": 560,
"preview": "# v1.3.2\n## 05/xx/2017\n\n1. [](#new)\n * Added option for line numbers\n\n# v1.3.1\n## 07/14/2016\n\n1. [](#bugfix)\n * Fi"
},
{
"path": "docs/plugins/highlight/LICENSE",
"chars": 1071,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Grav\n\nPermission is hereby granted, free of charge, to any person obtaining a "
},
{
"path": "docs/plugins/highlight/README.md",
"chars": 7153,
"preview": "# Grav Highlight Plugin\n\n\n\n`highlight` is a [Grav](http://github.com/getgrav/grav) plug"
},
{
"path": "docs/plugins/highlight/blueprints.yaml",
"chars": 2601,
"preview": "name: Highlight\nversion: 1.3.2\ndescription: \"This plugin provides code highlighting functionality via the [Highlight.js]"
},
{
"path": "docs/plugins/highlight/css/agate.css",
"chars": 1276,
"preview": "/*!\n * Agate by Taufik Nurrohman <https://github.com/tovic>\n * ----------------------------------------------------\n *\n "
},
{
"path": "docs/plugins/highlight/css/androidstudio.css",
"chars": 774,
"preview": "/*\nDate: 24 Fev 2015\nAuthor: Pedro Oliveira <kanytu@gmail . com>\n*/\n\n.hljs {\n color: #a9b7c6;\n background: #282b2e;\n "
},
{
"path": "docs/plugins/highlight/css/arduino-light.css",
"chars": 1053,
"preview": "/*\n\nArduino® Light Theme - Stefania Mellai <s.mellai@arduino.cc>\n\n*/\n\n.hljs {\n display: block;\n overflow-x: auto;\n pa"
},
{
"path": "docs/plugins/highlight/css/arta.css",
"chars": 852,
"preview": "/*\nDate: 17.V.2011\nAuthor: pumbur <pumbur@pumbur.net>\n*/\n\n.hljs {\n display: block;\n overflow-x: auto;\n padding: 0.5em"
},
{
"path": "docs/plugins/highlight/css/ascetic.css",
"chars": 591,
"preview": "/*\n\nOriginal style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>\n\n*/\n\n.hljs {\n display: block"
},
{
"path": "docs/plugins/highlight/css/atelier-cave.dark.css",
"chars": 1926,
"preview": "/* Base16 Atelier Cave Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-sche"
},
{
"path": "docs/plugins/highlight/css/atelier-cave.light.css",
"chars": 1927,
"preview": "/* Base16 Atelier Cave Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-sch"
},
{
"path": "docs/plugins/highlight/css/atelier-dune.dark.css",
"chars": 1668,
"preview": "/* Base16 Atelier Dune Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-sche"
},
{
"path": "docs/plugins/highlight/css/atelier-dune.light.css",
"chars": 1669,
"preview": "/* Base16 Atelier Dune Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-sch"
},
{
"path": "docs/plugins/highlight/css/atelier-estuary.dark.css",
"chars": 1956,
"preview": "/* Base16 Atelier Estuary Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-s"
},
{
"path": "docs/plugins/highlight/css/atelier-estuary.light.css",
"chars": 1957,
"preview": "/* Base16 Atelier Estuary Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-"
},
{
"path": "docs/plugins/highlight/css/atelier-forest.dark.css",
"chars": 1688,
"preview": "/* Base16 Atelier Forest Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-sc"
},
{
"path": "docs/plugins/highlight/css/atelier-forest.light.css",
"chars": 1689,
"preview": "/* Base16 Atelier Forest Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-s"
},
{
"path": "docs/plugins/highlight/css/atelier-heath.dark.css",
"chars": 1678,
"preview": "/* Base16 Atelier Heath Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-sch"
},
{
"path": "docs/plugins/highlight/css/atelier-heath.light.css",
"chars": 1679,
"preview": "/* Base16 Atelier Heath Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-sc"
},
{
"path": "docs/plugins/highlight/css/atelier-lakeside.dark.css",
"chars": 1708,
"preview": "/* Base16 Atelier Lakeside Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-"
},
{
"path": "docs/plugins/highlight/css/atelier-lakeside.light.css",
"chars": 1709,
"preview": "/* Base16 Atelier Lakeside Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier"
},
{
"path": "docs/plugins/highlight/css/atelier-plateau.dark.css",
"chars": 1956,
"preview": "/* Base16 Atelier Plateau Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-s"
},
{
"path": "docs/plugins/highlight/css/atelier-plateau.light.css",
"chars": 1957,
"preview": "/* Base16 Atelier Plateau Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-"
},
{
"path": "docs/plugins/highlight/css/atelier-savanna.dark.css",
"chars": 1956,
"preview": "/* Base16 Atelier Savanna Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-s"
},
{
"path": "docs/plugins/highlight/css/atelier-savanna.light.css",
"chars": 1957,
"preview": "/* Base16 Atelier Savanna Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-"
},
{
"path": "docs/plugins/highlight/css/atelier-seaside.dark.css",
"chars": 1698,
"preview": "/* Base16 Atelier Seaside Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-s"
},
{
"path": "docs/plugins/highlight/css/atelier-seaside.light.css",
"chars": 1699,
"preview": "/* Base16 Atelier Seaside Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-"
},
{
"path": "docs/plugins/highlight/css/atelier-sulphurpool.dark.css",
"chars": 1738,
"preview": "/* Base16 Atelier Sulphurpool Dark - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/ateli"
},
{
"path": "docs/plugins/highlight/css/atelier-sulphurpool.light.css",
"chars": 1739,
"preview": "/* Base16 Atelier Sulphurpool Light - Theme */\n/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atel"
},
{
"path": "docs/plugins/highlight/css/brown-paper.css",
"chars": 842,
"preview": "/*\n\nBrown Paper style from goldblog.com.ua (c) Zaripov Yura <yur4ik7@ukr.net>\n\n*/\n\n.hljs {\n display: block;\n overflow-"
},
{
"path": "docs/plugins/highlight/css/codepen-embed.css",
"chars": 842,
"preview": "/*\n codepen.io Embed Theme\n Author: Justin Perry <http://github.com/ourmaninamsterdam>\n Original theme - https://gith"
},
{
"path": "docs/plugins/highlight/css/color-brewer.css",
"chars": 883,
"preview": "/*\n\nColorbrewer theme\nOriginal: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock <mike@ocks.org>\nPorted by"
},
{
"path": "docs/plugins/highlight/css/dark.css",
"chars": 794,
"preview": "/*\n\nDark style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>\n\n*/\n\n.hljs {\n display: block;\n "
},
{
"path": "docs/plugins/highlight/css/darkula.css",
"chars": 890,
"preview": "/*\n\nDarkula color scheme from the JetBrains family of IDEs\n\n*/\n\n\n.hljs {\n display: block;\n overflow-x: auto;\n padding"
},
{
"path": "docs/plugins/highlight/css/default.css",
"chars": 952,
"preview": "/*\n\nOriginal highlight.js style (c) Ivan Sagalaev <maniac@softwaremaniacs.org>\n\n*/\n\n.hljs {\n display: block;\n overflow"
}
]
// ... and 406 more files (download for full content)
About this extraction
This page contains the full source code of the select2/select2 GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 606 files (2.8 MB), approximately 773.5k tokens, and a symbol index with 807 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.