Getting the source for the tom-select JS plugin.

1. Clone the repo from github:

    https://github.com/orchidjs/tom-select.git

2. cd to the base project directory and build the project. This may require installing grunt and other dependencies.

    npm install
    npm run build

This will create a new dist directory.

3. Remove the sourceMappingURL line from the minified JS and CSS file.

The last line in tom-select.bootstrap5.css and tom-select.complete.min.js enables sourceMappingURL.
RT contains all of the source and an un-minified version of the JS, so we don't need to provide
maps files.

4. Apply customizations.

We have made a few changes to the tom-select files to work with RT. These are in
*.patch files in this tom-select directory. Currently these are input-focus-override.patch
and missing-caret.patch for tom-select.bootstrap5.css. The missing-caret.patch wraps
zero-valued defaults for --ts-pr-clear-button and --ts-pr-caret in calc() so that
CSS::Minifier::XS does not strip the unit. Without the unit, those variables
become unitless 0, and "0 + 0" inside the surrounding
max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) resolves
to a <number> rather than a <length>. max() then becomes type-invalid and the
padding-right declaration is dropped, so in production mode the select's text
overlaps the dropdown caret. If the patches don't apply using patch, you will
need to manually re-add the changes.

If a change in the tom-select code suggests the missing-caret patch is no longer
needed, test first by running the minifier and looking at the results. This issue
is not seen when running with DevelMode on.

5. Copy the following generated files to the RT directories shown.

    cp dist/css/tom-select.bootstrap5.css ~/rt-dir/share/static/css/elevator/
    cp dist/js/tom-select.complete.js ~/rt-dir/devel/third-party/tom-select/
    cp dist/js/tom-select.complete.min.js ~/rt-dir/share/static/js/
