Menu.scss 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074
  1. /**
  2. * @class Ext.menu.Menu
  3. */
  4. /**
  5. * @var {color/list}
  6. * Menu background-color
  7. */
  8. $menu-background-color: dynamic(null);
  9. /**
  10. * @var {color/list}
  11. * Menu border-color
  12. */
  13. $menu-border-color: dynamic($neutral-color);
  14. /**
  15. * @var {number/list}
  16. * Menu border-width
  17. */
  18. $menu-border-width: dynamic(null);
  19. /**
  20. * @var {string/list}
  21. * Menu border-style
  22. */
  23. $menu-border-style: dynamic(null);
  24. /**
  25. * @var {number/list}
  26. * Menu border-radius
  27. */
  28. $menu-border-radius: dynamic(null);
  29. /**
  30. * @var {number/list}
  31. * Menu border-radius in the {@link Global_CSS#$enable-big big} sizing scheme
  32. */
  33. $menu-border-radius-big: dynamic($menu-border-radius);
  34. /**
  35. * @var {color}
  36. * Menu body background-color
  37. */
  38. $menu-body-background-color: dynamic($menu-background-color);
  39. /**
  40. * @var {color}
  41. * Menu body text color
  42. */
  43. $menu-body-color: dynamic(null);
  44. /**
  45. * @var {color}
  46. * Menu body border-color
  47. */
  48. $menu-body-border-color: dynamic($menu-border-color);
  49. /**
  50. * @var {number/list}
  51. * Menu body border-width
  52. */
  53. $menu-body-border-width: dynamic($menu-border-width);
  54. /**
  55. * @var {number/list}
  56. * Menu body border-style
  57. */
  58. $menu-body-border-style: dynamic(null);
  59. /**
  60. * @var {string/number}
  61. * Menu body font-weight
  62. */
  63. $menu-body-font-weight: dynamic(null);
  64. /**
  65. * @var {number}
  66. * Menu body font-size
  67. */
  68. $menu-body-font-size: dynamic(null);
  69. /**
  70. * @var {number}
  71. * Menu body font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  72. */
  73. $menu-body-font-size-big: dynamic(null);
  74. /**
  75. * @var {number}
  76. * Menu body line-height
  77. */
  78. $menu-body-line-height: dynamic(null);
  79. /**
  80. * @var {number}
  81. * Menu body line-height in the {@link Global_CSS#$enable-big big} sizing scheme
  82. */
  83. $menu-body-line-height-big: dynamic(null);
  84. /**
  85. * @var {string}
  86. * Menu body font-family
  87. */
  88. $menu-body-font-family: dynamic(null);
  89. /**
  90. * @var {number/list}
  91. * Menu body padding
  92. */
  93. $menu-body-padding: dynamic(null);
  94. /**
  95. * @var {number/list}
  96. * Menu body padding in the {@link Global_CSS#$enable-big big} sizing scheme
  97. */
  98. $menu-body-padding-big: dynamic(null);
  99. /**
  100. * @var {color}
  101. * Menu Header background-color
  102. */
  103. $menu-header-background-color: dynamic(null);
  104. /**
  105. * @var {string/list}
  106. * Menu Header background-gradient. Can be either the name of a gradient defined by
  107. * {@link Global_CSS#background-gradient} or a list of color stops.
  108. */
  109. $menu-header-background-gradient: dynamic(null);
  110. /**
  111. * @var {color}
  112. * Menu Header text color
  113. */
  114. $menu-header-color: dynamic(null);
  115. /**
  116. * @var {color/list}
  117. * Menu Header border-color
  118. */
  119. $menu-header-border-color: dynamic($menu-border-color);
  120. /**
  121. * @var {number/list}
  122. * Menu Header border-width
  123. */
  124. $menu-header-border-width: dynamic($menu-border-width);
  125. /**
  126. * @var {string/list}
  127. * Menu Header border-style
  128. */
  129. $menu-header-border-style: dynamic(null);
  130. /**
  131. * @var {string/number}
  132. * Menu Header font-weight
  133. */
  134. $menu-header-font-weight: dynamic(null);
  135. /**
  136. * @var {number}
  137. * Menu Header font-size
  138. */
  139. $menu-header-font-size: dynamic(null);
  140. /**
  141. * @var {number}
  142. * Menu Header font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  143. */
  144. $menu-header-font-size-big: dynamic(null);
  145. /**
  146. * @var {number}
  147. * Menu Header line-height
  148. */
  149. $menu-header-line-height: dynamic(null);
  150. /**
  151. * @var {number}
  152. * Menu Header line-height in the {@link Global_CSS#$enable-big big} sizing scheme
  153. */
  154. $menu-header-line-height-big: dynamic(null);
  155. /**
  156. * @var {string}
  157. * Menu Header font-family
  158. */
  159. $menu-header-font-family: dynamic(null);
  160. /**
  161. * @var {number/list}
  162. * Menu Header padding
  163. */
  164. $menu-header-padding: dynamic(null);
  165. /**
  166. * @var {number/list}
  167. * Menu Header padding in the {@link Global_CSS#$enable-big big} sizing scheme
  168. */
  169. $menu-header-padding-big: dynamic(null);
  170. /**
  171. * @var {number/list}
  172. * Menu Header Title padding
  173. */
  174. $menu-header-title-padding: dynamic(null);
  175. /**
  176. * @var {number/list}
  177. * Menu Header Title padding in the {@link Global_CSS#$enable-big big} sizing scheme
  178. */
  179. $menu-header-title-padding-big: dynamic(null);
  180. /**
  181. * @var {number}
  182. * Menu Header Title opacity
  183. */
  184. $menu-header-title-opacity: dynamic(null);
  185. /**
  186. * @var {shadow}
  187. * Menu Header Shadow
  188. */
  189. $menu-header-shadow: dynamic(null);
  190. /**
  191. * @var {number}
  192. * Z-Index for the Menu Header, should be used with shadows to raise header above content
  193. */
  194. $menu-header-z-index: dynamic(null);
  195. /**
  196. * @var {number}
  197. * Menu Header min-height
  198. */
  199. $menu-header-min-height: dynamic(null);
  200. /**
  201. * @var {number}
  202. * Menu Header min-height in the {@link Global_CSS#$enable-big big} sizing scheme
  203. */
  204. $menu-header-min-height-big: dynamic(null);
  205. /**
  206. * @var {color}
  207. * Menu Header icon color.
  208. */
  209. $menu-header-icon-color: dynamic(null);
  210. /**
  211. * @var {number}
  212. * Menu Header icon size
  213. */
  214. $menu-header-icon-size: dynamic(null);
  215. /**
  216. * @var {number}
  217. * Menu Header icon size in the {@link Global_CSS#$enable-big big} sizing scheme
  218. */
  219. $menu-header-icon-size-big: dynamic(null);
  220. /**
  221. * @var {number}
  222. * Menu Header icon font-size. Used for configuring the size of font icons
  223. */
  224. $menu-header-icon-font-size: dynamic(null);
  225. /**
  226. * @var {number}
  227. * Menu Header icon font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  228. */
  229. $menu-header-icon-font-size-big: dynamic(null);
  230. /**
  231. * @var {number}
  232. * The space between the Menu Header icon and text when the icon is horizontally aligned
  233. */
  234. $menu-header-icon-horizontal-spacing: dynamic(null);
  235. /**
  236. * @var {number}
  237. * The space between the Menu Header icon and text when the icon is horizontally aligned
  238. * in the {@link Global_CSS#$enable-big big} sizing scheme
  239. */
  240. $menu-header-icon-horizontal-spacing-big: dynamic(null);
  241. /**
  242. * @var {number}
  243. * The space between the Menu Header icon and text when the icon is vertically aligned
  244. */
  245. $menu-header-icon-vertical-spacing: dynamic(null);
  246. /**
  247. * @var {number}
  248. * The space between the Menu Header icon and text when the icon is vertically aligned
  249. * in the {@link Global_CSS#$enable-big big} sizing scheme
  250. */
  251. $menu-header-icon-vertical-spacing-big: dynamic(null);
  252. /**
  253. * @var {number}
  254. * Menu Header icon opacity
  255. */
  256. $menu-header-icon-opacity: dynamic(null);
  257. /**
  258. * @var {color}
  259. * Menu Tool color
  260. */
  261. $menu-tool-color: dynamic(null);
  262. /**
  263. * @var {number}
  264. * Menu Tool color when hovered
  265. */
  266. $menu-tool-hovered-color: dynamic(null);
  267. /**
  268. * @var {number}
  269. * Menu Tool color when pressed
  270. */
  271. $menu-tool-pressed-color: dynamic(null);
  272. /**
  273. * @var {number}
  274. * Menu Tool color when disabled
  275. */
  276. $menu-tool-disabled-color: dynamic(null);
  277. /**
  278. * @var {color}
  279. * Menu Tool background-color
  280. */
  281. $menu-tool-background-color: dynamic(null);
  282. /**
  283. * @var {number}
  284. * Menu Tool background-color when hovered
  285. */
  286. $menu-tool-hovered-background-color: dynamic(null);
  287. /**
  288. * @var {number}
  289. * Menu Tool background-color when pressed
  290. */
  291. $menu-tool-pressed-background-color: dynamic(null);
  292. /**
  293. * @var {number}
  294. * Menu Tool background-color when disabled
  295. */
  296. $menu-tool-disabled-background-color: dynamic(null);
  297. /**
  298. * @var {number}
  299. * Menu Tool opacity
  300. */
  301. $menu-tool-opacity: dynamic(null);
  302. /**
  303. * @var {number}
  304. * Menu Tool opacity when hovered
  305. */
  306. $menu-tool-hovered-opacity: dynamic(null);
  307. /**
  308. * @var {number}
  309. * Menu Tool opacity when pressed
  310. */
  311. $menu-tool-pressed-opacity: dynamic(null);
  312. /**
  313. * @var {number}
  314. * Menu Tool opacity when disabled
  315. */
  316. $menu-tool-disabled-opacity: dynamic(null);
  317. /**
  318. * @var {number}
  319. * Menu Tool border radius
  320. */
  321. $menu-tool-border-radius: dynamic(null);
  322. /**
  323. * @var {number}
  324. * Menu Tool border radius in the {@link Global_CSS#$enable-big big} sizing scheme
  325. */
  326. $menu-tool-border-radius-big: dynamic(null);
  327. /**
  328. * @var {number}
  329. * Menu Tool size
  330. */
  331. $menu-tool-size: dynamic(null);
  332. /**
  333. * @var {number}
  334. * Menu Tool size in the {@link Global_CSS#$enable-big big} sizing scheme
  335. */
  336. $menu-tool-size-big: dynamic(null);
  337. /**
  338. * @var {number}
  339. * Menu Tool font-size
  340. */
  341. $menu-tool-font-size: dynamic(null);
  342. /**
  343. * @var {number}
  344. * Menu Tool font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  345. */
  346. $menu-tool-font-size-big: dynamic(null);
  347. /**
  348. * @var {number}
  349. * The space between Menu Tools
  350. */
  351. $menu-tool-spacing: dynamic(null);
  352. /**
  353. * @var {number}
  354. * The space between Menu Tools in the {@link Global_CSS#$enable-big big} sizing scheme
  355. */
  356. $menu-tool-spacing-big: dynamic(null);
  357. /**
  358. * @var {string}
  359. * Menu Tool cursor
  360. */
  361. $menu-tool-cursor: dynamic(null);
  362. /**
  363. * @var {string}
  364. * Menu Tool cursor when disabled
  365. */
  366. $menu-tool-disabled-cursor: dynamic(null);
  367. /**
  368. * @var {number}
  369. * Menu Tool outline width when focused
  370. */
  371. $menu-tool-focused-outline-width: dynamic(null);
  372. /**
  373. * @var {string}
  374. * Menu Tool outline style when focused
  375. */
  376. $menu-tool-focused-outline-style: dynamic(null);
  377. /**
  378. * @var {color}
  379. * Menu Tool outline color when focused
  380. */
  381. $menu-tool-focused-outline-color: dynamic(null);
  382. /**
  383. * @var {number}
  384. * Menu Tool outline offset when focused
  385. */
  386. $menu-tool-focused-outline-offset: dynamic(null);
  387. /**
  388. * @var {color}
  389. * Menu anchor border-color
  390. */
  391. $menu-anchor-border-color: dynamic(null);
  392. /**
  393. * @var {color}
  394. * Menu anchor background-color
  395. */
  396. $menu-anchor-background-color: dynamic(null);
  397. /**
  398. * @var {number}
  399. * The height (in all orientations) of the anchor arrow
  400. */
  401. $menu-anchor-height: dynamic(null);
  402. /**
  403. * @var {number}
  404. * The width (in all orientations) of the anchor arrow.
  405. */
  406. $menu-anchor-width: dynamic(null);
  407. /**
  408. * @var {number}
  409. * The extra spacing beyond the tip of the anchor arrow to prevent the pointer touching
  410. * the target;
  411. */
  412. $menu-anchor-margin: dynamic(null);
  413. /**
  414. * @var {string}
  415. * `true` to include {@link #manageBorders border management} rules
  416. */
  417. $menu-manage-borders: dynamic($panel-manage-borders);
  418. /**
  419. * @var {number}
  420. * Space reserved for Menu Item {@link Ext.menu.Item#icon icons}.
  421. * Icons are horizontally centered within this space.
  422. */
  423. $menu-icon-column-width: dynamic(30px);
  424. /**
  425. * @var {number}
  426. * Space reserved for Menu Item {@link Ext.menu.Item#icon icons}
  427. * in the {@link Global_CSS#$enable-big big} sizing scheme.
  428. * Icons are horizontally centered within this space.
  429. */
  430. $menu-icon-column-width-big: dynamic(40px);
  431. /**
  432. * @var {number/list}
  433. * The space between Menu Item text and the Menu's edge when not {@link #indented} or the
  434. * space between the text and the vertical {@link #separator}, if present.
  435. * Can be a single numeric value, or a list of 2 values representing the left and right spacing.
  436. */
  437. $menu-text-spacing: dynamic(8px);
  438. /**
  439. * @var {number/list}
  440. * The space, in the {@link Global_CSS#$enable-big big} sizing scheme, between Menu Item
  441. * text and the Menu's edge when not {@link #indented} or the space between the text and
  442. * the vertical {@link #separator}, if present.
  443. * Can be a single numeric value, or a list of 2 values representing the left and right spacing.
  444. */
  445. $menu-text-spacing-big: dynamic(10px);
  446. /**
  447. * @var {number}
  448. * Menu {@link #separator} width
  449. */
  450. $menu-separator-width: dynamic(1px);
  451. /**
  452. * @var {number}
  453. * Menu {@link #separator} border-width
  454. */
  455. $menu-separator-border-width: dynamic(0 0 0 $menu-separator-width);
  456. /**
  457. * @var {string}
  458. * Menu {@link #separator} border-style
  459. */
  460. $menu-separator-border-style: dynamic(solid);
  461. /**
  462. * @var {color}
  463. * Menu {@link #separator} border-color
  464. */
  465. $menu-separator-border-color: dynamic($neutral-color);
  466. /**
  467. * @var {color}
  468. * Menu {@link #separator} background-color
  469. */
  470. $menu-separator-background-color: dynamic(null);
  471. /**
  472. * @var {number/list}
  473. * The margin of child components that are not {@link Ext.menu.Item Menu Items}
  474. */
  475. $menu-component-margin: dynamic(2px $menu-text-spacing);
  476. /**
  477. * @var {number/list}
  478. * The margin of child components that are not {@link Ext.menu.Item Menu Items}
  479. * in the {@link Global_CSS#$enable-big big} sizing scheme
  480. */
  481. $menu-component-margin-big: dynamic(3px $menu-text-spacing-big);
  482. /**
  483. * Creates a visual theme for a Menu.
  484. *
  485. * @param {string} $ui
  486. * The name of the UI being created. Can not included spaces or special punctuation
  487. * (used in CSS class names).
  488. *
  489. * @param {String} [$xtype=menu] (protected) The {@link Ext.Class#xtype} to use
  490. * in CSS selectors. For use by UI mixins of derived classes.
  491. *
  492. * @param {String} [$header-xtype=menuheader] (protected) The {@link Ext.Class#xtype} to use
  493. * in CSS selectors for the header component. For use by UI mixins of derived classes.
  494. *
  495. * @param {String} [$title-xtype=menutitle] (protected) The {@link Ext.Class#xtype} to use
  496. * in CSS selectors for the title component. For use by UI mixins of derived classes.
  497. *
  498. * @param {String} [$tool-xtype=menutool] (protected) The {@link Ext.Class#xtype} to use
  499. * in CSS selectors for tools. For use by UI mixins of derived classes.
  500. *
  501. * @param {color} $background-color
  502. * Menu background-color
  503. *
  504. * @param {color/list} $border-color
  505. * Menu border-color
  506. *
  507. * @param {number/list} $border-width
  508. * Menu border-width
  509. *
  510. * @param {string/list} $border-style
  511. * Menu border-style
  512. *
  513. * @param {number/list} $border-radius
  514. * Menu border-radius
  515. *
  516. * @param {number/list} $border-radius-big
  517. * Menu border-radius in the {@link Global_CSS#$enable-big big} sizing scheme
  518. *
  519. * @param {color} $body-background-color
  520. * Menu body background-color
  521. *
  522. * @param {color} $body-color
  523. * Menu body text color
  524. *
  525. * @param {color} $body-border-color
  526. * Menu body border-color
  527. *
  528. * @param {number/list} $body-border-width
  529. * Menu body border-width
  530. *
  531. * @param {number/list} $body-border-style
  532. * Menu body border-style
  533. *
  534. * @param {string/number} $body-font-weight
  535. * Menu body font-weight
  536. *
  537. * @param {number} $body-font-size
  538. * Menu body font-size
  539. *
  540. * @param {number} $body-font-size-big
  541. * Menu body font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  542. *
  543. * @param {number} $body-line-height
  544. * Menu body line-height
  545. *
  546. * @param {number} $body-line-height-big
  547. * Menu body line-height in the {@link Global_CSS#$enable-big big} sizing scheme
  548. *
  549. * @param {string} $body-font-family
  550. * Menu body font-family
  551. *
  552. * @param {number/list} $body-padding
  553. * Menu body padding
  554. *
  555. * @param {number/list} $body-padding-big
  556. * Menu body padding in the {@link Global_CSS#$enable-big big} sizing scheme
  557. *
  558. * @param {color} $header-background-color
  559. * Menu Header background-color
  560. *
  561. * @param {string/list} $header-background-gradient
  562. * Menu Header background-gradient. Can be either the name of a gradient defined by
  563. * {@link Global_CSS#background-gradient} or a list of color stops.
  564. *
  565. * @param {color} $header-color
  566. * Menu Header text color
  567. *
  568. * @param {color/list} $header-border-color
  569. * Menu Header border-color
  570. *
  571. * @param {number/list} $header-border-width
  572. * Menu Header border-width
  573. *
  574. * @param {string/list} $header-border-style
  575. * Menu Header border-style
  576. *
  577. * @param {string/number} $header-font-weight
  578. * Menu Header font-weight
  579. *
  580. * @param {number} $header-font-size
  581. * Menu Header font-size
  582. *
  583. * @param {number} $header-font-size-big
  584. * Menu Header font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  585. *
  586. * @param {number} $header-line-height
  587. * Menu Header line-height
  588. *
  589. * @param {number} $header-line-height-big
  590. * Menu Header line-height in the {@link Global_CSS#$enable-big big} sizing scheme
  591. *
  592. * @param {string} $header-font-family
  593. * Menu Header font-family
  594. *
  595. * @param {number/list} $header-padding
  596. * Menu Header padding
  597. *
  598. * @param {number/list} $header-padding-big
  599. * Menu Header padding in the {@link Global_CSS#$enable-big big} sizing scheme
  600. *
  601. * @param {number/list} $header-title-padding
  602. * Menu Header Title padding
  603. *
  604. * @param {number/list} $header-title-padding-big
  605. * Menu Header Title padding in the {@link Global_CSS#$enable-big big} sizing scheme
  606. *
  607. * @param {number/list} $header-title-opacity
  608. * Menu Header Title opacity
  609. *
  610. * @param {shadow} $header-shadow
  611. * Menu Header Shadow
  612. *
  613. * @param {number} $header-z-index
  614. * Z-Index for the Menu Header, should be used with shadows to raise header above content
  615. *
  616. * @param {number} $header-min-height
  617. * Menu Header min-height
  618. *
  619. * @param {number} $header-min-height-big
  620. * Menu Header min-height in the {@link Global_CSS#$enable-big big} sizing scheme
  621. *
  622. * @param {color} $header-icon-color
  623. * Menu Header icon color.
  624. *
  625. * @param {number} $header-icon-size
  626. * Menu Header icon size
  627. *
  628. * @param {number} $header-icon-size-big
  629. * Menu Header icon size in the {@link Global_CSS#$enable-big big} sizing scheme
  630. *
  631. * @param {number} $header-icon-font-size
  632. * Menu Header icon font-size. Used for configuring the size of font icons
  633. *
  634. * @param {number} $header-icon-font-size-big
  635. * Menu Header icon font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  636. *
  637. * @param {number} $header-icon-horizontal-spacing
  638. * The space between the Menu Header icon and text when the icon is horizontally aligned
  639. *
  640. * @param {number} $header-icon-horizontal-spacing-big
  641. * The space between the Menu Header icon and text when the icon is horizontally aligned
  642. * in the {@link Global_CSS#$enable-big big} sizing scheme
  643. *
  644. * @param {number} $header-icon-vertical-spacing
  645. * The space between the Menu Header icon and text when the icon is vertically aligned
  646. *
  647. * @param {number} $header-icon-vertical-spacing-big
  648. * The space between the Menu Header icon and text when the icon is vertically aligned
  649. * in the {@link Global_CSS#$enable-big big} sizing scheme
  650. *
  651. * @param {number} $header-icon-opacity
  652. * Menu Header icon opacity
  653. *
  654. * @param {color} $tool-color
  655. * Menu Tool color
  656. *
  657. * @param {number} $tool-hovered-color
  658. * Menu Tool color when hovered
  659. *
  660. * @param {number} $tool-pressed-color
  661. * Menu Tool color when pressed
  662. *
  663. * @param {number} $tool-disabled-color
  664. * Menu Tool color when disabled
  665. *
  666. * @param {color} $tool-background-color
  667. * Menu Tool background-color
  668. *
  669. * @param {number} $tool-hovered-background-color
  670. * Menu Tool background-color when hovered
  671. *
  672. * @param {number} $tool-pressed-background-color
  673. * Menu Tool background-color when pressed
  674. *
  675. * @param {number} $tool-disabled-background-color
  676. * Menu Tool background-color when disabled
  677. *
  678. * @param {number} $tool-opacity
  679. * Menu Tool opacity
  680. *
  681. * @param {number} $tool-hovered-opacity
  682. * Menu Tool opacity when hovered
  683. *
  684. * @param {number} $tool-pressed-opacity
  685. * Menu Tool opacity when pressed
  686. *
  687. * @param {number} $tool-disabled-opacity
  688. * Menu Tool opacity when disabled
  689. *
  690. * @param {number} $tool-border-radius
  691. * Menu Tool border radius
  692. *
  693. * @param {number} $tool-border-radius-big
  694. * Menu Tool border radius in the {@link Global_CSS#$enable-big big} sizing scheme
  695. *
  696. * @param {number} $tool-size
  697. * Menu Tool size
  698. *
  699. * @param {number} $tool-size-big
  700. * Menu Tool size in the {@link Global_CSS#$enable-big big} sizing scheme
  701. *
  702. * @param {number} $tool-font-size
  703. * Menu Tool font-size
  704. *
  705. * @param {number} $tool-font-size-big
  706. * Menu Tool font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  707. *
  708. * @param {number} $tool-spacing
  709. * The space between Menu Tools
  710. *
  711. * @param {number} $tool-spacing-big
  712. * The space between Menu Tools in the {@link Global_CSS#$enable-big big} sizing scheme
  713. *
  714. * @param {string} $tool-cursor
  715. * Menu Tool cursor
  716. *
  717. * @param {string} $tool-disabled-cursor
  718. * Menu Tool cursor when disabled
  719. *
  720. * @param {number} $tool-focused-outline-width
  721. * Menu Tool outline width when focused
  722. *
  723. * @param {string} $tool-focused-outline-style
  724. * Menu Tool outline style when focused
  725. *
  726. * @param {color} $tool-focused-outline-color
  727. * Menu Tool outline color when focused
  728. *
  729. * @param {number} $tool-focused-outline-offset
  730. * Menu Tool outline offset when focused
  731. *
  732. * @param {color} $anchor-border-color
  733. * Menu anchor border-color
  734. *
  735. * @param {color} $anchor-background-color
  736. * Menu anchor background-color
  737. *
  738. * @param {number} $anchor-height
  739. * The height (in all orientations) of the anchor arrow
  740. *
  741. * @param {number} $anchor-width
  742. * The width (in all orientations) of the anchor arrow.
  743. *
  744. * @param {number} $anchor-margin
  745. * The extra spacing beyond the tip of the anchor arrow to prevent the pointer touching
  746. * the target;
  747. *
  748. * @param {string} $manage-borders
  749. * `true` to include {@link #manageBorders border management} rules
  750. *
  751. * @param {number} $icon-column-width
  752. * Space reserved for Menu Item {@link Ext.menu.Item#icon icons}.
  753. * Icons are horizontally centered within this space.
  754. *
  755. * @param {number} $icon-column-width-big
  756. * Space reserved for Menu Item {@link Ext.menu.Item#icon icons}
  757. * in the {@link Global_CSS#$enable-big big} sizing scheme.
  758. * Icons are horizontally centered within this space.
  759. *
  760. * @param {number/list} $text-spacing
  761. * The space between Menu Item text and the Menu's edge when not {@link #indented} or the
  762. * space between the text and the vertical {@link #separator}, if present.
  763. * Can be a single numeric value, or a list of 2 values representing the left and right spacing.
  764. *
  765. * @param {number/list} $text-spacing-big
  766. * The space, in the {@link Global_CSS#$enable-big big} sizing scheme, between Menu Item
  767. * text and the Menu's edge when not {@link #indented} or the space between the text and
  768. * the vertical {@link #separator}, if present.
  769. * Can be a single numeric value, or a list of 2 values representing the left and right spacing.
  770. *
  771. * @param {number} $separator-width
  772. * Menu {@link #separator} width
  773. *
  774. * @param {number} $separator-border-width
  775. * Menu {@link #separator} border-width
  776. *
  777. * @param {string} $separator-border-style
  778. * Menu {@link #separator} border-style
  779. *
  780. * @param {color} $separator-border-color
  781. * Menu {@link #separator} border-color
  782. *
  783. * @param {color} $separator-background-color
  784. * Menu {@link #separator} background-color
  785. *
  786. * @param {number/list} $component-margin
  787. * The margin of child components that are not {@link Ext.menu.Item Menu Items}
  788. *
  789. * @param {number/list} $component-margin-big
  790. * The margin of child components that are not {@link Ext.menu.Item Menu Items}
  791. * in the {@link Global_CSS#$enable-big big} sizing scheme
  792. */
  793. @mixin menu-ui(
  794. $ui: null,
  795. $xtype: menu,
  796. $header-xtype: menuheader,
  797. $title-xtype: menutitle,
  798. $tool-xtype: menutool,
  799. $background-color: null,
  800. $border-color: null,
  801. $border-width: null,
  802. $border-style: null,
  803. $border-radius: null,
  804. $border-radius-big: null,
  805. $body-background-color: null,
  806. $body-color: null,
  807. $body-border-color: null,
  808. $body-border-width: null,
  809. $body-border-style: null,
  810. $body-font-weight: null,
  811. $body-font-size: null,
  812. $body-font-size-big: null,
  813. $body-line-height: null,
  814. $body-line-height-big: null,
  815. $body-font-family: null,
  816. $body-padding: null,
  817. $body-padding-big: null,
  818. $header-background-color: null,
  819. $header-background-gradient: null,
  820. $header-color: null,
  821. $header-border-color: null,
  822. $header-border-width: null,
  823. $header-border-style: null,
  824. $header-font-weight: null,
  825. $header-font-size: null,
  826. $header-font-size-big: null,
  827. $header-line-height: null,
  828. $header-line-height-big: null,
  829. $header-font-family: null,
  830. $header-padding: null,
  831. $header-padding-big: null,
  832. $header-title-padding: null,
  833. $header-title-padding-big: null,
  834. $header-title-opacity: null,
  835. $header-shadow: null,
  836. $header-z-index: null,
  837. $header-min-height: null,
  838. $header-min-height-big: null,
  839. $header-icon-color: null,
  840. $header-icon-size: null,
  841. $header-icon-size-big: null,
  842. $header-icon-font-size: null,
  843. $header-icon-font-size-big: null,
  844. $header-icon-horizontal-spacing: null,
  845. $header-icon-horizontal-spacing-big: null,
  846. $header-icon-vertical-spacing: null,
  847. $header-icon-vertical-spacing-big: null,
  848. $header-icon-opacity: null,
  849. $tool-color: null,
  850. $tool-hovered-color: null,
  851. $tool-pressed-color: null,
  852. $tool-disabled-color: null,
  853. $tool-background-color: null,
  854. $tool-hovered-background-color: null,
  855. $tool-pressed-background-color: null,
  856. $tool-disabled-background-color: null,
  857. $tool-opacity: null,
  858. $tool-hovered-opacity: null,
  859. $tool-pressed-opacity: null,
  860. $tool-disabled-opacity: null,
  861. $tool-border-radius: null,
  862. $tool-border-radius-big: null,
  863. $tool-size: null,
  864. $tool-size-big: null,
  865. $tool-font-size: null,
  866. $tool-font-size-big: null,
  867. $tool-spacing: null,
  868. $tool-spacing-big: null,
  869. $tool-cursor: null,
  870. $tool-disabled-cursor: null,
  871. $tool-focused-outline-width: null,
  872. $tool-focused-outline-style: null,
  873. $tool-focused-outline-color: null,
  874. $tool-focused-outline-offset: null,
  875. $anchor-border-color: null,
  876. $anchor-background-color: null,
  877. $anchor-height: null,
  878. $anchor-width: null,
  879. $anchor-margin: null,
  880. $manage-borders: $menu-manage-borders,
  881. $icon-column-width: null,
  882. $icon-column-width-big: null,
  883. $text-spacing: null,
  884. $text-spacing-big: null,
  885. $separator-width: null,
  886. $separator-border-width: null,
  887. $separator-border-style: null,
  888. $separator-border-color: null,
  889. $separator-background-color: null,
  890. $component-margin: null,
  891. $component-margin-big: null
  892. ) {
  893. $ui-suffix: ui-suffix($ui);
  894. $arguments: intersect-arguments(menu-ui, panel-ui);
  895. @include panel-ui($arguments...);
  896. .#{$prefix}#{$xtype}#{$ui-suffix}-body-el {
  897. > .#{$prefix}menuitem .#{$prefix}icon-wrap-el {
  898. width: $icon-column-width;
  899. @if $enable-big {
  900. .#{$prefix}big & {
  901. width: $icon-column-width-big;
  902. }
  903. }
  904. }
  905. > .#{$prefix}non-menuitem {
  906. margin: $component-margin;
  907. @if $enable-big {
  908. .#{$prefix}big & {
  909. margin: $component-margin-big;
  910. }
  911. }
  912. }
  913. > .#{$prefix}non-menuitem.#{$prefix}indented {
  914. margin-left: $icon-column-width;
  915. @if $enable-big {
  916. .#{$prefix}big & {
  917. margin-left: $icon-column-width-big;
  918. }
  919. }
  920. }
  921. &.#{$prefix}has-separator {
  922. &:before {
  923. @include border($separator-border-width, $separator-border-style, $separator-border-color);
  924. background-color: $background-color;
  925. width: $separator-width;
  926. margin-left: $icon-column-width;
  927. @if $enable-big {
  928. .#{$prefix}big & {
  929. margin-left: $icon-column-width-big;
  930. }
  931. }
  932. }
  933. > .#{$prefix}non-menuitem.#{$prefix}indented {
  934. margin-left: $icon-column-width + left($component-margin);
  935. @if $enable-big {
  936. .#{$prefix}big & {
  937. margin-left: $icon-column-width-big + left($component-margin-big);
  938. }
  939. }
  940. }
  941. }
  942. .#{$prefix}menuitem:not(.#{$prefix}indented):not(.#{$prefix}has-left-icon) .#{$prefix}text-el,
  943. &.#{$prefix}has-separator > .#{$prefix}menuitem .#{$prefix}text-el {
  944. // $text-spacing is a list with either 1 or 2 items so top() here means left
  945. margin-left: top($text-spacing);
  946. @if $enable-big {
  947. .#{$prefix}big & {
  948. margin-left: top($text-spacing-big);
  949. }
  950. }
  951. }
  952. .#{$prefix}menuitem:not(.#{$prefix}has-right-icon):not(.#{$prefix}has-arrow) .#{$prefix}text-el {
  953. margin-right: right($text-spacing);
  954. @if $enable-big {
  955. .#{$prefix}big & {
  956. margin-right: right($text-spacing-big);
  957. }
  958. }
  959. }
  960. }
  961. }