@saooti/octopus-sdk 1.0.0 → 1.1.1

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 (317) hide show
  1. package/README.md +261 -0
  2. package/index.d.ts +4 -0
  3. package/index.ts +55 -3
  4. package/package.json +53 -45
  5. package/public/config.ts +4 -0
  6. package/public/css/fonts/icomoon.eot +0 -0
  7. package/public/css/fonts/icomoon.svg +129 -0
  8. package/public/css/fonts/icomoon.ttf +0 -0
  9. package/public/css/fonts/icomoon.woff +0 -0
  10. package/public/css/fonts/style.css +186 -1224
  11. package/public/img/403.jpeg +0 -0
  12. package/public/img/404.svg +242 -0
  13. package/public/img/ACPM.png +0 -0
  14. package/public/img/ouest_france_logo.svg +12 -0
  15. package/src/App.vue +102 -31
  16. package/src/api/classicCrud.ts +34 -0
  17. package/src/api/initialize.ts +5 -2
  18. package/src/assets/bootstrap-diff.scss +197 -0
  19. package/src/assets/form.scss +77 -77
  20. package/src/assets/general.scss +284 -272
  21. package/src/assets/live.scss +39 -0
  22. package/src/assets/modal.scss +43 -50
  23. package/src/assets/multiselect.scss +522 -573
  24. package/src/assets/octopus-library.scss +18 -4
  25. package/src/assets/share.scss +243 -0
  26. package/src/assets/transition.scss +98 -2
  27. package/src/components/display/aggregator/RssSection.vue +3 -5
  28. package/src/components/display/categories/CategoryChooser.vue +151 -114
  29. package/src/components/display/categories/CategoryFilter.vue +162 -0
  30. package/src/components/display/categories/CategoryList.vue +149 -117
  31. package/src/components/display/comments/AddCommentModal.vue +103 -108
  32. package/src/components/display/comments/CommentBasicView.vue +95 -0
  33. package/src/components/display/comments/CommentInput.vue +195 -183
  34. package/src/components/display/comments/CommentItem.vue +170 -208
  35. package/src/components/display/comments/CommentList.vue +134 -228
  36. package/src/components/display/comments/CommentParentInfo.vue +28 -62
  37. package/src/components/display/comments/CommentPlayer.vue +53 -56
  38. package/src/components/display/comments/CommentSection.vue +52 -83
  39. package/src/components/display/edit/EditBox.vue +10 -4
  40. package/src/components/display/edit/EditCommentBox.vue +124 -38
  41. package/src/components/display/emission/EmissionChooser.vue +88 -108
  42. package/src/components/display/emission/EmissionInlineList.vue +156 -157
  43. package/src/components/display/emission/EmissionItem.vue +72 -226
  44. package/src/components/display/emission/EmissionList.vue +159 -201
  45. package/src/components/display/emission/EmissionPlayerItem.vue +203 -174
  46. package/src/components/display/filter/AdvancedSearch.vue +224 -432
  47. package/src/components/display/filter/CategoryFilter.vue +105 -0
  48. package/src/components/display/filter/MonetizableFilter.vue +18 -15
  49. package/src/components/display/filter/ProductorSearch.vue +153 -176
  50. package/src/components/display/filter/RubriqueChoice.vue +97 -0
  51. package/src/components/display/filter/RubriqueFilter.vue +232 -0
  52. package/src/components/display/list/ListPaginate.vue +145 -0
  53. package/src/components/display/list/Paginate.vue +218 -0
  54. package/src/components/display/live/CountDown.vue +31 -30
  55. package/src/components/display/live/LiveHorizontalList.vue +84 -62
  56. package/src/components/display/live/LiveItem.vue +161 -186
  57. package/src/components/display/live/LiveList.vue +184 -295
  58. package/src/components/display/organisation/OrganisationChooser.vue +124 -162
  59. package/src/components/display/organisation/OrganisationChooserLight.vue +53 -56
  60. package/src/components/display/participant/ParticipantItem.vue +91 -128
  61. package/src/components/display/participant/ParticipantList.vue +134 -121
  62. package/src/components/display/playlist/PlaylistItem.vue +60 -97
  63. package/src/components/display/playlist/PlaylistList.vue +99 -92
  64. package/src/components/display/playlist/PodcastList.vue +117 -132
  65. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +191 -0
  66. package/src/components/display/podcasts/AnimatorsItem.vue +29 -37
  67. package/src/components/display/podcasts/ParticipantDescription.vue +82 -0
  68. package/src/components/display/podcasts/PodcastFilterList.vue +49 -102
  69. package/src/components/display/podcasts/PodcastImage.vue +208 -225
  70. package/src/components/display/podcasts/PodcastInlineList.vue +62 -355
  71. package/src/components/display/podcasts/PodcastInlineListClassic.vue +240 -0
  72. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +167 -0
  73. package/src/components/display/podcasts/PodcastItem.vue +94 -218
  74. package/src/components/display/podcasts/PodcastItemInfo.vue +166 -0
  75. package/src/components/display/podcasts/PodcastList.vue +127 -178
  76. package/src/components/display/podcasts/PodcastModuleBox.vue +234 -0
  77. package/src/components/display/podcasts/PodcastPlayBar.vue +101 -0
  78. package/src/components/display/podcasts/PodcastSwiperList.vue +204 -0
  79. package/src/components/display/podcasts/TagList.vue +60 -38
  80. package/src/components/display/rubriques/RubriqueChooser.vue +144 -131
  81. package/src/components/display/rubriques/RubriqueList.vue +216 -0
  82. package/src/components/display/sharing/PlayerParameters.vue +111 -153
  83. package/src/components/display/sharing/QrCode.vue +96 -0
  84. package/src/components/display/sharing/ShareButtons.vue +63 -233
  85. package/src/components/display/sharing/ShareButtonsIntern.vue +225 -0
  86. package/src/components/display/sharing/ShareDistribution.vue +102 -166
  87. package/src/components/display/sharing/SharePlayer.vue +189 -353
  88. package/src/components/display/sharing/SharePlayerColors.vue +78 -0
  89. package/src/components/display/sharing/SharePlayerTypes.vue +112 -0
  90. package/src/components/display/sharing/SplitButton.vue +42 -0
  91. package/src/components/display/sharing/SubscribeButtons.vue +65 -118
  92. package/src/components/display/studio/RecordingItemButton.vue +3 -5
  93. package/src/components/form/ClassicCheckbox.vue +66 -0
  94. package/src/components/form/ClassicLoading.vue +28 -0
  95. package/src/components/form/ClassicRadio.vue +66 -0
  96. package/src/components/form/ClassicSearch.vue +86 -0
  97. package/src/components/form/ClassicSelect.vue +65 -0
  98. package/src/components/misc/ErrorMessage.vue +27 -18
  99. package/src/components/misc/Footer.vue +151 -108
  100. package/src/components/misc/HomeDropdown.vue +95 -154
  101. package/src/components/misc/LeftMenu.vue +137 -206
  102. package/src/components/misc/Popover.vue +118 -0
  103. package/src/components/misc/Snackbar.vue +73 -37
  104. package/src/components/misc/TopBar.vue +211 -314
  105. package/src/components/misc/modal/ClipboardModal.vue +34 -47
  106. package/src/components/misc/modal/MessageModal.vue +74 -53
  107. package/src/components/misc/modal/NewsletterModal.vue +272 -224
  108. package/src/components/misc/modal/QrCodeModal.vue +58 -0
  109. package/src/components/misc/modal/ShareModalPlayer.vue +140 -74
  110. package/src/components/misc/player/Player.vue +146 -0
  111. package/src/components/misc/player/PlayerCompact.vue +154 -0
  112. package/src/components/misc/player/PlayerLarge.vue +166 -0
  113. package/src/components/misc/player/PlayerProgressBar.vue +112 -0
  114. package/src/components/misc/player/PlayerTimeline.vue +61 -0
  115. package/src/components/mixins/functions.ts +21 -18
  116. package/src/components/mixins/handle403.ts +17 -0
  117. package/src/components/mixins/init.ts +24 -0
  118. package/src/components/mixins/orgaComputed.ts +15 -0
  119. package/src/components/mixins/organisationFilter.ts +41 -0
  120. package/src/components/mixins/player/playerComment.ts +98 -0
  121. package/src/components/mixins/player/playerDisplay.ts +113 -0
  122. package/src/components/mixins/player/playerLive.ts +111 -0
  123. package/src/components/mixins/player/playerLogic.ts +225 -0
  124. package/src/components/mixins/tagOfMixins.ts +19 -0
  125. package/src/components/pages/Category.vue +24 -28
  126. package/src/components/pages/Emission.vue +144 -177
  127. package/src/components/pages/Emissions.vue +94 -110
  128. package/src/components/pages/Error403Page.vue +60 -0
  129. package/src/components/pages/Home.vue +74 -21
  130. package/src/components/pages/Lives.vue +53 -58
  131. package/src/components/pages/PageNotFound.vue +55 -0
  132. package/src/components/pages/Participant.vue +113 -129
  133. package/src/components/pages/Participants.vue +25 -41
  134. package/src/components/pages/Playlist.vue +86 -86
  135. package/src/components/pages/Playlists.vue +33 -52
  136. package/src/components/pages/Podcast.vue +206 -478
  137. package/src/components/pages/Podcasts.vue +112 -156
  138. package/src/components/pages/Rubrique.vue +21 -27
  139. package/src/components/pages/Search.vue +37 -94
  140. package/src/helper/dom.ts +2 -2
  141. package/src/helper/duration.ts +18 -8
  142. package/src/helper/useEventListener.ts +18 -0
  143. package/src/i18n.ts +36 -0
  144. package/src/locale/de.ts +309 -0
  145. package/src/locale/educationen.ts +14 -0
  146. package/src/locale/en.ts +316 -1
  147. package/src/locale/es.ts +309 -0
  148. package/src/locale/fr.ts +47 -15
  149. package/src/locale/it.ts +307 -0
  150. package/src/locale/messages.ts +11 -2
  151. package/src/locale/sl.ts +309 -0
  152. package/src/main.ts +64 -55
  153. package/src/router/router.ts +192 -159
  154. package/src/sass/_variables.scss +10 -8
  155. package/src/shims-tsx.d.ts +15 -0
  156. package/src/shims-vue-recaptcha-v3.d.ts +9 -0
  157. package/src/shims-vue.d.ts +5 -6
  158. package/src/store/AppStore.ts +41 -173
  159. package/src/store/class/adserver/adserverConfig.ts +9 -0
  160. package/src/store/class/adserver/adserverOtherEmission.ts +13 -0
  161. package/src/store/class/adserver/adserverTiming.ts +10 -0
  162. package/src/store/class/cartouchier/cartouche.ts +15 -0
  163. package/src/store/class/cartouchier/cartouchier.ts +9 -0
  164. package/src/store/class/conference/conference.ts +35 -0
  165. package/src/store/class/conference/conferenceMessage.ts +10 -0
  166. package/src/store/class/conference/conferenceParticipant.ts +18 -0
  167. package/src/store/class/conference/pad.ts +15 -0
  168. package/src/store/class/conference/studioCall.ts +7 -0
  169. package/src/store/class/contract/contract.ts +7 -0
  170. package/src/store/class/contract/contractOrganisation.ts +7 -0
  171. package/src/store/class/ftp/ftpEmission.ts +41 -0
  172. package/src/store/class/ftp/ftpParam.ts +12 -0
  173. package/src/store/class/ftp/testFtpEmission.ts +5 -0
  174. package/src/store/class/general/audioView.ts +21 -0
  175. package/src/store/class/general/category.ts +10 -0
  176. package/src/store/class/general/comment.ts +16 -0
  177. package/src/store/class/general/customPlayer.ts +9 -0
  178. package/src/store/class/general/emission.ts +23 -0
  179. package/src/store/class/general/fetchParam.ts +3 -0
  180. package/src/store/class/general/initState.ts +25 -0
  181. package/src/store/class/general/interfacePageable.ts +16 -0
  182. package/src/store/class/general/ituneCategory.ts +5 -0
  183. package/src/store/class/general/media.ts +14 -0
  184. package/src/store/class/general/organisation.ts +20 -0
  185. package/src/store/class/general/pageable.ts +13 -0
  186. package/src/store/class/general/participant.ts +12 -0
  187. package/src/store/class/general/player.ts +14 -0
  188. package/src/store/class/general/playlist.ts +13 -0
  189. package/src/store/class/general/podcast.ts +43 -0
  190. package/src/store/class/general/sortPageable.ts +5 -0
  191. package/src/store/class/general/soundcastCategory.ts +8 -0
  192. package/src/store/class/ouestFrance/ofTag.ts +36 -0
  193. package/src/store/class/ouestFrance/ofTagInfo.ts +9 -0
  194. package/src/store/class/ouestFrance/ofTagPage.ts +7 -0
  195. package/src/store/class/ouestFrance/ofTagSeo.ts +7 -0
  196. package/src/store/class/ouestFrance/ofTagVente.ts +6 -0
  197. package/src/store/class/ouestFrance/ofTagWithParents.ts +26 -0
  198. package/src/store/class/rss/aggregator.ts +28 -0
  199. package/src/store/class/rss/rssEmission.ts +14 -0
  200. package/src/store/class/rss/rssInfo.ts +8 -0
  201. package/src/store/class/rubrique/rubriquage.ts +10 -0
  202. package/src/store/class/rubrique/rubriquageFilter.ts +6 -0
  203. package/src/store/class/rubrique/rubrique.ts +9 -0
  204. package/src/store/class/stat/statArrayIncome.ts +6 -0
  205. package/src/store/class/stat/statArrayObject.ts +34 -0
  206. package/src/store/class/stat/statGraph.ts +7 -0
  207. package/src/store/class/user/person.ts +15 -0
  208. package/src/store/class/user/profile.ts +12 -0
  209. package/src/store/class/user/userKeycloak.ts +24 -0
  210. package/src/store/paramStore.ts +222 -217
  211. package/src/store/typeAppStore.ts +186 -235
  212. package/src/vuex-shim.d.ts +8 -0
  213. package/tsconfig.json +4 -0
  214. package/vue.config.js +16 -0
  215. package/public/css/fonts/saooti-ui.eot +0 -0
  216. package/public/css/fonts/saooti-ui.svg +0 -829
  217. package/public/css/fonts/saooti-ui.ttf +0 -0
  218. package/public/css/fonts/saooti-ui.woff +0 -0
  219. package/public/css/fonts/stitcher-logo.svg +0 -83
  220. package/public/img/ACPM.PNG +0 -0
  221. package/src/api/comments.ts +0 -7
  222. package/src/api/emissions.ts +0 -7
  223. package/src/api/podcasts.ts +0 -7
  224. package/src/api/profile.ts +0 -8
  225. package/src/api/studio.ts +0 -1
  226. package/src/assets/bootstrap_scss/_alert.scss +0 -51
  227. package/src/assets/bootstrap_scss/_badge.scss +0 -54
  228. package/src/assets/bootstrap_scss/_breadcrumb.scss +0 -42
  229. package/src/assets/bootstrap_scss/_button-group.scss +0 -164
  230. package/src/assets/bootstrap_scss/_buttons.scss +0 -291
  231. package/src/assets/bootstrap_scss/_card.scss +0 -278
  232. package/src/assets/bootstrap_scss/_carousel.scss +0 -197
  233. package/src/assets/bootstrap_scss/_close.scss +0 -41
  234. package/src/assets/bootstrap_scss/_code.scss +0 -48
  235. package/src/assets/bootstrap_scss/_custom-forms.scss +0 -522
  236. package/src/assets/bootstrap_scss/_dropdown.scss +0 -201
  237. package/src/assets/bootstrap_scss/_forms.scss +0 -352
  238. package/src/assets/bootstrap_scss/_functions.scss +0 -134
  239. package/src/assets/bootstrap_scss/_grid.scss +0 -69
  240. package/src/assets/bootstrap_scss/_images.scss +0 -42
  241. package/src/assets/bootstrap_scss/_input-group.scss +0 -191
  242. package/src/assets/bootstrap_scss/_jumbotron.scss +0 -17
  243. package/src/assets/bootstrap_scss/_list-group.scss +0 -158
  244. package/src/assets/bootstrap_scss/_media.scss +0 -8
  245. package/src/assets/bootstrap_scss/_mixins.scss +0 -47
  246. package/src/assets/bootstrap_scss/_modal.scss +0 -243
  247. package/src/assets/bootstrap_scss/_nav.scss +0 -120
  248. package/src/assets/bootstrap_scss/_navbar.scss +0 -324
  249. package/src/assets/bootstrap_scss/_pagination.scss +0 -74
  250. package/src/assets/bootstrap_scss/_popover.scss +0 -170
  251. package/src/assets/bootstrap_scss/_print.scss +0 -141
  252. package/src/assets/bootstrap_scss/_progress.scss +0 -46
  253. package/src/assets/bootstrap_scss/_reboot.scss +0 -482
  254. package/src/assets/bootstrap_scss/_root.scss +0 -20
  255. package/src/assets/bootstrap_scss/_spinners.scss +0 -55
  256. package/src/assets/bootstrap_scss/_tables.scss +0 -185
  257. package/src/assets/bootstrap_scss/_toasts.scss +0 -44
  258. package/src/assets/bootstrap_scss/_tooltip.scss +0 -115
  259. package/src/assets/bootstrap_scss/_transitions.scss +0 -20
  260. package/src/assets/bootstrap_scss/_type.scss +0 -125
  261. package/src/assets/bootstrap_scss/_utilities.scss +0 -17
  262. package/src/assets/bootstrap_scss/_variables.scss +0 -1145
  263. package/src/assets/bootstrap_scss/bootstrap-grid.scss +0 -29
  264. package/src/assets/bootstrap_scss/bootstrap-reboot.scss +0 -12
  265. package/src/assets/bootstrap_scss/bootstrap.scss +0 -44
  266. package/src/assets/bootstrap_scss/mixins/_alert.scss +0 -13
  267. package/src/assets/bootstrap_scss/mixins/_background-variant.scss +0 -22
  268. package/src/assets/bootstrap_scss/mixins/_badge.scss +0 -17
  269. package/src/assets/bootstrap_scss/mixins/_border-radius.scss +0 -63
  270. package/src/assets/bootstrap_scss/mixins/_box-shadow.scss +0 -20
  271. package/src/assets/bootstrap_scss/mixins/_breakpoints.scss +0 -123
  272. package/src/assets/bootstrap_scss/mixins/_buttons.scss +0 -110
  273. package/src/assets/bootstrap_scss/mixins/_caret.scss +0 -62
  274. package/src/assets/bootstrap_scss/mixins/_clearfix.scss +0 -7
  275. package/src/assets/bootstrap_scss/mixins/_deprecate.scss +0 -10
  276. package/src/assets/bootstrap_scss/mixins/_float.scss +0 -14
  277. package/src/assets/bootstrap_scss/mixins/_forms.scss +0 -177
  278. package/src/assets/bootstrap_scss/mixins/_gradients.scss +0 -45
  279. package/src/assets/bootstrap_scss/mixins/_grid-framework.scss +0 -71
  280. package/src/assets/bootstrap_scss/mixins/_grid.scss +0 -69
  281. package/src/assets/bootstrap_scss/mixins/_hover.scss +0 -37
  282. package/src/assets/bootstrap_scss/mixins/_image.scss +0 -36
  283. package/src/assets/bootstrap_scss/mixins/_list-group.scss +0 -21
  284. package/src/assets/bootstrap_scss/mixins/_lists.scss +0 -7
  285. package/src/assets/bootstrap_scss/mixins/_nav-divider.scss +0 -11
  286. package/src/assets/bootstrap_scss/mixins/_pagination.scss +0 -22
  287. package/src/assets/bootstrap_scss/mixins/_reset-text.scss +0 -17
  288. package/src/assets/bootstrap_scss/mixins/_resize.scss +0 -6
  289. package/src/assets/bootstrap_scss/mixins/_screen-reader.scss +0 -34
  290. package/src/assets/bootstrap_scss/mixins/_size.scss +0 -7
  291. package/src/assets/bootstrap_scss/mixins/_table-row.scss +0 -39
  292. package/src/assets/bootstrap_scss/mixins/_text-emphasis.scss +0 -17
  293. package/src/assets/bootstrap_scss/mixins/_text-hide.scss +0 -11
  294. package/src/assets/bootstrap_scss/mixins/_text-truncate.scss +0 -8
  295. package/src/assets/bootstrap_scss/mixins/_transition.scss +0 -16
  296. package/src/assets/bootstrap_scss/mixins/_visibility.scss +0 -8
  297. package/src/assets/bootstrap_scss/utilities/_align.scss +0 -8
  298. package/src/assets/bootstrap_scss/utilities/_background.scss +0 -19
  299. package/src/assets/bootstrap_scss/utilities/_borders.scss +0 -75
  300. package/src/assets/bootstrap_scss/utilities/_clearfix.scss +0 -3
  301. package/src/assets/bootstrap_scss/utilities/_display.scss +0 -26
  302. package/src/assets/bootstrap_scss/utilities/_embed.scss +0 -39
  303. package/src/assets/bootstrap_scss/utilities/_flex.scss +0 -51
  304. package/src/assets/bootstrap_scss/utilities/_float.scss +0 -11
  305. package/src/assets/bootstrap_scss/utilities/_overflow.scss +0 -5
  306. package/src/assets/bootstrap_scss/utilities/_position.scss +0 -32
  307. package/src/assets/bootstrap_scss/utilities/_screenreaders.scss +0 -11
  308. package/src/assets/bootstrap_scss/utilities/_shadows.scss +0 -6
  309. package/src/assets/bootstrap_scss/utilities/_sizing.scss +0 -20
  310. package/src/assets/bootstrap_scss/utilities/_spacing.scss +0 -73
  311. package/src/assets/bootstrap_scss/utilities/_stretched-link.scss +0 -19
  312. package/src/assets/bootstrap_scss/utilities/_text.scss +0 -72
  313. package/src/assets/bootstrap_scss/utilities/_visibility.scss +0 -13
  314. package/src/assets/bootstrap_scss/vendor/_rfs.scss +0 -204
  315. package/src/components/misc/Player.vue +0 -792
  316. package/src/shims-vuex.d.ts +0 -7
  317. package/src/views/Home.vue +0 -18
