@saooti/octopus-sdk 0.28.16 → 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 (328) hide show
  1. package/README.md +188 -2
  2. package/index.ts +45 -11
  3. package/package.json +46 -48
  4. package/public/config.ts +4 -0
  5. package/public/css/fonts/icomoon.eot +0 -0
  6. package/public/css/fonts/icomoon.svg +129 -0
  7. package/public/css/fonts/icomoon.ttf +0 -0
  8. package/public/css/fonts/icomoon.woff +0 -0
  9. package/public/css/fonts/style.css +185 -1266
  10. package/public/img/403.jpeg +0 -0
  11. package/public/img/404.svg +242 -0
  12. package/public/img/ouest_france_logo.svg +12 -0
  13. package/src/App.vue +45 -24
  14. package/src/api/classicCrud.ts +34 -0
  15. package/src/api/initialize.ts +4 -2
  16. package/src/assets/bootstrap-diff.scss +197 -0
  17. package/src/assets/form.scss +77 -77
  18. package/src/assets/general.scss +287 -301
  19. package/src/assets/live.scss +39 -0
  20. package/src/assets/modal.scss +43 -50
  21. package/src/assets/multiselect.scss +522 -590
  22. package/src/assets/octopus-library.scss +17 -4
  23. package/src/assets/share.scss +150 -250
  24. package/src/assets/transition.scss +98 -2
  25. package/src/components/display/aggregator/RssSection.vue +4 -6
  26. package/src/components/display/categories/CategoryChooser.vue +100 -79
  27. package/src/components/display/categories/CategoryFilter.vue +117 -37
  28. package/src/components/display/categories/CategoryList.vue +121 -108
  29. package/src/components/display/comments/AddCommentModal.vue +98 -94
  30. package/src/components/display/comments/CommentBasicView.vue +95 -0
  31. package/src/components/display/comments/CommentInput.vue +175 -155
  32. package/src/components/display/comments/CommentItem.vue +152 -168
  33. package/src/components/display/comments/CommentList.vue +123 -229
  34. package/src/components/display/comments/CommentParentInfo.vue +26 -58
  35. package/src/components/display/comments/CommentPlayer.vue +51 -49
  36. package/src/components/display/comments/CommentSection.vue +44 -67
  37. package/src/components/display/edit/EditBox.vue +11 -5
  38. package/src/components/display/edit/EditCommentBox.vue +121 -29
  39. package/src/components/display/emission/EmissionChooser.vue +73 -81
  40. package/src/components/display/emission/EmissionInlineList.vue +130 -128
  41. package/src/components/display/emission/EmissionItem.vue +68 -109
  42. package/src/components/display/emission/EmissionList.vue +140 -146
  43. package/src/components/display/emission/EmissionPlayerItem.vue +186 -148
  44. package/src/components/display/filter/AdvancedSearch.vue +192 -273
  45. package/src/components/display/filter/CategoryFilter.vue +51 -59
  46. package/src/components/display/filter/MonetizableFilter.vue +17 -16
  47. package/src/components/display/filter/ProductorSearch.vue +149 -149
  48. package/src/components/display/filter/RubriqueChoice.vue +33 -37
  49. package/src/components/display/filter/RubriqueFilter.vue +132 -122
  50. package/src/components/display/list/ListPaginate.vue +145 -0
  51. package/src/components/display/list/Paginate.vue +218 -0
  52. package/src/components/display/live/CountDown.vue +19 -12
  53. package/src/components/display/live/LiveHorizontalList.vue +78 -55
  54. package/src/components/display/live/LiveItem.vue +136 -121
  55. package/src/components/display/live/LiveList.vue +172 -276
  56. package/src/components/display/organisation/OrganisationChooser.vue +104 -122
  57. package/src/components/display/organisation/OrganisationChooserLight.vue +46 -37
  58. package/src/components/display/participant/ParticipantItem.vue +91 -115
  59. package/src/components/display/participant/ParticipantList.vue +131 -117
  60. package/src/components/display/playlist/PlaylistItem.vue +54 -78
  61. package/src/components/display/playlist/PlaylistList.vue +91 -83
  62. package/src/components/display/playlist/PodcastList.vue +113 -128
  63. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +191 -0
  64. package/src/components/display/podcasts/AnimatorsItem.vue +28 -39
  65. package/src/components/display/podcasts/ParticipantDescription.vue +62 -74
  66. package/src/components/display/podcasts/PodcastFilterList.vue +47 -89
  67. package/src/components/display/podcasts/PodcastImage.vue +195 -229
  68. package/src/components/display/podcasts/PodcastInlineList.vue +64 -282
  69. package/src/components/display/podcasts/PodcastInlineListClassic.vue +240 -0
  70. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +167 -0
  71. package/src/components/display/podcasts/PodcastItem.vue +93 -227
  72. package/src/components/display/podcasts/PodcastItemInfo.vue +166 -0
  73. package/src/components/display/podcasts/PodcastList.vue +115 -134
  74. package/src/components/display/podcasts/PodcastModuleBox.vue +234 -0
  75. package/src/components/display/podcasts/PodcastPlayBar.vue +101 -0
  76. package/src/components/display/podcasts/PodcastSwiperList.vue +204 -0
  77. package/src/components/display/podcasts/TagList.vue +60 -39
  78. package/src/components/display/rubriques/RubriqueChooser.vue +114 -95
  79. package/src/components/display/rubriques/RubriqueList.vue +111 -106
  80. package/src/components/display/sharing/PlayerParameters.vue +90 -151
  81. package/src/components/display/sharing/QrCode.vue +40 -27
  82. package/src/components/display/sharing/ShareButtons.vue +64 -299
  83. package/src/components/display/sharing/ShareButtonsIntern.vue +225 -0
  84. package/src/components/display/sharing/ShareDistribution.vue +99 -140
  85. package/src/components/display/sharing/SharePlayer.vue +155 -370
  86. package/src/components/display/sharing/SharePlayerColors.vue +78 -0
  87. package/src/components/display/sharing/SharePlayerTypes.vue +112 -0
  88. package/src/components/display/sharing/SplitButton.vue +42 -0
  89. package/src/components/display/sharing/SubscribeButtons.vue +62 -179
  90. package/src/components/display/studio/RecordingItemButton.vue +4 -6
  91. package/src/components/form/ClassicCheckbox.vue +66 -0
  92. package/src/components/form/ClassicLoading.vue +28 -0
  93. package/src/components/form/ClassicRadio.vue +66 -0
  94. package/src/components/form/ClassicSearch.vue +86 -0
  95. package/src/components/form/ClassicSelect.vue +65 -0
  96. package/src/components/misc/ErrorMessage.vue +27 -14
  97. package/src/components/misc/Footer.vue +132 -127
  98. package/src/components/misc/HomeDropdown.vue +93 -150
  99. package/src/components/misc/LeftMenu.vue +121 -192
  100. package/src/components/misc/Popover.vue +118 -0
  101. package/src/components/misc/Snackbar.vue +70 -35
  102. package/src/components/misc/TopBar.vue +192 -308
  103. package/src/components/misc/modal/ClipboardModal.vue +35 -50
  104. package/src/components/misc/modal/MessageModal.vue +71 -48
  105. package/src/components/misc/modal/NewsletterModal.vue +260 -231
  106. package/src/components/misc/modal/QrCodeModal.vue +42 -60
  107. package/src/components/misc/modal/ShareModalPlayer.vue +136 -70
  108. package/src/components/misc/player/Player.vue +146 -0
  109. package/src/components/misc/player/PlayerCompact.vue +154 -0
  110. package/src/components/misc/player/PlayerLarge.vue +166 -0
  111. package/src/components/misc/player/PlayerProgressBar.vue +112 -0
  112. package/src/components/misc/player/PlayerTimeline.vue +61 -0
  113. package/src/components/mixins/functions.ts +11 -43
  114. package/src/components/mixins/handle403.ts +17 -0
  115. package/src/components/mixins/init.ts +8 -6
  116. package/src/components/mixins/orgaComputed.ts +15 -0
  117. package/src/components/mixins/organisationFilter.ts +35 -18
  118. package/src/components/mixins/player/playerComment.ts +98 -0
  119. package/src/components/mixins/player/playerDisplay.ts +113 -0
  120. package/src/components/mixins/player/playerLive.ts +111 -0
  121. package/src/components/mixins/player/playerLogic.ts +225 -0
  122. package/src/components/mixins/tagOfMixins.ts +19 -0
  123. package/src/components/pages/Category.vue +21 -26
  124. package/src/components/pages/Emission.vue +136 -162
  125. package/src/components/pages/Emissions.vue +60 -93
  126. package/src/components/pages/Error403Page.vue +60 -0
  127. package/src/components/pages/Home.vue +32 -39
  128. package/src/components/pages/Lives.vue +40 -46
  129. package/src/components/pages/PageNotFound.vue +55 -0
  130. package/src/components/pages/Participant.vue +110 -113
  131. package/src/components/pages/Participants.vue +21 -45
  132. package/src/components/pages/Playlist.vue +84 -75
  133. package/src/components/pages/Playlists.vue +29 -47
  134. package/src/components/pages/Podcast.vue +203 -434
  135. package/src/components/pages/Podcasts.vue +75 -134
  136. package/src/components/pages/Rubrique.vue +21 -29
  137. package/src/components/pages/Search.vue +33 -79
  138. package/src/helper/dom.ts +1 -1
  139. package/src/helper/duration.ts +1 -1
  140. package/src/helper/useEventListener.ts +18 -0
  141. package/src/i18n.ts +36 -0
  142. package/src/locale/de.ts +309 -0
  143. package/src/locale/educationen.ts +1 -1
  144. package/src/locale/educationfr.ts +1 -1
  145. package/src/locale/en.ts +45 -28
  146. package/src/locale/es.ts +309 -0
  147. package/src/locale/fr.ts +25 -8
  148. package/src/locale/it.ts +307 -0
  149. package/src/locale/messages.ts +9 -2
  150. package/src/locale/sl.ts +309 -0
  151. package/src/main.ts +59 -85
  152. package/src/router/router.ts +60 -39
  153. package/src/sass/_variables.scss +10 -8
  154. package/src/shims-tsx.d.ts +2 -0
  155. package/src/shims-vue-recaptcha-v3.d.ts +9 -0
  156. package/src/shims-vue.d.ts +5 -4
  157. package/src/store/AppStore.ts +8 -9
  158. package/src/store/class/adserver/adserverConfig.ts +9 -0
  159. package/src/store/class/adserver/adserverOtherEmission.ts +13 -0
  160. package/src/store/class/adserver/adserverTiming.ts +10 -0
  161. package/src/store/class/cartouchier/cartouche.ts +15 -0
  162. package/src/store/class/cartouchier/cartouchier.ts +9 -0
  163. package/src/store/class/conference/conference.ts +35 -0
  164. package/src/store/class/conference/conferenceMessage.ts +10 -0
  165. package/src/store/class/conference/conferenceParticipant.ts +18 -0
  166. package/src/store/class/conference/pad.ts +15 -0
  167. package/src/store/class/conference/studioCall.ts +7 -0
  168. package/src/store/class/contract/contract.ts +7 -0
  169. package/src/store/class/contract/contractOrganisation.ts +7 -0
  170. package/src/store/class/ftp/ftpEmission.ts +41 -0
  171. package/src/store/class/ftp/ftpParam.ts +12 -0
  172. package/src/store/class/ftp/testFtpEmission.ts +5 -0
  173. package/src/store/class/general/audioView.ts +21 -0
  174. package/src/store/class/general/category.ts +10 -0
  175. package/src/store/class/general/comment.ts +16 -0
  176. package/src/store/class/general/customPlayer.ts +9 -0
  177. package/src/store/class/general/emission.ts +23 -0
  178. package/src/store/class/general/fetchParam.ts +3 -0
  179. package/src/store/class/general/initState.ts +25 -0
  180. package/src/store/class/general/interfacePageable.ts +16 -0
  181. package/src/store/class/general/ituneCategory.ts +5 -0
  182. package/src/store/class/general/media.ts +14 -0
  183. package/src/store/class/general/organisation.ts +20 -0
  184. package/src/store/class/general/pageable.ts +13 -0
  185. package/src/store/class/general/participant.ts +12 -0
  186. package/src/store/class/{player.ts → general/player.ts} +5 -3
  187. package/src/store/class/general/playlist.ts +13 -0
  188. package/src/store/class/general/podcast.ts +43 -0
  189. package/src/store/class/general/sortPageable.ts +5 -0
  190. package/src/store/class/general/soundcastCategory.ts +8 -0
  191. package/src/store/class/ouestFrance/ofTag.ts +36 -0
  192. package/src/store/class/ouestFrance/ofTagInfo.ts +9 -0
  193. package/src/store/class/ouestFrance/ofTagPage.ts +7 -0
  194. package/src/store/class/ouestFrance/ofTagSeo.ts +7 -0
  195. package/src/store/class/ouestFrance/ofTagVente.ts +6 -0
  196. package/src/store/class/ouestFrance/ofTagWithParents.ts +26 -0
  197. package/src/store/class/rss/aggregator.ts +28 -0
  198. package/src/store/class/rss/rssEmission.ts +14 -0
  199. package/src/store/class/rss/rssInfo.ts +8 -0
  200. package/src/store/class/rubrique/rubriquage.ts +10 -0
  201. package/src/store/class/rubrique/rubriquageFilter.ts +6 -0
  202. package/src/store/class/rubrique/rubrique.ts +9 -0
  203. package/src/store/class/stat/statArrayIncome.ts +6 -0
  204. package/src/store/class/stat/statArrayObject.ts +34 -0
  205. package/src/store/class/stat/statGraph.ts +7 -0
  206. package/src/store/class/user/person.ts +15 -0
  207. package/src/store/class/user/profile.ts +12 -0
  208. package/src/store/class/user/userKeycloak.ts +24 -0
  209. package/src/store/paramStore.ts +221 -241
  210. package/src/store/typeAppStore.ts +45 -28
  211. package/src/vuex-shim.d.ts +8 -0
  212. package/tsconfig.json +2 -1
  213. package/vue.config.js +3 -1
  214. package/public/css/fonts/saooti-ui.eot +0 -0
  215. package/public/css/fonts/saooti-ui.svg +0 -840
  216. package/public/css/fonts/saooti-ui.ttf +0 -0
  217. package/public/css/fonts/saooti-ui.woff +0 -0
  218. package/public/css/fonts/stitcher-logo.svg +0 -83
  219. package/public/img/article.png +0 -0
  220. package/src/api/comments.ts +0 -7
  221. package/src/api/emissions.ts +0 -7
  222. package/src/api/podcasts.ts +0 -7
  223. package/src/api/profile.ts +0 -8
  224. package/src/api/studio.ts +0 -8
  225. package/src/assets/bootstrap_scss/_alert.scss +0 -51
  226. package/src/assets/bootstrap_scss/_badge.scss +0 -54
  227. package/src/assets/bootstrap_scss/_breadcrumb.scss +0 -42
  228. package/src/assets/bootstrap_scss/_button-group.scss +0 -164
  229. package/src/assets/bootstrap_scss/_buttons.scss +0 -298
  230. package/src/assets/bootstrap_scss/_card.scss +0 -278
  231. package/src/assets/bootstrap_scss/_carousel.scss +0 -197
  232. package/src/assets/bootstrap_scss/_close.scss +0 -41
  233. package/src/assets/bootstrap_scss/_code.scss +0 -48
  234. package/src/assets/bootstrap_scss/_custom-forms.scss +0 -522
  235. package/src/assets/bootstrap_scss/_dropdown.scss +0 -201
  236. package/src/assets/bootstrap_scss/_forms.scss +0 -352
  237. package/src/assets/bootstrap_scss/_functions.scss +0 -134
  238. package/src/assets/bootstrap_scss/_grid.scss +0 -69
  239. package/src/assets/bootstrap_scss/_images.scss +0 -42
  240. package/src/assets/bootstrap_scss/_input-group.scss +0 -191
  241. package/src/assets/bootstrap_scss/_jumbotron.scss +0 -17
  242. package/src/assets/bootstrap_scss/_list-group.scss +0 -158
  243. package/src/assets/bootstrap_scss/_media.scss +0 -8
  244. package/src/assets/bootstrap_scss/_mixins.scss +0 -47
  245. package/src/assets/bootstrap_scss/_modal.scss +0 -243
  246. package/src/assets/bootstrap_scss/_nav.scss +0 -120
  247. package/src/assets/bootstrap_scss/_navbar.scss +0 -324
  248. package/src/assets/bootstrap_scss/_pagination.scss +0 -74
  249. package/src/assets/bootstrap_scss/_popover.scss +0 -170
  250. package/src/assets/bootstrap_scss/_print.scss +0 -141
  251. package/src/assets/bootstrap_scss/_progress.scss +0 -46
  252. package/src/assets/bootstrap_scss/_reboot.scss +0 -482
  253. package/src/assets/bootstrap_scss/_root.scss +0 -20
  254. package/src/assets/bootstrap_scss/_spinners.scss +0 -55
  255. package/src/assets/bootstrap_scss/_tables.scss +0 -185
  256. package/src/assets/bootstrap_scss/_toasts.scss +0 -44
  257. package/src/assets/bootstrap_scss/_tooltip.scss +0 -115
  258. package/src/assets/bootstrap_scss/_transitions.scss +0 -20
  259. package/src/assets/bootstrap_scss/_type.scss +0 -125
  260. package/src/assets/bootstrap_scss/_utilities.scss +0 -17
  261. package/src/assets/bootstrap_scss/_variables.scss +0 -1145
  262. package/src/assets/bootstrap_scss/bootstrap-grid.scss +0 -29
  263. package/src/assets/bootstrap_scss/bootstrap-reboot.scss +0 -12
  264. package/src/assets/bootstrap_scss/bootstrap.scss +0 -44
  265. package/src/assets/bootstrap_scss/mixins/_alert.scss +0 -13
  266. package/src/assets/bootstrap_scss/mixins/_background-variant.scss +0 -22
  267. package/src/assets/bootstrap_scss/mixins/_badge.scss +0 -17
  268. package/src/assets/bootstrap_scss/mixins/_border-radius.scss +0 -63
  269. package/src/assets/bootstrap_scss/mixins/_box-shadow.scss +0 -20
  270. package/src/assets/bootstrap_scss/mixins/_breakpoints.scss +0 -123
  271. package/src/assets/bootstrap_scss/mixins/_buttons.scss +0 -110
  272. package/src/assets/bootstrap_scss/mixins/_caret.scss +0 -62
  273. package/src/assets/bootstrap_scss/mixins/_clearfix.scss +0 -7
  274. package/src/assets/bootstrap_scss/mixins/_deprecate.scss +0 -10
  275. package/src/assets/bootstrap_scss/mixins/_float.scss +0 -14
  276. package/src/assets/bootstrap_scss/mixins/_forms.scss +0 -177
  277. package/src/assets/bootstrap_scss/mixins/_gradients.scss +0 -45
  278. package/src/assets/bootstrap_scss/mixins/_grid-framework.scss +0 -71
  279. package/src/assets/bootstrap_scss/mixins/_grid.scss +0 -69
  280. package/src/assets/bootstrap_scss/mixins/_hover.scss +0 -37
  281. package/src/assets/bootstrap_scss/mixins/_image.scss +0 -36
  282. package/src/assets/bootstrap_scss/mixins/_list-group.scss +0 -21
  283. package/src/assets/bootstrap_scss/mixins/_lists.scss +0 -7
  284. package/src/assets/bootstrap_scss/mixins/_nav-divider.scss +0 -11
  285. package/src/assets/bootstrap_scss/mixins/_pagination.scss +0 -22
  286. package/src/assets/bootstrap_scss/mixins/_reset-text.scss +0 -17
  287. package/src/assets/bootstrap_scss/mixins/_resize.scss +0 -6
  288. package/src/assets/bootstrap_scss/mixins/_screen-reader.scss +0 -34
  289. package/src/assets/bootstrap_scss/mixins/_size.scss +0 -7
  290. package/src/assets/bootstrap_scss/mixins/_table-row.scss +0 -39
  291. package/src/assets/bootstrap_scss/mixins/_text-emphasis.scss +0 -17
  292. package/src/assets/bootstrap_scss/mixins/_text-hide.scss +0 -11
  293. package/src/assets/bootstrap_scss/mixins/_text-truncate.scss +0 -8
  294. package/src/assets/bootstrap_scss/mixins/_transition.scss +0 -16
  295. package/src/assets/bootstrap_scss/mixins/_visibility.scss +0 -8
  296. package/src/assets/bootstrap_scss/utilities/_align.scss +0 -8
  297. package/src/assets/bootstrap_scss/utilities/_background.scss +0 -19
  298. package/src/assets/bootstrap_scss/utilities/_borders.scss +0 -75
  299. package/src/assets/bootstrap_scss/utilities/_clearfix.scss +0 -3
  300. package/src/assets/bootstrap_scss/utilities/_display.scss +0 -26
  301. package/src/assets/bootstrap_scss/utilities/_embed.scss +0 -39
  302. package/src/assets/bootstrap_scss/utilities/_flex.scss +0 -51
  303. package/src/assets/bootstrap_scss/utilities/_float.scss +0 -11
  304. package/src/assets/bootstrap_scss/utilities/_overflow.scss +0 -5
  305. package/src/assets/bootstrap_scss/utilities/_position.scss +0 -32
  306. package/src/assets/bootstrap_scss/utilities/_screenreaders.scss +0 -11
  307. package/src/assets/bootstrap_scss/utilities/_shadows.scss +0 -6
  308. package/src/assets/bootstrap_scss/utilities/_sizing.scss +0 -20
  309. package/src/assets/bootstrap_scss/utilities/_spacing.scss +0 -73
  310. package/src/assets/bootstrap_scss/utilities/_stretched-link.scss +0 -19
  311. package/src/assets/bootstrap_scss/utilities/_text.scss +0 -72
  312. package/src/assets/bootstrap_scss/utilities/_visibility.scss +0 -13
  313. package/src/assets/bootstrap_scss/vendor/_rfs.scss +0 -204
  314. package/src/components/misc/Player.vue +0 -772
  315. package/src/store/class/category.ts +0 -8
  316. package/src/store/class/comment.ts +0 -17
  317. package/src/store/class/conference.ts +0 -27
  318. package/src/store/class/customPlayer.ts +0 -8
  319. package/src/store/class/emission.ts +0 -20
  320. package/src/store/class/media.ts +0 -13
  321. package/src/store/class/organisation.ts +0 -19
  322. package/src/store/class/participant.ts +0 -12
  323. package/src/store/class/person.ts +0 -13
  324. package/src/store/class/playlist.ts +0 -15
  325. package/src/store/class/podcast.ts +0 -37
  326. package/src/store/class/rubriquage.ts +0 -9
  327. package/src/store/class/rubriquageFilter.ts +0 -5
  328. package/src/store/class/rubrique.ts +0 -8
