@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,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
- }