_dropdowns.less 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954
  1. // /**
  2. // * Copyright © Magento, Inc. All rights reserved.
  3. // * See COPYING.txt for license details.
  4. // */
  5. // # Drop-down and split buttons mixins
  6. //
  7. // Magento UI library provides mixins for 2 types of drop-downs: the <code>.lib-dropdown()</code> mixin for drop-down and the <code>.lib-dropdown-split()</code> mixin for split button.
  8. //
  9. // # Drop-down
  10. //
  11. // In Magento UI library the dropdown does not depend on the toggle tag. To toggle the drop-down, the corresponding tag must have <code>class="action toggle"</code>.
  12. //
  13. // ## Button tag drop-down toggle
  14. //
  15. // To implement a drop-down using a button + drop-down, use the following markup:
  16. //
  17. // ```html
  18. // <div class="actions dropdown example-dropdown-1">
  19. // <button class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  20. // <span>button + dropdown</span>
  21. // </button>
  22. // <ul class="dropdown">
  23. // <li>
  24. // <span class="item">One</span>
  25. // </li>
  26. // <li>
  27. // <span class="item">Two</span>
  28. // </li>
  29. // <li>
  30. // <span class="item">Three</span>
  31. // </li>
  32. // </ul>
  33. // </div>
  34. // ```
  35. .example-dropdown-1 {
  36. .lib-dropdown();
  37. }
  38. // ## Span tag drop-down toggle
  39. //
  40. // To implement a drop-down using a span + drop-down, use the following markup:
  41. //
  42. // ```html
  43. // <div class="example-dropdown-2">
  44. // <span class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  45. // <span>span + dropdown</span>
  46. // </span>
  47. // <ul class="dropdown">
  48. // <li>
  49. // <span class="item">One</span>
  50. // </li>
  51. // <li>
  52. // <span class="item">Two</span>
  53. // </li>
  54. // <li>
  55. // <span class="item">Three</span>
  56. // </li>
  57. // </ul>
  58. // </div>
  59. // ```
  60. .example-dropdown-2 {
  61. .lib-dropdown();
  62. }
  63. // # Drop-down variables
  64. // <pre>
  65. // <table>
  66. // <tr>
  67. // <th class="vars_head">Mixin variable</th>
  68. // <th class="vars_head">Global variable</th>
  69. // <th class="vars_head">Default value</th>
  70. // <th class="vars_head">Allowed values</th>
  71. // <th class="vars_head">Comment</th>
  72. // </tr>
  73. // <tr>
  74. // <th>@_toggle-selector</th>
  75. // <td>-</td>
  76. // <td class="vars_value">~".action.toggle"</td>
  77. // <td class="vars_value">Selector</td>
  78. // <td>Toggle selector</td>
  79. // </tr>
  80. // <tr>
  81. // <th>@_options-selector</th>
  82. // <td>-</td>
  83. // <td class="vars_value">~"ul.dropdown"</td>
  84. // <td class="vars_value">Selector</td>
  85. // <td>Options selector</td>
  86. // </tr>
  87. // <tr>
  88. // <th>@_dropdown-actions-padding</th>
  89. // <td>@dropdown-actions__padding</td>
  90. // <td class="vars_value">false</td>
  91. // <td class="vars_value">'' | false | value</td>
  92. // <td>Drop-down toggle element padding</td>
  93. // </tr>
  94. // <tr>
  95. // <th>@_dropdown-list-min-width</th>
  96. // <td>@dropdown-list__min-width</td>
  97. // <td class="vars_value">100%</td>
  98. // <td class="vars_value">'' | false | value</td>
  99. // <td>Drop-down min width value</td>
  100. // </tr>
  101. // <tr>
  102. // <th>@_dropdown-list-width</th>
  103. // <td>@dropdown-list__width</td>
  104. // <td class="vars_value">false</td>
  105. // <td class="vars_value">'' | false | value</td>
  106. // <td>Drop-down list width value</td>
  107. // </tr>
  108. // <tr>
  109. // <th>@_dropdown-list-height</th>
  110. // <td>@dropdown-list__height</td>
  111. // <td class="vars_value">false</td>
  112. // <td class="vars_value">'' | false | value</td>
  113. // <td>Drop-down list height value</td>
  114. // </tr>
  115. // <tr>
  116. // <th>@_dropdown-list-margin-top</th>
  117. // <td>@dropdown-list__margin-top</td>
  118. // <td class="vars_value">4px</td>
  119. // <td class="vars_value">'' | false | value</td>
  120. // <td>Drop-down list margin-top value</td>
  121. // </tr>
  122. // <tr>
  123. // <th colspan="5" class="vars_section">Drop-down list</th>
  124. // </tr>
  125. // <tr>
  126. // <th>@_dropdown-list-position-top</th>
  127. // <td>@dropdown-list__position-top</td>
  128. // <td class="vars_value">100%</td>
  129. // <td class="vars_value">'' | false | value</td>
  130. // <td>Drop-down list position: top</td>
  131. // </tr>
  132. // <tr>
  133. // <th>@_dropdown-list-position-right</th>
  134. // <td>@dropdown-list__position-right</td>
  135. // <td class="vars_value">false</td>
  136. // <td class="vars_value">'' | false | value</td>
  137. // <td>Drop-down list position: right</td>
  138. // </tr>
  139. // <tr>
  140. // <th>@_dropdown-list-position-bottom</th>
  141. // <td>@dropdown-list__position-bottom</td>
  142. // <td class="vars_value">false</td>
  143. // <td class="vars_value">'' | false | value</td>
  144. // <td>Drop-down list position: bottom</td>
  145. // </tr>
  146. // <tr>
  147. // <th>@_dropdown-list-position-left</th>
  148. // <td>@dropdown-list__position-left</td>
  149. // <td class="vars_value">false</td>
  150. // <td class="vars_value">'' | false | value</td>
  151. // <td>Drop-down list position: left</td>
  152. // </tr>
  153. // <tr>
  154. // <th>@_dropdown-list-background</th>
  155. // <td>@dropdown-list__background</td>
  156. // <td class="vars_value">@color-white</td>
  157. // <td class="vars_value">'' | false | value</td>
  158. // <td>Drop-down list background</td>
  159. // </tr>
  160. // <tr>
  161. // <th>@_dropdown-list-border</th>
  162. // <td>@dropdown-list__border</td>
  163. // <td class="vars_value">1px solid #bbb</td>
  164. // <td class="vars_value">'' | false | value</td>
  165. // <td>Drop-down list border</td>
  166. // </tr>
  167. // <tr>
  168. // <th>@_dropdown-list-pointer</th>
  169. // <td>@dropdown-list__pointer</td>
  170. // <td class="vars_value">true</td>
  171. // <td class="vars_value">true | false</td>
  172. // <td>Drop-down list pointer is visible</td>
  173. // </tr>
  174. // <tr>
  175. // <th>@_dropdown-list-pointer-border</th>
  176. // <td>@dropdown-list-pointer__border</td>
  177. // <td class="vars_value">#bbb</td>
  178. // <td class="vars_value">'' | false | value</td>
  179. // <td>Drop-down list pointer border</td>
  180. // </tr>
  181. // <tr>
  182. // <th>@_dropdown-list-pointer-position</th>
  183. // <td>@dropdown-list-pointer__position</td>
  184. // <td class="vars_value">left</td>
  185. // <td class="vars_value">left | right</td>
  186. // <td>Drop-down pointer position</td>
  187. // </tr>
  188. // <tr>
  189. // <th>@_dropdown-list-pointer-position-top</th>
  190. // <td>@dropdown-list-pointer__position-top</td>
  191. // <td class="vars_value">-12px</td>
  192. // <td class="vars_value">value</td>
  193. // <td>Drop-down pointer top position</td>
  194. // </tr>
  195. // <tr>
  196. // <th>@_dropdown-list-pointer-position-left-right</th>
  197. // <td>@dropdown-list-pointer__position-left-right</td>
  198. // <td class="vars_value">10px</td>
  199. // <td class="vars_value">value</td>
  200. // <td>Drop-down pointer left or right position</td>
  201. // </tr>
  202. // <tr>
  203. // <th>@_dropdown-list-item-border</th>
  204. // <td>@dropdown-list-item__border</td>
  205. // <td class="vars_value">0</td>
  206. // <td class="vars_value">'' | false | value</td>
  207. // <td>Drop-down list item border</td>
  208. // </tr>
  209. // <tr>
  210. // <th>@_dropdown-list-item-padding</th>
  211. // <td>@dropdown-list-item__padding</td>
  212. // <td class="vars_value">3px @indent__xs</td>
  213. // <td class="vars_value">'' | false | value</td>
  214. // <td>Drop-down list item padding</td>
  215. // </tr>
  216. // <tr>
  217. // <th>@_dropdown-list-item-margin</th>
  218. // <td>@dropdown-list-item__margin</td>
  219. // <td class="vars_value">0</td>
  220. // <td class="vars_value">'' | false | value</td>
  221. // <td>Drop-down list item margin</td>
  222. // </tr>
  223. // <tr>
  224. // <th>@_dropdown-list-item-hover</th>
  225. // <td>@dropdown-list-item__hover</td>
  226. // <td class="vars_value">#e8e8e8</td>
  227. // <td class="vars_value">'' | false | value</td>
  228. // <td>Drop-down list item hovered background</td>
  229. // </tr>
  230. // <tr>
  231. // <th>@_dropdown-list-shadow</th>
  232. // <td>@dropdown-list__shadow</td>
  233. // <td class="vars_value">0 3px 3px rgba(0,0,0,.15)</td>
  234. // <td class="vars_value">'' | false | value</td>
  235. // <td>Drop-down list shadow</td>
  236. // </tr>
  237. // <tr>
  238. // <th>@_dropdown-list-z-index</th>
  239. // <td>@dropdown-list__z-index</td>
  240. // <td class="vars_value">100</td>
  241. // <td class="vars_value">'' | false | value</td>
  242. // <td>Drop-down list z-index</td>
  243. // </tr>
  244. // <tr>
  245. // <th colspan="5" class="vars_section">Drop-down icon</th>
  246. // </tr>
  247. // <tr>
  248. // <th>@_dropdown-toggle-icon-content</th>
  249. // <td>@dropdown-toggle-icon__content</td>
  250. // <td class="vars_value">@icon-pointer-down</td>
  251. // <td class="vars_value">'' | false | value</td>
  252. // <td>Drop-down toggle icon symbol code for default state</td>
  253. // </tr>
  254. // <tr>
  255. // <th nowrap>@_dropdown-toggle-active-icon-content</th>
  256. // <td>@dropdown-toggle-icon__active__content</td>
  257. // <td class="vars_value">@icon-pointer-up</td>
  258. // <td class="vars_value">'' | false | value</td>
  259. // <td>Drop-down toggle icon symbol code for active state</td>
  260. // </tr>
  261. // <tr>
  262. // <th>@_icon-font</th>
  263. // <td>@dropdown-toggle-icon__font</td>
  264. // <td class="vars_value">@button-icon__font</td>
  265. // <td class="vars_value">'' | false | value</td>
  266. // <td>Drop-down toggle icon font</td>
  267. // </tr>
  268. // <tr>
  269. // <th>@_icon-font-size</th>
  270. // <td>@dropdown-toggle-icon__font-size</td>
  271. // <td class="vars_value">@button-icon__font-size</td>
  272. // <td class="vars_value">'' | false | value</td>
  273. // <td>Drop-down toggle icon font size</td>
  274. // </tr>
  275. // <tr>
  276. // <th>@_icon-font-line-height</th>
  277. // <td>@dropdown-toggle-icon__font-line-height</td>
  278. // <td class="vars_value">@button-icon__line-height</td>
  279. // <td class="vars_value">'' | false | value</td>
  280. // <td>Drop-down toggle icon line height</td>
  281. // </tr>
  282. // <tr>
  283. // <th>@_icon-font-color</th>
  284. // <td>@dropdown-toggle-icon__font-color</td>
  285. // <td class="vars_value">@button-icon__color</td>
  286. // <td class="vars_value">'' | false | value</td>
  287. // <td>Drop-down toggle icon color</td>
  288. // </tr>
  289. // <tr>
  290. // <th>@_icon-font-color-hover</th>
  291. // <td>@dropdown-toggle-icon__font-color-hover</td>
  292. // <td class="vars_value">@button-icon__hover__font-color</td>
  293. // <td class="vars_value">'' | false | value</td>
  294. // <td>Drop-down toggle icon hovered color</td>
  295. // </tr>
  296. // <tr>
  297. // <th>@_icon-font-color-active</th>
  298. // <td>@dropdown-toggle-icon__font-color-active</td>
  299. // <td class="vars_value">@button-icon__active__font-color</td>
  300. // <td class="vars_value">'' | false | value</td>
  301. // <td>Drop-down toggle icon active color</td>
  302. // </tr>
  303. // <tr>
  304. // <th>@_icon-font-margin</th>
  305. // <td>@dropdown-toggle-icon__font-margin</td>
  306. // <td class="vars_value">@button-icon__margin</td>
  307. // <td class="vars_value">'' | false | value</td>
  308. // <td>Drop-down toggle icon margin</td>
  309. // </tr>
  310. // <tr>
  311. // <th>@_icon-font-position</th>
  312. // <td>@dropdown-toggle-icon__position</td>
  313. // <td class="vars_value">after</td>
  314. // <td class="vars_value">before | after</td>
  315. // <td>Drop-down toggle icon position</td>
  316. // </tr>
  317. // <tr>
  318. // <th>@_icon-font-vertical-align</th>
  319. // <td>@dropdown-toggle-icon__font-vertical-align</td>
  320. // <td class="vars_value" nowrap="nowrap">@button-icon__vertical-align</td>
  321. // <td class="vars_value">'' | false | value</td>
  322. // <td>Drop-down toggle icon vertical align</td>
  323. // </tr>
  324. // <tr>
  325. // <th>@_icon-font-text-hide</th>
  326. // <td>@dropdown-toggle-icon__text-hide</td>
  327. // <td class="vars_value">@button-icon__text-hide</td>
  328. // <td class="vars_value">true | false</td>
  329. // <td>Text in the tag, that contains icon, is hidden</td>
  330. // </tr>
  331. // </table>
  332. // </pre>
  333. //
  334. // # Drop-down with icon customization
  335. //
  336. // To customize drop-down icon symbol, specify variables for default state icon code and active state icon code:
  337. // ```css
  338. // @_dropdown-toggle-icon-content: @icon-expand,
  339. // @_dropdown-toggle-active-icon-content: @icon-collapse
  340. // ```
  341. // The <code>.lib-dropdown()</code> mixin uses the <code>.icon-font()</code> mixin to display and customize toggle icon. More information about <code>.icon-font()</code> mixin parameters you can find at the **Icons** page
  342. //
  343. // ```html
  344. // <div class="actions dropdown example-dropdown-3">
  345. // <span class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  346. // <span>span + dropdown</span>
  347. // </span>
  348. // <ul class="dropdown">
  349. // <li>
  350. // <span class="item">One</span>
  351. // </li>
  352. // <li>
  353. // <span class="item">Two</span>
  354. // </li>
  355. // <li>
  356. // <span class="item">Three</span>
  357. // </li>
  358. // </ul>
  359. // </div>
  360. // ```
  361. .example-dropdown-3 {
  362. .lib-dropdown(
  363. @_dropdown-toggle-icon-content: @icon-expand,
  364. @_dropdown-toggle-active-icon-content: @icon-collapse,
  365. @_icon-font-line-height: 1,
  366. @_icon-font-position: before,
  367. @_icon-font-color: #f00,
  368. @_icon-font-color-hover: #f00
  369. );
  370. }
  371. // # Modify dropdown list styles
  372. //
  373. // You can customize dropdown list style
  374. //
  375. // ```html
  376. // <div class="actions dropdown example-dropdown-5">
  377. // <span class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  378. // <span>span + dropdown</span>
  379. // </span>
  380. // <ul class="dropdown">
  381. // <li>
  382. // <span class="item">One</span>
  383. // </li>
  384. // <li>
  385. // <span class="item">Two</span>
  386. // </li>
  387. // <li>
  388. // <span class="item">Three</span>
  389. // </li>
  390. // </ul>
  391. // </div>
  392. // ```
  393. .example-dropdown-5 {
  394. .lib-dropdown(
  395. @_dropdown-list-pointer: false,
  396. @_dropdown-list-background: #eef1f3,
  397. @_dropdown-list-item-hover: #d8e3e3,
  398. @_dropdown-list-border: 2px solid #ced1d4,
  399. @_dropdown-list-item-padding: 10px,
  400. @_dropdown-list-item-border: 2px solid #e8eaed,
  401. @_dropdown-list-shadow: none,
  402. @_icon-font-line-height: 1
  403. );
  404. }
  405. // # Split button
  406. //
  407. // Split button can be formed of two buttons or a link and a button. The first element (link or button) must have <code>class="action split"</code>, the toggle element must have <code>class="action toggle"</code>.
  408. //
  409. // ## Split button: button+button
  410. //
  411. // ```html
  412. // <div class="actions split example-dropdown-6">
  413. // <button class="action split">
  414. // <span>Spit button</span>
  415. // </button>
  416. // <button class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  417. // <span>Select</span>
  418. // </button>
  419. // <ul class="dropdown">
  420. // <li>
  421. // <span class="item">One</span>
  422. // </li>
  423. // <li>
  424. // <span class="item">Two</span>
  425. // </li>
  426. // <li>
  427. // <span class="item">Three</span>
  428. // </li>
  429. // </ul>
  430. // </div>
  431. // ```
  432. //
  433. // ## Split button: link+button
  434. //
  435. // ```html
  436. // <div class="actions split example-dropdown-7">
  437. // <a href="#" class="action split">
  438. // <span>Spit button</span>
  439. // </a>
  440. // <button class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  441. // <span>Select</span>
  442. // </button>
  443. // <ul class="dropdown">
  444. // <li>
  445. // <span class="item">One</span>
  446. // </li>
  447. // <li>
  448. // <span class="item">Two</span>
  449. // </li>
  450. // <li>
  451. // <span class="item">Three</span>
  452. // </li>
  453. // </ul>
  454. // </div>
  455. // ```
  456. .example-dropdown-6 {
  457. .lib-dropdown-split(
  458. @_dropdown-split-button-border-radius-fix: true
  459. );
  460. }
  461. .split.example-dropdown-7 {
  462. .lib-dropdown-split();
  463. }
  464. // # Split button variables
  465. //
  466. // <pre>
  467. // <table>
  468. // <tr>
  469. // <th class="vars_head">Mixin variable</th>
  470. // <th class="vars_head">Global variable</th>
  471. // <th class="vars_head">Default value</th>
  472. // <th class="vars_head">Allowed values</th>
  473. // <th class="vars_head">Comment</th>
  474. // </tr>
  475. // <tr>
  476. // <th>@_toggle-selector</th>
  477. // <td>-</td>
  478. // <td class="vars_value">~".action.toggle"</td>
  479. // <td class="vars_value">selector</td>
  480. // <td>Split button action toggle selector</td>
  481. // </tr>
  482. // <tr>
  483. // <th>@_options-selector</th>
  484. // <td>-</td>
  485. // <td class="vars_value">~"ul.dropdown"</td>
  486. // <td class="vars_value">selector</td>
  487. // <td>Split button options selector</td>
  488. // </tr>
  489. // <tr>
  490. // <th>@_button-selector</th>
  491. // <td>-</td>
  492. // <td class="vars_value">~".action.split"</td>
  493. // <td class="vars_value">selector</td>
  494. // <td>Split button selector</td>
  495. // </tr>
  496. // <tr>
  497. // <th>@_dropdown-split-actions-padding</th>
  498. // <td>@dropdown-split-actions__padding</td>
  499. // <td class="vars_value">0 @indent__xs</td>
  500. // <td class="vars_value">'' | false | value</td>
  501. // <td>Split button toggle element padding</td>
  502. // </tr>
  503. // <tr>
  504. // <th>@_dropdown-split-button-actions-padding</th>
  505. // <td>@dropdown-split-button__actions__padding</td>
  506. // <td class="vars_value">false</td>
  507. // <td class="vars_value">'' | false | value</td>
  508. // <td>Split button actions padding</td>
  509. // </tr>
  510. // <tr>
  511. // <th>@_dropdown-split-toggle-actions-padding</th>
  512. // <td>@dropdown-split-toggle__actions__padding</td>
  513. // <td class="vars_value">4px @indent__xs</td>
  514. // <td class="vars_value">'' | false | value</td>
  515. // <td>Split button toggle padding</td>
  516. // </tr>
  517. // <tr>
  518. // <th>@_dropdown-split-toggle-position</th>
  519. // <td>@dropdown-split-toggle__position</td>
  520. // <td class="vars_value">right</td>
  521. // <td class="vars_value">'' | false | value</td>
  522. // <td>Split button toggle element position</td>
  523. // </tr>
  524. // <tr>
  525. // <th colspan="5" class="vars_section">Drop-down list</th>
  526. // </tr>
  527. // <tr>
  528. // <th>@_dropdown-split-list-min-width</th>
  529. // <td>@dropdown-split-list__min-width</td>
  530. // <td class="vars_value">100%</td>
  531. // <td class="vars_value">'' | false | value</td>
  532. // <td>Split button min width</td>
  533. // </tr>
  534. // <tr>
  535. // <th>@_dropdown-split-list-width</th>
  536. // <td>@dropdown-split-list__width</td>
  537. // <td class="vars_value">100%</td>
  538. // <td class="vars_value">'' | false | value</td>
  539. // <td>Split button width</td>
  540. // </tr>
  541. // <tr>
  542. // <th>@_dropdown-split-list-height</th>
  543. // <td>@dropdown-split-list__height</td>
  544. // <td class="vars_value">false</td>
  545. // <td class="vars_value">'' | false | value</td>
  546. // <td>Split button height</td>
  547. // </tr>
  548. // <tr>
  549. // <th>@_dropdown-split-list-margin-top</th>
  550. // <td>@dropdown-split-list__margin-top</td>
  551. // <td class="vars_value">4px</td>
  552. // <td class="vars_value">'' | false | value</td>
  553. // <td>Split button margin-top</td>
  554. // </tr>
  555. // <tr>
  556. // <th>@_dropdown-split-list-position-top</th>
  557. // <td>@dropdown-split-list__position-top</td>
  558. // <td class="vars_value">@dropdown-list__position-top</td>
  559. // <td class="vars_value">'' | false | value</td>
  560. // <td>Split button drop-down list position: top</td>
  561. // </tr>
  562. // <tr>
  563. // <th>@_dropdown-split-list-position-right</th>
  564. // <td>@dropdown-split-list__position-right</td>
  565. // <td class="vars_value">@dropdown-list__position-right</td>
  566. // <td class="vars_value">'' | false | value</td>
  567. // <td>Split button drop-down list position: right</td>
  568. // </tr>
  569. // <tr>
  570. // <th>@_dropdown-split-list-position-bottom</th>
  571. // <td>@dropdown-split-list__position-bottom</td>
  572. // <td class="vars_value">@dropdown-list__position-bottom</td>
  573. // <td class="vars_value">'' | false | value</td>
  574. // <td>Split button drop-down list position: bottom</td>
  575. // </tr>
  576. // <tr>
  577. // <th>@_dropdown-split-list-position-left</th>
  578. // <td>@dropdown-split-list__position-left</td>
  579. // <td class="vars_value">@dropdown-list__position-left</td>
  580. // <td class="vars_value">'' | false | value</td>
  581. // <td>Split button drop-down list position: left</td>
  582. // </tr>
  583. // <tr>
  584. // <th>@_dropdown-split-list-background</th>
  585. // <td>@dropdown-split-list__background</td>
  586. // <td class="vars_value">@dropdown-list__background</td>
  587. // <td class="vars_value">'' | false | value</td>
  588. // <td>Split button drop-down background</td>
  589. // </tr>
  590. // <tr>
  591. // <th>@_dropdown-split-list-border</th>
  592. // <td>@dropdown-split-list__border</td>
  593. // <td class="vars_value">@dropdown-list__border</td>
  594. // <td class="vars_value">'' | false | value</td>
  595. // <td>Split button drop-down border</td>
  596. // </tr>
  597. // <tr>
  598. // <th>@_dropdown-split-list-pointer</th>
  599. // <td>@dropdown-split-list__pointer</td>
  600. // <td class="vars_value">@dropdown-list__pointer</td>
  601. // <td class="vars_value">'' | false | value</td>
  602. // <td>Split button drop-down list pointer</td>
  603. // </tr>
  604. // <tr>
  605. // <th>@_dropdown-split-list-pointer-border</th>
  606. // <td>@dropdown-split-list__pointer-border</td>
  607. // <td class="vars_value">@dropdown-list-pointer__border</td>
  608. // <td class="vars_value">'' | false | value</td>
  609. // <td>Split button drop-down list pointer border</td>
  610. // </tr>
  611. // <tr>
  612. // <th>@_dropdown-split-button-border-radius-fix</th>
  613. // <td>@dropdown-split-button__border-radius-fix</td>
  614. // <td class="vars_value">false</td>
  615. // <td class="vars_value">true | false</td>
  616. // <td>Split button drop-down list item border</td>
  617. // </tr>
  618. // <tr>
  619. // <th>@_dropdown-split-list-item-border</th>
  620. // <td>@dropdown-split-list__item-border</td>
  621. // <td class="vars_value">@dropdown-list-item__border</td>
  622. // <td class="vars_value">'' | false | value</td>
  623. // <td>Split button drop-down list item border</td>
  624. // </tr>
  625. // <tr>
  626. // <th>@_dropdown-split-list-item-padding</th>
  627. // <td>@dropdown-split-list__item-padding</td>
  628. // <td class="vars_value">@dropdown-list-item__padding</td>
  629. // <td class="vars_value">'' | false | value</td>
  630. // <td>Split button drop-down list item padding</td>
  631. // </tr>
  632. // <tr>
  633. // <th>@_dropdown-split-list-item-margin</th>
  634. // <td>@dropdown-split-list__item-margin</td>
  635. // <td class="vars_value">@dropdown-list-item__margin</td>
  636. // <td class="vars_value">'' | false | value</td>
  637. // <td>Split button drop-down list item margin</td>
  638. // </tr>
  639. // <tr>
  640. // <th>@_dropdown-split-list-item-hover</th>
  641. // <td>@dropdown-split-list__item-hover</td>
  642. // <td class="vars_value">@dropdown-list-item__hover</td>
  643. // <td class="vars_value">'' | false | value</td>
  644. // <td>Split button drop-down list item hovered background</td>
  645. // </tr>
  646. // <tr>
  647. // <th>@_dropdown-split-list-pointer-position</th>
  648. // <td>@dropdown-split-list__pointer-position</td>
  649. // <td class="vars_value">right</td>
  650. // <td class="vars_value">left | right</td>
  651. // <td>Split button drop-down list pointer position</td>
  652. // </tr>
  653. // <tr>
  654. // <th>@_dropdown-split-list-pointer-position-top</th>
  655. // <td>@dropdown-split-list__pointer-position-top</td>
  656. // <td class="vars_value">-12px</td>
  657. // <td class="vars_value">'' | false | value</td>
  658. // <td>Split button drop-down list pointer position top</td>
  659. // </tr>
  660. // <tr>
  661. // <th>@_dropdown-split-list-pointer-position-left-right</th>
  662. // <td>@dropdown-split-list__pointer-position-left-right</td>
  663. // <td class="vars_value">10px</td>
  664. // <td class="vars_value">'' | false | value</td>
  665. // <td>Split button drop-down list pointer left or right position</td>
  666. // </tr>
  667. // <tr>
  668. // <th>@_dropdown-split-list-shadow</th>
  669. // <td>@dropdown-split-list__shadow</td>
  670. // <td class="vars_value">@dropdown-list__shadow</td>
  671. // <td class="vars_value">'' | false | value</td>
  672. // <td>Split button drop-down list shadow</td>
  673. // </tr>
  674. // <tr>
  675. // <th>@_dropdown-split-list-z-index</th>
  676. // <td>@dropdown-split-list__z-index</td>
  677. // <td class="vars_value">@dropdown-list__z-index</td>
  678. // <td class="vars_value">'' | false | value</td>
  679. // <td>Split button drop-down list z-index</td>
  680. // </tr>
  681. // <tr>
  682. // <th colspan="5" class="vars_section">Dropdown icon</th>
  683. // </tr>
  684. // <tr>
  685. // <th>@_dropdown-split-toggle-icon-content</th>
  686. // <td>@dropdown-split-toggle-icon__content</td>
  687. // <td class="vars_value">@dropdown-toggle-icon__content</td>
  688. // <td class="vars_value">'' | false | value</td>
  689. // <td>Split button drop-down toggle icon - default state</td>
  690. // </tr>
  691. // <tr>
  692. // <th nowrap="nowrap">@_dropdown-split-toggle-active-icon-content</th>
  693. // <td>@dropdown-split-toggle-icon__active__content</td>
  694. // <td class="vars_value" nowrap="nowrap">@dropdown-toggle-icon__active__content</td>
  695. // <td class="vars_value">'' | false | value</td>
  696. // <td>Split button drop-down toggle icon - active state</td>
  697. // </tr>
  698. // <tr>
  699. // <th>@_icon-font</th>
  700. // <td>@dropdown-split-toggle-icon__font</td>
  701. // <td class="vars_value">@button-icon__font</td>
  702. // <td class="vars_value">'' | false | value</td>
  703. // <td>Split button drop-down toggle icon font</td>
  704. // </tr>
  705. // <tr>
  706. // <th>@_icon-font-size</th>
  707. // <td>@dropdown-split-toggle-icon__font-size</td>
  708. // <td class="vars_value">@button-icon__font-size</td>
  709. // <td class="vars_value">'' | false | value</td>
  710. // <td>Split button drop-down toggle icon font size</td>
  711. // </tr>
  712. // <tr>
  713. // <th>@_icon-font-line-height</th>
  714. // <td>@dropdown-split-toggle-icon__font-line-height</td>
  715. // <td class="vars_value">@button-icon__line-height</td>
  716. // <td class="vars_value">'' | false | value</td>
  717. // <td>Split button drop-down toggle icon line height</td>
  718. // </tr>
  719. // <tr>
  720. // <th>@_icon-font-color</th>
  721. // <td>@dropdown-split-toggle-icon__font-color</td>
  722. // <td class="vars_value">@button-icon__color</td>
  723. // <td class="vars_value">'' | false | value</td>
  724. // <td>Split button drop-down toggle icon color</td>
  725. // </tr>
  726. // <tr>
  727. // <th>@_icon-font-color-hover</th>
  728. // <td>@dropdown-split-toggle-icon__font-color-hover</td>
  729. // <td class="vars_value">@button-icon__hover__font-color</td>
  730. // <td class="vars_value">'' | false | value</td>
  731. // <td>Split button drop-down toggle icon hovered color</td>
  732. // </tr>
  733. // <tr>
  734. // <th>@_icon-font-color-active</th>
  735. // <td>@dropdown-split-toggle-icon__font-color-active</td>
  736. // <td class="vars_value">@button-icon__active__font-color</td>
  737. // <td class="vars_value">'' | false | value</td>
  738. // <td>Split button drop-down toggle icon active color</td>
  739. // </tr>
  740. // <tr>
  741. // <th>@_icon-font-margin</th>
  742. // <td>@dropdown-split-toggle-icon__font-margin</td>
  743. // <td class="vars_value">@button-icon__margin</td>
  744. // <td class="vars_value">'' | false | value</td>
  745. // <td>Split button drop-down toggle icon margin</td>
  746. // </tr>
  747. // <tr>
  748. // <th>@_icon-font-position</th>
  749. // <td>@dropdown-split-toggle-icon__position</td>
  750. // <td class="vars_value">after</td>
  751. // <td class="vars_value">before | after</td>
  752. // <td>Split button drop-down toggle icon position</td>
  753. // </tr>
  754. // <tr>
  755. // <th>@_icon-font-vertical-align</th>
  756. // <td>@dropdown-split-toggle-icon__font-vertical-align</td>
  757. // <td class="vars_value" nowrap="nowrap">@button-icon__vertical-align</td>
  758. // <td class="vars_value">'' | false | value</td>
  759. // <td>Split button drop-down toggle icon vertical align</td>
  760. // </tr>
  761. // <tr>
  762. // <th>@_icon-font-text-hide</th>
  763. // <td>@dropdown-split-toggle-icon__text-hide</td>
  764. // <td class="vars_value">@button-icon__text-hide</td>
  765. // <td class="vars_value">true | false</td>
  766. // <td>The text in the toggle tag is hidden</td>
  767. // </tr>
  768. // </table>
  769. // </pre>
  770. // #Split button - button styling
  771. //
  772. // Split buttons can be customized the same way as all types of buttons from Magento UI library.
  773. //
  774. // **Regular button:**
  775. //
  776. // ```html
  777. // <div class="actions split example-dropdown-8">
  778. // <button class="action split">
  779. // <span>Spit button</span>
  780. // </button>
  781. // <button class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  782. // <span>Select</span>
  783. // </button>
  784. // <ul class="dropdown">
  785. // <li>
  786. // <span class="item">One</span>
  787. // </li>
  788. // <li>
  789. // <span class="item">Two</span>
  790. // </li>
  791. // <li>
  792. // <span class="item">Three</span>
  793. // </li>
  794. // </ul>
  795. // </div>
  796. // ```
  797. //
  798. // **Big button:**
  799. //
  800. // ```html
  801. // <div class="actions split example-dropdown-9">
  802. // <button class="action split">
  803. // <span>Spit button</span>
  804. // </button>
  805. // <button class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  806. // <span>Select</span>
  807. // </button>
  808. // <ul class="dropdown">
  809. // <li>
  810. // <span class="item">One</span>
  811. // </li>
  812. // <li>
  813. // <span class="item">Two</span>
  814. // </li>
  815. // <li>
  816. // <span class="item">Three</span>
  817. // </li>
  818. // </ul>
  819. // </div>
  820. // ```
  821. //
  822. // **Small button:**
  823. //
  824. // ```html
  825. // <div class="actions split example-dropdown-10">
  826. // <button class="action split">
  827. // <span>Spit button</span>
  828. // </button>
  829. // <button class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  830. // <span>Select</span>
  831. // </button>
  832. // <ul class="dropdown">
  833. // <li>
  834. // <span class="item">One</span>
  835. // </li>
  836. // <li>
  837. // <span class="item">Two</span>
  838. // </li>
  839. // <li>
  840. // <span class="item">Three</span>
  841. // </li>
  842. // </ul>
  843. // </div>
  844. // ```
  845. .example-dropdown-8 {
  846. .lib-dropdown-split(@_dropdown-split-button-border-radius-fix: true);
  847. }
  848. .example-dropdown-9 {
  849. .action.split,
  850. .action.toggle {
  851. .lib-button-l();
  852. }
  853. .lib-dropdown-split(@_dropdown-split-button-border-radius-fix: true);
  854. }
  855. .example-dropdown-10 {
  856. .action.split,
  857. .action.toggle {
  858. .lib-button-s();
  859. }
  860. .lib-dropdown-split(@_dropdown-split-button-border-radius-fix: true);
  861. }
  862. // # Split button icon customization
  863. //
  864. // Mixin <code>.lib-dropdown-split()</code> uses <code>.icon-font()</code> mixin to customize icon. More information about <code>.icon-font()</code> parameters you can find at **Icons** page
  865. //
  866. // ```html
  867. // <div class="actions split example-dropdown-11">
  868. // <button class="action split">
  869. // <span>Spit button</span>
  870. // </button>
  871. // <button class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  872. // <span>Select</span>
  873. // </button>
  874. // <ul class="dropdown">
  875. // <li>
  876. // <span class="item">One</span>
  877. // </li>
  878. // <li>
  879. // <span class="item">Two</span>
  880. // </li>
  881. // <li>
  882. // <span class="item">Three</span>
  883. // </li>
  884. // </ul>
  885. // </div>
  886. // ```
  887. .example-dropdown-11 {
  888. .lib-dropdown-split(
  889. @_dropdown-split-toggle-position: left,
  890. @_dropdown-split-button-border-radius-fix: true,
  891. @_dropdown-split-toggle-icon-content: @icon-expand,
  892. @_dropdown-split-toggle-active-icon-content: @icon-collapse,
  893. @_icon-font-position: before,
  894. @_icon-font-color: #f00,
  895. @_icon-font-color-hover: #f00
  896. );
  897. }
  898. // # Split button drop-down list customization
  899. //
  900. // You can customize drop-down list style
  901. //
  902. // ```html
  903. // <div class="actions split example-dropdown-12">
  904. // <button class="action split">
  905. // <span>Spit button</span>
  906. // </button>
  907. // <button class="action toggle" data-mage-init='{"dropdown":{}}' data-toggle="dropdown" aria-haspopup="true">
  908. // <span>Select</span>
  909. // </button>
  910. // <ul class="dropdown">
  911. // <li>
  912. // <span class="item">One</span>
  913. // </li>
  914. // <li>
  915. // <span class="item">Two</span>
  916. // </li>
  917. // <li>
  918. // <span class="item">Three</span>
  919. // </li>
  920. // </ul>
  921. // </div>
  922. // ```
  923. .example-dropdown-12 {
  924. .lib-dropdown-split(
  925. @_dropdown-split-list-pointer: false,
  926. @_dropdown-split-list-background: #eef1f3,
  927. @_dropdown-split-list-item-hover: #d8e3e3,
  928. @_dropdown-split-list-border: 2px solid #ced1d4,
  929. @_dropdown-split-list-item-padding: 10px,
  930. @_dropdown-split-list-item-border: 2px solid #e8eaed,
  931. @_dropdown-split-list-shadow: none,
  932. @_dropdown-split-button-border-radius-fix: true
  933. );
  934. }