@@ -1,352 +0,0 @@
1
- // stylelint-disable selector-no-qualifying-type
2
-
3
- //
4
- // Textual form controls
5
- //
6
-
7
- .form-control {
8
- display: block;
9
- width: 100%;
10
- height: $input-height;
11
- padding: $input-padding-y $input-padding-x;
12
- font-family: $input-font-family;
13
- @include font-size($input-font-size);
14
- font-weight: $input-font-weight;
15
- line-height: $input-line-height;
16
- color: $input-color;
17
- background-color: $input-bg;
18
- background-clip: padding-box;
19
- border: $input-border-width solid $input-border-color;
20
-
21
- // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
22
- @include border-radius($input-border-radius, 0);
23
-
24
- @include box-shadow($input-box-shadow);
25
- @include transition($input-transition);
26
-
27
- // Unstyle the caret on `<select>`s in IE10+.
28
- &::-ms-expand {
29
- background-color: transparent;
30
- border: 0;
31
- }
32
-
33
- // Remove select outline from select box in FF
34
- &:-moz-focusring {
35
- color: transparent;
36
- text-shadow: 0 0 0 $input-color;
37
- }
38
-
39
- // Customize the `:focus` state to imitate native WebKit styles.
40
- @include form-control-focus($ignore-warning: true);
41
-
42
- // Placeholder
43
- &::placeholder {
44
- color: $input-placeholder-color;
45
- // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
46
- opacity: 1;
47
- }
48
-
49
- // Disabled and read-only inputs
50
- //
51
- // HTML5 says that controls under a fieldset > legend:first-child won't be
52
- // disabled if the fieldset is disabled. Due to implementation difficulty, we
53
- // don't honor that edge case; we style them as disabled anyway.
54
- &:disabled,
55
- &[readonly] {
56
- background-color: $input-disabled-bg;
57
- // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
58
- opacity: 1;
59
- }
60
- }
61
-
62
- select.form-control {
63
- &:focus::-ms-value {
64
- // Suppress the nested default white text on blue background highlight given to
65
- // the selected option text when the (still closed) <select> receives focus
66
- // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
67
- // match the appearance of the native widget.
68
- // See https://github.com/twbs/bootstrap/issues/19398.
69
- color: $input-color;
70
- background-color: $input-bg;
71
- }
72
- }
73
-
74
- // Make file inputs better match text inputs by forcing them to new lines.
75
- .form-control-file,
76
- .form-control-range {
77
- display: block;
78
- width: 100%;
79
- }
80
-
81
-
82
- //
83
- // Labels
84
- //
85
-
86
- // For use with horizontal and inline forms, when you need the label (or legend)
87
- // text to align with the form controls.
88
- .col-form-label {
89
- padding-top: add($input-padding-y, $input-border-width);
90
- padding-bottom: add($input-padding-y, $input-border-width);
91
- margin-bottom: 0; // Override the `<label>/<legend>` default
92
- @include font-size(inherit); // Override the `<legend>` default
93
- line-height: $input-line-height;
94
- }
95
-
96
- .col-form-label-lg {
97
- padding-top: add($input-padding-y-lg, $input-border-width);
98
- padding-bottom: add($input-padding-y-lg, $input-border-width);
99
- @include font-size($input-font-size-lg);
100
- line-height: $input-line-height-lg;
101
- }
102
-
103
- .col-form-label-sm {
104
- padding-top: add($input-padding-y-sm, $input-border-width);
105
- padding-bottom: add($input-padding-y-sm, $input-border-width);
106
- @include font-size($input-font-size-sm);
107
- line-height: $input-line-height-sm;
108
- }
109
-
110
-
111
- // Readonly controls as plain text
112
- //
113
- // Apply class to a readonly input to make it appear like regular plain
114
- // text (without any border, background color, focus indicator)
115
-
116
- .form-control-plaintext {
117
- display: block;
118
- width: 100%;
119
- padding: $input-padding-y 0;
120
- margin-bottom: 0; // match inputs if this class comes on inputs with default margins
121
- @include font-size($input-font-size);
122
- line-height: $input-line-height;
123
- color: $input-plaintext-color;
124
- background-color: transparent;
125
- border: solid transparent;
126
- border-width: $input-border-width 0;
127
-
128
- &.form-control-sm,
129
- &.form-control-lg {
130
- padding-right: 0;
131
- padding-left: 0;
132
- }
133
- }
134
-
135
-
136
- // Form control sizing
137
- //
138
- // Build on `.form-control` with modifier classes to decrease or increase the
139
- // height and font-size of form controls.
140
- //
141
- // Repeated in `_input_group.scss` to avoid Sass extend issues.
142
-
143
- .form-control-sm {
144
- height: $input-height-sm;
145
- padding: $input-padding-y-sm $input-padding-x-sm;
146
- @include font-size($input-font-size-sm);
147
- line-height: $input-line-height-sm;
148
- @include border-radius($input-border-radius-sm);
149
- }
150
-
151
- .form-control-lg {
152
- height: $input-height-lg;
153
- padding: $input-padding-y-lg $input-padding-x-lg;
154
- @include font-size($input-font-size-lg);
155
- line-height: $input-line-height-lg;
156
- @include border-radius($input-border-radius-lg);
157
- }
158
-
159
- // stylelint-disable-next-line no-duplicate-selectors
160
- select.form-control {
161
- &[size],
162
- &[multiple] {
163
- height: auto;
164
- }
165
- }
166
-
167
- textarea.form-control {
168
- height: auto;
169
- }
170
-
171
- // Form groups
172
- //
173
- // Designed to help with the organization and spacing of vertical forms. For
174
- // horizontal forms, use the predefined grid classes.
175
-
176
- .form-group {
177
- margin-bottom: $form-group-margin-bottom;
178
- }
179
-
180
- .form-text {
181
- display: block;
182
- margin-top: $form-text-margin-top;
183
- }
184
-
185
-
186
- // Form grid
187
- //
188
- // Special replacement for our grid system's `.row` for tighter form layouts.
189
-
190
- .form-row {
191
- display: flex;
192
- flex-wrap: wrap;
193
- margin-right: -$form-grid-gutter-width / 2;
194
- margin-left: -$form-grid-gutter-width / 2;
195
-
196
- > .col,
197
- > [class*="col-"] {
198
- padding-right: $form-grid-gutter-width / 2;
199
- padding-left: $form-grid-gutter-width / 2;
200
- }
201
- }
202
-
203
-
204
- // Checkboxes and radios
205
- //
206
- // Indent the labels to position radios/checkboxes as hanging controls.
207
-
208
- .form-check {
209
- position: relative;
210
- display: block;
211
- padding-left: $form-check-input-gutter;
212
- }
213
-
214
- .form-check-input {
215
- position: absolute;
216
- margin-top: $form-check-input-margin-y;
217
- margin-left: -$form-check-input-gutter;
218
-
219
- // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247
220
- &[disabled] ~ .form-check-label,
221
- &:disabled ~ .form-check-label {
222
- color: $text-muted;
223
- }
224
- }
225
-
226
- .form-check-label {
227
- margin-bottom: 0; // Override default `<label>` bottom margin
228
- }
229
-
230
- .form-check-inline {
231
- display: inline-flex;
232
- align-items: center;
233
- padding-left: 0; // Override base .form-check
234
- margin-right: $form-check-inline-margin-x;
235
-
236
- // Undo .form-check-input defaults and add some `margin-right`.
237
- .form-check-input {
238
- position: static;
239
- margin-top: 0;
240
- margin-right: $form-check-inline-input-margin-x;
241
- margin-left: 0;
242
- }
243
- }
244
-
245
-
246
- // Form validation
247
- //
248
- // Provide feedback to users when form field values are valid or invalid. Works
249
- // primarily for client-side validation via scoped `:invalid` and `:valid`
250
- // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
251
- // server side validation.
252
-
253
- @each $state, $data in $form-validation-states {
254
- @include form-validation-state($state, map-get($data, color), map-get($data, icon));
255
- }
256
-
257
- // Inline forms
258
- //
259
- // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
260
- // forms begin stacked on extra small (mobile) devices and then go inline when
261
- // viewports reach <768px.
262
- //
263
- // Requires wrapping inputs and labels with `.form-group` for proper display of
264
- // default HTML form controls and our custom form controls (e.g., input groups).
265
-
266
- .form-inline {
267
- display: flex;
268
- flex-flow: row wrap;
269
- align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
270
-
271
- // Because we use flex, the initial sizing of checkboxes is collapsed and
272
- // doesn't occupy the full-width (which is what we want for xs grid tier),
273
- // so we force that here.
274
- .form-check {
275
- width: 100%;
276
- }
277
-
278
- // Kick in the inline
279
- @include media-breakpoint-up(sm) {
280
- label {
281
- display: flex;
282
- align-items: center;
283
- justify-content: center;
284
- margin-bottom: 0;
285
- }
286
-
287
- // Inline-block all the things for "inline"
288
- .form-group {
289
- display: flex;
290
- flex: 0 0 auto;
291
- flex-flow: row wrap;
292
- align-items: center;
293
- margin-bottom: 0;
294
- }
295
-
296
- // Allow folks to *not* use `.form-group`
297
- .form-control {
298
- display: inline-block;
299
- width: auto; // Prevent labels from stacking above inputs in `.form-group`
300
- vertical-align: middle;
301
- }
302
-
303
- // Make static controls behave like regular ones
304
- .form-control-plaintext {
305
- display: inline-block;
306
- }
307
-
308
- .input-group,
309
- .custom-select {
310
- width: auto;
311
- }
312
-
313
- // Remove default margin on radios/checkboxes that were used for stacking, and
314
- // then undo the floating of radios and checkboxes to match.
315
- .form-check {
316
- display: flex;
317
- align-items: center;
318
- justify-content: center;
319
- width: auto;
320
- padding-left: 0;
321
- }
322
- .form-check-input {
323
- position: relative;
324
- flex-shrink: 0;
325
- margin-top: 0;
326
- margin-right: $form-check-input-margin-x;
327
- margin-left: 0;
328
- }
329
-
330
- .custom-control {
331
- align-items: center;
332
- justify-content: center;
333
- }
334
- .custom-control-label {
335
- margin-bottom: 0;
336
- }
337
- }
338
- }
339
-
340
- //Custom Checkbox
341
- .custom-control-label:before{
342
- background-color:white;
343
- }
344
- .custom-control-label{
345
- margin-left: 1.5rem;
346
- }
347
- .checkbox-saooti .custom-control-input:checked~.custom-control-label::before{
348
- background-color:#40a372;
349
- }
350
- .checkbox-saooti .custom-control-input:checked~.custom-control-label::after{
351
- background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='white' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
352
- }
@@ -1,134 +0,0 @@
1
- // Bootstrap functions
2
- //
3
- // Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
4
-
5
- // Ascending
6
- // Used to evaluate Sass maps like our grid breakpoints.
7
- @mixin _assert-ascending($map, $map-name) {
8
- $prev-key: null;
9
- $prev-num: null;
10
- @each $key, $num in $map {
11
- @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
12
- // Do nothing
13
- } @else if not comparable($prev-num, $num) {
14
- @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
15
- } @else if $prev-num >= $num {
16
- @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
17
- }
18
- $prev-key: $key;
19
- $prev-num: $num;
20
- }
21
- }
22
-
23
- // Starts at zero
24
- // Used to ensure the min-width of the lowest breakpoint starts at 0.
25
- @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
26
- $values: map-values($map);
27
- $first-value: nth($values, 1);
28
- @if $first-value != 0 {
29
- @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
30
- }
31
- }
32
-
33
- // Replace `$search` with `$replace` in `$string`
34
- // Used on our SVG icon backgrounds for custom forms.
35
- //
36
- // @author Hugo Giraudel
37
- // @param {String} $string - Initial string
38
- // @param {String} $search - Substring to replace
39
- // @param {String} $replace ('') - New value
40
- // @return {String} - Updated string
41
- @function str-replace($string, $search, $replace: "") {
42
- $index: str-index($string, $search);
43
-
44
- @if $index {
45
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
46
- }
47
-
48
- @return $string;
49
- }
50
-
51
- // See https://codepen.io/kevinweber/pen/dXWoRw
52
- @function escape-svg($string) {
53
- @if str-index($string, "data:image/svg+xml") {
54
- @each $char, $encoded in $escaped-characters {
55
- $string: str-replace($string, $char, $encoded);
56
- }
57
- }
58
-
59
- @return $string;
60
- }
61
-
62
- // Color contrast
63
- @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
64
- $r: red($color);
65
- $g: green($color);
66
- $b: blue($color);
67
-
68
- $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
69
-
70
- @if ($yiq >= $yiq-contrasted-threshold) {
71
- @return $dark;
72
- } @else {
73
- @return $light;
74
- }
75
- }
76
-
77
- // Retrieve color Sass maps
78
- @function color($key: "blue") {
79
- @return map-get($colors, $key);
80
- }
81
-
82
- @function theme-color($key: "primary") {
83
- @return map-get($theme-colors, $key);
84
- }
85
-
86
- @function gray($key: "100") {
87
- @return map-get($grays, $key);
88
- }
89
-
90
- // Request a theme color level
91
- @function theme-color-level($color-name: "primary", $level: 0) {
92
- $color: theme-color($color-name);
93
- $color-base: if($level > 0, $black, $white);
94
- $level: abs($level);
95
-
96
- @return mix($color-base, $color, $level * $theme-color-interval);
97
- }
98
-
99
- // Return valid calc
100
- @function add($value1, $value2, $return-calc: true) {
101
- @if $value1 == null {
102
- @return $value2;
103
- }
104
-
105
- @if $value2 == null {
106
- @return $value1;
107
- }
108
-
109
- @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
110
- @return $value1 + $value2;
111
- }
112
-
113
- @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
114
- }
115
-
116
- @function subtract($value1, $value2, $return-calc: true) {
117
- @if $value1 == null and $value2 == null {
118
- @return null;
119
- }
120
-
121
- @if $value1 == null {
122
- @return -$value2;
123
- }
124
-
125
- @if $value2 == null {
126
- @return $value1;
127
- }
128
-
129
- @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
130
- @return $value1 - $value2;
131
- }
132
-
133
- @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
134
- }
@@ -1,69 +0,0 @@
1
- // Container widths
2
- //
3
- // Set the container width, and override it for fixed navbars in media queries.
4
-
5
- @if $enable-grid-classes {
6
- // Single container class with breakpoint max-widths
7
- .container {
8
- @include make-container();
9
- @include make-container-max-widths();
10
- }
11
-
12
- // 100% wide container at all breakpoints
13
- .container-fluid {
14
- @include make-container();
15
- }
16
-
17
- // Responsive containers that are 100% wide until a breakpoint
18
- @each $breakpoint, $container-max-width in $container-max-widths {
19
- .container-#{$breakpoint} {
20
- @extend .container-fluid;
21
- }
22
-
23
- @include media-breakpoint-up($breakpoint, $grid-breakpoints) {
24
- %responsive-container-#{$breakpoint} {
25
- max-width: $container-max-width;
26
- }
27
-
28
- @each $name, $width in $grid-breakpoints {
29
- @if ($container-max-width > $width or $breakpoint == $name) {
30
- .container#{breakpoint-infix($name, $grid-breakpoints)} {
31
- @extend %responsive-container-#{$breakpoint};
32
- }
33
- }
34
- }
35
- }
36
- }
37
- }
38
-
39
-
40
- // Row
41
- //
42
- // Rows contain your columns.
43
-
44
- @if $enable-grid-classes {
45
- .row {
46
- @include make-row();
47
- }
48
-
49
- // Remove the negative margin from default .row, then the horizontal padding
50
- // from all immediate children columns (to prevent runaway style inheritance).
51
- .no-gutters {
52
- margin-right: 0;
53
- margin-left: 0;
54
-
55
- > .col,
56
- > [class*="col-"] {
57
- padding-right: 0;
58
- padding-left: 0;
59
- }
60
- }
61
- }
62
-
63
- // Columns
64
- //
65
- // Common styles for small and large grid columns
66
-
67
- @if $enable-grid-classes {
68
- @include make-grid-columns();
69
- }
@@ -1,42 +0,0 @@
1
- // Responsive images (ensure images don't scale beyond their parents)
2
- //
3
- // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.
4
- // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5
- // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6
- // which weren't expecting the images within themselves to be involuntarily resized.
7
- // See also https://github.com/twbs/bootstrap/issues/18178
8
- .img-fluid {
9
- @include img-fluid();
10
- }
11
-
12
-
13
- // Image thumbnails
14
- .img-thumbnail {
15
- padding: $thumbnail-padding;
16
- background-color: $thumbnail-bg;
17
- border: $thumbnail-border-width solid $thumbnail-border-color;
18
- @include border-radius($thumbnail-border-radius);
19
- @include box-shadow($thumbnail-box-shadow);
20
-
21
- // Keep them at most 100% wide
22
- @include img-fluid();
23
- }
24
-
25
- //
26
- // Figures
27
- //
28
-
29
- .figure {
30
- // Ensures the caption's text aligns with the image.
31
- display: inline-block;
32
- }
33
-
34
- .figure-img {
35
- margin-bottom: $spacer / 2;
36
- line-height: 1;
37
- }
38
-
39
- .figure-caption {
40
- @include font-size($figure-caption-font-size);
41
- color: $figure-caption-color;
42
- }