twitter-bootstrap-rails 5.3.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +128 -628
  4. data/app/assets/javascripts/twitter/bootstrap/bootstrap.min.js +3 -3
  5. data/app/assets/stylesheets/twitter-bootstrap-static/bootstrap.css +3 -3
  6. data/lib/generators/bootstrap/badge/badge_generator.rb +13 -0
  7. data/lib/generators/bootstrap/breadcrumb/breadcrumb_generator.rb +13 -0
  8. data/lib/generators/bootstrap/button/button_generator.rb +13 -0
  9. data/lib/generators/bootstrap/cdn/cdn_generator.rb +39 -0
  10. data/lib/generators/bootstrap/cdn_tags.rb +43 -0
  11. data/lib/generators/bootstrap/dropdown/dropdown_generator.rb +13 -0
  12. data/lib/generators/bootstrap/features/features_generator.rb +13 -0
  13. data/lib/generators/bootstrap/footer/footer_generator.rb +13 -0
  14. data/lib/generators/bootstrap/header/header_generator.rb +13 -0
  15. data/lib/generators/bootstrap/hero/hero_generator.rb +13 -0
  16. data/lib/generators/bootstrap/install/install_generator.rb +120 -61
  17. data/lib/generators/bootstrap/install/templates/application.js +1 -1
  18. data/lib/generators/bootstrap/install/templates/bootstrap.js +10 -3
  19. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.css +2 -2
  20. data/lib/generators/bootstrap/jumbotron/jumbotron_generator.rb +13 -0
  21. data/lib/generators/bootstrap/layout/layout_generator.rb +65 -1
  22. data/lib/generators/bootstrap/layout/templates/layout.html.erb +14 -9
  23. data/lib/generators/bootstrap/layout/templates/layout.html.haml +28 -43
  24. data/lib/generators/bootstrap/layout/templates/layout.html.slim +25 -40
  25. data/lib/generators/bootstrap/list_group/list_group_generator.rb +13 -0
  26. data/lib/generators/bootstrap/modal/modal_generator.rb +13 -0
  27. data/lib/generators/bootstrap/sidebar/sidebar_generator.rb +13 -0
  28. data/lib/generators/bootstrap/snippets/snippet_base.rb +126 -0
  29. data/lib/generators/bootstrap/snippets/snippet_catalog.rb +134 -0
  30. data/lib/generators/bootstrap/snippets/templates/badges/pills.html.erb +10 -0
  31. data/lib/generators/bootstrap/snippets/templates/badges/subtle.html.erb +10 -0
  32. data/lib/generators/bootstrap/snippets/templates/badges/subtle_bordered.html.erb +20 -0
  33. data/lib/generators/bootstrap/snippets/templates/badges/with_avatar.html.erb +34 -0
  34. data/lib/generators/bootstrap/snippets/templates/badges/with_avatar_divider.html.erb +66 -0
  35. data/lib/generators/bootstrap/snippets/templates/badges/with_icons.html.erb +26 -0
  36. data/lib/generators/bootstrap/snippets/templates/breadcrumbs/basic.html.erb +9 -0
  37. data/lib/generators/bootstrap/snippets/templates/breadcrumbs/chevron.html.erb +18 -0
  38. data/lib/generators/bootstrap/snippets/templates/breadcrumbs/custom.html.erb +18 -0
  39. data/lib/generators/bootstrap/snippets/templates/breadcrumbs/with_icons.html.erb +18 -0
  40. data/lib/generators/bootstrap/snippets/templates/buttons/circle.html.erb +20 -0
  41. data/lib/generators/bootstrap/snippets/templates/buttons/grid.html.erb +6 -0
  42. data/lib/generators/bootstrap/snippets/templates/buttons/loading.html.erb +10 -0
  43. data/lib/generators/bootstrap/snippets/templates/buttons/pills.html.erb +11 -0
  44. data/lib/generators/bootstrap/snippets/templates/buttons/with_icons.html.erb +14 -0
  45. data/lib/generators/bootstrap/snippets/templates/dropdowns/calendar.html.erb +156 -0
  46. data/lib/generators/bootstrap/snippets/templates/dropdowns/mega_menu.html.erb +140 -0
  47. data/lib/generators/bootstrap/snippets/templates/dropdowns/simple.html.erb +20 -0
  48. data/lib/generators/bootstrap/snippets/templates/dropdowns/with_icons.html.erb +88 -0
  49. data/lib/generators/bootstrap/snippets/templates/dropdowns/with_search.html.erb +64 -0
  50. data/lib/generators/bootstrap/snippets/templates/features/columns_with_icons.html.erb +46 -0
  51. data/lib/generators/bootstrap/snippets/templates/features/custom_cards.html.erb +79 -0
  52. data/lib/generators/bootstrap/snippets/templates/features/hanging_icons.html.erb +41 -0
  53. data/lib/generators/bootstrap/snippets/templates/features/icon_grid.html.erb +77 -0
  54. data/lib/generators/bootstrap/snippets/templates/features/with_title.html.erb +50 -0
  55. data/lib/generators/bootstrap/snippets/templates/footers/columns.html.erb +43 -0
  56. data/lib/generators/bootstrap/snippets/templates/footers/simple.html.erb +15 -0
  57. data/lib/generators/bootstrap/snippets/templates/footers/with_brand.html.erb +22 -0
  58. data/lib/generators/bootstrap/snippets/templates/footers/with_nav.html.erb +12 -0
  59. data/lib/generators/bootstrap/snippets/templates/footers/with_newsletter.html.erb +62 -0
  60. data/lib/generators/bootstrap/snippets/templates/headers/centered.html.erb +15 -0
  61. data/lib/generators/bootstrap/snippets/templates/headers/dark_double.html.erb +66 -0
  62. data/lib/generators/bootstrap/snippets/templates/headers/dark_search.html.erb +25 -0
  63. data/lib/generators/bootstrap/snippets/templates/headers/double.html.erb +28 -0
  64. data/lib/generators/bootstrap/snippets/templates/headers/grid_dropdown.html.erb +47 -0
  65. data/lib/generators/bootstrap/snippets/templates/headers/light_search.html.erb +34 -0
  66. data/lib/generators/bootstrap/snippets/templates/headers/nav_pills.html.erb +11 -0
  67. data/lib/generators/bootstrap/snippets/templates/headers/with_auth_buttons.html.erb +22 -0
  68. data/lib/generators/bootstrap/snippets/templates/heroes/centered.html.erb +13 -0
  69. data/lib/generators/bootstrap/snippets/templates/heroes/centered_screenshot.html.erb +17 -0
  70. data/lib/generators/bootstrap/snippets/templates/heroes/cropped_image.html.erb +17 -0
  71. data/lib/generators/bootstrap/snippets/templates/heroes/dark.html.erb +14 -0
  72. data/lib/generators/bootstrap/snippets/templates/heroes/signup_form.html.erb +26 -0
  73. data/lib/generators/bootstrap/snippets/templates/heroes/with_image.html.erb +17 -0
  74. data/lib/generators/bootstrap/snippets/templates/icons/_bootstrap_icons.html.erb +134 -0
  75. data/lib/generators/bootstrap/snippets/templates/jumbotrons/basic.html.erb +10 -0
  76. data/lib/generators/bootstrap/snippets/templates/jumbotrons/full_width.html.erb +12 -0
  77. data/lib/generators/bootstrap/snippets/templates/jumbotrons/placeholder.html.erb +13 -0
  78. data/lib/generators/bootstrap/snippets/templates/jumbotrons/with_icon.html.erb +22 -0
  79. data/lib/generators/bootstrap/snippets/templates/list-groups/checkable.html.erb +24 -0
  80. data/lib/generators/bootstrap/snippets/templates/list-groups/checkboxes.html.erb +45 -0
  81. data/lib/generators/bootstrap/snippets/templates/list-groups/checkboxes_expanded.html.erb +52 -0
  82. data/lib/generators/bootstrap/snippets/templates/list-groups/radios.html.erb +32 -0
  83. data/lib/generators/bootstrap/snippets/templates/list-groups/with_avatars.html.erb +36 -0
  84. data/lib/generators/bootstrap/snippets/templates/modals/confirm.html.erb +18 -0
  85. data/lib/generators/bootstrap/snippets/templates/modals/sheet.html.erb +19 -0
  86. data/lib/generators/bootstrap/snippets/templates/modals/signup.html.erb +44 -0
  87. data/lib/generators/bootstrap/snippets/templates/modals/whats_new.html.erb +41 -0
  88. data/lib/generators/bootstrap/snippets/templates/sidebars/collapsible.html.erb +90 -0
  89. data/lib/generators/bootstrap/snippets/templates/sidebars/dark.html.erb +67 -0
  90. data/lib/generators/bootstrap/snippets/templates/sidebars/icon_only.html.erb +59 -0
  91. data/lib/generators/bootstrap/snippets/templates/sidebars/light.html.erb +67 -0
  92. data/lib/generators/bootstrap/snippets/templates/sidebars/list_group.html.erb +94 -0
  93. data/lib/generators/bootstrap/starter/starter_generator.rb +37 -0
  94. data/lib/generators/bootstrap/starter/templates/starter.html.erb +13 -0
  95. data/lib/twitter/bootstrap/rails/bootstrap.rb +1 -0
  96. data/lib/twitter/bootstrap/rails/config.rb +54 -0
  97. data/lib/twitter/bootstrap/rails/engine.rb +0 -8
  98. data/lib/twitter/bootstrap/rails/version.rb +28 -1
  99. data/lib/twitter-bootstrap-rails.rb +0 -1
  100. data/spec/lib/generators/cdn_generator_spec.rb +42 -0
  101. data/spec/lib/generators/install_generator_spec.rb +148 -0
  102. data/spec/lib/generators/layout_generator_spec.rb +124 -0
  103. data/spec/lib/generators/no_hardcoded_versions_spec.rb +45 -0
  104. data/spec/lib/generators/snippet_generators_spec.rb +201 -0
  105. data/spec/lib/generators/starter_generator_spec.rb +54 -0
  106. data/spec/spec_helper.rb +5 -0
  107. data/spec/support/generator_spec_helper.rb +87 -0
  108. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap.bundle.min.js +3 -3
  109. data/vendor/assets/stylesheets/twitter/bootstrap/bootstrap.min.css +3 -3
  110. metadata +99 -123
  111. data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  112. data/app/assets/fonts/glyphicons-halflings-regular.svg +0 -288
  113. data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  114. data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  115. data/app/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  116. data/app/helpers/glyph_helper.rb +0 -23
  117. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +0 -3
  118. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +0 -21
  119. data/spec/lib/twitter_bootstrap_rails/glyph_helper_spec.rb +0 -24
  120. data/vendor/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +0 -6684
  121. data/vendor/static-source/bootstrap.less +0 -1
  122. data/vendor/static-source/sprites.less +0 -6
  123. data/vendor/toolkit/twitter/bootstrap/alerts.less +0 -73
  124. data/vendor/toolkit/twitter/bootstrap/badges.less +0 -66
  125. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +0 -55
  126. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +0 -26
  127. data/vendor/toolkit/twitter/bootstrap/button-groups.less +0 -244
  128. data/vendor/toolkit/twitter/bootstrap/buttons.less +0 -166
  129. data/vendor/toolkit/twitter/bootstrap/carousel.less +0 -270
  130. data/vendor/toolkit/twitter/bootstrap/close.less +0 -34
  131. data/vendor/toolkit/twitter/bootstrap/code.less +0 -69
  132. data/vendor/toolkit/twitter/bootstrap/component-animations.less +0 -33
  133. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +0 -216
  134. data/vendor/toolkit/twitter/bootstrap/forms.less +0 -613
  135. data/vendor/toolkit/twitter/bootstrap/glyphicons.less +0 -305
  136. data/vendor/toolkit/twitter/bootstrap/grid.less +0 -84
  137. data/vendor/toolkit/twitter/bootstrap/input-groups.less +0 -171
  138. data/vendor/toolkit/twitter/bootstrap/jumbotron.less +0 -54
  139. data/vendor/toolkit/twitter/bootstrap/labels.less +0 -64
  140. data/vendor/toolkit/twitter/bootstrap/list-group.less +0 -130
  141. data/vendor/toolkit/twitter/bootstrap/media.less +0 -66
  142. data/vendor/toolkit/twitter/bootstrap/mixins/alerts.less +0 -14
  143. data/vendor/toolkit/twitter/bootstrap/mixins/background-variant.less +0 -9
  144. data/vendor/toolkit/twitter/bootstrap/mixins/border-radius.less +0 -18
  145. data/vendor/toolkit/twitter/bootstrap/mixins/buttons.less +0 -65
  146. data/vendor/toolkit/twitter/bootstrap/mixins/center-block.less +0 -7
  147. data/vendor/toolkit/twitter/bootstrap/mixins/clearfix.less +0 -22
  148. data/vendor/toolkit/twitter/bootstrap/mixins/forms.less +0 -85
  149. data/vendor/toolkit/twitter/bootstrap/mixins/gradients.less +0 -59
  150. data/vendor/toolkit/twitter/bootstrap/mixins/grid-framework.less +0 -91
  151. data/vendor/toolkit/twitter/bootstrap/mixins/grid.less +0 -122
  152. data/vendor/toolkit/twitter/bootstrap/mixins/hide-text.less +0 -21
  153. data/vendor/toolkit/twitter/bootstrap/mixins/image.less +0 -33
  154. data/vendor/toolkit/twitter/bootstrap/mixins/labels.less +0 -12
  155. data/vendor/toolkit/twitter/bootstrap/mixins/list-group.less +0 -30
  156. data/vendor/toolkit/twitter/bootstrap/mixins/nav-divider.less +0 -10
  157. data/vendor/toolkit/twitter/bootstrap/mixins/nav-vertical-align.less +0 -9
  158. data/vendor/toolkit/twitter/bootstrap/mixins/opacity.less +0 -8
  159. data/vendor/toolkit/twitter/bootstrap/mixins/pagination.less +0 -24
  160. data/vendor/toolkit/twitter/bootstrap/mixins/panels.less +0 -24
  161. data/vendor/toolkit/twitter/bootstrap/mixins/progress-bar.less +0 -10
  162. data/vendor/toolkit/twitter/bootstrap/mixins/reset-filter.less +0 -8
  163. data/vendor/toolkit/twitter/bootstrap/mixins/reset-text.less +0 -18
  164. data/vendor/toolkit/twitter/bootstrap/mixins/resize.less +0 -6
  165. data/vendor/toolkit/twitter/bootstrap/mixins/responsive-visibility.less +0 -15
  166. data/vendor/toolkit/twitter/bootstrap/mixins/size.less +0 -10
  167. data/vendor/toolkit/twitter/bootstrap/mixins/tab-focus.less +0 -9
  168. data/vendor/toolkit/twitter/bootstrap/mixins/table-row.less +0 -28
  169. data/vendor/toolkit/twitter/bootstrap/mixins/text-emphasis.less +0 -9
  170. data/vendor/toolkit/twitter/bootstrap/mixins/text-overflow.less +0 -8
  171. data/vendor/toolkit/twitter/bootstrap/mixins/vendor-prefixes.less +0 -227
  172. data/vendor/toolkit/twitter/bootstrap/mixins.less +0 -40
  173. data/vendor/toolkit/twitter/bootstrap/modals.less +0 -150
  174. data/vendor/toolkit/twitter/bootstrap/navbar.less +0 -660
  175. data/vendor/toolkit/twitter/bootstrap/navs.less +0 -242
  176. data/vendor/toolkit/twitter/bootstrap/normalize.less +0 -424
  177. data/vendor/toolkit/twitter/bootstrap/pager.less +0 -54
  178. data/vendor/toolkit/twitter/bootstrap/pagination.less +0 -89
  179. data/vendor/toolkit/twitter/bootstrap/panels.less +0 -271
  180. data/vendor/toolkit/twitter/bootstrap/popovers.less +0 -131
  181. data/vendor/toolkit/twitter/bootstrap/print.less +0 -101
  182. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +0 -87
  183. data/vendor/toolkit/twitter/bootstrap/responsive-embed.less +0 -35
  184. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +0 -194
  185. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +0 -161
  186. data/vendor/toolkit/twitter/bootstrap/tables.less +0 -234
  187. data/vendor/toolkit/twitter/bootstrap/theme.less +0 -291
  188. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +0 -36
  189. data/vendor/toolkit/twitter/bootstrap/tooltip.less +0 -101
  190. data/vendor/toolkit/twitter/bootstrap/type.less +0 -302
  191. data/vendor/toolkit/twitter/bootstrap/utilities.less +0 -55
  192. data/vendor/toolkit/twitter/bootstrap/variables.less +0 -1751
  193. data/vendor/toolkit/twitter/bootstrap/wells.less +0 -29
  194. data/vendor/toolkit/twitter/bootstrap_base.less +0 -2
