@vaadin/vaadin-lumo-styles 25.0.0-alpha2 → 25.0.0-alpha20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/all-imports.d.ts +0 -8
  2. package/all-imports.js +0 -18
  3. package/components/accordion-heading.css +14 -0
  4. package/components/accordion-panel.css +15 -0
  5. package/{user-colors.d.ts → components/accordion.css} +2 -3
  6. package/components/app-layout.css +11 -0
  7. package/components/avatar-group.css +31 -0
  8. package/components/avatar.css +17 -0
  9. package/components/button.css +11 -0
  10. package/components/card.css +50 -0
  11. package/components/charts.css +11 -0
  12. package/components/checkbox-group.css +23 -0
  13. package/components/checkbox.css +14 -0
  14. package/components/combo-box.css +47 -0
  15. package/components/confirm-dialog.css +17 -0
  16. package/components/context-menu.css +32 -0
  17. package/components/crud.css +40 -0
  18. package/components/custom-field.css +20 -0
  19. package/components/dashboard.css +34 -0
  20. package/components/date-picker.css +49 -0
  21. package/components/date-time-picker.css +28 -0
  22. package/components/details-summary.css +11 -0
  23. package/components/details.css +12 -0
  24. package/components/dialog.css +16 -0
  25. package/components/drawer-toggle.css +14 -0
  26. package/components/email-field.css +25 -0
  27. package/components/field-highlighter.css +22 -0
  28. package/components/form-item.css +11 -0
  29. package/components/form-layout.css +11 -0
  30. package/components/grid-filter-column.css +6 -0
  31. package/components/grid-filter.css +12 -0
  32. package/components/grid-pro-edit-column.css +48 -0
  33. package/components/grid-pro.css +14 -0
  34. package/components/grid-selection-column.css +6 -0
  35. package/components/grid-sort-column.css +6 -0
  36. package/components/grid-sorter.css +19 -0
  37. package/components/grid-tree-column.css +6 -0
  38. package/components/grid-tree-toggle.css +11 -0
  39. package/components/grid.css +11 -0
  40. package/components/horizontal-layout.css +11 -0
  41. package/components/icon.css +11 -0
  42. package/components/index.css +71 -0
  43. package/components/input-container.css +11 -0
  44. package/components/integer-field.css +25 -0
  45. package/components/item.css +11 -0
  46. package/components/list-box.css +11 -0
  47. package/components/login-form.css +14 -0
  48. package/components/login.css +15 -0
  49. package/components/map.css +11 -0
  50. package/components/master-detail-layout.css +19 -0
  51. package/components/menu-bar.css +47 -0
  52. package/components/message-input-button.css +11 -0
  53. package/components/message-input.css +13 -0
  54. package/components/message-list.css +6 -0
  55. package/components/message.css +12 -0
  56. package/components/multi-select-combo-box.css +61 -0
  57. package/components/notification.css +15 -0
  58. package/components/number-field.css +25 -0
  59. package/components/overlay.css +11 -0
  60. package/components/password-field.css +32 -0
  61. package/components/popover.css +14 -0
  62. package/components/progress-bar.css +11 -0
  63. package/components/radio-button.css +14 -0
  64. package/components/radio-group.css +23 -0
  65. package/components/rich-text-editor.css +26 -0
  66. package/components/scroller.css +11 -0
  67. package/components/select.css +48 -0
  68. package/components/side-nav-item.css +14 -0
  69. package/components/side-nav.css +12 -0
  70. package/components/split-layout.css +11 -0
  71. package/components/tab.css +11 -0
  72. package/components/tabs.css +12 -0
  73. package/components/tabsheet.css +19 -0
  74. package/components/text-area.css +25 -0
  75. package/components/text-field.css +23 -0
  76. package/components/time-picker.css +43 -0
  77. package/components/tooltip.css +14 -0
  78. package/components/upload.css +31 -0
  79. package/components/vertical-layout.css +11 -0
  80. package/dist/lumo.css +41 -0
  81. package/dist/presets/compact.css +1 -0
  82. package/dist/utility.css +1 -0
  83. package/{color-global.js → global.css} +3 -4
  84. package/{badge-global.js → lumo.css} +3 -4
  85. package/mixins/field-button.js +3 -4
  86. package/mixins/helper.js +3 -4
  87. package/mixins/input-field-shared.js +5 -9
  88. package/mixins/loader.js +3 -2
  89. package/mixins/menu-overlay.js +3 -4
  90. package/mixins/overlay.js +3 -4
  91. package/mixins/required-field.js +3 -4
  92. package/package.json +23 -14
  93. package/postcss.config.js +11 -0
  94. package/presets/compact.css +31 -0
  95. package/props.css +12 -0
  96. package/src/components/accordion-heading.css +42 -0
  97. package/src/components/accordion-panel.css +38 -0
  98. package/src/components/app-layout.css +193 -0
  99. package/src/components/avatar-group-menu-item.css +22 -0
  100. package/src/components/avatar-group-overlay.css +11 -0
  101. package/src/components/avatar-group.css +67 -0
  102. package/src/components/avatar.css +86 -0
  103. package/src/components/button.css +334 -0
  104. package/src/components/card.css +38 -0
  105. package/src/components/chart.css +86 -0
  106. package/src/components/checkbox-group.css +18 -0
  107. package/src/components/checkbox.css +340 -0
  108. package/src/components/combo-box-item.css +18 -0
  109. package/src/components/combo-box-overlay.css +15 -0
  110. package/src/components/combo-box.css +14 -0
  111. package/src/components/confirm-dialog-overlay.css +55 -0
  112. package/src/components/context-menu-item.css +39 -0
  113. package/src/components/context-menu-list-box.css +40 -0
  114. package/src/components/context-menu-overlay.css +62 -0
  115. package/src/components/crud-dialog-overlay.css +57 -0
  116. package/src/components/crud-edit.css +30 -0
  117. package/src/components/crud.css +157 -0
  118. package/src/components/custom-field.css +102 -0
  119. package/src/components/dashboard-layout.css +28 -0
  120. package/src/components/dashboard-section.css +85 -0
  121. package/src/components/dashboard-widget.css +140 -0
  122. package/src/components/dashboard.css +14 -0
  123. package/src/components/date-picker-month-calendar.css +192 -0
  124. package/src/components/date-picker-overlay-content.css +127 -0
  125. package/src/components/date-picker-overlay.css +48 -0
  126. package/src/components/date-picker-year.css +35 -0
  127. package/src/components/date-picker.css +41 -0
  128. package/src/components/date-time-picker.css +36 -0
  129. package/src/components/details-summary.css +131 -0
  130. package/src/components/details.css +37 -0
  131. package/src/components/dialog-overlay.css +164 -0
  132. package/src/components/drawer-toggle.css +51 -0
  133. package/src/components/email-field.css +26 -0
  134. package/src/components/field-outline.css +51 -0
  135. package/src/components/form-item.css +36 -0
  136. package/src/components/form-layout.css +12 -0
  137. package/src/components/grid-filter.css +16 -0
  138. package/src/components/grid-pro-edit-select.css +19 -0
  139. package/src/components/grid-pro.css +90 -0
  140. package/src/components/grid-sorter.css +70 -0
  141. package/src/components/grid-tree-toggle.css +104 -0
  142. package/src/components/grid.css +755 -0
  143. package/src/components/horizontal-layout.css +34 -0
  144. package/src/components/icon.css +11 -0
  145. package/src/components/input-container.css +228 -0
  146. package/src/components/item.css +94 -0
  147. package/src/components/list-box.css +31 -0
  148. package/src/components/login-form-wrapper.css +113 -0
  149. package/src/components/login-overlay-wrapper.css +189 -0
  150. package/src/components/map.css +182 -0
  151. package/src/components/menu-bar-button.css +128 -0
  152. package/src/components/menu-bar-item.css +23 -0
  153. package/{utility-global.js → src/components/menu-bar-overlay.css} +5 -4
  154. package/src/components/menu-bar.css +31 -0
  155. package/src/components/message-input.css +30 -0
  156. package/src/components/message.css +57 -0
  157. package/src/components/multi-select-combo-box-chip.css +113 -0
  158. package/src/components/multi-select-combo-box-container.css +20 -0
  159. package/src/components/multi-select-combo-box-item.css +13 -0
  160. package/src/components/multi-select-combo-box-overlay.css +18 -0
  161. package/src/components/multi-select-combo-box.css +102 -0
  162. package/src/components/notification-card.css +228 -0
  163. package/src/components/notification-container.css +60 -0
  164. package/src/components/number-field.css +53 -0
  165. package/src/components/password-field-button.css +19 -0
  166. package/src/components/password-field.css +24 -0
  167. package/src/components/popover-overlay.css +20 -0
  168. package/src/components/progress-bar.css +295 -0
  169. package/src/components/radio-button.css +156 -0
  170. package/src/components/radio-group.css +18 -0
  171. package/src/components/rich-text-editor-popup-overlay.css +27 -0
  172. package/src/components/rich-text-editor.css +383 -0
  173. package/src/components/scroller.css +21 -0
  174. package/src/components/select-overlay.css +54 -0
  175. package/src/components/select-value-button.css +57 -0
  176. package/src/components/select.css +73 -0
  177. package/src/components/side-nav-item.css +183 -0
  178. package/src/components/side-nav.css +102 -0
  179. package/src/components/split-layout.css +53 -0
  180. package/src/components/tab.css +246 -0
  181. package/src/components/tabs.css +285 -0
  182. package/src/components/tabsheet.css +63 -0
  183. package/src/components/text-area.css +116 -0
  184. package/src/components/time-picker-overlay.css +15 -0
  185. package/src/components/time-picker.css +36 -0
  186. package/src/components/tooltip-overlay.css +50 -0
  187. package/src/components/upload-file.css +99 -0
  188. package/src/components/upload-icon.css +20 -0
  189. package/src/components/upload.css +56 -0
  190. package/src/components/user-tag.css +48 -0
  191. package/src/components/user-tags-overlay.css +64 -0
  192. package/src/components/vertical-layout.css +34 -0
  193. package/src/global/badge.css +167 -0
  194. package/src/global/color-scheme.css +99 -0
  195. package/src/global/typography.css +113 -0
  196. package/src/mixins/checkable-field.css +67 -0
  197. package/src/mixins/combo-box-loader.css +14 -0
  198. package/src/mixins/combo-box-overlay.css +30 -0
  199. package/src/mixins/dashboard-item.css +121 -0
  200. package/src/mixins/field-base.css +187 -0
  201. package/src/mixins/field-button.css +46 -0
  202. package/src/mixins/field-error-message.css +36 -0
  203. package/src/mixins/field-helper.css +62 -0
  204. package/src/mixins/field-label.css +62 -0
  205. package/src/mixins/field-required.css +26 -0
  206. package/src/mixins/grid-pro-editor.css +35 -0
  207. package/src/mixins/group-field.css +58 -0
  208. package/src/mixins/loader.css +48 -0
  209. package/src/mixins/menu-overlay-core.css +36 -0
  210. package/src/mixins/menu-overlay-ext.css +63 -0
  211. package/src/mixins/overlay.css +130 -0
  212. package/src/mixins/resizable-overlay.css +100 -0
  213. package/src/props/color.css +98 -0
  214. package/src/props/icons.css +63 -0
  215. package/src/props/reset.css +11 -0
  216. package/src/props/sizing.css +19 -0
  217. package/src/props/spacing.css +27 -0
  218. package/src/props/style.css +21 -0
  219. package/src/props/typography.css +24 -0
  220. package/src/utilities/accessibility.css +17 -0
  221. package/src/utilities/background.css +189 -0
  222. package/src/utilities/border.css +173 -0
  223. package/src/utilities/filter.css +37 -0
  224. package/src/utilities/flexbox-grid.css +781 -0
  225. package/src/utilities/layout.css +629 -0
  226. package/src/utilities/shadows.css +29 -0
  227. package/src/utilities/sizing.css +142 -0
  228. package/src/utilities/spacing.css +682 -0
  229. package/src/utilities/transition.css +46 -0
  230. package/src/utilities/typography.css +424 -0
  231. package/utility.css +16 -0
  232. package/vaadin-iconset.js +4 -0
  233. package/auto-complete.css +0 -2582
  234. package/badge.d.ts +0 -3
  235. package/badge.js +0 -178
  236. package/color.d.ts +0 -5
  237. package/color.js +0 -221
  238. package/font-icons.js +0 -67
  239. package/global.js +0 -5
  240. package/presets/compact.js +0 -40
  241. package/sizing.d.ts +0 -3
  242. package/sizing.js +0 -29
  243. package/spacing.d.ts +0 -3
  244. package/spacing.js +0 -37
  245. package/style.d.ts +0 -5
  246. package/style.js +0 -119
  247. package/typography-global.js +0 -13
  248. package/typography.d.ts +0 -7
  249. package/typography.js +0 -129
  250. package/user-colors.js +0 -33
  251. package/utilities/accessibility.js +0 -21
  252. package/utilities/background.js +0 -156
  253. package/utilities/border.js +0 -147
  254. package/utilities/filter.js +0 -34
  255. package/utilities/flexbox-grid.js +0 -619
  256. package/utilities/layout.js +0 -504
  257. package/utilities/shadows.js +0 -28
  258. package/utilities/sizing.js +0 -121
  259. package/utilities/spacing.js +0 -542
  260. package/utilities/transition.js +0 -49
  261. package/utilities/typography.js +0 -344
  262. package/utility.d.ts +0 -3
  263. package/utility.js +0 -34