@@ -1,191 +0,0 @@
1
- // stylelint-disable selector-no-qualifying-type
2
-
3
- //
4
- // Base styles
5
- //
6
-
7
- .input-group {
8
- position: relative;
9
- display: flex;
10
- flex-wrap: wrap; // For form validation feedback
11
- align-items: stretch;
12
- width: 100%;
13
-
14
- > .form-control,
15
- > .form-control-plaintext,
16
- > .custom-select,
17
- > .custom-file {
18
- position: relative; // For focus state's z-index
19
- flex: 1 1 0%;
20
- min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
21
- margin-bottom: 0;
22
-
23
- + .form-control,
24
- + .custom-select,
25
- + .custom-file {
26
- margin-left: -$input-border-width;
27
- }
28
- }
29
-
30
- // Bring the "active" form control to the top of surrounding elements
31
- > .form-control:focus,
32
- > .custom-select:focus,
33
- > .custom-file .custom-file-input:focus ~ .custom-file-label {
34
- z-index: 3;
35
- }
36
-
37
- // Bring the custom file input above the label
38
- > .custom-file .custom-file-input:focus {
39
- z-index: 4;
40
- }
41
-
42
- > .form-control,
43
- > .custom-select {
44
- &:not(:last-child) { @include border-right-radius(0); }
45
- &:not(:first-child) { @include border-left-radius(0); }
46
- }
47
-
48
- // Custom file inputs have more complex markup, thus requiring different
49
- // border-radius overrides.
50
- > .custom-file {
51
- display: flex;
52
- align-items: center;
53
-
54
- &:not(:last-child) .custom-file-label,
55
- &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
56
- &:not(:first-child) .custom-file-label { @include border-left-radius(0); }
57
- }
58
- }
59
-
60
-
61
- // Prepend and append
62
- //
63
- // While it requires one extra layer of HTML for each, dedicated prepend and
64
- // append elements allow us to 1) be less clever, 2) simplify our selectors, and
65
- // 3) support HTML5 form validation.
66
-
67
- .input-group-prepend,
68
- .input-group-append {
69
- display: flex;
70
-
71
- // Ensure buttons are always above inputs for more visually pleasing borders.
72
- // This isn't needed for `.input-group-text` since it shares the same border-color
73
- // as our inputs.
74
- .btn {
75
- position: relative;
76
- z-index: 2;
77
-
78
- &:focus {
79
- z-index: 3;
80
- }
81
- }
82
-
83
- .btn + .btn,
84
- .btn + .input-group-text,
85
- .input-group-text + .input-group-text,
86
- .input-group-text + .btn {
87
- margin-left: -$input-border-width;
88
- }
89
- }
90
-
91
- .input-group-prepend { margin-right: -$input-border-width; }
92
- .input-group-append { margin-left: -$input-border-width; }
93
-
94
-
95
- // Textual addons
96
- //
97
- // Serves as a catch-all element for any text or radio/checkbox input you wish
98
- // to prepend or append to an input.
99
-
100
- .input-group-text {
101
- display: flex;
102
- align-items: center;
103
- padding: $input-padding-y $input-padding-x;
104
- margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
105
- @include font-size($input-font-size); // Match inputs
106
- font-weight: $font-weight-normal;
107
- line-height: $input-line-height;
108
- color: $input-group-addon-color;
109
- text-align: center;
110
- white-space: nowrap;
111
- background-color: $input-group-addon-bg;
112
- border: $input-border-width solid $input-group-addon-border-color;
113
- @include border-radius($input-border-radius);
114
-
115
- // Nuke default margins from checkboxes and radios to vertically center within.
116
- input[type="radio"],
117
- input[type="checkbox"] {
118
- margin-top: 0;
119
- }
120
- }
121
-
122
-
123
- // Sizing
124
- //
125
- // Remix the default form control sizing classes into new ones for easier
126
- // manipulation.
127
-
128
- .input-group-lg > .form-control:not(textarea),
129
- .input-group-lg > .custom-select {
130
- height: $input-height-lg;
131
- }
132
-
133
- .input-group-lg > .form-control,
134
- .input-group-lg > .custom-select,
135
- .input-group-lg > .input-group-prepend > .input-group-text,
136
- .input-group-lg > .input-group-append > .input-group-text,
137
- .input-group-lg > .input-group-prepend > .btn,
138
- .input-group-lg > .input-group-append > .btn {
139
- padding: $input-padding-y-lg $input-padding-x-lg;
140
- @include font-size($input-font-size-lg);
141
- line-height: $input-line-height-lg;
142
- @include border-radius($input-border-radius-lg);
143
- }
144
-
145
- .input-group-sm > .form-control:not(textarea),
146
- .input-group-sm > .custom-select {
147
- height: $input-height-sm;
148
- }
149
-
150
- .input-group-sm > .form-control,
151
- .input-group-sm > .custom-select,
152
- .input-group-sm > .input-group-prepend > .input-group-text,
153
- .input-group-sm > .input-group-append > .input-group-text,
154
- .input-group-sm > .input-group-prepend > .btn,
155
- .input-group-sm > .input-group-append > .btn {
156
- padding: $input-padding-y-sm $input-padding-x-sm;
157
- @include font-size($input-font-size-sm);
158
- line-height: $input-line-height-sm;
159
- @include border-radius($input-border-radius-sm);
160
- }
161
-
162
- .input-group-lg > .custom-select,
163
- .input-group-sm > .custom-select {
164
- padding-right: $custom-select-padding-x + $custom-select-indicator-padding;
165
- }
166
-
167
-
168
- // Prepend and append rounded corners
169
- //
170
- // These rulesets must come after the sizing ones to properly override sm and lg
171
- // border-radius values when extending. They're more specific than we'd like
172
- // with the `.input-group >` part, but without it, we cannot override the sizing.
173
-
174
-
175
- .input-group > .input-group-prepend > .btn,
176
- .input-group > .input-group-prepend > .input-group-text,
177
- .input-group > .input-group-append:not(:last-child) > .btn,
178
- .input-group > .input-group-append:not(:last-child) > .input-group-text,
179
- .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
180
- .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
181
- @include border-right-radius(0);
182
- }
183
-
184
- .input-group > .input-group-append > .btn,
185
- .input-group > .input-group-append > .input-group-text,
186
- .input-group > .input-group-prepend:not(:first-child) > .btn,
187
- .input-group > .input-group-prepend:not(:first-child) > .input-group-text,
188
- .input-group > .input-group-prepend:first-child > .btn:not(:first-child),
189
- .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
190
- @include border-left-radius(0);
191
- }
@@ -1,17 +0,0 @@
1
- .jumbotron {
2
- padding: $jumbotron-padding ($jumbotron-padding / 2);
3
- margin-bottom: $jumbotron-padding;
4
- color: $jumbotron-color;
5
- background-color: $jumbotron-bg;
6
- @include border-radius($border-radius-lg);
7
-
8
- @include media-breakpoint-up(sm) {
9
- padding: ($jumbotron-padding * 2) $jumbotron-padding;
10
- }
11
- }
12
-
13
- .jumbotron-fluid {
14
- padding-right: 0;
15
- padding-left: 0;
16
- @include border-radius(0);
17
- }
@@ -1,158 +0,0 @@
1
- // Base class
2
- //
3
- // Easily usable on <ul>, <ol>, or <div>.
4
-
5
- .list-group {
6
- display: flex;
7
- flex-direction: column;
8
-
9
- // No need to set list-style: none; since .list-group-item is block level
10
- padding-left: 0; // reset padding because ul and ol
11
- margin-bottom: 0;
12
- }
13
-
14
-
15
- // Interactive list items
16
- //
17
- // Use anchor or button elements instead of `li`s or `div`s to create interactive
18
- // list items. Includes an extra `.active` modifier class for selected items.
19
-
20
- .list-group-item-action {
21
- width: 100%; // For `<button>`s (anchors become 100% by default though)
22
- color: $list-group-action-color;
23
- text-align: inherit; // For `<button>`s (anchors inherit)
24
-
25
- // Hover state
26
- @include hover-focus() {
27
- z-index: 1; // Place hover/focus items above their siblings for proper border styling
28
- color: $list-group-action-hover-color;
29
- text-decoration: none;
30
- background-color: $list-group-hover-bg;
31
- }
32
-
33
- &:active {
34
- color: $list-group-action-active-color;
35
- background-color: $list-group-action-active-bg;
36
- }
37
- }
38
-
39
-
40
- // Individual list items
41
- //
42
- // Use on `li`s or `div`s within the `.list-group` parent.
43
-
44
- .list-group-item {
45
- position: relative;
46
- display: block;
47
- padding: $list-group-item-padding-y $list-group-item-padding-x;
48
- color: $list-group-color;
49
- background-color: $list-group-bg;
50
- border: $list-group-border-width solid $list-group-border-color;
51
-
52
- &:first-child {
53
- @include border-top-radius($list-group-border-radius);
54
- }
55
-
56
- &:last-child {
57
- @include border-bottom-radius($list-group-border-radius);
58
- }
59
-
60
- &.disabled,
61
- &:disabled {
62
- color: $list-group-disabled-color;
63
- pointer-events: none;
64
- background-color: $list-group-disabled-bg;
65
- }
66
-
67
- // Include both here for `<a>`s and `<button>`s
68
- &.active {
69
- z-index: 2; // Place active items above their siblings for proper border styling
70
- color: $list-group-active-color;
71
- background-color: $list-group-active-bg;
72
- border-color: $list-group-active-border-color;
73
- }
74
-
75
- & + & {
76
- border-top-width: 0;
77
-
78
- &.active {
79
- margin-top: -$list-group-border-width;
80
- border-top-width: $list-group-border-width;
81
- }
82
- }
83
- }
84
-
85
-
86
- // Horizontal
87
- //
88
- // Change the layout of list group items from vertical (default) to horizontal.
89
-
90
- @each $breakpoint in map-keys($grid-breakpoints) {
91
- @include media-breakpoint-up($breakpoint) {
92
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
93
-
94
- .list-group-horizontal#{$infix} {
95
- flex-direction: row;
96
-
97
- .list-group-item {
98
- &:first-child {
99
- @include border-bottom-left-radius($list-group-border-radius);
100
- @include border-top-right-radius(0);
101
- }
102
-
103
- &:last-child {
104
- @include border-top-right-radius($list-group-border-radius);
105
- @include border-bottom-left-radius(0);
106
- }
107
-
108
- &.active {
109
- margin-top: 0;
110
- }
111
-
112
- & + .list-group-item {
113
- border-top-width: $list-group-border-width;
114
- border-left-width: 0;
115
-
116
- &.active {
117
- margin-left: -$list-group-border-width;
118
- border-left-width: $list-group-border-width;
119
- }
120
- }
121
- }
122
- }
123
- }
124
- }
125
-
126
-
127
- // Flush list items
128
- //
129
- // Remove borders and border-radius to keep list group items edge-to-edge. Most
130
- // useful within other components (e.g., cards).
131
-
132
- .list-group-flush {
133
- .list-group-item {
134
- border-right-width: 0;
135
- border-left-width: 0;
136
- @include border-radius(0);
137
-
138
- &:first-child {
139
- border-top-width: 0;
140
- }
141
- }
142
-
143
- &:last-child {
144
- .list-group-item:last-child {
145
- border-bottom-width: 0;
146
- }
147
- }
148
- }
149
-
150
-
151
- // Contextual variants
152
- //
153
- // Add modifier classes to change text and background color on individual items.
154
- // Organizationally, this must come after the `:hover` states.
155
-
156
- @each $color, $value in $theme-colors {
157
- @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));
158
- }
@@ -1,8 +0,0 @@
1
- .media {
2
- display: flex;
3
- align-items: flex-start;
4
- }
5
-
6
- .media-body {
7
- flex: 1;
8
- }
@@ -1,47 +0,0 @@
1
- // Toggles
2
- //
3
- // Used in conjunction with global variables to enable certain theme features.
4
-
5
- // Vendor
6
- @import "vendor/rfs";
7
-
8
- // Deprecate
9
- @import "mixins/deprecate";
10
-
11
- // Utilities
12
- @import "mixins/breakpoints";
13
- @import "mixins/hover";
14
- @import "mixins/image";
15
- @import "mixins/badge";
16
- @import "mixins/resize";
17
- @import "mixins/screen-reader";
18
- @import "mixins/size";
19
- @import "mixins/reset-text";
20
- @import "mixins/text-emphasis";
21
- @import "mixins/text-hide";
22
- @import "mixins/text-truncate";
23
- @import "mixins/visibility";
24
-
25
- // Components
26
- @import "mixins/alert";
27
- @import "mixins/buttons";
28
- @import "mixins/caret";
29
- @import "mixins/pagination";
30
- @import "mixins/lists";
31
- @import "mixins/list-group";
32
- @import "mixins/nav-divider";
33
- @import "mixins/forms";
34
- @import "mixins/table-row";
35
-
36
- // Skins
37
- @import "mixins/background-variant";
38
- @import "mixins/border-radius";
39
- @import "mixins/box-shadow";
40
- @import "mixins/gradients";
41
- @import "mixins/transition";
42
-
43
- // Layout
44
- @import "mixins/clearfix";
45
- @import "mixins/grid-framework";
46
- @import "mixins/grid";
47
- @import "mixins/float";
@@ -1,243 +0,0 @@
1
- // .modal-open - body class for killing the scroll
2
- // .modal - container to scroll within
3
- // .modal-dialog - positioning shell for the actual modal
4
- // .modal-content - actual modal w/ bg and corners and stuff
5
-
6
-
7
- .modal-open {
8
- // Kill the scroll on the body
9
- overflow: hidden;
10
-
11
- .modal {
12
- overflow-x: hidden;
13
- overflow-y: auto;
14
- }
15
- }
16
-
17
- // Container that the modal scrolls within
18
- .modal {
19
- position: fixed;
20
- top: 0;
21
- left: 0;
22
- z-index: $zindex-modal;
23
- display: none;
24
- width: 100%;
25
- height: 100%;
26
- overflow: hidden;
27
- // Prevent Chrome on Windows from adding a focus outline. For details, see
28
- // https://github.com/twbs/bootstrap/pull/10951.
29
- outline: 0;
30
- // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a
31
- // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342
32
- // See also https://github.com/twbs/bootstrap/issues/17695
33
- }
34
-
35
- // Shell div to position the modal with bottom padding
36
- .modal-dialog {
37
- position: relative;
38
- width: auto;
39
- margin: $modal-dialog-margin;
40
- // allow clicks to pass through for custom click handling to close modal
41
- pointer-events: none;
42
-
43
- // When fading in the modal, animate it to slide down
44
- .modal.fade & {
45
- @include transition($modal-transition);
46
- transform: $modal-fade-transform;
47
- }
48
- .modal.show & {
49
- transform: $modal-show-transform;
50
- }
51
-
52
- // When trying to close, animate focus to scale
53
- .modal.modal-static & {
54
- transform: $modal-scale-transform;
55
- }
56
- }
57
-
58
- .modal-dialog-scrollable {
59
- display: flex; // IE10/11
60
- max-height: subtract(100%, $modal-dialog-margin * 2);
61
-
62
- .modal-content {
63
- max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11
64
- overflow: hidden;
65
- }
66
-
67
- .modal-header,
68
- .modal-footer {
69
- flex-shrink: 0;
70
- }
71
-
72
- .modal-body {
73
- overflow-y: auto;
74
- }
75
- }
76
-
77
- .modal-dialog-centered {
78
- display: flex;
79
- align-items: center;
80
- min-height: subtract(100%, $modal-dialog-margin * 2);
81
-
82
- // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)
83
- &::before {
84
- display: block; // IE10
85
- height: subtract(100vh, $modal-dialog-margin * 2);
86
- content: "";
87
- }
88
-
89
- // Ensure `.modal-body` shows scrollbar (IE10/11)
90
- &.modal-dialog-scrollable {
91
- flex-direction: column;
92
- justify-content: center;
93
- height: 100%;
94
-
95
- .modal-content {
96
- max-height: none;
97
- }
98
-
99
- &::before {
100
- content: none;
101
- }
102
- }
103
- }
104
-
105
- // Actual modal
106
- .modal-content {
107
- position: relative;
108
- display: flex;
109
- flex-direction: column;
110
- width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`
111
- // counteract the pointer-events: none; in the .modal-dialog
112
- color: $modal-content-color;
113
- pointer-events: auto;
114
- background-color: $modal-content-bg;
115
- background-clip: padding-box;
116
- border: $modal-content-border-width solid $modal-content-border-color;
117
- @include border-radius($modal-content-border-radius);
118
- @include box-shadow($modal-content-box-shadow-xs);
119
- // Remove focus outline from opened modal
120
- outline: 0;
121
- }
122
-
123
- // Modal background
124
- .modal-backdrop {
125
- position: fixed;
126
- top: 0;
127
- left: 0;
128
- z-index: $zindex-modal-backdrop;
129
- width: 100vw;
130
- height: 100vh;
131
- background-color: $modal-backdrop-bg;
132
-
133
- // Fade for backdrop
134
- &.fade { opacity: 0; }
135
- &.show { opacity: $modal-backdrop-opacity; }
136
- }
137
-
138
- // Modal header
139
- // Top section of the modal w/ title and dismiss
140
- .modal-header {
141
- display: flex;
142
- align-items: flex-start; // so the close btn always stays on the upper right corner
143
- justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
144
- padding: $modal-header-padding;
145
- border-bottom: $modal-header-border-width solid $modal-header-border-color;
146
- @include border-top-radius($modal-content-inner-border-radius);
147
-
148
- @media (max-width: 450px) {
149
- padding: 1rem 0;
150
- }
151
-
152
- .close {
153
- padding: $modal-header-padding;
154
- // auto on the left force icon to the right even when there is no .modal-title
155
- margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;
156
- }
157
- }
158
-
159
- // Title text within header
160
- .modal-title {
161
- margin-bottom: 0;
162
- line-height: $modal-title-line-height;
163
- }
164
-
165
- // Modal body
166
- // Where all modal content resides (sibling of .modal-header and .modal-footer)
167
- .modal-body {
168
- position: relative;
169
- // Enable `flex-grow: 1` so that the body take up as much space as possible
170
- // when there should be a fixed height on `.modal-dialog`.
171
- flex: 1 1 auto;
172
- padding: $modal-inner-padding;
173
- }
174
-
175
- // Footer (for actions)
176
- .modal-footer {
177
- display: flex;
178
- flex-wrap: wrap;
179
- align-items: center; // vertically center
180
- justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
181
- padding: $modal-inner-padding - $modal-footer-margin-between / 2;
182
- border-top: $modal-footer-border-width solid $modal-footer-border-color;
183
- @include border-bottom-radius($modal-content-inner-border-radius);
184
-
185
- // Place margin between footer elements
186
- // This solution is far from ideal because of the universal selector usage,
187
- // but is needed to fix https://github.com/twbs/bootstrap/issues/24800
188
- // stylelint-disable-next-line selector-max-universal
189
- > * {
190
- margin: $modal-footer-margin-between / 2;
191
- }
192
- }
193
-
194
- // Measure scrollbar width for padding body during modal show/hide
195
- .modal-scrollbar-measure {
196
- position: absolute;
197
- top: -9999px;
198
- width: 50px;
199
- height: 50px;
200
- overflow: scroll;
201
- }
202
-
203
- // Scale up the modal
204
- @include media-breakpoint-up(sm) {
205
- // Automatically set modal's width for larger viewports
206
- .modal-dialog {
207
- max-width: $modal-md;
208
- margin: $modal-dialog-margin-y-sm-up auto;
209
- }
210
-
211
- .modal-dialog-scrollable {
212
- max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
213
-
214
- .modal-content {
215
- max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
216
- }
217
- }
218
-
219
- .modal-dialog-centered {
220
- min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
221
-
222
- &::before {
223
- height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
224
- }
225
- }
226
-
227
- .modal-content {
228
- @include box-shadow($modal-content-box-shadow-sm-up);
229
- }
230
-
231
- .modal-sm { max-width: $modal-sm; }
232
- }
233
-
234
- @include media-breakpoint-up(lg) {
235
- .modal-lg,
236
- .modal-xl {
237
- max-width: $modal-lg;
238
- }
239
- }
240
-
241
- @include media-breakpoint-up(xl) {
242
- .modal-xl { max-width: $modal-xl; }
243
- }