safecheck-client 3.0.33-126 → 3.0.33-128

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 (287) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/build/css-loaders.js +34 -34
  5. package/build/dev-android.js +151 -151
  6. package/build/dev-client.js +8 -8
  7. package/build/release.sh +28 -28
  8. package/build/utils.js +71 -71
  9. package/build/webpack.baseandroid.conf.js +83 -83
  10. package/build/webpack.devandroid.conf.js +33 -33
  11. package/build/webpack.hanwei.conf.js +57 -57
  12. package/build/webpack.hwbase.conf.js +78 -78
  13. package/build/webpack.prodandroid.conf.js +60 -60
  14. package/build/webpack.test.conf.js +31 -31
  15. package/config/dev.env.js +6 -6
  16. package/config/index.js +38 -38
  17. package/config/prod.env.js +3 -3
  18. package/config/test.env.js +6 -6
  19. package/docs/AppBase.md +22 -22
  20. package/docs/Busy.md +14 -14
  21. package/docs/Criteria.md +47 -47
  22. package/docs/CriteriaPaged.md +47 -47
  23. package/docs/DataGrid.md +54 -54
  24. package/docs/DataModel.md +22 -22
  25. package/docs/Dynamic.md +42 -42
  26. package/docs/FormPrint.md +18 -18
  27. package/docs/GetParams.md +11 -11
  28. package/docs/GridTree.md +47 -47
  29. package/docs/HttpBusy.md +13 -13
  30. package/docs/HttpStore.md +29 -29
  31. package/docs/MessageBox.md +28 -28
  32. package/docs/PagedList.md +29 -29
  33. package/docs/Pager.md +21 -21
  34. package/docs/PrintFile.md +38 -38
  35. package/docs/Project.md +23 -23
  36. package/docs/Route.md +105 -105
  37. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  38. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  39. package/docs/Task.md +46 -46
  40. package/docs/TreeList.md +28 -28
  41. package/docs/TreeMixin.md +18 -18
  42. package/docs/all.md +10 -10
  43. package/docs/list.md +42 -42
  44. package/docs/partial.md +75 -75
  45. package/docs/selector.md +82 -82
  46. package/docs/tree.md +40 -40
  47. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  48. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  49. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  50. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  51. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  52. package/examples/AddressList/App.vue +13 -13
  53. package/examples/AddressList/index.html +11 -11
  54. package/examples/DispatchList/App.vue +10 -10
  55. package/examples/DispatchList/BaseTree.vue +13 -13
  56. package/examples/DispatchList/Init.vue +22 -22
  57. package/examples/DispatchList/Test.vue +20 -20
  58. package/examples/DispatchList/index.html +11 -11
  59. package/examples/DispatchList/main.js +18 -18
  60. package/git +0 -0
  61. package/home.html +16 -16
  62. package/package.json +133 -133
  63. package/publish.bat +7 -7
  64. package/release.bat +5 -5
  65. package/src/App.vue +2 -2
  66. package/src/Widget.vue +13 -13
  67. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  68. package/src/android-bootstrap/less/.csscomb.json +304 -304
  69. package/src/android-bootstrap/less/.csslintrc +19 -19
  70. package/src/android-bootstrap/less/alerts.less +73 -73
  71. package/src/android-bootstrap/less/badges.less +66 -66
  72. package/src/android-bootstrap/less/bootstrap.less +56 -56
  73. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  74. package/src/android-bootstrap/less/button-groups.less +247 -247
  75. package/src/android-bootstrap/less/buttons.less +173 -173
  76. package/src/android-bootstrap/less/carousel.less +269 -269
  77. package/src/android-bootstrap/less/close.less +34 -34
  78. package/src/android-bootstrap/less/code.less +69 -69
  79. package/src/android-bootstrap/less/component-animations.less +33 -33
  80. package/src/android-bootstrap/less/grid.less +84 -84
  81. package/src/android-bootstrap/less/input-groups.less +167 -167
  82. package/src/android-bootstrap/less/jumbotron.less +52 -52
  83. package/src/android-bootstrap/less/labels.less +64 -64
  84. package/src/android-bootstrap/less/list-group.less +141 -141
  85. package/src/android-bootstrap/less/media.less +66 -66
  86. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  87. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  88. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  89. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  90. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  91. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  92. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  93. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  94. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  95. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  96. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  97. package/src/android-bootstrap/less/mixins/image.less +33 -33
  98. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  99. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  100. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  101. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  102. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  103. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  104. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  105. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  106. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  107. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  108. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  109. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  110. package/src/android-bootstrap/less/mixins/size.less +10 -10
  111. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  112. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  113. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  114. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  115. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  116. package/src/android-bootstrap/less/mixins.less +40 -40
  117. package/src/android-bootstrap/less/modals.less +151 -151
  118. package/src/android-bootstrap/less/navbar.less +660 -660
  119. package/src/android-bootstrap/less/navs.less +290 -290
  120. package/src/android-bootstrap/less/normalize.less +424 -424
  121. package/src/android-bootstrap/less/pager.less +76 -76
  122. package/src/android-bootstrap/less/pagination.less +89 -89
  123. package/src/android-bootstrap/less/panels.less +274 -274
  124. package/src/android-bootstrap/less/popovers.less +131 -131
  125. package/src/android-bootstrap/less/print.less +101 -101
  126. package/src/android-bootstrap/less/progress-bars.less +87 -87
  127. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  128. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  129. package/src/android-bootstrap/less/scaffolding.less +161 -161
  130. package/src/android-bootstrap/less/tables.less +262 -262
  131. package/src/android-bootstrap/less/theme.less +291 -291
  132. package/src/android-bootstrap/less/thumbnails.less +36 -36
  133. package/src/android-bootstrap/less/tooltip.less +102 -102
  134. package/src/android-bootstrap/less/type.less +303 -303
  135. package/src/android-bootstrap/less/utilities.less +55 -55
  136. package/src/android-bootstrap/less/variables.less +896 -896
  137. package/src/android-bootstrap/less/wells.less +29 -29
  138. package/src/androidTest.js +20 -20
  139. package/src/bootstrap/less/.csscomb.json +304 -304
  140. package/src/bootstrap/less/.csslintrc +19 -19
  141. package/src/bootstrap/less/alerts.less +73 -73
  142. package/src/bootstrap/less/badges.less +66 -66
  143. package/src/bootstrap/less/breadcrumbs.less +26 -26
  144. package/src/bootstrap/less/button-groups.less +247 -247
  145. package/src/bootstrap/less/buttons.less +172 -172
  146. package/src/bootstrap/less/carousel.less +269 -269
  147. package/src/bootstrap/less/close.less +34 -34
  148. package/src/bootstrap/less/code.less +69 -69
  149. package/src/bootstrap/less/component-animations.less +33 -33
  150. package/src/bootstrap/less/dropdowns.less +216 -216
  151. package/src/bootstrap/less/forms.less +626 -626
  152. package/src/bootstrap/less/grid.less +84 -84
  153. package/src/bootstrap/less/input-groups.less +167 -167
  154. package/src/bootstrap/less/jumbotron.less +52 -52
  155. package/src/bootstrap/less/labels.less +64 -64
  156. package/src/bootstrap/less/list-group.less +141 -141
  157. package/src/bootstrap/less/media.less +66 -66
  158. package/src/bootstrap/less/mixins/alerts.less +14 -14
  159. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  160. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  161. package/src/bootstrap/less/mixins/buttons.less +69 -69
  162. package/src/bootstrap/less/mixins/center-block.less +7 -7
  163. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  164. package/src/bootstrap/less/mixins/forms.less +90 -90
  165. package/src/bootstrap/less/mixins/gradients.less +59 -59
  166. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  167. package/src/bootstrap/less/mixins/grid.less +122 -122
  168. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  169. package/src/bootstrap/less/mixins/image.less +33 -33
  170. package/src/bootstrap/less/mixins/labels.less +12 -12
  171. package/src/bootstrap/less/mixins/list-group.less +30 -30
  172. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  173. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  174. package/src/bootstrap/less/mixins/opacity.less +8 -8
  175. package/src/bootstrap/less/mixins/pagination.less +24 -24
  176. package/src/bootstrap/less/mixins/panels.less +24 -24
  177. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  178. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  179. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  180. package/src/bootstrap/less/mixins/resize.less +6 -6
  181. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  182. package/src/bootstrap/less/mixins/size.less +10 -10
  183. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  184. package/src/bootstrap/less/mixins/table-row.less +44 -44
  185. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  186. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  187. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  188. package/src/bootstrap/less/mixins.less +40 -40
  189. package/src/bootstrap/less/modals.less +151 -151
  190. package/src/bootstrap/less/navbar.less +660 -660
  191. package/src/bootstrap/less/normalize.less +424 -424
  192. package/src/bootstrap/less/pager.less +76 -76
  193. package/src/bootstrap/less/pagination.less +89 -89
  194. package/src/bootstrap/less/panels.less +275 -275
  195. package/src/bootstrap/less/popovers.less +131 -131
  196. package/src/bootstrap/less/print.less +101 -101
  197. package/src/bootstrap/less/progress-bars.less +87 -87
  198. package/src/bootstrap/less/responsive-embed.less +35 -35
  199. package/src/bootstrap/less/responsive-utilities.less +194 -194
  200. package/src/bootstrap/less/scaffolding.less +161 -161
  201. package/src/bootstrap/less/theme.less +291 -291
  202. package/src/bootstrap/less/thumbnails.less +36 -36
  203. package/src/bootstrap/less/tooltip.less +102 -102
  204. package/src/bootstrap/less/type.less +303 -303
  205. package/src/bootstrap/less/utilities.less +55 -55
  206. package/src/bootstrap/less/wells.less +29 -29
  207. package/src/components/FileUpload.vue +696 -696
  208. package/src/components/Hello.vue +39 -39
  209. package/src/components/LeftTree.vue +27 -27
  210. package/src/components/android/AddGas.vue +147 -147
  211. package/src/components/android/AddressList.vue +61 -61
  212. package/src/components/android/AttendanceTally.vue +116 -116
  213. package/src/components/android/Blank.vue +10 -10
  214. package/src/components/android/CheckUnplanPage.vue +56 -56
  215. package/src/components/android/Checker.vue +12 -12
  216. package/src/components/android/CheckerAnnual.vue +81 -81
  217. package/src/components/android/CheckerAvarta.vue +82 -82
  218. package/src/components/android/CheckerMonthly.vue +84 -84
  219. package/src/components/android/EquipmentInspection.vue +348 -348
  220. package/src/components/android/FootprintMap.vue +120 -120
  221. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  222. package/src/components/android/LcheckUnplan.vue +108 -108
  223. package/src/components/android/MasterMain.vue +77 -77
  224. package/src/components/android/Menu.vue +132 -132
  225. package/src/components/android/NavBottom.vue +157 -157
  226. package/src/components/android/PaperAlarm.vue +85 -85
  227. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  228. package/src/components/android/PlumberAnnual.vue +83 -83
  229. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  230. package/src/components/android/PlumberMonthly.vue +84 -84
  231. package/src/components/android/PostMap.vue +83 -83
  232. package/src/components/android/QueryCheckHistory.vue +122 -122
  233. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  234. package/src/components/android/RepairMain.vue +60 -60
  235. package/src/components/android/Repairman.vue +12 -12
  236. package/src/components/android/StationMaster.vue +12 -12
  237. package/src/components/checkerphonestate/Checker.vue +32 -32
  238. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  239. package/src/components/defects/AddDefectModal.vue +120 -120
  240. package/src/components/defects/AddDevice.vue +95 -95
  241. package/src/components/defects/DefectModal.vue +101 -101
  242. package/src/components/defects/DevicesAndItem.vue +39 -39
  243. package/src/components/defects/DevicesSeting.vue +106 -106
  244. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  245. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  246. package/src/components/metterfiles/MetterFiles.vue +104 -104
  247. package/src/components/notice/NoticeForm.vue +100 -100
  248. package/src/components/notice/NoticeIssue.vue +20 -20
  249. package/src/components/notice/NoticeQuery.vue +76 -76
  250. package/src/components/paper/PicViewer.vue +18 -18
  251. package/src/components/paper/RepairVerifyForm.vue +76 -76
  252. package/src/components/pc/NewCheckpaper.vue +4 -0
  253. package/src/components/phonestate/DailyTraffic.vue +57 -57
  254. package/src/components/phonestate/LastKnownState.vue +74 -74
  255. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  256. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  257. package/src/components/phonestate/PostMap.vue +82 -82
  258. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  259. package/src/components/task/RepairAnnual.vue +79 -79
  260. package/src/components/task/RepairAnnualDetail.vue +49 -49
  261. package/src/components/task/RepairMonthly.vue +91 -91
  262. package/src/components/task/TaskAnnual.vue +77 -77
  263. package/src/components/task/TaskAnnualDetail.vue +47 -47
  264. package/src/components/task/TaskMonthly.vue +89 -89
  265. package/src/components/userfile/MeterFile.vue +145 -145
  266. package/src/components/userfile/MeterModify.vue +46 -46
  267. package/src/components/userfile/UserFile.vue +118 -118
  268. package/src/components/userfile/UserfileChange.vue +277 -277
  269. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  270. package/src/filiale/baiyin/android.js +9 -9
  271. package/src/filiale/baiyin/pc/PlanManage.vue +834 -834
  272. package/src/filiale/baiyin/pc.js +13 -13
  273. package/src/filiale/bayan/pc/CheckSearchUser.vue +1 -1
  274. package/src/filiale/siyang/pc/PaperDefectMain.vue +864 -864
  275. package/src/main.js +1 -1
  276. package/src/plugins/LoadData.js +10 -10
  277. package/src/plugins/LoadParams.js +24 -24
  278. package/src/stores/wxconfig.js +10 -10
  279. package/src/utils/getNowDate.js +33 -33
  280. package/test/e2e/custom-assertions/elementCount.js +26 -26
  281. package/test/e2e/nightwatch.conf.js +40 -40
  282. package/test/e2e/runner.js +30 -30
  283. package/test/e2e/specs/test.js +13 -13
  284. package/test/unit/.eslintrc +5 -5
  285. package/test/unit/TestUtil.js +62 -62
  286. package/test/unit/context.html +20 -20
  287. package/test/unit/index.js +13 -13