@@ -0,0 +1 @@
1
+ .sr-only{border-width:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.bg-base{background-color:var(--lumo-base-color)}.bg-transparent{background-color:transparent}.bg-tint{background-color:var(--lumo-tint)}.bg-tint-90{background-color:var(--lumo-tint-90pct)}.bg-tint-80{background-color:var(--lumo-tint-80pct)}.bg-tint-70{background-color:var(--lumo-tint-70pct)}.bg-tint-60{background-color:var(--lumo-tint-60pct)}.bg-tint-50{background-color:var(--lumo-tint-50pct)}.bg-tint-40{background-color:var(--lumo-tint-40pct)}.bg-tint-30{background-color:var(--lumo-tint-30pct)}.bg-tint-20{background-color:var(--lumo-tint-20pct)}.bg-tint-10{background-color:var(--lumo-tint-10pct)}.bg-tint-5{background-color:var(--lumo-tint-5pct)}.bg-shade{background-color:var(--lumo-shade)}.bg-shade-90{background-color:var(--lumo-shade-90pct)}.bg-shade-80{background-color:var(--lumo-shade-80pct)}.bg-shade-70{background-color:var(--lumo-shade-70pct)}.bg-shade-60{background-color:var(--lumo-shade-60pct)}.bg-shade-50{background-color:var(--lumo-shade-50pct)}.bg-shade-40{background-color:var(--lumo-shade-40pct)}.bg-shade-30{background-color:var(--lumo-shade-30pct)}.bg-shade-20{background-color:var(--lumo-shade-20pct)}.bg-shade-10{background-color:var(--lumo-shade-10pct)}.bg-shade-5{background-color:var(--lumo-shade-5pct)}.bg-contrast{background-color:var(--lumo-contrast)}.bg-contrast-90{background-color:var(--lumo-contrast-90pct)}.bg-contrast-80{background-color:var(--lumo-contrast-80pct)}.bg-contrast-70{background-color:var(--lumo-contrast-70pct)}.bg-contrast-60{background-color:var(--lumo-contrast-60pct)}.bg-contrast-50{background-color:var(--lumo-contrast-50pct)}.bg-contrast-40{background-color:var(--lumo-contrast-40pct)}.bg-contrast-30{background-color:var(--lumo-contrast-30pct)}.bg-contrast-20{background-color:var(--lumo-contrast-20pct)}.bg-contrast-10{background-color:var(--lumo-contrast-10pct)}.bg-contrast-5{background-color:var(--lumo-contrast-5pct)}.bg-primary{background-color:var(--lumo-primary-color)}.bg-primary-50{background-color:var(--lumo-primary-color-50pct)}.bg-primary-10{background-color:var(--lumo-primary-color-10pct)}.bg-error{background-color:var(--lumo-error-color)}.bg-error-50{background-color:var(--lumo-error-color-50pct)}.bg-error-10{background-color:var(--lumo-error-color-10pct)}.bg-success{background-color:var(--lumo-success-color)}.bg-success-50{background-color:var(--lumo-success-color-50pct)}.bg-success-10{background-color:var(--lumo-success-color-10pct)}.bg-warning{background-color:var(--lumo-warning-color)}.bg-warning-10{background-color:var(--lumo-warning-color-10pct)}.border-0{border:none}.border-dashed{--lumo-utility-border-style:dashed}.border-dotted{--lumo-utility-border-style:dotted}.border{border:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.border-b{border-bottom:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.border-e{border-inline-end:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.border-l{border-left:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.border-r{border-right:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.border-s{border-inline-start:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.border-t{border-top:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.border-contrast{--lumo-utility-border-color:var(--lumo-contrast)}.border-contrast-90{--lumo-utility-border-color:var(--lumo-contrast-90pct)}.border-contrast-80{--lumo-utility-border-color:var(--lumo-contrast-80pct)}.border-contrast-70{--lumo-utility-border-color:var(--lumo-contrast-70pct)}.border-contrast-60{--lumo-utility-border-color:var(--lumo-contrast-60pct)}.border-contrast-50{--lumo-utility-border-color:var(--lumo-contrast-50pct)}.border-contrast-40{--lumo-utility-border-color:var(--lumo-contrast-40pct)}.border-contrast-30{--lumo-utility-border-color:var(--lumo-contrast-30pct)}.border-contrast-20{--lumo-utility-border-color:var(--lumo-contrast-20pct)}.border-contrast-10{--lumo-utility-border-color:var(--lumo-contrast-10pct)}.border-contrast-5{--lumo-utility-border-color:var(--lumo-contrast-5pct)}.border-primary{--lumo-utility-border-color:var(--lumo-primary-color)}.border-primary-50{--lumo-utility-border-color:var(--lumo-primary-color-50pct)}.border-primary-10{--lumo-utility-border-color:var(--lumo-primary-color-10pct)}.border-error{--lumo-utility-border-color:var(--lumo-error-color)}.border-error-50{--lumo-utility-border-color:var(--lumo-error-color-50pct)}.border-error-10{--lumo-utility-border-color:var(--lumo-error-color-10pct)}.border-success{--lumo-utility-border-color:var(--lumo-success-color)}.border-success-50{--lumo-utility-border-color:var(--lumo-success-color-50pct)}.border-success-10{--lumo-utility-border-color:var(--lumo-success-color-10pct)}.border-warning{--lumo-utility-border-color:var(--lumo-warning-color)}.border-warning-strong{--lumo-utility-border-color:var(--lumo-warning-text-color)}.border-warning-10{--lumo-utility-border-color:var(--lumo-warning-color-10pct)}.rounded-none{border-radius:0}.rounded-s{border-radius:var(--lumo-border-radius-s)}.rounded-m{border-radius:var(--lumo-border-radius-m)}.rounded-l{border-radius:var(--lumo-border-radius-l)}.rounded-full{border-radius:9999px}.divide-x>*+*{border-inline-start:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.divide-y>*+*{border-block-start:1px var(--lumo-utility-border-style,solid) var(--lumo-utility-border-color,var(--lumo-contrast-10pct))}.backdrop-blur-none{backdrop-filter:blur(0)}.backdrop-blur-sm{backdrop-filter:blur(4px)}.backdrop-blur{backdrop-filter:blur(8px)}.backdrop-blur-md{backdrop-filter:blur(12px)}.backdrop-blur-lg{backdrop-filter:blur(16px)}.backdrop-blur-xl{backdrop-filter:blur(24px)}.backdrop-blur-2xl{backdrop-filter:blur(40px)}.backdrop-blur-3xl{backdrop-filter:blur(64px)}.content-center{align-content:center}.content-end{align-content:flex-end}.content-start{align-content:flex-start}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-evenly{align-content:space-evenly}.content-stretch{align-content:stretch}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.self-auto{align-self:auto}.self-baseline{align-self:baseline}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.gap-xs{gap:var(--lumo-space-xs)}.gap-s{gap:var(--lumo-space-s)}.gap-m{gap:var(--lumo-space-m)}.gap-l{gap:var(--lumo-space-l)}.gap-xl{gap:var(--lumo-space-xl)}.gap-x-xs{column-gap:var(--lumo-space-xs)}.gap-x-s{column-gap:var(--lumo-space-s)}.gap-x-m{column-gap:var(--lumo-space-m)}.gap-x-l{column-gap:var(--lumo-space-l)}.gap-x-xl{column-gap:var(--lumo-space-xl)}.gap-y-xs{row-gap:var(--lumo-space-xs)}.gap-y-s{row-gap:var(--lumo-space-s)}.gap-y-m{row-gap:var(--lumo-space-m)}.gap-y-l{row-gap:var(--lumo-space-l)}.gap-y-xl{row-gap:var(--lumo-space-xl)}.grid-flow-col{grid-auto-flow:column}.grid-flow-row{grid-auto-flow:row}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-evenly{justify-content:space-evenly}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-span-full{grid-row:1/-1}@media (min-width:640px){.sm\:items-baseline{align-items:baseline}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:items-stretch{align-items:stretch}.sm\:flex-col{flex-direction:column}.sm\:flex-row{flex-direction:row}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width:768px){.md\:items-baseline{align-items:baseline}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:items-stretch{align-items:stretch}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width:1024px){.lg\:items-baseline{align-items:baseline}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:items-stretch{align-items:stretch}.lg\:flex-col{flex-direction:column}.lg\:flex-row{flex-direction:row}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width:1280px){.xl\:items-baseline{align-items:baseline}.xl\:items-center{align-items:center}.xl\:items-end{align-items:flex-end}.xl\:items-start{align-items:flex-start}.xl\:items-stretch{align-items:stretch}.xl\:flex-col{flex-direction:column}.xl\:flex-row{flex-direction:row}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:items-baseline{align-items:baseline}.\32xl\:items-center{align-items:center}.\32xl\:items-end{align-items:flex-end}.\32xl\:items-start{align-items:flex-start}.\32xl\:items-stretch{align-items:stretch}.\32xl\:flex-col{flex-direction:column}.\32xl\:flex-row{flex-direction:row}.\32xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.\32xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\32xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.\32xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.\32xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.\32xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.\32xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.\32xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.\32xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.relative{position:relative}.-bottom-xs{bottom:calc(var(--lumo-space-xs)/-1)}.-bottom-s{bottom:calc(var(--lumo-space-s)/-1)}.-bottom-m{bottom:calc(var(--lumo-space-m)/-1)}.-bottom-l{bottom:calc(var(--lumo-space-l)/-1)}.-bottom-xl{bottom:calc(var(--lumo-space-xl)/-1)}.-bottom-full{bottom:-100%}.bottom-0{bottom:0}.bottom-xs{bottom:var(--lumo-space-xs)}.bottom-s{bottom:var(--lumo-space-s)}.bottom-m{bottom:var(--lumo-space-m)}.bottom-l{bottom:var(--lumo-space-l)}.bottom-xl{bottom:var(--lumo-space-xl)}.bottom-auto{bottom:auto}.bottom-full{bottom:100%}.-end-xs{inset-inline-end:calc(var(--lumo-space-xs)/-1)}.-end-s{inset-inline-end:calc(var(--lumo-space-s)/-1)}.-end-m{inset-inline-end:calc(var(--lumo-space-m)/-1)}.-end-l{inset-inline-end:calc(var(--lumo-space-l)/-1)}.-end-xl{inset-inline-end:calc(var(--lumo-space-xl)/-1)}.-end-full{inset-inline-end:-100%}.end-0{inset-inline-end:0}.end-xs{inset-inline-end:var(--lumo-space-xs)}.end-s{inset-inline-end:var(--lumo-space-s)}.end-m{inset-inline-end:var(--lumo-space-m)}.end-l{inset-inline-end:var(--lumo-space-l)}.end-xl{inset-inline-end:var(--lumo-space-xl)}.end-auto{inset-inline-end:auto}.end-full{inset-inline-end:100%}.-start-xs{inset-inline-start:calc(var(--lumo-space-xs)/-1)}.-start-s{inset-inline-start:calc(var(--lumo-space-s)/-1)}.-start-m{inset-inline-start:calc(var(--lumo-space-m)/-1)}.-start-l{inset-inline-start:calc(var(--lumo-space-l)/-1)}.-start-xl{inset-inline-start:calc(var(--lumo-space-xl)/-1)}.-start-full{inset-inline-start:-100%}.start-0{inset-inline-start:0}.start-xs{inset-inline-start:var(--lumo-space-xs)}.start-s{inset-inline-start:var(--lumo-space-s)}.start-m{inset-inline-start:var(--lumo-space-m)}.start-l{inset-inline-start:var(--lumo-space-l)}.start-xl{inset-inline-start:var(--lumo-space-xl)}.start-auto{inset-inline-start:auto}.start-full{inset-inline-start:100%}.-top-xs{top:calc(var(--lumo-space-xs)/-1)}.-top-s{top:calc(var(--lumo-space-s)/-1)}.-top-m{top:calc(var(--lumo-space-m)/-1)}.-top-l{top:calc(var(--lumo-space-l)/-1)}.-top-xl{top:calc(var(--lumo-space-xl)/-1)}.-top-full{top:-100%}.top-0{top:0}.top-xs{top:var(--lumo-space-xs)}.top-s{top:var(--lumo-space-s)}.top-m{top:var(--lumo-space-m)}.top-l{top:var(--lumo-space-l)}.top-xl{top:var(--lumo-space-xl)}.top-auto{top:auto}.top-full{top:100%}.invisible{visibility:hidden}.visible{visibility:visible}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}@media (min-width:640px){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-block{display:inline-block}.sm\:inline-flex{display:inline-flex}.sm\:inline-grid{display:inline-grid}.sm\:absolute{position:absolute}.sm\:fixed{position:fixed}.sm\:relative{position:relative}.sm\:static{position:static}.sm\:sticky{position:sticky}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:inline{display:inline}.md\:inline-block{display:inline-block}.md\:inline-flex{display:inline-flex}.md\:inline-grid{display:inline-grid}.md\:absolute{position:absolute}.md\:fixed{position:fixed}.md\:relative{position:relative}.md\:static{position:static}.md\:sticky{position:sticky}}@media (min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:inline-block{display:inline-block}.lg\:inline-flex{display:inline-flex}.lg\:inline-grid{display:inline-grid}.lg\:absolute{position:absolute}.lg\:fixed{position:fixed}.lg\:relative{position:relative}.lg\:static{position:static}.lg\:sticky{position:sticky}}@media (min-width:1280px){.xl\:block{display:block}.xl\:flex{display:flex}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:inline{display:inline}.xl\:inline-block{display:inline-block}.xl\:inline-flex{display:inline-flex}.xl\:inline-grid{display:inline-grid}.xl\:absolute{position:absolute}.xl\:fixed{position:fixed}.xl\:relative{position:relative}.xl\:static{position:static}.xl\:sticky{position:sticky}}@media (min-width:1536px){.\32xl\:block{display:block}.\32xl\:flex{display:flex}.\32xl\:grid{display:grid}.\32xl\:hidden{display:none}.\32xl\:inline{display:inline}.\32xl\:inline-block{display:inline-block}.\32xl\:inline-flex{display:inline-flex}.\32xl\:inline-grid{display:inline-grid}.\32xl\:absolute{position:absolute}.\32xl\:fixed{position:fixed}.\32xl\:relative{position:relative}.\32xl\:static{position:static}.\32xl\:sticky{position:sticky}}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--lumo-box-shadow-xs)}.shadow-s{box-shadow:var(--lumo-box-shadow-s)}.shadow-m{box-shadow:var(--lumo-box-shadow-m)}.shadow-l{box-shadow:var(--lumo-box-shadow-l)}.shadow-xl{box-shadow:var(--lumo-box-shadow-xl)}.h-0{height:0}.h-xs{height:var(--lumo-size-xs)}.h-s{height:var(--lumo-size-s)}.h-m{height:var(--lumo-size-m)}.h-l{height:var(--lumo-size-l)}.h-xl{height:var(--lumo-size-xl)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.icon-s{height:var(--lumo-icon-size-s);width:var(--lumo-icon-size-s)}.icon-m{height:var(--lumo-icon-size-m);width:var(--lumo-icon-size-m)}.icon-l{height:var(--lumo-icon-size-l);width:var(--lumo-icon-size-l)}.w-xs{width:var(--lumo-size-xs)}.w-s{width:var(--lumo-size-s)}.w-m{width:var(--lumo-size-m)}.w-l{width:var(--lumo-size-l)}.w-xl{width:var(--lumo-size-xl)}.w-auto{width:auto}.w-full{width:100%}.max-w-full{max-width:100%}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.max-w-screen-2xl{max-width:1536px}.min-w-0{min-width:0}.min-w-full{min-width:100%}.-m-xs{margin:calc(var(--lumo-space-xs)/-1)}.-m-s{margin:calc(var(--lumo-space-s)/-1)}.-m-m{margin:calc(var(--lumo-space-m)/-1)}.-m-l{margin:calc(var(--lumo-space-l)/-1)}.-m-xl{margin:calc(var(--lumo-space-xl)/-1)}.m-0{margin:0}.m-xs{margin:var(--lumo-space-xs)}.m-s{margin:var(--lumo-space-s)}.m-m{margin:var(--lumo-space-m)}.m-l{margin:var(--lumo-space-l)}.m-xl{margin:var(--lumo-space-xl)}.m-auto{margin:auto}.-mb-xs{margin-bottom:calc(var(--lumo-space-xs)/-1)}.-mb-s{margin-bottom:calc(var(--lumo-space-s)/-1)}.-mb-m{margin-bottom:calc(var(--lumo-space-m)/-1)}.-mb-l{margin-bottom:calc(var(--lumo-space-l)/-1)}.-mb-xl{margin-bottom:calc(var(--lumo-space-xl)/-1)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--lumo-space-xs)}.mb-s{margin-bottom:var(--lumo-space-s)}.mb-m{margin-bottom:var(--lumo-space-m)}.mb-l{margin-bottom:var(--lumo-space-l)}.mb-xl{margin-bottom:var(--lumo-space-xl)}.mb-auto{margin-bottom:auto}.-me-xs{margin-inline-end:calc(var(--lumo-space-xs)/-1)}.-me-s{margin-inline-end:calc(var(--lumo-space-s)/-1)}.-me-m{margin-inline-end:calc(var(--lumo-space-m)/-1)}.-me-l{margin-inline-end:calc(var(--lumo-space-l)/-1)}.-me-xl{margin-inline-end:calc(var(--lumo-space-xl)/-1)}.me-0{margin-inline-end:0}.me-xs{margin-inline-end:var(--lumo-space-xs)}.me-s{margin-inline-end:var(--lumo-space-s)}.me-m{margin-inline-end:var(--lumo-space-m)}.me-l{margin-inline-end:var(--lumo-space-l)}.me-xl{margin-inline-end:var(--lumo-space-xl)}.me-auto{margin-inline-end:auto}.-mx-xs{margin-inline:calc(var(--lumo-space-xs)/-1)}.-mx-s{margin-inline:calc(var(--lumo-space-s)/-1)}.-mx-m{margin-inline:calc(var(--lumo-space-m)/-1)}.-mx-l{margin-inline:calc(var(--lumo-space-l)/-1)}.-mx-xl{margin-inline:calc(var(--lumo-space-xl)/-1)}.mx-0{margin-inline:0}.mx-xs{margin-inline:var(--lumo-space-xs)}.mx-s{margin-inline:var(--lumo-space-s)}.mx-m{margin-inline:var(--lumo-space-m)}.mx-l{margin-inline:var(--lumo-space-l)}.mx-xl{margin-inline:var(--lumo-space-xl)}.mx-auto{margin-inline:auto}.-ml-xs{margin-left:calc(var(--lumo-space-xs)/-1)}.-ml-s{margin-left:calc(var(--lumo-space-s)/-1)}.-ml-m{margin-left:calc(var(--lumo-space-m)/-1)}.-ml-l{margin-left:calc(var(--lumo-space-l)/-1)}.-ml-xl{margin-left:calc(var(--lumo-space-xl)/-1)}.ml-0{margin-left:0}.ml-xs{margin-left:var(--lumo-space-xs)}.ml-s{margin-left:var(--lumo-space-s)}.ml-m{margin-left:var(--lumo-space-m)}.ml-l{margin-left:var(--lumo-space-l)}.ml-xl{margin-left:var(--lumo-space-xl)}.ml-auto{margin-left:auto}.-mr-xs{margin-right:calc(var(--lumo-space-xs)/-1)}.-mr-s{margin-right:calc(var(--lumo-space-s)/-1)}.-mr-m{margin-right:calc(var(--lumo-space-m)/-1)}.-mr-l{margin-right:calc(var(--lumo-space-l)/-1)}.-mr-xl{margin-right:calc(var(--lumo-space-xl)/-1)}.mr-0{margin-right:0}.mr-xs{margin-right:var(--lumo-space-xs)}.mr-s{margin-right:var(--lumo-space-s)}.mr-m{margin-right:var(--lumo-space-m)}.mr-l{margin-right:var(--lumo-space-l)}.mr-xl{margin-right:var(--lumo-space-xl)}.mr-auto{margin-right:auto}.-ms-xs{margin-inline-start:calc(var(--lumo-space-xs)/-1)}.-ms-s{margin-inline-start:calc(var(--lumo-space-s)/-1)}.-ms-m{margin-inline-start:calc(var(--lumo-space-m)/-1)}.-ms-l{margin-inline-start:calc(var(--lumo-space-l)/-1)}.-ms-xl{margin-inline-start:calc(var(--lumo-space-xl)/-1)}.ms-0{margin-inline-start:0}.ms-xs{margin-inline-start:var(--lumo-space-xs)}.ms-s{margin-inline-start:var(--lumo-space-s)}.ms-m{margin-inline-start:var(--lumo-space-m)}.ms-l{margin-inline-start:var(--lumo-space-l)}.ms-xl{margin-inline-start:var(--lumo-space-xl)}.ms-auto{margin-inline-start:auto}.-mt-xs{margin-top:calc(var(--lumo-space-xs)/-1)}.-mt-s{margin-top:calc(var(--lumo-space-s)/-1)}.-mt-m{margin-top:calc(var(--lumo-space-m)/-1)}.-mt-l{margin-top:calc(var(--lumo-space-l)/-1)}.-mt-xl{margin-top:calc(var(--lumo-space-xl)/-1)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--lumo-space-xs)}.mt-s{margin-top:var(--lumo-space-s)}.mt-m{margin-top:var(--lumo-space-m)}.mt-l{margin-top:var(--lumo-space-l)}.mt-xl{margin-top:var(--lumo-space-xl)}.mt-auto{margin-top:auto}.-my-xs{margin-block:calc(var(--lumo-space-xs)/-1)}.-my-s{margin-block:calc(var(--lumo-space-s)/-1)}.-my-m{margin-block:calc(var(--lumo-space-m)/-1)}.-my-l{margin-block:calc(var(--lumo-space-l)/-1)}.-my-xl{margin-block:calc(var(--lumo-space-xl)/-1)}.my-0{margin-block:0}.my-xs{margin-block:var(--lumo-space-xs)}.my-s{margin-block:var(--lumo-space-s)}.my-m{margin-block:var(--lumo-space-m)}.my-l{margin-block:var(--lumo-space-l)}.my-xl{margin-block:var(--lumo-space-xl)}.my-auto{margin-block:auto}.p-0{padding:0}.p-xs{padding:var(--lumo-space-xs)}.p-s{padding:var(--lumo-space-s)}.p-m{padding:var(--lumo-space-m)}.p-l{padding:var(--lumo-space-l)}.p-xl{padding:var(--lumo-space-xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--lumo-space-xs)}.pb-s{padding-bottom:var(--lumo-space-s)}.pb-m{padding-bottom:var(--lumo-space-m)}.pb-l{padding-bottom:var(--lumo-space-l)}.pb-xl{padding-bottom:var(--lumo-space-xl)}.pe-0{padding-inline-end:0}.pe-xs{padding-inline-end:var(--lumo-space-xs)}.pe-s{padding-inline-end:var(--lumo-space-s)}.pe-m{padding-inline-end:var(--lumo-space-m)}.pe-l{padding-inline-end:var(--lumo-space-l)}.pe-xl{padding-inline-end:var(--lumo-space-xl)}.px-0{padding-left:0;padding-right:0}.px-xs{padding-left:var(--lumo-space-xs);padding-right:var(--lumo-space-xs)}.px-s{padding-left:var(--lumo-space-s);padding-right:var(--lumo-space-s)}.px-m{padding-left:var(--lumo-space-m);padding-right:var(--lumo-space-m)}.px-l{padding-left:var(--lumo-space-l);padding-right:var(--lumo-space-l)}.px-xl{padding-left:var(--lumo-space-xl);padding-right:var(--lumo-space-xl)}.pl-0{padding-left:0}.pl-xs{padding-left:var(--lumo-space-xs)}.pl-s{padding-left:var(--lumo-space-s)}.pl-m{padding-left:var(--lumo-space-m)}.pl-l{padding-left:var(--lumo-space-l)}.pl-xl{padding-left:var(--lumo-space-xl)}.pr-0{padding-right:0}.pr-xs{padding-right:var(--lumo-space-xs)}.pr-s{padding-right:var(--lumo-space-s)}.pr-m{padding-right:var(--lumo-space-m)}.pr-l{padding-right:var(--lumo-space-l)}.pr-xl{padding-right:var(--lumo-space-xl)}.ps-0{padding-inline-start:0}.ps-xs{padding-inline-start:var(--lumo-space-xs)}.ps-s{padding-inline-start:var(--lumo-space-s)}.ps-m{padding-inline-start:var(--lumo-space-m)}.ps-l{padding-inline-start:var(--lumo-space-l)}.ps-xl{padding-inline-start:var(--lumo-space-xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--lumo-space-xs)}.pt-s{padding-top:var(--lumo-space-s)}.pt-m{padding-top:var(--lumo-space-m)}.pt-l{padding-top:var(--lumo-space-l)}.pt-xl{padding-top:var(--lumo-space-xl)}.py-0{padding-bottom:0;padding-top:0}.py-xs{padding-bottom:var(--lumo-space-xs);padding-top:var(--lumo-space-xs)}.py-s{padding-bottom:var(--lumo-space-s);padding-top:var(--lumo-space-s)}.py-m{padding-bottom:var(--lumo-space-m);padding-top:var(--lumo-space-m)}.py-l{padding-bottom:var(--lumo-space-l);padding-top:var(--lumo-space-l)}.py-xl{padding-bottom:var(--lumo-space-xl);padding-top:var(--lumo-space-xl)}.transition{transition-duration:var(--lumo-utility-transition-duration,.15s);transition-property:-webkit-backdrop-filter,backdrop-filter,background-color,border-color,box-shadow,color,fill,filter,opacity,rotate,scale,stroke,text-decoration-color,transform,translate;transition-timing-function:var(--lumo-utility-transition-timing-function,cubic-bezier(.4,0,.2,1))}.transition-all{transition-duration:var(--lumo-utility-transition-duration,.15s);transition-property:all;transition-timing-function:var(--lumo-utility-transition-timing-function,cubic-bezier(.4,0,.2,1))}.transition-colors{transition-duration:var(--lumo-utility-transition-duration,.15s);transition-property:background-color,border-color,color,fill,stroke,text-decoration-color;transition-timing-function:var(--lumo-utility-transition-timing-function,cubic-bezier(.4,0,.2,1))}.transition-opacity{transition-duration:var(--lumo-utility-transition-duration,.15s);transition-property:opacity;transition-timing-function:var(--lumo-utility-transition-timing-function,cubic-bezier(.4,0,.2,1))}.transition-shadow{transition-duration:var(--lumo-utility-transition-duration,.15s);transition-property:box-shadow;transition-timing-function:var(--lumo-utility-transition-timing-function,cubic-bezier(.4,0,.2,1))}.transition-transform{transition-duration:var(--lumo-utility-transition-duration,.15s);transition-property:rotate,scale,transform,translate;transition-timing-function:var(--lumo-utility-transition-timing-function,cubic-bezier(.4,0,.2,1))}.transition-none{transition-property:none}.text-2xs{font-size:var(--lumo-font-size-xxs)}.text-xs{font-size:var(--lumo-font-size-xs)}.text-s{font-size:var(--lumo-font-size-s)}.text-m{font-size:var(--lumo-font-size-m)}.text-l{font-size:var(--lumo-font-size-l)}.text-xl{font-size:var(--lumo-font-size-xl)}.text-2xl{font-size:var(--lumo-font-size-xxl)}.text-3xl{font-size:var(--lumo-font-size-xxxl)}.font-thin{font-weight:100}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}[class*=line-clamp-]{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-4{-webkit-line-clamp:4}.line-clamp-5{-webkit-line-clamp:5}.line-clamp-6{-webkit-line-clamp:6}.leading-none{line-height:1}.leading-xs{line-height:var(--lumo-line-height-xs)}.leading-s{line-height:var(--lumo-line-height-s)}.leading-m{line-height:var(--lumo-line-height-m)}.list-none{list-style-type:none}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-header{color:var(--lumo-header-text-color)}.text-body{color:var(--lumo-body-text-color)}.text-secondary{color:var(--lumo-secondary-text-color)}.text-tertiary{color:var(--lumo-tertiary-text-color)}.text-disabled{color:var(--lumo-disabled-text-color)}.text-primary{color:var(--lumo-primary-text-color)}.text-primary-contrast{color:var(--lumo-primary-contrast-color)}.text-error{color:var(--lumo-error-text-color)}.text-error-contrast{color:var(--lumo-error-contrast-color)}.text-success{color:var(--lumo-success-text-color)}.text-success-contrast{color:var(--lumo-success-contrast-color)}.text-warning{color:var(--lumo-warning-text-color)}.text-warning-contrast{color:var(--lumo-warning-contrast-color)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.overflow-clip{text-overflow:clip}.overflow-ellipsis{text-overflow:ellipsis}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.whitespace-break-spaces,.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}@media (min-width:640px){.sm\:text-2xs{font-size:var(--lumo-font-size-xxs)}.sm\:text-xs{font-size:var(--lumo-font-size-xs)}.sm\:text-s{font-size:var(--lumo-font-size-s)}.sm\:text-m{font-size:var(--lumo-font-size-m)}.sm\:text-l{font-size:var(--lumo-font-size-l)}.sm\:text-xl{font-size:var(--lumo-font-size-xl)}.sm\:text-2xl{font-size:var(--lumo-font-size-xxl)}.sm\:text-3xl{font-size:var(--lumo-font-size-xxxl)}}@media (min-width:768px){.md\:text-2xs{font-size:var(--lumo-font-size-xxs)}.md\:text-xs{font-size:var(--lumo-font-size-xs)}.md\:text-s{font-size:var(--lumo-font-size-s)}.md\:text-m{font-size:var(--lumo-font-size-m)}.md\:text-l{font-size:var(--lumo-font-size-l)}.md\:text-xl{font-size:var(--lumo-font-size-xl)}.md\:text-2xl{font-size:var(--lumo-font-size-xxl)}.md\:text-3xl{font-size:var(--lumo-font-size-xxxl)}}@media (min-width:1024px){.lg\:text-2xs{font-size:var(--lumo-font-size-xxs)}.lg\:text-xs{font-size:var(--lumo-font-size-xs)}.lg\:text-s{font-size:var(--lumo-font-size-s)}.lg\:text-m{font-size:var(--lumo-font-size-m)}.lg\:text-l{font-size:var(--lumo-font-size-l)}.lg\:text-xl{font-size:var(--lumo-font-size-xl)}.lg\:text-2xl{font-size:var(--lumo-font-size-xxl)}.lg\:text-3xl{font-size:var(--lumo-font-size-xxxl)}}@media (min-width:1280px){.xl\:text-2xs{font-size:var(--lumo-font-size-xxs)}.xl\:text-xs{font-size:var(--lumo-font-size-xs)}.xl\:text-s{font-size:var(--lumo-font-size-s)}.xl\:text-m{font-size:var(--lumo-font-size-m)}.xl\:text-l{font-size:var(--lumo-font-size-l)}.xl\:text-xl{font-size:var(--lumo-font-size-xl)}.xl\:text-2xl{font-size:var(--lumo-font-size-xxl)}.xl\:text-3xl{font-size:var(--lumo-font-size-xxxl)}}@media (min-width:1536px){.\32xl\:text-2xs{font-size:var(--lumo-font-size-xxs)}.\32xl\:text-xs{font-size:var(--lumo-font-size-xs)}.\32xl\:text-s{font-size:var(--lumo-font-size-s)}.\32xl\:text-m{font-size:var(--lumo-font-size-m)}.\32xl\:text-l{font-size:var(--lumo-font-size-l)}.\32xl\:text-xl{font-size:var(--lumo-font-size-xl)}.\32xl\:text-2xl{font-size:var(--lumo-font-size-xxl)}.\32xl\:text-3xl{font-size:var(--lumo-font-size-xxxl)}}
@@ -3,7 +3,6 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { color } from './color.js';
7
- import { addLumoGlobalStyles } from './global.js';
8
-
9
- addLumoGlobalStyles('color', color);
6
+ @import './src/global/badge.css';
7
+ @import './src/global/color-scheme.css';
8
+ @import './src/global/typography.css';
@@ -3,7 +3,6 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { badge } from './badge.js';
7
- import { addLumoGlobalStyles } from './global.js';
8
-
9
- addLumoGlobalStyles('badge', badge);
6
+ @import './props.css';
7
+ @import './global.css';
8
+ @import './components/index.css';
@@ -3,12 +3,11 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import '../color.js';
7
- import '../font-icons.js';
8
- import '../sizing.js';
9
- import '../style.js';
6
+ import { issueWarning } from '@vaadin/component-base/src/warnings.js';
10
7
  import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
11
8
 
9
+ issueWarning('Lumo .js mixins are deprecated and will be removed in V26');
10
+
12
11
  const fieldButton = css`
13
12
  [part$='button'] {
14
13
  flex: none;
package/mixins/helper.js CHANGED
@@ -3,12 +3,11 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import '../color.js';
7
- import '../sizing.js';
8
- import '../style.js';
9
- import '../typography.js';
6
+ import { issueWarning } from '@vaadin/component-base/src/warnings.js';
10
7
  import { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
11
8
 
9
+ issueWarning('Lumo .js mixins are deprecated and will be removed in V26');
10
+
12
11
  export const helper = css`
13
12
  :host {
14
13
  --_helper-spacing: var(--vaadin-input-field-helper-spacing, 0.4em);
@@ -3,17 +3,14 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import '../color.js';
7
- import '../font-icons.js';
8
- import '../sizing.js';
9
- import '../spacing.js';
10
- import '../style.js';
11
- import '../typography.js';
6
+ import { issueWarning } from '@vaadin/component-base/src/warnings.js';
12
7
  import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
13
8
  import { fieldButton } from './field-button.js';
14
9
  import { helper } from './helper.js';
15
10
  import { requiredField } from './required-field.js';
16
11
 
12
+ issueWarning('Lumo .js mixins are deprecated and will be removed in V26');
13
+
17
14
  const inputField = css`
18
15
  :host {
19
16
  --lumo-text-field-size: var(--lumo-size-m);
@@ -38,7 +35,6 @@ const inputField = css`
38
35
  }
39
36
 
40
37
  :host([focused]) [part='input-field'] ::slotted(:is(input, textarea)) {
41
- -webkit-mask-image: none;
42
38
  mask-image: none;
43
39
  }
44
40
 
@@ -73,7 +69,7 @@ const inputField = css`
73
69
  the ring is only visible / has a width when the respective CSS property is
74
70
  "enabled" using a value of 1 */
75
71
  :host([focused]) [part='input-field'] {
76
- /* Borders are implemented using box-shadows as well. To avoid overriding
72
+ /* Borders are implemented using box-shadows as well. To avoid overriding
77
73
  the border on focus, even if the pointer focus-ring is disabled, we need to:
78
74
  - Duplicate the border box shadow for this rule
79
75
  - Remove the border (by using width of 0) when the focus-ring is visible,
@@ -159,7 +155,7 @@ const inputField = css`
159
155
  font-weight: 400;
160
156
  }
161
157
 
162
- [part='clear-button']::before {
158
+ [part~='clear-button']::before {
163
159
  content: var(--lumo-icons-cross);
164
160
  }
165
161
  `;
package/mixins/loader.js CHANGED
@@ -3,10 +3,11 @@
3
3
  * Copyright (c) 2022 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import '../color.js';
7
- import '../sizing.js';
6
+ import { issueWarning } from '@vaadin/component-base/src/warnings.js';
8
7
  import { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
9
8
 
9
+ issueWarning('Lumo .js mixins are deprecated and will be removed in V26');
10
+
10
11
  const loader = css`
11
12
  [part~='loader'] {
12
13
  box-sizing: border-box;
@@ -3,11 +3,12 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import '../spacing.js';
7
- import '../style.js';
6
+ import { issueWarning } from '@vaadin/component-base/src/warnings.js';
8
7
  import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
9
8
  import { overlay } from './overlay.js';
10
9
 
10
+ issueWarning('Lumo .js mixins are deprecated and will be removed in V26');
11
+
11
12
  const menuOverlayCore = css`
12
13
  :host([opening]),
13
14
  :host([closing]) {
@@ -67,9 +68,7 @@ const menuOverlayExt = css`
67
68
  padding: 30px var(--lumo-space-m);
68
69
  max-height: inherit;
69
70
  box-sizing: border-box;
70
- -webkit-overflow-scrolling: touch;
71
71
  overflow: auto;
72
- -webkit-mask-image: linear-gradient(transparent, #000 40px, #000 calc(100% - 40px), transparent);
73
72
  mask-image: linear-gradient(transparent, #000 40px, #000 calc(100% - 40px), transparent);
74
73
  }
75
74
 
package/mixins/overlay.js CHANGED
@@ -3,12 +3,11 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import '../color.js';
7
- import '../spacing.js';
8
- import '../style.js';
9
- import '../typography.js';
6
+ import { issueWarning } from '@vaadin/component-base/src/warnings.js';
10
7
  import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
11
8
 
9
+ issueWarning('Lumo .js mixins are deprecated and will be removed in V26');
10
+
12
11
  const overlay = css`
13
12
  :host {
14
13
  top: var(--lumo-space-m);
@@ -3,12 +3,11 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import '../color.js';
7
- import '../spacing.js';
8
- import '../style.js';
9
- import '../typography.js';
6
+ import { issueWarning } from '@vaadin/component-base/src/warnings.js';
10
7
  import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
11
8
 
9
+ issueWarning('Lumo .js mixins are deprecated and will be removed in V26');
10
+
12
11
  const requiredField = css`
13
12
  [part='label'] {
14
13
  align-self: flex-start;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/vaadin-lumo-styles",
3
- "version": "25.0.0-alpha2",
3
+ "version": "25.0.0-alpha20",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -20,16 +20,20 @@
20
20
  "module": "all-imports.js",
21
21
  "type": "module",
22
22
  "scripts": {
23
- "icons": "gulp icons --gulpfile gulpfile.cjs"
23
+ "build": "postcss ./{lumo,utility}.css --dir dist && postcss ./presets/**.css --dir dist/presets",
24
+ "icons": "gulp icons"
24
25
  },
25
26
  "files": [
27
+ "*.css",
26
28
  "*.d.ts",
27
29
  "*.js",
28
- "auto-complete.css",
30
+ "!gulpfile.js",
31
+ "components/*.css",
32
+ "dist",
29
33
  "mixins/*.d.ts",
30
34
  "mixins/*.js",
31
- "presets/*.js",
32
- "utilities/*.js"
35
+ "presets",
36
+ "src"
33
37
  ],
34
38
  "keywords": [
35
39
  "vaadin",
@@ -39,16 +43,21 @@
39
43
  "web-component"
40
44
  ],
41
45
  "dependencies": {
42
- "@vaadin/component-base": "25.0.0-alpha2",
43
- "@vaadin/icon": "25.0.0-alpha2",
44
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha2"
46
+ "@vaadin/component-base": "25.0.0-alpha20",
47
+ "@vaadin/icon": "25.0.0-alpha20",
48
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha20"
45
49
  },
46
50
  "devDependencies": {
47
- "gulp": "^5.0.0",
48
- "gulp-cli": "^3.0.0",
49
- "gulp-iconfont": "^11.0.0",
50
- "gulp-sort": "^2.0.0",
51
- "gulp-svgmin": "^4.1.0"
51
+ "cssnano": "^7.1.1",
52
+ "gulp": "^5.0.1",
53
+ "gulp-cli": "^3.1.0",
54
+ "gulp-iconfont": "^12.0.0",
55
+ "gulp-plugin-extras": "^1.0.0",
56
+ "imagemin": "^9.0.0",
57
+ "imagemin-svgo": "^10.0.1",
58
+ "postcss": "^8.1.0",
59
+ "postcss-cli": "^11.0.1",
60
+ "postcss-import": "^16.1.1"
52
61
  },
53
- "gitHead": "67ffcd5355cf21ce1b5039c598525109fc4c164b"
62
+ "gitHead": "c948aae591a30b432f3784000d4677674cae56e0"
54
63
  }
@@ -0,0 +1,11 @@
1
+ import cssNano from 'cssnano';
2
+ import postCssImport from 'postcss-import';
3
+
4
+ export default {
5
+ plugins: [
6
+ postCssImport(),
7
+ cssNano({
8
+ preset: 'default',
9
+ }),
10
+ ],
11
+ };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+
7
+ /* Use a stronger selector than `:where()` used by other Lumo CSS */
8
+ :is(:root, :host) {
9
+ --lumo-size-xl: 3rem;
10
+ --lumo-size-l: 2.5rem;
11
+ --lumo-size-m: 2rem;
12
+ --lumo-size-s: 1.75rem;
13
+ --lumo-size-xs: 1.5rem;
14
+ --lumo-font-size: 1rem;
15
+ --lumo-font-size-xxxl: 1.75rem;
16
+ --lumo-font-size-xxl: 1.375rem;
17
+ --lumo-font-size-xl: 1.125rem;
18
+ --lumo-font-size-l: 1rem;
19
+ --lumo-font-size-m: 0.875rem;
20
+ --lumo-font-size-s: 0.8125rem;
21
+ --lumo-font-size-xs: 0.75rem;
22
+ --lumo-font-size-xxs: 0.6875rem;
23
+ --lumo-line-height-m: 1.4;
24
+ --lumo-line-height-s: 1.2;
25
+ --lumo-line-height-xs: 1.1;
26
+ --lumo-space-xl: 1.875rem;
27
+ --lumo-space-l: 1.25rem;
28
+ --lumo-space-m: 0.625rem;
29
+ --lumo-space-s: 0.3125rem;
30
+ --lumo-space-xs: 0.1875rem;
31
+ }
package/props.css ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ @import './src/props/reset.css';
7
+ @import './src/props/icons.css';
8
+ @import './src/props/style.css';
9
+ @import './src/props/color.css';
10
+ @import './src/props/sizing.css';
11
+ @import './src/props/spacing.css';
12
+ @import './src/props/typography.css';
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ @media lumo_components_accordion-heading {
7
+ :host {
8
+ display: block;
9
+ outline: none;
10
+ -webkit-user-select: none;
11
+ user-select: none;
12
+ padding: 0;
13
+ }
14
+
15
+ :host([hidden]) {
16
+ display: none !important;
17
+ }
18
+
19
+ button {
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: inherit;
23
+ width: 100%;
24
+ margin: 0;
25
+ padding: 0;
26
+ background-color: initial;
27
+ color: inherit;
28
+ border: initial;
29
+ outline: none;
30
+ font: inherit;
31
+ text-align: inherit;
32
+ }
33
+
34
+ [part='content'] {
35
+ padding: var(--lumo-space-s) 0;
36
+ }
37
+
38
+ :host([theme~='filled']) {
39
+ padding-top: 0;
40
+ padding-bottom: 0;
41
+ }
42
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ @media lumo_components_accordion-panel {
7
+ :host {
8
+ display: block;
9
+ margin: 0;
10
+ border-bottom: solid 1px var(--lumo-contrast-10pct);
11
+ }
12
+
13
+ :host([hidden]) {
14
+ display: none !important;
15
+ }
16
+
17
+ [part='content'] {
18
+ display: none;
19
+ overflow: hidden;
20
+ }
21
+
22
+ :host([opened]) [part='content'] {
23
+ display: block;
24
+ overflow: visible;
25
+ }
26
+
27
+ :host(:last-child) {
28
+ border-bottom: none;
29
+ }
30
+
31
+ :host([theme~='filled']) {
32
+ border-bottom: none;
33
+ }
34
+
35
+ :host([theme~='filled']:not(:last-child)) {
36
+ margin-bottom: 2px;
37
+ }
38
+ }
@@ -0,0 +1,193 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2000 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ @media lumo_components_app-layout {
7
+ :host {
8
+ display: block;
9
+ box-sizing: border-box;
10
+ height: 100%;
11
+ --vaadin-app-layout-transition-duration: 200ms;
12
+ transition: padding var(--vaadin-app-layout-transition-duration);
13
+ --_vaadin-app-layout-drawer-width: var(--vaadin-app-layout-drawer-width, 16em);
14
+ --vaadin-app-layout-touch-optimized: false;
15
+ --vaadin-app-layout-navbar-offset-top: var(--_vaadin-app-layout-navbar-offset-size);
16
+ --vaadin-app-layout-navbar-offset-bottom: var(--_vaadin-app-layout-navbar-offset-size-bottom);
17
+ padding-block: var(--vaadin-app-layout-navbar-offset-top) var(--vaadin-app-layout-navbar-offset-bottom);
18
+ padding-inline-start: var(--vaadin-app-layout-navbar-offset-left);
19
+ }
20
+
21
+ :host([hidden]),
22
+ [hidden] {
23
+ display: none !important;
24
+ }
25
+
26
+ :host([no-anim]) {
27
+ --vaadin-app-layout-transition-duration: 0s !important;
28
+ }
29
+
30
+ :host([drawer-opened]) {
31
+ --vaadin-app-layout-drawer-offset-left: var(--_vaadin-app-layout-drawer-offset-size);
32
+ }
33
+
34
+ :host([overlay]) {
35
+ --vaadin-app-layout-drawer-offset-left: 0;
36
+ --vaadin-app-layout-navbar-offset-left: 0;
37
+ }
38
+
39
+ :host(:not([no-scroll])) [content] {
40
+ overflow: auto;
41
+ }
42
+
43
+ [content] {
44
+ height: 100%;
45
+ }
46
+
47
+ @media (pointer: coarse) and (max-width: 800px) and (min-height: 500px) {
48
+ :host {
49
+ --vaadin-app-layout-touch-optimized: true;
50
+ }
51
+ }
52
+
53
+ [part='navbar'] {
54
+ position: fixed;
55
+ display: flex;
56
+ align-items: center;
57
+ top: 0;
58
+ inset-inline: 0;
59
+ transition: inset-inline-start var(--vaadin-app-layout-transition-duration);
60
+ padding-top: var(--safe-area-inset-top);
61
+ padding-left: var(--safe-area-inset-left);
62
+ padding-right: var(--safe-area-inset-right);
63
+ z-index: 1;
64
+ min-height: var(--lumo-size-xl);
65
+ border-bottom: 1px solid var(--lumo-contrast-10pct);
66
+ }
67
+
68
+ :host([primary-section='drawer'][drawer-opened]:not([overlay])) [part='navbar'] {
69
+ inset-inline-start: var(--vaadin-app-layout-drawer-offset-left, 0);
70
+ }
71
+
72
+ :host([primary-section='drawer']) [part='drawer'] {
73
+ top: 0;
74
+ }
75
+
76
+ [part='navbar'][bottom] {
77
+ top: auto;
78
+ bottom: 0;
79
+ padding-bottom: var(--safe-area-inset-bottom);
80
+ border-bottom: none;
81
+ border-top: 1px solid var(--lumo-contrast-10pct);
82
+ }
83
+
84
+ [part='drawer'] {
85
+ overflow: auto;
86
+ position: fixed;
87
+ top: var(--vaadin-app-layout-navbar-offset-top, 0);
88
+ bottom: var(--vaadin-app-layout-navbar-offset-bottom, var(--vaadin-viewport-offset-bottom, 0));
89
+ inset-inline: var(--vaadin-app-layout-navbar-offset-left, 0) auto;
90
+ transition:
91
+ transform var(--vaadin-app-layout-transition-duration),
92
+ visibility var(--vaadin-app-layout-transition-duration);
93
+ transform: translateX(-100%);
94
+ max-width: 90%;
95
+ width: var(--_vaadin-app-layout-drawer-width);
96
+ box-sizing: border-box;
97
+ padding: var(--safe-area-inset-top) 0 var(--safe-area-inset-bottom) var(--safe-area-inset-left);
98
+ outline: none;
99
+ /* The drawer should be inaccessible by the tabbing navigation when it is closed. */
100
+ visibility: hidden;
101
+ display: flex;
102
+ flex-direction: column;
103
+ border-inline-end: 1px solid var(--lumo-contrast-10pct);
104
+ }
105
+
106
+ :host([drawer-opened]) [part='drawer'] {
107
+ /* The drawer should be accessible by the tabbing navigation when it is opened. */
108
+ visibility: visible;
109
+ transform: translateX(0%);
110
+ touch-action: manipulation;
111
+ }
112
+
113
+ [part='backdrop'] {
114
+ background-color: var(--lumo-shade-20pct);
115
+ opacity: 1;
116
+ }
117
+
118
+ :host(:not([drawer-opened])) [part='backdrop'] {
119
+ opacity: 0;
120
+ }
121
+
122
+ :host([overlay]) [part='backdrop'] {
123
+ position: fixed;
124
+ inset: 0;
125
+ pointer-events: none;
126
+ transition: opacity var(--vaadin-app-layout-transition-duration);
127
+ -webkit-tap-highlight-color: transparent;
128
+ }
129
+
130
+ :host([overlay]) [part='drawer'] {
131
+ top: 0;
132
+ bottom: 0;
133
+ border-inline-end: none;
134
+ box-shadow: var(--lumo-box-shadow-s);
135
+ }
136
+
137
+ :host([overlay]) [part='drawer'],
138
+ :host([overlay]) [part='backdrop'] {
139
+ z-index: 2;
140
+ }
141
+
142
+ :host([drawer-opened][overlay]) [part='backdrop'] {
143
+ pointer-events: auto;
144
+ touch-action: manipulation;
145
+ }
146
+
147
+ :host([dir='rtl']) [part='drawer'] {
148
+ transform: translateX(100%);
149
+ }
150
+
151
+ :host([dir='rtl'][drawer-opened]) [part='drawer'] {
152
+ transform: translateX(0%);
153
+ }
154
+
155
+ :host([drawer-opened]:not([overlay])) {
156
+ padding-inline-start: var(--vaadin-app-layout-drawer-offset-left);
157
+ }
158
+
159
+ @media (max-width: 800px), (max-height: 600px) {
160
+ :host {
161
+ --vaadin-app-layout-drawer-overlay: true;
162
+ --_vaadin-app-layout-drawer-width: var(--vaadin-app-layout-drawer-width, 20em);
163
+ }
164
+ }
165
+
166
+ /* If a vaadin-scroller is used in the drawer, allow it to take all remaining space and contain scrolling */
167
+ [part='drawer'] ::slotted(vaadin-scroller) {
168
+ flex: 1;
169
+ overscroll-behavior: contain;
170
+ }
171
+
172
+ [part='navbar'],
173
+ [part='drawer'] {
174
+ background-color: var(--lumo-base-color);
175
+ background-clip: padding-box;
176
+ }
177
+
178
+ :host([primary-section='navbar']) [part='navbar'] {
179
+ border: none;
180
+ background-image: linear-gradient(var(--lumo-contrast-5pct), var(--lumo-contrast-5pct));
181
+ }
182
+
183
+ :host([primary-section='drawer']:not([overlay])) [part='drawer'] {
184
+ background-image: linear-gradient(var(--lumo-shade-5pct), var(--lumo-shade-5pct));
185
+ }
186
+
187
+ [part] ::slotted(h2),
188
+ [part] ::slotted(h3),
189
+ [part] ::slotted(h4) {
190
+ margin-top: var(--lumo-space-xs) !important;
191
+ margin-bottom: var(--lumo-space-xs) !important;
192
+ }
193
+ }