├── .python-version ├── BootstrapAutocomplete.sublime-settings ├── CHANGELOG.md ├── LICENSE ├── README.md ├── boot.py ├── db ├── 2.json ├── 3.json ├── 4.json └── 5.json ├── dependencies.json ├── menus └── Main.sublime-menu ├── messages.json ├── messages ├── install.md └── update_message.md ├── plugin ├── __init__.py ├── completion.py ├── constant.py ├── data_types.py ├── listener.py ├── settings.py └── utils.py └── sublime-package.json /.python-version: -------------------------------------------------------------------------------- 1 | 3.8 2 | -------------------------------------------------------------------------------- /BootstrapAutocomplete.sublime-settings: -------------------------------------------------------------------------------- 1 | { 2 | // scopes that this plugin should activated 3 | "selectors": [ 4 | "text.html string.quoted - meta.path - meta.item-access", 5 | "text.html meta.attribute-with-value.class", 6 | ], 7 | // targeted Bootstrap versions (available versions are: "2", 3", "4", "5") 8 | "versions": ["5"], 9 | } 10 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # BootstrapAutocomplete Changelog 2 | 3 | ## 2.0.3 4 | 5 | - chore: remove unused `more-itertools` from `dependencies.json` 6 | - chore: set `maxsize` for `lru_cache` 7 | - perf: use `sublime.load_binary_resource` to load DB 8 | - refactor: replace `pydantic` with `dataclass` if no validation required 9 | 10 | ## 2.0.2 11 | 12 | - refactor: use `pydantic` 13 | 14 | ## 2.0.1 15 | 16 | - refactor: `scripts/extract_class_names.py` with `typer` 17 | - refactor: some internal refactoring 18 | 19 | ## 2.0.0 20 | 21 | - feat: use Bootstrap v5 by default 22 | 23 | ## 1.3.9 24 | 25 | - chore: tidy codes 26 | - chore: disable in PHP array key 27 | 28 | ## 1.3.8 29 | 30 | - chore: update db for 5.3.0-alpha3 31 | 32 | ## 1.3.7 33 | 34 | - chore: update db for 4.6.2 35 | 36 | ## 1.3.6 37 | 38 | - revert: refactor: tidy codes 39 | 40 | ## 1.3.5 41 | 42 | - refactor: tidy codes 43 | - chore: update db for 5.2.0-beta1 44 | - refactor: improve type annotations 45 | 46 | ## 1.3.4 47 | 48 | - refactor: simplify `boot.py` 49 | 50 | ## 1.3.3 51 | 52 | - fix: modules should be reloaded when update plugin 53 | - refactor: simplify codes 54 | 55 | ## 1.3.2 56 | 57 | - feat: add a script to download & parse all classes 58 | - refactor: split the db into corresponding versions 59 | 60 | ## 1.3.1 61 | 62 | - fix: plugin not working 63 | 64 | ## 1.3.0 65 | 66 | - feat: add support for Bootstrap `v2` 67 | - chore: update Bootstrap classes for `v3.4.1` and `v5.1.0` 68 | 69 | ## 1.2.7 70 | 71 | - fix: extract BS 5 classes from `bootstrap.css` 72 | - refactor: utilize `AioSettings` 73 | - refactor: allow `versions` like `"5"` if there is only a version used 74 | 75 | ```js 76 | { 77 | "versions": "5", 78 | } 79 | ``` 80 | 81 | ## 1.2.6 82 | 83 | - refactor: simplify codes 84 | 85 | ## 1.2.5 86 | 87 | - refactor: just some internal tidy codes 88 | 89 | ## 1.2.4 90 | 91 | - fix: selector cannot has nested groups 92 | 93 | Actually, I think this is a bug in ST core... 94 | 95 | ```py 96 | >>> sublime.score_selector('a b', '(a (b))') 97 | 0 98 | ``` 99 | 100 | ## 1.2.3 101 | 102 | - refactor: use singular filename 103 | 104 | ## 1.2.2 105 | 106 | - refactor: simplify codes 107 | 108 | ## 1.2.1 109 | 110 | - chore(ci): add tests 111 | 112 | ## 1.2.0 113 | 114 | - docs: add `CHANGELOG.md` 115 | - refactor: move py files into `plugin/` 116 | - refactor: split `functions.py` into `settings.py` and `completions.py` 117 | 118 | ## 1.1.0 119 | 120 | - feat: merge duplicate AC items for different versions 121 | 122 | ## 1.0.1 123 | 124 | - chore: rename `db.json` to `completion-db.json` 125 | - docs: update readme 126 | 127 | ## 1.0.0 128 | 129 | - init 130 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2024 Jack Cherng 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ST-BootstrapAutocomplete 2 | 3 | [![Required ST Build](https://img.shields.io/badge/ST-4105+-orange.svg?style=flat-square&logo=sublime-text)](https://www.sublimetext.com) 4 | [![GitHub Actions](https://img.shields.io/github/actions/workflow/status/jfcherng-sublime/ST-BootstrapAutocomplete/python.yml?branch=st4&style=flat-square)](https://github.com/jfcherng-sublime/ST-BootstrapAutocomplete/actions) 5 | [![Package Control](https://img.shields.io/packagecontrol/dt/BootstrapAutocomplete?style=flat-square)](https://packagecontrol.io/packages/BootstrapAutocomplete) 6 | [![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/jfcherng-sublime/ST-BootstrapAutocomplete?style=flat-square&logo=github)](https://github.com/jfcherng-sublime/ST-BootstrapAutocomplete/tags) 7 | [![Project license](https://img.shields.io/github/license/jfcherng-sublime/ST-BootstrapAutocomplete?style=flat-square&logo=github)](https://github.com/jfcherng-sublime/ST-BootstrapAutocomplete/blob/st4/LICENSE) 8 | [![GitHub stars](https://img.shields.io/github/stars/jfcherng-sublime/ST-BootstrapAutocomplete?style=flat-square&logo=github)](https://github.com/jfcherng-sublime/ST-BootstrapAutocomplete/stargazers) 9 | [![Donate to this project using Paypal](https://img.shields.io/badge/paypal-donate-blue.svg?style=flat-square&logo=paypal)](https://www.paypal.me/jfcherng/5usd) 10 | 11 | This Sublime Text **4** plugin means to unify other [Bootstrap](https://github.com/twbs/bootstrap) autocompletion plugins. 12 | 13 | - [Bootstrap 3 Autocomplete](https://packagecontrol.io/packages/Bootstrap%203%20Autocomplete) 14 | - [Bootstrap 4 Autocomplete](https://packagecontrol.io/packages/Bootstrap%204%20Autocomplete) 15 | - [Bootstrap 4x Autocomplete](https://packagecontrol.io/packages/Bootstrap%204x%20Autocomplete) 16 | - Maybe more implicit ones... 17 | 18 | This plugin is designed to support various versions of Bootstrap's autocompletion with ease. 19 | At this moment, it supports Bootstrap 2, 3, 4 and 5 (default). If you find a missing class name, 20 | an issue or pull request is always welcome. 21 | 22 | ![screenshot-st4](https://raw.githubusercontent.com/jfcherng-sublime/ST-BootstrapAutocomplete/st4/docs/screenshot-st4.png) 23 | 24 | ## Installation 25 | 26 | This package is available on Package Control by the name of [BootstrapAutocomplete](https://packagecontrol.io/packages/BootstrapAutocomplete). 27 | 28 | ## Global Settings 29 | 30 | From the main menu: `Preferences` » `BootstrapAutocomplete` » `Settings` 31 | 32 | ```js 33 | { 34 | // scopes that this plugin should activated 35 | "selectors": [ 36 | "text.html string.quoted - meta.path - meta.item-access", 37 | "text.html meta.attribute-with-value.class", 38 | ], 39 | // targeted Bootstrap versions (available versions are: "2", "3", "4", "5") 40 | "versions": ["5"], 41 | } 42 | ``` 43 | 44 | ## Project Settings 45 | 46 | You most likely want to use only a specific version of Bootstrap in a project. 47 | In that case, you can specify the version(s) you want to use in your project settings. 48 | 49 | From the main menu: `Project` » `Edit Project` 50 | 51 | ```js 52 | { 53 | "folders": 54 | [ 55 | // ... 56 | ], 57 | "settings": { 58 | // settings here will override global settings 59 | "BootstrapAutocomplete": { 60 | // use Bootstrap 4 for this project. 61 | "versions": ["4"], 62 | }, 63 | }, 64 | } 65 | ``` 66 | 67 | ## For Plugin Developers 68 | 69 | This plugin's autocompletion lists are extracted from 70 | 71 | - Official Bootstrap `v2.3.2` 72 | - Official Bootstrap `v3.4.1` 73 | - Official Bootstrap `v4.6.2` 74 | - Official Bootstrap `v5.3.4` 75 | 76 | with `scripts/extract_class_names_auto.sh`. 77 | 78 | ```bash 79 | # setup environment 80 | python -m venv .venv 81 | . .venv/Scripts/activate # if on Windows 82 | . .venv/bin/activate # if not on Windows 83 | python -m pip install -U -r requirements.txt 84 | 85 | # extract class names 86 | ./scripts/extract_class_names_auto.sh 87 | ``` 88 | -------------------------------------------------------------------------------- /boot.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | def reload_plugin() -> None: 5 | import sys 6 | 7 | # remove all previously loaded plugin modules 8 | prefix = f"{__package__}." 9 | for module_name in tuple(filter(lambda m: m.startswith(prefix) and m != __name__, sys.modules)): 10 | del sys.modules[module_name] 11 | 12 | 13 | reload_plugin() 14 | 15 | from .plugin import * # noqa: E402, F401, F403 16 | -------------------------------------------------------------------------------- /db/2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bootstrap", 3 | "version": "2", 4 | "classes": [ 5 | "accordion", 6 | "accordion-group", 7 | "accordion-heading", 8 | "accordion-inner", 9 | "accordion-toggle", 10 | "active", 11 | "add-on", 12 | "affix", 13 | "alert", 14 | "alert-block", 15 | "alert-danger", 16 | "alert-error", 17 | "alert-info", 18 | "alert-success", 19 | "apache", 20 | "arrow", 21 | "badge", 22 | "badge-important", 23 | "badge-info", 24 | "badge-inverse", 25 | "badge-success", 26 | "badge-warning", 27 | "bar", 28 | "bar-danger", 29 | "bar-info", 30 | "bar-success", 31 | "bar-warning", 32 | "bottom", 33 | "brand", 34 | "breadcrumb", 35 | "btn", 36 | "btn-block", 37 | "btn-danger", 38 | "btn-group", 39 | "btn-group-vertical", 40 | "btn-info", 41 | "btn-inverse", 42 | "btn-large", 43 | "btn-link", 44 | "btn-mini", 45 | "btn-navbar", 46 | "btn-primary", 47 | "btn-small", 48 | "btn-success", 49 | "btn-toolbar", 50 | "btn-warning", 51 | "caption", 52 | "caret", 53 | "carousel", 54 | "carousel-caption", 55 | "carousel-control", 56 | "carousel-indicators", 57 | "carousel-inner", 58 | "checkbox", 59 | "clearfix", 60 | "close", 61 | "collapse", 62 | "container", 63 | "container-fluid", 64 | "control-group", 65 | "control-label", 66 | "controls", 67 | "controls-row", 68 | "disabled", 69 | "divider", 70 | "divider-vertical", 71 | "dl-horizontal", 72 | "dropdown", 73 | "dropdown-backdrop", 74 | "dropdown-menu", 75 | "dropdown-submenu", 76 | "dropdown-toggle", 77 | "dropup", 78 | "error", 79 | "fade", 80 | "focused", 81 | "form-actions", 82 | "form-horizontal", 83 | "form-inline", 84 | "form-search", 85 | "google-maps", 86 | "help-block", 87 | "help-inline", 88 | "hero-unit", 89 | "hide", 90 | "hide-text", 91 | "icon-adjust", 92 | "icon-align-center", 93 | "icon-align-justify", 94 | "icon-align-left", 95 | "icon-align-right", 96 | "icon-arrow-down", 97 | "icon-arrow-left", 98 | "icon-arrow-right", 99 | "icon-arrow-up", 100 | "icon-asterisk", 101 | "icon-backward", 102 | "icon-ban-circle", 103 | "icon-bar", 104 | "icon-barcode", 105 | "icon-bell", 106 | "icon-bold", 107 | "icon-book", 108 | "icon-bookmark", 109 | "icon-briefcase", 110 | "icon-bullhorn", 111 | "icon-calendar", 112 | "icon-camera", 113 | "icon-certificate", 114 | "icon-check", 115 | "icon-chevron-down", 116 | "icon-chevron-left", 117 | "icon-chevron-right", 118 | "icon-chevron-up", 119 | "icon-circle-arrow-down", 120 | "icon-circle-arrow-left", 121 | "icon-circle-arrow-right", 122 | "icon-circle-arrow-up", 123 | "icon-cog", 124 | "icon-comment", 125 | "icon-download", 126 | "icon-download-alt", 127 | "icon-edit", 128 | "icon-eject", 129 | "icon-envelope", 130 | "icon-exclamation-sign", 131 | "icon-eye-close", 132 | "icon-eye-open", 133 | "icon-facetime-video", 134 | "icon-fast-backward", 135 | "icon-fast-forward", 136 | "icon-file", 137 | "icon-film", 138 | "icon-filter", 139 | "icon-fire", 140 | "icon-flag", 141 | "icon-folder-close", 142 | "icon-folder-open", 143 | "icon-font", 144 | "icon-forward", 145 | "icon-fullscreen", 146 | "icon-gift", 147 | "icon-glass", 148 | "icon-globe", 149 | "icon-hand-down", 150 | "icon-hand-left", 151 | "icon-hand-right", 152 | "icon-hand-up", 153 | "icon-hdd", 154 | "icon-headphones", 155 | "icon-heart", 156 | "icon-home", 157 | "icon-inbox", 158 | "icon-indent-left", 159 | "icon-indent-right", 160 | "icon-info-sign", 161 | "icon-italic", 162 | "icon-leaf", 163 | "icon-list", 164 | "icon-list-alt", 165 | "icon-lock", 166 | "icon-magnet", 167 | "icon-map-marker", 168 | "icon-minus", 169 | "icon-minus-sign", 170 | "icon-move", 171 | "icon-music", 172 | "icon-off", 173 | "icon-ok", 174 | "icon-ok-circle", 175 | "icon-ok-sign", 176 | "icon-pause", 177 | "icon-pencil", 178 | "icon-picture", 179 | "icon-plane", 180 | "icon-play", 181 | "icon-play-circle", 182 | "icon-plus", 183 | "icon-plus-sign", 184 | "icon-print", 185 | "icon-qrcode", 186 | "icon-question-sign", 187 | "icon-random", 188 | "icon-refresh", 189 | "icon-remove", 190 | "icon-remove-circle", 191 | "icon-remove-sign", 192 | "icon-repeat", 193 | "icon-resize-full", 194 | "icon-resize-horizontal", 195 | "icon-resize-small", 196 | "icon-resize-vertical", 197 | "icon-retweet", 198 | "icon-road", 199 | "icon-screenshot", 200 | "icon-search", 201 | "icon-share", 202 | "icon-share-alt", 203 | "icon-shopping-cart", 204 | "icon-signal", 205 | "icon-star", 206 | "icon-star-empty", 207 | "icon-step-backward", 208 | "icon-step-forward", 209 | "icon-stop", 210 | "icon-tag", 211 | "icon-tags", 212 | "icon-tasks", 213 | "icon-text-height", 214 | "icon-text-width", 215 | "icon-th", 216 | "icon-th-large", 217 | "icon-th-list", 218 | "icon-thumbs-down", 219 | "icon-thumbs-up", 220 | "icon-time", 221 | "icon-tint", 222 | "icon-trash", 223 | "icon-upload", 224 | "icon-user", 225 | "icon-volume-down", 226 | "icon-volume-off", 227 | "icon-volume-up", 228 | "icon-warning-sign", 229 | "icon-white", 230 | "icon-wrench", 231 | "icon-zoom-in", 232 | "icon-zoom-out", 233 | "img-circle", 234 | "img-polaroid", 235 | "img-rounded", 236 | "in", 237 | "info", 238 | "initialism", 239 | "inline", 240 | "input-append", 241 | "input-block-level", 242 | "input-large", 243 | "input-medium", 244 | "input-mini", 245 | "input-prepend", 246 | "input-small", 247 | "input-xlarge", 248 | "input-xxlarge", 249 | "invisible", 250 | "ir", 251 | "item", 252 | "label", 253 | "label-important", 254 | "label-info", 255 | "label-inverse", 256 | "label-success", 257 | "label-warning", 258 | "large", 259 | "lead", 260 | "left", 261 | "media", 262 | "media-body", 263 | "media-heading", 264 | "media-list", 265 | "media-object", 266 | "Microsoft", 267 | "modal", 268 | "modal-backdrop", 269 | "modal-body", 270 | "modal-footer", 271 | "modal-form", 272 | "modal-header", 273 | "muted", 274 | "nav", 275 | "nav-collapse", 276 | "nav-header", 277 | "nav-list", 278 | "nav-pills", 279 | "nav-stacked", 280 | "nav-tabs", 281 | "navbar", 282 | "navbar-fixed-bottom", 283 | "navbar-fixed-top", 284 | "navbar-form", 285 | "navbar-inner", 286 | "navbar-inverse", 287 | "navbar-link", 288 | "navbar-search", 289 | "navbar-static-top", 290 | "navbar-text", 291 | "next", 292 | "offset1", 293 | "offset10", 294 | "offset11", 295 | "offset12", 296 | "offset2", 297 | "offset3", 298 | "offset4", 299 | "offset5", 300 | "offset6", 301 | "offset7", 302 | "offset8", 303 | "offset9", 304 | "open", 305 | "page-header", 306 | "pager", 307 | "pagination", 308 | "pagination-centered", 309 | "pagination-large", 310 | "pagination-mini", 311 | "pagination-right", 312 | "pagination-small", 313 | "pill-content", 314 | "pill-pane", 315 | "popover", 316 | "popover-content", 317 | "popover-title", 318 | "pre-scrollable", 319 | "prettyprint", 320 | "prev", 321 | "previous", 322 | "progress", 323 | "progress-danger", 324 | "progress-info", 325 | "progress-striped", 326 | "progress-success", 327 | "progress-warning", 328 | "pull-left", 329 | "pull-right", 330 | "radio", 331 | "right", 332 | "row", 333 | "row-fluid", 334 | "search-query", 335 | "show", 336 | "span1", 337 | "span10", 338 | "span11", 339 | "span12", 340 | "span2", 341 | "span3", 342 | "span4", 343 | "span5", 344 | "span6", 345 | "span7", 346 | "span8", 347 | "span9", 348 | "success", 349 | "tab-content", 350 | "tab-pane", 351 | "tabbable", 352 | "table", 353 | "table-bordered", 354 | "table-condensed", 355 | "table-hover", 356 | "table-striped", 357 | "tabs-below", 358 | "tabs-left", 359 | "tabs-right", 360 | "tabs-stacked", 361 | "text-center", 362 | "text-error", 363 | "text-info", 364 | "text-left", 365 | "text-right", 366 | "text-success", 367 | "text-warning", 368 | "thumbnail", 369 | "thumbnails", 370 | "tooltip", 371 | "tooltip-arrow", 372 | "tooltip-inner", 373 | "top", 374 | "typeahead", 375 | "uneditable-input", 376 | "uneditable-textarea", 377 | "unstyled", 378 | "warning", 379 | "well", 380 | "well-large", 381 | "well-small" 382 | ] 383 | } 384 | -------------------------------------------------------------------------------- /db/3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bootstrap", 3 | "version": "3", 4 | "classes": [ 5 | "active", 6 | "affix", 7 | "alert", 8 | "alert-danger", 9 | "alert-dismissable", 10 | "alert-dismissible", 11 | "alert-info", 12 | "alert-link", 13 | "alert-success", 14 | "alert-warning", 15 | "arrow", 16 | "badge", 17 | "bg-danger", 18 | "bg-info", 19 | "bg-primary", 20 | "bg-success", 21 | "bg-warning", 22 | "blockquote-reverse", 23 | "bottom", 24 | "bottom-left", 25 | "bottom-right", 26 | "breadcrumb", 27 | "btn", 28 | "btn-block", 29 | "btn-danger", 30 | "btn-default", 31 | "btn-group", 32 | "btn-group-justified", 33 | "btn-group-lg", 34 | "btn-group-sm", 35 | "btn-group-vertical", 36 | "btn-group-xs", 37 | "btn-info", 38 | "btn-lg", 39 | "btn-link", 40 | "btn-primary", 41 | "btn-sm", 42 | "btn-success", 43 | "btn-toolbar", 44 | "btn-warning", 45 | "btn-xs", 46 | "caption", 47 | "caret", 48 | "carousel", 49 | "carousel-caption", 50 | "carousel-control", 51 | "carousel-indicators", 52 | "carousel-inner", 53 | "center-block", 54 | "checkbox", 55 | "checkbox-inline", 56 | "clearfix", 57 | "close", 58 | "col-lg-1", 59 | "col-lg-10", 60 | "col-lg-11", 61 | "col-lg-12", 62 | "col-lg-2", 63 | "col-lg-3", 64 | "col-lg-4", 65 | "col-lg-5", 66 | "col-lg-6", 67 | "col-lg-7", 68 | "col-lg-8", 69 | "col-lg-9", 70 | "col-lg-offset-0", 71 | "col-lg-offset-1", 72 | "col-lg-offset-10", 73 | "col-lg-offset-11", 74 | "col-lg-offset-12", 75 | "col-lg-offset-2", 76 | "col-lg-offset-3", 77 | "col-lg-offset-4", 78 | "col-lg-offset-5", 79 | "col-lg-offset-6", 80 | "col-lg-offset-7", 81 | "col-lg-offset-8", 82 | "col-lg-offset-9", 83 | "col-lg-pull-0", 84 | "col-lg-pull-1", 85 | "col-lg-pull-10", 86 | "col-lg-pull-11", 87 | "col-lg-pull-12", 88 | "col-lg-pull-2", 89 | "col-lg-pull-3", 90 | "col-lg-pull-4", 91 | "col-lg-pull-5", 92 | "col-lg-pull-6", 93 | "col-lg-pull-7", 94 | "col-lg-pull-8", 95 | "col-lg-pull-9", 96 | "col-lg-push-0", 97 | "col-lg-push-1", 98 | "col-lg-push-10", 99 | "col-lg-push-11", 100 | "col-lg-push-12", 101 | "col-lg-push-2", 102 | "col-lg-push-3", 103 | "col-lg-push-4", 104 | "col-lg-push-5", 105 | "col-lg-push-6", 106 | "col-lg-push-7", 107 | "col-lg-push-8", 108 | "col-lg-push-9", 109 | "col-md-1", 110 | "col-md-10", 111 | "col-md-11", 112 | "col-md-12", 113 | "col-md-2", 114 | "col-md-3", 115 | "col-md-4", 116 | "col-md-5", 117 | "col-md-6", 118 | "col-md-7", 119 | "col-md-8", 120 | "col-md-9", 121 | "col-md-offset-0", 122 | "col-md-offset-1", 123 | "col-md-offset-10", 124 | "col-md-offset-11", 125 | "col-md-offset-12", 126 | "col-md-offset-2", 127 | "col-md-offset-3", 128 | "col-md-offset-4", 129 | "col-md-offset-5", 130 | "col-md-offset-6", 131 | "col-md-offset-7", 132 | "col-md-offset-8", 133 | "col-md-offset-9", 134 | "col-md-pull-0", 135 | "col-md-pull-1", 136 | "col-md-pull-10", 137 | "col-md-pull-11", 138 | "col-md-pull-12", 139 | "col-md-pull-2", 140 | "col-md-pull-3", 141 | "col-md-pull-4", 142 | "col-md-pull-5", 143 | "col-md-pull-6", 144 | "col-md-pull-7", 145 | "col-md-pull-8", 146 | "col-md-pull-9", 147 | "col-md-push-0", 148 | "col-md-push-1", 149 | "col-md-push-10", 150 | "col-md-push-11", 151 | "col-md-push-12", 152 | "col-md-push-2", 153 | "col-md-push-3", 154 | "col-md-push-4", 155 | "col-md-push-5", 156 | "col-md-push-6", 157 | "col-md-push-7", 158 | "col-md-push-8", 159 | "col-md-push-9", 160 | "col-sm-1", 161 | "col-sm-10", 162 | "col-sm-11", 163 | "col-sm-12", 164 | "col-sm-2", 165 | "col-sm-3", 166 | "col-sm-4", 167 | "col-sm-5", 168 | "col-sm-6", 169 | "col-sm-7", 170 | "col-sm-8", 171 | "col-sm-9", 172 | "col-sm-offset-0", 173 | "col-sm-offset-1", 174 | "col-sm-offset-10", 175 | "col-sm-offset-11", 176 | "col-sm-offset-12", 177 | "col-sm-offset-2", 178 | "col-sm-offset-3", 179 | "col-sm-offset-4", 180 | "col-sm-offset-5", 181 | "col-sm-offset-6", 182 | "col-sm-offset-7", 183 | "col-sm-offset-8", 184 | "col-sm-offset-9", 185 | "col-sm-pull-0", 186 | "col-sm-pull-1", 187 | "col-sm-pull-10", 188 | "col-sm-pull-11", 189 | "col-sm-pull-12", 190 | "col-sm-pull-2", 191 | "col-sm-pull-3", 192 | "col-sm-pull-4", 193 | "col-sm-pull-5", 194 | "col-sm-pull-6", 195 | "col-sm-pull-7", 196 | "col-sm-pull-8", 197 | "col-sm-pull-9", 198 | "col-sm-push-0", 199 | "col-sm-push-1", 200 | "col-sm-push-10", 201 | "col-sm-push-11", 202 | "col-sm-push-12", 203 | "col-sm-push-2", 204 | "col-sm-push-3", 205 | "col-sm-push-4", 206 | "col-sm-push-5", 207 | "col-sm-push-6", 208 | "col-sm-push-7", 209 | "col-sm-push-8", 210 | "col-sm-push-9", 211 | "col-xs-1", 212 | "col-xs-10", 213 | "col-xs-11", 214 | "col-xs-12", 215 | "col-xs-2", 216 | "col-xs-3", 217 | "col-xs-4", 218 | "col-xs-5", 219 | "col-xs-6", 220 | "col-xs-7", 221 | "col-xs-8", 222 | "col-xs-9", 223 | "col-xs-offset-0", 224 | "col-xs-offset-1", 225 | "col-xs-offset-10", 226 | "col-xs-offset-11", 227 | "col-xs-offset-12", 228 | "col-xs-offset-2", 229 | "col-xs-offset-3", 230 | "col-xs-offset-4", 231 | "col-xs-offset-5", 232 | "col-xs-offset-6", 233 | "col-xs-offset-7", 234 | "col-xs-offset-8", 235 | "col-xs-offset-9", 236 | "col-xs-pull-0", 237 | "col-xs-pull-1", 238 | "col-xs-pull-10", 239 | "col-xs-pull-11", 240 | "col-xs-pull-12", 241 | "col-xs-pull-2", 242 | "col-xs-pull-3", 243 | "col-xs-pull-4", 244 | "col-xs-pull-5", 245 | "col-xs-pull-6", 246 | "col-xs-pull-7", 247 | "col-xs-pull-8", 248 | "col-xs-pull-9", 249 | "col-xs-push-0", 250 | "col-xs-push-1", 251 | "col-xs-push-10", 252 | "col-xs-push-11", 253 | "col-xs-push-12", 254 | "col-xs-push-2", 255 | "col-xs-push-3", 256 | "col-xs-push-4", 257 | "col-xs-push-5", 258 | "col-xs-push-6", 259 | "col-xs-push-7", 260 | "col-xs-push-8", 261 | "col-xs-push-9", 262 | "collapse", 263 | "collapsing", 264 | "container", 265 | "container-fluid", 266 | "control-label", 267 | "danger", 268 | "disabled", 269 | "divider", 270 | "dl-horizontal", 271 | "dropdown", 272 | "dropdown-backdrop", 273 | "dropdown-header", 274 | "dropdown-menu", 275 | "dropdown-menu-left", 276 | "dropdown-menu-right", 277 | "dropdown-toggle", 278 | "dropup", 279 | "embed-responsive", 280 | "embed-responsive-16by9", 281 | "embed-responsive-4by3", 282 | "embed-responsive-item", 283 | "fade", 284 | "focus", 285 | "form-control", 286 | "form-control-feedback", 287 | "form-control-static", 288 | "form-group", 289 | "form-group-lg", 290 | "form-group-sm", 291 | "form-horizontal", 292 | "form-inline", 293 | "glyphicon", 294 | "glyphicon-adjust", 295 | "glyphicon-alert", 296 | "glyphicon-align-center", 297 | "glyphicon-align-justify", 298 | "glyphicon-align-left", 299 | "glyphicon-align-right", 300 | "glyphicon-apple", 301 | "glyphicon-arrow-down", 302 | "glyphicon-arrow-left", 303 | "glyphicon-arrow-right", 304 | "glyphicon-arrow-up", 305 | "glyphicon-asterisk", 306 | "glyphicon-baby-formula", 307 | "glyphicon-backward", 308 | "glyphicon-ban-circle", 309 | "glyphicon-barcode", 310 | "glyphicon-bed", 311 | "glyphicon-bell", 312 | "glyphicon-bishop", 313 | "glyphicon-bitcoin", 314 | "glyphicon-blackboard", 315 | "glyphicon-bold", 316 | "glyphicon-book", 317 | "glyphicon-bookmark", 318 | "glyphicon-briefcase", 319 | "glyphicon-btc", 320 | "glyphicon-bullhorn", 321 | "glyphicon-calendar", 322 | "glyphicon-camera", 323 | "glyphicon-cd", 324 | "glyphicon-certificate", 325 | "glyphicon-check", 326 | "glyphicon-chevron-down", 327 | "glyphicon-chevron-left", 328 | "glyphicon-chevron-right", 329 | "glyphicon-chevron-up", 330 | "glyphicon-circle-arrow-down", 331 | "glyphicon-circle-arrow-left", 332 | "glyphicon-circle-arrow-right", 333 | "glyphicon-circle-arrow-up", 334 | "glyphicon-cloud", 335 | "glyphicon-cloud-download", 336 | "glyphicon-cloud-upload", 337 | "glyphicon-cog", 338 | "glyphicon-collapse-down", 339 | "glyphicon-collapse-up", 340 | "glyphicon-comment", 341 | "glyphicon-compressed", 342 | "glyphicon-console", 343 | "glyphicon-copy", 344 | "glyphicon-copyright-mark", 345 | "glyphicon-credit-card", 346 | "glyphicon-cutlery", 347 | "glyphicon-dashboard", 348 | "glyphicon-download", 349 | "glyphicon-download-alt", 350 | "glyphicon-duplicate", 351 | "glyphicon-earphone", 352 | "glyphicon-edit", 353 | "glyphicon-education", 354 | "glyphicon-eject", 355 | "glyphicon-envelope", 356 | "glyphicon-equalizer", 357 | "glyphicon-erase", 358 | "glyphicon-eur", 359 | "glyphicon-euro", 360 | "glyphicon-exclamation-sign", 361 | "glyphicon-expand", 362 | "glyphicon-export", 363 | "glyphicon-eye-close", 364 | "glyphicon-eye-open", 365 | "glyphicon-facetime-video", 366 | "glyphicon-fast-backward", 367 | "glyphicon-fast-forward", 368 | "glyphicon-file", 369 | "glyphicon-film", 370 | "glyphicon-filter", 371 | "glyphicon-fire", 372 | "glyphicon-flag", 373 | "glyphicon-flash", 374 | "glyphicon-floppy-disk", 375 | "glyphicon-floppy-open", 376 | "glyphicon-floppy-remove", 377 | "glyphicon-floppy-save", 378 | "glyphicon-floppy-saved", 379 | "glyphicon-folder-close", 380 | "glyphicon-folder-open", 381 | "glyphicon-font", 382 | "glyphicon-forward", 383 | "glyphicon-fullscreen", 384 | "glyphicon-gbp", 385 | "glyphicon-gift", 386 | "glyphicon-glass", 387 | "glyphicon-globe", 388 | "glyphicon-grain", 389 | "glyphicon-hand-down", 390 | "glyphicon-hand-left", 391 | "glyphicon-hand-right", 392 | "glyphicon-hand-up", 393 | "glyphicon-hd-video", 394 | "glyphicon-hdd", 395 | "glyphicon-header", 396 | "glyphicon-headphones", 397 | "glyphicon-heart", 398 | "glyphicon-heart-empty", 399 | "glyphicon-home", 400 | "glyphicon-hourglass", 401 | "glyphicon-ice-lolly", 402 | "glyphicon-ice-lolly-tasted", 403 | "glyphicon-import", 404 | "glyphicon-inbox", 405 | "glyphicon-indent-left", 406 | "glyphicon-indent-right", 407 | "glyphicon-info-sign", 408 | "glyphicon-italic", 409 | "glyphicon-jpy", 410 | "glyphicon-king", 411 | "glyphicon-knight", 412 | "glyphicon-lamp", 413 | "glyphicon-leaf", 414 | "glyphicon-level-up", 415 | "glyphicon-link", 416 | "glyphicon-list", 417 | "glyphicon-list-alt", 418 | "glyphicon-lock", 419 | "glyphicon-log-in", 420 | "glyphicon-log-out", 421 | "glyphicon-magnet", 422 | "glyphicon-map-marker", 423 | "glyphicon-menu-down", 424 | "glyphicon-menu-hamburger", 425 | "glyphicon-menu-left", 426 | "glyphicon-menu-right", 427 | "glyphicon-menu-up", 428 | "glyphicon-minus", 429 | "glyphicon-minus-sign", 430 | "glyphicon-modal-window", 431 | "glyphicon-move", 432 | "glyphicon-music", 433 | "glyphicon-new-window", 434 | "glyphicon-object-align-bottom", 435 | "glyphicon-object-align-horizontal", 436 | "glyphicon-object-align-left", 437 | "glyphicon-object-align-right", 438 | "glyphicon-object-align-top", 439 | "glyphicon-object-align-vertical", 440 | "glyphicon-off", 441 | "glyphicon-oil", 442 | "glyphicon-ok", 443 | "glyphicon-ok-circle", 444 | "glyphicon-ok-sign", 445 | "glyphicon-open", 446 | "glyphicon-open-file", 447 | "glyphicon-option-horizontal", 448 | "glyphicon-option-vertical", 449 | "glyphicon-paperclip", 450 | "glyphicon-paste", 451 | "glyphicon-pause", 452 | "glyphicon-pawn", 453 | "glyphicon-pencil", 454 | "glyphicon-phone", 455 | "glyphicon-phone-alt", 456 | "glyphicon-picture", 457 | "glyphicon-piggy-bank", 458 | "glyphicon-plane", 459 | "glyphicon-play", 460 | "glyphicon-play-circle", 461 | "glyphicon-plus", 462 | "glyphicon-plus-sign", 463 | "glyphicon-print", 464 | "glyphicon-pushpin", 465 | "glyphicon-qrcode", 466 | "glyphicon-queen", 467 | "glyphicon-question-sign", 468 | "glyphicon-random", 469 | "glyphicon-record", 470 | "glyphicon-refresh", 471 | "glyphicon-registration-mark", 472 | "glyphicon-remove", 473 | "glyphicon-remove-circle", 474 | "glyphicon-remove-sign", 475 | "glyphicon-repeat", 476 | "glyphicon-resize-full", 477 | "glyphicon-resize-horizontal", 478 | "glyphicon-resize-small", 479 | "glyphicon-resize-vertical", 480 | "glyphicon-retweet", 481 | "glyphicon-road", 482 | "glyphicon-rub", 483 | "glyphicon-ruble", 484 | "glyphicon-save", 485 | "glyphicon-save-file", 486 | "glyphicon-saved", 487 | "glyphicon-scale", 488 | "glyphicon-scissors", 489 | "glyphicon-screenshot", 490 | "glyphicon-sd-video", 491 | "glyphicon-search", 492 | "glyphicon-send", 493 | "glyphicon-share", 494 | "glyphicon-share-alt", 495 | "glyphicon-shopping-cart", 496 | "glyphicon-signal", 497 | "glyphicon-sort", 498 | "glyphicon-sort-by-alphabet", 499 | "glyphicon-sort-by-alphabet-alt", 500 | "glyphicon-sort-by-attributes", 501 | "glyphicon-sort-by-attributes-alt", 502 | "glyphicon-sort-by-order", 503 | "glyphicon-sort-by-order-alt", 504 | "glyphicon-sound-5-1", 505 | "glyphicon-sound-6-1", 506 | "glyphicon-sound-7-1", 507 | "glyphicon-sound-dolby", 508 | "glyphicon-sound-stereo", 509 | "glyphicon-star", 510 | "glyphicon-star-empty", 511 | "glyphicon-stats", 512 | "glyphicon-step-backward", 513 | "glyphicon-step-forward", 514 | "glyphicon-stop", 515 | "glyphicon-subscript", 516 | "glyphicon-subtitles", 517 | "glyphicon-sunglasses", 518 | "glyphicon-superscript", 519 | "glyphicon-tag", 520 | "glyphicon-tags", 521 | "glyphicon-tasks", 522 | "glyphicon-tent", 523 | "glyphicon-text-background", 524 | "glyphicon-text-color", 525 | "glyphicon-text-height", 526 | "glyphicon-text-size", 527 | "glyphicon-text-width", 528 | "glyphicon-th", 529 | "glyphicon-th-large", 530 | "glyphicon-th-list", 531 | "glyphicon-thumbs-down", 532 | "glyphicon-thumbs-up", 533 | "glyphicon-time", 534 | "glyphicon-tint", 535 | "glyphicon-tower", 536 | "glyphicon-transfer", 537 | "glyphicon-trash", 538 | "glyphicon-tree-conifer", 539 | "glyphicon-tree-deciduous", 540 | "glyphicon-triangle-bottom", 541 | "glyphicon-triangle-left", 542 | "glyphicon-triangle-right", 543 | "glyphicon-triangle-top", 544 | "glyphicon-unchecked", 545 | "glyphicon-upload", 546 | "glyphicon-usd", 547 | "glyphicon-user", 548 | "glyphicon-volume-down", 549 | "glyphicon-volume-off", 550 | "glyphicon-volume-up", 551 | "glyphicon-warning-sign", 552 | "glyphicon-wrench", 553 | "glyphicon-xbt", 554 | "glyphicon-yen", 555 | "glyphicon-zoom-in", 556 | "glyphicon-zoom-out", 557 | "h1", 558 | "h2", 559 | "h3", 560 | "h4", 561 | "h5", 562 | "h6", 563 | "has-error", 564 | "has-feedback", 565 | "has-success", 566 | "has-warning", 567 | "help-block", 568 | "hidden", 569 | "hidden-lg", 570 | "hidden-md", 571 | "hidden-print", 572 | "hidden-sm", 573 | "hidden-xs", 574 | "hide", 575 | "icon-bar", 576 | "icon-next", 577 | "icon-prev", 578 | "img-circle", 579 | "img-responsive", 580 | "img-rounded", 581 | "img-thumbnail", 582 | "in", 583 | "info", 584 | "initialism", 585 | "input-group", 586 | "input-group-addon", 587 | "input-group-btn", 588 | "input-group-lg", 589 | "input-group-sm", 590 | "input-lg", 591 | "input-sm", 592 | "invisible", 593 | "item", 594 | "jumbotron", 595 | "label", 596 | "label-danger", 597 | "label-default", 598 | "label-info", 599 | "label-primary", 600 | "label-success", 601 | "label-warning", 602 | "lead", 603 | "left", 604 | "list-group", 605 | "list-group-item", 606 | "list-group-item-danger", 607 | "list-group-item-heading", 608 | "list-group-item-info", 609 | "list-group-item-success", 610 | "list-group-item-text", 611 | "list-group-item-warning", 612 | "list-inline", 613 | "list-unstyled", 614 | "mark", 615 | "media", 616 | "media-body", 617 | "media-bottom", 618 | "media-heading", 619 | "media-left", 620 | "media-list", 621 | "media-middle", 622 | "media-object", 623 | "media-right", 624 | "modal", 625 | "modal-backdrop", 626 | "modal-body", 627 | "modal-content", 628 | "modal-dialog", 629 | "modal-footer", 630 | "modal-header", 631 | "modal-lg", 632 | "modal-open", 633 | "modal-scrollbar-measure", 634 | "modal-sm", 635 | "modal-title", 636 | "nav", 637 | "nav-divider", 638 | "nav-justified", 639 | "nav-pills", 640 | "nav-stacked", 641 | "nav-tabs", 642 | "nav-tabs-justified", 643 | "navbar", 644 | "navbar-brand", 645 | "navbar-btn", 646 | "navbar-collapse", 647 | "navbar-default", 648 | "navbar-fixed-bottom", 649 | "navbar-fixed-top", 650 | "navbar-form", 651 | "navbar-header", 652 | "navbar-inverse", 653 | "navbar-left", 654 | "navbar-link", 655 | "navbar-nav", 656 | "navbar-right", 657 | "navbar-static-top", 658 | "navbar-text", 659 | "navbar-toggle", 660 | "next", 661 | "open", 662 | "page-header", 663 | "pager", 664 | "pagination", 665 | "pagination-lg", 666 | "pagination-sm", 667 | "panel", 668 | "panel-body", 669 | "panel-collapse", 670 | "panel-danger", 671 | "panel-default", 672 | "panel-footer", 673 | "panel-group", 674 | "panel-heading", 675 | "panel-info", 676 | "panel-primary", 677 | "panel-success", 678 | "panel-title", 679 | "panel-warning", 680 | "popover", 681 | "popover-content", 682 | "popover-title", 683 | "pre-scrollable", 684 | "prev", 685 | "previous", 686 | "progress", 687 | "progress-bar", 688 | "progress-bar-danger", 689 | "progress-bar-info", 690 | "progress-bar-striped", 691 | "progress-bar-success", 692 | "progress-bar-warning", 693 | "progress-striped", 694 | "pull-left", 695 | "pull-right", 696 | "radio", 697 | "radio-inline", 698 | "right", 699 | "row", 700 | "row-no-gutters", 701 | "show", 702 | "small", 703 | "sr-only", 704 | "sr-only-focusable", 705 | "success", 706 | "tab-content", 707 | "tab-pane", 708 | "table", 709 | "table-bordered", 710 | "table-condensed", 711 | "table-hover", 712 | "table-responsive", 713 | "table-striped", 714 | "text-capitalize", 715 | "text-center", 716 | "text-danger", 717 | "text-hide", 718 | "text-info", 719 | "text-justify", 720 | "text-left", 721 | "text-lowercase", 722 | "text-muted", 723 | "text-nowrap", 724 | "text-primary", 725 | "text-right", 726 | "text-success", 727 | "text-uppercase", 728 | "text-warning", 729 | "thumbnail", 730 | "tooltip", 731 | "tooltip-arrow", 732 | "tooltip-inner", 733 | "top", 734 | "top-left", 735 | "top-right", 736 | "visible-lg", 737 | "visible-lg-block", 738 | "visible-lg-inline", 739 | "visible-lg-inline-block", 740 | "visible-md", 741 | "visible-md-block", 742 | "visible-md-inline", 743 | "visible-md-inline-block", 744 | "visible-print", 745 | "visible-print-block", 746 | "visible-print-inline", 747 | "visible-print-inline-block", 748 | "visible-sm", 749 | "visible-sm-block", 750 | "visible-sm-inline", 751 | "visible-sm-inline-block", 752 | "visible-xs", 753 | "visible-xs-block", 754 | "visible-xs-inline", 755 | "visible-xs-inline-block", 756 | "warning", 757 | "well", 758 | "well-lg", 759 | "well-sm" 760 | ] 761 | } 762 | -------------------------------------------------------------------------------- /db/4.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bootstrap", 3 | "version": "4", 4 | "classes": [ 5 | "accordion", 6 | "active", 7 | "alert", 8 | "alert-danger", 9 | "alert-dark", 10 | "alert-dismissible", 11 | "alert-heading", 12 | "alert-info", 13 | "alert-light", 14 | "alert-link", 15 | "alert-primary", 16 | "alert-secondary", 17 | "alert-success", 18 | "alert-warning", 19 | "align-baseline", 20 | "align-bottom", 21 | "align-content-around", 22 | "align-content-between", 23 | "align-content-center", 24 | "align-content-end", 25 | "align-content-lg-around", 26 | "align-content-lg-between", 27 | "align-content-lg-center", 28 | "align-content-lg-end", 29 | "align-content-lg-start", 30 | "align-content-lg-stretch", 31 | "align-content-md-around", 32 | "align-content-md-between", 33 | "align-content-md-center", 34 | "align-content-md-end", 35 | "align-content-md-start", 36 | "align-content-md-stretch", 37 | "align-content-sm-around", 38 | "align-content-sm-between", 39 | "align-content-sm-center", 40 | "align-content-sm-end", 41 | "align-content-sm-start", 42 | "align-content-sm-stretch", 43 | "align-content-start", 44 | "align-content-stretch", 45 | "align-content-xl-around", 46 | "align-content-xl-between", 47 | "align-content-xl-center", 48 | "align-content-xl-end", 49 | "align-content-xl-start", 50 | "align-content-xl-stretch", 51 | "align-items-baseline", 52 | "align-items-center", 53 | "align-items-end", 54 | "align-items-lg-baseline", 55 | "align-items-lg-center", 56 | "align-items-lg-end", 57 | "align-items-lg-start", 58 | "align-items-lg-stretch", 59 | "align-items-md-baseline", 60 | "align-items-md-center", 61 | "align-items-md-end", 62 | "align-items-md-start", 63 | "align-items-md-stretch", 64 | "align-items-sm-baseline", 65 | "align-items-sm-center", 66 | "align-items-sm-end", 67 | "align-items-sm-start", 68 | "align-items-sm-stretch", 69 | "align-items-start", 70 | "align-items-stretch", 71 | "align-items-xl-baseline", 72 | "align-items-xl-center", 73 | "align-items-xl-end", 74 | "align-items-xl-start", 75 | "align-items-xl-stretch", 76 | "align-middle", 77 | "align-self-auto", 78 | "align-self-baseline", 79 | "align-self-center", 80 | "align-self-end", 81 | "align-self-lg-auto", 82 | "align-self-lg-baseline", 83 | "align-self-lg-center", 84 | "align-self-lg-end", 85 | "align-self-lg-start", 86 | "align-self-lg-stretch", 87 | "align-self-md-auto", 88 | "align-self-md-baseline", 89 | "align-self-md-center", 90 | "align-self-md-end", 91 | "align-self-md-start", 92 | "align-self-md-stretch", 93 | "align-self-sm-auto", 94 | "align-self-sm-baseline", 95 | "align-self-sm-center", 96 | "align-self-sm-end", 97 | "align-self-sm-start", 98 | "align-self-sm-stretch", 99 | "align-self-start", 100 | "align-self-stretch", 101 | "align-self-xl-auto", 102 | "align-self-xl-baseline", 103 | "align-self-xl-center", 104 | "align-self-xl-end", 105 | "align-self-xl-start", 106 | "align-self-xl-stretch", 107 | "align-text-bottom", 108 | "align-text-top", 109 | "align-top", 110 | "arrow", 111 | "badge", 112 | "badge-danger", 113 | "badge-dark", 114 | "badge-info", 115 | "badge-light", 116 | "badge-pill", 117 | "badge-primary", 118 | "badge-secondary", 119 | "badge-success", 120 | "badge-warning", 121 | "bg-danger", 122 | "bg-dark", 123 | "bg-info", 124 | "bg-light", 125 | "bg-primary", 126 | "bg-secondary", 127 | "bg-success", 128 | "bg-transparent", 129 | "bg-warning", 130 | "bg-white", 131 | "blockquote", 132 | "blockquote-footer", 133 | "border", 134 | "border-0", 135 | "border-bottom", 136 | "border-bottom-0", 137 | "border-danger", 138 | "border-dark", 139 | "border-info", 140 | "border-left", 141 | "border-left-0", 142 | "border-light", 143 | "border-primary", 144 | "border-right", 145 | "border-right-0", 146 | "border-secondary", 147 | "border-success", 148 | "border-top", 149 | "border-top-0", 150 | "border-warning", 151 | "border-white", 152 | "breadcrumb", 153 | "breadcrumb-item", 154 | "bs-popover-auto", 155 | "bs-popover-bottom", 156 | "bs-popover-left", 157 | "bs-popover-right", 158 | "bs-popover-top", 159 | "bs-tooltip-auto", 160 | "bs-tooltip-bottom", 161 | "bs-tooltip-left", 162 | "bs-tooltip-right", 163 | "bs-tooltip-top", 164 | "btn", 165 | "btn-block", 166 | "btn-danger", 167 | "btn-dark", 168 | "btn-group", 169 | "btn-group-lg", 170 | "btn-group-sm", 171 | "btn-group-toggle", 172 | "btn-group-vertical", 173 | "btn-info", 174 | "btn-lg", 175 | "btn-light", 176 | "btn-link", 177 | "btn-outline-danger", 178 | "btn-outline-dark", 179 | "btn-outline-info", 180 | "btn-outline-light", 181 | "btn-outline-primary", 182 | "btn-outline-secondary", 183 | "btn-outline-success", 184 | "btn-outline-warning", 185 | "btn-primary", 186 | "btn-secondary", 187 | "btn-sm", 188 | "btn-success", 189 | "btn-toolbar", 190 | "btn-warning", 191 | "card", 192 | "card-body", 193 | "card-columns", 194 | "card-deck", 195 | "card-footer", 196 | "card-group", 197 | "card-header", 198 | "card-header-pills", 199 | "card-header-tabs", 200 | "card-img", 201 | "card-img-bottom", 202 | "card-img-overlay", 203 | "card-img-top", 204 | "card-link", 205 | "card-subtitle", 206 | "card-text", 207 | "card-title", 208 | "carousel", 209 | "carousel-caption", 210 | "carousel-control-next", 211 | "carousel-control-next-icon", 212 | "carousel-control-prev", 213 | "carousel-control-prev-icon", 214 | "carousel-fade", 215 | "carousel-indicators", 216 | "carousel-inner", 217 | "carousel-item", 218 | "carousel-item-left", 219 | "carousel-item-next", 220 | "carousel-item-prev", 221 | "carousel-item-right", 222 | "clearfix", 223 | "close", 224 | "col", 225 | "col-1", 226 | "col-10", 227 | "col-11", 228 | "col-12", 229 | "col-2", 230 | "col-3", 231 | "col-4", 232 | "col-5", 233 | "col-6", 234 | "col-7", 235 | "col-8", 236 | "col-9", 237 | "col-auto", 238 | "col-form-label", 239 | "col-form-label-lg", 240 | "col-form-label-sm", 241 | "col-lg", 242 | "col-lg-1", 243 | "col-lg-10", 244 | "col-lg-11", 245 | "col-lg-12", 246 | "col-lg-2", 247 | "col-lg-3", 248 | "col-lg-4", 249 | "col-lg-5", 250 | "col-lg-6", 251 | "col-lg-7", 252 | "col-lg-8", 253 | "col-lg-9", 254 | "col-lg-auto", 255 | "col-md", 256 | "col-md-1", 257 | "col-md-10", 258 | "col-md-11", 259 | "col-md-12", 260 | "col-md-2", 261 | "col-md-3", 262 | "col-md-4", 263 | "col-md-5", 264 | "col-md-6", 265 | "col-md-7", 266 | "col-md-8", 267 | "col-md-9", 268 | "col-md-auto", 269 | "col-sm", 270 | "col-sm-1", 271 | "col-sm-10", 272 | "col-sm-11", 273 | "col-sm-12", 274 | "col-sm-2", 275 | "col-sm-3", 276 | "col-sm-4", 277 | "col-sm-5", 278 | "col-sm-6", 279 | "col-sm-7", 280 | "col-sm-8", 281 | "col-sm-9", 282 | "col-sm-auto", 283 | "col-xl", 284 | "col-xl-1", 285 | "col-xl-10", 286 | "col-xl-11", 287 | "col-xl-12", 288 | "col-xl-2", 289 | "col-xl-3", 290 | "col-xl-4", 291 | "col-xl-5", 292 | "col-xl-6", 293 | "col-xl-7", 294 | "col-xl-8", 295 | "col-xl-9", 296 | "col-xl-auto", 297 | "collapse", 298 | "collapsing", 299 | "container", 300 | "container-fluid", 301 | "container-lg", 302 | "container-md", 303 | "container-sm", 304 | "container-xl", 305 | "custom-checkbox", 306 | "custom-control", 307 | "custom-control-inline", 308 | "custom-control-input", 309 | "custom-control-label", 310 | "custom-file", 311 | "custom-file-input", 312 | "custom-file-label", 313 | "custom-radio", 314 | "custom-range", 315 | "custom-select", 316 | "custom-select-lg", 317 | "custom-select-sm", 318 | "custom-switch", 319 | "d-block", 320 | "d-flex", 321 | "d-inline", 322 | "d-inline-block", 323 | "d-inline-flex", 324 | "d-lg-block", 325 | "d-lg-flex", 326 | "d-lg-inline", 327 | "d-lg-inline-block", 328 | "d-lg-inline-flex", 329 | "d-lg-none", 330 | "d-lg-table", 331 | "d-lg-table-cell", 332 | "d-lg-table-row", 333 | "d-md-block", 334 | "d-md-flex", 335 | "d-md-inline", 336 | "d-md-inline-block", 337 | "d-md-inline-flex", 338 | "d-md-none", 339 | "d-md-table", 340 | "d-md-table-cell", 341 | "d-md-table-row", 342 | "d-none", 343 | "d-print-block", 344 | "d-print-flex", 345 | "d-print-inline", 346 | "d-print-inline-block", 347 | "d-print-inline-flex", 348 | "d-print-none", 349 | "d-print-table", 350 | "d-print-table-cell", 351 | "d-print-table-row", 352 | "d-sm-block", 353 | "d-sm-flex", 354 | "d-sm-inline", 355 | "d-sm-inline-block", 356 | "d-sm-inline-flex", 357 | "d-sm-none", 358 | "d-sm-table", 359 | "d-sm-table-cell", 360 | "d-sm-table-row", 361 | "d-table", 362 | "d-table-cell", 363 | "d-table-row", 364 | "d-xl-block", 365 | "d-xl-flex", 366 | "d-xl-inline", 367 | "d-xl-inline-block", 368 | "d-xl-inline-flex", 369 | "d-xl-none", 370 | "d-xl-table", 371 | "d-xl-table-cell", 372 | "d-xl-table-row", 373 | "disabled", 374 | "display-1", 375 | "display-2", 376 | "display-3", 377 | "display-4", 378 | "dropdown", 379 | "dropdown-divider", 380 | "dropdown-header", 381 | "dropdown-item", 382 | "dropdown-item-text", 383 | "dropdown-menu", 384 | "dropdown-menu-left", 385 | "dropdown-menu-lg-left", 386 | "dropdown-menu-lg-right", 387 | "dropdown-menu-md-left", 388 | "dropdown-menu-md-right", 389 | "dropdown-menu-right", 390 | "dropdown-menu-sm-left", 391 | "dropdown-menu-sm-right", 392 | "dropdown-menu-xl-left", 393 | "dropdown-menu-xl-right", 394 | "dropdown-toggle", 395 | "dropdown-toggle-split", 396 | "dropleft", 397 | "dropright", 398 | "dropup", 399 | "embed-responsive", 400 | "embed-responsive-16by9", 401 | "embed-responsive-1by1", 402 | "embed-responsive-21by9", 403 | "embed-responsive-4by3", 404 | "embed-responsive-item", 405 | "fade", 406 | "figure", 407 | "figure-caption", 408 | "figure-img", 409 | "fixed-bottom", 410 | "fixed-top", 411 | "flex-column", 412 | "flex-column-reverse", 413 | "flex-fill", 414 | "flex-grow-0", 415 | "flex-grow-1", 416 | "flex-lg-column", 417 | "flex-lg-column-reverse", 418 | "flex-lg-fill", 419 | "flex-lg-grow-0", 420 | "flex-lg-grow-1", 421 | "flex-lg-nowrap", 422 | "flex-lg-row", 423 | "flex-lg-row-reverse", 424 | "flex-lg-shrink-0", 425 | "flex-lg-shrink-1", 426 | "flex-lg-wrap", 427 | "flex-lg-wrap-reverse", 428 | "flex-md-column", 429 | "flex-md-column-reverse", 430 | "flex-md-fill", 431 | "flex-md-grow-0", 432 | "flex-md-grow-1", 433 | "flex-md-nowrap", 434 | "flex-md-row", 435 | "flex-md-row-reverse", 436 | "flex-md-shrink-0", 437 | "flex-md-shrink-1", 438 | "flex-md-wrap", 439 | "flex-md-wrap-reverse", 440 | "flex-nowrap", 441 | "flex-row", 442 | "flex-row-reverse", 443 | "flex-shrink-0", 444 | "flex-shrink-1", 445 | "flex-sm-column", 446 | "flex-sm-column-reverse", 447 | "flex-sm-fill", 448 | "flex-sm-grow-0", 449 | "flex-sm-grow-1", 450 | "flex-sm-nowrap", 451 | "flex-sm-row", 452 | "flex-sm-row-reverse", 453 | "flex-sm-shrink-0", 454 | "flex-sm-shrink-1", 455 | "flex-sm-wrap", 456 | "flex-sm-wrap-reverse", 457 | "flex-wrap", 458 | "flex-wrap-reverse", 459 | "flex-xl-column", 460 | "flex-xl-column-reverse", 461 | "flex-xl-fill", 462 | "flex-xl-grow-0", 463 | "flex-xl-grow-1", 464 | "flex-xl-nowrap", 465 | "flex-xl-row", 466 | "flex-xl-row-reverse", 467 | "flex-xl-shrink-0", 468 | "flex-xl-shrink-1", 469 | "flex-xl-wrap", 470 | "flex-xl-wrap-reverse", 471 | "float-left", 472 | "float-lg-left", 473 | "float-lg-none", 474 | "float-lg-right", 475 | "float-md-left", 476 | "float-md-none", 477 | "float-md-right", 478 | "float-none", 479 | "float-right", 480 | "float-sm-left", 481 | "float-sm-none", 482 | "float-sm-right", 483 | "float-xl-left", 484 | "float-xl-none", 485 | "float-xl-right", 486 | "focus", 487 | "font-italic", 488 | "font-weight-bold", 489 | "font-weight-bolder", 490 | "font-weight-light", 491 | "font-weight-lighter", 492 | "font-weight-normal", 493 | "form-check", 494 | "form-check-inline", 495 | "form-check-input", 496 | "form-check-label", 497 | "form-control", 498 | "form-control-file", 499 | "form-control-lg", 500 | "form-control-plaintext", 501 | "form-control-range", 502 | "form-control-sm", 503 | "form-group", 504 | "form-inline", 505 | "form-row", 506 | "form-text", 507 | "h-100", 508 | "h-25", 509 | "h-50", 510 | "h-75", 511 | "h-auto", 512 | "h1", 513 | "h2", 514 | "h3", 515 | "h4", 516 | "h5", 517 | "h6", 518 | "has-validation", 519 | "hide", 520 | "img-fluid", 521 | "img-thumbnail", 522 | "initialism", 523 | "input-group", 524 | "input-group-append", 525 | "input-group-lg", 526 | "input-group-prepend", 527 | "input-group-sm", 528 | "input-group-text", 529 | "invalid-feedback", 530 | "invalid-tooltip", 531 | "invisible", 532 | "is-invalid", 533 | "is-valid", 534 | "jumbotron", 535 | "jumbotron-fluid", 536 | "justify-content-around", 537 | "justify-content-between", 538 | "justify-content-center", 539 | "justify-content-end", 540 | "justify-content-lg-around", 541 | "justify-content-lg-between", 542 | "justify-content-lg-center", 543 | "justify-content-lg-end", 544 | "justify-content-lg-start", 545 | "justify-content-md-around", 546 | "justify-content-md-between", 547 | "justify-content-md-center", 548 | "justify-content-md-end", 549 | "justify-content-md-start", 550 | "justify-content-sm-around", 551 | "justify-content-sm-between", 552 | "justify-content-sm-center", 553 | "justify-content-sm-end", 554 | "justify-content-sm-start", 555 | "justify-content-start", 556 | "justify-content-xl-around", 557 | "justify-content-xl-between", 558 | "justify-content-xl-center", 559 | "justify-content-xl-end", 560 | "justify-content-xl-start", 561 | "lead", 562 | "list-group", 563 | "list-group-flush", 564 | "list-group-horizontal", 565 | "list-group-horizontal-lg", 566 | "list-group-horizontal-md", 567 | "list-group-horizontal-sm", 568 | "list-group-horizontal-xl", 569 | "list-group-item", 570 | "list-group-item-action", 571 | "list-group-item-danger", 572 | "list-group-item-dark", 573 | "list-group-item-info", 574 | "list-group-item-light", 575 | "list-group-item-primary", 576 | "list-group-item-secondary", 577 | "list-group-item-success", 578 | "list-group-item-warning", 579 | "list-inline", 580 | "list-inline-item", 581 | "list-unstyled", 582 | "m-0", 583 | "m-1", 584 | "m-2", 585 | "m-3", 586 | "m-4", 587 | "m-5", 588 | "m-auto", 589 | "m-lg-0", 590 | "m-lg-1", 591 | "m-lg-2", 592 | "m-lg-3", 593 | "m-lg-4", 594 | "m-lg-5", 595 | "m-lg-auto", 596 | "m-lg-n1", 597 | "m-lg-n2", 598 | "m-lg-n3", 599 | "m-lg-n4", 600 | "m-lg-n5", 601 | "m-md-0", 602 | "m-md-1", 603 | "m-md-2", 604 | "m-md-3", 605 | "m-md-4", 606 | "m-md-5", 607 | "m-md-auto", 608 | "m-md-n1", 609 | "m-md-n2", 610 | "m-md-n3", 611 | "m-md-n4", 612 | "m-md-n5", 613 | "m-n1", 614 | "m-n2", 615 | "m-n3", 616 | "m-n4", 617 | "m-n5", 618 | "m-sm-0", 619 | "m-sm-1", 620 | "m-sm-2", 621 | "m-sm-3", 622 | "m-sm-4", 623 | "m-sm-5", 624 | "m-sm-auto", 625 | "m-sm-n1", 626 | "m-sm-n2", 627 | "m-sm-n3", 628 | "m-sm-n4", 629 | "m-sm-n5", 630 | "m-xl-0", 631 | "m-xl-1", 632 | "m-xl-2", 633 | "m-xl-3", 634 | "m-xl-4", 635 | "m-xl-5", 636 | "m-xl-auto", 637 | "m-xl-n1", 638 | "m-xl-n2", 639 | "m-xl-n3", 640 | "m-xl-n4", 641 | "m-xl-n5", 642 | "mark", 643 | "mb-0", 644 | "mb-1", 645 | "mb-2", 646 | "mb-3", 647 | "mb-4", 648 | "mb-5", 649 | "mb-auto", 650 | "mb-lg-0", 651 | "mb-lg-1", 652 | "mb-lg-2", 653 | "mb-lg-3", 654 | "mb-lg-4", 655 | "mb-lg-5", 656 | "mb-lg-auto", 657 | "mb-lg-n1", 658 | "mb-lg-n2", 659 | "mb-lg-n3", 660 | "mb-lg-n4", 661 | "mb-lg-n5", 662 | "mb-md-0", 663 | "mb-md-1", 664 | "mb-md-2", 665 | "mb-md-3", 666 | "mb-md-4", 667 | "mb-md-5", 668 | "mb-md-auto", 669 | "mb-md-n1", 670 | "mb-md-n2", 671 | "mb-md-n3", 672 | "mb-md-n4", 673 | "mb-md-n5", 674 | "mb-n1", 675 | "mb-n2", 676 | "mb-n3", 677 | "mb-n4", 678 | "mb-n5", 679 | "mb-sm-0", 680 | "mb-sm-1", 681 | "mb-sm-2", 682 | "mb-sm-3", 683 | "mb-sm-4", 684 | "mb-sm-5", 685 | "mb-sm-auto", 686 | "mb-sm-n1", 687 | "mb-sm-n2", 688 | "mb-sm-n3", 689 | "mb-sm-n4", 690 | "mb-sm-n5", 691 | "mb-xl-0", 692 | "mb-xl-1", 693 | "mb-xl-2", 694 | "mb-xl-3", 695 | "mb-xl-4", 696 | "mb-xl-5", 697 | "mb-xl-auto", 698 | "mb-xl-n1", 699 | "mb-xl-n2", 700 | "mb-xl-n3", 701 | "mb-xl-n4", 702 | "mb-xl-n5", 703 | "media", 704 | "media-body", 705 | "mh-100", 706 | "min-vh-100", 707 | "min-vw-100", 708 | "ml-0", 709 | "ml-1", 710 | "ml-2", 711 | "ml-3", 712 | "ml-4", 713 | "ml-5", 714 | "ml-auto", 715 | "ml-lg-0", 716 | "ml-lg-1", 717 | "ml-lg-2", 718 | "ml-lg-3", 719 | "ml-lg-4", 720 | "ml-lg-5", 721 | "ml-lg-auto", 722 | "ml-lg-n1", 723 | "ml-lg-n2", 724 | "ml-lg-n3", 725 | "ml-lg-n4", 726 | "ml-lg-n5", 727 | "ml-md-0", 728 | "ml-md-1", 729 | "ml-md-2", 730 | "ml-md-3", 731 | "ml-md-4", 732 | "ml-md-5", 733 | "ml-md-auto", 734 | "ml-md-n1", 735 | "ml-md-n2", 736 | "ml-md-n3", 737 | "ml-md-n4", 738 | "ml-md-n5", 739 | "ml-n1", 740 | "ml-n2", 741 | "ml-n3", 742 | "ml-n4", 743 | "ml-n5", 744 | "ml-sm-0", 745 | "ml-sm-1", 746 | "ml-sm-2", 747 | "ml-sm-3", 748 | "ml-sm-4", 749 | "ml-sm-5", 750 | "ml-sm-auto", 751 | "ml-sm-n1", 752 | "ml-sm-n2", 753 | "ml-sm-n3", 754 | "ml-sm-n4", 755 | "ml-sm-n5", 756 | "ml-xl-0", 757 | "ml-xl-1", 758 | "ml-xl-2", 759 | "ml-xl-3", 760 | "ml-xl-4", 761 | "ml-xl-5", 762 | "ml-xl-auto", 763 | "ml-xl-n1", 764 | "ml-xl-n2", 765 | "ml-xl-n3", 766 | "ml-xl-n4", 767 | "ml-xl-n5", 768 | "modal", 769 | "modal-backdrop", 770 | "modal-body", 771 | "modal-content", 772 | "modal-dialog", 773 | "modal-dialog-centered", 774 | "modal-dialog-scrollable", 775 | "modal-footer", 776 | "modal-header", 777 | "modal-lg", 778 | "modal-open", 779 | "modal-scrollbar-measure", 780 | "modal-sm", 781 | "modal-static", 782 | "modal-title", 783 | "modal-xl", 784 | "mr-0", 785 | "mr-1", 786 | "mr-2", 787 | "mr-3", 788 | "mr-4", 789 | "mr-5", 790 | "mr-auto", 791 | "mr-lg-0", 792 | "mr-lg-1", 793 | "mr-lg-2", 794 | "mr-lg-3", 795 | "mr-lg-4", 796 | "mr-lg-5", 797 | "mr-lg-auto", 798 | "mr-lg-n1", 799 | "mr-lg-n2", 800 | "mr-lg-n3", 801 | "mr-lg-n4", 802 | "mr-lg-n5", 803 | "mr-md-0", 804 | "mr-md-1", 805 | "mr-md-2", 806 | "mr-md-3", 807 | "mr-md-4", 808 | "mr-md-5", 809 | "mr-md-auto", 810 | "mr-md-n1", 811 | "mr-md-n2", 812 | "mr-md-n3", 813 | "mr-md-n4", 814 | "mr-md-n5", 815 | "mr-n1", 816 | "mr-n2", 817 | "mr-n3", 818 | "mr-n4", 819 | "mr-n5", 820 | "mr-sm-0", 821 | "mr-sm-1", 822 | "mr-sm-2", 823 | "mr-sm-3", 824 | "mr-sm-4", 825 | "mr-sm-5", 826 | "mr-sm-auto", 827 | "mr-sm-n1", 828 | "mr-sm-n2", 829 | "mr-sm-n3", 830 | "mr-sm-n4", 831 | "mr-sm-n5", 832 | "mr-xl-0", 833 | "mr-xl-1", 834 | "mr-xl-2", 835 | "mr-xl-3", 836 | "mr-xl-4", 837 | "mr-xl-5", 838 | "mr-xl-auto", 839 | "mr-xl-n1", 840 | "mr-xl-n2", 841 | "mr-xl-n3", 842 | "mr-xl-n4", 843 | "mr-xl-n5", 844 | "mt-0", 845 | "mt-1", 846 | "mt-2", 847 | "mt-3", 848 | "mt-4", 849 | "mt-5", 850 | "mt-auto", 851 | "mt-lg-0", 852 | "mt-lg-1", 853 | "mt-lg-2", 854 | "mt-lg-3", 855 | "mt-lg-4", 856 | "mt-lg-5", 857 | "mt-lg-auto", 858 | "mt-lg-n1", 859 | "mt-lg-n2", 860 | "mt-lg-n3", 861 | "mt-lg-n4", 862 | "mt-lg-n5", 863 | "mt-md-0", 864 | "mt-md-1", 865 | "mt-md-2", 866 | "mt-md-3", 867 | "mt-md-4", 868 | "mt-md-5", 869 | "mt-md-auto", 870 | "mt-md-n1", 871 | "mt-md-n2", 872 | "mt-md-n3", 873 | "mt-md-n4", 874 | "mt-md-n5", 875 | "mt-n1", 876 | "mt-n2", 877 | "mt-n3", 878 | "mt-n4", 879 | "mt-n5", 880 | "mt-sm-0", 881 | "mt-sm-1", 882 | "mt-sm-2", 883 | "mt-sm-3", 884 | "mt-sm-4", 885 | "mt-sm-5", 886 | "mt-sm-auto", 887 | "mt-sm-n1", 888 | "mt-sm-n2", 889 | "mt-sm-n3", 890 | "mt-sm-n4", 891 | "mt-sm-n5", 892 | "mt-xl-0", 893 | "mt-xl-1", 894 | "mt-xl-2", 895 | "mt-xl-3", 896 | "mt-xl-4", 897 | "mt-xl-5", 898 | "mt-xl-auto", 899 | "mt-xl-n1", 900 | "mt-xl-n2", 901 | "mt-xl-n3", 902 | "mt-xl-n4", 903 | "mt-xl-n5", 904 | "mw-100", 905 | "mx-0", 906 | "mx-1", 907 | "mx-2", 908 | "mx-3", 909 | "mx-4", 910 | "mx-5", 911 | "mx-auto", 912 | "mx-lg-0", 913 | "mx-lg-1", 914 | "mx-lg-2", 915 | "mx-lg-3", 916 | "mx-lg-4", 917 | "mx-lg-5", 918 | "mx-lg-auto", 919 | "mx-lg-n1", 920 | "mx-lg-n2", 921 | "mx-lg-n3", 922 | "mx-lg-n4", 923 | "mx-lg-n5", 924 | "mx-md-0", 925 | "mx-md-1", 926 | "mx-md-2", 927 | "mx-md-3", 928 | "mx-md-4", 929 | "mx-md-5", 930 | "mx-md-auto", 931 | "mx-md-n1", 932 | "mx-md-n2", 933 | "mx-md-n3", 934 | "mx-md-n4", 935 | "mx-md-n5", 936 | "mx-n1", 937 | "mx-n2", 938 | "mx-n3", 939 | "mx-n4", 940 | "mx-n5", 941 | "mx-sm-0", 942 | "mx-sm-1", 943 | "mx-sm-2", 944 | "mx-sm-3", 945 | "mx-sm-4", 946 | "mx-sm-5", 947 | "mx-sm-auto", 948 | "mx-sm-n1", 949 | "mx-sm-n2", 950 | "mx-sm-n3", 951 | "mx-sm-n4", 952 | "mx-sm-n5", 953 | "mx-xl-0", 954 | "mx-xl-1", 955 | "mx-xl-2", 956 | "mx-xl-3", 957 | "mx-xl-4", 958 | "mx-xl-5", 959 | "mx-xl-auto", 960 | "mx-xl-n1", 961 | "mx-xl-n2", 962 | "mx-xl-n3", 963 | "mx-xl-n4", 964 | "mx-xl-n5", 965 | "my-0", 966 | "my-1", 967 | "my-2", 968 | "my-3", 969 | "my-4", 970 | "my-5", 971 | "my-auto", 972 | "my-lg-0", 973 | "my-lg-1", 974 | "my-lg-2", 975 | "my-lg-3", 976 | "my-lg-4", 977 | "my-lg-5", 978 | "my-lg-auto", 979 | "my-lg-n1", 980 | "my-lg-n2", 981 | "my-lg-n3", 982 | "my-lg-n4", 983 | "my-lg-n5", 984 | "my-md-0", 985 | "my-md-1", 986 | "my-md-2", 987 | "my-md-3", 988 | "my-md-4", 989 | "my-md-5", 990 | "my-md-auto", 991 | "my-md-n1", 992 | "my-md-n2", 993 | "my-md-n3", 994 | "my-md-n4", 995 | "my-md-n5", 996 | "my-n1", 997 | "my-n2", 998 | "my-n3", 999 | "my-n4", 1000 | "my-n5", 1001 | "my-sm-0", 1002 | "my-sm-1", 1003 | "my-sm-2", 1004 | "my-sm-3", 1005 | "my-sm-4", 1006 | "my-sm-5", 1007 | "my-sm-auto", 1008 | "my-sm-n1", 1009 | "my-sm-n2", 1010 | "my-sm-n3", 1011 | "my-sm-n4", 1012 | "my-sm-n5", 1013 | "my-xl-0", 1014 | "my-xl-1", 1015 | "my-xl-2", 1016 | "my-xl-3", 1017 | "my-xl-4", 1018 | "my-xl-5", 1019 | "my-xl-auto", 1020 | "my-xl-n1", 1021 | "my-xl-n2", 1022 | "my-xl-n3", 1023 | "my-xl-n4", 1024 | "my-xl-n5", 1025 | "nav", 1026 | "nav-fill", 1027 | "nav-item", 1028 | "nav-justified", 1029 | "nav-link", 1030 | "nav-pills", 1031 | "nav-tabs", 1032 | "navbar", 1033 | "navbar-brand", 1034 | "navbar-collapse", 1035 | "navbar-dark", 1036 | "navbar-expand", 1037 | "navbar-expand-lg", 1038 | "navbar-expand-md", 1039 | "navbar-expand-sm", 1040 | "navbar-expand-xl", 1041 | "navbar-light", 1042 | "navbar-nav", 1043 | "navbar-nav-scroll", 1044 | "navbar-text", 1045 | "navbar-toggler", 1046 | "navbar-toggler-icon", 1047 | "no-gutters", 1048 | "offset-1", 1049 | "offset-10", 1050 | "offset-11", 1051 | "offset-2", 1052 | "offset-3", 1053 | "offset-4", 1054 | "offset-5", 1055 | "offset-6", 1056 | "offset-7", 1057 | "offset-8", 1058 | "offset-9", 1059 | "offset-lg-0", 1060 | "offset-lg-1", 1061 | "offset-lg-10", 1062 | "offset-lg-11", 1063 | "offset-lg-2", 1064 | "offset-lg-3", 1065 | "offset-lg-4", 1066 | "offset-lg-5", 1067 | "offset-lg-6", 1068 | "offset-lg-7", 1069 | "offset-lg-8", 1070 | "offset-lg-9", 1071 | "offset-md-0", 1072 | "offset-md-1", 1073 | "offset-md-10", 1074 | "offset-md-11", 1075 | "offset-md-2", 1076 | "offset-md-3", 1077 | "offset-md-4", 1078 | "offset-md-5", 1079 | "offset-md-6", 1080 | "offset-md-7", 1081 | "offset-md-8", 1082 | "offset-md-9", 1083 | "offset-sm-0", 1084 | "offset-sm-1", 1085 | "offset-sm-10", 1086 | "offset-sm-11", 1087 | "offset-sm-2", 1088 | "offset-sm-3", 1089 | "offset-sm-4", 1090 | "offset-sm-5", 1091 | "offset-sm-6", 1092 | "offset-sm-7", 1093 | "offset-sm-8", 1094 | "offset-sm-9", 1095 | "offset-xl-0", 1096 | "offset-xl-1", 1097 | "offset-xl-10", 1098 | "offset-xl-11", 1099 | "offset-xl-2", 1100 | "offset-xl-3", 1101 | "offset-xl-4", 1102 | "offset-xl-5", 1103 | "offset-xl-6", 1104 | "offset-xl-7", 1105 | "offset-xl-8", 1106 | "offset-xl-9", 1107 | "order-0", 1108 | "order-1", 1109 | "order-10", 1110 | "order-11", 1111 | "order-12", 1112 | "order-2", 1113 | "order-3", 1114 | "order-4", 1115 | "order-5", 1116 | "order-6", 1117 | "order-7", 1118 | "order-8", 1119 | "order-9", 1120 | "order-first", 1121 | "order-last", 1122 | "order-lg-0", 1123 | "order-lg-1", 1124 | "order-lg-10", 1125 | "order-lg-11", 1126 | "order-lg-12", 1127 | "order-lg-2", 1128 | "order-lg-3", 1129 | "order-lg-4", 1130 | "order-lg-5", 1131 | "order-lg-6", 1132 | "order-lg-7", 1133 | "order-lg-8", 1134 | "order-lg-9", 1135 | "order-lg-first", 1136 | "order-lg-last", 1137 | "order-md-0", 1138 | "order-md-1", 1139 | "order-md-10", 1140 | "order-md-11", 1141 | "order-md-12", 1142 | "order-md-2", 1143 | "order-md-3", 1144 | "order-md-4", 1145 | "order-md-5", 1146 | "order-md-6", 1147 | "order-md-7", 1148 | "order-md-8", 1149 | "order-md-9", 1150 | "order-md-first", 1151 | "order-md-last", 1152 | "order-sm-0", 1153 | "order-sm-1", 1154 | "order-sm-10", 1155 | "order-sm-11", 1156 | "order-sm-12", 1157 | "order-sm-2", 1158 | "order-sm-3", 1159 | "order-sm-4", 1160 | "order-sm-5", 1161 | "order-sm-6", 1162 | "order-sm-7", 1163 | "order-sm-8", 1164 | "order-sm-9", 1165 | "order-sm-first", 1166 | "order-sm-last", 1167 | "order-xl-0", 1168 | "order-xl-1", 1169 | "order-xl-10", 1170 | "order-xl-11", 1171 | "order-xl-12", 1172 | "order-xl-2", 1173 | "order-xl-3", 1174 | "order-xl-4", 1175 | "order-xl-5", 1176 | "order-xl-6", 1177 | "order-xl-7", 1178 | "order-xl-8", 1179 | "order-xl-9", 1180 | "order-xl-first", 1181 | "order-xl-last", 1182 | "overflow-auto", 1183 | "overflow-hidden", 1184 | "p-0", 1185 | "p-1", 1186 | "p-2", 1187 | "p-3", 1188 | "p-4", 1189 | "p-5", 1190 | "p-lg-0", 1191 | "p-lg-1", 1192 | "p-lg-2", 1193 | "p-lg-3", 1194 | "p-lg-4", 1195 | "p-lg-5", 1196 | "p-md-0", 1197 | "p-md-1", 1198 | "p-md-2", 1199 | "p-md-3", 1200 | "p-md-4", 1201 | "p-md-5", 1202 | "p-sm-0", 1203 | "p-sm-1", 1204 | "p-sm-2", 1205 | "p-sm-3", 1206 | "p-sm-4", 1207 | "p-sm-5", 1208 | "p-xl-0", 1209 | "p-xl-1", 1210 | "p-xl-2", 1211 | "p-xl-3", 1212 | "p-xl-4", 1213 | "p-xl-5", 1214 | "page-item", 1215 | "page-link", 1216 | "pagination", 1217 | "pagination-lg", 1218 | "pagination-sm", 1219 | "pb-0", 1220 | "pb-1", 1221 | "pb-2", 1222 | "pb-3", 1223 | "pb-4", 1224 | "pb-5", 1225 | "pb-lg-0", 1226 | "pb-lg-1", 1227 | "pb-lg-2", 1228 | "pb-lg-3", 1229 | "pb-lg-4", 1230 | "pb-lg-5", 1231 | "pb-md-0", 1232 | "pb-md-1", 1233 | "pb-md-2", 1234 | "pb-md-3", 1235 | "pb-md-4", 1236 | "pb-md-5", 1237 | "pb-sm-0", 1238 | "pb-sm-1", 1239 | "pb-sm-2", 1240 | "pb-sm-3", 1241 | "pb-sm-4", 1242 | "pb-sm-5", 1243 | "pb-xl-0", 1244 | "pb-xl-1", 1245 | "pb-xl-2", 1246 | "pb-xl-3", 1247 | "pb-xl-4", 1248 | "pb-xl-5", 1249 | "pl-0", 1250 | "pl-1", 1251 | "pl-2", 1252 | "pl-3", 1253 | "pl-4", 1254 | "pl-5", 1255 | "pl-lg-0", 1256 | "pl-lg-1", 1257 | "pl-lg-2", 1258 | "pl-lg-3", 1259 | "pl-lg-4", 1260 | "pl-lg-5", 1261 | "pl-md-0", 1262 | "pl-md-1", 1263 | "pl-md-2", 1264 | "pl-md-3", 1265 | "pl-md-4", 1266 | "pl-md-5", 1267 | "pl-sm-0", 1268 | "pl-sm-1", 1269 | "pl-sm-2", 1270 | "pl-sm-3", 1271 | "pl-sm-4", 1272 | "pl-sm-5", 1273 | "pl-xl-0", 1274 | "pl-xl-1", 1275 | "pl-xl-2", 1276 | "pl-xl-3", 1277 | "pl-xl-4", 1278 | "pl-xl-5", 1279 | "pointer-event", 1280 | "popover", 1281 | "popover-body", 1282 | "popover-header", 1283 | "position-absolute", 1284 | "position-fixed", 1285 | "position-relative", 1286 | "position-static", 1287 | "position-sticky", 1288 | "pr-0", 1289 | "pr-1", 1290 | "pr-2", 1291 | "pr-3", 1292 | "pr-4", 1293 | "pr-5", 1294 | "pr-lg-0", 1295 | "pr-lg-1", 1296 | "pr-lg-2", 1297 | "pr-lg-3", 1298 | "pr-lg-4", 1299 | "pr-lg-5", 1300 | "pr-md-0", 1301 | "pr-md-1", 1302 | "pr-md-2", 1303 | "pr-md-3", 1304 | "pr-md-4", 1305 | "pr-md-5", 1306 | "pr-sm-0", 1307 | "pr-sm-1", 1308 | "pr-sm-2", 1309 | "pr-sm-3", 1310 | "pr-sm-4", 1311 | "pr-sm-5", 1312 | "pr-xl-0", 1313 | "pr-xl-1", 1314 | "pr-xl-2", 1315 | "pr-xl-3", 1316 | "pr-xl-4", 1317 | "pr-xl-5", 1318 | "pre-scrollable", 1319 | "progress", 1320 | "progress-bar", 1321 | "progress-bar-animated", 1322 | "progress-bar-striped", 1323 | "pt-0", 1324 | "pt-1", 1325 | "pt-2", 1326 | "pt-3", 1327 | "pt-4", 1328 | "pt-5", 1329 | "pt-lg-0", 1330 | "pt-lg-1", 1331 | "pt-lg-2", 1332 | "pt-lg-3", 1333 | "pt-lg-4", 1334 | "pt-lg-5", 1335 | "pt-md-0", 1336 | "pt-md-1", 1337 | "pt-md-2", 1338 | "pt-md-3", 1339 | "pt-md-4", 1340 | "pt-md-5", 1341 | "pt-sm-0", 1342 | "pt-sm-1", 1343 | "pt-sm-2", 1344 | "pt-sm-3", 1345 | "pt-sm-4", 1346 | "pt-sm-5", 1347 | "pt-xl-0", 1348 | "pt-xl-1", 1349 | "pt-xl-2", 1350 | "pt-xl-3", 1351 | "pt-xl-4", 1352 | "pt-xl-5", 1353 | "px-0", 1354 | "px-1", 1355 | "px-2", 1356 | "px-3", 1357 | "px-4", 1358 | "px-5", 1359 | "px-lg-0", 1360 | "px-lg-1", 1361 | "px-lg-2", 1362 | "px-lg-3", 1363 | "px-lg-4", 1364 | "px-lg-5", 1365 | "px-md-0", 1366 | "px-md-1", 1367 | "px-md-2", 1368 | "px-md-3", 1369 | "px-md-4", 1370 | "px-md-5", 1371 | "px-sm-0", 1372 | "px-sm-1", 1373 | "px-sm-2", 1374 | "px-sm-3", 1375 | "px-sm-4", 1376 | "px-sm-5", 1377 | "px-xl-0", 1378 | "px-xl-1", 1379 | "px-xl-2", 1380 | "px-xl-3", 1381 | "px-xl-4", 1382 | "px-xl-5", 1383 | "py-0", 1384 | "py-1", 1385 | "py-2", 1386 | "py-3", 1387 | "py-4", 1388 | "py-5", 1389 | "py-lg-0", 1390 | "py-lg-1", 1391 | "py-lg-2", 1392 | "py-lg-3", 1393 | "py-lg-4", 1394 | "py-lg-5", 1395 | "py-md-0", 1396 | "py-md-1", 1397 | "py-md-2", 1398 | "py-md-3", 1399 | "py-md-4", 1400 | "py-md-5", 1401 | "py-sm-0", 1402 | "py-sm-1", 1403 | "py-sm-2", 1404 | "py-sm-3", 1405 | "py-sm-4", 1406 | "py-sm-5", 1407 | "py-xl-0", 1408 | "py-xl-1", 1409 | "py-xl-2", 1410 | "py-xl-3", 1411 | "py-xl-4", 1412 | "py-xl-5", 1413 | "rounded", 1414 | "rounded-0", 1415 | "rounded-bottom", 1416 | "rounded-circle", 1417 | "rounded-left", 1418 | "rounded-lg", 1419 | "rounded-pill", 1420 | "rounded-right", 1421 | "rounded-sm", 1422 | "rounded-top", 1423 | "row", 1424 | "row-cols-1", 1425 | "row-cols-2", 1426 | "row-cols-3", 1427 | "row-cols-4", 1428 | "row-cols-5", 1429 | "row-cols-6", 1430 | "row-cols-lg-1", 1431 | "row-cols-lg-2", 1432 | "row-cols-lg-3", 1433 | "row-cols-lg-4", 1434 | "row-cols-lg-5", 1435 | "row-cols-lg-6", 1436 | "row-cols-md-1", 1437 | "row-cols-md-2", 1438 | "row-cols-md-3", 1439 | "row-cols-md-4", 1440 | "row-cols-md-5", 1441 | "row-cols-md-6", 1442 | "row-cols-sm-1", 1443 | "row-cols-sm-2", 1444 | "row-cols-sm-3", 1445 | "row-cols-sm-4", 1446 | "row-cols-sm-5", 1447 | "row-cols-sm-6", 1448 | "row-cols-xl-1", 1449 | "row-cols-xl-2", 1450 | "row-cols-xl-3", 1451 | "row-cols-xl-4", 1452 | "row-cols-xl-5", 1453 | "row-cols-xl-6", 1454 | "shadow", 1455 | "shadow-lg", 1456 | "shadow-none", 1457 | "shadow-sm", 1458 | "show", 1459 | "showing", 1460 | "small", 1461 | "spinner-border", 1462 | "spinner-border-sm", 1463 | "spinner-grow", 1464 | "spinner-grow-sm", 1465 | "sr-only", 1466 | "sr-only-focusable", 1467 | "sticky-top", 1468 | "stretched-link", 1469 | "tab-content", 1470 | "tab-pane", 1471 | "table", 1472 | "table-active", 1473 | "table-bordered", 1474 | "table-borderless", 1475 | "table-danger", 1476 | "table-dark", 1477 | "table-hover", 1478 | "table-info", 1479 | "table-light", 1480 | "table-primary", 1481 | "table-responsive", 1482 | "table-responsive-lg", 1483 | "table-responsive-md", 1484 | "table-responsive-sm", 1485 | "table-responsive-xl", 1486 | "table-secondary", 1487 | "table-sm", 1488 | "table-striped", 1489 | "table-success", 1490 | "table-warning", 1491 | "text-black-50", 1492 | "text-body", 1493 | "text-break", 1494 | "text-capitalize", 1495 | "text-center", 1496 | "text-danger", 1497 | "text-dark", 1498 | "text-decoration-none", 1499 | "text-hide", 1500 | "text-info", 1501 | "text-justify", 1502 | "text-left", 1503 | "text-lg-center", 1504 | "text-lg-left", 1505 | "text-lg-right", 1506 | "text-light", 1507 | "text-lowercase", 1508 | "text-md-center", 1509 | "text-md-left", 1510 | "text-md-right", 1511 | "text-monospace", 1512 | "text-muted", 1513 | "text-nowrap", 1514 | "text-primary", 1515 | "text-reset", 1516 | "text-right", 1517 | "text-secondary", 1518 | "text-sm-center", 1519 | "text-sm-left", 1520 | "text-sm-right", 1521 | "text-success", 1522 | "text-truncate", 1523 | "text-uppercase", 1524 | "text-warning", 1525 | "text-white", 1526 | "text-white-50", 1527 | "text-wrap", 1528 | "text-xl-center", 1529 | "text-xl-left", 1530 | "text-xl-right", 1531 | "thead-dark", 1532 | "thead-light", 1533 | "toast", 1534 | "toast-body", 1535 | "toast-header", 1536 | "tooltip", 1537 | "tooltip-inner", 1538 | "user-select-all", 1539 | "user-select-auto", 1540 | "user-select-none", 1541 | "valid-feedback", 1542 | "valid-tooltip", 1543 | "vh-100", 1544 | "visible", 1545 | "vw-100", 1546 | "w-100", 1547 | "w-25", 1548 | "w-50", 1549 | "w-75", 1550 | "w-auto", 1551 | "was-validated", 1552 | "width" 1553 | ] 1554 | } 1555 | -------------------------------------------------------------------------------- /db/5.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bootstrap", 3 | "version": "5", 4 | "classes": [ 5 | "accordion", 6 | "accordion-body", 7 | "accordion-button", 8 | "accordion-collapse", 9 | "accordion-flush", 10 | "accordion-header", 11 | "accordion-item", 12 | "active", 13 | "alert", 14 | "alert-danger", 15 | "alert-dark", 16 | "alert-dismissible", 17 | "alert-heading", 18 | "alert-info", 19 | "alert-light", 20 | "alert-link", 21 | "alert-primary", 22 | "alert-secondary", 23 | "alert-success", 24 | "alert-warning", 25 | "align-baseline", 26 | "align-bottom", 27 | "align-content-around", 28 | "align-content-between", 29 | "align-content-center", 30 | "align-content-end", 31 | "align-content-lg-around", 32 | "align-content-lg-between", 33 | "align-content-lg-center", 34 | "align-content-lg-end", 35 | "align-content-lg-start", 36 | "align-content-lg-stretch", 37 | "align-content-md-around", 38 | "align-content-md-between", 39 | "align-content-md-center", 40 | "align-content-md-end", 41 | "align-content-md-start", 42 | "align-content-md-stretch", 43 | "align-content-sm-around", 44 | "align-content-sm-between", 45 | "align-content-sm-center", 46 | "align-content-sm-end", 47 | "align-content-sm-start", 48 | "align-content-sm-stretch", 49 | "align-content-start", 50 | "align-content-stretch", 51 | "align-content-xl-around", 52 | "align-content-xl-between", 53 | "align-content-xl-center", 54 | "align-content-xl-end", 55 | "align-content-xl-start", 56 | "align-content-xl-stretch", 57 | "align-content-xxl-around", 58 | "align-content-xxl-between", 59 | "align-content-xxl-center", 60 | "align-content-xxl-end", 61 | "align-content-xxl-start", 62 | "align-content-xxl-stretch", 63 | "align-items-baseline", 64 | "align-items-center", 65 | "align-items-end", 66 | "align-items-lg-baseline", 67 | "align-items-lg-center", 68 | "align-items-lg-end", 69 | "align-items-lg-start", 70 | "align-items-lg-stretch", 71 | "align-items-md-baseline", 72 | "align-items-md-center", 73 | "align-items-md-end", 74 | "align-items-md-start", 75 | "align-items-md-stretch", 76 | "align-items-sm-baseline", 77 | "align-items-sm-center", 78 | "align-items-sm-end", 79 | "align-items-sm-start", 80 | "align-items-sm-stretch", 81 | "align-items-start", 82 | "align-items-stretch", 83 | "align-items-xl-baseline", 84 | "align-items-xl-center", 85 | "align-items-xl-end", 86 | "align-items-xl-start", 87 | "align-items-xl-stretch", 88 | "align-items-xxl-baseline", 89 | "align-items-xxl-center", 90 | "align-items-xxl-end", 91 | "align-items-xxl-start", 92 | "align-items-xxl-stretch", 93 | "align-middle", 94 | "align-self-auto", 95 | "align-self-baseline", 96 | "align-self-center", 97 | "align-self-end", 98 | "align-self-lg-auto", 99 | "align-self-lg-baseline", 100 | "align-self-lg-center", 101 | "align-self-lg-end", 102 | "align-self-lg-start", 103 | "align-self-lg-stretch", 104 | "align-self-md-auto", 105 | "align-self-md-baseline", 106 | "align-self-md-center", 107 | "align-self-md-end", 108 | "align-self-md-start", 109 | "align-self-md-stretch", 110 | "align-self-sm-auto", 111 | "align-self-sm-baseline", 112 | "align-self-sm-center", 113 | "align-self-sm-end", 114 | "align-self-sm-start", 115 | "align-self-sm-stretch", 116 | "align-self-start", 117 | "align-self-stretch", 118 | "align-self-xl-auto", 119 | "align-self-xl-baseline", 120 | "align-self-xl-center", 121 | "align-self-xl-end", 122 | "align-self-xl-start", 123 | "align-self-xl-stretch", 124 | "align-self-xxl-auto", 125 | "align-self-xxl-baseline", 126 | "align-self-xxl-center", 127 | "align-self-xxl-end", 128 | "align-self-xxl-start", 129 | "align-self-xxl-stretch", 130 | "align-text-bottom", 131 | "align-text-top", 132 | "align-top", 133 | "badge", 134 | "bg-black", 135 | "bg-body", 136 | "bg-body-secondary", 137 | "bg-body-tertiary", 138 | "bg-danger", 139 | "bg-danger-subtle", 140 | "bg-dark", 141 | "bg-dark-subtle", 142 | "bg-gradient", 143 | "bg-info", 144 | "bg-info-subtle", 145 | "bg-light", 146 | "bg-light-subtle", 147 | "bg-opacity-10", 148 | "bg-opacity-100", 149 | "bg-opacity-25", 150 | "bg-opacity-50", 151 | "bg-opacity-75", 152 | "bg-primary", 153 | "bg-primary-subtle", 154 | "bg-secondary", 155 | "bg-secondary-subtle", 156 | "bg-success", 157 | "bg-success-subtle", 158 | "bg-transparent", 159 | "bg-warning", 160 | "bg-warning-subtle", 161 | "bg-white", 162 | "bi", 163 | "blockquote", 164 | "blockquote-footer", 165 | "border", 166 | "border-0", 167 | "border-1", 168 | "border-2", 169 | "border-3", 170 | "border-4", 171 | "border-5", 172 | "border-black", 173 | "border-bottom", 174 | "border-bottom-0", 175 | "border-danger", 176 | "border-danger-subtle", 177 | "border-dark", 178 | "border-dark-subtle", 179 | "border-end", 180 | "border-end-0", 181 | "border-info", 182 | "border-info-subtle", 183 | "border-light", 184 | "border-light-subtle", 185 | "border-opacity-10", 186 | "border-opacity-100", 187 | "border-opacity-25", 188 | "border-opacity-50", 189 | "border-opacity-75", 190 | "border-primary", 191 | "border-primary-subtle", 192 | "border-secondary", 193 | "border-secondary-subtle", 194 | "border-start", 195 | "border-start-0", 196 | "border-success", 197 | "border-success-subtle", 198 | "border-top", 199 | "border-top-0", 200 | "border-warning", 201 | "border-warning-subtle", 202 | "border-white", 203 | "bottom-0", 204 | "bottom-100", 205 | "bottom-50", 206 | "breadcrumb", 207 | "breadcrumb-item", 208 | "bs-popover-auto", 209 | "bs-popover-bottom", 210 | "bs-popover-end", 211 | "bs-popover-start", 212 | "bs-popover-top", 213 | "bs-tooltip-auto", 214 | "bs-tooltip-bottom", 215 | "bs-tooltip-end", 216 | "bs-tooltip-start", 217 | "bs-tooltip-top", 218 | "btn", 219 | "btn-check", 220 | "btn-close", 221 | "btn-close-white", 222 | "btn-danger", 223 | "btn-dark", 224 | "btn-group", 225 | "btn-group-lg", 226 | "btn-group-sm", 227 | "btn-group-vertical", 228 | "btn-info", 229 | "btn-lg", 230 | "btn-light", 231 | "btn-link", 232 | "btn-outline-danger", 233 | "btn-outline-dark", 234 | "btn-outline-info", 235 | "btn-outline-light", 236 | "btn-outline-primary", 237 | "btn-outline-secondary", 238 | "btn-outline-success", 239 | "btn-outline-warning", 240 | "btn-primary", 241 | "btn-secondary", 242 | "btn-sm", 243 | "btn-success", 244 | "btn-toolbar", 245 | "btn-warning", 246 | "caption-top", 247 | "card", 248 | "card-body", 249 | "card-footer", 250 | "card-group", 251 | "card-header", 252 | "card-header-pills", 253 | "card-header-tabs", 254 | "card-img", 255 | "card-img-bottom", 256 | "card-img-overlay", 257 | "card-img-top", 258 | "card-link", 259 | "card-subtitle", 260 | "card-text", 261 | "card-title", 262 | "carousel", 263 | "carousel-caption", 264 | "carousel-control-next", 265 | "carousel-control-next-icon", 266 | "carousel-control-prev", 267 | "carousel-control-prev-icon", 268 | "carousel-dark", 269 | "carousel-fade", 270 | "carousel-indicators", 271 | "carousel-inner", 272 | "carousel-item", 273 | "carousel-item-end", 274 | "carousel-item-next", 275 | "carousel-item-prev", 276 | "carousel-item-start", 277 | "clearfix", 278 | "col", 279 | "col-1", 280 | "col-10", 281 | "col-11", 282 | "col-12", 283 | "col-2", 284 | "col-3", 285 | "col-4", 286 | "col-5", 287 | "col-6", 288 | "col-7", 289 | "col-8", 290 | "col-9", 291 | "col-auto", 292 | "col-form-label", 293 | "col-form-label-lg", 294 | "col-form-label-sm", 295 | "col-lg", 296 | "col-lg-1", 297 | "col-lg-10", 298 | "col-lg-11", 299 | "col-lg-12", 300 | "col-lg-2", 301 | "col-lg-3", 302 | "col-lg-4", 303 | "col-lg-5", 304 | "col-lg-6", 305 | "col-lg-7", 306 | "col-lg-8", 307 | "col-lg-9", 308 | "col-lg-auto", 309 | "col-md", 310 | "col-md-1", 311 | "col-md-10", 312 | "col-md-11", 313 | "col-md-12", 314 | "col-md-2", 315 | "col-md-3", 316 | "col-md-4", 317 | "col-md-5", 318 | "col-md-6", 319 | "col-md-7", 320 | "col-md-8", 321 | "col-md-9", 322 | "col-md-auto", 323 | "col-sm", 324 | "col-sm-1", 325 | "col-sm-10", 326 | "col-sm-11", 327 | "col-sm-12", 328 | "col-sm-2", 329 | "col-sm-3", 330 | "col-sm-4", 331 | "col-sm-5", 332 | "col-sm-6", 333 | "col-sm-7", 334 | "col-sm-8", 335 | "col-sm-9", 336 | "col-sm-auto", 337 | "col-xl", 338 | "col-xl-1", 339 | "col-xl-10", 340 | "col-xl-11", 341 | "col-xl-12", 342 | "col-xl-2", 343 | "col-xl-3", 344 | "col-xl-4", 345 | "col-xl-5", 346 | "col-xl-6", 347 | "col-xl-7", 348 | "col-xl-8", 349 | "col-xl-9", 350 | "col-xl-auto", 351 | "col-xxl", 352 | "col-xxl-1", 353 | "col-xxl-10", 354 | "col-xxl-11", 355 | "col-xxl-12", 356 | "col-xxl-2", 357 | "col-xxl-3", 358 | "col-xxl-4", 359 | "col-xxl-5", 360 | "col-xxl-6", 361 | "col-xxl-7", 362 | "col-xxl-8", 363 | "col-xxl-9", 364 | "col-xxl-auto", 365 | "collapse", 366 | "collapse-horizontal", 367 | "collapsed", 368 | "collapsing", 369 | "column-gap-0", 370 | "column-gap-1", 371 | "column-gap-2", 372 | "column-gap-3", 373 | "column-gap-4", 374 | "column-gap-5", 375 | "column-gap-lg-0", 376 | "column-gap-lg-1", 377 | "column-gap-lg-2", 378 | "column-gap-lg-3", 379 | "column-gap-lg-4", 380 | "column-gap-lg-5", 381 | "column-gap-md-0", 382 | "column-gap-md-1", 383 | "column-gap-md-2", 384 | "column-gap-md-3", 385 | "column-gap-md-4", 386 | "column-gap-md-5", 387 | "column-gap-sm-0", 388 | "column-gap-sm-1", 389 | "column-gap-sm-2", 390 | "column-gap-sm-3", 391 | "column-gap-sm-4", 392 | "column-gap-sm-5", 393 | "column-gap-xl-0", 394 | "column-gap-xl-1", 395 | "column-gap-xl-2", 396 | "column-gap-xl-3", 397 | "column-gap-xl-4", 398 | "column-gap-xl-5", 399 | "column-gap-xxl-0", 400 | "column-gap-xxl-1", 401 | "column-gap-xxl-2", 402 | "column-gap-xxl-3", 403 | "column-gap-xxl-4", 404 | "column-gap-xxl-5", 405 | "container", 406 | "container-fluid", 407 | "container-lg", 408 | "container-md", 409 | "container-sm", 410 | "container-xl", 411 | "container-xxl", 412 | "d-block", 413 | "d-flex", 414 | "d-grid", 415 | "d-inline", 416 | "d-inline-block", 417 | "d-inline-flex", 418 | "d-inline-grid", 419 | "d-lg-block", 420 | "d-lg-flex", 421 | "d-lg-grid", 422 | "d-lg-inline", 423 | "d-lg-inline-block", 424 | "d-lg-inline-flex", 425 | "d-lg-inline-grid", 426 | "d-lg-none", 427 | "d-lg-table", 428 | "d-lg-table-cell", 429 | "d-lg-table-row", 430 | "d-md-block", 431 | "d-md-flex", 432 | "d-md-grid", 433 | "d-md-inline", 434 | "d-md-inline-block", 435 | "d-md-inline-flex", 436 | "d-md-inline-grid", 437 | "d-md-none", 438 | "d-md-table", 439 | "d-md-table-cell", 440 | "d-md-table-row", 441 | "d-none", 442 | "d-print-block", 443 | "d-print-flex", 444 | "d-print-grid", 445 | "d-print-inline", 446 | "d-print-inline-block", 447 | "d-print-inline-flex", 448 | "d-print-inline-grid", 449 | "d-print-none", 450 | "d-print-table", 451 | "d-print-table-cell", 452 | "d-print-table-row", 453 | "d-sm-block", 454 | "d-sm-flex", 455 | "d-sm-grid", 456 | "d-sm-inline", 457 | "d-sm-inline-block", 458 | "d-sm-inline-flex", 459 | "d-sm-inline-grid", 460 | "d-sm-none", 461 | "d-sm-table", 462 | "d-sm-table-cell", 463 | "d-sm-table-row", 464 | "d-table", 465 | "d-table-cell", 466 | "d-table-row", 467 | "d-xl-block", 468 | "d-xl-flex", 469 | "d-xl-grid", 470 | "d-xl-inline", 471 | "d-xl-inline-block", 472 | "d-xl-inline-flex", 473 | "d-xl-inline-grid", 474 | "d-xl-none", 475 | "d-xl-table", 476 | "d-xl-table-cell", 477 | "d-xl-table-row", 478 | "d-xxl-block", 479 | "d-xxl-flex", 480 | "d-xxl-grid", 481 | "d-xxl-inline", 482 | "d-xxl-inline-block", 483 | "d-xxl-inline-flex", 484 | "d-xxl-inline-grid", 485 | "d-xxl-none", 486 | "d-xxl-table", 487 | "d-xxl-table-cell", 488 | "d-xxl-table-row", 489 | "disabled", 490 | "display-1", 491 | "display-2", 492 | "display-3", 493 | "display-4", 494 | "display-5", 495 | "display-6", 496 | "dropdown", 497 | "dropdown-center", 498 | "dropdown-divider", 499 | "dropdown-header", 500 | "dropdown-item", 501 | "dropdown-item-text", 502 | "dropdown-menu", 503 | "dropdown-menu-dark", 504 | "dropdown-menu-end", 505 | "dropdown-menu-lg-end", 506 | "dropdown-menu-lg-start", 507 | "dropdown-menu-md-end", 508 | "dropdown-menu-md-start", 509 | "dropdown-menu-sm-end", 510 | "dropdown-menu-sm-start", 511 | "dropdown-menu-start", 512 | "dropdown-menu-xl-end", 513 | "dropdown-menu-xl-start", 514 | "dropdown-menu-xxl-end", 515 | "dropdown-menu-xxl-start", 516 | "dropdown-toggle", 517 | "dropdown-toggle-split", 518 | "dropend", 519 | "dropstart", 520 | "dropup", 521 | "dropup-center", 522 | "end-0", 523 | "end-100", 524 | "end-50", 525 | "fade", 526 | "figure", 527 | "figure-caption", 528 | "figure-img", 529 | "fixed-bottom", 530 | "fixed-top", 531 | "flex-column", 532 | "flex-column-reverse", 533 | "flex-fill", 534 | "flex-grow-0", 535 | "flex-grow-1", 536 | "flex-lg-column", 537 | "flex-lg-column-reverse", 538 | "flex-lg-fill", 539 | "flex-lg-grow-0", 540 | "flex-lg-grow-1", 541 | "flex-lg-nowrap", 542 | "flex-lg-row", 543 | "flex-lg-row-reverse", 544 | "flex-lg-shrink-0", 545 | "flex-lg-shrink-1", 546 | "flex-lg-wrap", 547 | "flex-lg-wrap-reverse", 548 | "flex-md-column", 549 | "flex-md-column-reverse", 550 | "flex-md-fill", 551 | "flex-md-grow-0", 552 | "flex-md-grow-1", 553 | "flex-md-nowrap", 554 | "flex-md-row", 555 | "flex-md-row-reverse", 556 | "flex-md-shrink-0", 557 | "flex-md-shrink-1", 558 | "flex-md-wrap", 559 | "flex-md-wrap-reverse", 560 | "flex-nowrap", 561 | "flex-row", 562 | "flex-row-reverse", 563 | "flex-shrink-0", 564 | "flex-shrink-1", 565 | "flex-sm-column", 566 | "flex-sm-column-reverse", 567 | "flex-sm-fill", 568 | "flex-sm-grow-0", 569 | "flex-sm-grow-1", 570 | "flex-sm-nowrap", 571 | "flex-sm-row", 572 | "flex-sm-row-reverse", 573 | "flex-sm-shrink-0", 574 | "flex-sm-shrink-1", 575 | "flex-sm-wrap", 576 | "flex-sm-wrap-reverse", 577 | "flex-wrap", 578 | "flex-wrap-reverse", 579 | "flex-xl-column", 580 | "flex-xl-column-reverse", 581 | "flex-xl-fill", 582 | "flex-xl-grow-0", 583 | "flex-xl-grow-1", 584 | "flex-xl-nowrap", 585 | "flex-xl-row", 586 | "flex-xl-row-reverse", 587 | "flex-xl-shrink-0", 588 | "flex-xl-shrink-1", 589 | "flex-xl-wrap", 590 | "flex-xl-wrap-reverse", 591 | "flex-xxl-column", 592 | "flex-xxl-column-reverse", 593 | "flex-xxl-fill", 594 | "flex-xxl-grow-0", 595 | "flex-xxl-grow-1", 596 | "flex-xxl-nowrap", 597 | "flex-xxl-row", 598 | "flex-xxl-row-reverse", 599 | "flex-xxl-shrink-0", 600 | "flex-xxl-shrink-1", 601 | "flex-xxl-wrap", 602 | "flex-xxl-wrap-reverse", 603 | "float-end", 604 | "float-lg-end", 605 | "float-lg-none", 606 | "float-lg-start", 607 | "float-md-end", 608 | "float-md-none", 609 | "float-md-start", 610 | "float-none", 611 | "float-sm-end", 612 | "float-sm-none", 613 | "float-sm-start", 614 | "float-start", 615 | "float-xl-end", 616 | "float-xl-none", 617 | "float-xl-start", 618 | "float-xxl-end", 619 | "float-xxl-none", 620 | "float-xxl-start", 621 | "focus-ring", 622 | "focus-ring-danger", 623 | "focus-ring-dark", 624 | "focus-ring-info", 625 | "focus-ring-light", 626 | "focus-ring-primary", 627 | "focus-ring-secondary", 628 | "focus-ring-success", 629 | "focus-ring-warning", 630 | "font-monospace", 631 | "form-check", 632 | "form-check-inline", 633 | "form-check-input", 634 | "form-check-label", 635 | "form-check-reverse", 636 | "form-control", 637 | "form-control-color", 638 | "form-control-lg", 639 | "form-control-plaintext", 640 | "form-control-sm", 641 | "form-floating", 642 | "form-label", 643 | "form-range", 644 | "form-select", 645 | "form-select-lg", 646 | "form-select-sm", 647 | "form-switch", 648 | "form-text", 649 | "fs-1", 650 | "fs-2", 651 | "fs-3", 652 | "fs-4", 653 | "fs-5", 654 | "fs-6", 655 | "fst-italic", 656 | "fst-normal", 657 | "fw-bold", 658 | "fw-bolder", 659 | "fw-light", 660 | "fw-lighter", 661 | "fw-medium", 662 | "fw-normal", 663 | "fw-semibold", 664 | "g-0", 665 | "g-1", 666 | "g-2", 667 | "g-3", 668 | "g-4", 669 | "g-5", 670 | "g-lg-0", 671 | "g-lg-1", 672 | "g-lg-2", 673 | "g-lg-3", 674 | "g-lg-4", 675 | "g-lg-5", 676 | "g-md-0", 677 | "g-md-1", 678 | "g-md-2", 679 | "g-md-3", 680 | "g-md-4", 681 | "g-md-5", 682 | "g-sm-0", 683 | "g-sm-1", 684 | "g-sm-2", 685 | "g-sm-3", 686 | "g-sm-4", 687 | "g-sm-5", 688 | "g-xl-0", 689 | "g-xl-1", 690 | "g-xl-2", 691 | "g-xl-3", 692 | "g-xl-4", 693 | "g-xl-5", 694 | "g-xxl-0", 695 | "g-xxl-1", 696 | "g-xxl-2", 697 | "g-xxl-3", 698 | "g-xxl-4", 699 | "g-xxl-5", 700 | "gap-0", 701 | "gap-1", 702 | "gap-2", 703 | "gap-3", 704 | "gap-4", 705 | "gap-5", 706 | "gap-lg-0", 707 | "gap-lg-1", 708 | "gap-lg-2", 709 | "gap-lg-3", 710 | "gap-lg-4", 711 | "gap-lg-5", 712 | "gap-md-0", 713 | "gap-md-1", 714 | "gap-md-2", 715 | "gap-md-3", 716 | "gap-md-4", 717 | "gap-md-5", 718 | "gap-sm-0", 719 | "gap-sm-1", 720 | "gap-sm-2", 721 | "gap-sm-3", 722 | "gap-sm-4", 723 | "gap-sm-5", 724 | "gap-xl-0", 725 | "gap-xl-1", 726 | "gap-xl-2", 727 | "gap-xl-3", 728 | "gap-xl-4", 729 | "gap-xl-5", 730 | "gap-xxl-0", 731 | "gap-xxl-1", 732 | "gap-xxl-2", 733 | "gap-xxl-3", 734 | "gap-xxl-4", 735 | "gap-xxl-5", 736 | "gx-0", 737 | "gx-1", 738 | "gx-2", 739 | "gx-3", 740 | "gx-4", 741 | "gx-5", 742 | "gx-lg-0", 743 | "gx-lg-1", 744 | "gx-lg-2", 745 | "gx-lg-3", 746 | "gx-lg-4", 747 | "gx-lg-5", 748 | "gx-md-0", 749 | "gx-md-1", 750 | "gx-md-2", 751 | "gx-md-3", 752 | "gx-md-4", 753 | "gx-md-5", 754 | "gx-sm-0", 755 | "gx-sm-1", 756 | "gx-sm-2", 757 | "gx-sm-3", 758 | "gx-sm-4", 759 | "gx-sm-5", 760 | "gx-xl-0", 761 | "gx-xl-1", 762 | "gx-xl-2", 763 | "gx-xl-3", 764 | "gx-xl-4", 765 | "gx-xl-5", 766 | "gx-xxl-0", 767 | "gx-xxl-1", 768 | "gx-xxl-2", 769 | "gx-xxl-3", 770 | "gx-xxl-4", 771 | "gx-xxl-5", 772 | "gy-0", 773 | "gy-1", 774 | "gy-2", 775 | "gy-3", 776 | "gy-4", 777 | "gy-5", 778 | "gy-lg-0", 779 | "gy-lg-1", 780 | "gy-lg-2", 781 | "gy-lg-3", 782 | "gy-lg-4", 783 | "gy-lg-5", 784 | "gy-md-0", 785 | "gy-md-1", 786 | "gy-md-2", 787 | "gy-md-3", 788 | "gy-md-4", 789 | "gy-md-5", 790 | "gy-sm-0", 791 | "gy-sm-1", 792 | "gy-sm-2", 793 | "gy-sm-3", 794 | "gy-sm-4", 795 | "gy-sm-5", 796 | "gy-xl-0", 797 | "gy-xl-1", 798 | "gy-xl-2", 799 | "gy-xl-3", 800 | "gy-xl-4", 801 | "gy-xl-5", 802 | "gy-xxl-0", 803 | "gy-xxl-1", 804 | "gy-xxl-2", 805 | "gy-xxl-3", 806 | "gy-xxl-4", 807 | "gy-xxl-5", 808 | "h-100", 809 | "h-25", 810 | "h-50", 811 | "h-75", 812 | "h-auto", 813 | "h1", 814 | "h2", 815 | "h3", 816 | "h4", 817 | "h5", 818 | "h6", 819 | "has-validation", 820 | "hiding", 821 | "hstack", 822 | "icon-link", 823 | "icon-link-hover", 824 | "img-fluid", 825 | "img-thumbnail", 826 | "initialism", 827 | "input-group", 828 | "input-group-lg", 829 | "input-group-sm", 830 | "input-group-text", 831 | "invalid-feedback", 832 | "invalid-tooltip", 833 | "invisible", 834 | "is-invalid", 835 | "is-valid", 836 | "justify-content-around", 837 | "justify-content-between", 838 | "justify-content-center", 839 | "justify-content-end", 840 | "justify-content-evenly", 841 | "justify-content-lg-around", 842 | "justify-content-lg-between", 843 | "justify-content-lg-center", 844 | "justify-content-lg-end", 845 | "justify-content-lg-evenly", 846 | "justify-content-lg-start", 847 | "justify-content-md-around", 848 | "justify-content-md-between", 849 | "justify-content-md-center", 850 | "justify-content-md-end", 851 | "justify-content-md-evenly", 852 | "justify-content-md-start", 853 | "justify-content-sm-around", 854 | "justify-content-sm-between", 855 | "justify-content-sm-center", 856 | "justify-content-sm-end", 857 | "justify-content-sm-evenly", 858 | "justify-content-sm-start", 859 | "justify-content-start", 860 | "justify-content-xl-around", 861 | "justify-content-xl-between", 862 | "justify-content-xl-center", 863 | "justify-content-xl-end", 864 | "justify-content-xl-evenly", 865 | "justify-content-xl-start", 866 | "justify-content-xxl-around", 867 | "justify-content-xxl-between", 868 | "justify-content-xxl-center", 869 | "justify-content-xxl-end", 870 | "justify-content-xxl-evenly", 871 | "justify-content-xxl-start", 872 | "lead", 873 | "lh-1", 874 | "lh-base", 875 | "lh-lg", 876 | "lh-sm", 877 | "link-body-emphasis", 878 | "link-danger", 879 | "link-dark", 880 | "link-info", 881 | "link-light", 882 | "link-offset-1", 883 | "link-offset-1-hover", 884 | "link-offset-2", 885 | "link-offset-2-hover", 886 | "link-offset-3", 887 | "link-offset-3-hover", 888 | "link-opacity-10", 889 | "link-opacity-10-hover", 890 | "link-opacity-100", 891 | "link-opacity-100-hover", 892 | "link-opacity-25", 893 | "link-opacity-25-hover", 894 | "link-opacity-50", 895 | "link-opacity-50-hover", 896 | "link-opacity-75", 897 | "link-opacity-75-hover", 898 | "link-primary", 899 | "link-secondary", 900 | "link-success", 901 | "link-underline", 902 | "link-underline-danger", 903 | "link-underline-dark", 904 | "link-underline-info", 905 | "link-underline-light", 906 | "link-underline-opacity-0", 907 | "link-underline-opacity-0-hover", 908 | "link-underline-opacity-10", 909 | "link-underline-opacity-10-hover", 910 | "link-underline-opacity-100", 911 | "link-underline-opacity-100-hover", 912 | "link-underline-opacity-25", 913 | "link-underline-opacity-25-hover", 914 | "link-underline-opacity-50", 915 | "link-underline-opacity-50-hover", 916 | "link-underline-opacity-75", 917 | "link-underline-opacity-75-hover", 918 | "link-underline-primary", 919 | "link-underline-secondary", 920 | "link-underline-success", 921 | "link-underline-warning", 922 | "link-warning", 923 | "list-group", 924 | "list-group-flush", 925 | "list-group-horizontal", 926 | "list-group-horizontal-lg", 927 | "list-group-horizontal-md", 928 | "list-group-horizontal-sm", 929 | "list-group-horizontal-xl", 930 | "list-group-horizontal-xxl", 931 | "list-group-item", 932 | "list-group-item-action", 933 | "list-group-item-danger", 934 | "list-group-item-dark", 935 | "list-group-item-info", 936 | "list-group-item-light", 937 | "list-group-item-primary", 938 | "list-group-item-secondary", 939 | "list-group-item-success", 940 | "list-group-item-warning", 941 | "list-group-numbered", 942 | "list-inline", 943 | "list-inline-item", 944 | "list-unstyled", 945 | "m-0", 946 | "m-1", 947 | "m-2", 948 | "m-3", 949 | "m-4", 950 | "m-5", 951 | "m-auto", 952 | "m-lg-0", 953 | "m-lg-1", 954 | "m-lg-2", 955 | "m-lg-3", 956 | "m-lg-4", 957 | "m-lg-5", 958 | "m-lg-auto", 959 | "m-md-0", 960 | "m-md-1", 961 | "m-md-2", 962 | "m-md-3", 963 | "m-md-4", 964 | "m-md-5", 965 | "m-md-auto", 966 | "m-sm-0", 967 | "m-sm-1", 968 | "m-sm-2", 969 | "m-sm-3", 970 | "m-sm-4", 971 | "m-sm-5", 972 | "m-sm-auto", 973 | "m-xl-0", 974 | "m-xl-1", 975 | "m-xl-2", 976 | "m-xl-3", 977 | "m-xl-4", 978 | "m-xl-5", 979 | "m-xl-auto", 980 | "m-xxl-0", 981 | "m-xxl-1", 982 | "m-xxl-2", 983 | "m-xxl-3", 984 | "m-xxl-4", 985 | "m-xxl-5", 986 | "m-xxl-auto", 987 | "mark", 988 | "mb-0", 989 | "mb-1", 990 | "mb-2", 991 | "mb-3", 992 | "mb-4", 993 | "mb-5", 994 | "mb-auto", 995 | "mb-lg-0", 996 | "mb-lg-1", 997 | "mb-lg-2", 998 | "mb-lg-3", 999 | "mb-lg-4", 1000 | "mb-lg-5", 1001 | "mb-lg-auto", 1002 | "mb-md-0", 1003 | "mb-md-1", 1004 | "mb-md-2", 1005 | "mb-md-3", 1006 | "mb-md-4", 1007 | "mb-md-5", 1008 | "mb-md-auto", 1009 | "mb-sm-0", 1010 | "mb-sm-1", 1011 | "mb-sm-2", 1012 | "mb-sm-3", 1013 | "mb-sm-4", 1014 | "mb-sm-5", 1015 | "mb-sm-auto", 1016 | "mb-xl-0", 1017 | "mb-xl-1", 1018 | "mb-xl-2", 1019 | "mb-xl-3", 1020 | "mb-xl-4", 1021 | "mb-xl-5", 1022 | "mb-xl-auto", 1023 | "mb-xxl-0", 1024 | "mb-xxl-1", 1025 | "mb-xxl-2", 1026 | "mb-xxl-3", 1027 | "mb-xxl-4", 1028 | "mb-xxl-5", 1029 | "mb-xxl-auto", 1030 | "me-0", 1031 | "me-1", 1032 | "me-2", 1033 | "me-3", 1034 | "me-4", 1035 | "me-5", 1036 | "me-auto", 1037 | "me-lg-0", 1038 | "me-lg-1", 1039 | "me-lg-2", 1040 | "me-lg-3", 1041 | "me-lg-4", 1042 | "me-lg-5", 1043 | "me-lg-auto", 1044 | "me-md-0", 1045 | "me-md-1", 1046 | "me-md-2", 1047 | "me-md-3", 1048 | "me-md-4", 1049 | "me-md-5", 1050 | "me-md-auto", 1051 | "me-sm-0", 1052 | "me-sm-1", 1053 | "me-sm-2", 1054 | "me-sm-3", 1055 | "me-sm-4", 1056 | "me-sm-5", 1057 | "me-sm-auto", 1058 | "me-xl-0", 1059 | "me-xl-1", 1060 | "me-xl-2", 1061 | "me-xl-3", 1062 | "me-xl-4", 1063 | "me-xl-5", 1064 | "me-xl-auto", 1065 | "me-xxl-0", 1066 | "me-xxl-1", 1067 | "me-xxl-2", 1068 | "me-xxl-3", 1069 | "me-xxl-4", 1070 | "me-xxl-5", 1071 | "me-xxl-auto", 1072 | "mh-100", 1073 | "min-vh-100", 1074 | "min-vw-100", 1075 | "modal", 1076 | "modal-backdrop", 1077 | "modal-body", 1078 | "modal-content", 1079 | "modal-dialog", 1080 | "modal-dialog-centered", 1081 | "modal-dialog-scrollable", 1082 | "modal-footer", 1083 | "modal-fullscreen", 1084 | "modal-fullscreen-lg-down", 1085 | "modal-fullscreen-md-down", 1086 | "modal-fullscreen-sm-down", 1087 | "modal-fullscreen-xl-down", 1088 | "modal-fullscreen-xxl-down", 1089 | "modal-header", 1090 | "modal-lg", 1091 | "modal-sm", 1092 | "modal-static", 1093 | "modal-title", 1094 | "modal-xl", 1095 | "ms-0", 1096 | "ms-1", 1097 | "ms-2", 1098 | "ms-3", 1099 | "ms-4", 1100 | "ms-5", 1101 | "ms-auto", 1102 | "ms-lg-0", 1103 | "ms-lg-1", 1104 | "ms-lg-2", 1105 | "ms-lg-3", 1106 | "ms-lg-4", 1107 | "ms-lg-5", 1108 | "ms-lg-auto", 1109 | "ms-md-0", 1110 | "ms-md-1", 1111 | "ms-md-2", 1112 | "ms-md-3", 1113 | "ms-md-4", 1114 | "ms-md-5", 1115 | "ms-md-auto", 1116 | "ms-sm-0", 1117 | "ms-sm-1", 1118 | "ms-sm-2", 1119 | "ms-sm-3", 1120 | "ms-sm-4", 1121 | "ms-sm-5", 1122 | "ms-sm-auto", 1123 | "ms-xl-0", 1124 | "ms-xl-1", 1125 | "ms-xl-2", 1126 | "ms-xl-3", 1127 | "ms-xl-4", 1128 | "ms-xl-5", 1129 | "ms-xl-auto", 1130 | "ms-xxl-0", 1131 | "ms-xxl-1", 1132 | "ms-xxl-2", 1133 | "ms-xxl-3", 1134 | "ms-xxl-4", 1135 | "ms-xxl-5", 1136 | "ms-xxl-auto", 1137 | "mt-0", 1138 | "mt-1", 1139 | "mt-2", 1140 | "mt-3", 1141 | "mt-4", 1142 | "mt-5", 1143 | "mt-auto", 1144 | "mt-lg-0", 1145 | "mt-lg-1", 1146 | "mt-lg-2", 1147 | "mt-lg-3", 1148 | "mt-lg-4", 1149 | "mt-lg-5", 1150 | "mt-lg-auto", 1151 | "mt-md-0", 1152 | "mt-md-1", 1153 | "mt-md-2", 1154 | "mt-md-3", 1155 | "mt-md-4", 1156 | "mt-md-5", 1157 | "mt-md-auto", 1158 | "mt-sm-0", 1159 | "mt-sm-1", 1160 | "mt-sm-2", 1161 | "mt-sm-3", 1162 | "mt-sm-4", 1163 | "mt-sm-5", 1164 | "mt-sm-auto", 1165 | "mt-xl-0", 1166 | "mt-xl-1", 1167 | "mt-xl-2", 1168 | "mt-xl-3", 1169 | "mt-xl-4", 1170 | "mt-xl-5", 1171 | "mt-xl-auto", 1172 | "mt-xxl-0", 1173 | "mt-xxl-1", 1174 | "mt-xxl-2", 1175 | "mt-xxl-3", 1176 | "mt-xxl-4", 1177 | "mt-xxl-5", 1178 | "mt-xxl-auto", 1179 | "mw-100", 1180 | "mx-0", 1181 | "mx-1", 1182 | "mx-2", 1183 | "mx-3", 1184 | "mx-4", 1185 | "mx-5", 1186 | "mx-auto", 1187 | "mx-lg-0", 1188 | "mx-lg-1", 1189 | "mx-lg-2", 1190 | "mx-lg-3", 1191 | "mx-lg-4", 1192 | "mx-lg-5", 1193 | "mx-lg-auto", 1194 | "mx-md-0", 1195 | "mx-md-1", 1196 | "mx-md-2", 1197 | "mx-md-3", 1198 | "mx-md-4", 1199 | "mx-md-5", 1200 | "mx-md-auto", 1201 | "mx-sm-0", 1202 | "mx-sm-1", 1203 | "mx-sm-2", 1204 | "mx-sm-3", 1205 | "mx-sm-4", 1206 | "mx-sm-5", 1207 | "mx-sm-auto", 1208 | "mx-xl-0", 1209 | "mx-xl-1", 1210 | "mx-xl-2", 1211 | "mx-xl-3", 1212 | "mx-xl-4", 1213 | "mx-xl-5", 1214 | "mx-xl-auto", 1215 | "mx-xxl-0", 1216 | "mx-xxl-1", 1217 | "mx-xxl-2", 1218 | "mx-xxl-3", 1219 | "mx-xxl-4", 1220 | "mx-xxl-5", 1221 | "mx-xxl-auto", 1222 | "my-0", 1223 | "my-1", 1224 | "my-2", 1225 | "my-3", 1226 | "my-4", 1227 | "my-5", 1228 | "my-auto", 1229 | "my-lg-0", 1230 | "my-lg-1", 1231 | "my-lg-2", 1232 | "my-lg-3", 1233 | "my-lg-4", 1234 | "my-lg-5", 1235 | "my-lg-auto", 1236 | "my-md-0", 1237 | "my-md-1", 1238 | "my-md-2", 1239 | "my-md-3", 1240 | "my-md-4", 1241 | "my-md-5", 1242 | "my-md-auto", 1243 | "my-sm-0", 1244 | "my-sm-1", 1245 | "my-sm-2", 1246 | "my-sm-3", 1247 | "my-sm-4", 1248 | "my-sm-5", 1249 | "my-sm-auto", 1250 | "my-xl-0", 1251 | "my-xl-1", 1252 | "my-xl-2", 1253 | "my-xl-3", 1254 | "my-xl-4", 1255 | "my-xl-5", 1256 | "my-xl-auto", 1257 | "my-xxl-0", 1258 | "my-xxl-1", 1259 | "my-xxl-2", 1260 | "my-xxl-3", 1261 | "my-xxl-4", 1262 | "my-xxl-5", 1263 | "my-xxl-auto", 1264 | "nav", 1265 | "nav-fill", 1266 | "nav-item", 1267 | "nav-justified", 1268 | "nav-link", 1269 | "nav-pills", 1270 | "nav-tabs", 1271 | "nav-underline", 1272 | "navbar", 1273 | "navbar-brand", 1274 | "navbar-collapse", 1275 | "navbar-dark", 1276 | "navbar-expand", 1277 | "navbar-expand-lg", 1278 | "navbar-expand-md", 1279 | "navbar-expand-sm", 1280 | "navbar-expand-xl", 1281 | "navbar-expand-xxl", 1282 | "navbar-nav", 1283 | "navbar-nav-scroll", 1284 | "navbar-text", 1285 | "navbar-toggler", 1286 | "navbar-toggler-icon", 1287 | "object-fit-contain", 1288 | "object-fit-cover", 1289 | "object-fit-fill", 1290 | "object-fit-lg-contain", 1291 | "object-fit-lg-cover", 1292 | "object-fit-lg-fill", 1293 | "object-fit-lg-none", 1294 | "object-fit-lg-scale", 1295 | "object-fit-md-contain", 1296 | "object-fit-md-cover", 1297 | "object-fit-md-fill", 1298 | "object-fit-md-none", 1299 | "object-fit-md-scale", 1300 | "object-fit-none", 1301 | "object-fit-scale", 1302 | "object-fit-sm-contain", 1303 | "object-fit-sm-cover", 1304 | "object-fit-sm-fill", 1305 | "object-fit-sm-none", 1306 | "object-fit-sm-scale", 1307 | "object-fit-xl-contain", 1308 | "object-fit-xl-cover", 1309 | "object-fit-xl-fill", 1310 | "object-fit-xl-none", 1311 | "object-fit-xl-scale", 1312 | "object-fit-xxl-contain", 1313 | "object-fit-xxl-cover", 1314 | "object-fit-xxl-fill", 1315 | "object-fit-xxl-none", 1316 | "object-fit-xxl-scale", 1317 | "offcanvas", 1318 | "offcanvas-backdrop", 1319 | "offcanvas-body", 1320 | "offcanvas-bottom", 1321 | "offcanvas-end", 1322 | "offcanvas-header", 1323 | "offcanvas-lg", 1324 | "offcanvas-md", 1325 | "offcanvas-sm", 1326 | "offcanvas-start", 1327 | "offcanvas-title", 1328 | "offcanvas-top", 1329 | "offcanvas-xl", 1330 | "offcanvas-xxl", 1331 | "offset-1", 1332 | "offset-10", 1333 | "offset-11", 1334 | "offset-2", 1335 | "offset-3", 1336 | "offset-4", 1337 | "offset-5", 1338 | "offset-6", 1339 | "offset-7", 1340 | "offset-8", 1341 | "offset-9", 1342 | "offset-lg-0", 1343 | "offset-lg-1", 1344 | "offset-lg-10", 1345 | "offset-lg-11", 1346 | "offset-lg-2", 1347 | "offset-lg-3", 1348 | "offset-lg-4", 1349 | "offset-lg-5", 1350 | "offset-lg-6", 1351 | "offset-lg-7", 1352 | "offset-lg-8", 1353 | "offset-lg-9", 1354 | "offset-md-0", 1355 | "offset-md-1", 1356 | "offset-md-10", 1357 | "offset-md-11", 1358 | "offset-md-2", 1359 | "offset-md-3", 1360 | "offset-md-4", 1361 | "offset-md-5", 1362 | "offset-md-6", 1363 | "offset-md-7", 1364 | "offset-md-8", 1365 | "offset-md-9", 1366 | "offset-sm-0", 1367 | "offset-sm-1", 1368 | "offset-sm-10", 1369 | "offset-sm-11", 1370 | "offset-sm-2", 1371 | "offset-sm-3", 1372 | "offset-sm-4", 1373 | "offset-sm-5", 1374 | "offset-sm-6", 1375 | "offset-sm-7", 1376 | "offset-sm-8", 1377 | "offset-sm-9", 1378 | "offset-xl-0", 1379 | "offset-xl-1", 1380 | "offset-xl-10", 1381 | "offset-xl-11", 1382 | "offset-xl-2", 1383 | "offset-xl-3", 1384 | "offset-xl-4", 1385 | "offset-xl-5", 1386 | "offset-xl-6", 1387 | "offset-xl-7", 1388 | "offset-xl-8", 1389 | "offset-xl-9", 1390 | "offset-xxl-0", 1391 | "offset-xxl-1", 1392 | "offset-xxl-10", 1393 | "offset-xxl-11", 1394 | "offset-xxl-2", 1395 | "offset-xxl-3", 1396 | "offset-xxl-4", 1397 | "offset-xxl-5", 1398 | "offset-xxl-6", 1399 | "offset-xxl-7", 1400 | "offset-xxl-8", 1401 | "offset-xxl-9", 1402 | "opacity-0", 1403 | "opacity-100", 1404 | "opacity-25", 1405 | "opacity-50", 1406 | "opacity-75", 1407 | "order-0", 1408 | "order-1", 1409 | "order-2", 1410 | "order-3", 1411 | "order-4", 1412 | "order-5", 1413 | "order-first", 1414 | "order-last", 1415 | "order-lg-0", 1416 | "order-lg-1", 1417 | "order-lg-2", 1418 | "order-lg-3", 1419 | "order-lg-4", 1420 | "order-lg-5", 1421 | "order-lg-first", 1422 | "order-lg-last", 1423 | "order-md-0", 1424 | "order-md-1", 1425 | "order-md-2", 1426 | "order-md-3", 1427 | "order-md-4", 1428 | "order-md-5", 1429 | "order-md-first", 1430 | "order-md-last", 1431 | "order-sm-0", 1432 | "order-sm-1", 1433 | "order-sm-2", 1434 | "order-sm-3", 1435 | "order-sm-4", 1436 | "order-sm-5", 1437 | "order-sm-first", 1438 | "order-sm-last", 1439 | "order-xl-0", 1440 | "order-xl-1", 1441 | "order-xl-2", 1442 | "order-xl-3", 1443 | "order-xl-4", 1444 | "order-xl-5", 1445 | "order-xl-first", 1446 | "order-xl-last", 1447 | "order-xxl-0", 1448 | "order-xxl-1", 1449 | "order-xxl-2", 1450 | "order-xxl-3", 1451 | "order-xxl-4", 1452 | "order-xxl-5", 1453 | "order-xxl-first", 1454 | "order-xxl-last", 1455 | "overflow-auto", 1456 | "overflow-hidden", 1457 | "overflow-scroll", 1458 | "overflow-visible", 1459 | "overflow-x-auto", 1460 | "overflow-x-hidden", 1461 | "overflow-x-scroll", 1462 | "overflow-x-visible", 1463 | "overflow-y-auto", 1464 | "overflow-y-hidden", 1465 | "overflow-y-scroll", 1466 | "overflow-y-visible", 1467 | "p-0", 1468 | "p-1", 1469 | "p-2", 1470 | "p-3", 1471 | "p-4", 1472 | "p-5", 1473 | "p-lg-0", 1474 | "p-lg-1", 1475 | "p-lg-2", 1476 | "p-lg-3", 1477 | "p-lg-4", 1478 | "p-lg-5", 1479 | "p-md-0", 1480 | "p-md-1", 1481 | "p-md-2", 1482 | "p-md-3", 1483 | "p-md-4", 1484 | "p-md-5", 1485 | "p-sm-0", 1486 | "p-sm-1", 1487 | "p-sm-2", 1488 | "p-sm-3", 1489 | "p-sm-4", 1490 | "p-sm-5", 1491 | "p-xl-0", 1492 | "p-xl-1", 1493 | "p-xl-2", 1494 | "p-xl-3", 1495 | "p-xl-4", 1496 | "p-xl-5", 1497 | "p-xxl-0", 1498 | "p-xxl-1", 1499 | "p-xxl-2", 1500 | "p-xxl-3", 1501 | "p-xxl-4", 1502 | "p-xxl-5", 1503 | "page-item", 1504 | "page-link", 1505 | "pagination", 1506 | "pagination-lg", 1507 | "pagination-sm", 1508 | "pb-0", 1509 | "pb-1", 1510 | "pb-2", 1511 | "pb-3", 1512 | "pb-4", 1513 | "pb-5", 1514 | "pb-lg-0", 1515 | "pb-lg-1", 1516 | "pb-lg-2", 1517 | "pb-lg-3", 1518 | "pb-lg-4", 1519 | "pb-lg-5", 1520 | "pb-md-0", 1521 | "pb-md-1", 1522 | "pb-md-2", 1523 | "pb-md-3", 1524 | "pb-md-4", 1525 | "pb-md-5", 1526 | "pb-sm-0", 1527 | "pb-sm-1", 1528 | "pb-sm-2", 1529 | "pb-sm-3", 1530 | "pb-sm-4", 1531 | "pb-sm-5", 1532 | "pb-xl-0", 1533 | "pb-xl-1", 1534 | "pb-xl-2", 1535 | "pb-xl-3", 1536 | "pb-xl-4", 1537 | "pb-xl-5", 1538 | "pb-xxl-0", 1539 | "pb-xxl-1", 1540 | "pb-xxl-2", 1541 | "pb-xxl-3", 1542 | "pb-xxl-4", 1543 | "pb-xxl-5", 1544 | "pe-0", 1545 | "pe-1", 1546 | "pe-2", 1547 | "pe-3", 1548 | "pe-4", 1549 | "pe-5", 1550 | "pe-auto", 1551 | "pe-lg-0", 1552 | "pe-lg-1", 1553 | "pe-lg-2", 1554 | "pe-lg-3", 1555 | "pe-lg-4", 1556 | "pe-lg-5", 1557 | "pe-md-0", 1558 | "pe-md-1", 1559 | "pe-md-2", 1560 | "pe-md-3", 1561 | "pe-md-4", 1562 | "pe-md-5", 1563 | "pe-none", 1564 | "pe-sm-0", 1565 | "pe-sm-1", 1566 | "pe-sm-2", 1567 | "pe-sm-3", 1568 | "pe-sm-4", 1569 | "pe-sm-5", 1570 | "pe-xl-0", 1571 | "pe-xl-1", 1572 | "pe-xl-2", 1573 | "pe-xl-3", 1574 | "pe-xl-4", 1575 | "pe-xl-5", 1576 | "pe-xxl-0", 1577 | "pe-xxl-1", 1578 | "pe-xxl-2", 1579 | "pe-xxl-3", 1580 | "pe-xxl-4", 1581 | "pe-xxl-5", 1582 | "placeholder", 1583 | "placeholder-glow", 1584 | "placeholder-lg", 1585 | "placeholder-sm", 1586 | "placeholder-wave", 1587 | "placeholder-xs", 1588 | "pointer-event", 1589 | "popover", 1590 | "popover-arrow", 1591 | "popover-body", 1592 | "popover-header", 1593 | "position-absolute", 1594 | "position-fixed", 1595 | "position-relative", 1596 | "position-static", 1597 | "position-sticky", 1598 | "progress", 1599 | "progress-bar", 1600 | "progress-bar-animated", 1601 | "progress-bar-striped", 1602 | "progress-stacked", 1603 | "ps-0", 1604 | "ps-1", 1605 | "ps-2", 1606 | "ps-3", 1607 | "ps-4", 1608 | "ps-5", 1609 | "ps-lg-0", 1610 | "ps-lg-1", 1611 | "ps-lg-2", 1612 | "ps-lg-3", 1613 | "ps-lg-4", 1614 | "ps-lg-5", 1615 | "ps-md-0", 1616 | "ps-md-1", 1617 | "ps-md-2", 1618 | "ps-md-3", 1619 | "ps-md-4", 1620 | "ps-md-5", 1621 | "ps-sm-0", 1622 | "ps-sm-1", 1623 | "ps-sm-2", 1624 | "ps-sm-3", 1625 | "ps-sm-4", 1626 | "ps-sm-5", 1627 | "ps-xl-0", 1628 | "ps-xl-1", 1629 | "ps-xl-2", 1630 | "ps-xl-3", 1631 | "ps-xl-4", 1632 | "ps-xl-5", 1633 | "ps-xxl-0", 1634 | "ps-xxl-1", 1635 | "ps-xxl-2", 1636 | "ps-xxl-3", 1637 | "ps-xxl-4", 1638 | "ps-xxl-5", 1639 | "pt-0", 1640 | "pt-1", 1641 | "pt-2", 1642 | "pt-3", 1643 | "pt-4", 1644 | "pt-5", 1645 | "pt-lg-0", 1646 | "pt-lg-1", 1647 | "pt-lg-2", 1648 | "pt-lg-3", 1649 | "pt-lg-4", 1650 | "pt-lg-5", 1651 | "pt-md-0", 1652 | "pt-md-1", 1653 | "pt-md-2", 1654 | "pt-md-3", 1655 | "pt-md-4", 1656 | "pt-md-5", 1657 | "pt-sm-0", 1658 | "pt-sm-1", 1659 | "pt-sm-2", 1660 | "pt-sm-3", 1661 | "pt-sm-4", 1662 | "pt-sm-5", 1663 | "pt-xl-0", 1664 | "pt-xl-1", 1665 | "pt-xl-2", 1666 | "pt-xl-3", 1667 | "pt-xl-4", 1668 | "pt-xl-5", 1669 | "pt-xxl-0", 1670 | "pt-xxl-1", 1671 | "pt-xxl-2", 1672 | "pt-xxl-3", 1673 | "pt-xxl-4", 1674 | "pt-xxl-5", 1675 | "px-0", 1676 | "px-1", 1677 | "px-2", 1678 | "px-3", 1679 | "px-4", 1680 | "px-5", 1681 | "px-lg-0", 1682 | "px-lg-1", 1683 | "px-lg-2", 1684 | "px-lg-3", 1685 | "px-lg-4", 1686 | "px-lg-5", 1687 | "px-md-0", 1688 | "px-md-1", 1689 | "px-md-2", 1690 | "px-md-3", 1691 | "px-md-4", 1692 | "px-md-5", 1693 | "px-sm-0", 1694 | "px-sm-1", 1695 | "px-sm-2", 1696 | "px-sm-3", 1697 | "px-sm-4", 1698 | "px-sm-5", 1699 | "px-xl-0", 1700 | "px-xl-1", 1701 | "px-xl-2", 1702 | "px-xl-3", 1703 | "px-xl-4", 1704 | "px-xl-5", 1705 | "px-xxl-0", 1706 | "px-xxl-1", 1707 | "px-xxl-2", 1708 | "px-xxl-3", 1709 | "px-xxl-4", 1710 | "px-xxl-5", 1711 | "py-0", 1712 | "py-1", 1713 | "py-2", 1714 | "py-3", 1715 | "py-4", 1716 | "py-5", 1717 | "py-lg-0", 1718 | "py-lg-1", 1719 | "py-lg-2", 1720 | "py-lg-3", 1721 | "py-lg-4", 1722 | "py-lg-5", 1723 | "py-md-0", 1724 | "py-md-1", 1725 | "py-md-2", 1726 | "py-md-3", 1727 | "py-md-4", 1728 | "py-md-5", 1729 | "py-sm-0", 1730 | "py-sm-1", 1731 | "py-sm-2", 1732 | "py-sm-3", 1733 | "py-sm-4", 1734 | "py-sm-5", 1735 | "py-xl-0", 1736 | "py-xl-1", 1737 | "py-xl-2", 1738 | "py-xl-3", 1739 | "py-xl-4", 1740 | "py-xl-5", 1741 | "py-xxl-0", 1742 | "py-xxl-1", 1743 | "py-xxl-2", 1744 | "py-xxl-3", 1745 | "py-xxl-4", 1746 | "py-xxl-5", 1747 | "ratio", 1748 | "ratio-16x9", 1749 | "ratio-1x1", 1750 | "ratio-21x9", 1751 | "ratio-4x3", 1752 | "rounded", 1753 | "rounded-0", 1754 | "rounded-1", 1755 | "rounded-2", 1756 | "rounded-3", 1757 | "rounded-4", 1758 | "rounded-5", 1759 | "rounded-bottom", 1760 | "rounded-bottom-0", 1761 | "rounded-bottom-1", 1762 | "rounded-bottom-2", 1763 | "rounded-bottom-3", 1764 | "rounded-bottom-4", 1765 | "rounded-bottom-5", 1766 | "rounded-bottom-circle", 1767 | "rounded-bottom-pill", 1768 | "rounded-circle", 1769 | "rounded-end", 1770 | "rounded-end-0", 1771 | "rounded-end-1", 1772 | "rounded-end-2", 1773 | "rounded-end-3", 1774 | "rounded-end-4", 1775 | "rounded-end-5", 1776 | "rounded-end-circle", 1777 | "rounded-end-pill", 1778 | "rounded-pill", 1779 | "rounded-start", 1780 | "rounded-start-0", 1781 | "rounded-start-1", 1782 | "rounded-start-2", 1783 | "rounded-start-3", 1784 | "rounded-start-4", 1785 | "rounded-start-5", 1786 | "rounded-start-circle", 1787 | "rounded-start-pill", 1788 | "rounded-top", 1789 | "rounded-top-0", 1790 | "rounded-top-1", 1791 | "rounded-top-2", 1792 | "rounded-top-3", 1793 | "rounded-top-4", 1794 | "rounded-top-5", 1795 | "rounded-top-circle", 1796 | "rounded-top-pill", 1797 | "row", 1798 | "row-cols-1", 1799 | "row-cols-2", 1800 | "row-cols-3", 1801 | "row-cols-4", 1802 | "row-cols-5", 1803 | "row-cols-6", 1804 | "row-cols-auto", 1805 | "row-cols-lg-1", 1806 | "row-cols-lg-2", 1807 | "row-cols-lg-3", 1808 | "row-cols-lg-4", 1809 | "row-cols-lg-5", 1810 | "row-cols-lg-6", 1811 | "row-cols-lg-auto", 1812 | "row-cols-md-1", 1813 | "row-cols-md-2", 1814 | "row-cols-md-3", 1815 | "row-cols-md-4", 1816 | "row-cols-md-5", 1817 | "row-cols-md-6", 1818 | "row-cols-md-auto", 1819 | "row-cols-sm-1", 1820 | "row-cols-sm-2", 1821 | "row-cols-sm-3", 1822 | "row-cols-sm-4", 1823 | "row-cols-sm-5", 1824 | "row-cols-sm-6", 1825 | "row-cols-sm-auto", 1826 | "row-cols-xl-1", 1827 | "row-cols-xl-2", 1828 | "row-cols-xl-3", 1829 | "row-cols-xl-4", 1830 | "row-cols-xl-5", 1831 | "row-cols-xl-6", 1832 | "row-cols-xl-auto", 1833 | "row-cols-xxl-1", 1834 | "row-cols-xxl-2", 1835 | "row-cols-xxl-3", 1836 | "row-cols-xxl-4", 1837 | "row-cols-xxl-5", 1838 | "row-cols-xxl-6", 1839 | "row-cols-xxl-auto", 1840 | "row-gap-0", 1841 | "row-gap-1", 1842 | "row-gap-2", 1843 | "row-gap-3", 1844 | "row-gap-4", 1845 | "row-gap-5", 1846 | "row-gap-lg-0", 1847 | "row-gap-lg-1", 1848 | "row-gap-lg-2", 1849 | "row-gap-lg-3", 1850 | "row-gap-lg-4", 1851 | "row-gap-lg-5", 1852 | "row-gap-md-0", 1853 | "row-gap-md-1", 1854 | "row-gap-md-2", 1855 | "row-gap-md-3", 1856 | "row-gap-md-4", 1857 | "row-gap-md-5", 1858 | "row-gap-sm-0", 1859 | "row-gap-sm-1", 1860 | "row-gap-sm-2", 1861 | "row-gap-sm-3", 1862 | "row-gap-sm-4", 1863 | "row-gap-sm-5", 1864 | "row-gap-xl-0", 1865 | "row-gap-xl-1", 1866 | "row-gap-xl-2", 1867 | "row-gap-xl-3", 1868 | "row-gap-xl-4", 1869 | "row-gap-xl-5", 1870 | "row-gap-xxl-0", 1871 | "row-gap-xxl-1", 1872 | "row-gap-xxl-2", 1873 | "row-gap-xxl-3", 1874 | "row-gap-xxl-4", 1875 | "row-gap-xxl-5", 1876 | "shadow", 1877 | "shadow-lg", 1878 | "shadow-none", 1879 | "shadow-sm", 1880 | "show", 1881 | "showing", 1882 | "small", 1883 | "spinner-border", 1884 | "spinner-border-sm", 1885 | "spinner-grow", 1886 | "spinner-grow-sm", 1887 | "start-0", 1888 | "start-100", 1889 | "start-50", 1890 | "sticky-bottom", 1891 | "sticky-lg-bottom", 1892 | "sticky-lg-top", 1893 | "sticky-md-bottom", 1894 | "sticky-md-top", 1895 | "sticky-sm-bottom", 1896 | "sticky-sm-top", 1897 | "sticky-top", 1898 | "sticky-xl-bottom", 1899 | "sticky-xl-top", 1900 | "sticky-xxl-bottom", 1901 | "sticky-xxl-top", 1902 | "stretched-link", 1903 | "tab-content", 1904 | "tab-pane", 1905 | "table", 1906 | "table-active", 1907 | "table-bordered", 1908 | "table-borderless", 1909 | "table-danger", 1910 | "table-dark", 1911 | "table-group-divider", 1912 | "table-hover", 1913 | "table-info", 1914 | "table-light", 1915 | "table-primary", 1916 | "table-responsive", 1917 | "table-responsive-lg", 1918 | "table-responsive-md", 1919 | "table-responsive-sm", 1920 | "table-responsive-xl", 1921 | "table-responsive-xxl", 1922 | "table-secondary", 1923 | "table-sm", 1924 | "table-striped", 1925 | "table-striped-columns", 1926 | "table-success", 1927 | "table-warning", 1928 | "text-bg-danger", 1929 | "text-bg-dark", 1930 | "text-bg-info", 1931 | "text-bg-light", 1932 | "text-bg-primary", 1933 | "text-bg-secondary", 1934 | "text-bg-success", 1935 | "text-bg-warning", 1936 | "text-black", 1937 | "text-black-50", 1938 | "text-body", 1939 | "text-body-emphasis", 1940 | "text-body-secondary", 1941 | "text-body-tertiary", 1942 | "text-break", 1943 | "text-capitalize", 1944 | "text-center", 1945 | "text-danger", 1946 | "text-danger-emphasis", 1947 | "text-dark", 1948 | "text-dark-emphasis", 1949 | "text-decoration-line-through", 1950 | "text-decoration-none", 1951 | "text-decoration-underline", 1952 | "text-end", 1953 | "text-info", 1954 | "text-info-emphasis", 1955 | "text-lg-center", 1956 | "text-lg-end", 1957 | "text-lg-start", 1958 | "text-light", 1959 | "text-light-emphasis", 1960 | "text-lowercase", 1961 | "text-md-center", 1962 | "text-md-end", 1963 | "text-md-start", 1964 | "text-muted", 1965 | "text-nowrap", 1966 | "text-opacity-100", 1967 | "text-opacity-25", 1968 | "text-opacity-50", 1969 | "text-opacity-75", 1970 | "text-primary", 1971 | "text-primary-emphasis", 1972 | "text-reset", 1973 | "text-secondary", 1974 | "text-secondary-emphasis", 1975 | "text-sm-center", 1976 | "text-sm-end", 1977 | "text-sm-start", 1978 | "text-start", 1979 | "text-success", 1980 | "text-success-emphasis", 1981 | "text-truncate", 1982 | "text-uppercase", 1983 | "text-warning", 1984 | "text-warning-emphasis", 1985 | "text-white", 1986 | "text-white-50", 1987 | "text-wrap", 1988 | "text-xl-center", 1989 | "text-xl-end", 1990 | "text-xl-start", 1991 | "text-xxl-center", 1992 | "text-xxl-end", 1993 | "text-xxl-start", 1994 | "toast", 1995 | "toast-body", 1996 | "toast-container", 1997 | "toast-header", 1998 | "tooltip", 1999 | "tooltip-arrow", 2000 | "tooltip-inner", 2001 | "top-0", 2002 | "top-100", 2003 | "top-50", 2004 | "translate-middle", 2005 | "translate-middle-x", 2006 | "translate-middle-y", 2007 | "user-select-all", 2008 | "user-select-auto", 2009 | "user-select-none", 2010 | "valid-feedback", 2011 | "valid-tooltip", 2012 | "vh-100", 2013 | "visible", 2014 | "visually-hidden", 2015 | "visually-hidden-focusable", 2016 | "vr", 2017 | "vstack", 2018 | "vw-100", 2019 | "w-100", 2020 | "w-25", 2021 | "w-50", 2022 | "w-75", 2023 | "w-auto", 2024 | "was-validated", 2025 | "z-0", 2026 | "z-1", 2027 | "z-2", 2028 | "z-3", 2029 | "z-n1" 2030 | ] 2031 | } 2032 | -------------------------------------------------------------------------------- /dependencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "*": { 3 | "*": [ 4 | "annotated-types", 5 | "eval-type-backport", 6 | "pydantic", 7 | "pydantic-core", 8 | "typing-extensions" 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /menus/Main.sublime-menu: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "mnemonic": "n", 4 | "id": "preferences", 5 | "children": [ 6 | { 7 | "mnemonic": "P", 8 | "id": "package-settings", 9 | "children": [ 10 | { 11 | "caption": "BootstrapAutocomplete", 12 | "children": [ 13 | { 14 | "caption": "-" 15 | }, 16 | { 17 | "caption": "Settings", 18 | "command": "edit_settings", 19 | "args": { 20 | "base_file": "${packages}/BootstrapAutocomplete/BootstrapAutocomplete.sublime-settings", 21 | "default": "{\n\t$0\n}\n" 22 | } 23 | }, 24 | { 25 | "caption": "-" 26 | }, 27 | { 28 | "caption": "README", 29 | "command": "open_file", 30 | "args": { 31 | "file": "${packages}/BootstrapAutocomplete/README.md" 32 | } 33 | }, 34 | { 35 | "caption": "CHANGELOG", 36 | "command": "open_file", 37 | "args": { 38 | "file": "${packages}/BootstrapAutocomplete/CHANGELOG.md" 39 | } 40 | }, 41 | { 42 | "caption": "-" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | -------------------------------------------------------------------------------- /messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "1.3.1": "messages/update_message.md", 3 | "install": "messages/install.md" 4 | } 5 | -------------------------------------------------------------------------------- /messages/install.md: -------------------------------------------------------------------------------- 1 | Report an issue: https://github.com/jfcherng-sublime/ST-BootstrapAutocomplete/issues 2 | -------------------------------------------------------------------------------- /messages/update_message.md: -------------------------------------------------------------------------------- 1 | ## [1.3.1] - 2021-08-05 2 | 3 | - fix: plugin not working 4 | 5 | ## [1.3.0] - 2021-08-05 6 | 7 | - feat: add support for Bootstrap `v2` 8 | - chore: update Bootstrap classes for `v3.4.1` and `v5.1.0` 9 | -------------------------------------------------------------------------------- /plugin/__init__.py: -------------------------------------------------------------------------------- 1 | from .constant import PLUGIN_NAME 2 | 3 | # import all listeners and commands 4 | from .listener import BootstrapAutocompleteEventListener 5 | from .settings import AioSettings, settings_normalizer 6 | 7 | __all__ = ( 8 | # ST: core 9 | "plugin_loaded", 10 | "plugin_unloaded", 11 | # ST: listeners 12 | "AioSettings", 13 | "BootstrapAutocompleteEventListener", 14 | ) 15 | 16 | 17 | def plugin_loaded() -> None: 18 | AioSettings.plugin_name = PLUGIN_NAME 19 | AioSettings.set_settings_normalizer(settings_normalizer) 20 | AioSettings.set_up() 21 | 22 | 23 | def plugin_unloaded() -> None: 24 | AioSettings.tear_down() 25 | -------------------------------------------------------------------------------- /plugin/completion.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from functools import lru_cache 4 | from itertools import groupby 5 | from typing import Generator, Iterable 6 | 7 | import sublime 8 | 9 | from .constant import DB_DIR 10 | from .data_types import DbItem, DbModel, NormalizedDbItem 11 | from .utils import sort_uniq 12 | 13 | 14 | def load_db(version: str) -> DbModel: 15 | return DbModel.model_validate_json(sublime.load_binary_resource(str(DB_DIR / f"{version}.json"))) 16 | 17 | 18 | def get_completion_list(versions: str | tuple[str, ...]) -> sublime.CompletionList: 19 | """Gets the completion items.""" 20 | # normalize `versions` for `lru_cache` 21 | if isinstance(versions, str): 22 | versions = (versions,) 23 | versions = tuple(sort_uniq(versions)) 24 | return _get_completion_list(versions) 25 | 26 | 27 | @lru_cache(maxsize=5) 28 | def _get_completion_list(versions: tuple[str, ...]) -> sublime.CompletionList: 29 | """Gets the completion items. (LRU cache)""" 30 | db_items = [item for version in versions for item in _list_db_items(version)] 31 | 32 | return sublime.CompletionList( 33 | tuple( 34 | sublime.CompletionItem( 35 | trigger=item.item_name, 36 | annotation=f"{item.lib_name} {'/'.join(item.lib_versions)}", 37 | completion=item.item_name, 38 | completion_format=sublime.COMPLETION_FORMAT_TEXT, 39 | kind=(sublime.KIND_ID_MARKUP, "c", ""), 40 | details="", 41 | ) 42 | for item in _normalize_db_items_for_completion(db_items) 43 | ) 44 | ) 45 | 46 | 47 | def _list_db_items(version: str) -> Generator[DbItem, None, None]: 48 | db = load_db(version) 49 | yield from (DbItem(lib_name=db.name, lib_version=db.version, item_name=name) for name in db.classes) 50 | 51 | 52 | def _normalize_db_items_for_completion(db_items: Iterable[DbItem]) -> Generator[NormalizedDbItem, None, None]: 53 | def sorter(item: DbItem) -> tuple[str, str]: 54 | return (item.lib_name, item.item_name) 55 | 56 | # pre-sort for groupby 57 | db_items = sorted(db_items, key=sorter) 58 | # merges same-name items which have different versions 59 | for (lib_name, item_name), group in groupby(db_items, sorter): 60 | yield NormalizedDbItem( 61 | lib_name=lib_name, 62 | lib_versions=sorted(item.lib_version for item in group), 63 | item_name=item_name, 64 | ) 65 | -------------------------------------------------------------------------------- /plugin/constant.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from pathlib import Path 4 | 5 | assert __package__ 6 | 7 | PLUGIN_NAME = __package__.partition(".")[0] 8 | DB_DIR = Path(f"Packages/{PLUGIN_NAME}/db") 9 | -------------------------------------------------------------------------------- /plugin/data_types.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from dataclasses import dataclass 4 | 5 | from pydantic import BaseModel 6 | 7 | 8 | class DbModel(BaseModel): 9 | name: str 10 | version: str 11 | classes: list[str] 12 | 13 | 14 | @dataclass 15 | class DbItem: 16 | lib_name: str 17 | """The name of the lib.""" 18 | lib_version: str 19 | """The version of the lib.""" 20 | item_name: str 21 | """The trigger of the completion.""" 22 | 23 | 24 | @dataclass 25 | class NormalizedDbItem: 26 | lib_name: str 27 | """The name of the lib.""" 28 | lib_versions: list[str] 29 | """Versions of the lib.""" 30 | item_name: str 31 | """The trigger of the completion.""" 32 | -------------------------------------------------------------------------------- /plugin/listener.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import Iterable 4 | 5 | import sublime 6 | import sublime_plugin 7 | 8 | from .completion import get_completion_list 9 | from .settings import get_merged_plugin_setting 10 | 11 | 12 | class BootstrapAutocompleteEventListener(sublime_plugin.EventListener): 13 | def on_query_completions( 14 | self, 15 | view: sublime.View, 16 | prefix: str, 17 | locations: list[int], 18 | ) -> sublime.CompletionList | None: 19 | if view.element() or not (window := view.window()): 20 | return None 21 | 22 | point = locations[0] 23 | selectors: list[str] = get_merged_plugin_setting(window, "selectors") 24 | 25 | if not self._point_match_selectors(view, point, selectors): 26 | return None 27 | 28 | versions = get_merged_plugin_setting(window, "versions") 29 | return get_completion_list(versions) 30 | 31 | @staticmethod 32 | def _point_match_selectors(view: sublime.View, point: int, selectors: Iterable[str]) -> bool: 33 | return any(view.match_selector(point, selector) for selector in selectors) 34 | -------------------------------------------------------------------------------- /plugin/settings.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | # __future__ must be the first import 4 | from collections import ChainMap 5 | from typing import Any, Callable, Mapping, MutableMapping 6 | 7 | import sublime 8 | import sublime_plugin 9 | 10 | 11 | def get_merged_plugin_setting(window: sublime.Window, key: str, default: Any | None = None) -> Any: 12 | return get_merged_plugin_settings(window).get(key, default) 13 | 14 | 15 | def get_merged_plugin_settings(window: sublime.Window) -> MergedSettingsDict: 16 | return AioSettings.get_all(window) 17 | 18 | 19 | def get_st_setting(key: str, default: Any | None = None) -> Any: 20 | return get_st_settings().get(key, default) 21 | 22 | 23 | def get_st_settings() -> sublime.Settings: 24 | return sublime.load_settings("Preferences.sublime-settings") 25 | 26 | 27 | def settings_normalizer(settings: SettingsDict) -> None: 28 | # --------- # 29 | # selectors # 30 | # --------- # 31 | if (selectors := settings.get("selectors")) is not None: 32 | if not isinstance(selectors, list): 33 | selectors = [selectors] 34 | settings["selectors"] = selectors 35 | 36 | # -------- # 37 | # versions # 38 | # -------- # 39 | if (versions := settings.get("versions")) is not None: 40 | if not isinstance(versions, list): 41 | versions = [versions] 42 | settings["versions"] = list(map(str, versions)) # in case someone uses int values... 43 | 44 | 45 | SettingsDict = MutableMapping[str, Any] 46 | MergedSettingsDict = Mapping[str, Any] 47 | WindowId = int 48 | 49 | 50 | class AioSettings(sublime_plugin.EventListener): 51 | plugin_name: str = "" 52 | 53 | _on_settings_change_callbacks: dict[str, Callable[[sublime.Window], None]] = {} 54 | _plugin_settings_object: sublime.Settings | None = None 55 | _settings_normalizer: Callable[[SettingsDict], None] | None = None 56 | _settings_producer: Callable[[MergedSettingsDict], dict[str, Any]] | None = None 57 | _tracked_windows: set[int] = set() 58 | 59 | # application-level 60 | _plugin_settings: SettingsDict = {} 61 | 62 | # window-level 63 | _project_plugin_settings: dict[WindowId, SettingsDict] = {} 64 | _merged_plugin_settings: dict[WindowId, MergedSettingsDict] = {} 65 | 66 | # ----------- # 67 | # public APIs # 68 | # ----------- # 69 | 70 | @classmethod 71 | def set_up(cls) -> None: 72 | cls._plugin_settings_object = sublime.load_settings(f"{cls.plugin_name}.sublime-settings") 73 | cls._plugin_settings_object.add_on_change(cls.__name__, cls._on_settings_change) 74 | cls._on_settings_change() 75 | 76 | @classmethod 77 | def tear_down(cls) -> None: 78 | assert cls._plugin_settings_object 79 | cls._plugin_settings_object.clear_on_change(cls.__name__) 80 | 81 | @classmethod 82 | def add_on_change(cls, key: str, callback: Callable) -> None: 83 | cls._on_settings_change_callbacks[key] = callback 84 | 85 | @classmethod 86 | def clear_on_change(cls, key: str) -> None: 87 | cls._on_settings_change_callbacks.pop(key, None) 88 | 89 | @classmethod 90 | def set_settings_normalizer(cls, normalizer: Callable[[SettingsDict], None] | None) -> None: 91 | cls._settings_normalizer = normalizer 92 | 93 | @classmethod 94 | def set_settings_producer(cls, producer: Callable[[MergedSettingsDict], dict[str, Any]] | None) -> None: 95 | cls._settings_producer = producer 96 | 97 | @classmethod 98 | def get(cls, window: sublime.Window, key: str, default: Any | None = None) -> Any: 99 | return cls.get_all(window).get(key, default) 100 | 101 | @classmethod 102 | def get_all(cls, window: sublime.Window) -> MergedSettingsDict: 103 | return cls._merged_plugin_settings.get(window.id()) or {} 104 | 105 | # ---------- # 106 | # listerners # 107 | # ---------- # 108 | 109 | def on_new(self, view: sublime.View) -> None: 110 | cls = self.__class__ 111 | if not (window := view.window()) or cls._is_tracked_window(window): 112 | return 113 | # `on_settings_change` is used here to guarantee a newly created window is initialized 114 | # because `on_new` will be fired before `on_new_window` when creating a new window. 115 | cls._on_settings_change([window], run_callbacks=False) 116 | 117 | def on_new_window(self, window: sublime.Window) -> None: 118 | cls = self.__class__ 119 | if cls._is_tracked_window(window): 120 | return 121 | cls._on_settings_change([window]) 122 | 123 | def on_pre_close_window(self, window: sublime.Window) -> None: 124 | cls = self.__class__ 125 | window_id = window.id() 126 | cls._merged_plugin_settings.pop(window_id, None) 127 | cls._project_plugin_settings.pop(window_id, None) 128 | cls._tracked_windows.remove(window_id) 129 | 130 | def on_load_project_async(self, window: sublime.Window) -> None: 131 | """Will be called after saving project settings.""" 132 | cls = self.__class__ 133 | cls._on_settings_change([window]) 134 | 135 | # ------------ # 136 | # private APIs # 137 | # ------------ # 138 | 139 | @classmethod 140 | def _is_tracked_window(cls, window: sublime.Window) -> bool: 141 | return window.id() in cls._tracked_windows 142 | 143 | @classmethod 144 | def _on_settings_change(cls, windows: list[sublime.Window] | None = None, run_callbacks: bool = True) -> None: 145 | if windows is None: 146 | # refresh all windows 147 | windows = sublime.windows() 148 | cls._update_plugin_settings() 149 | 150 | for window in windows: 151 | cls._update_project_plugin_settings(window) 152 | cls._update_merged_plugin_settings(window) 153 | cls._tracked_windows.add(window.id()) 154 | 155 | if run_callbacks: 156 | for callback in cls._on_settings_change_callbacks.values(): 157 | callback(window) 158 | 159 | @classmethod 160 | def _update_plugin_settings(cls) -> None: 161 | assert cls._plugin_settings_object 162 | cls._plugin_settings = {"_comment": "plugin_settings"} 163 | cls._plugin_settings.update(cls._plugin_settings_object.to_dict()) 164 | if cls._settings_normalizer: 165 | cls._settings_normalizer(cls._plugin_settings) 166 | 167 | @classmethod 168 | def _update_project_plugin_settings(cls, window: sublime.Window) -> None: 169 | window_id = window.id() 170 | cls._project_plugin_settings[window_id] = {"_comment": "project_settings"} 171 | cls._project_plugin_settings[window_id].update( 172 | (window.project_data() or {}).get("settings", {}).get(cls.plugin_name, {}) 173 | ) 174 | if cls._settings_normalizer: 175 | cls._settings_normalizer(cls._project_plugin_settings[window_id]) 176 | 177 | @classmethod 178 | def _update_merged_plugin_settings(cls, window: sublime.Window) -> None: 179 | window_id = window.id() 180 | 181 | merged = ChainMap( 182 | cls._project_plugin_settings.get(window_id) or {}, 183 | cls._plugin_settings, 184 | ) 185 | 186 | produced = {"_comment": "produced_settings"} 187 | if cls._settings_producer: 188 | produced.update(cls._settings_producer(merged)) 189 | 190 | cls._merged_plugin_settings[window_id] = ChainMap(produced, *(merged.maps)) 191 | -------------------------------------------------------------------------------- /plugin/utils.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from itertools import groupby 4 | from operator import itemgetter 5 | from typing import Any, Callable, Generator, Iterable, TypeVar 6 | 7 | _T = TypeVar("_T") 8 | 9 | 10 | def sort_uniq( 11 | seq: Iterable[_T], 12 | *, 13 | key: Callable[[_T], Any] | None = None, 14 | reverse: bool = False, 15 | ) -> Generator[_T, None, None]: 16 | key = key or (lambda x: x) 17 | yield from map( 18 | itemgetter(0), 19 | groupby(sorted(seq, key=key, reverse=reverse), key=key), # type: ignore 20 | ) 21 | -------------------------------------------------------------------------------- /sublime-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "contributions": { 3 | "settings": [ 4 | { 5 | "file_patterns": ["/BootstrapAutocomplete/completion-db.json", "/ST-BootstrapAutocomplete/completion-db.json"], 6 | "schema": { 7 | "allowComments": true, 8 | "allowTrailingCommas": true 9 | } 10 | }, 11 | { 12 | "file_patterns": ["/BootstrapAutocomplete.sublime-settings"], 13 | "schema": { 14 | "$id": "sublime://settings/BootstrapAutocomplete", 15 | "definitions": { 16 | "plugin_config": { 17 | "properties": { 18 | "selectors": { 19 | "description": "Scopes that this plugin should activated.", 20 | "type": "array", 21 | "anyOf": [ 22 | { 23 | "type": "string" 24 | }, 25 | { 26 | "type": "array", 27 | "items": { 28 | "type": "string" 29 | } 30 | } 31 | ], 32 | "default": ["text.html string.quoted - meta.path", "text.html meta.attribute-with-value.class"] 33 | }, 34 | "versions": { 35 | "description": "Targeted Bootstrap versions.", 36 | "anyOf": [ 37 | { 38 | "type": "array", 39 | "items": { 40 | "type": "string", 41 | "enum": ["2", "3", "4", "5"] 42 | } 43 | } 44 | ], 45 | "default": ["4"] 46 | } 47 | } 48 | } 49 | }, 50 | "type": "object", 51 | "allOf": [ 52 | { 53 | "$ref": "sublime://settings/BootstrapAutocomplete#/definitions/plugin_config" 54 | } 55 | ] 56 | } 57 | }, 58 | { 59 | "file_patterns": ["/*.sublime-project"], 60 | "schema": { 61 | "properties": { 62 | "settings": { 63 | "properties": { 64 | "BootstrapAutocomplete": { 65 | "$ref": "sublime://settings/BootstrapAutocomplete#/definitions/plugin_config" 66 | } 67 | } 68 | } 69 | } 70 | } 71 | } 72 | ] 73 | } 74 | } 75 | --------------------------------------------------------------------------------