@@ -1,247 +1,247 @@
1
- //
2
- // Button groups
3
- // --------------------------------------------------
4
-
5
- // Make the div behave like a button
6
- .btn-group,
7
- .btn-group-vertical {
8
- position: relative;
9
- display: inline-block;
10
- vertical-align: middle; // match .btn alignment given font-size hack above
11
- > .btn {
12
- position: relative;
13
- float: left;
14
- // Bring the "active" button to the front
15
- &:hover,
16
- &:focus,
17
- &:active,
18
- &.active {
19
- z-index: 2;
20
- }
21
- }
22
- }
23
-
24
- // Prevent double borders when buttons are next to each other
25
- .btn-group {
26
- .btn + .btn,
27
- .btn + .btn-group,
28
- .btn-group + .btn,
29
- .btn-group + .btn-group {
30
- margin-left: -1px;
31
- }
32
- }
33
-
34
- // Optional: Group multiple button groups together for a toolbar
35
- .btn-toolbar {
36
- margin-left: -5px; // Offset the first child's margin
37
- &:extend(.clearfix all);
38
-
39
- .btn,
40
- .btn-group,
41
- .input-group {
42
- float: left;
43
- }
44
- > .btn,
45
- > .btn-group,
46
- > .input-group {
47
- margin-left: 5px;
48
- }
49
- }
50
-
51
- .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
52
- border-radius: 0;
53
- }
54
-
55
- // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
56
- .btn-group > .btn:first-child {
57
- margin-left: 0;
58
- &:not(:last-child):not(.dropdown-toggle) {
59
- .border-right-radius(0);
60
- }
61
- }
62
- // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
63
- .btn-group > .btn:last-child:not(:first-child),
64
- .btn-group > .dropdown-toggle:not(:first-child) {
65
- .border-left-radius(0);
66
- }
67
-
68
- // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
69
- .btn-group > .btn-group {
70
- float: left;
71
- }
72
- .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
73
- border-radius: 0;
74
- }
75
- .btn-group > .btn-group:first-child:not(:last-child) {
76
- > .btn:last-child,
77
- > .dropdown-toggle {
78
- .border-right-radius(0);
79
- }
80
- }
81
- .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
82
- .border-left-radius(0);
83
- }
84
-
85
- // On active and open, don't show outline
86
- .btn-group .dropdown-toggle:active,
87
- .btn-group.open .dropdown-toggle {
88
- outline: 0;
89
- }
90
-
91
-
92
- // Sizing
93
- //
94
- // Remix the default button sizing classes into new ones for easier manipulation.
95
-
96
- .btn-group-xs > .btn { &:extend(.btn-xs); }
97
- .btn-group-sm > .btn { &:extend(.btn-sm); }
98
- .btn-group-lg > .btn { &:extend(.btn-lg); }
99
-
100
-
101
- // Split button dropdowns
102
- // ----------------------
103
-
104
- // Give the line between buttons some depth
105
- .btn-group > .btn + .dropdown-toggle {
106
- padding-left: 8px;
107
- padding-right: 8px;
108
- }
109
- .btn-group > .btn-lg + .dropdown-toggle {
110
- padding-left: 12px;
111
- padding-right: 12px;
112
- }
113
-
114
- // The clickable button for toggling the menu
115
- // Remove the gradient and set the same inset shadow as the :active state
116
- .btn-group.open .dropdown-toggle {
117
- .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
118
-
119
- // Show no shadow for `.btn-link` since it has no other button styles.
120
- &.btn-link {
121
- .box-shadow(none);
122
- }
123
- }
124
-
125
-
126
- // Reposition the caret
127
- .btn .caret {
128
- margin-left: 0;
129
- }
130
- // Carets in other button sizes
131
- .btn-lg .caret {
132
- border-width: @caret-width-large @caret-width-large 0;
133
- border-bottom-width: 0;
134
- }
135
- // Upside down carets for .dropup
136
- .dropup .btn-lg .caret {
137
- border-width: 0 @caret-width-large @caret-width-large;
138
- }
139
-
140
-
141
- // Vertical button groups
142
- // ----------------------
143
-
144
- .btn-group-vertical {
145
- > .btn,
146
- > .btn-group,
147
- > .btn-group > .btn {
148
- display: block;
149
- float: none;
150
- width: 100%;
151
- max-width: 100%;
152
- }
153
-
154
- // Clear floats so dropdown menus can be properly placed
155
- > .btn-group {
156
- &:extend(.clearfix all);
157
- > .btn {
158
- float: none;
159
- }
160
- }
161
-
162
- > .btn + .btn,
163
- > .btn + .btn-group,
164
- > .btn-group + .btn,
165
- > .btn-group + .btn-group {
166
- margin-top: -1px;
167
- margin-left: 0;
168
- }
169
- }
170
-
171
- .btn-group-vertical > .btn {
172
- &:not(:first-child):not(:last-child) {
173
- border-radius: 0;
174
- }
175
- &:first-child:not(:last-child) {
176
- border-top-right-radius: @btn-border-radius-base;
177
- .border-bottom-radius(0);
178
- }
179
- &:last-child:not(:first-child) {
180
- border-bottom-left-radius: @btn-border-radius-base;
181
- .border-top-radius(0);
182
- }
183
- }
184
- .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
185
- border-radius: 0;
186
- }
187
- .btn-group-vertical > .btn-group:first-child:not(:last-child) {
188
- > .btn:last-child,
189
- > .dropdown-toggle {
190
- .border-bottom-radius(0);
191
- }
192
- }
193
- .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
194
- .border-top-radius(0);
195
- }
196
-
197
-
198
- // Justified button groups
199
- // ----------------------
200
-
201
- .btn-group-justified {
202
- display: table;
203
- width: 100%;
204
- table-layout: fixed;
205
- border-collapse: separate;
206
- > .btn,
207
- > .btn-group {
208
- float: none;
209
- display: table-cell;
210
- width: 1%;
211
- }
212
- > .btn-group .btn {
213
- width: 100%;
214
- }
215
-
216
- > .btn-group .dropdown-menu {
217
- left: auto;
218
- }
219
- }
220
-
221
- .btn-group .btn {
222
- margin-bottom: 0px;
223
- }
224
-
225
- // Checkbox and radio options
226
- //
227
- // In order to support the browser's form validation feedback, powered by the
228
- // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
229
- // `display: none;` or `visibility: hidden;` as that also hides the popover.
230
- // Simply visually hiding the inputs via `opacity` would leave them clickable in
231
- // certain cases which is prevented by using `clip` and `pointer-events`.
232
- // This way, we ensure a DOM element is visible to position the popover from.
233
- //
234
- // See https://github.com/twbs/bootstrap/pull/12794 and
235
- // https://github.com/twbs/bootstrap/pull/14559 for more information.
236
-
237
- [data-toggle="buttons"] {
238
- > .btn,
239
- > .btn-group > .btn {
240
- input[type="radio"],
241
- input[type="checkbox"] {
242
- position: absolute;
243
- clip: rect(0,0,0,0);
244
- pointer-events: none;
245
- }
246
- }
247
- }
1
+ //
2
+ // Button groups
3
+ // --------------------------------------------------
4
+
5
+ // Make the div behave like a button
6
+ .btn-group,
7
+ .btn-group-vertical {
8
+ position: relative;
9
+ display: inline-block;
10
+ vertical-align: middle; // match .btn alignment given font-size hack above
11
+ > .btn {
12
+ position: relative;
13
+ float: left;
14
+ // Bring the "active" button to the front
15
+ &:hover,
16
+ &:focus,
17
+ &:active,
18
+ &.active {
19
+ z-index: 2;
20
+ }
21
+ }
22
+ }
23
+
24
+ // Prevent double borders when buttons are next to each other
25
+ .btn-group {
26
+ .btn + .btn,
27
+ .btn + .btn-group,
28
+ .btn-group + .btn,
29
+ .btn-group + .btn-group {
30
+ margin-left: -1px;
31
+ }
32
+ }
33
+
34
+ // Optional: Group multiple button groups together for a toolbar
35
+ .btn-toolbar {
36
+ margin-left: -5px; // Offset the first child's margin
37
+ &:extend(.clearfix all);
38
+
39
+ .btn,
40
+ .btn-group,
41
+ .input-group {
42
+ float: left;
43
+ }
44
+ > .btn,
45
+ > .btn-group,
46
+ > .input-group {
47
+ margin-left: 5px;
48
+ }
49
+ }
50
+
51
+ .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
52
+ border-radius: 0;
53
+ }
54
+
55
+ // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
56
+ .btn-group > .btn:first-child {
57
+ margin-left: 0;
58
+ &:not(:last-child):not(.dropdown-toggle) {
59
+ .border-right-radius(0);
60
+ }
61
+ }
62
+ // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
63
+ .btn-group > .btn:last-child:not(:first-child),
64
+ .btn-group > .dropdown-toggle:not(:first-child) {
65
+ .border-left-radius(0);
66
+ }
67
+
68
+ // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
69
+ .btn-group > .btn-group {
70
+ float: left;
71
+ }
72
+ .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
73
+ border-radius: 0;
74
+ }
75
+ .btn-group > .btn-group:first-child:not(:last-child) {
76
+ > .btn:last-child,
77
+ > .dropdown-toggle {
78
+ .border-right-radius(0);
79
+ }
80
+ }
81
+ .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
82
+ .border-left-radius(0);
83
+ }
84
+
85
+ // On active and open, don't show outline
86
+ .btn-group .dropdown-toggle:active,
87
+ .btn-group.open .dropdown-toggle {
88
+ outline: 0;
89
+ }
90
+
91
+
92
+ // Sizing
93
+ //
94
+ // Remix the default button sizing classes into new ones for easier manipulation.
95
+
96
+ .btn-group-xs > .btn { &:extend(.btn-xs); }
97
+ .btn-group-sm > .btn { &:extend(.btn-sm); }
98
+ .btn-group-lg > .btn { &:extend(.btn-lg); }
99
+
100
+
101
+ // Split button dropdowns
102
+ // ----------------------
103
+
104
+ // Give the line between buttons some depth
105
+ .btn-group > .btn + .dropdown-toggle {
106
+ padding-left: 8px;
107
+ padding-right: 8px;
108
+ }
109
+ .btn-group > .btn-lg + .dropdown-toggle {
110
+ padding-left: 12px;
111
+ padding-right: 12px;
112
+ }
113
+
114
+ // The clickable button for toggling the menu
115
+ // Remove the gradient and set the same inset shadow as the :active state
116
+ .btn-group.open .dropdown-toggle {
117
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
118
+
119
+ // Show no shadow for `.btn-link` since it has no other button styles.
120
+ &.btn-link {
121
+ .box-shadow(none);
122
+ }
123
+ }
124
+
125
+
126
+ // Reposition the caret
127
+ .btn .caret {
128
+ margin-left: 0;
129
+ }
130
+ // Carets in other button sizes
131
+ .btn-lg .caret {
132
+ border-width: @caret-width-large @caret-width-large 0;
133
+ border-bottom-width: 0;
134
+ }
135
+ // Upside down carets for .dropup
136
+ .dropup .btn-lg .caret {
137
+ border-width: 0 @caret-width-large @caret-width-large;
138
+ }
139
+
140
+
141
+ // Vertical button groups
142
+ // ----------------------
143
+
144
+ .btn-group-vertical {
145
+ > .btn,
146
+ > .btn-group,
147
+ > .btn-group > .btn {
148
+ display: block;
149
+ float: none;
150
+ width: 100%;
151
+ max-width: 100%;
152
+ }
153
+
154
+ // Clear floats so dropdown menus can be properly placed
155
+ > .btn-group {
156
+ &:extend(.clearfix all);
157
+ > .btn {
158
+ float: none;
159
+ }
160
+ }
161
+
162
+ > .btn + .btn,
163
+ > .btn + .btn-group,
164
+ > .btn-group + .btn,
165
+ > .btn-group + .btn-group {
166
+ margin-top: -1px;
167
+ margin-left: 0;
168
+ }
169
+ }
170
+
171
+ .btn-group-vertical > .btn {
172
+ &:not(:first-child):not(:last-child) {
173
+ border-radius: 0;
174
+ }
175
+ &:first-child:not(:last-child) {
176
+ border-top-right-radius: @btn-border-radius-base;
177
+ .border-bottom-radius(0);
178
+ }
179
+ &:last-child:not(:first-child) {
180
+ border-bottom-left-radius: @btn-border-radius-base;
181
+ .border-top-radius(0);
182
+ }
183
+ }
184
+ .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
185
+ border-radius: 0;
186
+ }
187
+ .btn-group-vertical > .btn-group:first-child:not(:last-child) {
188
+ > .btn:last-child,
189
+ > .dropdown-toggle {
190
+ .border-bottom-radius(0);
191
+ }
192
+ }
193
+ .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
194
+ .border-top-radius(0);
195
+ }
196
+
197
+
198
+ // Justified button groups
199
+ // ----------------------
200
+
201
+ .btn-group-justified {
202
+ display: table;
203
+ width: 100%;
204
+ table-layout: fixed;
205
+ border-collapse: separate;
206
+ > .btn,
207
+ > .btn-group {
208
+ float: none;
209
+ display: table-cell;
210
+ width: 1%;
211
+ }
212
+ > .btn-group .btn {
213
+ width: 100%;
214
+ }
215
+
216
+ > .btn-group .dropdown-menu {
217
+ left: auto;
218
+ }
219
+ }
220
+
221
+ .btn-group .btn {
222
+ margin-bottom: 0px;
223
+ }
224
+
225
+ // Checkbox and radio options
226
+ //
227
+ // In order to support the browser's form validation feedback, powered by the
228
+ // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
229
+ // `display: none;` or `visibility: hidden;` as that also hides the popover.
230
+ // Simply visually hiding the inputs via `opacity` would leave them clickable in
231
+ // certain cases which is prevented by using `clip` and `pointer-events`.
232
+ // This way, we ensure a DOM element is visible to position the popover from.
233
+ //
234
+ // See https://github.com/twbs/bootstrap/pull/12794 and
235
+ // https://github.com/twbs/bootstrap/pull/14559 for more information.
236
+
237
+ [data-toggle="buttons"] {
238
+ > .btn,
239
+ > .btn-group > .btn {
240
+ input[type="radio"],
241
+ input[type="checkbox"] {
242
+ position: absolute;
243
+ clip: rect(0,0,0,0);
244
+ pointer-events: none;
245
+ }
246
+ }
247
+ }