system-clients 3.2.80 → 3.2.81-yangchun

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 (274) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.gradle/7.4/checksums/checksums.lock +0 -0
  5. package/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
  6. package/.gradle/7.4/executionHistory/executionHistory.bin +0 -0
  7. package/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
  8. package/.gradle/7.4/fileHashes/fileHashes.bin +0 -0
  9. package/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
  10. package/.gradle/8.5/checksums/checksums.lock +0 -0
  11. package/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  12. package/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
  13. package/.gradle/8.5/executionHistory/executionHistory.bin +0 -0
  14. package/.gradle/8.5/executionHistory/executionHistory.lock +0 -0
  15. package/.gradle/8.5/fileChanges/last-build.bin +0 -0
  16. package/.gradle/8.5/fileHashes/fileHashes.bin +0 -0
  17. package/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
  18. package/.gradle/8.5/gc.properties +0 -0
  19. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  20. package/.gradle/buildOutputCleanup/cache.properties +1 -1
  21. package/.gradle/file-system.probe +0 -0
  22. package/CHANGELOG.md +51 -51
  23. package/README.md +36 -36
  24. package/SystemClient.iml +8 -8
  25. package/build/css-loaders.js +34 -34
  26. package/build/dev-client.js +8 -8
  27. package/build/example-server.js +80 -80
  28. package/build/release.sh +28 -28
  29. package/build/utils.js +71 -71
  30. package/build/webpack.base.conf.js +85 -85
  31. package/build/webpack.dev.conf.js +31 -31
  32. package/build/webpack.example.conf.js +49 -49
  33. package/build/webpack.prod.conf.js +60 -60
  34. package/build/webpack.test.conf.js +31 -31
  35. package/build.gradle +6 -6
  36. package/config/dev.env.js +6 -6
  37. package/config/index.js +38 -38
  38. package/config/prod.env.js +3 -3
  39. package/config/test.env.js +6 -6
  40. package/doc/Login.md +7 -7
  41. package/examples/LoginPage/App.vue +21 -21
  42. package/examples/LoginPage/index.html +11 -11
  43. package/examples/LoginPage/main.js +15 -15
  44. package/examples/ReadCard/App.vue +23 -23
  45. package/examples/ReadCard/index.html +11 -11
  46. package/examples/ReadCard/main.js +12 -12
  47. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  48. package/gradle/wrapper/gradle-wrapper.properties +7 -0
  49. package/gradlew +249 -0
  50. package/gradlew.bat +92 -0
  51. package/index.html +21 -21
  52. package/package.json +105 -105
  53. package/release.bat +5 -5
  54. package/src/App.vue +24 -24
  55. package/src/LodopFuncs.js +123 -123
  56. package/src/assets/binding.svg +1 -1
  57. package/src/assets/unbind.svg +1 -1
  58. package/src/assets//345/205/254/345/221/212.svg +1 -1
  59. package/src/assets//347/207/203/346/260/224/347/274/264/350/264/271.eps +116 -116
  60. package/src/assets//350/201/224/347/263/273/346/210/221/344/273/254.svg +1 -1
  61. package/src/components/List.vue +51 -51
  62. package/src/components/Main.vue +923 -923
  63. package/src/components/TabButton.vue +201 -201
  64. package/src/components/Table.js +74 -74
  65. package/src/components/Tabs.vue +67 -67
  66. package/src/components/Util.js +343 -343
  67. package/src/components/addressManage/AddressCascadingMenu.vue +145 -145
  68. package/src/components/common/ProgressBase.vue +83 -83
  69. package/src/components/equipment/EquipmentManage.vue +65 -65
  70. package/src/components/equipment/PcAdd.vue +105 -105
  71. package/src/components/equipment/PcList.vue +119 -119
  72. package/src/components/equipment/PcManage.vue +60 -60
  73. package/src/components/equipment/PhoneAdd.vue +107 -107
  74. package/src/components/equipment/PhoneList.vue +112 -112
  75. package/src/components/equipment/PhoneManage.vue +60 -60
  76. package/src/components/equipment/PosAdd.vue +323 -323
  77. package/src/components/equipment/PosList.vue +294 -294
  78. package/src/components/equipment/PosManage.vue +138 -138
  79. package/src/components/equipment/PosManageBoth.vue +125 -125
  80. package/src/components/equipment/PosParamAdd.vue +236 -236
  81. package/src/components/equipment/PosParamList.vue +121 -121
  82. package/src/components/equipment/PosParamManage.vue +51 -51
  83. package/src/components/materialManage/materialData.vue +44 -44
  84. package/src/components/materialManage/materialList.vue +255 -255
  85. package/src/components/parammanage/ParamManage.vue +42 -42
  86. package/src/components/parammanage/ParamManages.vue +43 -43
  87. package/src/components/parammanage/ParamPage.vue +337 -337
  88. package/src/components/parammanage/ParamPages.vue +222 -222
  89. package/src/components/parammanage/SinglePage.vue +235 -235
  90. package/src/components/parammanage/SinglePages.vue +167 -167
  91. package/src/components/server/AddChangeMsg.vue +66 -66
  92. package/src/components/server/ChangeDeclare.vue +45 -45
  93. package/src/components/server/IconTree.vue +26 -26
  94. package/src/components/server/ImageVieweTest.vue +56 -56
  95. package/src/components/server/ImageViewer.vue +350 -350
  96. package/src/components/server/LeftTree.vue +111 -111
  97. package/src/components/server/LoadData.vue +55 -55
  98. package/src/components/server/Login.vue +566 -566
  99. package/src/components/server/LoginPage.vue +235 -235
  100. package/src/components/server/LoginView.vue +128 -128
  101. package/src/components/server/Menu.vue +188 -188
  102. package/src/components/server/ModifyPw.vue +125 -125
  103. package/src/components/server/PcdBuildingSelect.vue +241 -241
  104. package/src/components/server/ResSelect.vue +166 -166
  105. package/src/components/server/ResSelectGroup.vue +204 -204
  106. package/src/components/server/RightTree.vue +348 -348
  107. package/src/components/server/RoleSelector.vue +88 -88
  108. package/src/components/server/TestResSelect.vue +58 -58
  109. package/src/components/server/TestResSelectGroup.vue +388 -388
  110. package/src/components/server/TestRightTree.vue +42 -42
  111. package/src/filiale/baole/Login.vue +568 -568
  112. package/src/filiale/baole/system.js +5 -5
  113. package/src/filiale/chengtou/Login.vue +537 -537
  114. package/src/filiale/chengtou/system.js +5 -5
  115. package/src/filiale/dongguan/Login.vue +900 -900
  116. package/src/filiale/dongguan/Main.vue +715 -715
  117. package/src/filiale/dongguan/system.js +6 -6
  118. package/src/filiale/furuike/Login.vue +583 -583
  119. package/src/filiale/furuike/Main.vue +827 -827
  120. package/src/filiale/furuike/system.js +7 -7
  121. package/src/filiale/gehua/Main.vue +807 -807
  122. package/src/filiale/gehua/system.js +6 -6
  123. package/src/filiale/konggang/Login.vue +470 -470
  124. package/src/filiale/konggang/system.js +7 -7
  125. package/src/filiale/qianneng/Login.vue +566 -566
  126. package/src/filiale/qianneng/Main.vue +816 -816
  127. package/src/filiale/qianneng/ModifyPw.vue +107 -107
  128. package/src/filiale/qianneng/system.js +11 -11
  129. package/src/filiale/rizhao/LeftTree.vue +111 -111
  130. package/src/filiale/rizhao/Login.vue +791 -791
  131. package/src/filiale/rizhao/Main.vue +611 -611
  132. package/src/filiale/rizhao/system.js +14 -14
  133. package/src/filiale/shiquan/Login.vue +564 -564
  134. package/src/filiale/shiquan/system.js +8 -8
  135. package/src/filiale/tianyi/Login.vue +571 -571
  136. package/src/filiale/tianyi/system.js +5 -5
  137. package/src/filiale/tongchuan/Login.vue +561 -561
  138. package/src/filiale/tongchuan/Main.vue +1019 -1019
  139. package/src/filiale/tongchuan/system.js +7 -7
  140. package/src/filiale/wenxi/Login.vue +535 -535
  141. package/src/filiale/wenxi/Main.vue +785 -785
  142. package/src/filiale/wenxi/system.js +10 -10
  143. package/src/filiale/wuhai/LeftTree.vue +141 -141
  144. package/src/filiale/wuhai/Main.vue +807 -807
  145. package/src/filiale/wuhai/system.js +10 -10
  146. package/src/filiale/yuchuan/Login.vue +889 -889
  147. package/src/filiale/yuchuan/Main.vue +864 -864
  148. package/src/filiale/yuchuan/system.js +10 -10
  149. package/src/filiale/zhoukou/Main.vue +807 -807
  150. package/src/filiale/zhoukou/system.js +6 -6
  151. package/src/index.js +7 -7
  152. package/src/plugins/EncryptUtil.js +53 -53
  153. package/src/plugins/GetLoginInfoService.js +536 -536
  154. package/src/plugins/HeatGetLoginInfoService.js +491 -491
  155. package/src/plugins/validation.js +15 -15
  156. package/src/project/ProjectPage.vue +24 -24
  157. package/src/project/State.js +17 -17
  158. package/src/stores/AppData.js +38 -38
  159. package/src/stores/HeatAppData.js +38 -38
  160. package/src/styles/fonts/glyphicons-halflings-regular.svg +288 -288
  161. package/src/styles/less/.csscomb.json +304 -304
  162. package/src/styles/less/.csslintrc +19 -19
  163. package/src/styles/less/alerts.less +73 -73
  164. package/src/styles/less/aofeng/animate.min.css +10 -10
  165. package/src/styles/less/aofeng/expandcss.less +569 -569
  166. package/src/styles/less/aofeng/login.less +367 -367
  167. package/src/styles/less/aofeng/standard.less +2507 -2507
  168. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +690 -690
  169. package/src/styles/less/aofeng/themeOne/loginStyle.less +1586 -1586
  170. package/src/styles/less/aofeng/themeOne/systemStyle.less +2650 -2650
  171. package/src/styles/less/aofeng/themeOne.less +17 -17
  172. package/src/styles/less/aofeng/themeTwo/newStyle1.less +415 -415
  173. package/src/styles/less/aofeng/themeTwo.less +3 -3
  174. package/src/styles/less/badges.less +66 -66
  175. package/src/styles/less/bootstrap.less +66 -66
  176. package/src/styles/less/breadcrumbs.less +26 -26
  177. package/src/styles/less/button-groups.less +247 -247
  178. package/src/styles/less/buttons.less +172 -172
  179. package/src/styles/less/carousel.less +269 -269
  180. package/src/styles/less/close.less +34 -34
  181. package/src/styles/less/code.less +69 -69
  182. package/src/styles/less/component-animations.less +33 -33
  183. package/src/styles/less/dropdowns.less +216 -216
  184. package/src/styles/less/fonts-list.less +25 -25
  185. package/src/styles/less/forms.less +626 -626
  186. package/src/styles/less/glyphicons.less +305 -305
  187. package/src/styles/less/grid.less +84 -84
  188. package/src/styles/less/input-groups.less +167 -167
  189. package/src/styles/less/jumbotron.less +52 -52
  190. package/src/styles/less/labels.less +64 -64
  191. package/src/styles/less/list-group.less +141 -141
  192. package/src/styles/less/manageStyle/manageChile.less +180 -180
  193. package/src/styles/less/manageStyle/manageStyle/manageChile.less +180 -180
  194. package/src/styles/less/manageStyle/manageStyle/manageStyle.less +1102 -1102
  195. package/src/styles/less/manageStyle/manageStyle/safeStyle.less +498 -498
  196. package/src/styles/less/manageStyle/manageStyle.less +1102 -1102
  197. package/src/styles/less/manageStyle/safeStyle.less +498 -498
  198. package/src/styles/less/media.less +66 -66
  199. package/src/styles/less/mixins/alerts.less +14 -14
  200. package/src/styles/less/mixins/background-variant.less +9 -9
  201. package/src/styles/less/mixins/border-radius.less +18 -18
  202. package/src/styles/less/mixins/buttons.less +69 -69
  203. package/src/styles/less/mixins/center-block.less +7 -7
  204. package/src/styles/less/mixins/clearfix.less +22 -22
  205. package/src/styles/less/mixins/forms.less +90 -90
  206. package/src/styles/less/mixins/gradients.less +59 -59
  207. package/src/styles/less/mixins/grid-framework.less +92 -92
  208. package/src/styles/less/mixins/grid.less +122 -122
  209. package/src/styles/less/mixins/hide-text.less +21 -21
  210. package/src/styles/less/mixins/image.less +33 -33
  211. package/src/styles/less/mixins/labels.less +12 -12
  212. package/src/styles/less/mixins/list-group.less +30 -30
  213. package/src/styles/less/mixins/nav-divider.less +10 -10
  214. package/src/styles/less/mixins/nav-vertical-align.less +9 -9
  215. package/src/styles/less/mixins/opacity.less +8 -8
  216. package/src/styles/less/mixins/pagination.less +24 -24
  217. package/src/styles/less/mixins/panels.less +24 -24
  218. package/src/styles/less/mixins/progress-bar.less +10 -10
  219. package/src/styles/less/mixins/reset-filter.less +8 -8
  220. package/src/styles/less/mixins/reset-text.less +18 -18
  221. package/src/styles/less/mixins/resize.less +6 -6
  222. package/src/styles/less/mixins/responsive-visibility.less +15 -15
  223. package/src/styles/less/mixins/size.less +10 -10
  224. package/src/styles/less/mixins/tab-focus.less +9 -9
  225. package/src/styles/less/mixins/table-row.less +44 -44
  226. package/src/styles/less/mixins/text-emphasis.less +9 -9
  227. package/src/styles/less/mixins/text-overflow.less +8 -8
  228. package/src/styles/less/mixins/vendor-prefixes.less +227 -227
  229. package/src/styles/less/mixins.less +40 -40
  230. package/src/styles/less/modals.less +151 -151
  231. package/src/styles/less/navbar.less +660 -660
  232. package/src/styles/less/navs.less +285 -285
  233. package/src/styles/less/normalize.less +424 -424
  234. package/src/styles/less/pager.less +76 -76
  235. package/src/styles/less/pagination.less +89 -89
  236. package/src/styles/less/panels.less +275 -275
  237. package/src/styles/less/popovers.less +131 -131
  238. package/src/styles/less/print.less +101 -101
  239. package/src/styles/less/progress-bars.less +87 -87
  240. package/src/styles/less/responsive-embed.less +35 -35
  241. package/src/styles/less/responsive-utilities.less +194 -194
  242. package/src/styles/less/scaffolding.less +161 -161
  243. package/src/styles/less/stand.less +207 -207
  244. package/src/styles/less/tables.less +312 -312
  245. package/src/styles/less/theme.less +291 -291
  246. package/src/styles/less/thumbnails.less +36 -36
  247. package/src/styles/less/tooltip.less +102 -102
  248. package/src/styles/less/type.less +316 -316
  249. package/src/styles/less/utilities.less +55 -55
  250. package/src/styles/less/variables.less +899 -899
  251. package/src/styles/less/wells.less +29 -29
  252. package/src/system.js +121 -121
  253. package/src/systemphone.js +11 -11
  254. package/src/util/Daiban.json +12 -12
  255. package/src/util/LdapHelper.js +75 -75
  256. package/test/e2e/custom-assertions/elementCount.js +26 -26
  257. package/test/e2e/nightwatch.conf.js +40 -40
  258. package/test/e2e/runner.js +30 -30
  259. package/test/e2e/specs/test.js +14 -14
  260. package/test/unit/.eslintrc +5 -5
  261. package/test/unit/index.js +13 -13
  262. package/test/unit/init.js +10 -10
  263. package/test/unit/karma.conf.js +49 -49
  264. package/test/unit/specs/base64.spec.js +5 -5
  265. package/test/unit/specs/components/parammanage/ParamPage.spec.js +20 -20
  266. package/test/unit/specs/components/parammanage/SinglePage.spec.js +20 -20
  267. package/test/unit/specs/components/server/LeftTree/App.vue +18 -18
  268. package/test/unit/specs/components/server/LeftTree/LeftTree.spec.js +22 -22
  269. package/test/unit/specs/components/server/LoadData.spec.js +24 -24
  270. package/test/unit/specs/components/server/Login.spec.js +61 -61
  271. package/test/unit/specs/components/server/RightTree.spec.js +50 -50
  272. package/test/unit/specs/plugins/GetLoginInfoService.spec.js +55 -55
  273. package/test/unit/test.html +76 -76
  274. package/yarn-error.log +6896 -6896
@@ -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
+ }