actions.less 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. /* === Actions === */
  2. @import './actions-vars.less';
  3. .actions-backdrop {
  4. &-unique {
  5. z-index: 13500;
  6. }
  7. }
  8. .actions-modal {
  9. position: absolute;
  10. left: 0;
  11. bottom: 0;
  12. z-index: 13500;
  13. width: 100%;
  14. transform: translate3d(0, 100%, 0);
  15. display: none;
  16. max-height: 100%;
  17. .scrollable();
  18. transition-property: transform;
  19. will-change: transform;
  20. &.modal-in,
  21. &.modal-out {
  22. transition-duration: 300ms;
  23. }
  24. &.not-animated {
  25. transition-duration: 0ms;
  26. }
  27. &.modal-in {
  28. transform: translate3d(0, calc(-1 * var(--f7-safe-area-bottom)), 0);
  29. }
  30. &.modal-out {
  31. z-index: 13500 - 1;
  32. transform: translate3d(0, 100%, 0);
  33. }
  34. @media (min-width: 496px) {
  35. width: 480px;
  36. left: 50%;
  37. margin-left: -240px;
  38. }
  39. @media (orientation: landscape) {
  40. --f7-actions-button-height: var(--f7-actions-button-height-landscape);
  41. }
  42. }
  43. .actions-group {
  44. overflow: hidden;
  45. position: relative;
  46. margin: var(--f7-actions-group-margin);
  47. border-radius: var(--f7-actions-border-radius);
  48. .hairline(bottom, var(--f7-actions-group-border-color));
  49. transform: translate3d(0, 0, 0);
  50. &:last-child {
  51. .hairline-remove(bottom);
  52. }
  53. }
  54. .actions-button,
  55. .actions-label {
  56. width: 100%;
  57. font-weight: normal;
  58. margin: 0;
  59. box-sizing: border-box;
  60. display: block;
  61. position: relative;
  62. overflow: hidden;
  63. text-align: var(--f7-actions-button-text-align);
  64. background: var(--f7-actions-bg-color);
  65. .ios-translucent-modals(var(--f7-actions-bg-color-rgb));
  66. .hairline(bottom, var(--f7-actions-button-border-color));
  67. &:first-child {
  68. border-radius: var(--f7-actions-border-radius) var(--f7-actions-border-radius) 0 0;
  69. }
  70. &:last-child {
  71. .hairline-remove(bottom);
  72. border-radius: 0 0 var(--f7-actions-border-radius) var(--f7-actions-border-radius);
  73. }
  74. &:first-child:last-child {
  75. border-radius: var(--f7-actions-border-radius);
  76. }
  77. a {
  78. text-decoration: none;
  79. color: inherit;
  80. display: block;
  81. }
  82. b,
  83. &.actions-button-bold {
  84. font-weight: 600;
  85. }
  86. }
  87. .actions-button {
  88. cursor: pointer;
  89. display: flex;
  90. color: var(--f7-actions-button-text-color, var(--f7-theme-color));
  91. font-size: var(--f7-actions-button-font-size);
  92. height: var(--f7-actions-button-height);
  93. line-height: var(--f7-actions-button-height);
  94. padding: var(--f7-actions-button-padding);
  95. justify-content: var(--f7-actions-button-justify-content);
  96. z-index: 10;
  97. &.active-state {
  98. background-color: var(--f7-actions-button-pressed-bg-color) !important;
  99. }
  100. &[class*='color-'] {
  101. color: var(--f7-theme-color);
  102. }
  103. }
  104. .actions-button.active-state {
  105. .ios-translucent-modals(var(--f7-actions-button-pressed-bg-color-rgb));
  106. }
  107. .actions-button-media {
  108. flex-shrink: 0;
  109. display: flex;
  110. align-items: center;
  111. i.icon {
  112. width: var(--f7-actions-button-icon-size);
  113. height: var(--f7-actions-button-icon-size);
  114. font-size: var(--f7-actions-button-icon-size);
  115. }
  116. }
  117. .actions-button a,
  118. .actions-button-text {
  119. position: relative;
  120. overflow: hidden;
  121. white-space: nowrap;
  122. text-overflow: ellipsis;
  123. }
  124. .actions-button-text {
  125. width: 100%;
  126. flex-shrink: 1;
  127. text-align: var(--f7-actions-button-text-align);
  128. }
  129. .actions-label {
  130. line-height: 1.3;
  131. display: flex;
  132. align-items: center;
  133. font-size: var(--f7-actions-label-font-size);
  134. color: var(--f7-actions-label-text-color);
  135. padding: var(--f7-actions-label-padding);
  136. justify-content: var(--f7-actions-label-justify-content);
  137. min-height: var(--f7-actions-label-min-height, var(--f7-actions-button-height));
  138. }
  139. .actions-label[class*=' color-'] {
  140. --f7-actions-label-text-color: var(--f7-theme-color);
  141. }
  142. .actions-grid {
  143. .actions-group {
  144. display: flex;
  145. flex-wrap: wrap;
  146. justify-content: flex-start;
  147. border-radius: 0;
  148. background: var(--f7-actions-bg-color);
  149. margin-top: 0;
  150. &:first-child {
  151. border-radius: var(--f7-actions-border-radius) var(--f7-actions-border-radius) 0 0;
  152. }
  153. &:last-child {
  154. border-radius: 0 0 var(--f7-actions-border-radius) var(--f7-actions-border-radius);
  155. }
  156. &:first-child:last-child {
  157. border-radius: var(--f7-actions-border-radius);
  158. }
  159. &:not(:last-child) {
  160. margin-bottom: 0;
  161. }
  162. }
  163. .actions-button,
  164. .actions-label {
  165. border-radius: 0 !important;
  166. background: none;
  167. }
  168. .actions-button {
  169. width: (100% / 3);
  170. display: block;
  171. color: var(--f7-actions-grid-button-text-color);
  172. height: auto;
  173. line-height: 1;
  174. .hairline-remove(bottom);
  175. padding: 16px;
  176. }
  177. .actions-button-media {
  178. margin-left: auto !important;
  179. margin-right: auto !important;
  180. width: var(--f7-actions-grid-button-icon-size);
  181. height: var(--f7-actions-grid-button-icon-size);
  182. i.icon {
  183. width: var(--f7-actions-grid-button-icon-size);
  184. height: var(--f7-actions-grid-button-icon-size);
  185. font-size: var(--f7-actions-grid-button-icon-size);
  186. }
  187. }
  188. .actions-button-text {
  189. margin-left: 0 !important;
  190. text-align: center !important;
  191. margin-top: 8px;
  192. line-height: 1.33em;
  193. height: 1.33em;
  194. font-size: var(--f7-actions-grid-button-font-size);
  195. }
  196. }
  197. .actions-grid .actions-group {
  198. .ios-translucent-modals(var(--f7-actions-bg-color-rgb));
  199. }
  200. .if-ios-theme({
  201. @import './actions-ios.less';
  202. });
  203. .if-md-theme({
  204. @import './actions-md.less';
  205. });
  206. .if-aurora-theme({
  207. @import './actions-aurora.less';
  208. });