@@ -0,0 +1,9 @@
1
+ <div class="container my-5">
2
+ <nav aria-label="breadcrumb">
3
+ <ol class="breadcrumb p-3 bg-body-tertiary rounded-3">
4
+ <li class="breadcrumb-item"><a href="#">Home</a></li>
5
+ <li class="breadcrumb-item"><a href="#">Library</a></li>
6
+ <li class="breadcrumb-item active" aria-current="page">Data</li>
7
+ </ol>
8
+ </nav>
9
+ </div>
@@ -0,0 +1,18 @@
1
+ <div class="container my-5">
2
+ <nav aria-label="breadcrumb">
3
+ <ol class="breadcrumb breadcrumb-chevron p-3 bg-body-tertiary rounded-3">
4
+ <li class="breadcrumb-item">
5
+ <a class="link-body-emphasis" href="#">
6
+ <svg class="bi" width="16" height="16" aria-hidden="true">
7
+ <use xlink:href="#house-door-fill"></use>
8
+ </svg>
9
+ <span class="visually-hidden">Home</span>
10
+ </a>
11
+ </li>
12
+ <li class="breadcrumb-item">
13
+ <a class="link-body-emphasis fw-semibold text-decoration-none" href="#">Library</a>
14
+ </li>
15
+ <li class="breadcrumb-item active" aria-current="page">Data</li>
16
+ </ol>
17
+ </nav>
18
+ </div>
@@ -0,0 +1,18 @@
1
+ <div class="container my-5">
2
+ <nav aria-label="breadcrumb">
3
+ <ol class="breadcrumb breadcrumb-custom overflow-hidden text-center bg-body-tertiary border rounded-3">
4
+ <li class="breadcrumb-item">
5
+ <a class="link-body-emphasis fw-semibold text-decoration-none" href="#">
6
+ <svg class="bi" width="16" height="16" aria-hidden="true">
7
+ <use xlink:href="#house-door-fill"></use>
8
+ </svg>
9
+ Home
10
+ </a>
11
+ </li>
12
+ <li class="breadcrumb-item">
13
+ <a class="link-body-emphasis fw-semibold text-decoration-none" href="#">Library</a>
14
+ </li>
15
+ <li class="breadcrumb-item active" aria-current="page">Data</li>
16
+ </ol>
17
+ </nav>
18
+ </div>
@@ -0,0 +1,18 @@
1
+ <div class="container my-5">
2
+ <nav aria-label="breadcrumb">
3
+ <ol class="breadcrumb p-3 bg-body-tertiary rounded-3">
4
+ <li class="breadcrumb-item">
5
+ <a class="link-body-emphasis" href="#">
6
+ <svg class="bi" width="16" height="16" aria-hidden="true">
7
+ <use xlink:href="#house-door-fill"></use>
8
+ </svg>
9
+ <span class="visually-hidden">Home</span>
10
+ </a>
11
+ </li>
12
+ <li class="breadcrumb-item">
13
+ <a class="link-body-emphasis fw-semibold text-decoration-none" href="#">Library</a>
14
+ </li>
15
+ <li class="breadcrumb-item active" aria-current="page">Data</li>
16
+ </ol>
17
+ </nav>
18
+ </div>
@@ -0,0 +1,20 @@
1
+ <div class="d-flex gap-2 justify-content-center pt-5 pb-4">
2
+ <button class="btn btn-primary rounded-circle p-2 lh-1" type="button">
3
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#x-lg"></use></svg>
4
+ <span class="visually-hidden">Dismiss</span>
5
+ </button>
6
+ <button class="btn btn-outline-primary rounded-circle p-2 lh-1" type="button">
7
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#x-lg"></use></svg>
8
+ <span class="visually-hidden">Dismiss</span>
9
+ </button>
10
+ </div>
11
+ <div class="d-flex gap-2 justify-content-center pb-5">
12
+ <button class="btn btn-primary rounded-circle p-3 lh-1" type="button">
13
+ <svg class="bi" width="24" height="24" aria-hidden="true"><use xlink:href="#x-lg"></use></svg>
14
+ <span class="visually-hidden">Dismiss</span>
15
+ </button>
16
+ <button class="btn btn-outline-primary rounded-circle p-3 lh-1" type="button">
17
+ <svg class="bi" width="24" height="24" aria-hidden="true"><use xlink:href="#x-lg"></use></svg>
18
+ <span class="visually-hidden">Dismiss</span>
19
+ </button>
20
+ </div>
@@ -0,0 +1,6 @@
1
+ <div class="col-lg-6 col-xxl-4 my-5 mx-auto">
2
+ <div class="d-grid gap-2">
3
+ <button class="btn btn-outline-secondary" type="button">Secondary action</button>
4
+ <button class="btn btn-primary" type="button">Primary action</button>
5
+ </div>
6
+ </div>
@@ -0,0 +1,10 @@
1
+ <div class="d-flex gap-2 justify-content-center py-5">
2
+ <button class="btn btn-primary" type="button" disabled>
3
+ <span class="spinner-border spinner-border-sm" aria-hidden="true"></span>
4
+ <span class="visually-hidden" role="status">Loading...</span>
5
+ </button>
6
+ <button class="btn btn-primary" type="button" disabled>
7
+ <span class="spinner-border spinner-border-sm" aria-hidden="true"></span>
8
+ <span role="status">Loading...</span>
9
+ </button>
10
+ </div>
@@ -0,0 +1,11 @@
1
+ <div class="d-flex gap-2 justify-content-center py-5">
2
+ <button class="btn btn-primary rounded-pill px-3" type="button">Primary</button>
3
+ <button class="btn btn-secondary rounded-pill px-3" type="button">Secondary</button>
4
+ <button class="btn btn-success rounded-pill px-3" type="button">Success</button>
5
+ <button class="btn btn-danger rounded-pill px-3" type="button">Danger</button>
6
+ <button class="btn btn-warning rounded-pill px-3" type="button">Warning</button>
7
+ <button class="btn btn-info rounded-pill px-3" type="button">Info</button>
8
+ <button class="btn btn-light rounded-pill px-3" type="button">Light</button>
9
+ <button class="btn btn-dark rounded-pill px-3" type="button">Dark</button>
10
+ <button class="btn btn-link rounded-pill px-3" type="button">Link</button>
11
+ </div>
@@ -0,0 +1,14 @@
1
+ <div class="d-flex gap-2 justify-content-center py-5">
2
+ <button class="btn btn-primary d-inline-flex align-items-center" type="button">
3
+ Primary icon
4
+ <svg class="bi ms-1" width="20" height="20" aria-hidden="true">
5
+ <use xlink:href="#arrow-right-short"></use>
6
+ </svg>
7
+ </button>
8
+ <button class="btn btn-outline-secondary d-inline-flex align-items-center" type="button">
9
+ Secondary icon
10
+ <svg class="bi ms-1" width="20" height="20" aria-hidden="true">
11
+ <use xlink:href="#arrow-right-short"></use>
12
+ </svg>
13
+ </button>
14
+ </div>
@@ -0,0 +1,156 @@
1
+ <div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
2
+ <div class="dropdown-menu d-block position-static p-2 mx-0 shadow rounded-3 w-340px" data-bs-theme="light">
3
+ <div class="d-grid gap-1">
4
+ <div class="cal">
5
+ <div class="cal-month">
6
+ <button class="btn cal-btn" type="button" aria-label="previous month">
7
+ <svg class="bi" width="16" height="16" aria-hidden="true">
8
+ <use xlink:href="#arrow-left-short"></use>
9
+ </svg>
10
+ </button>
11
+ <strong class="cal-month-name">June</strong>
12
+ <select class="form-select cal-month-name d-none">
13
+ <option value="January">January</option>
14
+ <option value="February">February</option>
15
+ <option value="March">March</option>
16
+ <option value="April">April</option>
17
+ <option value="May">May</option>
18
+ <option selected value="June">June</option>
19
+ <option value="July">July</option>
20
+ <option value="August">August</option>
21
+ <option value="September">September</option>
22
+ <option value="October">October</option>
23
+ <option value="November">November</option>
24
+ <option value="December">December</option>
25
+ </select>
26
+ <button class="btn cal-btn" type="button" aria-label="next month">
27
+ <svg class="bi" width="16" height="16" aria-hidden="true">
28
+ <use xlink:href="#arrow-right-short"></use>
29
+ </svg>
30
+ </button>
31
+ </div>
32
+ <div class="cal-weekdays text-body-secondary">
33
+ <div class="cal-weekday">Sun</div>
34
+ <div class="cal-weekday">Mon</div>
35
+ <div class="cal-weekday">Tue</div>
36
+ <div class="cal-weekday">Wed</div>
37
+ <div class="cal-weekday">Thu</div>
38
+ <div class="cal-weekday">Fri</div>
39
+ <div class="cal-weekday">Sat</div>
40
+ </div>
41
+ <div class="cal-days">
42
+ <button class="btn cal-btn" disabled type="button">30</button>
43
+ <button class="btn cal-btn" disabled type="button">31</button>
44
+ <button class="btn cal-btn" type="button">1</button>
45
+ <button class="btn cal-btn" type="button">2</button>
46
+ <button class="btn cal-btn" type="button">3</button>
47
+ <button class="btn cal-btn" type="button">4</button>
48
+ <button class="btn cal-btn" type="button">5</button>
49
+ <button class="btn cal-btn" type="button">6</button>
50
+ <button class="btn cal-btn" type="button">7</button>
51
+ <button class="btn cal-btn" type="button">8</button>
52
+ <button class="btn cal-btn" type="button">9</button>
53
+ <button class="btn cal-btn" type="button">10</button>
54
+ <button class="btn cal-btn" type="button">11</button>
55
+ <button class="btn cal-btn" type="button">12</button>
56
+ <button class="btn cal-btn" type="button">13</button>
57
+ <button class="btn cal-btn" type="button">14</button>
58
+ <button class="btn cal-btn" type="button">15</button>
59
+ <button class="btn cal-btn" type="button">16</button>
60
+ <button class="btn cal-btn" type="button">17</button>
61
+ <button class="btn cal-btn" type="button">18</button>
62
+ <button class="btn cal-btn" type="button">19</button>
63
+ <button class="btn cal-btn" type="button">20</button>
64
+ <button class="btn cal-btn" type="button">21</button>
65
+ <button class="btn cal-btn" type="button">22</button>
66
+ <button class="btn cal-btn" type="button">23</button>
67
+ <button class="btn cal-btn" type="button">24</button>
68
+ <button class="btn cal-btn" type="button">25</button>
69
+ <button class="btn cal-btn" type="button">26</button>
70
+ <button class="btn cal-btn" type="button">27</button>
71
+ <button class="btn cal-btn" type="button">28</button>
72
+ <button class="btn cal-btn" type="button">29</button>
73
+ <button class="btn cal-btn" type="button">30</button>
74
+ <button class="btn cal-btn" type="button">31</button>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ <div class="dropdown-menu d-block position-static p-2 mx-0 shadow rounded-3 w-340px" data-bs-theme="dark">
80
+ <div class="d-grid gap-1">
81
+ <div class="cal">
82
+ <div class="cal-month">
83
+ <button class="btn cal-btn" type="button" aria-label="previous month">
84
+ <svg class="bi" width="16" height="16" aria-hidden="true">
85
+ <use xlink:href="#arrow-left-short"></use>
86
+ </svg>
87
+ </button>
88
+ <strong class="cal-month-name">June</strong>
89
+ <select class="form-select cal-month-name d-none">
90
+ <option value="January">January</option>
91
+ <option value="February">February</option>
92
+ <option value="March">March</option>
93
+ <option value="April">April</option>
94
+ <option value="May">May</option>
95
+ <option selected value="June">June</option>
96
+ <option value="July">July</option>
97
+ <option value="August">August</option>
98
+ <option value="September">September</option>
99
+ <option value="October">October</option>
100
+ <option value="November">November</option>
101
+ <option value="December">December</option>
102
+ </select>
103
+ <button class="btn cal-btn" type="button" aria-label="next month">
104
+ <svg class="bi" width="16" height="16" aria-hidden="true">
105
+ <use xlink:href="#arrow-right-short"></use>
106
+ </svg>
107
+ </button>
108
+ </div>
109
+ <div class="cal-weekdays text-body-secondary">
110
+ <div class="cal-weekday">Sun</div>
111
+ <div class="cal-weekday">Mon</div>
112
+ <div class="cal-weekday">Tue</div>
113
+ <div class="cal-weekday">Wed</div>
114
+ <div class="cal-weekday">Thu</div>
115
+ <div class="cal-weekday">Fri</div>
116
+ <div class="cal-weekday">Sat</div>
117
+ </div>
118
+ <div class="cal-days">
119
+ <button class="btn cal-btn" disabled type="button">30</button>
120
+ <button class="btn cal-btn" disabled type="button">31</button>
121
+ <button class="btn cal-btn" type="button">1</button>
122
+ <button class="btn cal-btn" type="button">2</button>
123
+ <button class="btn cal-btn" type="button">3</button>
124
+ <button class="btn cal-btn" type="button">4</button>
125
+ <button class="btn cal-btn" type="button">5</button>
126
+ <button class="btn cal-btn" type="button">6</button>
127
+ <button class="btn cal-btn" type="button">7</button>
128
+ <button class="btn cal-btn" type="button">8</button>
129
+ <button class="btn cal-btn" type="button">9</button>
130
+ <button class="btn cal-btn" type="button">10</button>
131
+ <button class="btn cal-btn" type="button">11</button>
132
+ <button class="btn cal-btn" type="button">12</button>
133
+ <button class="btn cal-btn" type="button">13</button>
134
+ <button class="btn cal-btn" type="button">14</button>
135
+ <button class="btn cal-btn" type="button">15</button>
136
+ <button class="btn cal-btn" type="button">16</button>
137
+ <button class="btn cal-btn" type="button">17</button>
138
+ <button class="btn cal-btn" type="button">18</button>
139
+ <button class="btn cal-btn" type="button">19</button>
140
+ <button class="btn cal-btn" type="button">20</button>
141
+ <button class="btn cal-btn" type="button">21</button>
142
+ <button class="btn cal-btn" type="button">22</button>
143
+ <button class="btn cal-btn" type="button">23</button>
144
+ <button class="btn cal-btn" type="button">24</button>
145
+ <button class="btn cal-btn" type="button">25</button>
146
+ <button class="btn cal-btn" type="button">26</button>
147
+ <button class="btn cal-btn" type="button">27</button>
148
+ <button class="btn cal-btn" type="button">28</button>
149
+ <button class="btn cal-btn" type="button">29</button>
150
+ <button class="btn cal-btn" type="button">30</button>
151
+ <button class="btn cal-btn" type="button">31</button>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ </div>
@@ -0,0 +1,140 @@
1
+ <div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
2
+ <div class="dropdown-menu position-static d-flex flex-column flex-lg-row align-items-stretch justify-content-start p-3 rounded-3 shadow-lg" data-bs-theme="light">
3
+ <nav class="col-lg-8">
4
+ <ul class="list-unstyled d-flex flex-column gap-2">
5
+ <li>
6
+ <a href="#" class="btn btn-hover-light rounded-2 d-flex align-items-start gap-2 py-2 px-3 lh-sm text-start">
7
+ <svg class="bi" width="24" height="24" aria-hidden="true">
8
+ <use xlink:href="#image-fill"></use>
9
+ </svg>
10
+ <div>
11
+ <strong class="d-block">Main product</strong>
12
+ <small>Take a tour through the product</small>
13
+ </div>
14
+ </a>
15
+ </li>
16
+ <li>
17
+ <a href="#" class="btn btn-hover-light rounded-2 d-flex align-items-start gap-2 py-2 px-3 lh-sm text-start">
18
+ <svg class="bi" width="24" height="24" aria-hidden="true">
19
+ <use xlink:href="#music-note-beamed"></use>
20
+ </svg>
21
+ <div>
22
+ <strong class="d-block">Another product</strong>
23
+ <small>Explore this other product we offer</small>
24
+ </div>
25
+ </a>
26
+ </li>
27
+ <li>
28
+ <a href="#" class="btn btn-hover-light rounded-2 d-flex align-items-start gap-2 py-2 px-3 lh-sm text-start">
29
+ <svg class="bi" width="24" height="24" aria-hidden="true">
30
+ <use xlink:href="#question-circle"></use>
31
+ </svg>
32
+ <div><strong class="d-block">Support</strong> <small>Get help from our support crew</small></div>
33
+ </a>
34
+ </li>
35
+ </ul>
36
+ </nav>
37
+ <div class="d-none d-lg-block vr mx-4 opacity-10">&nbsp;</div>
38
+ <hr class="d-lg-none">
39
+ <div class="col-lg-auto pe-3">
40
+ <nav>
41
+ <ul class="d-flex flex-column gap-2 list-unstyled small">
42
+ <li>
43
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
44
+ Documentation
45
+ </a>
46
+ </li>
47
+ <li>
48
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
49
+ Use cases
50
+ </a>
51
+ </li>
52
+ <li>
53
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
54
+ API status
55
+ </a>
56
+ </li>
57
+ <li>
58
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
59
+ Partners
60
+ </a>
61
+ </li>
62
+ <li>
63
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
64
+ Resources
65
+ </a>
66
+ </li>
67
+ </ul>
68
+ </nav>
69
+ </div>
70
+ </div>
71
+ <div class="dropdown-menu position-static d-flex flex-column flex-lg-row align-items-stretch justify-content-start p-3 rounded-3 shadow-lg" data-bs-theme="dark">
72
+ <nav class="col-lg-8">
73
+ <ul class="list-unstyled d-flex flex-column gap-2">
74
+ <li>
75
+ <a href="#" class="btn btn-hover-light rounded-2 d-flex align-items-start gap-2 py-2 px-3 lh-sm text-start">
76
+ <svg class="bi" width="24" height="24" aria-hidden="true">
77
+ <use xlink:href="#image-fill"></use>
78
+ </svg>
79
+ <div>
80
+ <strong class="d-block">Main product</strong>
81
+ <small>Take a tour through the product</small>
82
+ </div>
83
+ </a>
84
+ </li>
85
+ <li>
86
+ <a href="#" class="btn btn-hover-light rounded-2 d-flex align-items-start gap-2 py-2 px-3 lh-sm text-start">
87
+ <svg class="bi" width="24" height="24" aria-hidden="true">
88
+ <use xlink:href="#music-note-beamed"></use>
89
+ </svg>
90
+ <div>
91
+ <strong class="d-block">Another product</strong>
92
+ <small>Explore this other product we offer</small>
93
+ </div>
94
+ </a>
95
+ </li>
96
+ <li>
97
+ <a href="#" class="btn btn-hover-light rounded-2 d-flex align-items-start gap-2 py-2 px-3 lh-sm text-start">
98
+ <svg class="bi" width="24" height="24" aria-hidden="true">
99
+ <use xlink:href="#question-circle"></use>
100
+ </svg>
101
+ <div><strong class="d-block">Support</strong> <small>Get help from our support crew</small></div>
102
+ </a>
103
+ </li>
104
+ </ul>
105
+ </nav>
106
+ <div class="d-none d-lg-block vr mx-4 opacity-10">&nbsp;</div>
107
+ <hr class="d-lg-none">
108
+ <div class="col-lg-auto pe-3">
109
+ <nav>
110
+ <ul class="d-flex flex-column gap-2 list-unstyled small">
111
+ <li>
112
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
113
+ Documentation
114
+ </a>
115
+ </li>
116
+ <li>
117
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
118
+ Use cases
119
+ </a>
120
+ </li>
121
+ <li>
122
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
123
+ API status
124
+ </a>
125
+ </li>
126
+ <li>
127
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
128
+ Partners
129
+ </a>
130
+ </li>
131
+ <li>
132
+ <a href="#" class="link-offset-2 link-underline link-underline-opacity-25 link-underline-opacity-75-hover">
133
+ Resources
134
+ </a>
135
+ </li>
136
+ </ul>
137
+ </nav>
138
+ </div>
139
+ </div>
140
+ </div>
@@ -0,0 +1,20 @@
1
+ <div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
2
+ <ul class="dropdown-menu position-static d-grid gap-1 p-2 rounded-3 mx-0 shadow w-220px" data-bs-theme="light">
3
+ <li><a class="dropdown-item rounded-2 active" href="#">Action</a></li>
4
+ <li><a class="dropdown-item rounded-2" href="#">Another action</a></li>
5
+ <li><a class="dropdown-item rounded-2" href="#">Something else here</a></li>
6
+ <li>
7
+ <hr class="dropdown-divider">
8
+ </li>
9
+ <li><a class="dropdown-item rounded-2" href="#">Separated link</a></li>
10
+ </ul>
11
+ <ul class="dropdown-menu position-static d-grid gap-1 p-2 rounded-3 mx-0 border-0 shadow w-220px" data-bs-theme="dark">
12
+ <li><a class="dropdown-item rounded-2 active" href="#">Action</a></li>
13
+ <li><a class="dropdown-item rounded-2" href="#">Another action</a></li>
14
+ <li><a class="dropdown-item rounded-2" href="#">Something else here</a></li>
15
+ <li>
16
+ <hr class="dropdown-divider">
17
+ </li>
18
+ <li><a class="dropdown-item rounded-2" href="#">Separated link</a></li>
19
+ </ul>
20
+ </div>
@@ -0,0 +1,88 @@
1
+ <div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
2
+ <ul class="dropdown-menu d-block position-static mx-0 shadow w-220px" data-bs-theme="light">
3
+ <li>
4
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
5
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#files"></use></svg>
6
+ Documents
7
+ </a>
8
+ </li>
9
+ <li>
10
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
11
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#image-fill"></use></svg>
12
+ Photos
13
+ </a>
14
+ </li>
15
+ <li>
16
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
17
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#film"></use></svg>
18
+ Movies
19
+ </a>
20
+ </li>
21
+ <li>
22
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
23
+ <svg class="bi" width="16" height="16" aria-hidden="true">
24
+ <use xlink:href="#music-note-beamed"></use>
25
+ </svg>
26
+ Music
27
+ </a>
28
+ </li>
29
+ <li>
30
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
31
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#joystick"></use></svg>
32
+ Games
33
+ </a>
34
+ </li>
35
+ <li>
36
+ <hr class="dropdown-divider">
37
+ </li>
38
+ <li>
39
+ <a class="dropdown-item dropdown-item-danger d-flex gap-2 align-items-center" href="#">
40
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#trash"></use></svg>
41
+ Trash
42
+ </a>
43
+ </li>
44
+ </ul>
45
+ <ul class="dropdown-menu d-block position-static mx-0 border-0 shadow w-220px" data-bs-theme="dark">
46
+ <li>
47
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
48
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#files"></use></svg>
49
+ Documents
50
+ </a>
51
+ </li>
52
+ <li>
53
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
54
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#image-fill"></use></svg>
55
+ Photos
56
+ </a>
57
+ </li>
58
+ <li>
59
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
60
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#film"></use></svg>
61
+ Movies
62
+ </a>
63
+ </li>
64
+ <li>
65
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
66
+ <svg class="bi" width="16" height="16" aria-hidden="true">
67
+ <use xlink:href="#music-note-beamed"></use>
68
+ </svg>
69
+ Music
70
+ </a>
71
+ </li>
72
+ <li>
73
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
74
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#joystick"></use></svg>
75
+ Games
76
+ </a>
77
+ </li>
78
+ <li>
79
+ <hr class="dropdown-divider">
80
+ </li>
81
+ <li>
82
+ <a class="dropdown-item d-flex gap-2 align-items-center" href="#">
83
+ <svg class="bi" width="16" height="16" aria-hidden="true"><use xlink:href="#trash"></use></svg>
84
+ Trash
85
+ </a>
86
+ </li>
87
+ </ul>
88
+ </div>
@@ -0,0 +1,64 @@
1
+ <div class="d-flex flex-column flex-md-row p-4 gap-4 py-md-5 align-items-center justify-content-center">
2
+ <div class="dropdown-menu d-block position-static pt-0 mx-0 rounded-3 shadow overflow-hidden w-280px" data-bs-theme="light">
3
+ <form class="p-2 mb-2 bg-body-tertiary border-bottom">
4
+ <input type="search" class="form-control" autocomplete="false" placeholder="Type to filter...">
5
+ </form>
6
+ <ul class="list-unstyled mb-0">
7
+ <li>
8
+ <a class="dropdown-item d-flex align-items-center gap-2 py-2" href="#">
9
+ <span class="d-inline-block bg-success rounded-circle p-1"></span>
10
+ Action
11
+ </a>
12
+ </li>
13
+ <li>
14
+ <a class="dropdown-item d-flex align-items-center gap-2 py-2" href="#">
15
+ <span class="d-inline-block bg-primary rounded-circle p-1"></span>
16
+ Another action
17
+ </a>
18
+ </li>
19
+ <li>
20
+ <a class="dropdown-item d-flex align-items-center gap-2 py-2" href="#">
21
+ <span class="d-inline-block bg-danger rounded-circle p-1"></span>
22
+ Something else here
23
+ </a>
24
+ </li>
25
+ <li>
26
+ <a class="dropdown-item d-flex align-items-center gap-2 py-2" href="#">
27
+ <span class="d-inline-block bg-info rounded-circle p-1"></span>
28
+ Separated link
29
+ </a>
30
+ </li>
31
+ </ul>
32
+ </div>
33
+ <div class="dropdown-menu d-block position-static border-0 pt-0 mx-0 rounded-3 shadow overflow-hidden w-280px" data-bs-theme="dark">
34
+ <form class="p-2 mb-2 bg-dark border-bottom border-dark">
35
+ <input type="search" class="form-control bg-dark" autocomplete="false" placeholder="Type to filter...">
36
+ </form>
37
+ <ul class="list-unstyled mb-0">
38
+ <li>
39
+ <a class="dropdown-item d-flex align-items-center gap-2 py-2" href="#">
40
+ <span class="d-inline-block bg-success rounded-circle p-1"></span>
41
+ Action
42
+ </a>
43
+ </li>
44
+ <li>
45
+ <a class="dropdown-item d-flex align-items-center gap-2 py-2" href="#">
46
+ <span class="d-inline-block bg-primary rounded-circle p-1"></span>
47
+ Another action
48
+ </a>
49
+ </li>
50
+ <li>
51
+ <a class="dropdown-item d-flex align-items-center gap-2 py-2" href="#">
52
+ <span class="d-inline-block bg-danger rounded-circle p-1"></span>
53
+ Something else here
54
+ </a>
55
+ </li>
56
+ <li>
57
+ <a class="dropdown-item d-flex align-items-center gap-2 py-2" href="#">
58
+ <span class="d-inline-block bg-info rounded-circle p-1"></span>
59
+ Separated link
60
+ </a>
61
+ </li>
62
+ </ul>
63
+ </div>
64
+ </div>