@saooti/octopus-sdk 1.0.0 → 29.0.2

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 (230) hide show
  1. package/README.md +73 -0
  2. package/index.d.ts +4 -0
  3. package/index.ts +12 -0
  4. package/package.json +61 -39
  5. package/public/css/fonts/saooti-ui.eot +0 -0
  6. package/public/css/fonts/saooti-ui.svg +30 -19
  7. package/public/css/fonts/saooti-ui.ttf +0 -0
  8. package/public/css/fonts/saooti-ui.woff +0 -0
  9. package/public/css/fonts/style.css +48 -5
  10. package/public/img/ACPM.png +0 -0
  11. package/public/img/article.png +0 -0
  12. package/src/App.vue +97 -31
  13. package/src/api/comments.ts +3 -1
  14. package/src/api/emissions.ts +5 -2
  15. package/src/api/initialize.ts +3 -2
  16. package/src/api/podcasts.ts +5 -2
  17. package/src/api/profile.ts +4 -2
  18. package/src/api/studio.ts +12 -1
  19. package/src/assets/bootstrap-diff.scss +265 -0
  20. package/src/assets/form.scss +23 -0
  21. package/src/assets/general.scss +47 -20
  22. package/src/assets/modal.scss +9 -10
  23. package/src/assets/multiselect.scss +19 -2
  24. package/src/assets/octopus-library.scss +16 -4
  25. package/src/assets/share.scss +343 -0
  26. package/src/components/display/aggregator/RssSection.vue +4 -4
  27. package/src/components/display/categories/CategoryChooser.vue +152 -105
  28. package/src/components/display/categories/CategoryFilter.vue +108 -0
  29. package/src/components/display/categories/CategoryList.vue +138 -109
  30. package/src/components/display/comments/AddCommentModal.vue +104 -87
  31. package/src/components/display/comments/CommentInput.vue +137 -118
  32. package/src/components/display/comments/CommentItem.vue +155 -137
  33. package/src/components/display/comments/CommentList.vue +142 -120
  34. package/src/components/display/comments/CommentParentInfo.vue +39 -35
  35. package/src/components/display/comments/CommentPlayer.vue +54 -48
  36. package/src/components/display/comments/CommentSection.vue +57 -58
  37. package/src/components/display/edit/EditBox.vue +4 -4
  38. package/src/components/display/edit/EditCommentBox.vue +25 -31
  39. package/src/components/display/emission/EmissionChooser.vue +82 -80
  40. package/src/components/display/emission/EmissionInlineList.vue +118 -105
  41. package/src/components/display/emission/EmissionItem.vue +66 -167
  42. package/src/components/display/emission/EmissionList.vue +96 -122
  43. package/src/components/display/emission/EmissionPlayerItem.vue +131 -126
  44. package/src/components/display/filter/AdvancedSearch.vue +306 -372
  45. package/src/components/display/filter/CategoryFilter.vue +117 -0
  46. package/src/components/display/filter/MonetizableFilter.vue +24 -10
  47. package/src/components/display/filter/ProductorSearch.vue +131 -135
  48. package/src/components/display/filter/RubriqueChoice.vue +104 -0
  49. package/src/components/display/filter/RubriqueFilter.vue +235 -0
  50. package/src/components/display/live/CountDown.vue +30 -29
  51. package/src/components/display/live/LiveHorizontalList.vue +40 -34
  52. package/src/components/display/live/LiveItem.vue +146 -158
  53. package/src/components/display/live/LiveList.vue +167 -154
  54. package/src/components/display/organisation/OrganisationChooser.vue +125 -124
  55. package/src/components/display/organisation/OrganisationChooserLight.vue +40 -47
  56. package/src/components/display/participant/ParticipantItem.vue +92 -108
  57. package/src/components/display/participant/ParticipantList.vue +76 -69
  58. package/src/components/display/playlist/PlaylistItem.vue +45 -56
  59. package/src/components/display/playlist/PlaylistList.vue +57 -48
  60. package/src/components/display/playlist/PodcastList.vue +94 -70
  61. package/src/components/display/podcasts/AnimatorsItem.vue +26 -23
  62. package/src/components/display/podcasts/ParticipantDescription.vue +115 -0
  63. package/src/components/display/podcasts/PodcastFilterList.vue +84 -85
  64. package/src/components/display/podcasts/PodcastImage.vue +244 -208
  65. package/src/components/display/podcasts/PodcastInlineList.vue +145 -207
  66. package/src/components/display/podcasts/PodcastItem.vue +150 -132
  67. package/src/components/display/podcasts/PodcastList.vue +89 -110
  68. package/src/components/display/podcasts/TagList.vue +23 -16
  69. package/src/components/display/rubriques/RubriqueChooser.vue +137 -123
  70. package/src/components/display/rubriques/RubriqueList.vue +227 -0
  71. package/src/components/display/sharing/PlayerParameters.vue +154 -106
  72. package/src/components/display/sharing/QrCode.vue +58 -0
  73. package/src/components/display/sharing/ShareButtons.vue +214 -92
  74. package/src/components/display/sharing/ShareDistribution.vue +110 -121
  75. package/src/components/display/sharing/SharePlayer.vue +245 -190
  76. package/src/components/display/sharing/SubscribeButtons.vue +130 -66
  77. package/src/components/display/studio/RecordingItemButton.vue +4 -4
  78. package/src/components/misc/ErrorMessage.vue +21 -16
  79. package/src/components/misc/Footer.vue +131 -66
  80. package/src/components/misc/HomeDropdown.vue +166 -123
  81. package/src/components/misc/LeftMenu.vue +151 -134
  82. package/src/components/misc/Player.vue +332 -328
  83. package/src/components/misc/Snackbar.vue +27 -29
  84. package/src/components/misc/TopBar.vue +204 -174
  85. package/src/components/misc/modal/ClipboardModal.vue +46 -26
  86. package/src/components/misc/modal/MessageModal.vue +67 -51
  87. package/src/components/misc/modal/NewsletterModal.vue +179 -136
  88. package/src/components/misc/modal/QrCodeModal.vue +83 -0
  89. package/src/components/misc/modal/ShareModalPlayer.vue +133 -74
  90. package/src/components/mixins/functions.ts +21 -18
  91. package/src/components/mixins/init.ts +24 -0
  92. package/src/components/mixins/organisationFilter.ts +24 -0
  93. package/src/components/pages/Category.vue +26 -26
  94. package/src/components/pages/Emission.vue +120 -92
  95. package/src/components/pages/Emissions.vue +109 -86
  96. package/src/components/pages/Home.vue +70 -16
  97. package/src/components/pages/Lives.vue +57 -47
  98. package/src/components/pages/Participant.vue +93 -77
  99. package/src/components/pages/Participants.vue +44 -31
  100. package/src/components/pages/Playlist.vue +63 -52
  101. package/src/components/pages/Playlists.vue +41 -39
  102. package/src/components/pages/Podcast.vue +265 -251
  103. package/src/components/pages/Podcasts.vue +135 -104
  104. package/src/components/pages/Rubrique.vue +25 -19
  105. package/src/components/pages/Search.vue +71 -67
  106. package/src/helper/dom.ts +2 -2
  107. package/src/helper/duration.ts +18 -8
  108. package/src/locale/educationen.ts +14 -0
  109. package/src/locale/en.ts +299 -1
  110. package/src/locale/fr.ts +25 -10
  111. package/src/locale/messages.ts +3 -2
  112. package/src/main.ts +54 -32
  113. package/src/router/router.ts +184 -159
  114. package/src/shims-tsx.d.ts +13 -0
  115. package/src/shims-vue-recaptcha-v3.d.ts +9 -0
  116. package/src/shims-vue.d.ts +5 -6
  117. package/src/store/AppStore.ts +36 -171
  118. package/src/store/class/category.ts +8 -0
  119. package/src/store/class/comment.ts +17 -0
  120. package/src/store/class/conference.ts +27 -0
  121. package/src/store/class/customPlayer.ts +8 -0
  122. package/src/store/class/emission.ts +20 -0
  123. package/src/store/class/fetchParam.ts +16 -0
  124. package/src/store/class/media.ts +13 -0
  125. package/src/store/class/organisation.ts +19 -0
  126. package/src/store/class/participant.ts +12 -0
  127. package/src/store/class/person.ts +13 -0
  128. package/src/store/class/player.ts +12 -0
  129. package/src/store/class/playlist.ts +15 -0
  130. package/src/store/class/podcast.ts +37 -0
  131. package/src/store/class/rubriquage.ts +9 -0
  132. package/src/store/class/rubriquageFilter.ts +5 -0
  133. package/src/store/class/rubrique.ts +8 -0
  134. package/src/store/paramStore.ts +70 -29
  135. package/src/store/typeAppStore.ts +171 -237
  136. package/src/vuex-shim.d.ts +8 -0
  137. package/tsconfig.json +4 -0
  138. package/vue.config.js +14 -0
  139. package/public/img/ACPM.PNG +0 -0
  140. package/src/assets/bootstrap_scss/_alert.scss +0 -51
  141. package/src/assets/bootstrap_scss/_badge.scss +0 -54
  142. package/src/assets/bootstrap_scss/_breadcrumb.scss +0 -42
  143. package/src/assets/bootstrap_scss/_button-group.scss +0 -164
  144. package/src/assets/bootstrap_scss/_buttons.scss +0 -291
  145. package/src/assets/bootstrap_scss/_card.scss +0 -278
  146. package/src/assets/bootstrap_scss/_carousel.scss +0 -197
  147. package/src/assets/bootstrap_scss/_close.scss +0 -41
  148. package/src/assets/bootstrap_scss/_code.scss +0 -48
  149. package/src/assets/bootstrap_scss/_custom-forms.scss +0 -522
  150. package/src/assets/bootstrap_scss/_dropdown.scss +0 -201
  151. package/src/assets/bootstrap_scss/_forms.scss +0 -352
  152. package/src/assets/bootstrap_scss/_functions.scss +0 -134
  153. package/src/assets/bootstrap_scss/_grid.scss +0 -69
  154. package/src/assets/bootstrap_scss/_images.scss +0 -42
  155. package/src/assets/bootstrap_scss/_input-group.scss +0 -191
  156. package/src/assets/bootstrap_scss/_jumbotron.scss +0 -17
  157. package/src/assets/bootstrap_scss/_list-group.scss +0 -158
  158. package/src/assets/bootstrap_scss/_media.scss +0 -8
  159. package/src/assets/bootstrap_scss/_mixins.scss +0 -47
  160. package/src/assets/bootstrap_scss/_modal.scss +0 -243
  161. package/src/assets/bootstrap_scss/_nav.scss +0 -120
  162. package/src/assets/bootstrap_scss/_navbar.scss +0 -324
  163. package/src/assets/bootstrap_scss/_pagination.scss +0 -74
  164. package/src/assets/bootstrap_scss/_popover.scss +0 -170
  165. package/src/assets/bootstrap_scss/_print.scss +0 -141
  166. package/src/assets/bootstrap_scss/_progress.scss +0 -46
  167. package/src/assets/bootstrap_scss/_reboot.scss +0 -482
  168. package/src/assets/bootstrap_scss/_root.scss +0 -20
  169. package/src/assets/bootstrap_scss/_spinners.scss +0 -55
  170. package/src/assets/bootstrap_scss/_tables.scss +0 -185
  171. package/src/assets/bootstrap_scss/_toasts.scss +0 -44
  172. package/src/assets/bootstrap_scss/_tooltip.scss +0 -115
  173. package/src/assets/bootstrap_scss/_transitions.scss +0 -20
  174. package/src/assets/bootstrap_scss/_type.scss +0 -125
  175. package/src/assets/bootstrap_scss/_utilities.scss +0 -17
  176. package/src/assets/bootstrap_scss/_variables.scss +0 -1145
  177. package/src/assets/bootstrap_scss/bootstrap-grid.scss +0 -29
  178. package/src/assets/bootstrap_scss/bootstrap-reboot.scss +0 -12
  179. package/src/assets/bootstrap_scss/bootstrap.scss +0 -44
  180. package/src/assets/bootstrap_scss/mixins/_alert.scss +0 -13
  181. package/src/assets/bootstrap_scss/mixins/_background-variant.scss +0 -22
  182. package/src/assets/bootstrap_scss/mixins/_badge.scss +0 -17
  183. package/src/assets/bootstrap_scss/mixins/_border-radius.scss +0 -63
  184. package/src/assets/bootstrap_scss/mixins/_box-shadow.scss +0 -20
  185. package/src/assets/bootstrap_scss/mixins/_breakpoints.scss +0 -123
  186. package/src/assets/bootstrap_scss/mixins/_buttons.scss +0 -110
  187. package/src/assets/bootstrap_scss/mixins/_caret.scss +0 -62
  188. package/src/assets/bootstrap_scss/mixins/_clearfix.scss +0 -7
  189. package/src/assets/bootstrap_scss/mixins/_deprecate.scss +0 -10
  190. package/src/assets/bootstrap_scss/mixins/_float.scss +0 -14
  191. package/src/assets/bootstrap_scss/mixins/_forms.scss +0 -177
  192. package/src/assets/bootstrap_scss/mixins/_gradients.scss +0 -45
  193. package/src/assets/bootstrap_scss/mixins/_grid-framework.scss +0 -71
  194. package/src/assets/bootstrap_scss/mixins/_grid.scss +0 -69
  195. package/src/assets/bootstrap_scss/mixins/_hover.scss +0 -37
  196. package/src/assets/bootstrap_scss/mixins/_image.scss +0 -36
  197. package/src/assets/bootstrap_scss/mixins/_list-group.scss +0 -21
  198. package/src/assets/bootstrap_scss/mixins/_lists.scss +0 -7
  199. package/src/assets/bootstrap_scss/mixins/_nav-divider.scss +0 -11
  200. package/src/assets/bootstrap_scss/mixins/_pagination.scss +0 -22
  201. package/src/assets/bootstrap_scss/mixins/_reset-text.scss +0 -17
  202. package/src/assets/bootstrap_scss/mixins/_resize.scss +0 -6
  203. package/src/assets/bootstrap_scss/mixins/_screen-reader.scss +0 -34
  204. package/src/assets/bootstrap_scss/mixins/_size.scss +0 -7
  205. package/src/assets/bootstrap_scss/mixins/_table-row.scss +0 -39
  206. package/src/assets/bootstrap_scss/mixins/_text-emphasis.scss +0 -17
  207. package/src/assets/bootstrap_scss/mixins/_text-hide.scss +0 -11
  208. package/src/assets/bootstrap_scss/mixins/_text-truncate.scss +0 -8
  209. package/src/assets/bootstrap_scss/mixins/_transition.scss +0 -16
  210. package/src/assets/bootstrap_scss/mixins/_visibility.scss +0 -8
  211. package/src/assets/bootstrap_scss/utilities/_align.scss +0 -8
  212. package/src/assets/bootstrap_scss/utilities/_background.scss +0 -19
  213. package/src/assets/bootstrap_scss/utilities/_borders.scss +0 -75
  214. package/src/assets/bootstrap_scss/utilities/_clearfix.scss +0 -3
  215. package/src/assets/bootstrap_scss/utilities/_display.scss +0 -26
  216. package/src/assets/bootstrap_scss/utilities/_embed.scss +0 -39
  217. package/src/assets/bootstrap_scss/utilities/_flex.scss +0 -51
  218. package/src/assets/bootstrap_scss/utilities/_float.scss +0 -11
  219. package/src/assets/bootstrap_scss/utilities/_overflow.scss +0 -5
  220. package/src/assets/bootstrap_scss/utilities/_position.scss +0 -32
  221. package/src/assets/bootstrap_scss/utilities/_screenreaders.scss +0 -11
  222. package/src/assets/bootstrap_scss/utilities/_shadows.scss +0 -6
  223. package/src/assets/bootstrap_scss/utilities/_sizing.scss +0 -20
  224. package/src/assets/bootstrap_scss/utilities/_spacing.scss +0 -73
  225. package/src/assets/bootstrap_scss/utilities/_stretched-link.scss +0 -19
  226. package/src/assets/bootstrap_scss/utilities/_text.scss +0 -72
  227. package/src/assets/bootstrap_scss/utilities/_visibility.scss +0 -13
  228. package/src/assets/bootstrap_scss/vendor/_rfs.scss +0 -204
  229. package/src/shims-vuex.d.ts +0 -7
  230. 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
- }