Panel.scss 28 KB

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